fumadocs-ui 15.2.8 → 16.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/css/black.css +4 -2
- package/css/catppuccin.css +2 -0
- package/css/default.css +33 -0
- package/css/dusk.css +2 -0
- package/css/neutral.css +11 -8
- package/css/ocean.css +5 -3
- package/css/preset.css +237 -16
- package/css/purple.css +12 -10
- package/css/shadcn.css +31 -0
- package/css/shiki.css +78 -51
- package/css/solar.css +48 -0
- package/css/vitepress.css +3 -4
- package/dist/components/accordion.d.ts +6 -3
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/accordion.js +19 -11
- package/dist/components/banner.d.ts +8 -2
- package/dist/components/banner.d.ts.map +1 -1
- package/dist/components/banner.js +25 -30
- package/dist/components/callout.d.ts +2 -2
- package/dist/components/callout.d.ts.map +1 -1
- package/dist/components/callout.js +15 -18
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/card.js +2 -2
- package/dist/components/codeblock.d.ts +19 -23
- package/dist/components/codeblock.d.ts.map +1 -1
- package/dist/components/codeblock.js +55 -24
- package/dist/components/dialog/search-algolia.d.ts +5 -4
- package/dist/components/dialog/search-algolia.d.ts.map +1 -1
- package/dist/components/dialog/search-algolia.js +21 -7
- package/dist/components/dialog/search-default.d.ts +4 -2
- package/dist/components/dialog/search-default.d.ts.map +1 -1
- package/dist/components/dialog/search-default.js +22 -6
- package/dist/components/dialog/search-orama.d.ts +5 -3
- package/dist/components/dialog/search-orama.d.ts.map +1 -1
- package/dist/components/dialog/search-orama.js +21 -6
- package/dist/components/dialog/search.d.ts +61 -27
- package/dist/components/dialog/search.d.ts.map +1 -1
- package/dist/components/dialog/search.js +155 -67
- package/dist/components/dynamic-codeblock.d.ts +16 -2
- package/dist/components/dynamic-codeblock.d.ts.map +1 -1
- package/dist/components/dynamic-codeblock.js +22 -10
- package/dist/components/files.d.ts.map +1 -1
- package/dist/components/files.js +1 -1
- package/dist/components/github-info.js +1 -1
- package/dist/components/heading.js +1 -1
- package/dist/components/image-zoom.css +4 -0
- package/dist/components/inline-toc.d.ts +2 -2
- package/dist/components/inline-toc.d.ts.map +1 -1
- package/dist/components/inline-toc.js +1 -1
- package/dist/components/layout/language-toggle.js +1 -1
- package/dist/components/layout/root-toggle.d.ts +5 -15
- package/dist/components/layout/root-toggle.d.ts.map +1 -1
- package/dist/components/layout/root-toggle.js +10 -12
- package/dist/components/layout/search-toggle.d.ts +6 -4
- package/dist/components/layout/search-toggle.d.ts.map +1 -1
- package/dist/components/layout/search-toggle.js +5 -5
- package/dist/components/layout/sidebar.d.ts +21 -13
- package/dist/components/layout/sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar.js +67 -65
- package/dist/components/layout/theme-toggle.js +1 -1
- package/dist/components/layout/toc-clerk.d.ts +2 -4
- package/dist/components/layout/toc-clerk.d.ts.map +1 -1
- package/dist/components/layout/toc-clerk.js +9 -5
- package/dist/components/layout/toc-thumb.js +1 -1
- package/dist/components/layout/toc.d.ts +6 -22
- package/dist/components/layout/toc.d.ts.map +1 -1
- package/dist/components/layout/toc.js +14 -18
- package/dist/components/tabs.d.ts +18 -18
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +44 -105
- package/dist/components/tabs.unstyled.d.ts +24 -0
- package/dist/components/tabs.unstyled.d.ts.map +1 -0
- package/dist/components/tabs.unstyled.js +89 -0
- package/dist/components/type-table.d.ts +19 -10
- package/dist/components/type-table.d.ts.map +1 -1
- package/dist/components/type-table.js +19 -10
- package/dist/components/ui/button.d.ts +2 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +12 -8
- package/dist/components/ui/navigation-menu.js +2 -2
- package/dist/components/ui/popover.js +1 -1
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.js +1 -1
- package/dist/contexts/search.d.ts +10 -2
- package/dist/contexts/search.d.ts.map +1 -1
- package/dist/contexts/search.js +7 -1
- package/dist/contexts/sidebar.d.ts.map +1 -1
- package/dist/contexts/sidebar.js +2 -3
- package/dist/contexts/tree.d.ts +2 -1
- package/dist/contexts/tree.d.ts.map +1 -1
- package/dist/contexts/tree.js +9 -2
- package/dist/i18n.d.ts +13 -11
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +14 -37
- package/dist/icons.d.ts +49 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js +282 -0
- package/dist/layouts/docs/client.d.ts +9 -0
- package/dist/layouts/docs/client.d.ts.map +1 -0
- package/dist/layouts/docs/client.js +46 -0
- package/dist/layouts/docs/index.d.ts +36 -0
- package/dist/layouts/docs/index.d.ts.map +1 -0
- package/dist/layouts/docs/index.js +77 -0
- package/dist/layouts/docs/page-client.d.ts +25 -0
- package/dist/layouts/docs/page-client.d.ts.map +1 -0
- package/dist/layouts/docs/page-client.js +157 -0
- package/dist/layouts/docs/page.d.ts +17 -0
- package/dist/layouts/docs/page.d.ts.map +1 -0
- package/dist/layouts/docs/page.js +26 -0
- package/dist/layouts/{home.d.ts → home/index.d.ts} +2 -3
- package/dist/layouts/home/index.d.ts.map +1 -0
- package/dist/layouts/home/index.js +56 -0
- package/dist/layouts/home/menu.d.ts +1 -1
- package/dist/layouts/home/menu.d.ts.map +1 -1
- package/dist/layouts/home/menu.js +3 -6
- package/dist/layouts/home/navbar.d.ts +4 -4
- package/dist/layouts/home/navbar.d.ts.map +1 -1
- package/dist/layouts/home/navbar.js +3 -4
- package/dist/layouts/notebook/client.d.ts +11 -0
- package/dist/layouts/notebook/client.d.ts.map +1 -0
- package/dist/layouts/notebook/client.js +45 -0
- package/dist/layouts/notebook/index.d.ts +34 -0
- package/dist/layouts/notebook/index.d.ts.map +1 -0
- package/dist/layouts/notebook/index.js +112 -0
- package/dist/layouts/shared/client.d.ts +6 -0
- package/dist/layouts/shared/client.d.ts.map +1 -0
- package/dist/layouts/{links.js → shared/client.js} +4 -6
- package/dist/layouts/shared/index.d.ts +122 -0
- package/dist/layouts/shared/index.d.ts.map +1 -0
- package/dist/layouts/{shared.js → shared/index.js} +1 -15
- package/dist/mdx.d.ts +7 -2
- package/dist/mdx.d.ts.map +1 -1
- package/dist/mdx.js +5 -1
- package/dist/mdx.server.d.ts.map +1 -1
- package/dist/mdx.server.js +10 -3
- package/dist/page.d.ts +33 -35
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +28 -32
- package/dist/provider/base.d.ts +1 -1
- package/dist/provider/base.d.ts.map +1 -1
- package/dist/provider/base.js +9 -9
- package/dist/provider/index.d.ts +5 -3
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +6 -6
- package/dist/provider/next.d.ts +4 -0
- package/dist/provider/next.d.ts.map +1 -0
- package/dist/provider/next.js +7 -0
- package/dist/provider/react-router.d.ts +4 -0
- package/dist/provider/react-router.d.ts.map +1 -0
- package/dist/provider/react-router.js +7 -0
- package/dist/provider/tanstack.d.ts +4 -0
- package/dist/provider/tanstack.d.ts.map +1 -0
- package/dist/provider/tanstack.js +7 -0
- package/dist/provider/waku.d.ts +4 -0
- package/dist/provider/waku.d.ts.map +1 -0
- package/dist/provider/waku.js +7 -0
- package/dist/style.css +944 -470
- package/dist/utils/get-sidebar-tabs.d.ts +18 -4
- package/dist/utils/get-sidebar-tabs.d.ts.map +1 -1
- package/dist/utils/get-sidebar-tabs.js +11 -8
- package/dist/utils/is-active.d.ts +2 -0
- package/dist/utils/is-active.d.ts.map +1 -1
- package/dist/utils/is-active.js +12 -4
- package/dist/utils/merge-refs.d.ts +3 -0
- package/dist/utils/merge-refs.d.ts.map +1 -0
- package/dist/utils/merge-refs.js +12 -0
- package/dist/utils/use-copy-button.d.ts +1 -1
- package/dist/utils/use-copy-button.d.ts.map +1 -1
- package/dist/utils/use-copy-button.js +9 -7
- package/package.json +76 -32
- package/css/animations.css +0 -199
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/tabs.js +0 -16
- package/dist/layouts/docs/shared.d.ts +0 -25
- package/dist/layouts/docs/shared.d.ts.map +0 -1
- package/dist/layouts/docs/shared.js +0 -24
- package/dist/layouts/docs-client.d.ts +0 -5
- package/dist/layouts/docs-client.d.ts.map +0 -1
- package/dist/layouts/docs-client.js +0 -33
- package/dist/layouts/docs.d.ts +0 -30
- package/dist/layouts/docs.d.ts.map +0 -1
- package/dist/layouts/docs.js +0 -50
- package/dist/layouts/home.d.ts.map +0 -1
- package/dist/layouts/home.js +0 -44
- package/dist/layouts/links.d.ts +0 -79
- package/dist/layouts/links.d.ts.map +0 -1
- package/dist/layouts/notebook-client.d.ts +0 -12
- package/dist/layouts/notebook-client.d.ts.map +0 -1
- package/dist/layouts/notebook-client.js +0 -47
- package/dist/layouts/notebook.d.ts +0 -17
- package/dist/layouts/notebook.d.ts.map +0 -1
- package/dist/layouts/notebook.js +0 -68
- package/dist/layouts/shared.d.ts +0 -65
- package/dist/layouts/shared.d.ts.map +0 -1
- package/dist/page-client.d.ts +0 -28
- package/dist/page-client.d.ts.map +0 -1
- package/dist/page-client.js +0 -150
- package/dist/page.server.d.ts +0 -13
- package/dist/page.server.d.ts.map +0 -1
- package/dist/page.server.js +0 -36
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Menu, SidebarIcon, X } from 'lucide-react';
|
|
4
|
-
import { cn } from '../utils/cn.js';
|
|
5
|
-
import { buttonVariants } from '../components/ui/button.js';
|
|
6
|
-
import { useSidebar } from '../contexts/sidebar.js';
|
|
7
|
-
import { useNav } from '../contexts/layout.js';
|
|
8
|
-
import { SidebarTrigger } from 'fumadocs-core/sidebar';
|
|
9
|
-
import { SidebarCollapseTrigger } from '../components/layout/sidebar.js';
|
|
10
|
-
import { SearchToggle } from '../components/layout/search-toggle.js';
|
|
11
|
-
export function Navbar(props) {
|
|
12
|
-
const { open } = useSidebar();
|
|
13
|
-
const { isTransparent } = useNav();
|
|
14
|
-
return (_jsx("header", { id: "nd-subnav", ...props, className: cn('sticky top-(--fd-banner-height) z-30 flex h-14 items-center px-4 border-b border-fd-foreground/10 transition-colors backdrop-blur-sm md:px-6', (!isTransparent || open) && 'bg-fd-background/80', props.className), children: props.children }));
|
|
15
|
-
}
|
|
16
|
-
export function NavbarSidebarTrigger(props) {
|
|
17
|
-
const { open } = useSidebar();
|
|
18
|
-
return (_jsx(SidebarTrigger, { ...props, className: cn(buttonVariants({
|
|
19
|
-
color: 'ghost',
|
|
20
|
-
size: 'icon',
|
|
21
|
-
}), props.className), children: open ? _jsx(X, {}) : _jsx(Menu, {}) }));
|
|
22
|
-
}
|
|
23
|
-
export function CollapsibleControl() {
|
|
24
|
-
const { collapsed } = useSidebar();
|
|
25
|
-
if (!collapsed)
|
|
26
|
-
return;
|
|
27
|
-
return (_jsxs("div", { className: "fixed flex flex-row animate-fd-fade-in rounded-xl p-0.5 border bg-fd-muted text-fd-muted-foreground z-10 xl:start-4 max-xl:end-4", style: {
|
|
28
|
-
top: 'calc(var(--fd-banner-height) + var(--fd-tocnav-height) + var(--spacing) * 4)',
|
|
29
|
-
}, children: [_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
30
|
-
color: 'ghost',
|
|
31
|
-
size: 'icon-sm',
|
|
32
|
-
}), 'rounded-lg'), children: _jsx(SidebarIcon, {}) }), _jsx(SearchToggle, { size: "icon-sm", className: "rounded-lg" })] }));
|
|
33
|
-
}
|
package/dist/layouts/docs.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { PageTree } from 'fumadocs-core/server';
|
|
2
|
-
import { type ReactNode, type HTMLAttributes } from 'react';
|
|
3
|
-
import { type LinkItemType, type IconItemType } from '../layouts/links.js';
|
|
4
|
-
import { type BaseLayoutProps } from './shared.js';
|
|
5
|
-
import { CollapsibleControl, Navbar, NavbarSidebarTrigger } from '../layouts/docs-client.js';
|
|
6
|
-
import { type SidebarOptions } from '../layouts/docs/shared.js';
|
|
7
|
-
export interface DocsLayoutProps extends BaseLayoutProps {
|
|
8
|
-
tree: PageTree.Root;
|
|
9
|
-
sidebar?: Partial<SidebarOptions> & {
|
|
10
|
-
enabled?: boolean;
|
|
11
|
-
component?: ReactNode;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Props for the `div` container
|
|
15
|
-
*/
|
|
16
|
-
containerProps?: HTMLAttributes<HTMLDivElement>;
|
|
17
|
-
}
|
|
18
|
-
export declare function DocsLayout({ nav: { transparentMode, ...nav }, searchToggle, disableThemeSwitch, themeSwitch, sidebar: { tabs: tabOptions, ...sidebar }, i18n, children, ...props }: DocsLayoutProps): ReactNode;
|
|
19
|
-
export declare function DocsLayoutSidebar({ collapsible, components, nav, links, footer, banner, ...props }: Omit<SidebarOptions, 'tabs'> & {
|
|
20
|
-
links?: LinkItemType[];
|
|
21
|
-
nav?: ReactNode;
|
|
22
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
export declare function DocsLayoutSidebarFooter({ i18n, themeSwitch, links, }: {
|
|
24
|
-
i18n?: DocsLayoutProps['i18n'];
|
|
25
|
-
links?: IconItemType[];
|
|
26
|
-
themeSwitch?: DocsLayoutProps['themeSwitch'];
|
|
27
|
-
}): import("react/jsx-runtime").JSX.Element | null;
|
|
28
|
-
export { CollapsibleControl, Navbar, NavbarSidebarTrigger, type LinkItemType };
|
|
29
|
-
export { getSidebarTabsFromOptions } from './docs/shared.js';
|
|
30
|
-
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/layouts/docs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AAcrE,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,UAAU,CAAC;AAK1D,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;QAClC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IAEF;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,EACzB,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,GAAG,EAAO,EACrC,YAAY,EACZ,kBAA0B,EAC1B,WAA8C,EAC9C,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,EAAO,EAC9C,IAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,SAAS,CAoG7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAkB,EAClB,UAAU,EACV,GAAG,EACH,KAAU,EACV,MAAM,EACN,MAAM,EACN,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IAChC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB,2CA2CA;AAED,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,WAAW,EACX,KAAU,GACX,EAAE;IACD,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;CAC9C,kDAiCA;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/layouts/docs.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from 'react';
|
|
3
|
-
import { Languages, SidebarIcon } from 'lucide-react';
|
|
4
|
-
import { cn } from '../utils/cn.js';
|
|
5
|
-
import { buttonVariants } from '../components/ui/button.js';
|
|
6
|
-
import { CollapsibleSidebar, Sidebar, SidebarFooter, SidebarHeader, SidebarCollapseTrigger, SidebarViewport, SidebarPageTree, } from '../components/layout/sidebar.js';
|
|
7
|
-
import { slot, slots } from '../layouts/shared.js';
|
|
8
|
-
import { BaseLinkItem, } from '../layouts/links.js';
|
|
9
|
-
import { RootToggle } from '../components/layout/root-toggle.js';
|
|
10
|
-
import { getLinks } from './shared.js';
|
|
11
|
-
import { LanguageToggle, LanguageToggleText, } from '../components/layout/language-toggle.js';
|
|
12
|
-
import { CollapsibleControl, Navbar, NavbarSidebarTrigger, } from '../layouts/docs-client.js';
|
|
13
|
-
import { TreeContextProvider } from '../contexts/tree.js';
|
|
14
|
-
import { ThemeToggle } from '../components/layout/theme-toggle.js';
|
|
15
|
-
import { LargeSearchToggle, SearchToggle, } from '../components/layout/search-toggle.js';
|
|
16
|
-
import { getSidebarTabsFromOptions, layoutVariables, SidebarLinkItem, } from '../layouts/docs/shared.js';
|
|
17
|
-
import { StylesProvider, NavProvider, } from '../contexts/layout.js';
|
|
18
|
-
import Link from 'fumadocs-core/link';
|
|
19
|
-
export function DocsLayout({ nav: { transparentMode, ...nav } = {}, searchToggle, disableThemeSwitch = false, themeSwitch = { enabled: !disableThemeSwitch }, sidebar: { tabs: tabOptions, ...sidebar } = {}, i18n = false, children, ...props }) {
|
|
20
|
-
const tabs = useMemo(() => getSidebarTabsFromOptions(tabOptions, props.tree) ?? [], [tabOptions, props.tree]);
|
|
21
|
-
const links = getLinks(props.links ?? [], props.githubUrl);
|
|
22
|
-
const variables = cn('[--fd-tocnav-height:36px] md:[--fd-sidebar-width:268px] lg:[--fd-sidebar-width:286px] xl:[--fd-toc-width:286px] xl:[--fd-tocnav-height:0px]', !nav.component && nav.enabled !== false
|
|
23
|
-
? '[--fd-nav-height:calc(var(--spacing)*14)] md:[--fd-nav-height:0px]'
|
|
24
|
-
: undefined);
|
|
25
|
-
const pageStyles = {
|
|
26
|
-
tocNav: cn('xl:hidden'),
|
|
27
|
-
toc: cn('max-xl:hidden'),
|
|
28
|
-
};
|
|
29
|
-
return (_jsx(TreeContextProvider, { tree: props.tree, children: _jsxs(NavProvider, { transparentMode: transparentMode, children: [slot(nav, _jsxs(Navbar, { className: "md:hidden", children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 font-semibold", children: nav.title }), _jsx("div", { className: "flex flex-1 flex-row items-center gap-1", children: nav.children }), slots('sm', searchToggle, _jsx(SearchToggle, { hideIfDisabled: true })), _jsx(NavbarSidebarTrigger, { className: "-me-2 md:hidden" })] })), _jsxs("main", { id: "nd-docs-layout", ...props.containerProps, className: cn('flex flex-1 flex-row pe-(--fd-layout-offset)', variables, props.containerProps?.className), style: {
|
|
30
|
-
...layoutVariables,
|
|
31
|
-
...props.containerProps?.style,
|
|
32
|
-
}, children: [slot(sidebar, _jsx(DocsLayoutSidebar, { ...sidebar, links: links, nav: _jsxs(_Fragment, { children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex text-[15px] items-center gap-2.5 font-medium", children: nav.title }), nav.children] }), banner: _jsxs(_Fragment, { children: [tabs.length > 0 ? (_jsx(RootToggle, { options: tabs, className: "-mx-2" })) : null, slots('lg', searchToggle, _jsx(LargeSearchToggle, { hideIfDisabled: true, className: "rounded-lg max-md:hidden" })), sidebar.banner] }), footer: _jsxs(_Fragment, { children: [_jsx(DocsLayoutSidebarFooter, { links: links.filter((item) => item.type === 'icon'), i18n: i18n, themeSwitch: themeSwitch }), sidebar.footer] }) })), _jsx(StylesProvider, { ...pageStyles, children: children })] })] }) }));
|
|
33
|
-
}
|
|
34
|
-
export function DocsLayoutSidebar({ collapsible = true, components, nav, links = [], footer, banner, ...props }) {
|
|
35
|
-
const Aside = collapsible ? CollapsibleSidebar : Sidebar;
|
|
36
|
-
return (_jsxs(_Fragment, { children: [collapsible ? _jsx(CollapsibleControl, {}) : null, _jsxs(Aside, { ...props, className: cn('md:ps-(--fd-layout-offset)', props.className), children: [_jsxs(SidebarHeader, { children: [_jsxs("div", { className: "flex flex-row pt-1 max-md:hidden", children: [nav, collapsible && (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
37
|
-
color: 'ghost',
|
|
38
|
-
size: 'icon-sm',
|
|
39
|
-
}), 'ms-auto mb-auto text-fd-muted-foreground max-md:hidden'), children: _jsx(SidebarIcon, {}) }))] }), banner] }), _jsxs(SidebarViewport, { children: [_jsx("div", { className: "mb-4 empty:hidden", children: links
|
|
40
|
-
.filter((v) => v.type !== 'icon')
|
|
41
|
-
.map((item, i) => (_jsx(SidebarLinkItem, { item: item }, i))) }), _jsx(SidebarPageTree, { components: components })] }), _jsx(SidebarFooter, { children: footer })] })] }));
|
|
42
|
-
}
|
|
43
|
-
export function DocsLayoutSidebarFooter({ i18n, themeSwitch, links = [], }) {
|
|
44
|
-
// empty footer items
|
|
45
|
-
if (links.length === 0 && !i18n && themeSwitch?.enabled === false)
|
|
46
|
-
return null;
|
|
47
|
-
return (_jsxs("div", { className: "flex flex-row items-center", children: [links.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({ size: 'icon', color: 'ghost' }), 'text-fd-muted-foreground md:[&_svg]:size-4.5'), "aria-label": item.label, children: item.icon }, i))), _jsx("div", { role: "separator", className: "flex-1" }), i18n ? (_jsxs(LanguageToggle, { className: "me-1.5", children: [_jsx(Languages, { className: "size-4.5" }), _jsx(LanguageToggleText, { className: "md:hidden" })] })) : null, slot(themeSwitch, _jsx(ThemeToggle, { className: "p-0", mode: themeSwitch?.mode }))] }));
|
|
48
|
-
}
|
|
49
|
-
export { CollapsibleControl, Navbar, NavbarSidebarTrigger };
|
|
50
|
-
export { getSidebarTabsFromOptions } from './docs/shared.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../../src/layouts/home.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AA6B1D,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,GAAG,CAAC,EAAE,OAAO,CACX,UAAU,GAAG;QACX;;WAEG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CACF,CAAC;CACH;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,2CAmCrD;AAED,wBAAgB,MAAM,CAAC,EACrB,GAAQ,EACR,IAAY,EACZ,KAAK,EACL,SAAS,EACT,WAAW,EACX,YAAY,GACb,EAAE,eAAe,2CA8FjB"}
|
package/dist/layouts/home.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Fragment, useMemo } from 'react';
|
|
3
|
-
import { slot, slots } from '../layouts/shared.js';
|
|
4
|
-
import { cn } from '../utils/cn.js';
|
|
5
|
-
import { getLinks } from './shared.js';
|
|
6
|
-
import { NavProvider } from '../contexts/layout.js';
|
|
7
|
-
import { Navbar, NavbarLink, NavbarMenu, NavbarMenuContent, NavbarMenuLink, NavbarMenuTrigger, } from '../layouts/home/navbar.js';
|
|
8
|
-
import { LargeSearchToggle, SearchToggle, } from '../components/layout/search-toggle.js';
|
|
9
|
-
import { ThemeToggle } from '../components/layout/theme-toggle.js';
|
|
10
|
-
import { LanguageToggle, LanguageToggleText, } from '../components/layout/language-toggle.js';
|
|
11
|
-
import { ChevronDown, Languages } from 'lucide-react';
|
|
12
|
-
import Link from 'fumadocs-core/link';
|
|
13
|
-
import { Menu, MenuContent, MenuLinkItem, MenuTrigger, } from '../layouts/home/menu.js';
|
|
14
|
-
export function HomeLayout(props) {
|
|
15
|
-
const { nav, links, githubUrl, i18n, disableThemeSwitch = false, themeSwitch = { enabled: !disableThemeSwitch }, searchToggle, ...rest } = props;
|
|
16
|
-
return (_jsx(NavProvider, { transparentMode: nav?.transparentMode, children: _jsxs("main", { id: "nd-home-layout", ...rest, className: cn('flex flex-1 flex-col pt-14', rest.className), children: [slot(nav, _jsx(Header, { links: links, nav: nav, themeSwitch: themeSwitch, searchToggle: searchToggle, i18n: i18n, githubUrl: githubUrl })), props.children] }) }));
|
|
17
|
-
}
|
|
18
|
-
export function Header({ nav = {}, i18n = false, links, githubUrl, themeSwitch, searchToggle, }) {
|
|
19
|
-
const finalLinks = useMemo(() => getLinks(links, githubUrl), [links, githubUrl]);
|
|
20
|
-
const navItems = finalLinks.filter((item) => ['nav', 'all'].includes(item.on ?? 'all'));
|
|
21
|
-
const menuItems = finalLinks.filter((item) => ['menu', 'all'].includes(item.on ?? 'all'));
|
|
22
|
-
return (_jsxs(Navbar, { children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 font-semibold", children: nav.title }), nav.children, _jsx("ul", { className: "flex flex-row items-center gap-2 px-6 max-sm:hidden", children: navItems
|
|
23
|
-
.filter((item) => !isSecondary(item))
|
|
24
|
-
.map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm" }, i))) }), _jsxs("div", { className: "flex flex-row items-center justify-end gap-1.5 flex-1", children: [slots('sm', searchToggle, _jsx(SearchToggle, { className: "lg:hidden", hideIfDisabled: true })), slots('lg', searchToggle, _jsx(LargeSearchToggle, { className: "w-full max-w-[240px] max-lg:hidden", hideIfDisabled: true })), slot(themeSwitch, _jsx(ThemeToggle, { className: "max-lg:hidden", mode: themeSwitch?.mode })), i18n ? (_jsx(LanguageToggle, { className: "max-lg:hidden", children: _jsx(Languages, { className: "size-5" }) })) : null] }), _jsxs("ul", { className: "flex flex-row items-center", children: [navItems.filter(isSecondary).map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "-me-1.5 max-lg:hidden" }, i))), _jsxs(Menu, { className: "lg:hidden", children: [_jsx(MenuTrigger, { "aria-label": "Toggle Menu", className: "group -me-2", enableHover: nav.enableHoverToOpen, children: _jsx(ChevronDown, { className: "size-3 transition-transform duration-300 group-data-[state=open]:rotate-180" }) }), _jsxs(MenuContent, { className: "sm:flex-row sm:items-center sm:justify-end", children: [menuItems
|
|
25
|
-
.filter((item) => !isSecondary(item))
|
|
26
|
-
.map((item, i) => (_jsx(MenuLinkItem, { item: item, className: "sm:hidden" }, i))), _jsxs("div", { className: "-ms-1.5 flex flex-row items-center gap-1.5 max-sm:mt-2", children: [menuItems.filter(isSecondary).map((item, i) => (_jsx(MenuLinkItem, { item: item, className: "-me-1.5" }, i))), _jsx("div", { role: "separator", className: "flex-1" }), i18n ? (_jsxs(LanguageToggle, { children: [_jsx(Languages, { className: "size-5" }), _jsx(LanguageToggleText, {}), _jsx(ChevronDown, { className: "size-3 text-fd-muted-foreground" })] })) : null, slot(themeSwitch, _jsx(ThemeToggle, { mode: themeSwitch?.mode }))] })] })] })] })] }));
|
|
27
|
-
}
|
|
28
|
-
function NavbarLinkItem({ item, ...props }) {
|
|
29
|
-
if (item.type === 'custom')
|
|
30
|
-
return _jsx("div", { ...props, children: item.children });
|
|
31
|
-
if (item.type === 'menu') {
|
|
32
|
-
const children = item.items.map((child, j) => {
|
|
33
|
-
if (child.type === 'custom')
|
|
34
|
-
return _jsx(Fragment, { children: child.children }, j);
|
|
35
|
-
const { banner = child.icon ? (_jsx("div", { className: "w-fit rounded-md border bg-fd-muted p-1 [&_svg]:size-4", children: child.icon })) : null, ...rest } = child.menu ?? {};
|
|
36
|
-
return (_jsx(NavbarMenuLink, { href: child.url, ...rest, children: rest.children ?? (_jsxs(_Fragment, { children: [banner, _jsx("p", { className: "-mb-1 text-sm font-medium", children: child.text }), child.description ? (_jsx("p", { className: "text-[13px] text-fd-muted-foreground", children: child.description })) : null] })) }, j));
|
|
37
|
-
});
|
|
38
|
-
return (_jsxs(NavbarMenu, { children: [_jsx(NavbarMenuTrigger, { ...props, children: item.url ? _jsx(Link, { href: item.url, children: item.text }) : item.text }), _jsx(NavbarMenuContent, { children: children })] }));
|
|
39
|
-
}
|
|
40
|
-
return (_jsx(NavbarLink, { ...props, item: item, variant: item.type, "aria-label": item.type === 'icon' ? item.label : undefined, children: item.type === 'icon' ? item.icon : item.text }));
|
|
41
|
-
}
|
|
42
|
-
function isSecondary(item) {
|
|
43
|
-
return (('secondary' in item && item.secondary === true) || item.type === 'icon');
|
|
44
|
-
}
|
package/dist/layouts/links.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { type AnchorHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
-
interface BaseItem {
|
|
3
|
-
/**
|
|
4
|
-
* Restrict where the item is displayed
|
|
5
|
-
*
|
|
6
|
-
* @defaultValue 'all'
|
|
7
|
-
*/
|
|
8
|
-
on?: 'menu' | 'nav' | 'all';
|
|
9
|
-
}
|
|
10
|
-
export interface BaseLinkType extends BaseItem {
|
|
11
|
-
url: string;
|
|
12
|
-
/**
|
|
13
|
-
* When the item is marked as active
|
|
14
|
-
*
|
|
15
|
-
* @defaultValue 'url'
|
|
16
|
-
*/
|
|
17
|
-
active?: 'url' | 'nested-url' | 'none';
|
|
18
|
-
external?: boolean;
|
|
19
|
-
}
|
|
20
|
-
export interface MainItemType extends BaseLinkType {
|
|
21
|
-
type?: 'main';
|
|
22
|
-
icon?: ReactNode;
|
|
23
|
-
text: ReactNode;
|
|
24
|
-
description?: ReactNode;
|
|
25
|
-
}
|
|
26
|
-
export interface IconItemType extends BaseLinkType {
|
|
27
|
-
type: 'icon';
|
|
28
|
-
/**
|
|
29
|
-
* `aria-label` of icon button
|
|
30
|
-
*/
|
|
31
|
-
label?: string;
|
|
32
|
-
icon: ReactNode;
|
|
33
|
-
text: ReactNode;
|
|
34
|
-
/**
|
|
35
|
-
* @defaultValue true
|
|
36
|
-
*/
|
|
37
|
-
secondary?: boolean;
|
|
38
|
-
}
|
|
39
|
-
interface ButtonItem extends BaseLinkType {
|
|
40
|
-
type: 'button';
|
|
41
|
-
icon?: ReactNode;
|
|
42
|
-
text: ReactNode;
|
|
43
|
-
/**
|
|
44
|
-
* @defaultValue false
|
|
45
|
-
*/
|
|
46
|
-
secondary?: boolean;
|
|
47
|
-
}
|
|
48
|
-
export interface MenuItemType extends BaseItem {
|
|
49
|
-
type: 'menu';
|
|
50
|
-
icon?: ReactNode;
|
|
51
|
-
text: ReactNode;
|
|
52
|
-
url?: string;
|
|
53
|
-
items: ((MainItemType & {
|
|
54
|
-
/**
|
|
55
|
-
* Options when displayed on navigation menu
|
|
56
|
-
*/
|
|
57
|
-
menu?: HTMLAttributes<HTMLElement> & {
|
|
58
|
-
banner?: ReactNode;
|
|
59
|
-
};
|
|
60
|
-
}) | CustomItem)[];
|
|
61
|
-
/**
|
|
62
|
-
* @defaultValue false
|
|
63
|
-
*/
|
|
64
|
-
secondary?: boolean;
|
|
65
|
-
}
|
|
66
|
-
interface CustomItem extends BaseItem {
|
|
67
|
-
type: 'custom';
|
|
68
|
-
/**
|
|
69
|
-
* @defaultValue false
|
|
70
|
-
*/
|
|
71
|
-
secondary?: boolean;
|
|
72
|
-
children: ReactNode;
|
|
73
|
-
}
|
|
74
|
-
export type LinkItemType = MainItemType | IconItemType | ButtonItem | MenuItemType | CustomItem;
|
|
75
|
-
export declare const BaseLinkItem: import("react").ForwardRefExoticComponent<Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "href"> & {
|
|
76
|
-
item: BaseLinkType;
|
|
77
|
-
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
78
|
-
export {};
|
|
79
|
-
//# sourceMappingURL=links.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/layouts/links.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,UAAU,QAAQ;IAChB;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,UAAW,SAAQ,YAAY;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAEhB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CACH,CAAC,YAAY,GAAG;QACd;;WAEG;QACH,IAAI,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG;YACnC,MAAM,CAAC,EAAE,SAAS,CAAC;SACpB,CAAC;KACH,CAAC,GACF,UAAU,CACb,EAAE,CAAC;IAEJ;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,UAAW,SAAQ,QAAQ;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,UAAU,CAAC;AAEf,eAAO,MAAM,YAAY;UAEyC,YAAY;qDAmB5E,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type ButtonHTMLAttributes, type HTMLAttributes } from 'react';
|
|
2
|
-
import type { Option } from '../components/layout/root-toggle.js';
|
|
3
|
-
export declare function Navbar({ mode, ...props }: HTMLAttributes<HTMLElement> & {
|
|
4
|
-
mode: 'top' | 'auto';
|
|
5
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export declare function NavbarSidebarTrigger(props: ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export declare function LayoutTabs(props: HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export declare function LayoutTab(item: Option): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export declare function SidebarLayoutTab({ item, ...props }: {
|
|
10
|
-
item: Option;
|
|
11
|
-
} & HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
//# sourceMappingURL=notebook-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notebook-client.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook-client.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AASvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,2CAoBxD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,2CAkB/C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,2CAY5D;AAUD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,2CAkBrC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,GAAG,KAAK,EACT,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAAC,WAAW,CAAC,2CAoBhD"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from '../utils/cn.js';
|
|
4
|
-
import { useSidebar } from '../contexts/sidebar.js';
|
|
5
|
-
import { useNav } from '../contexts/layout.js';
|
|
6
|
-
import { SidebarTrigger } from 'fumadocs-core/sidebar';
|
|
7
|
-
import { buttonVariants } from '../components/ui/button.js';
|
|
8
|
-
import { Menu, X } from 'lucide-react';
|
|
9
|
-
import Link from 'fumadocs-core/link';
|
|
10
|
-
import { usePathname } from 'fumadocs-core/framework';
|
|
11
|
-
import { isActive } from '../utils/is-active.js';
|
|
12
|
-
export function Navbar({ mode, ...props }) {
|
|
13
|
-
const { open, collapsed } = useSidebar();
|
|
14
|
-
const { isTransparent } = useNav();
|
|
15
|
-
return (_jsx("header", { id: "nd-subnav", ...props, className: cn('fixed inset-x-0 top-(--fd-banner-height) z-10 px-(--fd-layout-offset) backdrop-blur-sm transition-colors', (!isTransparent || open) && 'bg-fd-background/80', mode === 'auto' &&
|
|
16
|
-
!collapsed &&
|
|
17
|
-
'ps-[calc(var(--fd-layout-offset)+var(--fd-sidebar-width))]', props.className), children: props.children }));
|
|
18
|
-
}
|
|
19
|
-
export function NavbarSidebarTrigger(props) {
|
|
20
|
-
const { open } = useSidebar();
|
|
21
|
-
return (_jsx(SidebarTrigger, { ...props, className: cn(buttonVariants({
|
|
22
|
-
color: 'ghost',
|
|
23
|
-
size: 'icon',
|
|
24
|
-
}), props.className), children: open ? _jsx(X, {}) : _jsx(Menu, {}) }));
|
|
25
|
-
}
|
|
26
|
-
export function LayoutTabs(props) {
|
|
27
|
-
return (_jsx("div", { ...props, className: cn('flex flex-row items-end gap-6 overflow-auto', props.className), children: props.children }));
|
|
28
|
-
}
|
|
29
|
-
function useIsSelected(item) {
|
|
30
|
-
const pathname = usePathname();
|
|
31
|
-
return item.urls
|
|
32
|
-
? item.urls.has(pathname.endsWith('/') ? pathname.slice(0, -1) : pathname)
|
|
33
|
-
: isActive(item.url, pathname, true);
|
|
34
|
-
}
|
|
35
|
-
export function LayoutTab(item) {
|
|
36
|
-
const { closeOnRedirect } = useSidebar();
|
|
37
|
-
const selected = useIsSelected(item);
|
|
38
|
-
return (_jsx(Link, { className: cn('inline-flex items-center py-2.5 border-b border-transparent gap-2 text-fd-muted-foreground text-sm text-nowrap', selected && 'text-fd-foreground font-medium border-fd-primary'), href: item.url, onClick: () => {
|
|
39
|
-
closeOnRedirect.current = false;
|
|
40
|
-
}, children: item.title }));
|
|
41
|
-
}
|
|
42
|
-
export function SidebarLayoutTab({ item, ...props }) {
|
|
43
|
-
const selected = useIsSelected(item);
|
|
44
|
-
return (_jsxs(Link, { ...props, className: cn('flex flex-row items-center px-2 -mx-2 py-1.5 gap-2.5 text-fd-muted-foreground [&_svg]:!size-4.5', selected
|
|
45
|
-
? 'text-fd-primary font-medium'
|
|
46
|
-
: 'hover:text-fd-accent-foreground', props.className), "data-active": selected, href: item.url, children: [item.icon, item.title] }));
|
|
47
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type HTMLAttributes } from 'react';
|
|
2
|
-
import { type BaseLayoutProps } from '../layouts/shared.js';
|
|
3
|
-
import { type SidebarOptions } from '../layouts/docs/shared.js';
|
|
4
|
-
import type { PageTree } from 'fumadocs-core/server';
|
|
5
|
-
import { Navbar, NavbarSidebarTrigger } from './notebook-client.js';
|
|
6
|
-
export interface DocsLayoutProps extends BaseLayoutProps {
|
|
7
|
-
tree: PageTree.Root;
|
|
8
|
-
tabMode?: 'sidebar' | 'navbar';
|
|
9
|
-
nav?: BaseLayoutProps['nav'] & {
|
|
10
|
-
mode?: 'top' | 'auto';
|
|
11
|
-
};
|
|
12
|
-
sidebar?: Omit<Partial<SidebarOptions>, 'component' | 'enabled'>;
|
|
13
|
-
containerProps?: HTMLAttributes<HTMLDivElement>;
|
|
14
|
-
}
|
|
15
|
-
export declare function DocsLayout({ tabMode, nav: { transparentMode, ...nav }, sidebar: { collapsible: sidebarCollapsible, tabs: tabOptions, banner: sidebarBanner, footer: sidebarFooter, components: sidebarComponents, ...sidebar }, i18n, disableThemeSwitch, themeSwitch, searchToggle, ...props }: DocsLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
-
export { Navbar, NavbarSidebarTrigger };
|
|
17
|
-
//# sourceMappingURL=notebook.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAA2B,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,kBAAkB,CAAC;AAsB/E,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAGL,MAAM,EACN,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAa3B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE/B,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG;QAC7B,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC;IAEjE,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAmB,EACnB,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,GAAG,EAAO,EACrC,OAAO,EAAE,EACP,WAAW,EAAE,kBAAyB,EACtC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,iBAAiB,EAC7B,GAAG,OAAO,EACN,EACN,IAAY,EACZ,kBAA0B,EAC1B,WAA8C,EAC9C,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,eAAe,2CAmJjB;AAqLD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/layouts/notebook.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Fragment, useMemo } from 'react';
|
|
3
|
-
import { getLinks, slot, slots } from '../layouts/shared.js';
|
|
4
|
-
import { CollapsibleSidebar, Sidebar, SidebarCollapseTrigger, SidebarFooter, SidebarHeader, SidebarViewport, SidebarPageTree, } from '../components/layout/sidebar.js';
|
|
5
|
-
import { TreeContextProvider } from '../contexts/tree.js';
|
|
6
|
-
import { cn } from '../utils/cn.js';
|
|
7
|
-
import { buttonVariants } from '../components/ui/button.js';
|
|
8
|
-
import { ChevronDown, Languages, SidebarIcon } from 'lucide-react';
|
|
9
|
-
import { BaseLinkItem } from '../layouts/links.js';
|
|
10
|
-
import { LanguageToggle } from '../components/layout/language-toggle.js';
|
|
11
|
-
import { ThemeToggle } from '../components/layout/theme-toggle.js';
|
|
12
|
-
import { Popover, PopoverContent, PopoverTrigger, } from '../components/ui/popover.js';
|
|
13
|
-
import { getSidebarTabsFromOptions, layoutVariables, SidebarLinkItem, } from '../layouts/docs/shared.js';
|
|
14
|
-
import { LayoutTab, LayoutTabs, Navbar, NavbarSidebarTrigger, SidebarLayoutTab, } from './notebook-client.js';
|
|
15
|
-
import { StylesProvider, NavProvider, } from '../contexts/layout.js';
|
|
16
|
-
import { RootToggle } from '../components/layout/root-toggle.js';
|
|
17
|
-
import Link from 'fumadocs-core/link';
|
|
18
|
-
import { LargeSearchToggle, SearchToggle, } from '../components/layout/search-toggle.js';
|
|
19
|
-
export function DocsLayout({ tabMode = 'sidebar', nav: { transparentMode, ...nav } = {}, sidebar: { collapsible: sidebarCollapsible = true, tabs: tabOptions, banner: sidebarBanner, footer: sidebarFooter, components: sidebarComponents, ...sidebar } = {}, i18n = false, disableThemeSwitch = false, themeSwitch = { enabled: !disableThemeSwitch }, searchToggle, ...props }) {
|
|
20
|
-
const navMode = nav.mode ?? 'auto';
|
|
21
|
-
const links = getLinks(props.links ?? [], props.githubUrl);
|
|
22
|
-
const tabs = useMemo(() => getSidebarTabsFromOptions(tabOptions, props.tree) ?? [], [tabOptions, props.tree]);
|
|
23
|
-
const Aside = sidebarCollapsible ? CollapsibleSidebar : Sidebar;
|
|
24
|
-
const variables = cn('[--fd-nav-height:calc(var(--spacing)*14)] [--fd-tocnav-height:36px] md:[--fd-sidebar-width:286px] xl:[--fd-toc-width:286px] xl:[--fd-tocnav-height:0px]', tabs.length > 0 &&
|
|
25
|
-
tabMode === 'navbar' &&
|
|
26
|
-
'lg:[--fd-nav-height:calc(var(--spacing)*24)]');
|
|
27
|
-
const pageStyles = {
|
|
28
|
-
tocNav: cn('xl:hidden'),
|
|
29
|
-
toc: cn('max-xl:hidden'),
|
|
30
|
-
page: cn('mt-(--fd-nav-height)'),
|
|
31
|
-
};
|
|
32
|
-
return (_jsx(TreeContextProvider, { tree: props.tree, children: _jsx(NavProvider, { transparentMode: transparentMode, children: _jsxs("main", { id: "nd-docs-layout", ...props.containerProps, className: cn('flex w-full flex-1 flex-row pe-(--fd-layout-offset)', variables, props.containerProps?.className), style: {
|
|
33
|
-
...layoutVariables,
|
|
34
|
-
...props.containerProps?.style,
|
|
35
|
-
}, children: [_jsxs(Aside, { ...sidebar, className: cn('md:ps-(--fd-layout-offset)', navMode === 'top' ? 'bg-transparent' : 'md:[--fd-nav-height:0px]', sidebar.className), inner: {
|
|
36
|
-
className: cn(navMode === 'top' ? 'md:pt-2.5' : 'md:pt-3.5', tabMode === 'navbar' && 'md:pt-0'),
|
|
37
|
-
}, children: [_jsxs(SidebarHeader, { children: [navMode === 'auto' && (_jsxs("div", { className: "flex flex-row justify-between max-md:hidden", children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex items-center gap-2.5 font-medium", children: nav.title }), _jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
38
|
-
color: 'ghost',
|
|
39
|
-
size: 'icon-sm',
|
|
40
|
-
}), 'text-fd-muted-foreground mb-auto'), children: _jsx(SidebarIcon, {}) })] })), nav.children, sidebarBanner, tabMode === 'sidebar' && tabs.length > 0 ? (_jsx(RootToggle, { options: tabs, className: "-mx-2" })) : null] }), _jsxs(SidebarViewport, { children: [tabMode === 'navbar' &&
|
|
41
|
-
tabs.map((tab, i) => (_jsx(SidebarLayoutTab, { item: tab, className: cn('lg:hidden', i === tabs.length - 1 && 'mb-4') }, tab.url))), links.map((item, i) => (_jsx(SidebarLinkItem, { item: item, className: cn('lg:hidden', i === links.length - 1 && 'mb-4') }, i))), _jsx(SidebarPageTree, { components: sidebarComponents })] }), _jsxs(SidebarFooter, { className: cn('flex flex-row items-center', !sidebarFooter && 'md:hidden'), children: [i18n ? (_jsx(LanguageToggle, { className: "me-auto md:hidden", children: _jsx(Languages, { className: "size-5 text-fd-muted-foreground" }) })) : null, slot(themeSwitch, _jsx(ThemeToggle, { className: "md:hidden", mode: themeSwitch?.mode ?? 'light-dark-system' })), sidebarFooter] })] }), _jsx(DocsNavbar, { mode: nav.mode, nav: _jsx(Link, { href: nav.url ?? '/', className: cn('inline-flex items-center gap-2.5 font-semibold', navMode === 'auto' && 'md:hidden'), children: nav.title }), links: links, i18n: i18n, sidebarCollapsible: sidebarCollapsible, searchToggle: searchToggle, tabs: tabMode == 'navbar' ? tabs : [], children: nav.children }), _jsx(StylesProvider, { ...pageStyles, children: props.children })] }) }) }));
|
|
42
|
-
}
|
|
43
|
-
function DocsNavbar({ mode: navMode = 'auto', nav, sidebarCollapsible = false, links, themeSwitch, searchToggle, i18n = false, tabs, children, }) {
|
|
44
|
-
return (_jsxs(Navbar, { mode: navMode, children: [_jsxs("div", { className: cn('flex flex-row border-b border-fd-foreground/10 px-4 h-14', navMode === 'auto' && 'md:px-6'), children: [_jsxs("div", { className: cn('flex flex-row items-center', navMode === 'top' && 'flex-1 pe-4'), children: [sidebarCollapsible && navMode === 'auto' ? (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
45
|
-
color: 'ghost',
|
|
46
|
-
size: 'icon-sm',
|
|
47
|
-
}), 'text-fd-muted-foreground -ms-1.5 me-2 data-[collapsed=false]:hidden max-md:hidden'), children: _jsx(SidebarIcon, {}) })) : null, nav] }), slots('lg', searchToggle, _jsx(LargeSearchToggle, { hideIfDisabled: true, className: cn('w-full my-auto rounded-xl max-md:hidden', navMode === 'top' ? 'max-w-sm px-2' : 'max-w-[240px]') })), _jsxs("div", { className: "flex flex-1 flex-row items-center justify-end", children: [_jsx("div", { className: "flex flex-row items-center gap-6 px-4 empty:hidden max-lg:hidden", children: links
|
|
48
|
-
.filter((item) => item.type !== 'icon')
|
|
49
|
-
.map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground" }, i))) }), children, slots('sm', searchToggle, _jsx(SearchToggle, { hideIfDisabled: true, className: "md:hidden" })), _jsx(NavbarSidebarTrigger, { className: "md:hidden" }), links
|
|
50
|
-
.filter((item) => item.type === 'icon')
|
|
51
|
-
.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({ size: 'icon-sm', color: 'ghost' }), 'text-fd-muted-foreground max-lg:hidden'), "aria-label": item.label, children: item.icon }, i))), i18n ? (_jsx(LanguageToggle, { className: "max-md:hidden", children: _jsx(Languages, { className: "size-4.5 text-fd-muted-foreground" }) })) : null, slot(themeSwitch, _jsx(ThemeToggle, { className: "ms-2 max-md:hidden", mode: themeSwitch?.mode ?? 'light-dark-system' })), sidebarCollapsible && navMode === 'top' ? (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
|
|
52
|
-
color: 'secondary',
|
|
53
|
-
size: 'icon-sm',
|
|
54
|
-
}), 'ms-2 text-fd-muted-foreground rounded-full max-md:hidden'), children: _jsx(SidebarIcon, {}) })) : null] })] }), tabs.length > 0 ? (_jsx(LayoutTabs, { className: "px-6 border-b border-fd-foreground/10 h-10 max-lg:hidden", children: tabs.map((tab) => (_jsx(LayoutTab, { ...tab }, tab.url))) })) : null] }));
|
|
55
|
-
}
|
|
56
|
-
function NavbarLinkItem({ item, ...props }) {
|
|
57
|
-
if (item.type === 'menu') {
|
|
58
|
-
return (_jsxs(Popover, { children: [_jsxs(PopoverTrigger, { ...props, className: cn('inline-flex items-center gap-1.5', props.className), children: [item.text, _jsx(ChevronDown, { className: "size-3" })] }), _jsx(PopoverContent, { className: "flex flex-col", children: item.items.map((child, i) => {
|
|
59
|
-
if (child.type === 'custom')
|
|
60
|
-
return _jsx(Fragment, { children: child.children }, i);
|
|
61
|
-
return (_jsxs(BaseLinkItem, { item: child, className: "inline-flex items-center gap-2 rounded-md p-2 text-start hover:bg-fd-accent hover:text-fd-accent-foreground data-[active=true]:text-fd-primary [&_svg]:size-4", children: [child.icon, child.text] }, i));
|
|
62
|
-
}) })] }));
|
|
63
|
-
}
|
|
64
|
-
if (item.type === 'custom')
|
|
65
|
-
return item.children;
|
|
66
|
-
return (_jsx(BaseLinkItem, { item: item, ...props, children: item.text }));
|
|
67
|
-
}
|
|
68
|
-
export { Navbar, NavbarSidebarTrigger };
|
package/dist/layouts/shared.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { LinkItemType } from '../layouts/links.js';
|
|
3
|
-
import type { NavProviderProps } from '../contexts/layout.js';
|
|
4
|
-
import type { I18nConfig } from 'fumadocs-core/i18n';
|
|
5
|
-
export interface NavOptions extends NavProviderProps {
|
|
6
|
-
enabled: boolean;
|
|
7
|
-
component: ReactNode;
|
|
8
|
-
title?: ReactNode;
|
|
9
|
-
/**
|
|
10
|
-
* Redirect url of title
|
|
11
|
-
* @defaultValue '/'
|
|
12
|
-
*/
|
|
13
|
-
url?: string;
|
|
14
|
-
children?: ReactNode;
|
|
15
|
-
}
|
|
16
|
-
export interface BaseLayoutProps {
|
|
17
|
-
themeSwitch?: {
|
|
18
|
-
enabled?: boolean;
|
|
19
|
-
component?: ReactNode;
|
|
20
|
-
mode?: 'light-dark' | 'light-dark-system';
|
|
21
|
-
};
|
|
22
|
-
searchToggle?: Partial<{
|
|
23
|
-
enabled: boolean;
|
|
24
|
-
components: Partial<{
|
|
25
|
-
sm: ReactNode;
|
|
26
|
-
lg: ReactNode;
|
|
27
|
-
}>;
|
|
28
|
-
}>;
|
|
29
|
-
/**
|
|
30
|
-
* Remove theme switcher component
|
|
31
|
-
*
|
|
32
|
-
* @deprecated Use `themeSwitch.enabled` instead.
|
|
33
|
-
*/
|
|
34
|
-
disableThemeSwitch?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* I18n options
|
|
37
|
-
*
|
|
38
|
-
* @defaultValue false
|
|
39
|
-
*/
|
|
40
|
-
i18n?: boolean | I18nConfig;
|
|
41
|
-
/**
|
|
42
|
-
* GitHub url
|
|
43
|
-
*/
|
|
44
|
-
githubUrl?: string;
|
|
45
|
-
links?: LinkItemType[];
|
|
46
|
-
/**
|
|
47
|
-
* Replace or disable navbar
|
|
48
|
-
*/
|
|
49
|
-
nav?: Partial<NavOptions>;
|
|
50
|
-
children?: ReactNode;
|
|
51
|
-
}
|
|
52
|
-
export { type LinkItemType };
|
|
53
|
-
/**
|
|
54
|
-
* Get Links Items with shortcuts
|
|
55
|
-
*/
|
|
56
|
-
export declare function getLinks(links?: LinkItemType[], githubUrl?: string): LinkItemType[];
|
|
57
|
-
export declare function slot(obj: {
|
|
58
|
-
enabled?: boolean;
|
|
59
|
-
component?: ReactNode;
|
|
60
|
-
} | undefined, def: ReactNode, customComponentProps?: object, disabled?: ReactNode): ReactNode;
|
|
61
|
-
export declare function slots<Comp extends Record<string, ReactNode>>(variant: keyof Comp, obj: {
|
|
62
|
-
enabled?: boolean;
|
|
63
|
-
components?: Comp;
|
|
64
|
-
} | undefined, def: ReactNode): ReactNode;
|
|
65
|
-
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/layouts/shared.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IAErB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;KAC3C,CAAC;IAEF,YAAY,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;YAClB,EAAE,EAAE,SAAS,CAAC;YACd,EAAE,EAAE,SAAS,CAAC;SACf,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,CAAC;AAE7B;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,GAAE,YAAY,EAAO,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,YAAY,EAAE,CAqBhB;AAED,wBAAgB,IAAI,CAClB,GAAG,EACC;IACE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GACD,SAAS,EACb,GAAG,EAAE,SAAS,EACd,oBAAoB,CAAC,EAAE,MAAM,EAC7B,QAAQ,CAAC,EAAE,SAAS,GACnB,SAAS,CAMX;AAED,wBAAgB,KAAK,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1D,OAAO,EAAE,MAAM,IAAI,EACnB,GAAG,EACC;IACE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,GACD,SAAS,EACb,GAAG,EAAE,SAAS,GACb,SAAS,CAMX"}
|
package/dist/page-client.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type ComponentProps, type HTMLAttributes } from 'react';
|
|
2
|
-
import type { PageTree, TOCItemType } from 'fumadocs-core/server';
|
|
3
|
-
import { type BreadcrumbOptions } from 'fumadocs-core/breadcrumb';
|
|
4
|
-
export declare function TocPopoverTrigger({ items, ...props }: ComponentProps<'button'> & {
|
|
5
|
-
items: TOCItemType[];
|
|
6
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export declare function TocPopoverContent(props: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export declare function TocPopover(props: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export declare function PageBody(props: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export declare function PageArticle(props: HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export declare function LastUpdate(props: {
|
|
12
|
-
date: Date;
|
|
13
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
type Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;
|
|
15
|
-
export interface FooterProps {
|
|
16
|
-
/**
|
|
17
|
-
* Items including information for the next and previous page
|
|
18
|
-
*/
|
|
19
|
-
items?: {
|
|
20
|
-
previous?: Item;
|
|
21
|
-
next?: Item;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export declare function Footer({ items }: FooterProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
-
export type BreadcrumbProps = BreadcrumbOptions;
|
|
26
|
-
export declare function Breadcrumb(options: BreadcrumbProps): import("react/jsx-runtime").JSX.Element | null;
|
|
27
|
-
export {};
|
|
28
|
-
//# sourceMappingURL=page-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-client.d.ts","sourceRoot":"","sources":["../src/page-client.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAKpB,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAgBlC,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,2CAoDrD;AA4DD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CAU7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,2CA0D/D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,2CAY7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,2CAe7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,2CAc/C;AAED,KAAK,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC;AAChE,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,CAAC;CACH;AAyBD,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CA+B5C;AA8BD,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEhD,wBAAgB,UAAU,CAAC,OAAO,EAAE,eAAe,kDAsClD"}
|