UNPKG

@backstage/plugin-techdocs

Version:

The Backstage plugin that renders technical documentation for your components

50 lines (47 loc) 1.69 kB
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