fumadocs-ui
Version:
The Radix UI version of Fumadocs UI
24 lines (23 loc) • 814 B
JavaScript
import { getLayoutTabs } from "../shared/index.js";
import { LayoutBody, useDocsLayout } from "./client.js";
import { jsx } from "react/jsx-runtime";
import { useMemo } from "react";
//#region src/layouts/docs/index.tsx
function DocsLayout({ tree, sidebar: { tabs: _tabs, tabMode: _tabMode, ...sidebarProps } = {}, tabs: layoutTabs = _tabs, tabMode = _tabMode, children, ...props }) {
const tabs = useMemo(() => {
if (Array.isArray(layoutTabs)) return layoutTabs;
if (typeof layoutTabs === "object") return getLayoutTabs(tree, layoutTabs);
if (layoutTabs !== false) return getLayoutTabs(tree);
return [];
}, [tree, layoutTabs]);
return /* @__PURE__ */ jsx(LayoutBody, {
tree,
tabs,
tabMode,
sidebar: sidebarProps,
...props,
children
});
}
//#endregion
export { DocsLayout, useDocsLayout };