@fumadocs/base-ui 16.4.4 → 16.4.5

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.
Files changed (90) hide show
  1. package/css/ruby.css +1 -0
  2. package/dist/components/accordion.d.ts +3 -3
  3. package/dist/components/accordion.d.ts.map +1 -1
  4. package/dist/components/banner.d.ts +2 -2
  5. package/dist/components/banner.d.ts.map +1 -1
  6. package/dist/components/callout.d.ts +5 -5
  7. package/dist/components/callout.d.ts.map +1 -1
  8. package/dist/components/card.d.ts +3 -3
  9. package/dist/components/codeblock.d.ts +7 -7
  10. package/dist/components/dialog/search-algolia.d.ts +2 -2
  11. package/dist/components/dialog/search-algolia.d.ts.map +1 -1
  12. package/dist/components/dialog/search-default.d.ts +2 -2
  13. package/dist/components/dialog/search-default.d.ts.map +1 -1
  14. package/dist/components/dialog/search-orama.d.ts +2 -2
  15. package/dist/components/dialog/search-orama.d.ts.map +1 -1
  16. package/dist/components/dialog/search.d.ts +13 -13
  17. package/dist/components/dynamic-codeblock.d.ts +2 -2
  18. package/dist/components/github-info.d.ts +2 -2
  19. package/dist/components/image-zoom.d.ts +2 -2
  20. package/dist/components/inline-toc.d.ts +2 -2
  21. package/dist/components/sidebar/base.d.ts +15 -15
  22. package/dist/components/sidebar/base.d.ts.map +1 -1
  23. package/dist/components/sidebar/link-item.d.ts +2 -2
  24. package/dist/components/sidebar/link-item.d.ts.map +1 -1
  25. package/dist/components/sidebar/page-tree.d.ts +2 -2
  26. package/dist/components/sidebar/page-tree.d.ts.map +1 -1
  27. package/dist/components/sidebar/tabs/dropdown.d.ts +2 -2
  28. package/dist/components/steps.d.ts +3 -3
  29. package/dist/components/tabs.d.ts +4 -4
  30. package/dist/components/type-table.d.ts +2 -2
  31. package/dist/components/ui/accordion.d.ts +6 -6
  32. package/dist/components/ui/accordion.d.ts.map +1 -1
  33. package/dist/components/ui/collapsible.d.ts +6 -6
  34. package/dist/components/ui/collapsible.d.ts.map +1 -1
  35. package/dist/components/ui/navigation-menu.d.ts +7 -7
  36. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  37. package/dist/components/ui/popover.d.ts +3 -3
  38. package/dist/components/ui/scroll-area.d.ts +4 -4
  39. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  40. package/dist/components/ui/tabs.d.ts +7 -7
  41. package/dist/components/ui/tabs.d.ts.map +1 -1
  42. package/dist/layouts/docs/client.d.ts +7 -7
  43. package/dist/layouts/docs/client.d.ts.map +1 -1
  44. package/dist/layouts/docs/index.d.ts +2 -2
  45. package/dist/layouts/docs/index.d.ts.map +1 -1
  46. package/dist/layouts/docs/page/client.d.ts +9 -7
  47. package/dist/layouts/docs/page/client.d.ts.map +1 -1
  48. package/dist/layouts/docs/page/client.js +8 -8
  49. package/dist/layouts/docs/page/client.js.map +1 -1
  50. package/dist/layouts/docs/page/index.d.ts +13 -7
  51. package/dist/layouts/docs/page/index.d.ts.map +1 -1
  52. package/dist/layouts/docs/page/index.js +2 -2
  53. package/dist/layouts/docs/page/index.js.map +1 -1
  54. package/dist/layouts/docs/sidebar.d.ts +17 -17
  55. package/dist/layouts/docs/sidebar.d.ts.map +1 -1
  56. package/dist/layouts/home/client.d.ts +2 -2
  57. package/dist/layouts/home/client.d.ts.map +1 -1
  58. package/dist/layouts/home/index.d.ts +2 -2
  59. package/dist/layouts/home/index.d.ts.map +1 -1
  60. package/dist/layouts/home/navbar.d.ts +7 -7
  61. package/dist/layouts/home/navbar.d.ts.map +1 -1
  62. package/dist/layouts/notebook/client.d.ts +8 -8
  63. package/dist/layouts/notebook/client.d.ts.map +1 -1
  64. package/dist/layouts/notebook/index.d.ts +2 -2
  65. package/dist/layouts/notebook/index.d.ts.map +1 -1
  66. package/dist/layouts/notebook/page/client.d.ts +9 -7
  67. package/dist/layouts/notebook/page/client.d.ts.map +1 -1
  68. package/dist/layouts/notebook/page/client.js +8 -8
  69. package/dist/layouts/notebook/page/client.js.map +1 -1
  70. package/dist/layouts/notebook/page/index.d.ts +13 -7
  71. package/dist/layouts/notebook/page/index.d.ts.map +1 -1
  72. package/dist/layouts/notebook/page/index.js +2 -2
  73. package/dist/layouts/notebook/page/index.js.map +1 -1
  74. package/dist/layouts/notebook/sidebar.d.ts +12 -12
  75. package/dist/layouts/notebook/sidebar.d.ts.map +1 -1
  76. package/dist/layouts/shared/index.d.ts +3 -3
  77. package/dist/layouts/shared/index.d.ts.map +1 -1
  78. package/dist/layouts/shared/language-toggle.d.ts +2 -2
  79. package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
  80. package/dist/layouts/shared/search-toggle.d.ts +3 -3
  81. package/dist/layouts/shared/theme-toggle.d.ts +2 -2
  82. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -1
  83. package/dist/page.d.ts +3 -3
  84. package/dist/page.d.ts.map +1 -1
  85. package/dist/provider/base.d.ts +2 -2
  86. package/dist/provider/next.d.ts +2 -2
  87. package/dist/provider/react-router.d.ts +2 -2
  88. package/dist/provider/tanstack.d.ts +2 -2
  89. package/dist/provider/waku.d.ts +2 -2
  90. package/package.json +3 -3
@@ -1,63 +1,63 @@
1
1
  import { SidebarCollapseTrigger as SidebarCollapseTrigger$1, SidebarDrawerContent, SidebarFolder as SidebarFolder$1, SidebarFolderContent as SidebarFolderContent$1, SidebarFolderLink as SidebarFolderLink$1, SidebarFolderTrigger as SidebarFolderTrigger$1, SidebarItem as SidebarItem$1, SidebarProvider, SidebarTrigger as SidebarTrigger$1, SidebarViewport as SidebarViewport$1 } from "../../components/sidebar/base.js";
2
2
  import { SidebarPageTreeComponents } from "../../components/sidebar/page-tree.js";
3
- import * as react_jsx_runtime77 from "react/jsx-runtime";
4
- import * as react9 from "react";
3
+ import * as react_jsx_runtime105 from "react/jsx-runtime";
4
+ import * as react19 from "react";
5
5
  import { ComponentProps } from "react";
6
6
  import * as _fumadocs_ui_link_item0 from "@fumadocs/ui/link-item";
7
7
 
8
8
  //#region src/layouts/docs/sidebar.d.ts
9
- declare function Sidebar(props: ComponentProps<typeof SidebarProvider>): react_jsx_runtime77.JSX.Element;
10
- declare function SidebarFolder(props: ComponentProps<typeof SidebarFolder$1>): react_jsx_runtime77.JSX.Element;
11
- declare function SidebarCollapseTrigger(props: ComponentProps<typeof SidebarCollapseTrigger$1>): react_jsx_runtime77.JSX.Element;
12
- declare function SidebarViewport(props: ComponentProps<typeof SidebarViewport$1>): react_jsx_runtime77.JSX.Element;
13
- declare function SidebarTrigger(props: ComponentProps<typeof SidebarTrigger$1>): react_jsx_runtime77.JSX.Element;
9
+ declare function Sidebar(props: ComponentProps<typeof SidebarProvider>): react_jsx_runtime105.JSX.Element;
10
+ declare function SidebarFolder(props: ComponentProps<typeof SidebarFolder$1>): react_jsx_runtime105.JSX.Element;
11
+ declare function SidebarCollapseTrigger(props: ComponentProps<typeof SidebarCollapseTrigger$1>): react_jsx_runtime105.JSX.Element;
12
+ declare function SidebarViewport(props: ComponentProps<typeof SidebarViewport$1>): react_jsx_runtime105.JSX.Element;
13
+ declare function SidebarTrigger(props: ComponentProps<typeof SidebarTrigger$1>): react_jsx_runtime105.JSX.Element;
14
14
  declare function SidebarContent({
15
15
  ref: refProp,
16
16
  className,
17
17
  children,
18
18
  ...props
19
- }: ComponentProps<'aside'>): react_jsx_runtime77.JSX.Element;
19
+ }: ComponentProps<'aside'>): react_jsx_runtime105.JSX.Element;
20
20
  declare function SidebarDrawer({
21
21
  children,
22
22
  className,
23
23
  ...props
24
- }: ComponentProps<typeof SidebarDrawerContent>): react_jsx_runtime77.JSX.Element;
24
+ }: ComponentProps<typeof SidebarDrawerContent>): react_jsx_runtime105.JSX.Element;
25
25
  declare function SidebarSeparator({
26
26
  className,
27
27
  style,
28
28
  children,
29
29
  ...props
30
- }: ComponentProps<'p'>): react_jsx_runtime77.JSX.Element;
30
+ }: ComponentProps<'p'>): react_jsx_runtime105.JSX.Element;
31
31
  declare function SidebarItem({
32
32
  className,
33
33
  style,
34
34
  children,
35
35
  ...props
36
- }: ComponentProps<typeof SidebarItem$1>): react_jsx_runtime77.JSX.Element;
36
+ }: ComponentProps<typeof SidebarItem$1>): react_jsx_runtime105.JSX.Element;
37
37
  declare function SidebarFolderTrigger({
38
38
  className,
39
39
  style,
40
40
  ...props
41
- }: ComponentProps<typeof SidebarFolderTrigger$1>): react_jsx_runtime77.JSX.Element;
41
+ }: ComponentProps<typeof SidebarFolderTrigger$1>): react_jsx_runtime105.JSX.Element;
42
42
  declare function SidebarFolderLink({
43
43
  className,
44
44
  style,
45
45
  ...props
46
- }: ComponentProps<typeof SidebarFolderLink$1>): react_jsx_runtime77.JSX.Element;
46
+ }: ComponentProps<typeof SidebarFolderLink$1>): react_jsx_runtime105.JSX.Element;
47
47
  declare function SidebarFolderContent({
48
48
  className,
49
49
  children,
50
50
  ...props
51
- }: ComponentProps<typeof SidebarFolderContent$1>): react_jsx_runtime77.JSX.Element;
52
- declare const SidebarPageTree: (components: Partial<SidebarPageTreeComponents>) => react_jsx_runtime77.JSX.Element;
51
+ }: ComponentProps<typeof SidebarFolderContent$1>): react_jsx_runtime105.JSX.Element;
52
+ declare const SidebarPageTree: (components: Partial<SidebarPageTreeComponents>) => react_jsx_runtime105.JSX.Element;
53
53
  declare const SidebarLinkItem: ({
54
54
  item,
55
55
  ...props
56
- }: react9.HTMLAttributes<HTMLElement> & {
56
+ }: react19.HTMLAttributes<HTMLElement> & {
57
57
  item: Exclude<_fumadocs_ui_link_item0.LinkItemType, {
58
58
  type: "icon";
59
59
  }>;
60
- }) => react_jsx_runtime77.JSX.Element;
60
+ }) => react_jsx_runtime105.JSX.Element;
61
61
  //#endregion
62
62
  export { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarDrawer, SidebarFolder, SidebarFolderContent, SidebarFolderLink, SidebarFolderTrigger, SidebarItem, SidebarLinkItem, SidebarPageTree, SidebarSeparator, SidebarTrigger, SidebarViewport };
63
63
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../../src/layouts/docs/sidebar.tsx"],"sourcesContent":[],"mappings":";;;;;;;;iBAgCgB,OAAA,QAAe,sBAAsB,mBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAI1D,aAAA,QAAqB,sBAAsB,mBAAmB,mBAAA,CAAA,GAAA,CAAA;iBAI9D,sBAAA,QAA8B,sBAAsB,4BAA4B,mBAAA,CAAA,GAAA,CAAA;iBAIhF,eAAA,QAAuB,sBAAsB,qBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAIlE,cAAA,QAAsB,sBAAsB,oBAAoB,mBAAA,CAAA,GAAA,CAAA;iBAIhE,cAAA;OACT;;;;GAIJ,0BAAuB,mBAAA,CAAA,GAAA,CAAA;AAzBV,iBAuFA,aAAA,CAvFO;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2FpB,cA3FoB,CAAA,OA2FE,oBA3FF,CAAA,CAAA,EA2F4B,mBAAA,CAAA,GAAA,CAAA,OA3F5B;AAA8B,iBA4GrC,gBAAA,CA5GqC;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA4GsB,cA5GtB,CAAA,GAAA,CAAA,CAAA,EA4GyC,mBAAA,CAAA,GAAA,CAAA,OA5GzC;AAAtB,iBA6Hf,WAAA,CA7He;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkI5B,cAlI4B,CAAA,OAkIN,aAlIM,CAAA,CAAA,EAkIW,mBAAA,CAAA,GAAA,CAAA,OAlIX;AAA2C,iBAmJ1D,oBAAA,CAnJ0D;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAuJvE,cAvJuE,CAAA,OAuJjD,sBAvJiD,CAAA,CAAA,EAuJvB,mBAAA,CAAA,GAAA,CAAA,OAvJuB;AAAA,iBA8K1D,iBAAA,CA9K0D;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAkLvE,cAlLuE,CAAA,OAkLjD,mBAlLiD,CAAA,CAAA,EAkL1B,mBAAA,CAAA,GAAA,CAAA,OAlL0B;AAI1D,iBA+LA,oBAAA,CA/La;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAmM1B,cAnM0B,CAAA,OAmMJ,sBAnMI,CAAA,CAAA,EAmMsB,mBAAA,CAAA,GAAA,CAAA,OAnMtB;AAA8B,cAuN9C,eAvN8C,EAAA,CAAA,UAAA,EAuN/B,OAvN+B,CA8NzD,yBAAA,CA9NyD,EAAA,GAuN/B,mBAAA,CAAA,GAAA,CAAA,OAvN+B;AAAtB,cAgOxB,eAhOwB,EAAA,CAAA;EAAA,IAAA;EAAA,GAAA;CAAA,EAgOT,MAAA,CAAA,cAhOS,CAgOT,WAhOS,CAAA,GAAA;EAAyC,IAAA,SAAA,CAgOlD,uBAAA,CAAA,YAAA,EAhOkD;IAAA,IAAA,EAAA,MAAA;EAI9D,CAAA,CAAA;CAAoD,EAAA,kCAAA"}
1
+ {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../../src/layouts/docs/sidebar.tsx"],"sourcesContent":[],"mappings":";;;;;;;;iBAgCgB,OAAA,QAAe,sBAAsB,mBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAI1D,aAAA,QAAqB,sBAAsB,mBAAmB,oBAAA,CAAA,GAAA,CAAA;iBAI9D,sBAAA,QAA8B,sBAAsB,4BAA4B,oBAAA,CAAA,GAAA,CAAA;iBAIhF,eAAA,QAAuB,sBAAsB,qBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAIlE,cAAA,QAAsB,sBAAsB,oBAAoB,oBAAA,CAAA,GAAA,CAAA;iBAIhE,cAAA;OACT;;;;GAIJ,0BAAuB,oBAAA,CAAA,GAAA,CAAA;AAzBV,iBAuFA,aAAA,CAvFO;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2FpB,cA3FoB,CAAA,OA2FE,oBA3FF,CAAA,CAAA,EA2F4B,oBAAA,CAAA,GAAA,CAAA,OA3F5B;AAA8B,iBA4GrC,gBAAA,CA5GqC;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA4GsB,cA5GtB,CAAA,GAAA,CAAA,CAAA,EA4GyC,oBAAA,CAAA,GAAA,CAAA,OA5GzC;AAAtB,iBA6Hf,WAAA,CA7He;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkI5B,cAlI4B,CAAA,OAkIN,aAlIM,CAAA,CAAA,EAkIW,oBAAA,CAAA,GAAA,CAAA,OAlIX;AAA2C,iBAmJ1D,oBAAA,CAnJ0D;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAuJvE,cAvJuE,CAAA,OAuJjD,sBAvJiD,CAAA,CAAA,EAuJvB,oBAAA,CAAA,GAAA,CAAA,OAvJuB;AAAA,iBA8K1D,iBAAA,CA9K0D;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAkLvE,cAlLuE,CAAA,OAkLjD,mBAlLiD,CAAA,CAAA,EAkL1B,oBAAA,CAAA,GAAA,CAAA,OAlL0B;AAI1D,iBA+LA,oBAAA,CA/La;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAmM1B,cAnM0B,CAAA,OAmMJ,sBAnMI,CAAA,CAAA,EAmMsB,oBAAA,CAAA,GAAA,CAAA,OAnMtB;AAA8B,cAuN9C,eAvN8C,EAAA,CAAA,UAAA,EAuN/B,OAvN+B,CA8NzD,yBAAA,CA9NyD,EAAA,GAuN/B,oBAAA,CAAA,GAAA,CAAA,OAvN+B;AAAtB,cAgOxB,eAhOwB,EAAA,CAAA;EAAA,IAAA;EAAA,GAAA;CAAA,EAgOT,OAAA,CAAA,cAhOS,CAgOT,WAhOS,CAAA,GAAA;EAAyC,IAAA,SAAA,CAgOlD,uBAAA,CAAA,YAAA,EAhOkD;IAAA,IAAA,EAAA,MAAA;EAI9D,CAAA,CAAA;CAAoD,EAAA,mCAAA"}
@@ -1,5 +1,5 @@
1
1
  import { HomeLayoutProps } from "./index.js";
2
- import * as react_jsx_runtime91 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime141 from "react/jsx-runtime";
3
3
  import * as class_variance_authority_types0 from "class-variance-authority/types";
4
4
 
5
5
  //#region src/layouts/home/client.d.ts
@@ -13,7 +13,7 @@ declare function Header({
13
13
  githubUrl,
14
14
  themeSwitch,
15
15
  searchToggle
16
- }: HomeLayoutProps): react_jsx_runtime91.JSX.Element;
16
+ }: HomeLayoutProps): react_jsx_runtime141.JSX.Element;
17
17
  //#endregion
18
18
  export { Header, navItemVariants };
19
19
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/home/client.tsx"],"sourcesContent":[],"mappings":";;;;;cA4Ca;;IAiBX,+BAAA,CAAA;iBAEc,MAAA;;;;;;;GAOb,kBAAe,mBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/home/client.tsx"],"sourcesContent":[],"mappings":";;;;;cA4Ca;;IAiBX,+BAAA,CAAA;iBAEc,MAAA;;;;;;;GAOb,kBAAe,oBAAA,CAAA,GAAA,CAAA"}
@@ -1,12 +1,12 @@
1
1
  import { BaseLayoutProps, NavOptions } from "../shared/index.js";
2
- import * as react_jsx_runtime92 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime139 from "react/jsx-runtime";
3
3
  import { ComponentProps } from "react";
4
4
 
5
5
  //#region src/layouts/home/index.d.ts
6
6
  interface HomeLayoutProps extends BaseLayoutProps {
7
7
  nav?: Partial<NavOptions>;
8
8
  }
9
- declare function HomeLayout(props: HomeLayoutProps & ComponentProps<'main'>): react_jsx_runtime92.JSX.Element;
9
+ declare function HomeLayout(props: HomeLayoutProps & ComponentProps<'main'>): react_jsx_runtime139.JSX.Element;
10
10
  //#endregion
11
11
  export { HomeLayout, HomeLayoutProps };
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/home/index.tsx"],"sourcesContent":[],"mappings":";;;;;UAKiB,eAAA,SAAwB;QACjC,QAAQ;;AADC,iBAID,UAAA,CAJiB,KAAA,EAIC,eAJD,GAImB,cAJnB,CAAA,MAAA,CAAA,CAAA,EAIyC,mBAAA,CAAA,GAAA,CAAA,OAJzC"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/home/index.tsx"],"sourcesContent":[],"mappings":";;;;;UAKiB,eAAA,SAAwB;QACjC,QAAQ;;AADC,iBAID,UAAA,CAJiB,KAAA,EAIC,eAJD,GAImB,cAJnB,CAAA,MAAA,CAAA,CAAA,EAIyC,oBAAA,CAAA,GAAA,CAAA,OAJzC"}
@@ -1,20 +1,20 @@
1
1
  import { NavigationMenuContentProps, NavigationMenuTriggerProps } from "../../components/ui/navigation-menu.js";
2
2
  import { LinkProps } from "fumadocs-core/link";
3
- import * as react_jsx_runtime132 from "react/jsx-runtime";
4
- import * as react18 from "react";
5
- import * as _base_ui_react17 from "@base-ui/react";
3
+ import * as react_jsx_runtime15 from "react/jsx-runtime";
4
+ import * as react0 from "react";
5
+ import * as _base_ui_react0 from "@base-ui/react";
6
6
 
7
7
  //#region src/layouts/home/navbar.d.ts
8
- declare const NavbarMenu: react18.ForwardRefExoticComponent<Omit<_base_ui_react17.NavigationMenuItemProps & react18.RefAttributes<HTMLDivElement>, "ref"> & react18.RefAttributes<HTMLDivElement>>;
8
+ declare const NavbarMenu: react0.ForwardRefExoticComponent<Omit<_base_ui_react0.NavigationMenuItemProps & react0.RefAttributes<HTMLDivElement>, "ref"> & react0.RefAttributes<HTMLDivElement>>;
9
9
  declare function NavbarMenuContent({
10
10
  className,
11
11
  ...props
12
- }: NavigationMenuContentProps): react_jsx_runtime132.JSX.Element;
12
+ }: NavigationMenuContentProps): react_jsx_runtime15.JSX.Element;
13
13
  declare function NavbarMenuTrigger({
14
14
  className,
15
15
  ...props
16
- }: NavigationMenuTriggerProps): react_jsx_runtime132.JSX.Element;
17
- declare function NavbarMenuLink(props: LinkProps): react_jsx_runtime132.JSX.Element;
16
+ }: NavigationMenuTriggerProps): react_jsx_runtime15.JSX.Element;
17
+ declare function NavbarMenuLink(props: LinkProps): react_jsx_runtime15.JSX.Element;
18
18
  //#endregion
19
19
  export { NavbarMenu, NavbarMenuContent, NavbarMenuLink, NavbarMenuTrigger };
20
20
  //# sourceMappingURL=navbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.d.ts","names":[],"sources":["../../../src/layouts/home/navbar.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAaa,YAAU,OAAA,CAAA,0BAAA,KAAqB,gBAAA,CAArB,uBAAA,GAAA,OAAA,CAAA,cAAA,0BAAA,OAAA,CAAA,cAAA;iBAEP,iBAAA;;;GAA2C,6BAA0B,oBAAA,CAAA,GAAA,CAAA;iBAgBrE,iBAAA;;;GAA2C,6BAA0B,oBAAA,CAAA,GAAA,CAAA;iBAiBrE,cAAA,QAAsB,YAAS,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"navbar.d.ts","names":[],"sources":["../../../src/layouts/home/navbar.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAaa,YAAU,MAAA,CAAA,0BAAA,KAAqB,eAAA,CAArB,uBAAA,GAAA,MAAA,CAAA,cAAA,0BAAA,MAAA,CAAA,cAAA;iBAEP,iBAAA;;;GAA2C,6BAA0B,mBAAA,CAAA,GAAA,CAAA;iBAgBrE,iBAAA;;;GAA2C,6BAA0B,mBAAA,CAAA,GAAA,CAAA;iBAiBrE,cAAA,QAAsB,YAAS,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,11 +1,11 @@
1
1
  import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
2
- import * as react_jsx_runtime93 from "react/jsx-runtime";
3
- import * as react10 from "react";
2
+ import * as react_jsx_runtime18 from "react/jsx-runtime";
3
+ import * as react2 from "react";
4
4
  import { ComponentProps, HTMLAttributes, ReactNode } from "react";
5
5
  import { LinkItemType } from "@fumadocs/ui/link-item";
6
6
 
7
7
  //#region src/layouts/notebook/client.d.ts
8
- declare const LayoutContext: react10.Context<(LayoutInfo & {
8
+ declare const LayoutContext: react2.Context<(LayoutInfo & {
9
9
  isNavTransparent: boolean;
10
10
  }) | null>;
11
11
  interface LayoutInfo {
@@ -20,28 +20,28 @@ declare function LayoutContextProvider({
20
20
  }: LayoutInfo & {
21
21
  navTransparentMode?: 'always' | 'top' | 'none';
22
22
  children: ReactNode;
23
- }): react_jsx_runtime93.JSX.Element;
24
- declare function LayoutHeader(props: ComponentProps<'header'>): react_jsx_runtime93.JSX.Element;
23
+ }): react_jsx_runtime18.JSX.Element;
24
+ declare function LayoutHeader(props: ComponentProps<'header'>): react_jsx_runtime18.JSX.Element;
25
25
  declare function LayoutBody({
26
26
  className,
27
27
  style,
28
28
  children,
29
29
  ...props
30
- }: ComponentProps<'div'>): react_jsx_runtime93.JSX.Element;
30
+ }: ComponentProps<'div'>): react_jsx_runtime18.JSX.Element;
31
31
  declare function LayoutHeaderTabs({
32
32
  options,
33
33
  className,
34
34
  ...props
35
35
  }: ComponentProps<'div'> & {
36
36
  options: SidebarTabWithProps[];
37
- }): react_jsx_runtime93.JSX.Element;
37
+ }): react_jsx_runtime18.JSX.Element;
38
38
  declare function NavbarLinkItem({
39
39
  item,
40
40
  className,
41
41
  ...props
42
42
  }: {
43
43
  item: LinkItemType;
44
- } & HTMLAttributes<HTMLElement>): string | number | bigint | boolean | react_jsx_runtime93.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react10.ReactPortal | react10.ReactElement<unknown, string | react10.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
44
+ } & HTMLAttributes<HTMLElement>): string | number | bigint | boolean | react_jsx_runtime18.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react2.ReactPortal | react2.ReactElement<unknown, string | react2.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
45
45
  //#endregion
46
46
  export { LayoutBody, LayoutContext, LayoutContextProvider, LayoutHeader, LayoutHeaderTabs, LayoutInfo, NavbarLinkItem };
47
47
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/notebook/client.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAuBa,eAAa,OAAA,CAAA,SAAA;;;UAOT,UAAA;EAPJ,OAAA,EAAA,SAKN,GAAA,QALmB;EAOT,OAAA,EAAA,KAAU,GAAA,MAAA;AAK3B;AACE,iBADc,qBAAA,CACd;EAAA,kBAAA;EAAA,OAAA;EAAA,OAAA;EAAA;CAAA,EAIC,UAJD,GAAA;EACA,kBAAA,CAAA,EAAA,QAAA,GAAA,KAAA,GAAA,MAAA;EACA,QAAA,EAIU,SAJV;CACA,CAAA,EAID,mBAAA,CAAA,GAAA,CAAA,OAJC;AACC,iBAuBa,YAAA,CAvBb,KAAA,EAuBiC,cAvBjC,CAAA,QAAA,CAAA,CAAA,EAuByD,mBAAA,CAAA,GAAA,CAAA,OAvBzD;AAES,iBAgCI,UAAA,CAhCJ;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAgCyD,cAhCzD,CAAA,KAAA,CAAA,CAAA,EAgC8E,mBAAA,CAAA,GAAA,CAAA,OAhC9E;AACX,iBAoEe,gBAAA,CApEf;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAoBD,CApBC,EAwEE,cAxEF,CAAA,KAAA,CAAA,GAAA;EAAA,OAAA,EAyEU,mBAzEV,EAAA;AAoBD,CAAA,CAAA,EAsDC,mBAAA,CAAA,GAAA,CAAA,OAtDmC;AAWpB,iBA2EA,cAAA,CA3EU;EAAA,IAAA;EAAA,SAAA;EAAA,GAAA;AAAc,CAAd,EAAA;EAAG,IAAA,EA+ElB,YA/EkB;CAAW,GA+EZ,cA/EY,CA+EG,WA/EH,CAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,mBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QA/Ef,CA+Ee,SA/Ef,CAAA,GA+Ee,OA/Ef,CAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YA/Ef,CAAA,OAAA,EAAA,MAAA,GA+Ee,OAAA,CAAA,qBA/Ef,CAAA,GAAA,CAAA,CAAA,GA+Ee,QA/Ef,CA+Ee,SA/Ef,CAAA,GAAA,IAAA,GAAA,SAAA,CAAA,GAAA,IAAA,GAAA,SAAA"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/notebook/client.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAuBa,eAAa,MAAA,CAAA,SAAA;;;UAOT,UAAA;EAPJ,OAAA,EAAA,SAKN,GAAA,QALmB;EAOT,OAAA,EAAA,KAAU,GAAA,MAAA;AAK3B;AACE,iBADc,qBAAA,CACd;EAAA,kBAAA;EAAA,OAAA;EAAA,OAAA;EAAA;CAAA,EAIC,UAJD,GAAA;EACA,kBAAA,CAAA,EAAA,QAAA,GAAA,KAAA,GAAA,MAAA;EACA,QAAA,EAIU,SAJV;CACA,CAAA,EAID,mBAAA,CAAA,GAAA,CAAA,OAJC;AACC,iBAuBa,YAAA,CAvBb,KAAA,EAuBiC,cAvBjC,CAAA,QAAA,CAAA,CAAA,EAuByD,mBAAA,CAAA,GAAA,CAAA,OAvBzD;AAES,iBAgCI,UAAA,CAhCJ;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAgCyD,cAhCzD,CAAA,KAAA,CAAA,CAAA,EAgC8E,mBAAA,CAAA,GAAA,CAAA,OAhC9E;AACX,iBAoEe,gBAAA,CApEf;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAoBD,CApBC,EAwEE,cAxEF,CAAA,KAAA,CAAA,GAAA;EAAA,OAAA,EAyEU,mBAzEV,EAAA;AAoBD,CAAA,CAAA,EAsDC,mBAAA,CAAA,GAAA,CAAA,OAtDmC;AAWpB,iBA2EA,cAAA,CA3EU;EAAA,IAAA;EAAA,SAAA;EAAA,GAAA;AAAc,CAAd,EAAA;EAAG,IAAA,EA+ElB,YA/EkB;CAAW,GA+EZ,cA/EY,CA+EG,WA/EH,CAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,mBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QA/Ef,CA+Ee,SA/Ef,CAAA,GA+Ee,OA/Ef,CAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GA+Ee,MAAA,CAAA,WAAA,GAAA,MAAA,CAAA,YA/Ef,CAAA,OAAA,EAAA,MAAA,GA+Ee,MAAA,CAAA,qBA/Ef,CAAA,GAAA,CAAA,CAAA,GA+Ee,QA/Ef,CA+Ee,SA/Ef,CAAA,GAAA,IAAA,GAAA,SAAA,CAAA,GAAA,IAAA,GAAA,SAAA"}
@@ -3,7 +3,7 @@ import { GetSidebarTabsOptions } from "../../components/sidebar/tabs/index.js";
3
3
  import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
4
4
  import { BaseLayoutProps } from "../shared/index.js";
5
5
  import { Sidebar } from "./sidebar.js";
6
- import * as react_jsx_runtime135 from "react/jsx-runtime";
6
+ import * as react_jsx_runtime47 from "react/jsx-runtime";
7
7
  import { ComponentProps, FC, HTMLAttributes, ReactNode } from "react";
8
8
  import * as PageTree from "fumadocs-core/page-tree";
9
9
 
@@ -32,7 +32,7 @@ interface SidebarOptions extends ComponentProps<'aside'>, Pick<ComponentProps<ty
32
32
  */
33
33
  collapsible?: boolean;
34
34
  }
35
- declare function DocsLayout(props: DocsLayoutProps): react_jsx_runtime135.JSX.Element;
35
+ declare function DocsLayout(props: DocsLayoutProps): react_jsx_runtime47.JSX.Element;
36
36
  //#endregion
37
37
  export { DocsLayout, DocsLayoutProps };
38
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/notebook/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;UAgCiB,eAAA,SAAwB;QACjC,QAAA,CAAS;;EADA,GAAA,CAAA,EAIT,eAJyB,CAAA,KAAA,CAAA,GAAA;IACzB,IAAS,CAAA,EAAA,KAAA,GAAA,MAAA;EAGT,CAAA;EAII,OAAA,CAAA,EAAA,cAAA;EAEsB,cAAA,CAAA,EAAf,cAAe,CAAA,cAAA,CAAA;;UAGxB,cAAA,SAEN,cAfqC,CAAA,OAAA,CAAA,EAgBrC,IAhBqC,CAgBhC,cAhBgC,CAAA,OAgBV,OAhBU,CAAA,EAAA,kBAAA,GAAA,UAAA,CAAA,CAAA;EAAe,UAAA,CAAA,EAiBzC,OAjByC,CAiBjC,yBAjBiC,CAAA;EAa9C;;;EAIa,IAAA,CAAA,EAKd,mBALc,EAAA,GAKU,qBALV,GAAA,KAAA;EAAR,MAAA,CAAA,EAOJ,SAPI,GAOQ,EAPR,CAOW,cAPX,CAAA,KAAA,CAAA,CAAA;EAKN,MAAA,CAAA,EAGE,SAHF,GAGc,EAHd,CAGiB,cAHjB,CAAA,KAAA,CAAA,CAAA;EAAwB;;;;;EAGP,WAAA,CAAA,EAAA,OAAA;;AAVtB,iBAoBY,UAAA,CApBZ,KAAA,EAoB8B,eApB9B,CAAA,EAoB6C,oBAAA,CAAA,GAAA,CAAA,OApB7C"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/notebook/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;UAgCiB,eAAA,SAAwB;QACjC,QAAA,CAAS;;EADA,GAAA,CAAA,EAIT,eAJyB,CAAA,KAAA,CAAA,GAAA;IACzB,IAAS,CAAA,EAAA,KAAA,GAAA,MAAA;EAGT,CAAA;EAII,OAAA,CAAA,EAAA,cAAA;EAEsB,cAAA,CAAA,EAAf,cAAe,CAAA,cAAA,CAAA;;UAGxB,cAAA,SAEN,cAfqC,CAAA,OAAA,CAAA,EAgBrC,IAhBqC,CAgBhC,cAhBgC,CAAA,OAgBV,OAhBU,CAAA,EAAA,kBAAA,GAAA,UAAA,CAAA,CAAA;EAAe,UAAA,CAAA,EAiBzC,OAjByC,CAiBjC,yBAjBiC,CAAA;EAa9C;;;EAIa,IAAA,CAAA,EAKd,mBALc,EAAA,GAKU,qBALV,GAAA,KAAA;EAAR,MAAA,CAAA,EAOJ,SAPI,GAOQ,EAPR,CAOW,cAPX,CAAA,KAAA,CAAA,CAAA;EAKN,MAAA,CAAA,EAGE,SAHF,GAGc,EAHd,CAGiB,cAHjB,CAAA,KAAA,CAAA,CAAA;EAAwB;;;;;EAGP,WAAA,CAAA,EAAA,OAAA;;AAVtB,iBAoBY,UAAA,CApBZ,KAAA,EAoB8B,eApB9B,CAAA,EAoB6C,mBAAA,CAAA,GAAA,CAAA,OApB7C"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime112 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime69 from "react/jsx-runtime";
2
2
  import { ComponentProps } from "react";
3
3
  import { BreadcrumbOptions } from "fumadocs-core/breadcrumb";
4
4
  import * as PageTree from "fumadocs-core/page-tree";
@@ -8,18 +8,18 @@ declare function PageTOCPopover({
8
8
  className,
9
9
  children,
10
10
  ...rest
11
- }: ComponentProps<'div'>): react_jsx_runtime112.JSX.Element;
11
+ }: ComponentProps<'div'>): react_jsx_runtime69.JSX.Element;
12
12
  declare function PageTOCPopoverTrigger({
13
13
  className,
14
14
  ...props
15
- }: ComponentProps<'button'>): react_jsx_runtime112.JSX.Element;
16
- declare function PageTOCPopoverContent(props: ComponentProps<'div'>): react_jsx_runtime112.JSX.Element;
15
+ }: ComponentProps<'button'>): react_jsx_runtime69.JSX.Element;
16
+ declare function PageTOCPopoverContent(props: ComponentProps<'div'>): react_jsx_runtime69.JSX.Element;
17
17
  declare function PageLastUpdate({
18
18
  date: value,
19
19
  ...props
20
20
  }: Omit<ComponentProps<'p'>, 'children'> & {
21
21
  date: Date;
22
- }): react_jsx_runtime112.JSX.Element;
22
+ }): react_jsx_runtime69.JSX.Element;
23
23
  type Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;
24
24
  interface FooterProps extends ComponentProps<'div'> {
25
25
  /**
@@ -32,15 +32,17 @@ interface FooterProps extends ComponentProps<'div'> {
32
32
  }
33
33
  declare function PageFooter({
34
34
  items,
35
+ children,
36
+ className,
35
37
  ...props
36
- }: FooterProps): react_jsx_runtime112.JSX.Element;
38
+ }: FooterProps): react_jsx_runtime69.JSX.Element;
37
39
  type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;
38
40
  declare function PageBreadcrumb({
39
41
  includeRoot,
40
42
  includeSeparator,
41
43
  includePage,
42
44
  ...props
43
- }: BreadcrumbProps): react_jsx_runtime112.JSX.Element | null;
45
+ }: BreadcrumbProps): react_jsx_runtime69.JSX.Element | null;
44
46
  //#endregion
45
47
  export { BreadcrumbProps, FooterProps, PageBreadcrumb, PageFooter, PageLastUpdate, PageTOCPopover, PageTOCPopoverContent, PageTOCPopoverTrigger };
46
48
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAiCgB,cAAA;;;;GAAiD,wBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAsDtE,qBAAA;;;GAA+C,2BAAwB,oBAAA,CAAA,GAAA,CAAA;iBA2GvE,qBAAA,QAA6B,wBAAqB,oBAAA,CAAA,GAAA,CAAA;AAjKlD,iBA6KA,cAAA,CA7Kc;EAAA,IAAA,EA8KtB,KA9KsB;EAAA,GAAA;CAAA,EAgL3B,IAhL2B,CAgLtB,cAhLsB,CAAA,GAAA,CAAA,EAAA,UAAA,CAAA,GAAA;EAAG,IAAA,EAgLkB,IAhLlB;CAAW,CAAA,EAgLa,oBAAA,CAAA,GAAA,CAAA,OAhLb;KAgMvC,IAAA,GAAO,IAhMqD,CAgMhD,QAAA,CAAS,IAhMuC,EAAA,MAAA,GAAA,aAAA,GAAA,KAAA,CAAA;AAAqB,UAiMrE,WAAA,SAAoB,cAjMiD,CAAA,KAAA,CAAA,CAAA;EAAA;AAsDtF;;EAA+D,KAAA,CAAA,EAAA;IAAwB,QAAA,CAAA,EAgJxE,IAhJwE;IAAA,IAAA,CAAA,EAiJ5E,IAjJ4E;EA2GvE,CAAA;AAYhB;AACQ,iBA6BQ,UAAA,CA7BR;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EA6BwC,WA7BxC,CAAA,EA6BmD,oBAAA,CAAA,GAAA,CAAA,OA7BnD;AAEA,KAqFI,eAAA,GAAkB,iBArFtB,GAqF0C,cArF1C,CAAA,KAAA,CAAA;AAAL,iBAuFa,cAAA,CAvFb;EAAA,WAAA;EAAA,gBAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA4FA,eA5FA,CAAA,EA4Fe,oBAAA,CAAA,GAAA,CAAA,OAAA,GA5Ff,IAAA"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAiCgB,cAAA;;;;GAAiD,wBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAsDtE,qBAAA;;;GAA+C,2BAAwB,mBAAA,CAAA,GAAA,CAAA;iBA2GvE,qBAAA,QAA6B,wBAAqB,mBAAA,CAAA,GAAA,CAAA;AAjKlD,iBA6KA,cAAA,CA7Kc;EAAA,IAAA,EA8KtB,KA9KsB;EAAA,GAAA;CAAA,EAgL3B,IAhL2B,CAgLtB,cAhLsB,CAAA,GAAA,CAAA,EAAA,UAAA,CAAA,GAAA;EAAG,IAAA,EAgLkB,IAhLlB;CAAW,CAAA,EAgLa,mBAAA,CAAA,GAAA,CAAA,OAhLb;KAgMvC,IAAA,GAAO,IAhMqD,CAgMhD,QAAA,CAAS,IAhMuC,EAAA,MAAA,GAAA,aAAA,GAAA,KAAA,CAAA;AAAqB,UAiMrE,WAAA,SAAoB,cAjMiD,CAAA,KAAA,CAAA,CAAA;EAAA;AAsDtF;;EAA+D,KAAA,CAAA,EAAA;IAAwB,QAAA,CAAA,EAgJxE,IAhJwE;IAAA,IAAA,CAAA,EAiJ5E,IAjJ4E;EA2GvE,CAAA;AAYhB;AACQ,iBA6BQ,UAAA,CA7BR;EAAA,KAAA;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6B6D,WA7B7D,CAAA,EA6BwE,mBAAA,CAAA,GAAA,CAAA,OA7BxE;AAEA,KAwFI,eAAA,GAAkB,iBAxFtB,GAwF0C,cAxF1C,CAAA,KAAA,CAAA;AAAL,iBA0Fa,cAAA,CA1Fb;EAAA,WAAA;EAAA,gBAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA+FA,eA/FA,CAAA,EA+Fe,mBAAA,CAAA,GAAA,CAAA,OAAA,GA/Ff,IAAA"}
@@ -8,7 +8,7 @@ import { LayoutContext } from "../client.js";
8
8
  import Link from "fumadocs-core/link";
9
9
  import { usePathname } from "fumadocs-core/framework";
10
10
  import { cn } from "@fumadocs/ui/cn";
11
- import { jsx, jsxs } from "react/jsx-runtime";
11
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
12
  import { ChevronDown, ChevronLeft, ChevronRight } from "lucide-react";
13
13
  import { Fragment as Fragment$1, createContext, use, useEffect, useEffectEvent, useMemo, useRef, useState } from "react";
14
14
  import { getBreadcrumbItemsFromPath } from "fumadocs-core/breadcrumb";
@@ -145,7 +145,7 @@ function PageLastUpdate({ date: value, ...props }) {
145
145
  ]
146
146
  });
147
147
  }
148
- function PageFooter({ items, ...props }) {
148
+ function PageFooter({ items, children, className, ...props }) {
149
149
  const footerList = useFooterItems();
150
150
  const pathname = usePathname();
151
151
  const { previous, next } = useMemo(() => {
@@ -161,17 +161,17 @@ function PageFooter({ items, ...props }) {
161
161
  items,
162
162
  pathname
163
163
  ]);
164
- return /* @__PURE__ */ jsxs("div", {
164
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("div", {
165
+ className: cn("@container grid gap-4", previous && next ? "grid-cols-2" : "grid-cols-1", className),
165
166
  ...props,
166
- className: cn("@container grid gap-4", previous && next ? "grid-cols-2" : "grid-cols-1", props.className),
167
- children: [previous ? /* @__PURE__ */ jsx(FooterItem, {
167
+ children: [previous && /* @__PURE__ */ jsx(FooterItem, {
168
168
  item: previous,
169
169
  index: 0
170
- }) : null, next ? /* @__PURE__ */ jsx(FooterItem, {
170
+ }), next && /* @__PURE__ */ jsx(FooterItem, {
171
171
  item: next,
172
172
  index: 1
173
- }) : null]
174
- });
173
+ })]
174
+ }), children] });
175
175
  }
176
176
  function FooterItem({ item, index }) {
177
177
  const { text } = (0, i18n_exports.useI18n)();
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["Fragment"],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"sourcesContent":["'use client';\n\nimport {\n type ComponentProps,\n createContext,\n Fragment,\n use,\n useEffect,\n useEffectEvent,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';\nimport Link from 'fumadocs-core/link';\nimport { cn } from '@fumadocs/ui/cn';\nimport { useI18n } from '@/contexts/i18n';\nimport { useTreeContext, useTreePath } from '@/contexts/tree';\nimport type * as PageTree from 'fumadocs-core/page-tree';\nimport { usePathname } from 'fumadocs-core/framework';\nimport { type BreadcrumbOptions, getBreadcrumbItemsFromPath } from 'fumadocs-core/breadcrumb';\nimport { isActive } from '@fumadocs/ui/urls';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';\nimport { useTOCItems } from '@/components/toc';\nimport { useActiveAnchor } from 'fumadocs-core/toc';\nimport { LayoutContext } from '../client';\nimport { useFooterItems } from '@fumadocs/ui/hooks/use-footer-items';\n\nconst TocPopoverContext = createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null);\n\nexport function PageTOCPopover({ className, children, ...rest }: ComponentProps<'div'>) {\n const ref = useRef<HTMLElement>(null);\n const [open, setOpen] = useState(false);\n const { isNavTransparent } = use(LayoutContext)!;\n\n const onClick = useEffectEvent((e: Event) => {\n if (!open) return;\n\n if (ref.current && !ref.current.contains(e.target as HTMLElement)) setOpen(false);\n });\n\n useEffect(() => {\n window.addEventListener('click', onClick);\n\n return () => {\n window.removeEventListener('click', onClick);\n };\n }, []);\n\n return (\n <TocPopoverContext\n value={useMemo(\n () => ({\n open,\n setOpen,\n }),\n [setOpen, open],\n )}\n >\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n data-toc-popover=\"\"\n className={cn(\n 'sticky top-(--fd-docs-row-2) z-10 [grid-area:toc-popover] h-(--fd-toc-popover-height) xl:hidden max-xl:layout:[--fd-toc-popover-height:--spacing(10)]',\n className,\n )}\n {...rest}\n >\n <header\n ref={ref}\n className={cn(\n 'border-b backdrop-blur-sm transition-colors',\n (!isNavTransparent || open) && 'bg-fd-background/80',\n open && 'shadow-lg',\n )}\n >\n {children}\n </header>\n </Collapsible>\n </TocPopoverContext>\n );\n}\n\nexport function PageTOCPopoverTrigger({ className, ...props }: ComponentProps<'button'>) {\n const { text } = useI18n();\n const { open } = use(TocPopoverContext)!;\n const items = useTOCItems();\n const active = useActiveAnchor();\n const selected = useMemo(\n () => items.findIndex((item) => active === item.url.slice(1)),\n [items, active],\n );\n const path = useTreePath().at(-1);\n const showItem = selected !== -1 && !open;\n\n return (\n <CollapsibleTrigger\n className={cn(\n 'flex w-full h-10 items-center text-sm text-fd-muted-foreground gap-2.5 px-4 py-2.5 text-start focus-visible:outline-none [&_svg]:size-4 md:px-6',\n className,\n )}\n data-toc-popover-trigger=\"\"\n {...props}\n >\n <ProgressCircle\n value={(selected + 1) / Math.max(1, items.length)}\n max={1}\n className={cn('shrink-0', open && 'text-fd-primary')}\n />\n <span className=\"grid flex-1 *:my-auto *:row-start-1 *:col-start-1\">\n <span\n className={cn(\n 'truncate transition-all',\n open && 'text-fd-foreground',\n showItem && 'opacity-0 -translate-y-full pointer-events-none',\n )}\n >\n {path?.name ?? text.toc}\n </span>\n <span\n className={cn(\n 'truncate transition-all',\n !showItem && 'opacity-0 translate-y-full pointer-events-none',\n )}\n >\n {items[selected]?.title}\n </span>\n </span>\n <ChevronDown className={cn('shrink-0 transition-transform mx-0.5', open && 'rotate-180')} />\n </CollapsibleTrigger>\n );\n}\n\ninterface ProgressCircleProps extends Omit<React.ComponentProps<'svg'>, 'strokeWidth'> {\n value: number;\n strokeWidth?: number;\n size?: number;\n min?: number;\n max?: number;\n}\n\nfunction clamp(input: number, min: number, max: number): number {\n if (input < min) return min;\n if (input > max) return max;\n return input;\n}\n\nfunction ProgressCircle({\n value,\n strokeWidth = 2,\n size = 24,\n min = 0,\n max = 100,\n ...restSvgProps\n}: ProgressCircleProps) {\n const normalizedValue = clamp(value, min, max);\n const radius = (size - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const progress = (normalizedValue / max) * circumference;\n const circleProps = {\n cx: size / 2,\n cy: size / 2,\n r: radius,\n fill: 'none',\n strokeWidth,\n };\n\n return (\n <svg\n role=\"progressbar\"\n viewBox={`0 0 ${size} ${size}`}\n aria-valuenow={normalizedValue}\n aria-valuemin={min}\n aria-valuemax={max}\n {...restSvgProps}\n >\n <circle {...circleProps} className=\"stroke-current/25\" />\n <circle\n {...circleProps}\n stroke=\"currentColor\"\n strokeDasharray={circumference}\n strokeDashoffset={circumference - progress}\n strokeLinecap=\"round\"\n transform={`rotate(-90 ${size / 2} ${size / 2})`}\n className=\"transition-all\"\n />\n </svg>\n );\n}\n\nexport function PageTOCPopoverContent(props: ComponentProps<'div'>) {\n return (\n <CollapsibleContent\n data-toc-popover-content=\"\"\n {...props}\n className={cn('flex flex-col px-4 max-h-[50vh] md:px-6', props.className)}\n >\n {props.children}\n </CollapsibleContent>\n );\n}\n\nexport function PageLastUpdate({\n date: value,\n ...props\n}: Omit<ComponentProps<'p'>, 'children'> & { date: Date }) {\n const { text } = useI18n();\n const [date, setDate] = useState('');\n\n useEffect(() => {\n // to the timezone of client\n setDate(value.toLocaleDateString());\n }, [value]);\n\n return (\n <p {...props} className={cn('text-sm text-fd-muted-foreground', props.className)}>\n {text.lastUpdate} {date}\n </p>\n );\n}\n\ntype Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;\nexport interface FooterProps extends ComponentProps<'div'> {\n /**\n * Items including information for the next and previous page\n */\n items?: {\n previous?: Item;\n next?: Item;\n };\n}\n\nexport function PageFooter({ items, ...props }: FooterProps) {\n const footerList = useFooterItems();\n const pathname = usePathname();\n const { previous, next } = useMemo(() => {\n if (items) return items;\n\n const idx = footerList.findIndex((item) => isActive(item.url, pathname, false));\n\n if (idx === -1) return {};\n return {\n previous: footerList[idx - 1],\n next: footerList[idx + 1],\n };\n }, [footerList, items, pathname]);\n\n return (\n <div\n {...props}\n className={cn(\n '@container grid gap-4',\n previous && next ? 'grid-cols-2' : 'grid-cols-1',\n props.className,\n )}\n >\n {previous ? <FooterItem item={previous} index={0} /> : null}\n {next ? <FooterItem item={next} index={1} /> : null}\n </div>\n );\n}\n\nfunction FooterItem({ item, index }: { item: Item; index: 0 | 1 }) {\n const { text } = useI18n();\n const Icon = index === 0 ? ChevronLeft : ChevronRight;\n\n return (\n <Link\n href={item.url}\n className={cn(\n 'flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full',\n index === 1 && 'text-end',\n )}\n >\n <div\n className={cn(\n 'inline-flex items-center gap-1.5 font-medium',\n index === 1 && 'flex-row-reverse',\n )}\n >\n <Icon className=\"-mx-1 size-4 shrink-0 rtl:rotate-180\" />\n <p>{item.name}</p>\n </div>\n <p className=\"text-fd-muted-foreground truncate\">\n {item.description ?? (index === 0 ? text.previousPage : text.nextPage)}\n </p>\n </Link>\n );\n}\n\nexport type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;\n\nexport function PageBreadcrumb({\n includeRoot,\n includeSeparator,\n includePage,\n ...props\n}: BreadcrumbProps) {\n const path = useTreePath();\n const { root } = useTreeContext();\n const items = useMemo(() => {\n return getBreadcrumbItemsFromPath(root, path, {\n includePage,\n includeSeparator,\n includeRoot,\n });\n }, [includePage, includeRoot, includeSeparator, path, root]);\n\n if (items.length === 0) return null;\n\n return (\n <div\n {...props}\n className={cn('flex items-center gap-1.5 text-sm text-fd-muted-foreground', props.className)}\n >\n {items.map((item, i) => {\n const className = cn('truncate', i === items.length - 1 && 'text-fd-primary font-medium');\n\n return (\n <Fragment key={i}>\n {i !== 0 && <ChevronRight className=\"size-3.5 shrink-0\" />}\n {item.url ? (\n <Link\n href={item.url}\n className={cn(className, 'transition-opacity hover:opacity-80')}\n >\n {item.name}\n </Link>\n ) : (\n <span className={className}>{item.name}</span>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","names":["Fragment"],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"sourcesContent":["'use client';\n\nimport {\n type ComponentProps,\n createContext,\n Fragment,\n use,\n useEffect,\n useEffectEvent,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';\nimport Link from 'fumadocs-core/link';\nimport { cn } from '@fumadocs/ui/cn';\nimport { useI18n } from '@/contexts/i18n';\nimport { useTreeContext, useTreePath } from '@/contexts/tree';\nimport type * as PageTree from 'fumadocs-core/page-tree';\nimport { usePathname } from 'fumadocs-core/framework';\nimport { type BreadcrumbOptions, getBreadcrumbItemsFromPath } from 'fumadocs-core/breadcrumb';\nimport { isActive } from '@fumadocs/ui/urls';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';\nimport { useTOCItems } from '@/components/toc';\nimport { useActiveAnchor } from 'fumadocs-core/toc';\nimport { LayoutContext } from '../client';\nimport { useFooterItems } from '@fumadocs/ui/hooks/use-footer-items';\n\nconst TocPopoverContext = createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null);\n\nexport function PageTOCPopover({ className, children, ...rest }: ComponentProps<'div'>) {\n const ref = useRef<HTMLElement>(null);\n const [open, setOpen] = useState(false);\n const { isNavTransparent } = use(LayoutContext)!;\n\n const onClick = useEffectEvent((e: Event) => {\n if (!open) return;\n\n if (ref.current && !ref.current.contains(e.target as HTMLElement)) setOpen(false);\n });\n\n useEffect(() => {\n window.addEventListener('click', onClick);\n\n return () => {\n window.removeEventListener('click', onClick);\n };\n }, []);\n\n return (\n <TocPopoverContext\n value={useMemo(\n () => ({\n open,\n setOpen,\n }),\n [setOpen, open],\n )}\n >\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n data-toc-popover=\"\"\n className={cn(\n 'sticky top-(--fd-docs-row-2) z-10 [grid-area:toc-popover] h-(--fd-toc-popover-height) xl:hidden max-xl:layout:[--fd-toc-popover-height:--spacing(10)]',\n className,\n )}\n {...rest}\n >\n <header\n ref={ref}\n className={cn(\n 'border-b backdrop-blur-sm transition-colors',\n (!isNavTransparent || open) && 'bg-fd-background/80',\n open && 'shadow-lg',\n )}\n >\n {children}\n </header>\n </Collapsible>\n </TocPopoverContext>\n );\n}\n\nexport function PageTOCPopoverTrigger({ className, ...props }: ComponentProps<'button'>) {\n const { text } = useI18n();\n const { open } = use(TocPopoverContext)!;\n const items = useTOCItems();\n const active = useActiveAnchor();\n const selected = useMemo(\n () => items.findIndex((item) => active === item.url.slice(1)),\n [items, active],\n );\n const path = useTreePath().at(-1);\n const showItem = selected !== -1 && !open;\n\n return (\n <CollapsibleTrigger\n className={cn(\n 'flex w-full h-10 items-center text-sm text-fd-muted-foreground gap-2.5 px-4 py-2.5 text-start focus-visible:outline-none [&_svg]:size-4 md:px-6',\n className,\n )}\n data-toc-popover-trigger=\"\"\n {...props}\n >\n <ProgressCircle\n value={(selected + 1) / Math.max(1, items.length)}\n max={1}\n className={cn('shrink-0', open && 'text-fd-primary')}\n />\n <span className=\"grid flex-1 *:my-auto *:row-start-1 *:col-start-1\">\n <span\n className={cn(\n 'truncate transition-all',\n open && 'text-fd-foreground',\n showItem && 'opacity-0 -translate-y-full pointer-events-none',\n )}\n >\n {path?.name ?? text.toc}\n </span>\n <span\n className={cn(\n 'truncate transition-all',\n !showItem && 'opacity-0 translate-y-full pointer-events-none',\n )}\n >\n {items[selected]?.title}\n </span>\n </span>\n <ChevronDown className={cn('shrink-0 transition-transform mx-0.5', open && 'rotate-180')} />\n </CollapsibleTrigger>\n );\n}\n\ninterface ProgressCircleProps extends Omit<React.ComponentProps<'svg'>, 'strokeWidth'> {\n value: number;\n strokeWidth?: number;\n size?: number;\n min?: number;\n max?: number;\n}\n\nfunction clamp(input: number, min: number, max: number): number {\n if (input < min) return min;\n if (input > max) return max;\n return input;\n}\n\nfunction ProgressCircle({\n value,\n strokeWidth = 2,\n size = 24,\n min = 0,\n max = 100,\n ...restSvgProps\n}: ProgressCircleProps) {\n const normalizedValue = clamp(value, min, max);\n const radius = (size - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const progress = (normalizedValue / max) * circumference;\n const circleProps = {\n cx: size / 2,\n cy: size / 2,\n r: radius,\n fill: 'none',\n strokeWidth,\n };\n\n return (\n <svg\n role=\"progressbar\"\n viewBox={`0 0 ${size} ${size}`}\n aria-valuenow={normalizedValue}\n aria-valuemin={min}\n aria-valuemax={max}\n {...restSvgProps}\n >\n <circle {...circleProps} className=\"stroke-current/25\" />\n <circle\n {...circleProps}\n stroke=\"currentColor\"\n strokeDasharray={circumference}\n strokeDashoffset={circumference - progress}\n strokeLinecap=\"round\"\n transform={`rotate(-90 ${size / 2} ${size / 2})`}\n className=\"transition-all\"\n />\n </svg>\n );\n}\n\nexport function PageTOCPopoverContent(props: ComponentProps<'div'>) {\n return (\n <CollapsibleContent\n data-toc-popover-content=\"\"\n {...props}\n className={cn('flex flex-col px-4 max-h-[50vh] md:px-6', props.className)}\n >\n {props.children}\n </CollapsibleContent>\n );\n}\n\nexport function PageLastUpdate({\n date: value,\n ...props\n}: Omit<ComponentProps<'p'>, 'children'> & { date: Date }) {\n const { text } = useI18n();\n const [date, setDate] = useState('');\n\n useEffect(() => {\n // to the timezone of client\n setDate(value.toLocaleDateString());\n }, [value]);\n\n return (\n <p {...props} className={cn('text-sm text-fd-muted-foreground', props.className)}>\n {text.lastUpdate} {date}\n </p>\n );\n}\n\ntype Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;\nexport interface FooterProps extends ComponentProps<'div'> {\n /**\n * Items including information for the next and previous page\n */\n items?: {\n previous?: Item;\n next?: Item;\n };\n}\n\nexport function PageFooter({ items, children, className, ...props }: FooterProps) {\n const footerList = useFooterItems();\n const pathname = usePathname();\n const { previous, next } = useMemo(() => {\n if (items) return items;\n\n const idx = footerList.findIndex((item) => isActive(item.url, pathname, false));\n\n if (idx === -1) return {};\n return {\n previous: footerList[idx - 1],\n next: footerList[idx + 1],\n };\n }, [footerList, items, pathname]);\n\n return (\n <>\n <div\n className={cn(\n '@container grid gap-4',\n previous && next ? 'grid-cols-2' : 'grid-cols-1',\n className,\n )}\n {...props}\n >\n {previous && <FooterItem item={previous} index={0} />}\n {next && <FooterItem item={next} index={1} />}\n </div>\n {children}\n </>\n );\n}\n\nfunction FooterItem({ item, index }: { item: Item; index: 0 | 1 }) {\n const { text } = useI18n();\n const Icon = index === 0 ? ChevronLeft : ChevronRight;\n\n return (\n <Link\n href={item.url}\n className={cn(\n 'flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full',\n index === 1 && 'text-end',\n )}\n >\n <div\n className={cn(\n 'inline-flex items-center gap-1.5 font-medium',\n index === 1 && 'flex-row-reverse',\n )}\n >\n <Icon className=\"-mx-1 size-4 shrink-0 rtl:rotate-180\" />\n <p>{item.name}</p>\n </div>\n <p className=\"text-fd-muted-foreground truncate\">\n {item.description ?? (index === 0 ? text.previousPage : text.nextPage)}\n </p>\n </Link>\n );\n}\n\nexport type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;\n\nexport function PageBreadcrumb({\n includeRoot,\n includeSeparator,\n includePage,\n ...props\n}: BreadcrumbProps) {\n const path = useTreePath();\n const { root } = useTreeContext();\n const items = useMemo(() => {\n return getBreadcrumbItemsFromPath(root, path, {\n includePage,\n includeSeparator,\n includeRoot,\n });\n }, [includePage, includeRoot, includeSeparator, path, root]);\n\n if (items.length === 0) return null;\n\n return (\n <div\n {...props}\n className={cn('flex items-center gap-1.5 text-sm text-fd-muted-foreground', props.className)}\n >\n {items.map((item, i) => {\n const className = cn('truncate', i === items.length - 1 && 'text-fd-primary font-medium');\n\n return (\n <Fragment key={i}>\n {i !== 0 && <ChevronRight className=\"size-3.5 shrink-0\" />}\n {item.url ? (\n <Link\n href={item.url}\n className={cn(className, 'transition-opacity hover:opacity-80')}\n >\n {item.name}\n </Link>\n ) : (\n <span className={className}>{item.name}</span>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BreadcrumbProps, FooterProps, PageBreadcrumb, PageLastUpdate } from "./client.js";
2
- import * as react_jsx_runtime118 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime79 from "react/jsx-runtime";
3
3
  import { ComponentProps, ReactNode } from "react";
4
4
  import { AnchorProviderProps, TOCItemType } from "fumadocs-core/toc";
5
5
 
@@ -27,7 +27,9 @@ interface DocsPageProps {
27
27
  */
28
28
  breadcrumb?: Partial<BreadcrumbOptions>;
29
29
  /**
30
- * Footer navigation, you can disable it by passing `false`
30
+ * Footer navigation, located under the page body.
31
+ *
32
+ * You can specify `footer.children` to add extra components under the footer.
31
33
  */
32
34
  footer?: Partial<FooterOptions>;
33
35
  children?: ReactNode;
@@ -59,7 +61,11 @@ declare function DocsPage({
59
61
  component: breadcrumb,
60
62
  ...breadcrumbProps
61
63
  },
62
- footer,
64
+ footer: {
65
+ enabled: footerEnabled,
66
+ component: footerReplace,
67
+ ...footerProps
68
+ },
63
69
  full,
64
70
  tableOfContentPopover: {
65
71
  enabled: tocPopoverEnabled,
@@ -75,7 +81,7 @@ declare function DocsPage({
75
81
  children,
76
82
  className
77
83
  }: DocsPageProps): ReactNode;
78
- declare function EditOnGitHub(props: ComponentProps<'a'>): react_jsx_runtime118.JSX.Element;
84
+ declare function EditOnGitHub(props: ComponentProps<'a'>): react_jsx_runtime79.JSX.Element;
79
85
  /**
80
86
  * Add typography styles
81
87
  */
@@ -83,17 +89,17 @@ declare function DocsBody({
83
89
  children,
84
90
  className,
85
91
  ...props
86
- }: ComponentProps<'div'>): react_jsx_runtime118.JSX.Element;
92
+ }: ComponentProps<'div'>): react_jsx_runtime79.JSX.Element;
87
93
  declare function DocsDescription({
88
94
  children,
89
95
  className,
90
96
  ...props
91
- }: ComponentProps<'p'>): react_jsx_runtime118.JSX.Element | null;
97
+ }: ComponentProps<'p'>): react_jsx_runtime79.JSX.Element | null;
92
98
  declare function DocsTitle({
93
99
  children,
94
100
  className,
95
101
  ...props
96
- }: ComponentProps<'h1'>): react_jsx_runtime118.JSX.Element;
102
+ }: ComponentProps<'h1'>): react_jsx_runtime79.JSX.Element;
97
103
  //#endregion
98
104
  export { DocsBody, DocsDescription, DocsPage, DocsPageProps, DocsTitle, EditOnGitHub, PageBreadcrumb, PageLastUpdate };
99
105
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/index.tsx"],"sourcesContent":[],"mappings":";;;;;;UAmBU,iBAAA,SAA0B;;aAEvB;AAP6D;AAKvB,UAKzC,aAAA,SAAsB,WAEnB,CAFmB;EAKf,OAAA,EAAA,OAAa;EACtB,SAAA,EAJK,SAIL;;AACW,UAFF,aAAA,CAEE;EACe,GAAA,CAAA,EAF1B,WAE0B,EAAA;EAAR,cAAA,CAAA,EADP,OACO,CADC,qBACD,CAAA;EAYH,qBAAA,CAAA,EAZG,OAYH,CAZW,4BAYX,CAAA;EAAR;;;;;EAeV,IAAA,CAAA,EAAA,OAAA;EAA6B;;;EASvB,UAAA,CAAA,EAxBI,OAwBJ,CAxBY,iBAwBZ,CAAA;EAGE;;AAAS;EAUN,MAAA,CAAA,EAhCL,OAgCa,CAhCL,aAgCK,CAAA;EACC,QAAA,CAAA,EA/BZ,SA+BY;EAAqC;;;EAIjD,SAAA,CAAA,EAAA,MAAA;;KA3BR,qBAAA,GAAwB,IA+BA,CA/BK,mBA+BL,EAAA,QAAA,CAAA,GAAA;EAAuB;;;EAGlD,MAAA,CAAA,EA9BS,SA8BT;EACC;;;EA4Ea,MAAA,CAAA,EAtGL,SAsGiB;EA4BZ,OAAA,EAAA,OAAQ;EAAG,SAAA,EA/Hd,SA+Hc;EAAU;;;EAA4C,KAAA,CAAA,EAAA,QAAA,GAAA,OAAA;AAQjF,CAAA;KA/HK,4BAAA,GAA+B,IA+HF,CA/HO,qBA+HP,EAAA,QAAA,CAAA;AAAU,iBA7H5B,QAAA,CA6H4B;EAAA,UAAA,EAAA;IAAA,OAAA,EA5HnB,iBA4HmB;IAAA,SAAA,EA5HkB,UA4HlB;IAAA,GAAA;EAAA,CAAA;EAAA,MAAA;EAAA,IAAA;EAAA,qBAAA,EAAA;IAAA,OAAA,EAxH/B,iBAwH+B;IAAA,SAAA,EAvH7B,UAuH6B;IAAA,GAAA;EAAA,CAAA;EAAA,cAAA,EAAA;IAAA,OAAA,EApHf,UAoHe;IAAA,SAAA,EApHQ,UAoHR;IAAA,GAAA;EAAA,CAAA;EAAA,GAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAhHzC,aAgHyC,CAAA,EAhH5B,SAgH4B;AAAuB,iBApCnD,YAAA,CAoCmD,KAAA,EApC/B,cAoC+B,CAAA,GAAA,CAAA,CAAA,EApCZ,oBAAA,CAAA,GAAA,CAAA,OAoCY;;;AAWnE;AAA4B,iBAnBZ,QAAA,CAmBY;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAnBgC,cAmBhC,CAAA,KAAA,CAAA,CAAA,EAnBqD,oBAAA,CAAA,GAAA,CAAA,OAmBrD;AAAU,iBAXtB,eAAA,CAWsB;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAX6B,cAW7B,CAAA,GAAA,CAAA,CAAA,EAXgD,oBAAA,CAAA,GAAA,CAAA,OAAA,GAWhD,IAAA;AAAuB,iBAA7C,SAAA,CAA6C;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAAA,cAAA,CAAA,IAAA,CAAA,CAAA,EAAoB,oBAAA,CAAA,GAAA,CAAA,OAApB"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/index.tsx"],"sourcesContent":[],"mappings":";;;;;;UAmBU,iBAAA,SAA0B;;aAEvB;AAP6D;AAKvB,UAKzC,aAAA,SAAsB,WAEnB,CAFmB;EAKf,OAAA,EAAA,OAAa;EACtB,SAAA,EAJK,SAIL;;AACW,UAFF,aAAA,CAEE;EACe,GAAA,CAAA,EAF1B,WAE0B,EAAA;EAAR,cAAA,CAAA,EADP,OACO,CADC,qBACD,CAAA;EAYH,qBAAA,CAAA,EAZG,OAYH,CAZW,4BAYX,CAAA;EAAR;;;;;EAiBV,IAAA,CAAA,EAAA,OAAA;EAA6B;;;EASvB,UAAA,CAAA,EA1BI,OA0BJ,CA1BY,iBA0BZ,CAAA;EAGE;;AAAS;AAUtB;;EAC8D,MAAA,CAAA,EAjCnD,OAiCmD,CAjC3C,aAiC2C,CAAA;EACzC,QAAA,CAAA,EAhCR,SAgCQ;EAA0B;;;EAIhC,SAAA,CAAA,EAAA,MAAA;;KA5BV,qBAAA,GAAwB,IA+BuB,CA/BlB,mBA+BkB,EAAA,QAAA,CAAA,GAAA;EAClD;;;EAGC,MAAA,CAAA,EA/BQ,SA+BR;EAAa;;AA4EhB;EA4BgB,MAAA,CAAA,EAlIL,SAkIa;EAAG,OAAA,EAAA,OAAA;EAAU,SAAA,EA/HxB,SA+HwB;EAAuB;;;EAQ5C,KAAA,CAAA,EAAA,QAAA,GAAe,OAAA;CAAG;KA/H7B,4BAAA,GAA+B,IA+HQ,CA/HH,qBA+HG,EAAA,QAAA,CAAA;AAAuB,iBA7HnD,QAAA,CA6HmD;EAAA,UAAA,EAAA;IAAA,OAAA,EA5H1C,iBA4H0C;IAAA,SAAA,EA5HL,UA4HK;IAAA,GAAA;EAAA,CAAA;EAAA,MAAA,EAAA;IAAA,OAAA,EA3H9C,aA2H8C;IAAA,SAAA,EA3HpB,aA2HoB;IAAA,GAAA;EAAA,CAAA;EAAA,IAAA;EAAA,qBAAA,EAAA;IAAA,OAAA,EAxHtD,iBAwHsD;IAAA,SAAA,EAvHpD,UAuHoD;IAAA,GAAA;EAAA,CAAA;EAAA,cAAA,EAAA;IAAA,OAAA,EApHtC,UAoHsC;IAAA,SAAA,EApHf,UAoHe;IAAA,GAAA;EAAA,CAAA;EAAA,GAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAhHhE,aAgHgE,CAAA,EAhHnD,SAgHmD;AAAmB,iBApCtE,YAAA,CAoCsE,KAAA,EApClD,cAoCkD,CAAA,GAAA,CAAA,CAAA,EApC/B,mBAAA,CAAA,GAAA,CAAA,OAoC+B;;AAWtF;;AAAsC,iBAnBtB,QAAA,CAmBsB;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAnBsB,cAmBtB,CAAA,KAAA,CAAA,CAAA,EAnB2C,mBAAA,CAAA,GAAA,CAAA,OAmB3C;AAAuB,iBAX7C,eAAA,CAW6C;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAXM,cAWN,CAAA,GAAA,CAAA,CAAA,EAXyB,mBAAA,CAAA,GAAA,CAAA,OAAA,GAWzB,IAAA;AAAoB,iBAAjE,SAAA,CAAiE;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAApB,cAAoB,CAAA,IAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -19,7 +19,7 @@ var page_exports = /* @__PURE__ */ __exportAll({
19
19
  PageBreadcrumb: () => PageBreadcrumb,
20
20
  PageLastUpdate: () => PageLastUpdate
21
21
  });
22
- function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {}, footer = {}, full = false, tableOfContentPopover: { enabled: tocPopoverEnabled, component: tocPopover, ...tocPopoverOptions } = {}, tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {}, toc = [], children, className }) {
22
+ function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {}, footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {}, full = false, tableOfContentPopover: { enabled: tocPopoverEnabled, component: tocPopover, ...tocPopoverOptions } = {}, tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {}, toc = [], children, className }) {
23
23
  tocEnabled ??= !full && (toc.length > 0 || tocOptions.footer !== void 0 || tocOptions.header !== void 0);
24
24
  tocPopoverEnabled ??= toc.length > 0 || tocPopoverOptions.header !== void 0 || tocPopoverOptions.footer !== void 0;
25
25
  let wrapper = (children$1) => children$1;
@@ -41,7 +41,7 @@ function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component:
41
41
  children: [
42
42
  breadcrumbEnabled && (breadcrumb ?? /* @__PURE__ */ jsx(PageBreadcrumb, { ...breadcrumbProps })),
43
43
  children,
44
- footer.enabled !== false && (footer.component ?? /* @__PURE__ */ jsx(PageFooter, { items: footer.items }))
44
+ footerEnabled !== false && (footerReplace ?? /* @__PURE__ */ jsx(PageFooter, { ...footerProps }))
45
45
  ]
46
46
  }),
47
47
  tocEnabled && (tocReplace ?? /* @__PURE__ */ jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["children","TOCProvider","TOCScrollArea","TocClerk","TocDefault","I18nLabel"],"sources":["../../../../src/layouts/notebook/page/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '@fumadocs/ui/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Edit, Text } from 'lucide-react';\nimport { I18nLabel } from '@/contexts/i18n';\nimport {\n type BreadcrumbProps,\n type FooterProps,\n PageBreadcrumb,\n PageFooter,\n PageTOCPopover,\n PageTOCPopoverContent,\n PageTOCPopoverTrigger,\n} from './client';\nimport type { AnchorProviderProps, TOCItemType } from 'fumadocs-core/toc';\nimport * as TocDefault from '@/components/toc/default';\nimport * as TocClerk from '@/components/toc/clerk';\nimport { TOCProvider, TOCScrollArea } from '@/components/toc';\n\ninterface BreadcrumbOptions extends BreadcrumbProps {\n enabled: boolean;\n component: ReactNode;\n}\n\ninterface FooterOptions extends FooterProps {\n enabled: boolean;\n component: ReactNode;\n}\n\nexport interface DocsPageProps {\n toc?: TOCItemType[];\n tableOfContent?: Partial<TableOfContentOptions>;\n tableOfContentPopover?: Partial<TableOfContentPopoverOptions>;\n\n /**\n * Extend the page to fill all available space\n *\n * @defaultValue false\n */\n full?: boolean;\n\n /**\n * Replace or disable breadcrumb\n */\n breadcrumb?: Partial<BreadcrumbOptions>;\n\n /**\n * Footer navigation, you can disable it by passing `false`\n */\n footer?: Partial<FooterOptions>;\n\n children?: ReactNode;\n\n /**\n * Apply class names to the `#nd-page` container.\n */\n className?: string;\n}\n\ntype TableOfContentOptions = Pick<AnchorProviderProps, 'single'> & {\n /**\n * Custom content in TOC container, before the main TOC\n */\n header?: ReactNode;\n\n /**\n * Custom content in TOC container, after the main TOC\n */\n footer?: ReactNode;\n\n enabled: boolean;\n component: ReactNode;\n\n /**\n * @defaultValue 'normal'\n */\n style?: 'normal' | 'clerk';\n};\n\ntype TableOfContentPopoverOptions = Omit<TableOfContentOptions, 'single'>;\n\nexport function DocsPage({\n breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {},\n footer = {},\n full = false,\n tableOfContentPopover: {\n enabled: tocPopoverEnabled,\n component: tocPopover,\n ...tocPopoverOptions\n } = {},\n tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {},\n toc = [],\n children,\n className,\n}: DocsPageProps) {\n // disable TOC on full mode, you can still enable it with `enabled` option.\n tocEnabled ??=\n !full && (toc.length > 0 || tocOptions.footer !== undefined || tocOptions.header !== undefined);\n\n tocPopoverEnabled ??=\n toc.length > 0 ||\n tocPopoverOptions.header !== undefined ||\n tocPopoverOptions.footer !== undefined;\n\n let wrapper = (children: ReactNode) => children;\n\n if (tocEnabled || tocPopoverEnabled) {\n wrapper = (children) => (\n <TOCProvider single={tocOptions.single} toc={toc}>\n {children}\n </TOCProvider>\n );\n }\n\n return wrapper(\n <>\n {tocPopoverEnabled &&\n (tocPopover ?? (\n <PageTOCPopover>\n <PageTOCPopoverTrigger />\n <PageTOCPopoverContent>\n {tocPopoverOptions.header}\n <TOCScrollArea>\n {tocPopoverOptions.style === 'clerk' ? (\n <TocClerk.TOCItems />\n ) : (\n <TocDefault.TOCItems />\n )}\n </TOCScrollArea>\n {tocPopoverOptions.footer}\n </PageTOCPopoverContent>\n </PageTOCPopover>\n ))}\n <article\n id=\"nd-page\"\n data-full={full}\n className={cn(\n 'flex flex-col [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14 *:max-w-[900px]',\n full && '*:max-w-[1285px]',\n className,\n )}\n >\n {breadcrumbEnabled && (breadcrumb ?? <PageBreadcrumb {...breadcrumbProps} />)}\n {children}\n {footer.enabled !== false && (footer.component ?? <PageFooter items={footer.items} />)}\n </article>\n {tocEnabled &&\n (tocReplace ?? (\n <div\n id=\"nd-toc\"\n className=\"sticky top-(--fd-docs-row-3) [grid-area:toc] h-[calc(var(--fd-docs-height)-var(--fd-docs-row-3))] flex flex-col w-(--fd-toc-width) pt-12 pe-4 pb-2 xl:layout:[--fd-toc-width:268px] max-xl:hidden\"\n >\n {tocOptions.header}\n <h3\n id=\"toc-title\"\n className=\"inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground\"\n >\n <Text className=\"size-4\" />\n <I18nLabel label=\"toc\" />\n </h3>\n <TOCScrollArea>\n {tocOptions.style === 'clerk' ? <TocClerk.TOCItems /> : <TocDefault.TOCItems />}\n </TOCScrollArea>\n {tocOptions.footer}\n </div>\n ))}\n </>,\n );\n}\n\nexport function EditOnGitHub(props: ComponentProps<'a'>) {\n return (\n <a\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n {...props}\n className={cn(\n buttonVariants({\n color: 'secondary',\n size: 'sm',\n className: 'gap-1.5 not-prose',\n }),\n props.className,\n )}\n >\n {props.children ?? (\n <>\n <Edit className=\"size-3.5\" />\n <I18nLabel label=\"editOnGithub\" />\n </>\n )}\n </a>\n );\n}\n\n/**\n * Add typography styles\n */\nexport function DocsBody({ children, className, ...props }: ComponentProps<'div'>) {\n return (\n <div {...props} className={cn('prose flex-1', className)}>\n {children}\n </div>\n );\n}\n\nexport function DocsDescription({ children, className, ...props }: ComponentProps<'p'>) {\n // Don't render if no description provided\n if (children === undefined) return null;\n\n return (\n <p {...props} className={cn('mb-8 text-lg text-fd-muted-foreground', className)}>\n {children}\n </p>\n );\n}\n\nexport function DocsTitle({ children, className, ...props }: ComponentProps<'h1'>) {\n return (\n <h1 {...props} className={cn('text-[1.75em] font-semibold', className)}>\n {children}\n </h1>\n );\n}\n\nexport { PageLastUpdate, PageBreadcrumb } from './client';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiFA,SAAgB,SAAS,EACvB,YAAY,EAAE,SAAS,oBAAoB,MAAM,WAAW,YAAY,GAAG,oBAAoB,EAAE,EACjG,SAAS,EAAE,EACX,OAAO,OACP,uBAAuB,EACrB,SAAS,mBACT,WAAW,YACX,GAAG,sBACD,EAAE,EACN,gBAAgB,EAAE,SAAS,YAAY,WAAW,YAAY,GAAG,eAAe,EAAE,EAClF,MAAM,EAAE,EACR,UACA,aACgB;AAEhB,gBACE,CAAC,SAAS,IAAI,SAAS,KAAK,WAAW,WAAW,UAAa,WAAW,WAAW;AAEvF,uBACE,IAAI,SAAS,KACb,kBAAkB,WAAW,UAC7B,kBAAkB,WAAW;CAE/B,IAAI,WAAW,eAAwBA;AAEvC,KAAI,cAAc,kBAChB,YAAW,eACT,oBAACC;EAAY,QAAQ,WAAW;EAAa;YAC1CD;GACW;AAIlB,QAAO,QACL;EACG,sBACE,cACC,qBAAC,6BACC,oBAAC,0BAAwB,EACzB,qBAAC;GACE,kBAAkB;GACnB,oBAACE,uCACE,kBAAkB,UAAU,UAC3B,oBAACC,cAAS,aAAW,GAErB,oBAACC,gBAAW,aAAW,GAEX;GACf,kBAAkB;MACG,IACT;EAErB,qBAAC;GACC,IAAG;GACH,aAAW;GACX,WAAW,GACT,mGACA,QAAQ,oBACR,UACD;;IAEA,sBAAsB,cAAc,oBAAC,kBAAe,GAAI,kBAAmB;IAC3E;IACA,OAAO,YAAY,UAAU,OAAO,aAAa,oBAAC,cAAW,OAAO,OAAO,QAAS;;IAC7E;EACT,eACE,cACC,qBAAC;GACC,IAAG;GACH,WAAU;;IAET,WAAW;IACZ,qBAAC;KACC,IAAG;KACH,WAAU;gBAEV,oBAAC,QAAK,WAAU,WAAW,EAC3B,oBAACC,0BAAU,OAAM,QAAQ;MACtB;IACL,oBAACH,uCACE,WAAW,UAAU,UAAU,oBAACC,cAAS,aAAW,GAAG,oBAACC,gBAAW,aAAW,GACjE;IACf,WAAW;;IACR;KAET,CACJ;;AAGH,SAAgB,aAAa,OAA4B;AACvD,QACE,oBAAC;EACC,QAAO;EACP,KAAI;EACJ,GAAI;EACJ,WAAW,GACT,eAAe;GACb,OAAO;GACP,MAAM;GACN,WAAW;GACZ,CAAC,EACF,MAAM,UACP;YAEA,MAAM,YACL,4CACE,oBAAC,QAAK,WAAU,aAAa,EAC7B,oBAACC,0BAAU,OAAM,iBAAiB,IACjC;GAEH;;;;;AAOR,SAAgB,SAAS,EAAE,UAAU,WAAW,GAAG,SAAgC;AACjF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,gBAAgB,UAAU;EACrD;GACG;;AAIV,SAAgB,gBAAgB,EAAE,UAAU,WAAW,GAAG,SAA8B;AAEtF,KAAI,aAAa,OAAW,QAAO;AAEnC,QACE,oBAAC;EAAE,GAAI;EAAO,WAAW,GAAG,yCAAyC,UAAU;EAC5E;GACC;;AAIR,SAAgB,UAAU,EAAE,UAAU,WAAW,GAAG,SAA+B;AACjF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,+BAA+B,UAAU;EACnE;GACE"}
1
+ {"version":3,"file":"index.js","names":["children","TOCProvider","TOCScrollArea","TocClerk","TocDefault","I18nLabel"],"sources":["../../../../src/layouts/notebook/page/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '@fumadocs/ui/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Edit, Text } from 'lucide-react';\nimport { I18nLabel } from '@/contexts/i18n';\nimport {\n type BreadcrumbProps,\n type FooterProps,\n PageBreadcrumb,\n PageFooter,\n PageTOCPopover,\n PageTOCPopoverContent,\n PageTOCPopoverTrigger,\n} from './client';\nimport type { AnchorProviderProps, TOCItemType } from 'fumadocs-core/toc';\nimport * as TocDefault from '@/components/toc/default';\nimport * as TocClerk from '@/components/toc/clerk';\nimport { TOCProvider, TOCScrollArea } from '@/components/toc';\n\ninterface BreadcrumbOptions extends BreadcrumbProps {\n enabled: boolean;\n component: ReactNode;\n}\n\ninterface FooterOptions extends FooterProps {\n enabled: boolean;\n component: ReactNode;\n}\n\nexport interface DocsPageProps {\n toc?: TOCItemType[];\n tableOfContent?: Partial<TableOfContentOptions>;\n tableOfContentPopover?: Partial<TableOfContentPopoverOptions>;\n\n /**\n * Extend the page to fill all available space\n *\n * @defaultValue false\n */\n full?: boolean;\n\n /**\n * Replace or disable breadcrumb\n */\n breadcrumb?: Partial<BreadcrumbOptions>;\n\n /**\n * Footer navigation, located under the page body.\n *\n * You can specify `footer.children` to add extra components under the footer.\n */\n footer?: Partial<FooterOptions>;\n\n children?: ReactNode;\n\n /**\n * Apply class names to the `#nd-page` container.\n */\n className?: string;\n}\n\ntype TableOfContentOptions = Pick<AnchorProviderProps, 'single'> & {\n /**\n * Custom content in TOC container, before the main TOC\n */\n header?: ReactNode;\n\n /**\n * Custom content in TOC container, after the main TOC\n */\n footer?: ReactNode;\n\n enabled: boolean;\n component: ReactNode;\n\n /**\n * @defaultValue 'normal'\n */\n style?: 'normal' | 'clerk';\n};\n\ntype TableOfContentPopoverOptions = Omit<TableOfContentOptions, 'single'>;\n\nexport function DocsPage({\n breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {},\n footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {},\n full = false,\n tableOfContentPopover: {\n enabled: tocPopoverEnabled,\n component: tocPopover,\n ...tocPopoverOptions\n } = {},\n tableOfContent: { enabled: tocEnabled, component: tocReplace, ...tocOptions } = {},\n toc = [],\n children,\n className,\n}: DocsPageProps) {\n // disable TOC on full mode, you can still enable it with `enabled` option.\n tocEnabled ??=\n !full && (toc.length > 0 || tocOptions.footer !== undefined || tocOptions.header !== undefined);\n\n tocPopoverEnabled ??=\n toc.length > 0 ||\n tocPopoverOptions.header !== undefined ||\n tocPopoverOptions.footer !== undefined;\n\n let wrapper = (children: ReactNode) => children;\n\n if (tocEnabled || tocPopoverEnabled) {\n wrapper = (children) => (\n <TOCProvider single={tocOptions.single} toc={toc}>\n {children}\n </TOCProvider>\n );\n }\n\n return wrapper(\n <>\n {tocPopoverEnabled &&\n (tocPopover ?? (\n <PageTOCPopover>\n <PageTOCPopoverTrigger />\n <PageTOCPopoverContent>\n {tocPopoverOptions.header}\n <TOCScrollArea>\n {tocPopoverOptions.style === 'clerk' ? (\n <TocClerk.TOCItems />\n ) : (\n <TocDefault.TOCItems />\n )}\n </TOCScrollArea>\n {tocPopoverOptions.footer}\n </PageTOCPopoverContent>\n </PageTOCPopover>\n ))}\n <article\n id=\"nd-page\"\n data-full={full}\n className={cn(\n 'flex flex-col [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14 *:max-w-[900px]',\n full && '*:max-w-[1285px]',\n className,\n )}\n >\n {breadcrumbEnabled && (breadcrumb ?? <PageBreadcrumb {...breadcrumbProps} />)}\n {children}\n {footerEnabled !== false && (footerReplace ?? <PageFooter {...footerProps} />)}\n </article>\n {tocEnabled &&\n (tocReplace ?? (\n <div\n id=\"nd-toc\"\n className=\"sticky top-(--fd-docs-row-3) [grid-area:toc] h-[calc(var(--fd-docs-height)-var(--fd-docs-row-3))] flex flex-col w-(--fd-toc-width) pt-12 pe-4 pb-2 xl:layout:[--fd-toc-width:268px] max-xl:hidden\"\n >\n {tocOptions.header}\n <h3\n id=\"toc-title\"\n className=\"inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground\"\n >\n <Text className=\"size-4\" />\n <I18nLabel label=\"toc\" />\n </h3>\n <TOCScrollArea>\n {tocOptions.style === 'clerk' ? <TocClerk.TOCItems /> : <TocDefault.TOCItems />}\n </TOCScrollArea>\n {tocOptions.footer}\n </div>\n ))}\n </>,\n );\n}\n\nexport function EditOnGitHub(props: ComponentProps<'a'>) {\n return (\n <a\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n {...props}\n className={cn(\n buttonVariants({\n color: 'secondary',\n size: 'sm',\n className: 'gap-1.5 not-prose',\n }),\n props.className,\n )}\n >\n {props.children ?? (\n <>\n <Edit className=\"size-3.5\" />\n <I18nLabel label=\"editOnGithub\" />\n </>\n )}\n </a>\n );\n}\n\n/**\n * Add typography styles\n */\nexport function DocsBody({ children, className, ...props }: ComponentProps<'div'>) {\n return (\n <div {...props} className={cn('prose flex-1', className)}>\n {children}\n </div>\n );\n}\n\nexport function DocsDescription({ children, className, ...props }: ComponentProps<'p'>) {\n // Don't render if no description provided\n if (children === undefined) return null;\n\n return (\n <p {...props} className={cn('mb-8 text-lg text-fd-muted-foreground', className)}>\n {children}\n </p>\n );\n}\n\nexport function DocsTitle({ children, className, ...props }: ComponentProps<'h1'>) {\n return (\n <h1 {...props} className={cn('text-[1.75em] font-semibold', className)}>\n {children}\n </h1>\n );\n}\n\nexport { PageLastUpdate, PageBreadcrumb } from './client';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmFA,SAAgB,SAAS,EACvB,YAAY,EAAE,SAAS,oBAAoB,MAAM,WAAW,YAAY,GAAG,oBAAoB,EAAE,EACjG,QAAQ,EAAE,SAAS,eAAe,WAAW,eAAe,GAAG,gBAAgB,EAAE,EACjF,OAAO,OACP,uBAAuB,EACrB,SAAS,mBACT,WAAW,YACX,GAAG,sBACD,EAAE,EACN,gBAAgB,EAAE,SAAS,YAAY,WAAW,YAAY,GAAG,eAAe,EAAE,EAClF,MAAM,EAAE,EACR,UACA,aACgB;AAEhB,gBACE,CAAC,SAAS,IAAI,SAAS,KAAK,WAAW,WAAW,UAAa,WAAW,WAAW;AAEvF,uBACE,IAAI,SAAS,KACb,kBAAkB,WAAW,UAC7B,kBAAkB,WAAW;CAE/B,IAAI,WAAW,eAAwBA;AAEvC,KAAI,cAAc,kBAChB,YAAW,eACT,oBAACC;EAAY,QAAQ,WAAW;EAAa;YAC1CD;GACW;AAIlB,QAAO,QACL;EACG,sBACE,cACC,qBAAC,6BACC,oBAAC,0BAAwB,EACzB,qBAAC;GACE,kBAAkB;GACnB,oBAACE,uCACE,kBAAkB,UAAU,UAC3B,oBAACC,cAAS,aAAW,GAErB,oBAACC,gBAAW,aAAW,GAEX;GACf,kBAAkB;MACG,IACT;EAErB,qBAAC;GACC,IAAG;GACH,aAAW;GACX,WAAW,GACT,mGACA,QAAQ,oBACR,UACD;;IAEA,sBAAsB,cAAc,oBAAC,kBAAe,GAAI,kBAAmB;IAC3E;IACA,kBAAkB,UAAU,iBAAiB,oBAAC,cAAW,GAAI,cAAe;;IACrE;EACT,eACE,cACC,qBAAC;GACC,IAAG;GACH,WAAU;;IAET,WAAW;IACZ,qBAAC;KACC,IAAG;KACH,WAAU;gBAEV,oBAAC,QAAK,WAAU,WAAW,EAC3B,oBAACC,0BAAU,OAAM,QAAQ;MACtB;IACL,oBAACH,uCACE,WAAW,UAAU,UAAU,oBAACC,cAAS,aAAW,GAAG,oBAACC,gBAAW,aAAW,GACjE;IACf,WAAW;;IACR;KAET,CACJ;;AAGH,SAAgB,aAAa,OAA4B;AACvD,QACE,oBAAC;EACC,QAAO;EACP,KAAI;EACJ,GAAI;EACJ,WAAW,GACT,eAAe;GACb,OAAO;GACP,MAAM;GACN,WAAW;GACZ,CAAC,EACF,MAAM,UACP;YAEA,MAAM,YACL,4CACE,oBAAC,QAAK,WAAU,aAAa,EAC7B,oBAACC,0BAAU,OAAM,iBAAiB,IACjC;GAEH;;;;;AAOR,SAAgB,SAAS,EAAE,UAAU,WAAW,GAAG,SAAgC;AACjF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,gBAAgB,UAAU;EACrD;GACG;;AAIV,SAAgB,gBAAgB,EAAE,UAAU,WAAW,GAAG,SAA8B;AAEtF,KAAI,aAAa,OAAW,QAAO;AAEnC,QACE,oBAAC;EAAE,GAAI;EAAO,WAAW,GAAG,yCAAyC,UAAU;EAC5E;GACC;;AAIR,SAAgB,UAAU,EAAE,UAAU,WAAW,GAAG,SAA+B;AACjF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,+BAA+B,UAAU;EACnE;GACE"}