diff --git a/plugins/scaffolder-react/alpha-api-report.md b/plugins/scaffolder-react/alpha-api-report.md
index 319e3963f0..33137c3d46 100644
--- a/plugins/scaffolder-react/alpha-api-report.md
+++ b/plugins/scaffolder-react/alpha-api-report.md
@@ -6,7 +6,6 @@
///
import { ApiHolder } from '@backstage/core-plugin-api';
-import { ComponentType } from 'react';
import { CustomFieldExtensionSchema } from '@backstage/plugin-scaffolder-react';
import { Dispatch } from 'react';
import { Extension } from '@backstage/core-plugin-api';
@@ -20,8 +19,8 @@ import { JsonValue } from '@backstage/types';
import { LayoutOptions } from '@backstage/plugin-scaffolder-react';
import { PropsWithChildren } from 'react';
import { default as React_2 } from 'react';
+import { ReactElement } from 'react';
import { ReactNode } from 'react';
-import { RJSFSchema } from '@rjsf/utils';
import { ScaffolderStep } from '@backstage/plugin-scaffolder-react';
import { ScaffolderTaskOutput } from '@backstage/plugin-scaffolder-react';
import { SetStateAction } from 'react';
@@ -56,8 +55,8 @@ export const extractSchemaFromStep: (inputStep: JsonObject) => {
schema: JsonObject;
};
-// @alpha (undocumented)
-export const Form: ComponentType>;
+// @alpha
+export const Form: (props: PropsWithChildren) => JSX.Element;
// @alpha
export type FormProps = Pick<
@@ -132,6 +131,31 @@ export type ReviewStateProps = {
formState: JsonObject;
};
+// @alpha
+export const ScaffolderField: (
+ props: PropsWithChildren,
+) => JSX.Element;
+
+// @alpha
+export interface ScaffolderFieldProps {
+ // (undocumented)
+ disabled: boolean;
+ // (undocumented)
+ displayLabel?: boolean;
+ // (undocumented)
+ errors?: ReactElement;
+ // (undocumented)
+ help?: ReactElement;
+ // (undocumented)
+ rawDescription?: string;
+ // (undocumented)
+ rawErrors?: string[];
+ // (undocumented)
+ rawHelp?: string;
+ // (undocumented)
+ required?: boolean;
+}
+
// @alpha (undocumented)
export function ScaffolderPageContextMenu(
props: ScaffolderPageContextMenuProps,
diff --git a/plugins/scaffolder-react/src/next/components/ScaffolderField/ScaffolderField.tsx b/plugins/scaffolder-react/src/next/components/ScaffolderField/ScaffolderField.tsx
index f3ca775f9a..ea235a869e 100644
--- a/plugins/scaffolder-react/src/next/components/ScaffolderField/ScaffolderField.tsx
+++ b/plugins/scaffolder-react/src/next/components/ScaffolderField/ScaffolderField.tsx
@@ -30,7 +30,11 @@ const useStyles = makeStyles(theme => ({
},
}));
-interface FieldProps {
+/**
+ * Props for the {@link ScaffolderField} component
+ * @alpha
+ */
+export interface ScaffolderFieldProps {
rawDescription?: string;
errors?: ReactElement;
rawErrors?: string[];
@@ -46,7 +50,9 @@ interface FieldProps {
* on the field types
* @alpha
*/
-export const ScaffolderField = (props: PropsWithChildren) => {
+export const ScaffolderField = (
+ props: PropsWithChildren,
+) => {
const {
children,
displayLabel = true,
diff --git a/plugins/scaffolder-react/src/next/components/ScaffolderField/index.ts b/plugins/scaffolder-react/src/next/components/ScaffolderField/index.ts
index 92964e748d..d3c2b4a25d 100644
--- a/plugins/scaffolder-react/src/next/components/ScaffolderField/index.ts
+++ b/plugins/scaffolder-react/src/next/components/ScaffolderField/index.ts
@@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-export { ScaffolderField } from './ScaffolderField';
+export { ScaffolderField, type ScaffolderFieldProps } from './ScaffolderField';