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;