fumadocs-ui 15.6.10 → 15.6.12

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.
@@ -2,4 +2,4 @@ import { type ComponentProps } from 'react';
2
2
  export declare function Navbar(props: ComponentProps<'header'>): import("react/jsx-runtime").JSX.Element;
3
3
  export declare function LayoutBody(props: ComponentProps<'main'>): import("react/jsx-runtime").JSX.Element;
4
4
  export declare function CollapsibleControl(): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=docs-client.d.ts.map
5
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/layouts/docs/client.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAQ5C,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,2CAgBrD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAsBvD;AAED,wBAAgB,kBAAkB,4CA2BjC"}
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Sidebar as SidebarIcon } from '../icons.js';
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 { SidebarCollapseTrigger } from '../components/layout/sidebar.js';
9
- import { SearchToggle } from '../components/layout/search-toggle.js';
3
+ import { Sidebar as SidebarIcon } from '../../icons.js';
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 { SidebarCollapseTrigger } from '../../components/layout/sidebar.js';
9
+ import { SearchToggle } from '../../components/layout/search-toggle.js';
10
10
  export function Navbar(props) {
11
11
  const { isTransparent } = useNav();
12
12
  return (_jsx("header", { id: "nd-subnav", ...props, className: cn('fixed top-(--fd-banner-height) inset-x-0 z-30 flex items-center ps-4 pe-2.5 border-b transition-colors backdrop-blur-sm', !isTransparent && 'bg-fd-background/80', props.className), children: props.children }));
@@ -1,10 +1,10 @@
1
1
  import type { PageTree } from 'fumadocs-core/server';
2
2
  import { type ComponentProps, type HTMLAttributes, type ReactNode } from 'react';
3
- import { SidebarTrigger } from '../components/layout/sidebar.js';
4
- import { type LinkItemType } from '../layouts/links.js';
5
- import { type BaseLayoutProps } from './shared.js';
6
- import { CollapsibleControl, Navbar } from '../layouts/docs-client.js';
7
- import { type SidebarOptions } from '../layouts/docs/shared.js';
3
+ import { SidebarTrigger } from '../../components/layout/sidebar.js';
4
+ import { type LinkItemType } from '../../layouts/links.js';
5
+ import { type BaseLayoutProps } from '../../layouts/shared.js';
6
+ import { CollapsibleControl, Navbar } from '../../layouts/docs/client.js';
7
+ import { type SidebarOptions } from '../../layouts/docs/shared.js';
8
8
  export interface DocsLayoutProps extends BaseLayoutProps {
9
9
  tree: PageTree.Root;
10
10
  sidebar?: SidebarOptions & ComponentProps<'aside'> & {
@@ -18,4 +18,4 @@ export interface DocsLayoutProps extends BaseLayoutProps {
18
18
  }
19
19
  export declare function DocsLayout({ nav: { transparentMode, ...nav }, sidebar: { tabs: sidebarTabs, enabled: sidebarEnabled, ...sidebarProps }, searchToggle, disableThemeSwitch, themeSwitch, i18n, children, ...props }: DocsLayoutProps): import("react/jsx-runtime").JSX.Element;
20
20
  export { CollapsibleControl, Navbar, SidebarTrigger, type LinkItemType };
21
- //# sourceMappingURL=docs.d.ts.map
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/docs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAIf,OAAO,EAQL,cAAc,EAEf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,kBAAkB,CAAC;AAKlE,OAAO,EAAE,kBAAkB,EAAc,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,cAAc,GACtB,cAAc,CAAC,OAAO,CAAC,GAAG;QACxB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IAEJ;;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,OAAO,EAAE,EACP,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAqB,EAC9B,GAAG,YAAY,EACX,EACN,YAAiB,EACjB,kBAA0B,EAC1B,WAA8C,EAC9C,IAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CA8NjB;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,CAAC"}
@@ -1,20 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useMemo, } from 'react';
3
- import { Languages, Sidebar as SidebarIcon } from '../icons.js';
4
- import { cn } from '../utils/cn.js';
5
- import { buttonVariants } from '../components/ui/button.js';
6
- import { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarContentMobile, SidebarFooter, SidebarHeader, SidebarPageTree, SidebarTrigger, SidebarViewport, } from '../components/layout/sidebar.js';
7
- import { BaseLinkItem, } from '../layouts/links.js';
8
- import { RootToggle } from '../components/layout/root-toggle.js';
9
- import { getLinks } from './shared.js';
10
- import { LanguageToggle, LanguageToggleText, } from '../components/layout/language-toggle.js';
11
- import { CollapsibleControl, LayoutBody, Navbar } from '../layouts/docs-client.js';
12
- import { TreeContextProvider } from '../contexts/tree.js';
13
- import { ThemeToggle } from '../components/layout/theme-toggle.js';
14
- import { getSidebarTabsFromOptions, SidebarLinkItem, } from '../layouts/docs/shared.js';
15
- import { NavProvider } from '../contexts/layout.js';
3
+ import { Languages, Sidebar as SidebarIcon } from '../../icons.js';
4
+ import { cn } from '../../utils/cn.js';
5
+ import { buttonVariants } from '../../components/ui/button.js';
6
+ import { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarContentMobile, SidebarFooter, SidebarHeader, SidebarPageTree, SidebarTrigger, SidebarViewport, } from '../../components/layout/sidebar.js';
7
+ import { BaseLinkItem, } from '../../layouts/links.js';
8
+ import { RootToggle } from '../../components/layout/root-toggle.js';
9
+ import { getLinks } from '../../layouts/shared.js';
10
+ import { LanguageToggle, LanguageToggleText, } from '../../components/layout/language-toggle.js';
11
+ import { CollapsibleControl, LayoutBody, Navbar } from '../../layouts/docs/client.js';
12
+ import { TreeContextProvider } from '../../contexts/tree.js';
13
+ import { ThemeToggle } from '../../components/layout/theme-toggle.js';
14
+ import { getSidebarTabsFromOptions, SidebarLinkItem, } from '../../layouts/docs/shared.js';
15
+ import { NavProvider } from '../../contexts/layout.js';
16
16
  import Link from 'fumadocs-core/link';
17
- import { LargeSearchToggle, SearchToggle, } from '../components/layout/search-toggle.js';
17
+ import { LargeSearchToggle, SearchToggle, } from '../../components/layout/search-toggle.js';
18
18
  import { HideIfEmpty } from 'fumadocs-core/hide-if-empty';
19
19
  export function DocsLayout({ nav: { transparentMode, ...nav } = {}, sidebar: { tabs: sidebarTabs, enabled: sidebarEnabled = true, ...sidebarProps } = {}, searchToggle = {}, disableThemeSwitch = false, themeSwitch = { enabled: !disableThemeSwitch }, i18n = false, children, ...props }) {
20
20
  const tabs = useMemo(() => getSidebarTabsFromOptions(sidebarTabs, props.tree) ?? [], [sidebarTabs, props.tree]);
@@ -28,15 +28,15 @@ export function DocsLayout({ nav: { transparentMode, ...nav } = {}, sidebar: { t
28
28
  const viewport = (_jsxs(SidebarViewport, { children: [links
29
29
  .filter((v) => v.type !== 'icon')
30
30
  .map((item, i, list) => (_jsx(SidebarLinkItem, { item: item, className: cn(i === list.length - 1 && 'mb-4') }, i))), _jsx(SidebarPageTree, { components: components })] }));
31
- const mobile = (_jsxs(SidebarContentMobile, { ...rest, children: [_jsxs(HideIfEmpty, { as: SidebarHeader, children: [_jsxs("div", { className: "flex text-fd-muted-foreground items-center justify-end empty:hidden", children: [iconLinks.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({
32
- size: 'icon-sm',
33
- color: 'ghost',
34
- className: 'p-2',
35
- }), i === iconLinks.length - 1 && 'me-auto'), "aria-label": item.label, children: item.icon }, i))), i18n ? (_jsxs(LanguageToggle, { children: [_jsx(Languages, { className: "size-4.5" }), _jsx(LanguageToggleText, {})] })) : null, themeSwitch.enabled !== false &&
36
- (themeSwitch.component ?? (_jsx(ThemeToggle, { className: "p-0 ms-1.5", mode: themeSwitch.mode }))), _jsx(SidebarTrigger, { className: cn(buttonVariants({
31
+ const mobile = (_jsxs(SidebarContentMobile, { ...rest, children: [_jsxs(SidebarHeader, { children: [_jsxs("div", { className: "flex text-fd-muted-foreground items-center gap-1.5", children: [_jsx("div", { className: "flex flex-1", children: iconLinks.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({
32
+ size: 'icon-sm',
33
+ color: 'ghost',
34
+ className: 'p-2',
35
+ })), "aria-label": item.label, children: item.icon }, i))) }), i18n ? (_jsxs(LanguageToggle, { children: [_jsx(Languages, { className: "size-4.5" }), _jsx(LanguageToggleText, {})] })) : null, themeSwitch.enabled !== false &&
36
+ (themeSwitch.component ?? (_jsx(ThemeToggle, { className: "p-0", mode: themeSwitch.mode }))), _jsx(SidebarTrigger, { className: cn(buttonVariants({
37
37
  color: 'ghost',
38
38
  size: 'icon-sm',
39
- className: 'p-2 ms-1.5',
39
+ className: 'p-2',
40
40
  })), children: _jsx(SidebarIcon, {}) })] }), tabs.length > 0 && _jsx(RootToggle, { options: tabs }), banner] }), viewport, _jsx(SidebarFooter, { className: "empty:hidden", children: footer })] }));
41
41
  const content = (_jsxs(SidebarContent, { ...rest, children: [_jsxs(SidebarHeader, { children: [_jsxs("div", { className: "flex", children: [_jsx(Link, { href: nav.url ?? '/', className: "inline-flex text-[15px] items-center gap-2.5 font-medium me-auto", children: nav.title }), nav.children, collapsible && (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
42
42
  color: 'ghost',
@@ -44,7 +44,7 @@ export function DocsLayout({ nav: { transparentMode, ...nav } = {}, sidebar: { t
44
44
  className: 'mb-auto text-fd-muted-foreground',
45
45
  })), children: _jsx(SidebarIcon, {}) }))] }), searchToggle.enabled !== false &&
46
46
  (searchToggle.components?.lg ?? (_jsx(LargeSearchToggle, { hideIfDisabled: true }))), tabs.length > 0 && _jsx(RootToggle, { options: tabs }), banner] }), viewport, _jsxs(HideIfEmpty, { as: SidebarFooter, children: [_jsxs("div", { className: "flex text-fd-muted-foreground items-center justify-end empty:hidden", children: [iconLinks.map((item, i) => (_jsx(BaseLinkItem, { item: item, className: cn(buttonVariants({ size: 'icon-sm', color: 'ghost' }), i === iconLinks.length - 1 && 'me-auto'), "aria-label": item.label, children: item.icon }, i))), i18n ? (_jsx(LanguageToggle, { children: _jsx(Languages, { className: "size-4.5" }) })) : null, themeSwitch.enabled !== false &&
47
- (themeSwitch.component ?? (_jsx(ThemeToggle, { className: "p-0 ms-1.5", mode: themeSwitch.mode })))] }), footer] })] }));
47
+ (themeSwitch.component ?? (_jsx(ThemeToggle, { className: "p-0", mode: themeSwitch.mode })))] }), footer] })] }));
48
48
  return (_jsx(Sidebar, { defaultOpenLevel: defaultOpenLevel, prefetch: prefetch, Mobile: mobile, Content: _jsxs(_Fragment, { children: [collapsible && _jsx(CollapsibleControl, {}), content] }) }));
49
49
  }
50
50
  return (_jsx(TreeContextProvider, { tree: props.tree, children: _jsxs(NavProvider, { transparentMode: transparentMode, children: [nav.enabled !== false &&
@@ -1,5 +1,5 @@
1
1
  import { type HTMLAttributes } from 'react';
2
- import { type BaseLayoutProps, type NavOptions } from './shared.js';
2
+ import { type BaseLayoutProps, type NavOptions } from '../../layouts/shared.js';
3
3
  export interface HomeLayoutProps extends BaseLayoutProps {
4
4
  nav?: Partial<NavOptions & {
5
5
  /**
@@ -10,4 +10,4 @@ export interface HomeLayoutProps extends BaseLayoutProps {
10
10
  }
11
11
  export declare function HomeLayout(props: HomeLayoutProps & HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
12
12
  export declare function Header({ nav, i18n, links, githubUrl, themeSwitch, searchToggle, }: HomeLayoutProps): import("react/jsx-runtime").JSX.Element;
13
- //# sourceMappingURL=home.d.ts.map
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/home/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AAE/D,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AA8B1B,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,WAAgB,EAChB,YAAiB,GAClB,EAAE,eAAe,2CAiGjB"}
@@ -1,16 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Fragment, useMemo } from 'react';
3
- import { cn } from '../utils/cn.js';
4
- import { getLinks } from './shared.js';
5
- import { NavProvider } from '../contexts/layout.js';
6
- import { Navbar, NavbarLink, NavbarMenu, NavbarMenuContent, NavbarMenuLink, NavbarMenuTrigger, } from '../layouts/home/navbar.js';
7
- import { LargeSearchToggle, SearchToggle, } from '../components/layout/search-toggle.js';
8
- import { ThemeToggle } from '../components/layout/theme-toggle.js';
9
- import { LanguageToggle, LanguageToggleText, } from '../components/layout/language-toggle.js';
10
- import { ChevronDown, Languages } from '../icons.js';
3
+ import { cn } from '../../utils/cn.js';
4
+ import { getLinks, } from '../../layouts/shared.js';
5
+ import { NavProvider } from '../../contexts/layout.js';
6
+ import { Navbar, NavbarLink, NavbarMenu, NavbarMenuContent, NavbarMenuLink, NavbarMenuTrigger, } from '../../layouts/home/navbar.js';
7
+ import { LargeSearchToggle, SearchToggle, } from '../../components/layout/search-toggle.js';
8
+ import { ThemeToggle } from '../../components/layout/theme-toggle.js';
9
+ import { LanguageToggle, LanguageToggleText, } from '../../components/layout/language-toggle.js';
10
+ import { ChevronDown, Languages } from '../../icons.js';
11
11
  import Link from 'fumadocs-core/link';
12
- import { Menu, MenuContent, MenuLinkItem, MenuTrigger, } from '../layouts/home/menu.js';
13
- import { buttonVariants } from '../components/ui/button.js';
12
+ import { Menu, MenuContent, MenuLinkItem, MenuTrigger, } from '../../layouts/home/menu.js';
13
+ import { buttonVariants } from '../../components/ui/button.js';
14
14
  export function HomeLayout(props) {
15
15
  const { nav = {}, links, githubUrl, i18n, disableThemeSwitch = false, themeSwitch = { enabled: !disableThemeSwitch }, searchToggle, ...rest } = props;
16
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: [nav.enabled !== false &&
@@ -22,11 +22,13 @@ export function Header({ nav = {}, i18n = false, links, githubUrl, themeSwitch =
22
22
  const menuItems = finalLinks.filter((item) => ['menu', 'all'].includes(item.on ?? 'all'));
23
23
  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
24
24
  .filter((item) => !isSecondary(item))
25
- .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: [searchToggle.enabled !== false && (_jsxs(_Fragment, { children: [searchToggle.components?.sm ?? (_jsx(SearchToggle, { className: "p-2 lg:hidden", hideIfDisabled: true })), searchToggle.components?.lg ?? (_jsx(LargeSearchToggle, { className: "w-full rounded-full ps-2.5 max-w-[240px] max-lg:hidden", hideIfDisabled: true }))] })), themeSwitch.enabled !== false &&
26
- (themeSwitch.component ?? (_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: "max-lg:hidden" }, i))), _jsxs(Menu, { className: "lg:hidden", children: [_jsx(MenuTrigger, { "aria-label": "Toggle Menu", className: cn(buttonVariants({
25
+ .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 max-lg:hidden", children: [searchToggle.enabled !== false &&
26
+ (searchToggle.components?.lg ?? (_jsx(LargeSearchToggle, { className: "w-full rounded-full ps-2.5 max-w-[240px]", hideIfDisabled: true }))), themeSwitch.enabled !== false &&
27
+ (themeSwitch.component ?? _jsx(ThemeToggle, { mode: themeSwitch?.mode })), i18n ? (_jsx(LanguageToggle, { children: _jsx(Languages, { className: "size-5" }) })) : null, _jsx("div", { className: "flex flex-row items-center empty:hidden", children: navItems.filter(isSecondary).map((item, i) => (_jsx(NavbarLinkItem, { item: item }, i))) })] }), _jsxs("ul", { className: "flex flex-row items-center ms-auto -me-1.5 lg:hidden", children: [searchToggle.enabled !== false &&
28
+ (searchToggle.components?.sm ?? (_jsx(SearchToggle, { className: "p-2", hideIfDisabled: true }))), _jsxs(Menu, { children: [_jsx(MenuTrigger, { "aria-label": "Toggle Menu", className: cn(buttonVariants({
27
29
  size: 'icon',
28
30
  color: 'ghost',
29
- className: 'group -me-1.5',
31
+ className: 'group',
30
32
  })), enableHover: nav.enableHoverToOpen, children: _jsx(ChevronDown, { className: "!size-5.5 transition-transform duration-300 group-data-[state=open]:rotate-180" }) }), _jsxs(MenuContent, { className: "sm:flex-row sm:items-center sm:justify-end", children: [menuItems
31
33
  .filter((item) => !isSecondary(item))
32
34
  .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, themeSwitch.enabled !== false &&
@@ -47,5 +49,7 @@ function NavbarLinkItem({ item, ...props }) {
47
49
  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 }));
48
50
  }
49
51
  function isSecondary(item) {
50
- return (('secondary' in item && item.secondary === true) || item.type === 'icon');
52
+ if ('secondary' in item && item.secondary != null)
53
+ return item.secondary;
54
+ return item.type === 'icon';
51
55
  }
@@ -1,5 +1,5 @@
1
1
  import { type ComponentProps } from 'react';
2
- import type { Option } from '../components/layout/root-toggle.js';
2
+ import type { Option } from '../../components/layout/root-toggle.js';
3
3
  export declare function Navbar({ mode, ...props }: ComponentProps<'header'> & {
4
4
  mode: 'top' | 'auto';
5
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -8,4 +8,4 @@ export declare function NavbarSidebarTrigger({ className, ...props }: ComponentP
8
8
  export declare function LayoutTabs({ options, ...props }: ComponentProps<'div'> & {
9
9
  options: Option[];
10
10
  }): import("react/jsx-runtime").JSX.Element;
11
- //# sourceMappingURL=notebook-client.d.ts.map
11
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/layouts/notebook/client.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AAQrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,2CAoBrD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAsBvD;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,QAAQ,CAAC,2CAkB1B;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,2CA+BA"}
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cn } from '../utils/cn.js';
3
+ import { cn } from '../../utils/cn.js';
4
4
  import { useMemo } from 'react';
5
- import { useSidebar } from '../contexts/sidebar.js';
6
- import { useNav } from '../contexts/layout.js';
7
- import { buttonVariants } from '../components/ui/button.js';
8
- import { Sidebar as SidebarIcon } from '../icons.js';
5
+ import { useSidebar } from '../../contexts/sidebar.js';
6
+ import { useNav } from '../../contexts/layout.js';
7
+ import { buttonVariants } from '../../components/ui/button.js';
8
+ import { Sidebar as SidebarIcon } from '../../icons.js';
9
9
  import Link from 'fumadocs-core/link';
10
10
  import { usePathname } from 'fumadocs-core/framework';
11
- import { isActive } from '../utils/is-active.js';
11
+ import { isActive } from '../../utils/is-active.js';
12
12
  export function Navbar({ mode, ...props }) {
13
13
  const { open, collapsed } = useSidebar();
14
14
  const { isTransparent } = useNav();
@@ -1,8 +1,8 @@
1
1
  import { type ComponentProps, type HTMLAttributes } from 'react';
2
- import { type BaseLayoutProps } from '../layouts/shared.js';
3
- import { type SidebarOptions } from '../layouts/docs/shared.js';
2
+ import { type BaseLayoutProps } from '../../layouts/shared.js';
3
+ import { type SidebarOptions } from '../../layouts/docs/shared.js';
4
4
  import type { PageTree } from 'fumadocs-core/server';
5
- import { Navbar, NavbarSidebarTrigger } from './notebook-client.js';
5
+ import { Navbar, NavbarSidebarTrigger } from '../../layouts/notebook/client.js';
6
6
  export interface DocsLayoutProps extends BaseLayoutProps {
7
7
  tree: PageTree.Root;
8
8
  tabMode?: 'sidebar' | 'navbar';
@@ -14,4 +14,4 @@ export interface DocsLayoutProps extends BaseLayoutProps {
14
14
  }
15
15
  export declare function DocsLayout(props: DocsLayoutProps): import("react/jsx-runtime").JSX.Element;
16
16
  export { Navbar, NavbarSidebarTrigger };
17
- //# sourceMappingURL=notebook.d.ts.map
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/notebook/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,kBAAkB,CAAC;AA6BlE,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAGL,MAAM,EACN,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAUnC,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,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEnD,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAgNhD;AA6LD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,21 +1,21 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Fragment, useMemo, } from 'react';
3
- import { getLinks } from '../layouts/shared.js';
4
- import { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarContentMobile, SidebarFooter, SidebarHeader, SidebarPageTree, SidebarTrigger, SidebarViewport, } 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, Sidebar as SidebarIcon, X, } from '../icons.js';
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, SidebarLinkItem, } from '../layouts/docs/shared.js';
14
- import { LayoutBody, LayoutTabs, Navbar, NavbarSidebarTrigger, } from './notebook-client.js';
15
- import { NavProvider } from '../contexts/layout.js';
16
- import { RootToggle } from '../components/layout/root-toggle.js';
3
+ import { getLinks } from '../../layouts/shared.js';
4
+ import { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarContentMobile, SidebarFooter, SidebarHeader, SidebarPageTree, SidebarTrigger, SidebarViewport, } 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, Sidebar as SidebarIcon, X, } from '../../icons.js';
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, SidebarLinkItem, } from '../../layouts/docs/shared.js';
14
+ import { LayoutBody, LayoutTabs, Navbar, NavbarSidebarTrigger, } from '../../layouts/notebook/client.js';
15
+ import { NavProvider } from '../../contexts/layout.js';
16
+ import { RootToggle } from '../../components/layout/root-toggle.js';
17
17
  import Link from 'fumadocs-core/link';
18
- import { LargeSearchToggle, SearchToggle, } from '../components/layout/search-toggle.js';
18
+ import { LargeSearchToggle, SearchToggle, } from '../../components/layout/search-toggle.js';
19
19
  import { HideIfEmpty } from 'fumadocs-core/hide-if-empty';
20
20
  export function DocsLayout(props) {
21
21
  const { tabMode = 'sidebar', nav: { transparentMode, ...nav } = {}, sidebar: { tabs: tabOptions, ...sidebarProps } = {}, i18n = false, disableThemeSwitch = false, themeSwitch = { enabled: !disableThemeSwitch }, } = props;
@@ -55,26 +55,25 @@ export function DocsLayout(props) {
55
55
  }
56
56
  return (_jsx(TreeContextProvider, { tree: props.tree, children: _jsx(NavProvider, { transparentMode: transparentMode, children: _jsxs(LayoutBody, { ...props.containerProps, className: cn(variables, props.containerProps?.className), children: [sidebar(), _jsx(DocsNavbar, { ...props, links: links, tabs: tabMode == 'navbar' ? tabs : [] }), props.children] }) }) }));
57
57
  }
58
- function DocsNavbar({ links, tabs, searchToggle = {}, themeSwitch = {}, ...props }) {
59
- const navMode = props.nav?.mode ?? 'auto';
58
+ function DocsNavbar({ links, tabs, searchToggle = {}, themeSwitch = {}, nav = {}, ...props }) {
59
+ const navMode = nav.mode ?? 'auto';
60
60
  const sidebarCollapsible = props.sidebar?.collapsible ?? true;
61
- const nav = (_jsx(Link, { href: props.nav?.url ?? '/', className: cn('inline-flex items-center gap-2.5 font-semibold empty:hidden', navMode === 'auto' && 'md:hidden'), children: props.nav?.title }));
62
- return (_jsxs(Navbar, { mode: navMode, children: [_jsxs("div", { className: cn('flex border-b px-4 flex-1', 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({
61
+ return (_jsxs(Navbar, { mode: navMode, children: [_jsxs("div", { className: cn('flex border-b px-2.5 gap-2 flex-1 md:px-4', navMode === 'auto' && 'md:px-6'), children: [_jsxs("div", { className: cn('flex items-center', navMode === 'top' && 'flex-1'), children: [sidebarCollapsible && navMode === 'auto' && (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
63
62
  color: 'ghost',
64
63
  size: 'icon-sm',
65
- }), 'text-fd-muted-foreground -ms-1.5 me-2 data-[collapsed=false]:hidden max-md:hidden'), children: _jsx(SidebarIcon, {}) })) : null, nav] }), searchToggle.enabled !== false &&
66
- (searchToggle.components?.lg ? (_jsx("div", { className: cn('w-full my-auto max-md:hidden', navMode === 'top' ? 'rounded-xl max-w-sm' : 'max-w-[240px]'), children: searchToggle.components?.lg })) : (_jsx(LargeSearchToggle, { hideIfDisabled: true, className: cn('w-full my-auto max-md:hidden', navMode === 'top'
64
+ }), 'text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden'), children: _jsx(SidebarIcon, {}) })), _jsx(Link, { href: nav.url ?? '/', className: cn('inline-flex items-center gap-2.5 font-semibold empty:hidden', navMode === 'auto' && 'md:hidden'), children: nav.title })] }), searchToggle.enabled !== false &&
65
+ (searchToggle.components?.lg ? (_jsx("div", { className: cn('w-full my-auto max-md:hidden', navMode === 'top' ? 'rounded-xl max-w-sm' : 'max-w-[240px]'), children: searchToggle.components.lg })) : (_jsx(LargeSearchToggle, { hideIfDisabled: true, className: cn('w-full my-auto max-md:hidden', navMode === 'top'
67
66
  ? 'rounded-xl max-w-sm ps-2.5'
68
- : '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
67
+ : 'max-w-[240px]') }))), _jsxs("div", { className: "flex flex-1 items-center justify-end md:gap-2", children: [_jsx("div", { className: "flex items-center gap-6 empty:hidden max-lg:hidden", children: links
69
68
  .filter((item) => item.type !== 'icon')
70
- .map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground data-[active=true]:text-fd-primary" }, i))) }), props.nav?.children, searchToggle.enabled !== false &&
71
- (searchToggle.components?.sm ?? (_jsx(SearchToggle, { hideIfDisabled: true, className: "p-2 md:hidden" }))), _jsx(NavbarSidebarTrigger, { className: "p-2 -me-1.5 md:hidden" }), links
69
+ .map((item, i) => (_jsx(NavbarLinkItem, { item: item, className: "text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground data-[active=true]:text-fd-primary" }, i))) }), nav.children, links
72
70
  .filter((item) => item.type === 'icon')
73
- .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))), props.i18n ? (_jsx(LanguageToggle, { className: "max-md:hidden", children: _jsx(Languages, { className: "size-4.5 text-fd-muted-foreground" }) })) : null, themeSwitch.enabled !== false &&
74
- (themeSwitch.component ?? (_jsx(ThemeToggle, { className: "ms-2 max-md:hidden", mode: themeSwitch.mode ?? 'light-dark-system' }))), sidebarCollapsible && navMode === 'top' ? (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
75
- color: 'secondary',
76
- size: 'icon-sm',
77
- }), 'ms-2 text-fd-muted-foreground rounded-full max-md:hidden'), children: _jsx(SidebarIcon, {}) })) : null] })] }), tabs.length > 0 && (_jsx(LayoutTabs, { className: cn('border-b h-10 max-lg:hidden', navMode === 'top' ? 'px-4' : 'px-6'), options: tabs }))] }));
71
+ .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))), _jsxs("div", { className: "flex items-center md:hidden", children: [searchToggle.enabled !== false &&
72
+ (searchToggle.components?.sm ?? (_jsx(SearchToggle, { hideIfDisabled: true, className: "p-2" }))), _jsx(NavbarSidebarTrigger, { className: "p-2" })] }), _jsxs("div", { className: "flex items-center gap-2 max-md:hidden", children: [props.i18n ? (_jsx(LanguageToggle, { children: _jsx(Languages, { className: "size-4.5 text-fd-muted-foreground" }) })) : null, themeSwitch.enabled !== false &&
73
+ (themeSwitch.component ?? (_jsx(ThemeToggle, { mode: themeSwitch.mode ?? 'light-dark-system' }))), sidebarCollapsible && navMode === 'top' && (_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
74
+ color: 'secondary',
75
+ size: 'icon-sm',
76
+ }), 'text-fd-muted-foreground rounded-full'), children: _jsx(SidebarIcon, {}) }))] })] })] }), tabs.length > 0 && (_jsx(LayoutTabs, { className: cn('border-b h-10 max-lg:hidden', navMode === 'top' ? 'px-4' : 'px-6'), options: tabs }))] }));
78
77
  }
79
78
  function NavbarLinkItem({ item, ...props }) {
80
79
  if (item.type === 'menu') {
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
@@ -222,6 +222,9 @@
222
222
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
223
223
  padding-block: 0;
224
224
  }
225
+ ::-webkit-calendar-picker-indicator {
226
+ line-height: 1;
227
+ }
225
228
  :-moz-ui-invalid {
226
229
  box-shadow: none;
227
230
  }
@@ -455,9 +458,6 @@
455
458
  .-ms-1\.5 {
456
459
  margin-inline-start: calc(var(--spacing) * -1.5);
457
460
  }
458
- .ms-1\.5 {
459
- margin-inline-start: calc(var(--spacing) * 1.5);
460
- }
461
461
  .ms-2 {
462
462
  margin-inline-start: calc(var(--spacing) * 2);
463
463
  }
@@ -1427,6 +1427,9 @@
1427
1427
  .px-2 {
1428
1428
  padding-inline: calc(var(--spacing) * 2);
1429
1429
  }
1430
+ .px-2\.5 {
1431
+ padding-inline: calc(var(--spacing) * 2.5);
1432
+ }
1430
1433
  .px-3 {
1431
1434
  padding-inline: calc(var(--spacing) * 3);
1432
1435
  }
@@ -2351,6 +2354,16 @@
2351
2354
  grid-template-columns: repeat(2, minmax(0, 1fr));
2352
2355
  }
2353
2356
  }
2357
+ .md\:gap-2 {
2358
+ @media (width >= 48rem) {
2359
+ gap: calc(var(--spacing) * 2);
2360
+ }
2361
+ }
2362
+ .md\:px-4 {
2363
+ @media (width >= 48rem) {
2364
+ padding-inline: calc(var(--spacing) * 4);
2365
+ }
2366
+ }
2354
2367
  .md\:px-6 {
2355
2368
  @media (width >= 48rem) {
2356
2369
  padding-inline: calc(var(--spacing) * 6);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fumadocs-ui",
3
- "version": "15.6.10",
3
+ "version": "15.6.12",
4
4
  "description": "The framework for building a documentation website in Next.js",
5
5
  "keywords": [
6
6
  "NextJs",
@@ -24,9 +24,41 @@
24
24
  "import": "./dist/i18n.js",
25
25
  "types": "./dist/i18n.d.ts"
26
26
  },
27
- "./layouts/*": {
28
- "import": "./dist/layouts/*.js",
29
- "types": "./dist/layouts/*.d.ts"
27
+ "./layouts/home": {
28
+ "import": "./dist/layouts/home/index.js",
29
+ "types": "./dist/layouts/home/index.d.ts"
30
+ },
31
+ "./layouts/home/*": {
32
+ "import": "./dist/layouts/home/*.js",
33
+ "types": "./dist/layouts/home/*.d.ts"
34
+ },
35
+ "./layouts/docs": {
36
+ "import": "./dist/layouts/docs/index.js",
37
+ "types": "./dist/layouts/docs/index.d.ts"
38
+ },
39
+ "./layouts/docs/page": {
40
+ "import": "./dist/layouts/docs/page.js",
41
+ "types": "./dist/layouts/docs/page.d.ts"
42
+ },
43
+ "./layouts/docs-client": {
44
+ "import": "./dist/layouts/docs/client.js",
45
+ "types": "./dist/layouts/docs/client.d.ts"
46
+ },
47
+ "./layouts/notebook": {
48
+ "import": "./dist/layouts/notebook/index.js",
49
+ "types": "./dist/layouts/notebook/index.d.ts"
50
+ },
51
+ "./layouts/notebook-client": {
52
+ "import": "./dist/layouts/notebook/client.js",
53
+ "types": "./dist/layouts/notebook/client.d.ts"
54
+ },
55
+ "./layouts/links": {
56
+ "import": "./dist/layouts/links.js",
57
+ "types": "./dist/layouts/links.d.ts"
58
+ },
59
+ "./layouts/shared": {
60
+ "import": "./dist/layouts/shared.js",
61
+ "types": "./dist/layouts/shared.d.ts"
30
62
  },
31
63
  "./page": {
32
64
  "node": "./dist/page.server.js",
@@ -72,16 +104,16 @@
72
104
  "css/*"
73
105
  ],
74
106
  "dependencies": {
75
- "@radix-ui/react-accordion": "^1.2.11",
76
- "@radix-ui/react-collapsible": "^1.1.11",
77
- "@radix-ui/react-dialog": "^1.1.14",
107
+ "@radix-ui/react-accordion": "^1.2.12",
108
+ "@radix-ui/react-collapsible": "^1.1.12",
109
+ "@radix-ui/react-dialog": "^1.1.15",
78
110
  "@radix-ui/react-direction": "^1.1.1",
79
- "@radix-ui/react-navigation-menu": "^1.2.13",
80
- "@radix-ui/react-popover": "^1.1.14",
81
- "@radix-ui/react-presence": "^1.1.4",
82
- "@radix-ui/react-scroll-area": "^1.2.9",
111
+ "@radix-ui/react-navigation-menu": "^1.2.14",
112
+ "@radix-ui/react-popover": "^1.1.15",
113
+ "@radix-ui/react-presence": "^1.1.5",
114
+ "@radix-ui/react-scroll-area": "^1.2.10",
83
115
  "@radix-ui/react-slot": "^1.2.3",
84
- "@radix-ui/react-tabs": "^1.1.12",
116
+ "@radix-ui/react-tabs": "^1.1.13",
85
117
  "class-variance-authority": "^0.7.1",
86
118
  "lodash.merge": "^4.6.2",
87
119
  "next-themes": "^0.4.6",
@@ -89,20 +121,20 @@
89
121
  "react-medium-image-zoom": "^5.3.0",
90
122
  "scroll-into-view-if-needed": "^3.1.0",
91
123
  "tailwind-merge": "^3.3.1",
92
- "fumadocs-core": "15.6.10"
124
+ "fumadocs-core": "15.6.12"
93
125
  },
94
126
  "devDependencies": {
95
127
  "@next/eslint-plugin-next": "^15.4.6",
96
- "@tailwindcss/cli": "^4.1.11",
128
+ "@tailwindcss/cli": "^4.1.12",
97
129
  "@types/lodash.merge": "^4.6.9",
98
- "@types/react": "^19.1.9",
130
+ "@types/react": "^19.1.10",
99
131
  "@types/react-dom": "^19.1.7",
100
132
  "next": "15.4.6",
101
- "tailwindcss": "^4.1.11",
133
+ "tailwindcss": "^4.1.12",
102
134
  "tsc-alias": "^1.8.16",
103
- "@fumadocs/cli": "0.2.1",
135
+ "@fumadocs/cli": "1.0.0",
104
136
  "eslint-config-custom": "0.0.0",
105
- "fumadocs-core": "15.6.10",
137
+ "fumadocs-core": "15.6.12",
106
138
  "tsconfig": "0.0.0"
107
139
  },
108
140
  "peerDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"docs-client.d.ts","sourceRoot":"","sources":["../../src/layouts/docs-client.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAQ5C,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,2CAgBrD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAsBvD;AAED,wBAAgB,kBAAkB,4CA2BjC"}
@@ -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,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAIf,OAAO,EAQL,cAAc,EAEf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,UAAU,CAAC;AAK1D,OAAO,EAAE,kBAAkB,EAAc,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,cAAc,GACtB,cAAc,CAAC,OAAO,CAAC,GAAG;QACxB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IAEJ;;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,OAAO,EAAE,EACP,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAqB,EAC9B,GAAG,YAAY,EACX,EACN,YAAiB,EACjB,kBAA0B,EAC1B,WAA8C,EAC9C,IAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CA6NjB;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,CAAC"}
@@ -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;AAE/D,OAAO,EAAE,KAAK,eAAe,EAAY,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AA8B3E,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,WAAgB,EAChB,YAAiB,GAClB,EAAE,eAAe,2CAmGjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"notebook-client.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook-client.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AAQrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,2CAoBrD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAsBvD;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,QAAQ,CAAC,2CAkB1B;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,2CA+BA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/layouts/notebook.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,kBAAkB,CAAC;AA6BlE,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAGL,MAAM,EACN,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAU3B,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,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEnD,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAgNhD;AAiMD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC"}