diff --git a/.changeset/sharp-icons-obey.md b/.changeset/sharp-icons-obey.md new file mode 100644 index 0000000000..2620dd9a07 --- /dev/null +++ b/.changeset/sharp-icons-obey.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-techdocs-react': patch +'@backstage/plugin-scaffolder': patch +--- + +Explicitly declaring children as optional props to facilitate react 18 changes diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md index 1c4d163123..bb45ad3b44 100644 --- a/plugins/scaffolder/api-report.md +++ b/plugins/scaffolder/api-report.md @@ -552,7 +552,9 @@ export interface ScaffolderDryRunResponse { } // @public -export const ScaffolderFieldExtensions: React_2.ComponentType; +export const ScaffolderFieldExtensions: React_2.ComponentType< + React_2.PropsWithChildren<{}> +>; // @public export interface ScaffolderGetIntegrationsListOptions { diff --git a/plugins/scaffolder/src/extensions/index.tsx b/plugins/scaffolder/src/extensions/index.tsx index a3a4fdf57b..2b3126ac58 100644 --- a/plugins/scaffolder/src/extensions/index.tsx +++ b/plugins/scaffolder/src/extensions/index.tsx @@ -94,8 +94,9 @@ export function createNextScaffolderFieldExtension< * * @public */ -export const ScaffolderFieldExtensions: React.ComponentType = - (): JSX.Element | null => null; +export const ScaffolderFieldExtensions: React.ComponentType< + React.PropsWithChildren<{}> +> = (): JSX.Element | null => null; attachComponentData( ScaffolderFieldExtensions, diff --git a/plugins/techdocs-react/api-report.md b/plugins/techdocs-react/api-report.md index f1d6d3f177..cf64762fda 100644 --- a/plugins/techdocs-react/api-report.md +++ b/plugins/techdocs-react/api-report.md @@ -56,7 +56,9 @@ export type TechDocsAddonOptions = { }; // @public -export const TechDocsAddons: React_2.ComponentType; +export const TechDocsAddons: React_2.ComponentType< + React_2.PropsWithChildren<{}> +>; // @public export interface TechDocsApi { diff --git a/plugins/techdocs-react/src/addons.tsx b/plugins/techdocs-react/src/addons.tsx index d77f53a426..54aea0352d 100644 --- a/plugins/techdocs-react/src/addons.tsx +++ b/plugins/techdocs-react/src/addons.tsx @@ -43,7 +43,9 @@ export const TECHDOCS_ADDONS_WRAPPER_KEY = 'techdocs.addons.wrapper.v1'; * TechDocs Addon registry. * @public */ -export const TechDocsAddons: React.ComponentType = () => null; +export const TechDocsAddons: React.ComponentType< + React.PropsWithChildren<{}> +> = () => null; attachComponentData(TechDocsAddons, TECHDOCS_ADDONS_WRAPPER_KEY, true); @@ -71,7 +73,9 @@ export function createTechDocsAddonExtension( * Create a TechDocs addon implementation. * @public */ -export function createTechDocsAddonExtension( +export function createTechDocsAddonExtension< + TComponentProps extends React.PropsWithChildren<{}>, +>( options: TechDocsAddonOptions, ): Extension<(props: TComponentProps) => JSX.Element | null> { const { name, component: TechDocsAddon } = options;