@backstage/plugin-techdocs
Version:
The Backstage plugin that renders technical documentation for your components
50 lines (47 loc) • 1.69 kB
JavaScript
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
import Helmet from 'react-helmet';
import { Header, ButtonLink } from '@backstage/ui';
import { RiCodeLine } from '@remixicon/react';
import { TechDocsAddonLocations } from '@backstage/plugin-techdocs-react';
import { TechDocsReaderSearch } from './TechDocsReaderSearch.esm.js';
import { useTechDocsReaderHeaderData } from '../../hooks/useTechDocsReaderHeaderData.esm.js';
const TechDocsReaderHeader = (props) => {
const { withSearch = true } = props;
const {
title,
entityRef,
tabTitle,
hidden,
showSourceLink,
sourceLink,
addons
} = useTechDocsReaderHeaderData();
if (hidden) return null;
return /* @__PURE__ */ jsxs(Fragment, { children: [
/* @__PURE__ */ jsx(Helmet, { titleTemplate: "%s", children: /* @__PURE__ */ jsx("title", { children: tabTitle }) }),
/* @__PURE__ */ jsx(
Header,
{
title: title || "",
customActions: /* @__PURE__ */ jsxs(Fragment, { children: [
withSearch && /* @__PURE__ */ jsx(TechDocsReaderSearch, { entityId: entityRef }),
showSourceLink && /* @__PURE__ */ jsx(
ButtonLink,
{
href: sourceLink,
target: "_blank",
rel: "noopener noreferrer",
variant: "secondary",
size: "small",
iconStart: /* @__PURE__ */ jsx(RiCodeLine, {}),
"aria-label": "View source"
}
),
addons.renderComponentsByLocation(TechDocsAddonLocations.Header)
] })
}
)
] });
};
export { TechDocsReaderHeader };
//# sourceMappingURL=TechDocsReaderHeader.esm.js.map