diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md index cf69736bd4..f8628b193a 100644 --- a/plugins/scaffolder/api-report.md +++ b/plugins/scaffolder/api-report.md @@ -18,7 +18,8 @@ import { FieldProps } from '@rjsf/core'; import { FieldProps as FieldProps_2 } from '@rjsf/utils'; import { FieldValidation } from '@rjsf/core'; import { FieldValidation as FieldValidation_2 } from '@rjsf/utils'; -import type { FormProps } from '@rjsf/core'; +import { FormProps } from '@rjsf/core'; +import { IChangeEvent } from '@rjsf/core'; import { IdentityApi } from '@backstage/core-plugin-api'; import { JsonObject } from '@backstage/types'; import { JSONSchema7 } from 'json-schema'; @@ -26,6 +27,7 @@ import { JsonValue } from '@backstage/types'; import { Observable } from '@backstage/types'; import { PropsWithChildren } from 'react'; import { default as React_2 } from 'react'; +import { ReactElement } from 'react'; import { RouteRef } from '@backstage/core-plugin-api'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { TaskSpec } from '@backstage/plugin-scaffolder-common'; @@ -130,6 +132,24 @@ export type FieldExtensionOptions< validation?: CustomFieldValidator; }; +// @public +export const LastStepForm: (props: LastStepFormProps) => JSX.Element; + +// @public +export const lastStepFormComponent: (props: LastStepFormProps) => JSX.Element; + +// @public +export type LastStepFormProps = { + disableButtons: boolean; + finishButtonLabel?: string; + formData: Record; + handleBack: () => void; + handleCreate: () => void; + handleReset: () => void; + onFinish?: () => Promise; + steps: Step[]; +}; + // @public export type LayoutComponent<_TInputProps> = () => null; @@ -167,6 +187,11 @@ export type LogEvent = { taskId: string; }; +// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts +// +// @public +export const MultistepJsonForm: (props: Props) => JSX.Element; + // @alpha export type NextCustomFieldValidator = ( data: TFieldReturnValue, @@ -421,6 +446,11 @@ export interface ScaffolderGetIntegrationsListResponse { }[]; } +// @public +export type ScaffolderInputPluginOptionsOptions = { + lastStepFormComponent: (props: LastStepFormProps) => ReactElement; +}; + // @public export const ScaffolderLayouts: React.ComponentType; @@ -451,9 +481,14 @@ export const scaffolderPlugin: BackstagePlugin< true >; }, - {} + ScaffolderInputPluginOptionsOptions >; +// @public +export type ScaffolderPluginOptions = { + lastStepFormComponent: (props: LastStepFormProps) => ReactElement; +}; + // @public export interface ScaffolderScaffoldOptions { // (undocumented) @@ -508,6 +543,12 @@ export interface ScaffolderUseTemplateSecrets { setSecrets: (input: Record) => void; } +// @public +export type Step = { + schema: JsonObject; + title: string; +} & Partial, 'schema'>>; + // @public export const TaskPage: ({ loadingText }: TaskPageProps) => JSX.Element;