@backstage/plugin-techdocs
Version:
The Backstage plugin that renders technical documentation for your components
21 lines (18 loc) • 1.11 kB
JavaScript
import { jsx } from 'react/jsx-runtime';
import { createContext, useContext } from 'react';
import { useParams } from 'react-router-dom';
import { useTechDocsReaderPage } from '@backstage/plugin-techdocs-react';
import { useReaderState } from './useReaderState.esm.js';
const TechDocsReaderContext = createContext({});
const useTechDocsReader = () => useContext(TechDocsReaderContext);
const TechDocsReaderProvider = (props) => {
const { children } = props;
const { "*": path = "" } = useParams();
const { entityRef } = useTechDocsReaderPage();
const { kind, namespace, name } = entityRef;
const value = useReaderState(kind, namespace, name, path);
return /* @__PURE__ */ jsx(TechDocsReaderContext.Provider, { value, children: children instanceof Function ? children(value) : children });
};
const withTechDocsReaderProvider = (Component) => (props) => /* @__PURE__ */ jsx(TechDocsReaderProvider, { children: /* @__PURE__ */ jsx(Component, { ...props }) });
export { TechDocsReaderProvider, useTechDocsReader, withTechDocsReaderProvider };
//# sourceMappingURL=TechDocsReaderProvider.esm.js.map