UNPKG

nice-ui

Version:

React design system, components, and utilities

42 lines (41 loc) 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DocsPages = void 0; const React = require("react"); const DocsMenu_1 = require("./DocsMenu"); const DocsRight_1 = require("./DocsRight"); const DocsRightIndex_1 = require("./DocsRightIndex"); const util_1 = require("./util"); const Space_1 = require("../../3-list-item/Space"); const TwoColumnLayout_1 = require("../TwoColumnLayout"); const Page_1 = require("../Page"); const constants_1 = require("../../constants"); const findPage = (page, steps) => { if (!steps.length) return page; const [step, ...rest] = steps; const child = page.children?.find((p) => p.slug === step); if (!child) return; return findPage(child, rest); }; const DocsPages = (props) => { const { steps, page, top = constants_1.NiceUiSizes.TopNavHeight + constants_1.NiceUiSizes.TopNavHeight - 12 } = props; const [, ...otherSteps] = steps; // Preload in the background all children of the current page. React.useEffect(() => { util_1.pageutils.preloadChildren(page); }, [page.to]); let right = null; if (!steps.length) right = React.createElement(DocsRightIndex_1.default, { page: page }); else { const innerPage = findPage(page, otherSteps); if (innerPage) right = React.createElement(DocsRight_1.default, { top: page, page: innerPage }); } return (React.createElement(Page_1.Page, null, React.createElement(Space_1.Space, { size: 3 }), React.createElement(TwoColumnLayout_1.default, { sidebarTopPadding: 32, left: React.createElement(DocsMenu_1.default, { steps: steps, page: page }), top: top, right: right }))); }; exports.DocsPages = DocsPages;