diff --git a/plugins/techdocs/src/reader/components/TechDocsPage.test.tsx b/plugins/techdocs/src/reader/components/TechDocsReaderPage.test.tsx similarity index 96% rename from plugins/techdocs/src/reader/components/TechDocsPage.test.tsx rename to plugins/techdocs/src/reader/components/TechDocsReaderPage.test.tsx index b297466a62..76bf195489 100644 --- a/plugins/techdocs/src/reader/components/TechDocsPage.test.tsx +++ b/plugins/techdocs/src/reader/components/TechDocsReaderPage.test.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ import React from 'react'; -import { TechDocsPage } from './TechDocsPage'; +import { TechDocsReaderPage } from './TechDocsReaderPage'; import { render, act } from '@testing-library/react'; import { ConfigReader } from '@backstage/config'; import { @@ -51,7 +51,7 @@ const { useParams }: { useParams: jest.Mock } = jest.requireMock('react-router-dom'); global.scroll = jest.fn(); -describe('', () => { +describe('', () => { it('should render techdocs page', async () => { useParams.mockReturnValue({ entityRef: 'Component::backstage', @@ -101,7 +101,7 @@ describe('', () => { const rendered = render( wrapInTestApp( - + , ), ); @@ -158,7 +158,7 @@ describe('', () => { const rendered = render( wrapInTestApp( - + {({ techdocsMetadataValue }) => (
', () => { subtitle={techdocsMetadataValue?.site_name} /> )} - + , ), ); diff --git a/plugins/techdocs/src/reader/components/TechDocsPage.tsx b/plugins/techdocs/src/reader/components/TechDocsReaderPage.tsx similarity index 75% rename from plugins/techdocs/src/reader/components/TechDocsPage.tsx rename to plugins/techdocs/src/reader/components/TechDocsReaderPage.tsx index d96bed6b60..eea6b94d3d 100644 --- a/plugins/techdocs/src/reader/components/TechDocsPage.tsx +++ b/plugins/techdocs/src/reader/components/TechDocsReaderPage.tsx @@ -25,7 +25,12 @@ import { EntityName } from '@backstage/catalog-model'; import { useApi, useApp } from '@backstage/core-plugin-api'; import { Page } from '@backstage/core-components'; -export type TechDocsPageRenderFunction = ({ +/** + * Helper function that gives the children of {@link TechDocsReaderPage} acccess to techdocs and entity metadata + * + * @public + */ +export type TechDocsReaderPageRenderFunction = ({ techdocsMetadataValue, entityMetadataValue, entityRef, @@ -36,11 +41,22 @@ export type TechDocsPageRenderFunction = ({ onReady: () => void; }) => JSX.Element; -export type TechDocsPageProps = { - children?: TechDocsPageRenderFunction | React.ReactNode; +/** + * Props for {@link TechDocsReaderPage} + * + * @public + */ +export type TechDocsReaderPageProps = { + children?: TechDocsReaderPageRenderFunction | React.ReactNode; }; -export const TechDocsPage = ({ children }: TechDocsPageProps) => { +/** + * Component responsible for composing a TechDocs reader page experience + * + * @public + */ +export const TechDocsReaderPage = (props: TechDocsReaderPageProps) => { + const { children } = props; const { NotFoundErrorPage } = useApp().getComponents(); const outlet = useOutlet(); @@ -83,3 +99,16 @@ export const TechDocsPage = ({ children }: TechDocsPageProps) => { ); }; + +/** + * @public + * @deprecated use {@link TechDocsReaderPage} instead + */ +export const TechDocsPage = TechDocsReaderPage; + +/** + * @public + * @deprecated use {@link TechDocsReaderPageRenderFunction} instead + */ + +export type TechDocsPageRenderFunction = TechDocsReaderPageRenderFunction;