@hanzo/docs-base-ui 16.4.8 → 16.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/README.md +1 -1
  2. package/css/aspen.css +39 -1
  3. package/css/black.css +39 -1
  4. package/css/catppuccin.css +49 -1
  5. package/css/dusk.css +47 -1
  6. package/css/emerald.css +39 -1
  7. package/css/generated/docs.css +455 -0
  8. package/css/generated/flux.css +419 -0
  9. package/css/generated/home.css +201 -0
  10. package/css/generated/notebook.css +492 -0
  11. package/css/generated/shared.css +1033 -0
  12. package/css/lib/base.css +217 -0
  13. package/css/lib/default-colors.css +51 -0
  14. package/css/lib/shiki.css +90 -0
  15. package/css/neutral.css +7 -1
  16. package/css/ocean.css +44 -1
  17. package/css/preset.css +6 -7
  18. package/css/purple.css +39 -1
  19. package/css/ruby.css +39 -1
  20. package/css/shadcn.css +36 -1
  21. package/css/solar.css +75 -1
  22. package/css/vitepress.css +65 -1
  23. package/dist/_virtual/_rolldown/runtime.js +18 -0
  24. package/dist/components/accordion.d.ts +3 -3
  25. package/dist/components/accordion.d.ts.map +1 -1
  26. package/dist/components/accordion.js +6 -6
  27. package/dist/components/accordion.js.map +1 -1
  28. package/dist/components/banner.d.ts +2 -2
  29. package/dist/components/banner.d.ts.map +1 -1
  30. package/dist/components/banner.js +4 -4
  31. package/dist/components/banner.js.map +1 -1
  32. package/dist/components/callout.d.ts +5 -5
  33. package/dist/components/callout.d.ts.map +1 -1
  34. package/dist/components/callout.js +1 -1
  35. package/dist/components/callout.js.map +1 -1
  36. package/dist/components/card.d.ts +3 -3
  37. package/dist/components/card.d.ts.map +1 -1
  38. package/dist/components/card.js +2 -2
  39. package/dist/components/card.js.map +1 -1
  40. package/dist/components/codeblock.d.ts +7 -7
  41. package/dist/components/codeblock.d.ts.map +1 -1
  42. package/dist/components/codeblock.js +7 -7
  43. package/dist/components/codeblock.js.map +1 -1
  44. package/dist/components/dialog/search-algolia.d.ts +6 -6
  45. package/dist/components/dialog/search-algolia.d.ts.map +1 -1
  46. package/dist/components/dialog/search-algolia.js +7 -7
  47. package/dist/components/dialog/search-algolia.js.map +1 -1
  48. package/dist/components/dialog/search-default.d.ts +6 -6
  49. package/dist/components/dialog/search-default.d.ts.map +1 -1
  50. package/dist/components/dialog/search-default.js +7 -7
  51. package/dist/components/dialog/search-default.js.map +1 -1
  52. package/dist/components/dialog/search-orama.d.ts +6 -6
  53. package/dist/components/dialog/search-orama.d.ts.map +1 -1
  54. package/dist/components/dialog/search-orama.js +7 -7
  55. package/dist/components/dialog/search-orama.js.map +1 -1
  56. package/dist/components/dialog/search.d.ts +16 -16
  57. package/dist/components/dialog/search.d.ts.map +1 -1
  58. package/dist/components/dialog/search.js +19 -27
  59. package/dist/components/dialog/search.js.map +1 -1
  60. package/dist/components/dynamic-codeblock.core.d.ts +33 -0
  61. package/dist/components/dynamic-codeblock.core.d.ts.map +1 -0
  62. package/dist/components/dynamic-codeblock.core.js +66 -0
  63. package/dist/components/dynamic-codeblock.core.js.map +1 -0
  64. package/dist/components/dynamic-codeblock.d.ts +4 -28
  65. package/dist/components/dynamic-codeblock.d.ts.map +1 -1
  66. package/dist/components/dynamic-codeblock.js +9 -53
  67. package/dist/components/dynamic-codeblock.js.map +1 -1
  68. package/dist/components/files.d.ts.map +1 -1
  69. package/dist/components/files.js +2 -2
  70. package/dist/components/files.js.map +1 -1
  71. package/dist/components/github-info.d.ts +2 -2
  72. package/dist/components/github-info.d.ts.map +1 -1
  73. package/dist/components/github-info.js +1 -1
  74. package/dist/components/github-info.js.map +1 -1
  75. package/dist/components/heading.d.ts.map +1 -1
  76. package/dist/components/heading.js +1 -1
  77. package/dist/components/heading.js.map +1 -1
  78. package/dist/components/{image-zoom-CtfZieBH.css → image-zoom-DGvp66QF.css} +1 -1
  79. package/dist/components/{image-zoom-CtfZieBH.css.map → image-zoom-DGvp66QF.css.map} +1 -1
  80. package/dist/components/image-zoom.d.ts +3 -3
  81. package/dist/components/image-zoom.d.ts.map +1 -1
  82. package/dist/components/inline-toc.d.ts +2 -2
  83. package/dist/components/inline-toc.d.ts.map +1 -1
  84. package/dist/components/inline-toc.js +1 -1
  85. package/dist/components/inline-toc.js.map +1 -1
  86. package/dist/components/sidebar/base.d.ts +16 -16
  87. package/dist/components/sidebar/base.d.ts.map +1 -1
  88. package/dist/components/sidebar/base.js +5 -5
  89. package/dist/components/sidebar/base.js.map +1 -1
  90. package/dist/components/sidebar/link-item.d.ts +3 -3
  91. package/dist/components/sidebar/link-item.d.ts.map +1 -1
  92. package/dist/components/sidebar/link-item.js.map +1 -1
  93. package/dist/components/sidebar/page-tree.d.ts +2 -2
  94. package/dist/components/sidebar/page-tree.d.ts.map +1 -1
  95. package/dist/components/sidebar/page-tree.js +5 -5
  96. package/dist/components/sidebar/page-tree.js.map +1 -1
  97. package/dist/components/sidebar/tabs/dropdown.d.ts +3 -3
  98. package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -1
  99. package/dist/components/sidebar/tabs/dropdown.js +19 -19
  100. package/dist/components/sidebar/tabs/dropdown.js.map +1 -1
  101. package/dist/components/sidebar/tabs/index.d.ts.map +1 -1
  102. package/dist/components/steps.d.ts +3 -3
  103. package/dist/components/steps.d.ts.map +1 -1
  104. package/dist/components/tabs.d.ts +4 -4
  105. package/dist/components/tabs.d.ts.map +1 -1
  106. package/dist/components/tabs.js +2 -2
  107. package/dist/components/tabs.js.map +1 -1
  108. package/dist/components/toc/clerk.d.ts +12 -1
  109. package/dist/components/toc/clerk.d.ts.map +1 -0
  110. package/dist/components/toc/clerk.js +106 -6
  111. package/dist/components/toc/clerk.js.map +1 -1
  112. package/dist/components/toc/default.d.ts +12 -1
  113. package/dist/components/toc/default.d.ts.map +1 -0
  114. package/dist/components/toc/default.js +34 -6
  115. package/dist/components/toc/default.js.map +1 -1
  116. package/dist/components/toc/index.d.ts +26 -1
  117. package/dist/components/toc/index.d.ts.map +1 -0
  118. package/dist/components/toc/index.js +76 -6
  119. package/dist/components/toc/index.js.map +1 -1
  120. package/dist/components/type-table.d.ts +2 -2
  121. package/dist/components/type-table.d.ts.map +1 -1
  122. package/dist/components/type-table.js +7 -7
  123. package/dist/components/type-table.js.map +1 -1
  124. package/dist/components/ui/accordion.d.ts +6 -6
  125. package/dist/components/ui/accordion.d.ts.map +1 -1
  126. package/dist/components/ui/accordion.js +1 -1
  127. package/dist/components/ui/accordion.js.map +1 -1
  128. package/dist/components/ui/button.d.ts +1 -1
  129. package/dist/components/ui/button.d.ts.map +1 -1
  130. package/dist/components/ui/collapsible.d.ts +6 -6
  131. package/dist/components/ui/collapsible.d.ts.map +1 -1
  132. package/dist/components/ui/collapsible.js +1 -1
  133. package/dist/components/ui/collapsible.js.map +1 -1
  134. package/dist/components/ui/navigation-menu.d.ts +7 -7
  135. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  136. package/dist/components/ui/navigation-menu.js +2 -2
  137. package/dist/components/ui/navigation-menu.js.map +1 -1
  138. package/dist/components/ui/popover.d.ts +3 -3
  139. package/dist/components/ui/popover.d.ts.map +1 -1
  140. package/dist/components/ui/popover.js +2 -2
  141. package/dist/components/ui/popover.js.map +1 -1
  142. package/dist/components/ui/scroll-area.d.ts +4 -4
  143. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  144. package/dist/components/ui/scroll-area.js +2 -2
  145. package/dist/components/ui/scroll-area.js.map +1 -1
  146. package/dist/components/ui/tabs.d.ts +7 -7
  147. package/dist/components/ui/tabs.d.ts.map +1 -1
  148. package/dist/components/ui/tabs.js +5 -5
  149. package/dist/components/ui/tabs.js.map +1 -1
  150. package/dist/contexts/i18n.d.ts +60 -1
  151. package/dist/contexts/i18n.d.ts.map +1 -0
  152. package/dist/contexts/i18n.js +54 -6
  153. package/dist/contexts/i18n.js.map +1 -1
  154. package/dist/contexts/search.d.ts +70 -4
  155. package/dist/contexts/search.d.ts.map +1 -1
  156. package/dist/contexts/search.js +62 -6
  157. package/dist/contexts/search.js.map +1 -1
  158. package/dist/contexts/tree.d.ts +22 -1
  159. package/dist/contexts/tree.d.ts.map +1 -0
  160. package/dist/contexts/tree.js +36 -6
  161. package/dist/contexts/tree.js.map +1 -1
  162. package/dist/i18n.d.ts +14 -1
  163. package/dist/i18n.d.ts.map +1 -0
  164. package/dist/i18n.js +19 -2
  165. package/dist/i18n.js.map +1 -0
  166. package/dist/layouts/docs/client.d.ts +7 -7
  167. package/dist/layouts/docs/client.d.ts.map +1 -1
  168. package/dist/layouts/docs/client.js +4 -4
  169. package/dist/layouts/docs/client.js.map +1 -1
  170. package/dist/layouts/docs/index.d.ts +3 -3
  171. package/dist/layouts/docs/index.d.ts.map +1 -1
  172. package/dist/layouts/docs/index.js +11 -11
  173. package/dist/layouts/docs/index.js.map +1 -1
  174. package/dist/layouts/docs/page/client.d.ts +7 -7
  175. package/dist/layouts/docs/page/client.d.ts.map +1 -1
  176. package/dist/layouts/docs/page/client.js +21 -21
  177. package/dist/layouts/docs/page/client.js.map +1 -1
  178. package/dist/layouts/docs/page/index.d.ts +5 -5
  179. package/dist/layouts/docs/page/index.d.ts.map +1 -1
  180. package/dist/layouts/docs/page/index.js +13 -13
  181. package/dist/layouts/docs/page/index.js.map +1 -1
  182. package/dist/layouts/docs/sidebar.d.ts +20 -19
  183. package/dist/layouts/docs/sidebar.d.ts.map +1 -1
  184. package/dist/layouts/docs/sidebar.js +6 -6
  185. package/dist/layouts/docs/sidebar.js.map +1 -1
  186. package/dist/layouts/flux/index.d.ts +79 -0
  187. package/dist/layouts/flux/index.d.ts.map +1 -0
  188. package/dist/layouts/flux/index.js +168 -0
  189. package/dist/layouts/flux/index.js.map +1 -0
  190. package/dist/layouts/flux/page/client.d.ts +45 -0
  191. package/dist/layouts/flux/page/client.d.ts.map +1 -0
  192. package/dist/layouts/flux/page/client.js +255 -0
  193. package/dist/layouts/flux/page/client.js.map +1 -0
  194. package/dist/layouts/flux/page/index.d.ts +98 -0
  195. package/dist/layouts/flux/page/index.d.ts.map +1 -0
  196. package/dist/layouts/flux/page/index.js +76 -0
  197. package/dist/layouts/flux/page/index.js.map +1 -0
  198. package/dist/layouts/flux/sidebar.d.ts +59 -0
  199. package/dist/layouts/flux/sidebar.d.ts.map +1 -0
  200. package/dist/layouts/flux/sidebar.js +197 -0
  201. package/dist/layouts/flux/sidebar.js.map +1 -0
  202. package/dist/layouts/flux/tab-dropdown.d.ts +21 -0
  203. package/dist/layouts/flux/tab-dropdown.d.ts.map +1 -0
  204. package/dist/layouts/flux/tab-dropdown.js +96 -0
  205. package/dist/layouts/flux/tab-dropdown.js.map +1 -0
  206. package/dist/layouts/home/client.d.ts +3 -3
  207. package/dist/layouts/home/client.d.ts.map +1 -1
  208. package/dist/layouts/home/client.js +20 -38
  209. package/dist/layouts/home/client.js.map +1 -1
  210. package/dist/layouts/home/index.d.ts +2 -2
  211. package/dist/layouts/home/index.d.ts.map +1 -1
  212. package/dist/layouts/home/index.js +1 -1
  213. package/dist/layouts/home/index.js.map +1 -1
  214. package/dist/layouts/home/navbar.d.ts +6 -6
  215. package/dist/layouts/home/navbar.d.ts.map +1 -1
  216. package/dist/layouts/home/navbar.js +2 -2
  217. package/dist/layouts/home/navbar.js.map +1 -1
  218. package/dist/layouts/notebook/client.d.ts +9 -9
  219. package/dist/layouts/notebook/client.d.ts.map +1 -1
  220. package/dist/layouts/notebook/client.js +8 -8
  221. package/dist/layouts/notebook/client.js.map +1 -1
  222. package/dist/layouts/notebook/index.d.ts +2 -2
  223. package/dist/layouts/notebook/index.d.ts.map +1 -1
  224. package/dist/layouts/notebook/index.js +18 -18
  225. package/dist/layouts/notebook/index.js.map +1 -1
  226. package/dist/layouts/notebook/page/client.d.ts +7 -7
  227. package/dist/layouts/notebook/page/client.d.ts.map +1 -1
  228. package/dist/layouts/notebook/page/client.js +21 -21
  229. package/dist/layouts/notebook/page/client.js.map +1 -1
  230. package/dist/layouts/notebook/page/index.d.ts +5 -5
  231. package/dist/layouts/notebook/page/index.d.ts.map +1 -1
  232. package/dist/layouts/notebook/page/index.js +13 -13
  233. package/dist/layouts/notebook/page/index.js.map +1 -1
  234. package/dist/layouts/notebook/sidebar.d.ts +15 -14
  235. package/dist/layouts/notebook/sidebar.d.ts.map +1 -1
  236. package/dist/layouts/notebook/sidebar.js +4 -4
  237. package/dist/layouts/notebook/sidebar.js.map +1 -1
  238. package/dist/layouts/shared/index.d.ts +13 -6
  239. package/dist/layouts/shared/index.d.ts.map +1 -1
  240. package/dist/layouts/shared/index.js +29 -2
  241. package/dist/layouts/shared/index.js.map +1 -1
  242. package/dist/layouts/shared/language-toggle.d.ts +2 -2
  243. package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
  244. package/dist/layouts/shared/language-toggle.js +4 -4
  245. package/dist/layouts/shared/language-toggle.js.map +1 -1
  246. package/dist/layouts/shared/search-toggle.d.ts +3 -3
  247. package/dist/layouts/shared/search-toggle.d.ts.map +1 -1
  248. package/dist/layouts/shared/search-toggle.js +6 -6
  249. package/dist/layouts/shared/search-toggle.js.map +1 -1
  250. package/dist/layouts/shared/theme-toggle.d.ts +2 -2
  251. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -1
  252. package/dist/layouts/shared/theme-toggle.js +7 -7
  253. package/dist/layouts/shared/theme-toggle.js.map +1 -1
  254. package/dist/mdx.d.ts +1 -1
  255. package/dist/mdx.d.ts.map +1 -1
  256. package/dist/mdx.js +2 -2
  257. package/dist/mdx.js.map +1 -1
  258. package/dist/mdx.server.d.ts +0 -1
  259. package/dist/mdx.server.d.ts.map +1 -1
  260. package/dist/og.d.ts +23 -1
  261. package/dist/og.d.ts.map +1 -0
  262. package/dist/og.js +69 -2
  263. package/dist/og.js.map +1 -0
  264. package/dist/page.d.ts +3 -3
  265. package/dist/page.d.ts.map +1 -1
  266. package/dist/page.js +5 -5
  267. package/dist/page.js.map +1 -1
  268. package/dist/provider/base.d.ts +4 -4
  269. package/dist/provider/base.d.ts.map +1 -1
  270. package/dist/provider/base.js +3 -3
  271. package/dist/provider/base.js.map +1 -1
  272. package/dist/provider/next.d.ts +3 -3
  273. package/dist/provider/next.d.ts.map +1 -1
  274. package/dist/provider/react-router.d.ts +3 -3
  275. package/dist/provider/react-router.d.ts.map +1 -1
  276. package/dist/provider/tanstack.d.ts +3 -3
  277. package/dist/provider/tanstack.d.ts.map +1 -1
  278. package/dist/provider/waku.d.ts +3 -3
  279. package/dist/provider/waku.d.ts.map +1 -1
  280. package/dist/style.css +187 -56
  281. package/dist/utils/cn.js +3 -0
  282. package/dist/utils/link-item.d.ts +86 -0
  283. package/dist/utils/link-item.d.ts.map +1 -0
  284. package/dist/utils/link-item.js +25 -0
  285. package/dist/utils/link-item.js.map +1 -0
  286. package/dist/utils/merge-refs.js +13 -0
  287. package/dist/utils/merge-refs.js.map +1 -0
  288. package/dist/utils/urls.js +17 -0
  289. package/dist/utils/urls.js.map +1 -0
  290. package/dist/utils/use-copy-button.d.ts +7 -1
  291. package/dist/utils/use-copy-button.d.ts.map +1 -0
  292. package/dist/utils/use-copy-button.js +29 -2
  293. package/dist/utils/use-copy-button.js.map +1 -0
  294. package/dist/utils/use-footer-items.d.ts +10 -1
  295. package/dist/utils/use-footer-items.d.ts.map +1 -0
  296. package/dist/utils/use-footer-items.js +27 -2
  297. package/dist/utils/use-footer-items.js.map +1 -0
  298. package/dist/utils/use-is-scroll-top.d.ts +9 -1
  299. package/dist/utils/use-is-scroll-top.d.ts.map +1 -0
  300. package/dist/utils/use-is-scroll-top.js +23 -2
  301. package/dist/utils/use-is-scroll-top.js.map +1 -0
  302. package/package.json +28 -17
  303. package/css/layouts/docs.css +0 -1
  304. package/css/layouts/home.css +0 -1
  305. package/css/layouts/notebook.css +0 -1
  306. package/dist/_virtual/rolldown_runtime.js +0 -36
@@ -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"],"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,5 +1,5 @@
1
+ import { cn } from "../../utils/cn.js";
1
2
  import { Header } from "./client.js";
2
- import { cn } from "@hanzo/docs-ui/cn";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
 
5
5
  //#region src/layouts/home/index.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/layouts/home/index.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { cn } from '@hanzo/docs-ui/cn';\nimport { type BaseLayoutProps, type NavOptions } from '@/layouts/shared';\nimport { Header } from '@/layouts/home/client';\n\nexport interface HomeLayoutProps extends BaseLayoutProps {\n nav?: Partial<NavOptions>;\n}\n\nexport function HomeLayout(props: HomeLayoutProps & ComponentProps<'main'>) {\n const { nav = {}, links, githubUrl, i18n, themeSwitch = {}, searchToggle, ...rest } = props;\n\n return (\n <main\n id=\"nd-home-layout\"\n {...rest}\n className={cn('flex flex-1 flex-col [--fd-layout-width:1400px]', rest.className)}\n >\n {nav.enabled !== false &&\n (nav.component ?? (\n <Header\n links={links}\n nav={nav}\n themeSwitch={themeSwitch}\n searchToggle={searchToggle}\n i18n={i18n}\n githubUrl={githubUrl}\n />\n ))}\n {props.children}\n </main>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,WAAW,OAAiD;CAC1E,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,WAAW,MAAM,cAAc,EAAE,EAAE,cAAc,GAAG,SAAS;AAEtF,QACE,qBAAC;EACC,IAAG;EACH,GAAI;EACJ,WAAW,GAAG,mDAAmD,KAAK,UAAU;aAE/E,IAAI,YAAY,UACd,IAAI,aACH,oBAAC;GACQ;GACF;GACQ;GACC;GACR;GACK;IACX,GAEL,MAAM;GACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/layouts/home/index.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { cn } from '@/utils/cn';\nimport { type BaseLayoutProps, type NavOptions } from '@/layouts/shared';\nimport { Header } from '@/layouts/home/client';\n\nexport interface HomeLayoutProps extends BaseLayoutProps {\n nav?: Partial<NavOptions>;\n}\n\nexport function HomeLayout(props: HomeLayoutProps & ComponentProps<'main'>) {\n const { nav = {}, links, githubUrl, i18n, themeSwitch = {}, searchToggle, ...rest } = props;\n\n return (\n <main\n id=\"nd-home-layout\"\n {...rest}\n className={cn('flex flex-1 flex-col [--fd-layout-width:1400px]', rest.className)}\n >\n {nav.enabled !== false &&\n (nav.component ?? (\n <Header\n links={links}\n nav={nav}\n themeSwitch={themeSwitch}\n searchToggle={searchToggle}\n i18n={i18n}\n githubUrl={githubUrl}\n />\n ))}\n {props.children}\n </main>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,WAAW,OAAiD;CAC1E,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,WAAW,MAAM,cAAc,EAAE,EAAE,cAAc,GAAG,SAAS;AAEtF,QACE,qBAAC;EACC,IAAG;EACH,GAAI;EACJ,WAAW,GAAG,mDAAmD,KAAK,UAAU;aAE/E,IAAI,YAAY,UACd,IAAI,aACH,oBAAC;GACQ;GACF;GACQ;GACC;GACR;GACK;IACX,GAEL,MAAM;GACF"}
@@ -1,20 +1,20 @@
1
1
  import { NavigationMenuContentProps, NavigationMenuTriggerProps } from "../../components/ui/navigation-menu.js";
2
+ import * as react from "react";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
4
  import { LinkProps } from "@hanzo/docs-core/link";
3
- import * as react_jsx_runtime17 from "react/jsx-runtime";
4
- import * as react0 from "react";
5
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: react0.ForwardRefExoticComponent<Omit<Omit<_base_ui_react0.NavigationMenuItemProps, "ref"> & react0.RefAttributes<HTMLDivElement>, "ref"> & react0.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_runtime17.JSX.Element;
12
+ }: NavigationMenuContentProps): react_jsx_runtime0.JSX.Element;
13
13
  declare function NavbarMenuTrigger({
14
14
  className,
15
15
  ...props
16
- }: NavigationMenuTriggerProps): react_jsx_runtime17.JSX.Element;
17
- declare function NavbarMenuLink(props: LinkProps): react_jsx_runtime17.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,MAAA,CAAA,0BAAA,KAAA,KAAqB,eAAA,CAArB,uBAAA,WAAA,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
+ {"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,10 +1,10 @@
1
1
  'use client';
2
2
 
3
+ import { cn } from "../../utils/cn.js";
3
4
  import { NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuTrigger } from "../../components/ui/navigation-menu.js";
4
5
  import { navItemVariants } from "./client.js";
5
- import Link from "@hanzo/docs-core/link";
6
- import { cn } from "@hanzo/docs-ui/cn";
7
6
  import { jsx } from "react/jsx-runtime";
7
+ import Link from "@hanzo/docs-core/link";
8
8
 
9
9
  //#region src/layouts/home/navbar.tsx
10
10
  const NavbarMenu = NavigationMenuItem;
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.js","names":[],"sources":["../../../src/layouts/home/navbar.tsx"],"sourcesContent":["'use client';\nimport Link, { type LinkProps } from '@hanzo/docs-core/link';\nimport { cn } from '@hanzo/docs-ui/cn';\nimport {\n NavigationMenuContent,\n type NavigationMenuContentProps,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuTrigger,\n type NavigationMenuTriggerProps,\n} from '@/components/ui/navigation-menu';\nimport { navItemVariants } from './client';\n\nexport const NavbarMenu = NavigationMenuItem;\n\nexport function NavbarMenuContent({ className, ...props }: NavigationMenuContentProps) {\n return (\n <NavigationMenuContent\n className={(s) =>\n cn(\n 'grid grid-cols-1 gap-2 p-4 md:grid-cols-2 lg:grid-cols-3',\n typeof className === 'function' ? className(s) : className,\n )\n }\n {...props}\n >\n {props.children}\n </NavigationMenuContent>\n );\n}\n\nexport function NavbarMenuTrigger({ className, ...props }: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuTrigger\n {...props}\n className={(s) =>\n cn(\n navItemVariants(),\n 'rounded-md',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n {props.children}\n </NavigationMenuTrigger>\n );\n}\n\nexport function NavbarMenuLink(props: LinkProps) {\n return (\n <NavigationMenuLink\n render={\n <Link\n {...props}\n className={cn(\n 'flex flex-col gap-2 rounded-lg border bg-fd-card p-3 transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground',\n props.className,\n )}\n >\n {props.children}\n </Link>\n }\n />\n );\n}\n"],"mappings":";;;;;;;;;AAaA,MAAa,aAAa;AAE1B,SAAgB,kBAAkB,EAAE,WAAW,GAAG,SAAqC;AACrF,QACE,oBAAC;EACC,YAAY,MACV,GACE,4DACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;EAEH,GAAI;YAEH,MAAM;GACe;;AAI5B,SAAgB,kBAAkB,EAAE,WAAW,GAAG,SAAqC;AACrF,QACE,oBAAC;EACC,GAAI;EACJ,YAAY,MACV,GACE,iBAAiB,EACjB,cACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;YAGF,MAAM;GACe;;AAI5B,SAAgB,eAAe,OAAkB;AAC/C,QACE,oBAAC,sBACC,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GACT,gIACA,MAAM,UACP;YAEA,MAAM;GACF,GAET"}
1
+ {"version":3,"file":"navbar.js","names":[],"sources":["../../../src/layouts/home/navbar.tsx"],"sourcesContent":["'use client';\nimport Link, { type LinkProps } from '@hanzo/docs-core/link';\nimport { cn } from '@/utils/cn';\nimport {\n NavigationMenuContent,\n type NavigationMenuContentProps,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuTrigger,\n type NavigationMenuTriggerProps,\n} from '@/components/ui/navigation-menu';\nimport { navItemVariants } from './client';\n\nexport const NavbarMenu = NavigationMenuItem;\n\nexport function NavbarMenuContent({ className, ...props }: NavigationMenuContentProps) {\n return (\n <NavigationMenuContent\n className={(s) =>\n cn(\n 'grid grid-cols-1 gap-2 p-4 md:grid-cols-2 lg:grid-cols-3',\n typeof className === 'function' ? className(s) : className,\n )\n }\n {...props}\n >\n {props.children}\n </NavigationMenuContent>\n );\n}\n\nexport function NavbarMenuTrigger({ className, ...props }: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuTrigger\n {...props}\n className={(s) =>\n cn(\n navItemVariants(),\n 'rounded-md',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n {props.children}\n </NavigationMenuTrigger>\n );\n}\n\nexport function NavbarMenuLink(props: LinkProps) {\n return (\n <NavigationMenuLink\n render={\n <Link\n {...props}\n className={cn(\n 'flex flex-col gap-2 rounded-lg border bg-fd-card p-3 transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground',\n props.className,\n )}\n >\n {props.children}\n </Link>\n }\n />\n );\n}\n"],"mappings":";;;;;;;;;AAaA,MAAa,aAAa;AAE1B,SAAgB,kBAAkB,EAAE,WAAW,GAAG,SAAqC;AACrF,QACE,oBAAC;EACC,YAAY,MACV,GACE,4DACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;EAEH,GAAI;YAEH,MAAM;GACe;;AAI5B,SAAgB,kBAAkB,EAAE,WAAW,GAAG,SAAqC;AACrF,QACE,oBAAC;EACC,GAAI;EACJ,YAAY,MACV,GACE,iBAAiB,EACjB,cACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;YAGF,MAAM;GACe;;AAI5B,SAAgB,eAAe,OAAkB;AAC/C,QACE,oBAAC,sBACC,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GACT,gIACA,MAAM,UACP;YAEA,MAAM;GACF,GAET"}
@@ -1,11 +1,11 @@
1
+ import { LinkItemType } from "../../utils/link-item.js";
1
2
  import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
2
- import * as react_jsx_runtime132 from "react/jsx-runtime";
3
- import * as react16 from "react";
3
+ import * as react from "react";
4
4
  import { ComponentProps, HTMLAttributes, ReactNode } from "react";
5
- import { LinkItemType } from "@hanzo/docs-radix-ui/link-item";
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: react16.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_runtime132.JSX.Element;
24
- declare function LayoutHeader(props: ComponentProps<'header'>): react_jsx_runtime132.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_runtime132.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_runtime132.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>): any;
44
+ } & HTMLAttributes<HTMLElement>): string | number | bigint | boolean | react_jsx_runtime0.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.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,oBAAA,CAAA,GAAA,CAAA,OAJC;AACC,iBAuBa,YAAA,CAvBb,KAAA,EAuBiC,cAvBjC,CAAA,QAAA,CAAA,CAAA,EAuByD,oBAAA,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,oBAAA,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,oBAAA,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,GAAA"}
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,kBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,KAAA,CAAA,WAAA,GAAA,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,SAAA"}
@@ -1,16 +1,16 @@
1
1
  'use client';
2
2
 
3
+ import { cn } from "../../utils/cn.js";
3
4
  import { useSidebar } from "../../components/sidebar/base.js";
4
5
  import { Popover, PopoverContent, PopoverTrigger } from "../../components/ui/popover.js";
5
6
  import { isTabActive } from "../../components/sidebar/tabs/dropdown.js";
6
- import Link from "@hanzo/docs-core/link";
7
+ import { useIsScrollTop } from "../../utils/use-is-scroll-top.js";
8
+ import { LinkItem } from "../../utils/link-item.js";
9
+ import { Fragment, createContext, use, useMemo, useRef, useState } from "react";
7
10
  import { usePathname } from "@hanzo/docs-core/framework";
8
- import { cn } from "@hanzo/docs-ui/cn";
9
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
+ import Link from "@hanzo/docs-core/link";
10
13
  import { ChevronDown } from "lucide-react";
11
- import { Fragment as Fragment$1, createContext, use, useMemo, useRef, useState } from "react";
12
- import { useIsScrollTop } from "@hanzo/docs-radix-ui/hooks/use-is-scroll-top";
13
- import { LinkItem } from "@hanzo/docs-radix-ui/link-item";
14
14
 
15
15
  //#region src/layouts/notebook/client.tsx
16
16
  const LayoutContext = createContext(null);
@@ -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);
@@ -140,7 +140,7 @@ function NavbarLinkItemMenu({ item, hoverDelay = 50, className, ...props }) {
140
140
  onPointerEnter,
141
141
  onPointerLeave,
142
142
  children: item.items.map((child, i) => {
143
- if (child.type === "custom") return /* @__PURE__ */ jsx(Fragment$1, { children: child.children }, i);
143
+ if (child.type === "custom") return /* @__PURE__ */ jsx(Fragment, { children: child.children }, i);
144
144
  return /* @__PURE__ */ jsxs(LinkItem, {
145
145
  item: child,
146
146
  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",
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["className","Fragment"],"sources":["../../../src/layouts/notebook/client.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@hanzo/docs-ui/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 '@hanzo/docs-core/link';\nimport { usePathname } from '@hanzo/docs-core/framework';\nimport { isTabActive, type SidebarTabWithProps } from '@/components/sidebar/tabs/dropdown';\nimport { useIsScrollTop } from '@hanzo/docs-radix-ui/hooks/use-is-scroll-top';\nimport { LinkItem, type LinkItemType, type MenuItemType } from '@hanzo/docs-radix-ui/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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"}
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 '@hanzo/docs-core/link';\nimport { usePathname } from '@hanzo/docs-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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"}
@@ -3,8 +3,8 @@ 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_runtime140 from "react/jsx-runtime";
7
6
  import { ComponentProps, FC, HTMLAttributes, ReactNode } from "react";
7
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
8
8
  import * as PageTree from "@hanzo/docs-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_runtime140.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,oBAAA,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"}
@@ -1,24 +1,24 @@
1
+ import { cn } from "../../utils/cn.js";
1
2
  import { buttonVariants } from "../../components/ui/button.js";
2
- import { tree_exports } from "../../contexts/tree.js";
3
+ import { TreeContextProvider } from "../../contexts/tree.js";
3
4
  import { SidebarTabsDropdown } from "../../components/sidebar/tabs/dropdown.js";
5
+ import { LinkItem } from "../../utils/link-item.js";
4
6
  import { LayoutBody, LayoutContextProvider, LayoutHeader, LayoutHeaderTabs, NavbarLinkItem } from "./client.js";
5
7
  import { LargeSearchToggle, SearchToggle } from "../shared/search-toggle.js";
6
- import { renderTitleNav, resolveLinkItems } from "../shared/index.js";
8
+ import { renderTitleNav, useLinkItems } from "../shared/index.js";
7
9
  import { LanguageToggle } from "../shared/language-toggle.js";
8
10
  import { ThemeToggle } from "../shared/theme-toggle.js";
9
11
  import { getSidebarTabs } from "../../components/sidebar/tabs/index.js";
10
12
  import { Sidebar as Sidebar$1, SidebarCollapseTrigger, SidebarContent, SidebarDrawer, SidebarLinkItem, SidebarPageTree, SidebarTrigger, SidebarViewport } from "./sidebar.js";
11
- import { cn } from "@hanzo/docs-ui/cn";
12
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
- import { Languages, Sidebar, X } from "lucide-react";
14
13
  import { useMemo } from "react";
15
- import { LinkItem } from "@hanzo/docs-radix-ui/link-item";
14
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
15
+ import { Languages, Sidebar, X } from "lucide-react";
16
16
 
17
17
  //#region src/layouts/notebook/index.tsx
18
18
  function DocsLayout(props) {
19
19
  const { tabMode = "sidebar", nav = {}, sidebar: { tabs: tabOptions, defaultOpenLevel, prefetch, ...sidebarProps } = {}, i18n = false, themeSwitch = {}, tree } = props;
20
20
  const navMode = nav.mode ?? "auto";
21
- const links = resolveLinkItems(props);
21
+ const { menuItems, navItems } = useLinkItems(props);
22
22
  const tabs = useMemo(() => {
23
23
  if (Array.isArray(tabOptions)) return tabOptions;
24
24
  if (typeof tabOptions === "object") return getSidebarTabs(tree, tabOptions);
@@ -27,22 +27,22 @@ function DocsLayout(props) {
27
27
  }, [tabOptions, tree]);
28
28
  function sidebar() {
29
29
  const { banner, footer, components, collapsible = true, ...rest } = sidebarProps;
30
- const iconLinks = links.filter((item) => item.type === "icon");
31
- const Header = typeof banner === "function" ? banner : ({ className, ...props$1 }) => /* @__PURE__ */ jsxs("div", {
30
+ const iconLinks = menuItems.filter((item) => item.type === "icon");
31
+ const Header = typeof banner === "function" ? banner : ({ className, ...props }) => /* @__PURE__ */ jsxs("div", {
32
32
  className: cn("flex flex-col gap-3 p-4 pb-2 empty:hidden", className),
33
- ...props$1,
34
- children: [props$1.children, banner]
33
+ ...props,
34
+ children: [props.children, banner]
35
35
  });
36
- const Footer = typeof footer === "function" ? footer : ({ className, ...props$1 }) => /* @__PURE__ */ jsxs("div", {
36
+ const Footer = typeof footer === "function" ? footer : ({ className, ...props }) => /* @__PURE__ */ jsxs("div", {
37
37
  className: cn("hidden flex-row text-fd-muted-foreground items-center border-t p-4 pt-2", iconLinks.length > 0 && "max-lg:flex", className),
38
- ...props$1,
39
- children: [props$1.children, footer]
38
+ ...props,
39
+ children: [props.children, footer]
40
40
  });
41
- const viewport = /* @__PURE__ */ jsxs(SidebarViewport, { children: [links.filter((item) => item.type !== "icon").map((item, i, arr) => /* @__PURE__ */ jsx(SidebarLinkItem, {
41
+ const viewport = /* @__PURE__ */ jsxs(SidebarViewport, { children: [menuItems.filter((item) => item.type !== "icon").map((item, i, arr) => /* @__PURE__ */ jsx(SidebarLinkItem, {
42
42
  item,
43
43
  className: cn("lg:hidden", i === arr.length - 1 && "mb-4")
44
44
  }, i)), /* @__PURE__ */ jsx(SidebarPageTree, { ...components })] });
45
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(SidebarContent, {
45
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(SidebarContent, {
46
46
  ...rest,
47
47
  children: [
48
48
  /* @__PURE__ */ jsxs(Header, { children: [navMode === "auto" && /* @__PURE__ */ jsxs("div", {
@@ -102,7 +102,7 @@ function DocsLayout(props) {
102
102
  ]
103
103
  })] });
104
104
  }
105
- return /* @__PURE__ */ jsx(tree_exports.TreeContextProvider, {
105
+ return /* @__PURE__ */ jsx(TreeContextProvider, {
106
106
  tree,
107
107
  children: /* @__PURE__ */ jsx(LayoutContextProvider, {
108
108
  navMode: nav.mode ?? "auto",
@@ -117,7 +117,7 @@ function DocsLayout(props) {
117
117
  sidebar(),
118
118
  /* @__PURE__ */ jsx(DocsNavbar, {
119
119
  ...props,
120
- links,
120
+ links: navItems,
121
121
  tabs
122
122
  }),
123
123
  props.children
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["props","SidebarIcon","TreeContextProvider","Sidebar"],"sources":["../../../src/layouts/notebook/index.tsx"],"sourcesContent":["import { type ComponentProps, type FC, type HTMLAttributes, type ReactNode, useMemo } from 'react';\nimport { type BaseLayoutProps, renderTitleNav, resolveLinkItems } from '@/layouts/shared';\nimport {\n Sidebar,\n SidebarCollapseTrigger,\n SidebarContent,\n SidebarDrawer,\n SidebarLinkItem,\n SidebarPageTree,\n SidebarTrigger,\n SidebarViewport,\n} from './sidebar';\nimport { TreeContextProvider } from '@/contexts/tree';\nimport { cn } from '@hanzo/docs-ui/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Languages, Sidebar as SidebarIcon, X } from 'lucide-react';\nimport { LanguageToggle } from '@/layouts/shared/language-toggle';\nimport { ThemeToggle } from '@/layouts/shared/theme-toggle';\nimport type * as PageTree from '@hanzo/docs-core/page-tree';\nimport {\n LayoutBody,\n LayoutContextProvider,\n LayoutHeader,\n LayoutHeaderTabs,\n NavbarLinkItem,\n} from '@/layouts/notebook/client';\nimport { LargeSearchToggle, SearchToggle } from '@/layouts/shared/search-toggle';\nimport { LinkItem, type LinkItemType } from '@hanzo/docs-radix-ui/link-item';\nimport type { SidebarPageTreeComponents } from '@/components/sidebar/page-tree';\nimport { getSidebarTabs, type GetSidebarTabsOptions } from '@/components/sidebar/tabs';\nimport { SidebarTabsDropdown, type SidebarTabWithProps } from '@/components/sidebar/tabs/dropdown';\n\nexport interface DocsLayoutProps extends BaseLayoutProps {\n tree: PageTree.Root;\n tabMode?: 'sidebar' | 'navbar';\n\n nav?: BaseLayoutProps['nav'] & {\n mode?: 'top' | 'auto';\n };\n\n sidebar?: SidebarOptions;\n\n containerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\ninterface SidebarOptions\n extends\n ComponentProps<'aside'>,\n Pick<ComponentProps<typeof Sidebar>, 'defaultOpenLevel' | 'prefetch'> {\n components?: Partial<SidebarPageTreeComponents>;\n\n /**\n * Root Toggle options\n */\n tabs?: SidebarTabWithProps[] | GetSidebarTabsOptions | false;\n\n banner?: ReactNode | FC<ComponentProps<'div'>>;\n footer?: ReactNode | FC<ComponentProps<'div'>>;\n\n /**\n * Support collapsing the sidebar on desktop mode\n *\n * @defaultValue true\n */\n collapsible?: boolean;\n}\n\nexport function DocsLayout(props: DocsLayoutProps) {\n const {\n tabMode = 'sidebar',\n nav = {},\n sidebar: { tabs: tabOptions, defaultOpenLevel, prefetch, ...sidebarProps } = {},\n i18n = false,\n themeSwitch = {},\n tree,\n } = props;\n\n const navMode = nav.mode ?? 'auto';\n const links = resolveLinkItems(props);\n const tabs = useMemo(() => {\n if (Array.isArray(tabOptions)) {\n return tabOptions;\n }\n\n if (typeof tabOptions === 'object') {\n return getSidebarTabs(tree, tabOptions);\n }\n\n if (tabOptions !== false) {\n return getSidebarTabs(tree);\n }\n\n return [];\n }, [tabOptions, tree]);\n\n function sidebar() {\n const { banner, footer, components, collapsible = true, ...rest } = sidebarProps;\n\n const iconLinks = links.filter((item) => item.type === 'icon');\n const Header =\n typeof banner === 'function'\n ? banner\n : ({ className, ...props }: ComponentProps<'div'>) => (\n <div className={cn('flex flex-col gap-3 p-4 pb-2 empty:hidden', className)} {...props}>\n {props.children}\n {banner}\n </div>\n );\n const Footer =\n typeof footer === 'function'\n ? footer\n : ({ className, ...props }: ComponentProps<'div'>) => (\n <div\n className={cn(\n 'hidden flex-row text-fd-muted-foreground items-center border-t p-4 pt-2',\n iconLinks.length > 0 && 'max-lg:flex',\n className,\n )}\n {...props}\n >\n {props.children}\n {footer}\n </div>\n );\n const viewport = (\n <SidebarViewport>\n {links\n .filter((item) => item.type !== 'icon')\n .map((item, i, arr) => (\n <SidebarLinkItem\n key={i}\n item={item}\n className={cn('lg:hidden', i === arr.length - 1 && 'mb-4')}\n />\n ))}\n\n <SidebarPageTree {...components} />\n </SidebarViewport>\n );\n\n return (\n <>\n <SidebarContent {...rest}>\n <Header>\n {navMode === 'auto' && (\n <div className=\"flex justify-between\">\n {renderTitleNav(nav, {\n className: 'inline-flex items-center gap-2.5 font-medium',\n })}\n {collapsible && (\n <SidebarCollapseTrigger\n className={cn(\n buttonVariants({\n color: 'ghost',\n size: 'icon-sm',\n className: 'mt-px mb-auto text-fd-muted-foreground',\n }),\n )}\n >\n <SidebarIcon />\n </SidebarCollapseTrigger>\n )}\n </div>\n )}\n {tabs.length > 0 && (\n <SidebarTabsDropdown\n options={tabs}\n className={cn(tabMode === 'navbar' && 'lg:hidden')}\n />\n )}\n </Header>\n {viewport}\n <Footer>\n {iconLinks.map((item, i) => (\n <LinkItem\n key={i}\n item={item}\n className={cn(\n buttonVariants({\n size: 'icon-sm',\n color: 'ghost',\n className: 'lg:hidden',\n }),\n )}\n aria-label={item.label}\n >\n {item.icon}\n </LinkItem>\n ))}\n </Footer>\n </SidebarContent>\n <SidebarDrawer {...rest}>\n <Header>\n <SidebarTrigger\n className={cn(\n buttonVariants({\n size: 'icon-sm',\n color: 'ghost',\n className: 'ms-auto text-fd-muted-foreground',\n }),\n )}\n >\n <X />\n </SidebarTrigger>\n {tabs.length > 0 && <SidebarTabsDropdown options={tabs} />}\n </Header>\n {viewport}\n <Footer\n className={cn(\n 'hidden flex-row items-center justify-end',\n (i18n || themeSwitch.enabled !== false) && 'flex',\n iconLinks.length > 0 && 'max-lg:flex',\n )}\n >\n {iconLinks.map((item, i) => (\n <LinkItem\n key={i}\n item={item}\n className={cn(\n buttonVariants({\n size: 'icon-sm',\n color: 'ghost',\n }),\n 'text-fd-muted-foreground lg:hidden',\n i === iconLinks.length - 1 && 'me-auto',\n )}\n aria-label={item.label}\n >\n {item.icon}\n </LinkItem>\n ))}\n {i18n && (\n <LanguageToggle>\n <Languages className=\"size-4.5 text-fd-muted-foreground\" />\n </LanguageToggle>\n )}\n {themeSwitch.enabled !== false &&\n (themeSwitch.component ?? (\n <ThemeToggle mode={themeSwitch.mode ?? 'light-dark-system'} />\n ))}\n </Footer>\n </SidebarDrawer>\n </>\n );\n }\n\n return (\n <TreeContextProvider tree={tree}>\n <LayoutContextProvider\n navMode={nav.mode ?? 'auto'}\n tabMode={tabMode}\n navTransparentMode={nav.transparentMode}\n >\n <Sidebar defaultOpenLevel={defaultOpenLevel} prefetch={prefetch}>\n <LayoutBody {...props.containerProps}>\n {sidebar()}\n <DocsNavbar {...props} links={links} tabs={tabs} />\n {props.children}\n </LayoutBody>\n </Sidebar>\n </LayoutContextProvider>\n </TreeContextProvider>\n );\n}\n\nfunction DocsNavbar({\n links,\n tabs,\n tabMode = 'sidebar',\n sidebar: { collapsible: sidebarCollapsible = true } = {},\n searchToggle = {},\n themeSwitch = {},\n nav = {},\n i18n,\n}: DocsLayoutProps & {\n links: LinkItemType[];\n tabs: SidebarTabWithProps[];\n}) {\n const navMode = nav.mode ?? 'auto';\n const showLayoutTabs = tabMode === 'navbar' && tabs.length > 0;\n\n return (\n <LayoutHeader\n id=\"nd-subnav\"\n className={cn(\n 'sticky [grid-area:header] flex flex-col top-(--fd-docs-row-1) z-10 backdrop-blur-sm transition-colors data-[transparent=false]:bg-fd-background/80 layout:[--fd-header-height:--spacing(14)]',\n showLayoutTabs && 'lg:layout:[--fd-header-height:--spacing(24)]',\n )}\n >\n <div data-header-body=\"\" className=\"flex border-b px-4 gap-2 h-14 md:px-6\">\n <div\n className={cn(\n 'items-center',\n navMode === 'top' && 'flex flex-1',\n navMode === 'auto' && 'hidden has-data-[collapsed=true]:md:flex max-md:flex',\n )}\n >\n {sidebarCollapsible && navMode === 'auto' && (\n <SidebarCollapseTrigger\n className={cn(\n buttonVariants({\n color: 'ghost',\n size: 'icon-sm',\n }),\n 'text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden',\n )}\n >\n <SidebarIcon />\n </SidebarCollapseTrigger>\n )}\n {renderTitleNav(nav, {\n className: cn(\n 'inline-flex items-center gap-2.5 font-semibold',\n navMode === 'auto' && 'md:hidden',\n ),\n })}\n {nav.children}\n </div>\n {searchToggle.enabled !== false &&\n (searchToggle.components?.lg ? (\n <div\n className={cn(\n 'w-full my-auto max-md:hidden',\n navMode === 'top' ? 'rounded-xl max-w-sm' : 'max-w-[240px]',\n )}\n >\n {searchToggle.components.lg}\n </div>\n ) : (\n <LargeSearchToggle\n hideIfDisabled\n className={cn(\n 'w-full my-auto max-md:hidden',\n navMode === 'top' ? 'rounded-xl max-w-sm ps-2.5' : 'max-w-[240px]',\n )}\n />\n ))}\n <div className=\"flex flex-1 items-center justify-end md:gap-2\">\n <div className=\"flex items-center gap-6 empty:hidden max-lg:hidden\">\n {links\n .filter((item) => item.type !== 'icon')\n .map((item, i) => (\n <NavbarLinkItem key={i} item={item} />\n ))}\n </div>\n {links\n .filter((item) => item.type === 'icon')\n .map((item, i) => (\n <LinkItem\n key={i}\n item={item}\n className={cn(\n buttonVariants({ size: 'icon-sm', color: 'ghost' }),\n 'text-fd-muted-foreground max-lg:hidden',\n )}\n aria-label={item.label}\n >\n {item.icon}\n </LinkItem>\n ))}\n\n <div className=\"flex items-center md:hidden\">\n {searchToggle.enabled !== false &&\n (searchToggle.components?.sm ?? <SearchToggle hideIfDisabled className=\"p-2\" />)}\n <SidebarTrigger\n className={cn(\n buttonVariants({\n color: 'ghost',\n size: 'icon-sm',\n className: 'p-2 -me-1.5',\n }),\n )}\n >\n <SidebarIcon />\n </SidebarTrigger>\n </div>\n\n <div className=\"flex items-center gap-2 max-md:hidden\">\n {i18n && (\n <LanguageToggle>\n <Languages className=\"size-4.5 text-fd-muted-foreground\" />\n </LanguageToggle>\n )}\n {themeSwitch.enabled !== false &&\n (themeSwitch.component ?? (\n <ThemeToggle mode={themeSwitch.mode ?? 'light-dark-system'} />\n ))}\n {sidebarCollapsible && navMode === 'top' && (\n <SidebarCollapseTrigger\n className={cn(\n buttonVariants({\n color: 'secondary',\n size: 'icon-sm',\n }),\n 'text-fd-muted-foreground rounded-full -me-1.5',\n )}\n >\n <SidebarIcon />\n </SidebarCollapseTrigger>\n )}\n </div>\n </div>\n </div>\n {showLayoutTabs && (\n <LayoutHeaderTabs\n data-header-tabs=\"\"\n className=\"overflow-x-auto border-b px-6 h-10 max-lg:hidden\"\n options={tabs}\n />\n )}\n </LayoutHeader>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["SidebarIcon","Sidebar"],"sources":["../../../src/layouts/notebook/index.tsx"],"sourcesContent":["import { type ComponentProps, type FC, type HTMLAttributes, type ReactNode, useMemo } from 'react';\nimport { type BaseLayoutProps, renderTitleNav, useLinkItems } from '@/layouts/shared';\nimport {\n Sidebar,\n SidebarCollapseTrigger,\n SidebarContent,\n SidebarDrawer,\n SidebarLinkItem,\n SidebarPageTree,\n SidebarTrigger,\n SidebarViewport,\n} from './sidebar';\nimport { TreeContextProvider } from '@/contexts/tree';\nimport { cn } from '@/utils/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Languages, Sidebar as SidebarIcon, X } from 'lucide-react';\nimport { LanguageToggle } from '@/layouts/shared/language-toggle';\nimport { ThemeToggle } from '@/layouts/shared/theme-toggle';\nimport type * as PageTree from '@hanzo/docs-core/page-tree';\nimport {\n LayoutBody,\n LayoutContextProvider,\n LayoutHeader,\n LayoutHeaderTabs,\n NavbarLinkItem,\n} from '@/layouts/notebook/client';\nimport { LargeSearchToggle, SearchToggle } from '@/layouts/shared/search-toggle';\nimport { LinkItem, type LinkItemType } from '@/utils/link-item';\nimport type { SidebarPageTreeComponents } from '@/components/sidebar/page-tree';\nimport { getSidebarTabs, type GetSidebarTabsOptions } from '@/components/sidebar/tabs';\nimport { SidebarTabsDropdown, type SidebarTabWithProps } from '@/components/sidebar/tabs/dropdown';\n\nexport interface DocsLayoutProps extends BaseLayoutProps {\n tree: PageTree.Root;\n tabMode?: 'sidebar' | 'navbar';\n\n nav?: BaseLayoutProps['nav'] & {\n mode?: 'top' | 'auto';\n };\n\n sidebar?: SidebarOptions;\n\n containerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\ninterface SidebarOptions\n extends\n ComponentProps<'aside'>,\n Pick<ComponentProps<typeof Sidebar>, 'defaultOpenLevel' | 'prefetch'> {\n components?: Partial<SidebarPageTreeComponents>;\n\n /**\n * Root Toggle options\n */\n tabs?: SidebarTabWithProps[] | GetSidebarTabsOptions | false;\n\n banner?: ReactNode | FC<ComponentProps<'div'>>;\n footer?: ReactNode | FC<ComponentProps<'div'>>;\n\n /**\n * Support collapsing the sidebar on desktop mode\n *\n * @defaultValue true\n */\n collapsible?: boolean;\n}\n\nexport function DocsLayout(props: DocsLayoutProps) {\n const {\n tabMode = 'sidebar',\n nav = {},\n sidebar: { tabs: tabOptions, defaultOpenLevel, prefetch, ...sidebarProps } = {},\n i18n = false,\n themeSwitch = {},\n tree,\n } = props;\n\n const navMode = nav.mode ?? 'auto';\n const { menuItems, navItems } = useLinkItems(props);\n const tabs = useMemo(() => {\n if (Array.isArray(tabOptions)) {\n return tabOptions;\n }\n\n if (typeof tabOptions === 'object') {\n return getSidebarTabs(tree, tabOptions);\n }\n\n if (tabOptions !== false) {\n return getSidebarTabs(tree);\n }\n\n return [];\n }, [tabOptions, tree]);\n\n function sidebar() {\n const { banner, footer, components, collapsible = true, ...rest } = sidebarProps;\n\n const iconLinks = menuItems.filter((item) => item.type === 'icon');\n const Header =\n typeof banner === 'function'\n ? banner\n : ({ className, ...props }: ComponentProps<'div'>) => (\n <div className={cn('flex flex-col gap-3 p-4 pb-2 empty:hidden', className)} {...props}>\n {props.children}\n {banner}\n </div>\n );\n const Footer =\n typeof footer === 'function'\n ? footer\n : ({ className, ...props }: ComponentProps<'div'>) => (\n <div\n className={cn(\n 'hidden flex-row text-fd-muted-foreground items-center border-t p-4 pt-2',\n iconLinks.length > 0 && 'max-lg:flex',\n className,\n )}\n {...props}\n >\n {props.children}\n {footer}\n </div>\n );\n const viewport = (\n <SidebarViewport>\n {menuItems\n .filter((item) => item.type !== 'icon')\n .map((item, i, arr) => (\n <SidebarLinkItem\n key={i}\n item={item}\n className={cn('lg:hidden', i === arr.length - 1 && 'mb-4')}\n />\n ))}\n\n <SidebarPageTree {...components} />\n </SidebarViewport>\n );\n\n return (\n <>\n <SidebarContent {...rest}>\n <Header>\n {navMode === 'auto' && (\n <div className=\"flex justify-between\">\n {renderTitleNav(nav, {\n className: 'inline-flex items-center gap-2.5 font-medium',\n })}\n {collapsible && (\n <SidebarCollapseTrigger\n className={cn(\n buttonVariants({\n color: 'ghost',\n size: 'icon-sm',\n className: 'mt-px mb-auto text-fd-muted-foreground',\n }),\n )}\n >\n <SidebarIcon />\n </SidebarCollapseTrigger>\n )}\n </div>\n )}\n {tabs.length > 0 && (\n <SidebarTabsDropdown\n options={tabs}\n className={cn(tabMode === 'navbar' && 'lg:hidden')}\n />\n )}\n </Header>\n {viewport}\n <Footer>\n {iconLinks.map((item, i) => (\n <LinkItem\n key={i}\n item={item}\n className={cn(\n buttonVariants({\n size: 'icon-sm',\n color: 'ghost',\n className: 'lg:hidden',\n }),\n )}\n aria-label={item.label}\n >\n {item.icon}\n </LinkItem>\n ))}\n </Footer>\n </SidebarContent>\n <SidebarDrawer {...rest}>\n <Header>\n <SidebarTrigger\n className={cn(\n buttonVariants({\n size: 'icon-sm',\n color: 'ghost',\n className: 'ms-auto text-fd-muted-foreground',\n }),\n )}\n >\n <X />\n </SidebarTrigger>\n {tabs.length > 0 && <SidebarTabsDropdown options={tabs} />}\n </Header>\n {viewport}\n <Footer\n className={cn(\n 'hidden flex-row items-center justify-end',\n (i18n || themeSwitch.enabled !== false) && 'flex',\n iconLinks.length > 0 && 'max-lg:flex',\n )}\n >\n {iconLinks.map((item, i) => (\n <LinkItem\n key={i}\n item={item}\n className={cn(\n buttonVariants({\n size: 'icon-sm',\n color: 'ghost',\n }),\n 'text-fd-muted-foreground lg:hidden',\n i === iconLinks.length - 1 && 'me-auto',\n )}\n aria-label={item.label}\n >\n {item.icon}\n </LinkItem>\n ))}\n {i18n && (\n <LanguageToggle>\n <Languages className=\"size-4.5 text-fd-muted-foreground\" />\n </LanguageToggle>\n )}\n {themeSwitch.enabled !== false &&\n (themeSwitch.component ?? (\n <ThemeToggle mode={themeSwitch.mode ?? 'light-dark-system'} />\n ))}\n </Footer>\n </SidebarDrawer>\n </>\n );\n }\n\n return (\n <TreeContextProvider tree={tree}>\n <LayoutContextProvider\n navMode={nav.mode ?? 'auto'}\n tabMode={tabMode}\n navTransparentMode={nav.transparentMode}\n >\n <Sidebar defaultOpenLevel={defaultOpenLevel} prefetch={prefetch}>\n <LayoutBody {...props.containerProps}>\n {sidebar()}\n <DocsNavbar {...props} links={navItems} tabs={tabs} />\n {props.children}\n </LayoutBody>\n </Sidebar>\n </LayoutContextProvider>\n </TreeContextProvider>\n );\n}\n\nfunction DocsNavbar({\n links,\n tabs,\n tabMode = 'sidebar',\n sidebar: { collapsible: sidebarCollapsible = true } = {},\n searchToggle = {},\n themeSwitch = {},\n nav = {},\n i18n,\n}: DocsLayoutProps & {\n links: LinkItemType[];\n tabs: SidebarTabWithProps[];\n}) {\n const navMode = nav.mode ?? 'auto';\n const showLayoutTabs = tabMode === 'navbar' && tabs.length > 0;\n\n return (\n <LayoutHeader\n id=\"nd-subnav\"\n className={cn(\n 'sticky [grid-area:header] flex flex-col top-(--fd-docs-row-1) z-10 backdrop-blur-sm transition-colors data-[transparent=false]:bg-fd-background/80 layout:[--fd-header-height:--spacing(14)]',\n showLayoutTabs && 'lg:layout:[--fd-header-height:--spacing(24)]',\n )}\n >\n <div data-header-body=\"\" className=\"flex border-b px-4 gap-2 h-14 md:px-6\">\n <div\n className={cn(\n 'items-center',\n navMode === 'top' && 'flex flex-1',\n navMode === 'auto' && 'hidden has-data-[collapsed=true]:md:flex max-md:flex',\n )}\n >\n {sidebarCollapsible && navMode === 'auto' && (\n <SidebarCollapseTrigger\n className={cn(\n buttonVariants({\n color: 'ghost',\n size: 'icon-sm',\n }),\n 'text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden',\n )}\n >\n <SidebarIcon />\n </SidebarCollapseTrigger>\n )}\n {renderTitleNav(nav, {\n className: cn(\n 'inline-flex items-center gap-2.5 font-semibold',\n navMode === 'auto' && 'md:hidden',\n ),\n })}\n {nav.children}\n </div>\n {searchToggle.enabled !== false &&\n (searchToggle.components?.lg ? (\n <div\n className={cn(\n 'w-full my-auto max-md:hidden',\n navMode === 'top' ? 'rounded-xl max-w-sm' : 'max-w-[240px]',\n )}\n >\n {searchToggle.components.lg}\n </div>\n ) : (\n <LargeSearchToggle\n hideIfDisabled\n className={cn(\n 'w-full my-auto max-md:hidden',\n navMode === 'top' ? 'rounded-xl max-w-sm ps-2.5' : 'max-w-[240px]',\n )}\n />\n ))}\n <div className=\"flex flex-1 items-center justify-end md:gap-2\">\n <div className=\"flex items-center gap-6 empty:hidden max-lg:hidden\">\n {links\n .filter((item) => item.type !== 'icon')\n .map((item, i) => (\n <NavbarLinkItem key={i} item={item} />\n ))}\n </div>\n {links\n .filter((item) => item.type === 'icon')\n .map((item, i) => (\n <LinkItem\n key={i}\n item={item}\n className={cn(\n buttonVariants({ size: 'icon-sm', color: 'ghost' }),\n 'text-fd-muted-foreground max-lg:hidden',\n )}\n aria-label={item.label}\n >\n {item.icon}\n </LinkItem>\n ))}\n\n <div className=\"flex items-center md:hidden\">\n {searchToggle.enabled !== false &&\n (searchToggle.components?.sm ?? <SearchToggle hideIfDisabled className=\"p-2\" />)}\n <SidebarTrigger\n className={cn(\n buttonVariants({\n color: 'ghost',\n size: 'icon-sm',\n className: 'p-2 -me-1.5',\n }),\n )}\n >\n <SidebarIcon />\n </SidebarTrigger>\n </div>\n\n <div className=\"flex items-center gap-2 max-md:hidden\">\n {i18n && (\n <LanguageToggle>\n <Languages className=\"size-4.5 text-fd-muted-foreground\" />\n </LanguageToggle>\n )}\n {themeSwitch.enabled !== false &&\n (themeSwitch.component ?? (\n <ThemeToggle mode={themeSwitch.mode ?? 'light-dark-system'} />\n ))}\n {sidebarCollapsible && navMode === 'top' && (\n <SidebarCollapseTrigger\n className={cn(\n buttonVariants({\n color: 'secondary',\n size: 'icon-sm',\n }),\n 'text-fd-muted-foreground rounded-full -me-1.5',\n )}\n >\n <SidebarIcon />\n </SidebarCollapseTrigger>\n )}\n </div>\n </div>\n </div>\n {showLayoutTabs && (\n <LayoutHeaderTabs\n data-header-tabs=\"\"\n className=\"overflow-x-auto border-b px-6 h-10 max-lg:hidden\"\n options={tabs}\n />\n )}\n </LayoutHeader>\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as react_jsx_runtime73 from "react/jsx-runtime";
2
1
  import { ComponentProps } from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { BreadcrumbOptions } from "@hanzo/docs-core/breadcrumb";
4
4
  import * as PageTree from "@hanzo/docs-core/page-tree";
5
5
 
@@ -8,18 +8,18 @@ declare function PageTOCPopover({
8
8
  className,
9
9
  children,
10
10
  ...rest
11
- }: ComponentProps<'div'>): react_jsx_runtime73.JSX.Element;
11
+ }: ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
12
12
  declare function PageTOCPopoverTrigger({
13
13
  className,
14
14
  ...props
15
- }: ComponentProps<'button'>): react_jsx_runtime73.JSX.Element;
16
- declare function PageTOCPopoverContent(props: ComponentProps<'div'>): react_jsx_runtime73.JSX.Element;
15
+ }: ComponentProps<'button'>): react_jsx_runtime0.JSX.Element;
16
+ declare function PageTOCPopoverContent(props: ComponentProps<'div'>): react_jsx_runtime0.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_runtime73.JSX.Element;
22
+ }): react_jsx_runtime0.JSX.Element;
23
23
  type Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;
24
24
  interface FooterProps extends ComponentProps<'div'> {
25
25
  /**
@@ -35,14 +35,14 @@ declare function PageFooter({
35
35
  children,
36
36
  className,
37
37
  ...props
38
- }: FooterProps): react_jsx_runtime73.JSX.Element;
38
+ }: FooterProps): react_jsx_runtime0.JSX.Element;
39
39
  type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;
40
40
  declare function PageBreadcrumb({
41
41
  includeRoot,
42
42
  includeSeparator,
43
43
  includePage,
44
44
  ...props
45
- }: BreadcrumbProps): react_jsx_runtime73.JSX.Element | null;
45
+ }: BreadcrumbProps): react_jsx_runtime0.JSX.Element | null;
46
46
  //#endregion
47
47
  export { BreadcrumbProps, FooterProps, PageBreadcrumb, PageFooter, PageLastUpdate, PageTOCPopover, PageTOCPopoverContent, PageTOCPopoverTrigger };
48
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,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"}
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../../../src/layouts/notebook/page/client.tsx"],"mappings":";;;;;;iBAiCgB,cAAA,CAAA;EAAiB,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAQ,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAsDtE,qBAAA,CAAA;EAAwB,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,aAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA2GvE,qBAAA,CAAsB,KAAA,EAAO,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAYlD,cAAA,CAAA;EACd,IAAA,EAAM,KAAA;EAAA,GACH;AAAA,GACF,IAAA,CAAK,cAAA;EAAqC,IAAA,EAAM,IAAA;AAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAgBpD,IAAA,GAAO,IAAA,CAAK,QAAA,CAAS,IAAA;AAAA,UACT,WAAA,SAAoB,cAAA;EAjM4B;;;EAqM/D,KAAA;IACE,QAAA,GAAW,IAAA;IACX,IAAA,GAAO,IAAA;EAAA;AAAA;AAAA,iBAIK,UAAA,CAAA;EAAa,KAAA;EAAO,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,WAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KA6DpE,eAAA,GAAkB,iBAAA,GAAoB,cAAA;AAAA,iBAElC,cAAA,CAAA;EACd,WAAA;EACA,gBAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}