@fumadocs/base-ui 16.5.1 → 16.5.2

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 (182) hide show
  1. package/dist/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +3 -3
  2. package/dist/components/accordion.d.ts +3 -3
  3. package/dist/components/accordion.d.ts.map +1 -1
  4. package/dist/components/accordion.js +2 -2
  5. package/dist/components/accordion.js.map +1 -1
  6. package/dist/components/banner.d.ts +2 -2
  7. package/dist/components/banner.d.ts.map +1 -1
  8. package/dist/components/callout.d.ts +5 -5
  9. package/dist/components/callout.d.ts.map +1 -1
  10. package/dist/components/card.d.ts +3 -3
  11. package/dist/components/card.d.ts.map +1 -1
  12. package/dist/components/codeblock.d.ts +7 -7
  13. package/dist/components/codeblock.d.ts.map +1 -1
  14. package/dist/components/codeblock.js +3 -3
  15. package/dist/components/codeblock.js.map +1 -1
  16. package/dist/components/dialog/search-algolia.d.ts +2 -2
  17. package/dist/components/dialog/search-algolia.d.ts.map +1 -1
  18. package/dist/components/dialog/search-algolia.js +4 -4
  19. package/dist/components/dialog/search-algolia.js.map +1 -1
  20. package/dist/components/dialog/search-default.d.ts +2 -2
  21. package/dist/components/dialog/search-default.d.ts.map +1 -1
  22. package/dist/components/dialog/search-default.js +4 -4
  23. package/dist/components/dialog/search-default.js.map +1 -1
  24. package/dist/components/dialog/search-orama.d.ts +2 -2
  25. package/dist/components/dialog/search-orama.d.ts.map +1 -1
  26. package/dist/components/dialog/search-orama.js +4 -4
  27. package/dist/components/dialog/search-orama.js.map +1 -1
  28. package/dist/components/dialog/search.d.ts +13 -13
  29. package/dist/components/dialog/search.d.ts.map +1 -1
  30. package/dist/components/dialog/search.js +4 -4
  31. package/dist/components/dialog/search.js.map +1 -1
  32. package/dist/components/dynamic-codeblock.core.d.ts +2 -2
  33. package/dist/components/dynamic-codeblock.core.d.ts.map +1 -1
  34. package/dist/components/dynamic-codeblock.core.js +2 -2
  35. package/dist/components/dynamic-codeblock.core.js.map +1 -1
  36. package/dist/components/dynamic-codeblock.d.ts +2 -2
  37. package/dist/components/dynamic-codeblock.d.ts.map +1 -1
  38. package/dist/components/files.d.ts.map +1 -1
  39. package/dist/components/github-info.d.ts +2 -2
  40. package/dist/components/github-info.d.ts.map +1 -1
  41. package/dist/components/heading.d.ts.map +1 -1
  42. package/dist/components/image-zoom.d.ts +2 -2
  43. package/dist/components/image-zoom.d.ts.map +1 -1
  44. package/dist/components/inline-toc.d.ts +2 -2
  45. package/dist/components/inline-toc.d.ts.map +1 -1
  46. package/dist/components/sidebar/base.d.ts +15 -15
  47. package/dist/components/sidebar/base.d.ts.map +1 -1
  48. package/dist/components/sidebar/base.js +1 -1
  49. package/dist/components/sidebar/link-item.d.ts +2 -2
  50. package/dist/components/sidebar/link-item.d.ts.map +1 -1
  51. package/dist/components/sidebar/page-tree.d.ts +2 -2
  52. package/dist/components/sidebar/page-tree.d.ts.map +1 -1
  53. package/dist/components/sidebar/tabs/dropdown.d.ts +2 -2
  54. package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -1
  55. package/dist/components/sidebar/tabs/dropdown.js +12 -12
  56. package/dist/components/sidebar/tabs/dropdown.js.map +1 -1
  57. package/dist/components/sidebar/tabs/index.d.ts.map +1 -1
  58. package/dist/components/steps.d.ts +3 -3
  59. package/dist/components/steps.d.ts.map +1 -1
  60. package/dist/components/tabs.d.ts +7 -7
  61. package/dist/components/tabs.d.ts.map +1 -1
  62. package/dist/components/toc/clerk.d.ts +2 -2
  63. package/dist/components/toc/clerk.d.ts.map +1 -1
  64. package/dist/components/toc/default.d.ts +2 -2
  65. package/dist/components/toc/default.d.ts.map +1 -1
  66. package/dist/components/toc/index.d.ts +4 -4
  67. package/dist/components/toc/index.d.ts.map +1 -1
  68. package/dist/components/type-table.d.ts +2 -2
  69. package/dist/components/type-table.d.ts.map +1 -1
  70. package/dist/components/ui/accordion.d.ts +6 -6
  71. package/dist/components/ui/accordion.d.ts.map +1 -1
  72. package/dist/components/ui/button.d.ts +1 -1
  73. package/dist/components/ui/button.d.ts.map +1 -1
  74. package/dist/components/ui/collapsible.d.ts +6 -6
  75. package/dist/components/ui/collapsible.d.ts.map +1 -1
  76. package/dist/components/ui/navigation-menu.d.ts +7 -7
  77. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  78. package/dist/components/ui/popover.d.ts +3 -3
  79. package/dist/components/ui/popover.d.ts.map +1 -1
  80. package/dist/components/ui/scroll-area.d.ts +4 -4
  81. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  82. package/dist/components/ui/tabs.d.ts +6 -6
  83. package/dist/components/ui/tabs.d.ts.map +1 -1
  84. package/dist/components/ui/tabs.js +2 -2
  85. package/dist/components/ui/tabs.js.map +1 -1
  86. package/dist/contexts/i18n.d.ts +2 -2
  87. package/dist/contexts/i18n.d.ts.map +1 -1
  88. package/dist/contexts/search.d.ts +2 -2
  89. package/dist/contexts/search.d.ts.map +1 -1
  90. package/dist/contexts/tree.d.ts +2 -2
  91. package/dist/contexts/tree.d.ts.map +1 -1
  92. package/dist/i18n.d.ts.map +1 -1
  93. package/dist/i18n.js +3 -3
  94. package/dist/i18n.js.map +1 -1
  95. package/dist/layouts/docs/client.d.ts +7 -7
  96. package/dist/layouts/docs/client.d.ts.map +1 -1
  97. package/dist/layouts/docs/index.d.ts +2 -2
  98. package/dist/layouts/docs/index.d.ts.map +1 -1
  99. package/dist/layouts/docs/index.js +3 -3
  100. package/dist/layouts/docs/page/client.d.ts +7 -7
  101. package/dist/layouts/docs/page/client.d.ts.map +1 -1
  102. package/dist/layouts/docs/page/index.d.ts +5 -5
  103. package/dist/layouts/docs/page/index.d.ts.map +1 -1
  104. package/dist/layouts/docs/page/index.js +4 -4
  105. package/dist/layouts/docs/page/index.js.map +1 -1
  106. package/dist/layouts/docs/sidebar.d.ts +17 -17
  107. package/dist/layouts/docs/sidebar.d.ts.map +1 -1
  108. package/dist/layouts/flux/index.d.ts +4 -4
  109. package/dist/layouts/flux/index.d.ts.map +1 -1
  110. package/dist/layouts/flux/index.js +6 -6
  111. package/dist/layouts/flux/index.js.map +1 -1
  112. package/dist/layouts/flux/page/client.d.ts +8 -8
  113. package/dist/layouts/flux/page/client.d.ts.map +1 -1
  114. package/dist/layouts/flux/page/index.d.ts +5 -5
  115. package/dist/layouts/flux/page/index.d.ts.map +1 -1
  116. package/dist/layouts/flux/page/index.js +3 -3
  117. package/dist/layouts/flux/page/index.js.map +1 -1
  118. package/dist/layouts/flux/sidebar.d.ts +16 -16
  119. package/dist/layouts/flux/sidebar.d.ts.map +1 -1
  120. package/dist/layouts/flux/tab-dropdown.d.ts +2 -2
  121. package/dist/layouts/flux/tab-dropdown.d.ts.map +1 -1
  122. package/dist/layouts/flux/tab-dropdown.js +12 -12
  123. package/dist/layouts/flux/tab-dropdown.js.map +1 -1
  124. package/dist/layouts/home/client.d.ts +3 -3
  125. package/dist/layouts/home/client.d.ts.map +1 -1
  126. package/dist/layouts/home/client.js +1 -1
  127. package/dist/layouts/home/index.d.ts +2 -2
  128. package/dist/layouts/home/index.d.ts.map +1 -1
  129. package/dist/layouts/home/navbar.d.ts +7 -7
  130. package/dist/layouts/home/navbar.d.ts.map +1 -1
  131. package/dist/layouts/notebook/client.d.ts +8 -8
  132. package/dist/layouts/notebook/client.d.ts.map +1 -1
  133. package/dist/layouts/notebook/client.js +2 -2
  134. package/dist/layouts/notebook/client.js.map +1 -1
  135. package/dist/layouts/notebook/index.d.ts +2 -2
  136. package/dist/layouts/notebook/index.d.ts.map +1 -1
  137. package/dist/layouts/notebook/index.js +8 -8
  138. package/dist/layouts/notebook/index.js.map +1 -1
  139. package/dist/layouts/notebook/page/client.d.ts +7 -7
  140. package/dist/layouts/notebook/page/client.d.ts.map +1 -1
  141. package/dist/layouts/notebook/page/index.d.ts +5 -5
  142. package/dist/layouts/notebook/page/index.d.ts.map +1 -1
  143. package/dist/layouts/notebook/page/index.js +4 -4
  144. package/dist/layouts/notebook/page/index.js.map +1 -1
  145. package/dist/layouts/notebook/sidebar.d.ts +12 -12
  146. package/dist/layouts/notebook/sidebar.d.ts.map +1 -1
  147. package/dist/layouts/shared/index.d.ts +3 -3
  148. package/dist/layouts/shared/index.d.ts.map +1 -1
  149. package/dist/layouts/shared/language-toggle.d.ts +2 -2
  150. package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
  151. package/dist/layouts/shared/search-toggle.d.ts +3 -3
  152. package/dist/layouts/shared/search-toggle.d.ts.map +1 -1
  153. package/dist/layouts/shared/theme-toggle.d.ts +2 -2
  154. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -1
  155. package/dist/layouts/shared/theme-toggle.js +3 -3
  156. package/dist/layouts/shared/theme-toggle.js.map +1 -1
  157. package/dist/mdx.d.ts.map +1 -1
  158. package/dist/mdx.server.d.ts +0 -1
  159. package/dist/mdx.server.d.ts.map +1 -1
  160. package/dist/og.d.ts +2 -2
  161. package/dist/og.d.ts.map +1 -1
  162. package/dist/page.d.ts +3 -3
  163. package/dist/page.d.ts.map +1 -1
  164. package/dist/page.js +3 -3
  165. package/dist/page.js.map +1 -1
  166. package/dist/provider/base.d.ts +2 -2
  167. package/dist/provider/base.d.ts.map +1 -1
  168. package/dist/provider/next.d.ts +2 -2
  169. package/dist/provider/next.d.ts.map +1 -1
  170. package/dist/provider/react-router.d.ts +2 -2
  171. package/dist/provider/react-router.d.ts.map +1 -1
  172. package/dist/provider/tanstack.d.ts +2 -2
  173. package/dist/provider/tanstack.d.ts.map +1 -1
  174. package/dist/provider/waku.d.ts +2 -2
  175. package/dist/provider/waku.d.ts.map +1 -1
  176. package/dist/utils/link-item.d.ts +2 -2
  177. package/dist/utils/link-item.d.ts.map +1 -1
  178. package/dist/utils/use-copy-button.d.ts.map +1 -1
  179. package/dist/utils/use-footer-items.d.ts +0 -1
  180. package/dist/utils/use-footer-items.d.ts.map +1 -1
  181. package/dist/utils/use-is-scroll-top.d.ts.map +1 -1
  182. package/package.json +9 -9
@@ -1,6 +1,6 @@
1
1
  import { BreadcrumbProps, FooterProps, PageBreadcrumb, PageLastUpdate } from "./client.js";
2
2
  import { ComponentProps, ReactNode } from "react";
3
- import * as react_jsx_runtime87 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import { AnchorProviderProps, TOCItemType } from "fumadocs-core/toc";
5
5
 
6
6
  //#region src/layouts/flux/page/index.d.ts
@@ -74,7 +74,7 @@ declare function DocsPage({
74
74
  children,
75
75
  className
76
76
  }: DocsPageProps): ReactNode;
77
- declare function EditOnGitHub(props: ComponentProps<'a'>): react_jsx_runtime87.JSX.Element;
77
+ declare function EditOnGitHub(props: ComponentProps<'a'>): react_jsx_runtime0.JSX.Element;
78
78
  /**
79
79
  * Add typography styles
80
80
  */
@@ -82,17 +82,17 @@ declare function DocsBody({
82
82
  children,
83
83
  className,
84
84
  ...props
85
- }: ComponentProps<'div'>): react_jsx_runtime87.JSX.Element;
85
+ }: ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
86
86
  declare function DocsDescription({
87
87
  children,
88
88
  className,
89
89
  ...props
90
- }: ComponentProps<'p'>): react_jsx_runtime87.JSX.Element | null;
90
+ }: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element | null;
91
91
  declare function DocsTitle({
92
92
  children,
93
93
  className,
94
94
  ...props
95
- }: ComponentProps<'h1'>): react_jsx_runtime87.JSX.Element;
95
+ }: ComponentProps<'h1'>): react_jsx_runtime0.JSX.Element;
96
96
  //#endregion
97
97
  export { DocsBody, DocsDescription, DocsPage, DocsPageProps, DocsTitle, EditOnGitHub, PageBreadcrumb, PageLastUpdate };
98
98
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/layouts/flux/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;EAYI,GAAA,CAAA,EAbf,WAae,EAAA;EAAR,cAAA,CAAA,EAZI,OAYJ,CAZY,qBAYZ,CAAA;EAOI;;;;AAQlB;EAE4C,IAAA,CAAA,EAAA,OAAA;EAIlC;;;EAJ6B,UAAA,CAAA,EAjBzB,OAiByB,CAjBjB,iBAiBiB,CAAA;EAAI;AAoB5C;;;;EAE+C,MAAA,CAAA,EAhCpC,OAgCoC,CAhC5B,aAgC4B,CAAA;EAC7C,QAAA,CAAA,EA/BW,SA+BX;EAC2B;;;EAE3B,SAAA,CAAA,EAAA,MAAA;;UA1BQ,qBAAA,SAA8B,IA4BrC,CA5B0C,mBA4B1C,EAAA,QAAA,CAAA,CAAA;EAAa;;AA8ChB;EA4BgB,MAAA,CAAA,EAlGL,SAkGa;EAAG;;;EAAsD,MAAA,CAAA,EA7FtE,SA6FsE;EAAA,OAAA,EAAA,OAAA;EAQjE,SAAA,EAlGH,SAkGkB;EAAG;;;EAAoD,KAAA,CAAA,EAAA,QAAA,GAAA,OAAA;;AAWtE,iBArGA,QAAA,CAqGS;EAAA,UAAA,EAAA;IAAA,OAAA,EApGA,iBAoGA;IAAA,SAAA,EApGqC,UAoGrC;IAAA,GAAA;EAAA,CAAA;EAAA,MAAA,EAAA;IAAA,OAAA,EAnGJ,aAmGI;IAAA,SAAA,EAnGsB,aAmGtB;IAAA,GAAA;EAAA,CAAA;EAAA,IAAA;EAAA,cAAA,EAAA;IAAA,OAAA,EAjGI,iBAiGJ;IAAA,SAAA,EAjGkC,UAiGlC;IAAA,GAAA;EAAA,CAAA;EAAA,GAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EA7FtB,aA6FsB,CAAA,EA7FT,SA6FS;AAAG,iBA/CZ,YAAA,CA+CY,KAAA,EA/CQ,cA+CR,CAAA,GAAA,CAAA,CAAA,EA/C2B,mBAAA,CAAA,GAAA,CAAA,OA+C3B;;;;AAAqD,iBAnBjE,QAAA,CAmBiE;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAnBrB,cAmBqB,CAAA,KAAA,CAAA,CAAA,EAnBA,mBAAA,CAAA,GAAA,CAAA,OAmBA;iBAXjE,eAAA;;;;GAAmD,sBAAmB,mBAAA,CAAA,GAAA,CAAA,OAAA;iBAWtE,SAAA;;;;GAA6C,uBAAoB,mBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/layouts/flux/page/index.tsx"],"mappings":";;;;;;UAmBU,iBAAA,SAA0B,eAAA;EAClC,OAAA;EACA,SAAA,EAAW,SAAA;AAAA;AAAA,UAGH,aAAA,SAAsB,WAAA;EAC9B,OAAA;EACA,SAAA,EAAW,SAAA;AAAA;AAAA,UAGI,aAAA;EACf,GAAA,GAAM,WAAA;EACN,cAAA,GAAiB,OAAA,CAAQ,qBAAA;EAVL;;AAAA;;;EAiBpB,IAAA;EAd8B;;;EAmB9B,UAAA,GAAa,OAAA,CAAQ,iBAAA;EAjBD;;AAGtB;;;EAqBE,MAAA,GAAS,OAAA,CAAQ,aAAA;EAEjB,QAAA,GAAW,SAAA;EArBM;;;EA0BjB,SAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,IAAA,CAAK,mBAAA;EARvB;;;EAYpB,MAAA,GAAS,SAAA;EAjCT;;;EAsCA,MAAA,GAAS,SAAA;EAET,OAAA;EACA,SAAA,EAAW,SAAA;EA7BU;;;EAkCrB,KAAA;AAAA;AAAA,iBAGc,QAAA,CAAA;EACd,UAAA;IAAc,OAAA,EAAS,iBAAA;IAA0B,SAAA,EAAW,UAAA;IAAA,GAAe;EAAA;EAC3E,MAAA;IAAU,OAAA,EAAS,aAAA;IAAe,SAAA,EAAW,aAAA;IAAA,GAAkB;EAAA;EAC/D,IAAA;EACA,cAAA;IAAkB,OAAA,EAAS,iBAAA;IAAmB,SAAA,EAAW,UAAA;IAAA,GAAe;EAAA;EACxE,GAAA;EACA,QAAA;EACA;AAAA,GACC,aAAA,GAAa,SAAA;AAAA,iBA8CA,YAAA,CAAa,KAAA,EAAO,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;AA5EtD;iBAwGe,QAAA,CAAA;EAAW,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQjE,eAAA,CAAA;EAAkB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAWtE,SAAA,CAAA;EAAY,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -11,11 +11,11 @@ import { Edit } from "lucide-react";
11
11
  //#region src/layouts/flux/page/index.tsx
12
12
  function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {}, footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {}, full = false, tableOfContent: { enabled: tocPopoverEnabled, component: tocPopover, ...tocOptions } = {}, toc = [], children, className }) {
13
13
  tocPopoverEnabled ??= toc.length > 0 || tocOptions.header !== void 0 || tocOptions.footer !== void 0;
14
- let wrapper = (children$1) => children$1;
15
- if (tocPopoverEnabled) wrapper = (children$1) => /* @__PURE__ */ jsx(TOCProvider, {
14
+ let wrapper = (children) => children;
15
+ if (tocPopoverEnabled) wrapper = (children) => /* @__PURE__ */ jsx(TOCProvider, {
16
16
  single: tocOptions.single,
17
17
  toc,
18
- children: children$1
18
+ children
19
19
  });
20
20
  return wrapper(/* @__PURE__ */ jsxs(Fragment, { children: [tocPopoverEnabled && (tocPopover ?? /* @__PURE__ */ jsxs(PageTOCPopover, { children: [/* @__PURE__ */ jsxs(PageTOCPopoverContent, { children: [
21
21
  tocOptions.header,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["children","TocClerk.TOCItems","TocDefault.TOCItems"],"sources":["../../../../src/layouts/flux/page/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '@/utils/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Edit } 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\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\ninterface TableOfContentOptions extends 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\nexport function DocsPage({\n breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {},\n footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {},\n full = false,\n tableOfContent: { enabled: tocPopoverEnabled, component: tocPopover, ...tocOptions } = {},\n toc = [],\n children,\n className,\n}: DocsPageProps) {\n tocPopoverEnabled ??=\n toc.length > 0 || tocOptions.header !== undefined || tocOptions.footer !== undefined;\n\n let wrapper = (children: ReactNode) => children;\n\n if (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 <PageTOCPopoverContent>\n {tocOptions.header}\n <TOCScrollArea>\n {tocOptions.style === 'clerk' ? <TocClerk.TOCItems /> : <TocDefault.TOCItems />}\n </TOCScrollArea>\n {tocOptions.footer}\n </PageTOCPopoverContent>\n <PageTOCPopoverTrigger />\n </PageTOCPopover>\n ))}\n <article\n id=\"nd-page\"\n data-full={full}\n className={cn(\n 'flex flex-col w-full max-w-[900px] mx-auto [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14',\n full ? 'max-w-[1200px]' : 'xl:layout:[--fd-toc-width:268px]',\n className,\n )}\n >\n {breadcrumbEnabled && (breadcrumb ?? <PageBreadcrumb {...breadcrumbProps} />)}\n {children}\n {footerEnabled !== false && (footerReplace ?? <PageFooter {...footerProps} />)}\n </article>\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":";;;;;;;;;;;AAgFA,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,gBAAgB,EAAE,SAAS,mBAAmB,WAAW,YAAY,GAAG,eAAe,EAAE,EACzF,MAAM,EAAE,EACR,UACA,aACgB;AAChB,uBACE,IAAI,SAAS,KAAK,WAAW,WAAW,UAAa,WAAW,WAAW;CAE7E,IAAI,WAAW,eAAwBA;AAEvC,KAAI,kBACF,YAAW,eACT,oBAAC;EAAY,QAAQ,WAAW;EAAa;YAC1CA;GACW;AAIlB,QAAO,QACL,4CACG,sBACE,cACC,qBAAC,6BACC,qBAAC;EACE,WAAW;EACZ,oBAAC,2BACE,WAAW,UAAU,UAAU,oBAACC,eAAoB,GAAG,oBAACC,aAAsB,GACjE;EACf,WAAW;KACU,EACxB,oBAAC,0BAAwB,IACV,GAErB,qBAAC;EACC,IAAG;EACH,aAAW;EACX,WAAW,GACT,gHACA,OAAO,mBAAmB,oCAC1B,UACD;;GAEA,sBAAsB,cAAc,oBAAC,kBAAe,GAAI,kBAAmB;GAC3E;GACA,kBAAkB,UAAU,iBAAiB,oBAAC,cAAW,GAAI,cAAe;;GACrE,IACT,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,oBAAC,aAAU,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":["TocClerk.TOCItems","TocDefault.TOCItems"],"sources":["../../../../src/layouts/flux/page/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '@/utils/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Edit } 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\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\ninterface TableOfContentOptions extends 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\nexport function DocsPage({\n breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {},\n footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {},\n full = false,\n tableOfContent: { enabled: tocPopoverEnabled, component: tocPopover, ...tocOptions } = {},\n toc = [],\n children,\n className,\n}: DocsPageProps) {\n tocPopoverEnabled ??=\n toc.length > 0 || tocOptions.header !== undefined || tocOptions.footer !== undefined;\n\n let wrapper = (children: ReactNode) => children;\n\n if (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 <PageTOCPopoverContent>\n {tocOptions.header}\n <TOCScrollArea>\n {tocOptions.style === 'clerk' ? <TocClerk.TOCItems /> : <TocDefault.TOCItems />}\n </TOCScrollArea>\n {tocOptions.footer}\n </PageTOCPopoverContent>\n <PageTOCPopoverTrigger />\n </PageTOCPopover>\n ))}\n <article\n id=\"nd-page\"\n data-full={full}\n className={cn(\n 'flex flex-col w-full max-w-[900px] mx-auto [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14',\n full ? 'max-w-[1200px]' : 'xl:layout:[--fd-toc-width:268px]',\n className,\n )}\n >\n {breadcrumbEnabled && (breadcrumb ?? <PageBreadcrumb {...breadcrumbProps} />)}\n {children}\n {footerEnabled !== false && (footerReplace ?? <PageFooter {...footerProps} />)}\n </article>\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":";;;;;;;;;;;AAgFA,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,gBAAgB,EAAE,SAAS,mBAAmB,WAAW,YAAY,GAAG,eAAe,EAAE,EACzF,MAAM,EAAE,EACR,UACA,aACgB;AAChB,uBACE,IAAI,SAAS,KAAK,WAAW,WAAW,UAAa,WAAW,WAAW;CAE7E,IAAI,WAAW,aAAwB;AAEvC,KAAI,kBACF,YAAW,aACT,oBAAC;EAAY,QAAQ,WAAW;EAAa;EAC1C;GACW;AAIlB,QAAO,QACL,4CACG,sBACE,cACC,qBAAC,6BACC,qBAAC;EACE,WAAW;EACZ,oBAAC,2BACE,WAAW,UAAU,UAAU,oBAACA,eAAoB,GAAG,oBAACC,aAAsB,GACjE;EACf,WAAW;KACU,EACxB,oBAAC,0BAAwB,IACV,GAErB,qBAAC;EACC,IAAG;EACH,aAAW;EACX,WAAW,GACT,gHACA,OAAO,mBAAmB,oCAC1B,UACD;;GAEA,sBAAsB,cAAc,oBAAC,kBAAe,GAAI,kBAAmB;GAC3E;GACA,kBAAkB,UAAU,iBAAiB,oBAAC,cAAW,GAAI,cAAe;;GACrE,IACT,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,oBAAC,aAAU,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"}
@@ -2,58 +2,58 @@ import { SidebarCollapseTrigger as SidebarCollapseTrigger$1, SidebarFolder as Si
2
2
  import { LinkItemType } from "../../utils/link-item.js";
3
3
  import { SidebarPageTreeComponents } from "../../components/sidebar/page-tree.js";
4
4
  import "../shared/index.js";
5
- import * as react9 from "react";
5
+ import * as react from "react";
6
6
  import { ComponentProps } from "react";
7
- import * as react_jsx_runtime59 from "react/jsx-runtime";
7
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
8
8
 
9
9
  //#region src/layouts/flux/sidebar.d.ts
10
- declare function Sidebar(props: ComponentProps<typeof SidebarProvider>): react_jsx_runtime59.JSX.Element;
11
- declare function SidebarFolder(props: ComponentProps<typeof SidebarFolder$1>): react_jsx_runtime59.JSX.Element;
12
- declare function SidebarCollapseTrigger(props: ComponentProps<typeof SidebarCollapseTrigger$1>): react_jsx_runtime59.JSX.Element;
13
- declare function SidebarViewport(props: ComponentProps<typeof SidebarViewport$1>): react_jsx_runtime59.JSX.Element;
14
- declare function SidebarTrigger(props: ComponentProps<typeof SidebarTrigger$1>): react_jsx_runtime59.JSX.Element;
10
+ declare function Sidebar(props: ComponentProps<typeof SidebarProvider>): react_jsx_runtime0.JSX.Element;
11
+ declare function SidebarFolder(props: ComponentProps<typeof SidebarFolder$1>): react_jsx_runtime0.JSX.Element;
12
+ declare function SidebarCollapseTrigger(props: ComponentProps<typeof SidebarCollapseTrigger$1>): react_jsx_runtime0.JSX.Element;
13
+ declare function SidebarViewport(props: ComponentProps<typeof SidebarViewport$1>): react_jsx_runtime0.JSX.Element;
14
+ declare function SidebarTrigger(props: ComponentProps<typeof SidebarTrigger$1>): react_jsx_runtime0.JSX.Element;
15
15
  declare function SidebarContent({
16
16
  ref: refProp,
17
17
  className,
18
18
  children,
19
19
  ...props
20
- }: ComponentProps<'aside'>): react_jsx_runtime59.JSX.Element;
20
+ }: ComponentProps<'aside'>): react_jsx_runtime0.JSX.Element;
21
21
  declare function SidebarSeparator({
22
22
  className,
23
23
  style,
24
24
  children,
25
25
  ...props
26
- }: ComponentProps<'p'>): react_jsx_runtime59.JSX.Element;
26
+ }: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element;
27
27
  declare function SidebarItem({
28
28
  className,
29
29
  style,
30
30
  children,
31
31
  ...props
32
- }: ComponentProps<typeof SidebarItem$1>): react_jsx_runtime59.JSX.Element;
32
+ }: ComponentProps<typeof SidebarItem$1>): react_jsx_runtime0.JSX.Element;
33
33
  declare function SidebarFolderTrigger({
34
34
  className,
35
35
  style,
36
36
  ...props
37
- }: ComponentProps<typeof SidebarFolderTrigger$1>): react_jsx_runtime59.JSX.Element;
37
+ }: ComponentProps<typeof SidebarFolderTrigger$1>): react_jsx_runtime0.JSX.Element;
38
38
  declare function SidebarFolderLink({
39
39
  className,
40
40
  style,
41
41
  ...props
42
- }: ComponentProps<typeof SidebarFolderLink$1>): react_jsx_runtime59.JSX.Element;
42
+ }: ComponentProps<typeof SidebarFolderLink$1>): react_jsx_runtime0.JSX.Element;
43
43
  declare function SidebarFolderContent({
44
44
  className,
45
45
  children,
46
46
  ...props
47
- }: ComponentProps<typeof SidebarFolderContent$1>): react_jsx_runtime59.JSX.Element;
48
- declare const SidebarPageTree: (components: Partial<SidebarPageTreeComponents>) => react_jsx_runtime59.JSX.Element;
47
+ }: ComponentProps<typeof SidebarFolderContent$1>): react_jsx_runtime0.JSX.Element;
48
+ declare const SidebarPageTree: (components: Partial<SidebarPageTreeComponents>) => react_jsx_runtime0.JSX.Element;
49
49
  declare const SidebarLinkItem: ({
50
50
  item,
51
51
  ...props
52
- }: react9.HTMLAttributes<HTMLElement> & {
52
+ }: react.HTMLAttributes<HTMLElement> & {
53
53
  item: Exclude<LinkItemType, {
54
54
  type: "icon";
55
55
  }>;
56
- }) => react_jsx_runtime59.JSX.Element;
56
+ }) => react_jsx_runtime0.JSX.Element;
57
57
  //#endregion
58
58
  export { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarFolder, SidebarFolderContent, SidebarFolderLink, SidebarFolderTrigger, SidebarItem, SidebarLinkItem, SidebarPageTree, SidebarSeparator, SidebarTrigger, SidebarViewport };
59
59
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../../src/layouts/flux/sidebar.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;iBAoCgB,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;iBA0EV,gBAAA;;;;;GAA2D,sBAAmB,mBAAA,CAAA,GAAA,CAAA;AAnG9E,iBAoHA,WAAA,CApHO;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAyHpB,cAzHoB,CAAA,OAyHE,aAzHF,CAAA,CAAA,EAyHmB,mBAAA,CAAA,GAAA,CAAA,OAzHnB;AAA8B,iBA0IrC,oBAAA,CA1IqC;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EA8IlD,cA9IkD,CAAA,OA8I5B,sBA9I4B,CAAA,CAAA,EA8IF,mBAAA,CAAA,GAAA,CAAA,OA9IE;AAAtB,iBAqKf,iBAAA,CArKe;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAyK5B,cAzK4B,CAAA,OAyKN,mBAzKM,CAAA,CAAA,EAyKiB,mBAAA,CAAA,GAAA,CAAA,OAzKjB;AAA2C,iBA0L1D,oBAAA,CA1L0D;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA8LvE,cA9LuE,CAAA,OA8LjD,sBA9LiD,CAAA,CAAA,EA8LvB,mBAAA,CAAA,GAAA,CAAA,OA9LuB;AAAA,cAkO7D,eAlO6D,EAAA,CAAA,UAAA,EAkO9C,OAlO8C,CAyOxE,yBAAA,CAzOwE,EAAA,GAkO9C,mBAAA,CAAA,GAAA,CAAA,OAlO8C;AAI1D,cAuOH,eAvOgB,EAAA,CAAA;EAAA,IAAA;EAAA,GAAA;CAAA,EAuOD,MAAA,CAAA,cAvOC,CAuOD,WAvOC,CAAA,GAAA;EAA8B,IAAA,SAAA,CAuO/B,YAAA,EAvO+B;IAAtB,IAAA,EAAA,MAAA;EAAyC,CAAA,CAAA;CAAA,EAAA,kCAAA"}
1
+ {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../../src/layouts/flux/sidebar.tsx"],"mappings":";;;;;;;;;iBAoCgB,OAAA,CAAQ,KAAA,EAAO,cAAA,QAAsB,eAAA,IAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI1D,aAAA,CAAc,KAAA,EAAO,cAAA,QAAsB,eAAA,IAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9D,sBAAA,CAAuB,KAAA,EAAO,cAAA,QAAsB,wBAAA,IAA4B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIhF,eAAA,CAAgB,KAAA,EAAO,cAAA,QAAsB,iBAAA,IAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIlE,cAAA,CAAe,KAAA,EAAO,cAAA,QAAsB,gBAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIhE,cAAA,CAAA;EACd,GAAA,EAAK,OAAA;EACL,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,cAAA,YAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA0EV,gBAAA,CAAA;EAAmB,SAAA;EAAW,KAAA;EAAO,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiB9E,WAAA,CAAA;EACd,SAAA;EACA,KAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,aAAA,IAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiB1B,oBAAA,CAAA;EACd,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,sBAAA,IAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAuBnC,iBAAA,CAAA;EACd,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,mBAAA,IAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiBhC,oBAAA,CAAA;EACd,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,sBAAA,IAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAoCtC,eAAA,GAAe,UAAA,EAAA,OAAA,CAO1B,yBAAA,MAP0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cASf,eAAA;EAAe,IAAA;EAAA,GAAA;AAAA,GAAA,KAAA,CAAA,cAAA,CAAA,WAAA;gBAAA,YAAA"}
@@ -1,6 +1,6 @@
1
1
  import { SidebarTab } from "../../components/sidebar/tabs/index.js";
2
2
  import { ComponentProps, ReactNode } from "react";
3
- import * as react_jsx_runtime72 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/layouts/flux/tab-dropdown.d.ts
6
6
  interface SidebarTabWithProps extends SidebarTab {
@@ -14,7 +14,7 @@ declare function SidebarTabsDropdown({
14
14
  }: {
15
15
  placeholder?: ReactNode;
16
16
  options: SidebarTabWithProps[];
17
- } & ComponentProps<'button'>): react_jsx_runtime72.JSX.Element;
17
+ } & ComponentProps<'button'>): react_jsx_runtime0.JSX.Element;
18
18
  declare function isTabActive(tab: SidebarTab, pathname: string): boolean;
19
19
  //#endregion
20
20
  export { SidebarTabWithProps, SidebarTabsDropdown, isTabActive };
@@ -1 +1 @@
1
- {"version":3,"file":"tab-dropdown.d.ts","names":[],"sources":["../../../src/layouts/flux/tab-dropdown.tsx"],"sourcesContent":[],"mappings":";;;;;UAYiB,mBAAA,SAA4B;UACnC;;AADO,iBAID,mBAAA,CAHN;EAAA,OAAA;EADmC,WAAU;EAAA,SAAA;EAAA,GAAA;AAMrD,CANqD,EAAA;EAIvC,WAAA,CAAA,EAMA,SANmB;EACjC,OAAA,EAMS,mBANT,EAAA;CACA,GAME,cANF,CAAA,QAAA,CAAA,CAAA,EAM0B,mBAAA,CAAA,GAAA,CAAA,OAN1B;AACA,iBAsGc,WAAA,CAtGd,GAAA,EAsG+B,UAtG/B,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA"}
1
+ {"version":3,"file":"tab-dropdown.d.ts","names":[],"sources":["../../../src/layouts/flux/tab-dropdown.tsx"],"mappings":";;;;;UAYiB,mBAAA,SAA4B,UAAA;EAC3C,KAAA,GAAQ,cAAA;AAAA;AAAA,iBAGM,mBAAA,CAAA;EACd,OAAA;EACA,WAAA;EACA,SAAA;EAAA,GACG;AAAA;EAEH,WAAA,GAAc,SAAA;EACd,OAAA,EAAS,mBAAA;AAAA,IACP,cAAA,aAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiGZ,WAAA,CAAY,GAAA,EAAK,UAAA,EAAY,QAAA"}
@@ -17,7 +17,7 @@ function SidebarTabsDropdown({ options, placeholder, className, ...props }) {
17
17
  const { closeOnRedirect } = useSidebar();
18
18
  const pathname = usePathname();
19
19
  const selectedIdx = useMemo(() => {
20
- return options.findLastIndex((item$1) => isTabActive(item$1, pathname));
20
+ return options.findLastIndex((item) => isTabActive(item, pathname));
21
21
  }, [options, pathname]);
22
22
  const selected = selectedIdx !== -1 ? options[selectedIdx] : void 0;
23
23
  const onClick = () => {
@@ -59,29 +59,29 @@ function SidebarTabsDropdown({ options, placeholder, className, ...props }) {
59
59
  }), /* @__PURE__ */ jsx(PopoverContent, {
60
60
  align: "start",
61
61
  className: "flex flex-col gap-1 max-w-svw p-1 fd-scroll-container",
62
- children: options.map((item$1, i) => {
63
- const isActive$1 = i === selectedIdx;
64
- if (!isActive$1 && item$1.unlisted) return;
62
+ children: options.map((item, i) => {
63
+ const isActive = i === selectedIdx;
64
+ if (!isActive && item.unlisted) return;
65
65
  return /* @__PURE__ */ jsxs(Link, {
66
- href: item$1.url,
66
+ href: item.url,
67
67
  onClick,
68
- ...item$1.props,
69
- className: cn("flex items-center gap-1.5 rounded-lg p-1.5 hover:bg-fd-accent hover:text-fd-accent-foreground", item$1.props?.className),
68
+ ...item.props,
69
+ className: cn("flex items-center gap-1.5 rounded-lg p-1.5 hover:bg-fd-accent hover:text-fd-accent-foreground", item.props?.className),
70
70
  children: [
71
71
  /* @__PURE__ */ jsx("div", {
72
72
  className: "shrink-0 mb-auto size-4.5 empty:hidden",
73
- children: item$1.icon
73
+ children: item.icon
74
74
  }),
75
75
  /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
76
76
  className: "text-sm font-medium leading-none",
77
- children: item$1.title
77
+ children: item.title
78
78
  }), /* @__PURE__ */ jsx("p", {
79
79
  className: "text-[0.8125rem] text-fd-muted-foreground mt-1 empty:hidden",
80
- children: item$1.description
80
+ children: item.description
81
81
  })] }),
82
- /* @__PURE__ */ jsx(Check, { className: cn("shrink-0 ms-auto size-3.5 text-fd-primary", !isActive$1 && "invisible") })
82
+ /* @__PURE__ */ jsx(Check, { className: cn("shrink-0 ms-auto size-3.5 text-fd-primary", !isActive && "invisible") })
83
83
  ]
84
- }, item$1.url);
84
+ }, item.url);
85
85
  })
86
86
  })]
87
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tab-dropdown.js","names":["item","isActive"],"sources":["../../../src/layouts/flux/tab-dropdown.tsx"],"sourcesContent":["'use client';\nimport { Check, ChevronsUpDown } from 'lucide-react';\nimport { type ComponentProps, type ReactNode, useMemo, useState } from 'react';\nimport Link from 'fumadocs-core/link';\nimport { usePathname } from 'fumadocs-core/framework';\nimport { cn } from '@/utils/cn';\nimport { isActive, normalize } from '@/utils/urls';\nimport { useSidebar } from '@/components/sidebar/base';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport type { SidebarTab } from '@/components/sidebar/tabs';\nimport { AnimatePresence, motion } from 'motion/react';\n\nexport interface SidebarTabWithProps extends SidebarTab {\n props?: ComponentProps<'a'>;\n}\n\nexport function SidebarTabsDropdown({\n options,\n placeholder,\n className,\n ...props\n}: {\n placeholder?: ReactNode;\n options: SidebarTabWithProps[];\n} & ComponentProps<'button'>) {\n const [open, setOpen] = useState(false);\n const { closeOnRedirect } = useSidebar();\n const pathname = usePathname();\n const selectedIdx = useMemo(() => {\n return options.findLastIndex((item) => isTabActive(item, pathname));\n }, [options, pathname]);\n const selected = selectedIdx !== -1 ? options[selectedIdx] : undefined;\n\n const onClick = () => {\n closeOnRedirect.current = false;\n setOpen(false);\n };\n\n const item = selected ? (\n <>\n <div className=\"size-4.5 shrink-0 empty:hidden\">{selected.icon}</div>\n <p className=\"font-medium\">{selected.title}</p>\n </>\n ) : (\n placeholder\n );\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n {item && (\n <PopoverTrigger\n className={cn(\n 'flex items-center gap-2 rounded-full p-1.5 border shadow-sm text-sm text-start transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground data-open:bg-fd-accent data-open:text-fd-accent-foreground',\n className,\n )}\n {...props}\n >\n <AnimatePresence mode=\"popLayout\">\n <motion.span\n key={selectedIdx}\n className=\"flex w-full items-center text-nowrap gap-1.5\"\n initial={{\n opacity: 0,\n y: '100%',\n }}\n animate={{\n opacity: 1,\n y: 0,\n }}\n exit={{\n opacity: 0,\n y: '-100%',\n }}\n >\n {item}\n </motion.span>\n </AnimatePresence>\n <ChevronsUpDown className=\"shrink-0 ms-auto size-4 text-fd-muted-foreground\" />\n </PopoverTrigger>\n )}\n <PopoverContent\n align=\"start\"\n className=\"flex flex-col gap-1 max-w-svw p-1 fd-scroll-container\"\n >\n {options.map((item, i) => {\n const isActive = i === selectedIdx;\n if (!isActive && item.unlisted) return;\n\n return (\n <Link\n key={item.url}\n href={item.url}\n onClick={onClick}\n {...item.props}\n className={cn(\n 'flex items-center gap-1.5 rounded-lg p-1.5 hover:bg-fd-accent hover:text-fd-accent-foreground',\n item.props?.className,\n )}\n >\n <div className=\"shrink-0 mb-auto size-4.5 empty:hidden\">{item.icon}</div>\n <div>\n <p className=\"text-sm font-medium leading-none\">{item.title}</p>\n <p className=\"text-[0.8125rem] text-fd-muted-foreground mt-1 empty:hidden\">\n {item.description}\n </p>\n </div>\n\n <Check\n className={cn(\n 'shrink-0 ms-auto size-3.5 text-fd-primary',\n !isActive && 'invisible',\n )}\n />\n </Link>\n );\n })}\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function isTabActive(tab: SidebarTab, pathname: string) {\n if (tab.urls) return tab.urls.has(normalize(pathname));\n\n return isActive(tab.url, pathname, true);\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,SAAgB,oBAAoB,EAClC,SACA,aACA,WACA,GAAG,SAIyB;CAC5B,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;CACvC,MAAM,EAAE,oBAAoB,YAAY;CACxC,MAAM,WAAW,aAAa;CAC9B,MAAM,cAAc,cAAc;AAChC,SAAO,QAAQ,eAAe,WAAS,YAAYA,QAAM,SAAS,CAAC;IAClE,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,WAAW,gBAAgB,KAAK,QAAQ,eAAe;CAE7D,MAAM,gBAAgB;AACpB,kBAAgB,UAAU;AAC1B,UAAQ,MAAM;;CAGhB,MAAM,OAAO,WACX,8CACE,oBAAC;EAAI,WAAU;YAAkC,SAAS;GAAW,EACrE,oBAAC;EAAE,WAAU;YAAe,SAAS;GAAU,IAC9C,GAEH;AAGF,QACE,qBAAC;EAAc;EAAM,cAAc;aAChC,QACC,qBAAC;GACC,WAAW,GACT,kNACA,UACD;GACD,GAAI;cAEJ,oBAAC;IAAgB,MAAK;cACpB,oBAAC,OAAO;KAEN,WAAU;KACV,SAAS;MACP,SAAS;MACT,GAAG;MACJ;KACD,SAAS;MACP,SAAS;MACT,GAAG;MACJ;KACD,MAAM;MACJ,SAAS;MACT,GAAG;MACJ;eAEA;OAfI,YAgBO;KACE,EAClB,oBAAC,kBAAe,WAAU,qDAAqD;IAChE,EAEnB,oBAAC;GACC,OAAM;GACN,WAAU;aAET,QAAQ,KAAK,QAAM,MAAM;IACxB,MAAMC,aAAW,MAAM;AACvB,QAAI,CAACA,cAAYD,OAAK,SAAU;AAEhC,WACE,qBAAC;KAEC,MAAMA,OAAK;KACF;KACT,GAAIA,OAAK;KACT,WAAW,GACT,iGACAA,OAAK,OAAO,UACb;;MAED,oBAAC;OAAI,WAAU;iBAA0CA,OAAK;QAAW;MACzE,qBAAC,oBACC,oBAAC;OAAE,WAAU;iBAAoCA,OAAK;QAAU,EAChE,oBAAC;OAAE,WAAU;iBACVA,OAAK;QACJ,IACA;MAEN,oBAAC,SACC,WAAW,GACT,6CACA,CAACC,cAAY,YACd,GACD;;OAtBGD,OAAK,IAuBL;KAET;IACa;GACT;;AAId,SAAgB,YAAY,KAAiB,UAAkB;AAC7D,KAAI,IAAI,KAAM,QAAO,IAAI,KAAK,IAAI,UAAU,SAAS,CAAC;AAEtD,QAAO,SAAS,IAAI,KAAK,UAAU,KAAK"}
1
+ {"version":3,"file":"tab-dropdown.js","names":[],"sources":["../../../src/layouts/flux/tab-dropdown.tsx"],"sourcesContent":["'use client';\nimport { Check, ChevronsUpDown } from 'lucide-react';\nimport { type ComponentProps, type ReactNode, useMemo, useState } from 'react';\nimport Link from 'fumadocs-core/link';\nimport { usePathname } from 'fumadocs-core/framework';\nimport { cn } from '@/utils/cn';\nimport { isActive, normalize } from '@/utils/urls';\nimport { useSidebar } from '@/components/sidebar/base';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport type { SidebarTab } from '@/components/sidebar/tabs';\nimport { AnimatePresence, motion } from 'motion/react';\n\nexport interface SidebarTabWithProps extends SidebarTab {\n props?: ComponentProps<'a'>;\n}\n\nexport function SidebarTabsDropdown({\n options,\n placeholder,\n className,\n ...props\n}: {\n placeholder?: ReactNode;\n options: SidebarTabWithProps[];\n} & ComponentProps<'button'>) {\n const [open, setOpen] = useState(false);\n const { closeOnRedirect } = useSidebar();\n const pathname = usePathname();\n const selectedIdx = useMemo(() => {\n return options.findLastIndex((item) => isTabActive(item, pathname));\n }, [options, pathname]);\n const selected = selectedIdx !== -1 ? options[selectedIdx] : undefined;\n\n const onClick = () => {\n closeOnRedirect.current = false;\n setOpen(false);\n };\n\n const item = selected ? (\n <>\n <div className=\"size-4.5 shrink-0 empty:hidden\">{selected.icon}</div>\n <p className=\"font-medium\">{selected.title}</p>\n </>\n ) : (\n placeholder\n );\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n {item && (\n <PopoverTrigger\n className={cn(\n 'flex items-center gap-2 rounded-full p-1.5 border shadow-sm text-sm text-start transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground data-open:bg-fd-accent data-open:text-fd-accent-foreground',\n className,\n )}\n {...props}\n >\n <AnimatePresence mode=\"popLayout\">\n <motion.span\n key={selectedIdx}\n className=\"flex w-full items-center text-nowrap gap-1.5\"\n initial={{\n opacity: 0,\n y: '100%',\n }}\n animate={{\n opacity: 1,\n y: 0,\n }}\n exit={{\n opacity: 0,\n y: '-100%',\n }}\n >\n {item}\n </motion.span>\n </AnimatePresence>\n <ChevronsUpDown className=\"shrink-0 ms-auto size-4 text-fd-muted-foreground\" />\n </PopoverTrigger>\n )}\n <PopoverContent\n align=\"start\"\n className=\"flex flex-col gap-1 max-w-svw p-1 fd-scroll-container\"\n >\n {options.map((item, i) => {\n const isActive = i === selectedIdx;\n if (!isActive && item.unlisted) return;\n\n return (\n <Link\n key={item.url}\n href={item.url}\n onClick={onClick}\n {...item.props}\n className={cn(\n 'flex items-center gap-1.5 rounded-lg p-1.5 hover:bg-fd-accent hover:text-fd-accent-foreground',\n item.props?.className,\n )}\n >\n <div className=\"shrink-0 mb-auto size-4.5 empty:hidden\">{item.icon}</div>\n <div>\n <p className=\"text-sm font-medium leading-none\">{item.title}</p>\n <p className=\"text-[0.8125rem] text-fd-muted-foreground mt-1 empty:hidden\">\n {item.description}\n </p>\n </div>\n\n <Check\n className={cn(\n 'shrink-0 ms-auto size-3.5 text-fd-primary',\n !isActive && 'invisible',\n )}\n />\n </Link>\n );\n })}\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function isTabActive(tab: SidebarTab, pathname: string) {\n if (tab.urls) return tab.urls.has(normalize(pathname));\n\n return isActive(tab.url, pathname, true);\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,SAAgB,oBAAoB,EAClC,SACA,aACA,WACA,GAAG,SAIyB;CAC5B,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;CACvC,MAAM,EAAE,oBAAoB,YAAY;CACxC,MAAM,WAAW,aAAa;CAC9B,MAAM,cAAc,cAAc;AAChC,SAAO,QAAQ,eAAe,SAAS,YAAY,MAAM,SAAS,CAAC;IAClE,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,WAAW,gBAAgB,KAAK,QAAQ,eAAe;CAE7D,MAAM,gBAAgB;AACpB,kBAAgB,UAAU;AAC1B,UAAQ,MAAM;;CAGhB,MAAM,OAAO,WACX,8CACE,oBAAC;EAAI,WAAU;YAAkC,SAAS;GAAW,EACrE,oBAAC;EAAE,WAAU;YAAe,SAAS;GAAU,IAC9C,GAEH;AAGF,QACE,qBAAC;EAAc;EAAM,cAAc;aAChC,QACC,qBAAC;GACC,WAAW,GACT,kNACA,UACD;GACD,GAAI;cAEJ,oBAAC;IAAgB,MAAK;cACpB,oBAAC,OAAO;KAEN,WAAU;KACV,SAAS;MACP,SAAS;MACT,GAAG;MACJ;KACD,SAAS;MACP,SAAS;MACT,GAAG;MACJ;KACD,MAAM;MACJ,SAAS;MACT,GAAG;MACJ;eAEA;OAfI,YAgBO;KACE,EAClB,oBAAC,kBAAe,WAAU,qDAAqD;IAChE,EAEnB,oBAAC;GACC,OAAM;GACN,WAAU;aAET,QAAQ,KAAK,MAAM,MAAM;IACxB,MAAM,WAAW,MAAM;AACvB,QAAI,CAAC,YAAY,KAAK,SAAU;AAEhC,WACE,qBAAC;KAEC,MAAM,KAAK;KACF;KACT,GAAI,KAAK;KACT,WAAW,GACT,iGACA,KAAK,OAAO,UACb;;MAED,oBAAC;OAAI,WAAU;iBAA0C,KAAK;QAAW;MACzE,qBAAC,oBACC,oBAAC;OAAE,WAAU;iBAAoC,KAAK;QAAU,EAChE,oBAAC;OAAE,WAAU;iBACV,KAAK;QACJ,IACA;MAEN,oBAAC,SACC,WAAW,GACT,6CACA,CAAC,YAAY,YACd,GACD;;OAtBG,KAAK,IAuBL;KAET;IACa;GACT;;AAId,SAAgB,YAAY,KAAiB,UAAkB;AAC7D,KAAI,IAAI,KAAM,QAAO,IAAI,KAAK,IAAI,UAAU,SAAS,CAAC;AAEtD,QAAO,SAAS,IAAI,KAAK,UAAU,KAAK"}
@@ -1,10 +1,10 @@
1
1
  import { HomeLayoutProps } from "./index.js";
2
- import * as react_jsx_runtime108 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 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
6
6
  declare const navItemVariants: (props?: ({
7
- variant?: "button" | "main" | "icon" | null | undefined;
7
+ variant?: "main" | "icon" | "button" | null | undefined;
8
8
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
9
9
  declare function Header({
10
10
  nav,
@@ -13,7 +13,7 @@ declare function Header({
13
13
  githubUrl,
14
14
  themeSwitch,
15
15
  searchToggle
16
- }: HomeLayoutProps): react_jsx_runtime108.JSX.Element;
16
+ }: HomeLayoutProps): react_jsx_runtime0.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":";;;;;cAuCa;;IAiBX,+BAAA,CAAA;iBAEc,MAAA;;;;;;;GAOb,kBAAe,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/home/client.tsx"],"mappings":";;;;;cAuCa,eAAA,GAAe,KAAA;;IAiB1B,+BAAA,CAAA,SAAA;AAAA,iBAEc,MAAA,CAAA;EACd,GAAA;EACA,IAAA;EACA,KAAA;EACA,SAAA;EACA,WAAA;EACA;AAAA,GACC,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -6,9 +6,9 @@ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../compo
6
6
  import { useIsScrollTop } from "../../utils/use-is-scroll-top.js";
7
7
  import { LinkItem } from "../../utils/link-item.js";
8
8
  import { NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuRoot, NavigationMenuTrigger } from "../../components/ui/navigation-menu.js";
9
+ import { LargeSearchToggle, SearchToggle } from "../shared/search-toggle.js";
9
10
  import { renderTitleNav, useLinkItems } from "../shared/index.js";
10
11
  import { LanguageToggle, LanguageToggleText } from "../shared/language-toggle.js";
11
- import { LargeSearchToggle, SearchToggle } from "../shared/search-toggle.js";
12
12
  import { ThemeToggle } from "../shared/theme-toggle.js";
13
13
  import { Fragment, createContext, use, useEffect, useEffectEvent, useMemo, useState } from "react";
14
14
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,12 +1,12 @@
1
1
  import { BaseLayoutProps, NavOptions } from "../shared/index.js";
2
2
  import { ComponentProps } from "react";
3
- import * as react_jsx_runtime152 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
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_runtime152.JSX.Element;
9
+ declare function HomeLayout(props: HomeLayoutProps & ComponentProps<'main'>): react_jsx_runtime0.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,oBAAA,CAAA,GAAA,CAAA,OAJzC"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/home/index.tsx"],"mappings":";;;;;UAKiB,eAAA,SAAwB,eAAA;EACvC,GAAA,GAAM,OAAA,CAAQ,UAAA;AAAA;AAAA,iBAGA,UAAA,CAAW,KAAA,EAAO,eAAA,GAAkB,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,20 +1,20 @@
1
1
  import { NavigationMenuContentProps, NavigationMenuTriggerProps } from "../../components/ui/navigation-menu.js";
2
- import * as react18 from "react";
3
- import * as react_jsx_runtime112 from "react/jsx-runtime";
2
+ import * as react from "react";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import { LinkProps } from "fumadocs-core/link";
5
- import * as _base_ui_react5 from "@base-ui/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<Omit<_base_ui_react5.NavigationMenuItemProps, "ref"> & react18.RefAttributes<HTMLDivElement>, "ref"> & react18.RefAttributes<HTMLDivElement>>;
8
+ declare const NavbarMenu: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react0.NavigationMenuItemProps, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
9
9
  declare function NavbarMenuContent({
10
10
  className,
11
11
  ...props
12
- }: NavigationMenuContentProps): react_jsx_runtime112.JSX.Element;
12
+ }: NavigationMenuContentProps): react_jsx_runtime0.JSX.Element;
13
13
  declare function NavbarMenuTrigger({
14
14
  className,
15
15
  ...props
16
- }: NavigationMenuTriggerProps): react_jsx_runtime112.JSX.Element;
17
- declare function NavbarMenuLink(props: LinkProps): react_jsx_runtime112.JSX.Element;
16
+ }: NavigationMenuTriggerProps): react_jsx_runtime0.JSX.Element;
17
+ declare function NavbarMenuLink(props: LinkProps): react_jsx_runtime0.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,KAAA,KAAqB,eAAA,CAArB,uBAAA,WAAA,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"],"mappings":";;;;;;;cAaa,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,IAAA,CAAqB,eAAA,CAArB,uBAAA,WAAA,KAAA,CAAA,aAAA,CAAA,cAAA,YAAA,KAAA,CAAA,aAAA,CAAA,cAAA;AAAA,iBAEP,iBAAA,CAAA;EAAoB,SAAA;EAAA,GAAc;AAAA,GAAS,0BAAA,GAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBrE,iBAAA,CAAA;EAAoB,SAAA;EAAA,GAAc;AAAA,GAAS,0BAAA,GAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiBrE,cAAA,CAAe,KAAA,EAAO,SAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,11 +1,11 @@
1
1
  import { LinkItemType } from "../../utils/link-item.js";
2
2
  import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
3
- import * as react4 from "react";
3
+ import * as react from "react";
4
4
  import { ComponentProps, HTMLAttributes, ReactNode } from "react";
5
- import * as react_jsx_runtime25 from "react/jsx-runtime";
5
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
6
6
 
7
7
  //#region src/layouts/notebook/client.d.ts
8
- declare const LayoutContext: react4.Context<(LayoutInfo & {
8
+ declare const LayoutContext: react.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_runtime25.JSX.Element;
24
- declare function LayoutHeader(props: ComponentProps<'header'>): react_jsx_runtime25.JSX.Element;
23
+ }): react_jsx_runtime0.JSX.Element;
24
+ declare function LayoutHeader(props: ComponentProps<'header'>): react_jsx_runtime0.JSX.Element;
25
25
  declare function LayoutBody({
26
26
  className,
27
27
  style,
28
28
  children,
29
29
  ...props
30
- }: ComponentProps<'div'>): react_jsx_runtime25.JSX.Element;
30
+ }: ComponentProps<'div'>): react_jsx_runtime0.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_runtime25.JSX.Element;
37
+ }): react_jsx_runtime0.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_runtime25.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react4.ReactPortal | react4.ReactElement<unknown, string | react4.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
44
+ } & HTMLAttributes<HTMLElement>): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime0.JSX.Element | 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,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"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../../src/layouts/notebook/client.tsx"],"mappings":";;;;;;;cAuBa,aAAA,EAAa,KAAA,CAAA,OAAA,EAAA,UAAA;;;UAOT,UAAA;EACf,OAAA;EACA,OAAA;AAAA;AAAA,iBAGc,qBAAA,CAAA;EACd,kBAAA;EACA,OAAA;EACA,OAAA;EACA;AAAA,GACC,UAAA;EACD,kBAAA;EACA,QAAA,EAAU,SAAA;AAAA,IACX,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAoBe,YAAA,CAAa,KAAA,EAAO,cAAA,aAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAW5C,UAAA,CAAA;EAAa,SAAA;EAAW,KAAA;EAAO,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqC1E,gBAAA,CAAA;EACd,OAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,cAAA;EACD,OAAA,EAAS,mBAAA;AAAA,IACV,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgCe,cAAA,CAAA;EACd,IAAA;EACA,SAAA;EAAA,GACG;AAAA;EACA,IAAA,EAAM,YAAA;AAAA,IAAiB,cAAA,CAAe,WAAA,yCAAY,QAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,KAAA,CAAA,WAAA,GAAA,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,SAAA,wBAAA,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -71,11 +71,11 @@ function LayoutHeaderTabs({ options, className, ...props }) {
71
71
  className: cn("flex flex-row items-end gap-6", className),
72
72
  ...props,
73
73
  children: options.map((option, i) => {
74
- const { title, url, unlisted, props: { className: className$1, ...rest } = {} } = option;
74
+ const { title, url, unlisted, props: { className, ...rest } = {} } = option;
75
75
  const isSelected = selectedIdx === i;
76
76
  return /* @__PURE__ */ jsx(Link, {
77
77
  href: url,
78
- className: cn("inline-flex border-b-2 border-transparent transition-colors items-center pb-1.5 font-medium gap-2 text-fd-muted-foreground text-sm text-nowrap hover:text-fd-accent-foreground", unlisted && !isSelected && "hidden", isSelected && "border-fd-primary text-fd-primary", className$1),
78
+ className: cn("inline-flex border-b-2 border-transparent transition-colors items-center pb-1.5 font-medium gap-2 text-fd-muted-foreground text-sm text-nowrap hover:text-fd-accent-foreground", unlisted && !isSelected && "hidden", isSelected && "border-fd-primary text-fd-primary", className),
79
79
  ...rest,
80
80
  children: title
81
81
  }, i);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["className"],"sources":["../../../src/layouts/notebook/client.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@/utils/cn';\nimport {\n type ComponentProps,\n createContext,\n Fragment,\n type HTMLAttributes,\n type PointerEvent,\n type ReactNode,\n use,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useSidebar } from '@/components/sidebar/base';\nimport { ChevronDown } from 'lucide-react';\nimport Link from 'fumadocs-core/link';\nimport { usePathname } from 'fumadocs-core/framework';\nimport { isTabActive, type SidebarTabWithProps } from '@/components/sidebar/tabs/dropdown';\nimport { useIsScrollTop } from '@/utils/use-is-scroll-top';\nimport { LinkItem, type LinkItemType, type MenuItemType } from '@/utils/link-item';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\n\nexport const LayoutContext = createContext<\n | (LayoutInfo & {\n isNavTransparent: boolean;\n })\n | null\n>(null);\n\nexport interface LayoutInfo {\n tabMode: 'sidebar' | 'navbar';\n navMode: 'top' | 'auto';\n}\n\nexport function LayoutContextProvider({\n navTransparentMode = 'none',\n navMode,\n tabMode,\n children,\n}: LayoutInfo & {\n navTransparentMode?: 'always' | 'top' | 'none';\n children: ReactNode;\n}) {\n const isTop = useIsScrollTop({ enabled: navTransparentMode === 'top' }) ?? true;\n const isNavTransparent = navTransparentMode === 'top' ? isTop : navTransparentMode === 'always';\n\n return (\n <LayoutContext\n value={useMemo(\n () => ({\n isNavTransparent,\n navMode,\n tabMode,\n }),\n [isNavTransparent, navMode, tabMode],\n )}\n >\n {children}\n </LayoutContext>\n );\n}\n\nexport function LayoutHeader(props: ComponentProps<'header'>) {\n const { open } = useSidebar();\n const { isNavTransparent } = use(LayoutContext)!;\n\n return (\n <header data-transparent={isNavTransparent && !open} {...props}>\n {props.children}\n </header>\n );\n}\n\nexport function LayoutBody({ className, style, children, ...props }: ComponentProps<'div'>) {\n const { navMode } = use(LayoutContext)!;\n const { collapsed } = useSidebar();\n const pageCol =\n 'calc(var(--fd-layout-width,97rem) - var(--fd-sidebar-col) - var(--fd-toc-width))';\n\n return (\n <div\n id=\"nd-notebook-layout\"\n className={cn(\n 'grid overflow-x-clip min-h-(--fd-docs-height) transition-[grid-template-columns] auto-cols-auto auto-rows-auto [--fd-docs-height:100dvh] [--fd-header-height:0px] [--fd-toc-popover-height:0px] [--fd-sidebar-width:0px] [--fd-toc-width:0px]',\n className,\n )}\n style={\n {\n gridTemplate:\n navMode === 'top'\n ? `\". header header header .\"\n \"sidebar sidebar toc-popover toc-popover .\"\n \"sidebar sidebar main toc .\" 1fr / minmax(min-content, 1fr) var(--fd-sidebar-col) minmax(0, ${pageCol}) var(--fd-toc-width) minmax(min-content, 1fr)`\n : `\"sidebar sidebar header header .\"\n \"sidebar sidebar toc-popover toc-popover .\"\n \"sidebar sidebar main toc .\" 1fr / minmax(min-content, 1fr) var(--fd-sidebar-col) minmax(0, ${pageCol}) var(--fd-toc-width) minmax(min-content, 1fr)`,\n '--fd-docs-row-1': 'var(--fd-banner-height, 0px)',\n '--fd-docs-row-2': 'calc(var(--fd-docs-row-1) + var(--fd-header-height))',\n '--fd-docs-row-3': 'calc(var(--fd-docs-row-2) + var(--fd-toc-popover-height))',\n '--fd-sidebar-col': collapsed ? '0px' : 'var(--fd-sidebar-width)',\n ...style,\n } as object\n }\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function LayoutHeaderTabs({\n options,\n className,\n ...props\n}: ComponentProps<'div'> & {\n options: SidebarTabWithProps[];\n}) {\n const pathname = usePathname();\n const selectedIdx = useMemo(() => {\n return options.findLastIndex((option) => isTabActive(option, pathname));\n }, [options, pathname]);\n\n return (\n <div className={cn('flex flex-row items-end gap-6', className)} {...props}>\n {options.map((option, i) => {\n const { title, url, unlisted, props: { className, ...rest } = {} } = option;\n const isSelected = selectedIdx === i;\n\n return (\n <Link\n key={i}\n href={url}\n className={cn(\n 'inline-flex border-b-2 border-transparent transition-colors items-center pb-1.5 font-medium gap-2 text-fd-muted-foreground text-sm text-nowrap hover:text-fd-accent-foreground',\n unlisted && !isSelected && 'hidden',\n isSelected && 'border-fd-primary text-fd-primary',\n className,\n )}\n {...rest}\n >\n {title}\n </Link>\n );\n })}\n </div>\n );\n}\n\nexport function NavbarLinkItem({\n item,\n className,\n ...props\n}: { item: LinkItemType } & HTMLAttributes<HTMLElement>) {\n if (item.type === 'custom') return item.children;\n\n if (item.type === 'menu') {\n return <NavbarLinkItemMenu item={item} className={className} {...props} />;\n }\n\n return (\n <LinkItem\n item={item}\n className={cn(\n 'text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground data-[active=true]:text-fd-primary',\n className,\n )}\n {...props}\n >\n {item.text}\n </LinkItem>\n );\n}\n\nfunction NavbarLinkItemMenu({\n item,\n hoverDelay = 50,\n className,\n ...props\n}: { item: MenuItemType; hoverDelay?: number } & HTMLAttributes<HTMLElement>) {\n const [open, setOpen] = useState(false);\n const timeoutRef = useRef<number>(null);\n const freezeUntil = useRef<number>(null);\n\n const delaySetOpen = (value: boolean) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n timeoutRef.current = window.setTimeout(() => {\n setOpen(value);\n freezeUntil.current = Date.now() + 300;\n }, hoverDelay);\n };\n const onPointerEnter = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n delaySetOpen(true);\n };\n const onPointerLeave = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n delaySetOpen(false);\n };\n function isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n }\n\n return (\n <Popover\n open={open}\n onOpenChange={(value) => {\n if (freezeUntil.current === null || Date.now() >= freezeUntil.current) setOpen(value);\n }}\n >\n <PopoverTrigger\n className={cn(\n 'inline-flex items-center gap-1.5 p-1 text-sm text-fd-muted-foreground transition-colors has-data-[active=true]:text-fd-primary data-[state=open]:text-fd-accent-foreground focus-visible:outline-none',\n className,\n )}\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n {...props}\n >\n {item.url ? <LinkItem item={item as { url: string }}>{item.text}</LinkItem> : item.text}\n <ChevronDown className=\"size-3\" />\n </PopoverTrigger>\n <PopoverContent\n className=\"flex flex-col p-1 text-fd-muted-foreground text-start\"\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n >\n {item.items.map((child, i) => {\n if (child.type === 'custom') return <Fragment key={i}>{child.children}</Fragment>;\n\n return (\n <LinkItem\n key={i}\n item={child}\n className=\"inline-flex items-center gap-2 rounded-md p-2 transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground data-[active=true]:text-fd-primary [&_svg]:size-4\"\n onClick={() => {\n if (isTouchDevice()) setOpen(false);\n }}\n >\n {child.icon}\n {child.text}\n </LinkItem>\n );\n })}\n </PopoverContent>\n </Popover>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,MAAa,gBAAgB,cAK3B,KAAK;AAOP,SAAgB,sBAAsB,EACpC,qBAAqB,QACrB,SACA,SACA,YAIC;CACD,MAAM,QAAQ,eAAe,EAAE,SAAS,uBAAuB,OAAO,CAAC,IAAI;CAC3E,MAAM,mBAAmB,uBAAuB,QAAQ,QAAQ,uBAAuB;AAEvF,QACE,oBAAC;EACC,OAAO,eACE;GACL;GACA;GACA;GACD,GACD;GAAC;GAAkB;GAAS;GAAQ,CACrC;EAEA;GACa;;AAIpB,SAAgB,aAAa,OAAiC;CAC5D,MAAM,EAAE,SAAS,YAAY;CAC7B,MAAM,EAAE,qBAAqB,IAAI,cAAc;AAE/C,QACE,oBAAC;EAAO,oBAAkB,oBAAoB,CAAC;EAAM,GAAI;YACtD,MAAM;GACA;;AAIb,SAAgB,WAAW,EAAE,WAAW,OAAO,UAAU,GAAG,SAAgC;CAC1F,MAAM,EAAE,YAAY,IAAI,cAAc;CACtC,MAAM,EAAE,cAAc,YAAY;CAClC,MAAM,UACJ;AAEF,QACE,oBAAC;EACC,IAAG;EACH,WAAW,GACT,iPACA,UACD;EACD,OACE;GACE,cACE,YAAY,QACR;;sGAEsF,QAAQ,kDAC9F;;sGAEsF,QAAQ;GACpG,mBAAmB;GACnB,mBAAmB;GACnB,mBAAmB;GACnB,oBAAoB,YAAY,QAAQ;GACxC,GAAG;GACJ;EAEH,GAAI;EAEH;GACG;;AAIV,SAAgB,iBAAiB,EAC/B,SACA,WACA,GAAG,SAGF;CACD,MAAM,WAAW,aAAa;CAC9B,MAAM,cAAc,cAAc;AAChC,SAAO,QAAQ,eAAe,WAAW,YAAY,QAAQ,SAAS,CAAC;IACtE,CAAC,SAAS,SAAS,CAAC;AAEvB,QACE,oBAAC;EAAI,WAAW,GAAG,iCAAiC,UAAU;EAAE,GAAI;YACjE,QAAQ,KAAK,QAAQ,MAAM;GAC1B,MAAM,EAAE,OAAO,KAAK,UAAU,OAAO,EAAE,wBAAW,GAAG,SAAS,EAAE,KAAK;GACrE,MAAM,aAAa,gBAAgB;AAEnC,UACE,oBAAC;IAEC,MAAM;IACN,WAAW,GACT,kLACA,YAAY,CAAC,cAAc,UAC3B,cAAc,qCACdA,YACD;IACD,GAAI;cAEH;MAVI,EAWA;IAET;GACE;;AAIV,SAAgB,eAAe,EAC7B,MACA,WACA,GAAG,SACoD;AACvD,KAAI,KAAK,SAAS,SAAU,QAAO,KAAK;AAExC,KAAI,KAAK,SAAS,OAChB,QAAO,oBAAC;EAAyB;EAAiB;EAAW,GAAI;GAAS;AAG5E,QACE,oBAAC;EACO;EACN,WAAW,GACT,yHACA,UACD;EACD,GAAI;YAEH,KAAK;GACG;;AAIf,SAAS,mBAAmB,EAC1B,MACA,aAAa,IACb,WACA,GAAG,SACyE;CAC5E,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;CACvC,MAAM,aAAa,OAAe,KAAK;CACvC,MAAM,cAAc,OAAe,KAAK;CAExC,MAAM,gBAAgB,UAAmB;AACvC,MAAI,WAAW,SAAS;AACtB,gBAAa,WAAW,QAAQ;AAChC,cAAW,UAAU;;AAGvB,aAAW,UAAU,OAAO,iBAAiB;AAC3C,WAAQ,MAAM;AACd,eAAY,UAAU,KAAK,KAAK,GAAG;KAClC,WAAW;;CAEhB,MAAM,kBAAkB,MAAoB;AAC1C,MAAI,EAAE,gBAAgB,QAAS;AAC/B,eAAa,KAAK;;CAEpB,MAAM,kBAAkB,MAAoB;AAC1C,MAAI,EAAE,gBAAgB,QAAS;AAC/B,eAAa,MAAM;;CAErB,SAAS,gBAAgB;AACvB,SAAO,kBAAkB,UAAU,UAAU,iBAAiB;;AAGhE,QACE,qBAAC;EACO;EACN,eAAe,UAAU;AACvB,OAAI,YAAY,YAAY,QAAQ,KAAK,KAAK,IAAI,YAAY,QAAS,SAAQ,MAAM;;aAGvF,qBAAC;GACC,WAAW,GACT,yMACA,UACD;GACe;GACA;GAChB,GAAI;cAEH,KAAK,MAAM,oBAAC;IAAe;cAA0B,KAAK;KAAgB,GAAG,KAAK,MACnF,oBAAC,eAAY,WAAU,WAAW;IACnB,EACjB,oBAAC;GACC,WAAU;GACM;GACA;aAEf,KAAK,MAAM,KAAK,OAAO,MAAM;AAC5B,QAAI,MAAM,SAAS,SAAU,QAAO,oBAAC,sBAAkB,MAAM,YAAV,EAA8B;AAEjF,WACE,qBAAC;KAEC,MAAM;KACN,WAAU;KACV,eAAe;AACb,UAAI,eAAe,CAAE,SAAQ,MAAM;;gBAGpC,MAAM,MACN,MAAM;OARF,EASI;KAEb;IACa;GACT"}
1
+ {"version":3,"file":"client.js","names":[],"sources":["../../../src/layouts/notebook/client.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@/utils/cn';\nimport {\n type ComponentProps,\n createContext,\n Fragment,\n type HTMLAttributes,\n type PointerEvent,\n type ReactNode,\n use,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useSidebar } from '@/components/sidebar/base';\nimport { ChevronDown } from 'lucide-react';\nimport Link from 'fumadocs-core/link';\nimport { usePathname } from 'fumadocs-core/framework';\nimport { isTabActive, type SidebarTabWithProps } from '@/components/sidebar/tabs/dropdown';\nimport { useIsScrollTop } from '@/utils/use-is-scroll-top';\nimport { LinkItem, type LinkItemType, type MenuItemType } from '@/utils/link-item';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\n\nexport const LayoutContext = createContext<\n | (LayoutInfo & {\n isNavTransparent: boolean;\n })\n | null\n>(null);\n\nexport interface LayoutInfo {\n tabMode: 'sidebar' | 'navbar';\n navMode: 'top' | 'auto';\n}\n\nexport function LayoutContextProvider({\n navTransparentMode = 'none',\n navMode,\n tabMode,\n children,\n}: LayoutInfo & {\n navTransparentMode?: 'always' | 'top' | 'none';\n children: ReactNode;\n}) {\n const isTop = useIsScrollTop({ enabled: navTransparentMode === 'top' }) ?? true;\n const isNavTransparent = navTransparentMode === 'top' ? isTop : navTransparentMode === 'always';\n\n return (\n <LayoutContext\n value={useMemo(\n () => ({\n isNavTransparent,\n navMode,\n tabMode,\n }),\n [isNavTransparent, navMode, tabMode],\n )}\n >\n {children}\n </LayoutContext>\n );\n}\n\nexport function LayoutHeader(props: ComponentProps<'header'>) {\n const { open } = useSidebar();\n const { isNavTransparent } = use(LayoutContext)!;\n\n return (\n <header data-transparent={isNavTransparent && !open} {...props}>\n {props.children}\n </header>\n );\n}\n\nexport function LayoutBody({ className, style, children, ...props }: ComponentProps<'div'>) {\n const { navMode } = use(LayoutContext)!;\n const { collapsed } = useSidebar();\n const pageCol =\n 'calc(var(--fd-layout-width,97rem) - var(--fd-sidebar-col) - var(--fd-toc-width))';\n\n return (\n <div\n id=\"nd-notebook-layout\"\n className={cn(\n 'grid overflow-x-clip min-h-(--fd-docs-height) transition-[grid-template-columns] auto-cols-auto auto-rows-auto [--fd-docs-height:100dvh] [--fd-header-height:0px] [--fd-toc-popover-height:0px] [--fd-sidebar-width:0px] [--fd-toc-width:0px]',\n className,\n )}\n style={\n {\n gridTemplate:\n navMode === 'top'\n ? `\". header header header .\"\n \"sidebar sidebar toc-popover toc-popover .\"\n \"sidebar sidebar main toc .\" 1fr / minmax(min-content, 1fr) var(--fd-sidebar-col) minmax(0, ${pageCol}) var(--fd-toc-width) minmax(min-content, 1fr)`\n : `\"sidebar sidebar header header .\"\n \"sidebar sidebar toc-popover toc-popover .\"\n \"sidebar sidebar main toc .\" 1fr / minmax(min-content, 1fr) var(--fd-sidebar-col) minmax(0, ${pageCol}) var(--fd-toc-width) minmax(min-content, 1fr)`,\n '--fd-docs-row-1': 'var(--fd-banner-height, 0px)',\n '--fd-docs-row-2': 'calc(var(--fd-docs-row-1) + var(--fd-header-height))',\n '--fd-docs-row-3': 'calc(var(--fd-docs-row-2) + var(--fd-toc-popover-height))',\n '--fd-sidebar-col': collapsed ? '0px' : 'var(--fd-sidebar-width)',\n ...style,\n } as object\n }\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function LayoutHeaderTabs({\n options,\n className,\n ...props\n}: ComponentProps<'div'> & {\n options: SidebarTabWithProps[];\n}) {\n const pathname = usePathname();\n const selectedIdx = useMemo(() => {\n return options.findLastIndex((option) => isTabActive(option, pathname));\n }, [options, pathname]);\n\n return (\n <div className={cn('flex flex-row items-end gap-6', className)} {...props}>\n {options.map((option, i) => {\n const { title, url, unlisted, props: { className, ...rest } = {} } = option;\n const isSelected = selectedIdx === i;\n\n return (\n <Link\n key={i}\n href={url}\n className={cn(\n 'inline-flex border-b-2 border-transparent transition-colors items-center pb-1.5 font-medium gap-2 text-fd-muted-foreground text-sm text-nowrap hover:text-fd-accent-foreground',\n unlisted && !isSelected && 'hidden',\n isSelected && 'border-fd-primary text-fd-primary',\n className,\n )}\n {...rest}\n >\n {title}\n </Link>\n );\n })}\n </div>\n );\n}\n\nexport function NavbarLinkItem({\n item,\n className,\n ...props\n}: { item: LinkItemType } & HTMLAttributes<HTMLElement>) {\n if (item.type === 'custom') return item.children;\n\n if (item.type === 'menu') {\n return <NavbarLinkItemMenu item={item} className={className} {...props} />;\n }\n\n return (\n <LinkItem\n item={item}\n className={cn(\n 'text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground data-[active=true]:text-fd-primary',\n className,\n )}\n {...props}\n >\n {item.text}\n </LinkItem>\n );\n}\n\nfunction NavbarLinkItemMenu({\n item,\n hoverDelay = 50,\n className,\n ...props\n}: { item: MenuItemType; hoverDelay?: number } & HTMLAttributes<HTMLElement>) {\n const [open, setOpen] = useState(false);\n const timeoutRef = useRef<number>(null);\n const freezeUntil = useRef<number>(null);\n\n const delaySetOpen = (value: boolean) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n timeoutRef.current = window.setTimeout(() => {\n setOpen(value);\n freezeUntil.current = Date.now() + 300;\n }, hoverDelay);\n };\n const onPointerEnter = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n delaySetOpen(true);\n };\n const onPointerLeave = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n delaySetOpen(false);\n };\n function isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n }\n\n return (\n <Popover\n open={open}\n onOpenChange={(value) => {\n if (freezeUntil.current === null || Date.now() >= freezeUntil.current) setOpen(value);\n }}\n >\n <PopoverTrigger\n className={cn(\n 'inline-flex items-center gap-1.5 p-1 text-sm text-fd-muted-foreground transition-colors has-data-[active=true]:text-fd-primary data-[state=open]:text-fd-accent-foreground focus-visible:outline-none',\n className,\n )}\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n {...props}\n >\n {item.url ? <LinkItem item={item as { url: string }}>{item.text}</LinkItem> : item.text}\n <ChevronDown className=\"size-3\" />\n </PopoverTrigger>\n <PopoverContent\n className=\"flex flex-col p-1 text-fd-muted-foreground text-start\"\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n >\n {item.items.map((child, i) => {\n if (child.type === 'custom') return <Fragment key={i}>{child.children}</Fragment>;\n\n return (\n <LinkItem\n key={i}\n item={child}\n className=\"inline-flex items-center gap-2 rounded-md p-2 transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground data-[active=true]:text-fd-primary [&_svg]:size-4\"\n onClick={() => {\n if (isTouchDevice()) setOpen(false);\n }}\n >\n {child.icon}\n {child.text}\n </LinkItem>\n );\n })}\n </PopoverContent>\n </Popover>\n );\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
4
4
  import { BaseLayoutProps } from "../shared/index.js";
5
5
  import { Sidebar } from "./sidebar.js";
6
6
  import { ComponentProps, FC, HTMLAttributes, ReactNode } from "react";
7
- import * as react_jsx_runtime48 from "react/jsx-runtime";
7
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
8
8
  import * as PageTree from "fumadocs-core/page-tree";
9
9
 
10
10
  //#region src/layouts/notebook/index.d.ts
@@ -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_runtime48.JSX.Element;
35
+ declare function DocsLayout(props: DocsLayoutProps): react_jsx_runtime0.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,mBAAA,CAAA,GAAA,CAAA,OApB7C"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/layouts/notebook/index.tsx"],"mappings":";;;;;;;;;;UAgCiB,eAAA,SAAwB,eAAA;EACvC,IAAA,EAAM,QAAA,CAAS,IAAA;EACf,OAAA;EAEA,GAAA,GAAM,eAAA;IACJ,IAAA;EAAA;EAGF,OAAA,GAAU,cAAA;EAEV,cAAA,GAAiB,cAAA,CAAe,cAAA;AAAA;AAAA,UAGxB,cAAA,SAEN,cAAA,WACA,IAAA,CAAK,cAAA,QAAsB,OAAA;EAC7B,UAAA,GAAa,OAAA,CAAQ,yBAAA;EAjBkB;;;EAsBvC,IAAA,GAAO,mBAAA,KAAwB,qBAAA;EAE/B,MAAA,GAAS,SAAA,GAAY,EAAA,CAAG,cAAA;EACxB,MAAA,GAAS,SAAA,GAAY,EAAA,CAAG,cAAA;EAxBT;;;;;EA+Bf,WAAA;AAAA;AAAA,iBAGc,UAAA,CAAW,KAAA,EAAO,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}