@fumadocs/base-ui 16.6.16 → 16.7.0

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 (372) hide show
  1. package/css/generated/docs.css +64 -32
  2. package/css/generated/flux.css +36 -32
  3. package/css/generated/home.css +39 -55
  4. package/css/generated/notebook.css +58 -31
  5. package/css/generated/shared.css +41 -24
  6. package/dist/components/accordion.d.ts +1 -2
  7. package/dist/components/accordion.js +0 -2
  8. package/dist/components/banner.d.ts +1 -2
  9. package/dist/components/banner.js +0 -2
  10. package/dist/components/callout.d.ts +1 -2
  11. package/dist/components/callout.js +0 -2
  12. package/dist/components/card.d.ts +1 -2
  13. package/dist/components/card.js +0 -2
  14. package/dist/components/codeblock.d.ts +1 -2
  15. package/dist/components/codeblock.js +0 -2
  16. package/dist/components/codeblock.rsc.d.ts +1 -2
  17. package/dist/components/codeblock.rsc.js +9 -10
  18. package/dist/components/dialog/search-algolia.d.ts +1 -2
  19. package/dist/components/dialog/search-algolia.js +0 -2
  20. package/dist/components/dialog/search-default.d.ts +1 -2
  21. package/dist/components/dialog/search-default.js +0 -2
  22. package/dist/components/dialog/search-orama.d.ts +1 -2
  23. package/dist/components/dialog/search-orama.js +0 -2
  24. package/dist/components/dialog/search.d.ts +1 -2
  25. package/dist/components/dialog/search.js +0 -2
  26. package/dist/components/dynamic-codeblock.core.d.ts +7 -5
  27. package/dist/components/dynamic-codeblock.core.js +16 -29
  28. package/dist/components/dynamic-codeblock.d.ts +5 -3
  29. package/dist/components/dynamic-codeblock.js +7 -10
  30. package/dist/components/files.d.ts +1 -2
  31. package/dist/components/files.js +0 -2
  32. package/dist/components/github-info.d.ts +22 -9
  33. package/dist/components/github-info.js +33 -27
  34. package/dist/components/heading.d.ts +1 -2
  35. package/dist/components/heading.js +0 -2
  36. package/dist/components/image-zoom.d.ts +1 -2
  37. package/dist/components/image-zoom.js +0 -2
  38. package/dist/components/inline-toc.d.ts +1 -2
  39. package/dist/components/inline-toc.js +0 -2
  40. package/dist/components/sidebar/base.d.ts +1 -2
  41. package/dist/components/sidebar/base.js +0 -2
  42. package/dist/components/sidebar/link-item.d.ts +2 -3
  43. package/dist/components/sidebar/link-item.js +3 -4
  44. package/dist/components/sidebar/page-tree.d.ts +1 -2
  45. package/dist/components/sidebar/page-tree.js +0 -2
  46. package/dist/components/sidebar/tabs/dropdown.d.ts +4 -7
  47. package/dist/components/sidebar/tabs/dropdown.js +2 -7
  48. package/dist/components/sidebar/tabs/index.d.ts +3 -17
  49. package/dist/components/sidebar/tabs/index.js +0 -2
  50. package/dist/components/steps.d.ts +1 -2
  51. package/dist/components/steps.js +0 -2
  52. package/dist/components/tabs.d.ts +1 -2
  53. package/dist/components/tabs.js +0 -2
  54. package/dist/components/toc/clerk.d.ts +1 -2
  55. package/dist/components/toc/clerk.js +0 -2
  56. package/dist/components/toc/default.d.ts +1 -2
  57. package/dist/components/toc/default.js +0 -2
  58. package/dist/components/toc/index.d.ts +3 -3
  59. package/dist/components/toc/index.js +0 -2
  60. package/dist/components/type-table.d.ts +1 -2
  61. package/dist/components/type-table.js +0 -2
  62. package/dist/components/ui/accordion.d.ts +1 -2
  63. package/dist/components/ui/accordion.js +0 -2
  64. package/dist/components/ui/button.d.ts +1 -2
  65. package/dist/components/ui/button.js +0 -2
  66. package/dist/components/ui/collapsible.d.ts +1 -2
  67. package/dist/components/ui/collapsible.js +0 -2
  68. package/dist/components/ui/navigation-menu.d.ts +5 -3
  69. package/dist/components/ui/navigation-menu.js +13 -4
  70. package/dist/components/ui/popover.d.ts +1 -2
  71. package/dist/components/ui/popover.js +0 -2
  72. package/dist/components/ui/scroll-area.d.ts +1 -2
  73. package/dist/components/ui/scroll-area.js +0 -2
  74. package/dist/components/ui/tabs.d.ts +1 -2
  75. package/dist/components/ui/tabs.js +0 -2
  76. package/dist/contexts/i18n.d.ts +7 -5
  77. package/dist/contexts/i18n.js +2 -5
  78. package/dist/contexts/search.d.ts +1 -2
  79. package/dist/contexts/search.js +0 -2
  80. package/dist/contexts/tree.d.ts +1 -2
  81. package/dist/contexts/tree.js +0 -2
  82. package/dist/i18n.d.ts +11 -8
  83. package/dist/i18n.js +2 -4
  84. package/dist/layouts/docs/client.d.ts +28 -30
  85. package/dist/layouts/docs/client.js +66 -42
  86. package/dist/layouts/docs/index.d.ts +19 -33
  87. package/dist/layouts/docs/index.js +16 -171
  88. package/dist/layouts/docs/page/client.d.ts +87 -37
  89. package/dist/layouts/docs/page/client.js +76 -191
  90. package/dist/layouts/docs/page/index.d.ts +5 -82
  91. package/dist/layouts/docs/page/index.js +9 -51
  92. package/dist/layouts/docs/page/slots/breadcrumb.d.ts +14 -0
  93. package/dist/layouts/docs/page/slots/breadcrumb.js +42 -0
  94. package/dist/layouts/docs/page/slots/container.d.ts +7 -0
  95. package/dist/layouts/docs/page/slots/container.js +16 -0
  96. package/dist/layouts/docs/page/slots/footer.d.ts +23 -0
  97. package/dist/layouts/docs/page/slots/footer.js +55 -0
  98. package/dist/layouts/docs/page/slots/toc-popover.d.ts +31 -0
  99. package/dist/layouts/docs/page/slots/toc-popover.js +141 -0
  100. package/dist/layouts/docs/page/slots/toc.d.ts +27 -0
  101. package/dist/layouts/docs/page/slots/toc.js +28 -0
  102. package/dist/layouts/docs/slots/container.d.ts +7 -0
  103. package/dist/layouts/docs/slots/container.js +28 -0
  104. package/dist/layouts/docs/slots/header.d.ts +8 -0
  105. package/dist/layouts/docs/slots/header.js +37 -0
  106. package/dist/layouts/docs/slots/sidebar.d.ts +30 -0
  107. package/dist/layouts/docs/slots/sidebar.js +329 -0
  108. package/dist/layouts/flux/index.d.ts +34 -38
  109. package/dist/layouts/flux/index.js +71 -95
  110. package/dist/layouts/flux/page/client.d.ts +72 -35
  111. package/dist/layouts/flux/page/client.js +60 -219
  112. package/dist/layouts/flux/page/index.d.ts +6 -75
  113. package/dist/layouts/flux/page/index.js +5 -30
  114. package/dist/layouts/flux/page/slots/breadcrumb.d.ts +14 -0
  115. package/dist/layouts/flux/page/slots/breadcrumb.js +43 -0
  116. package/dist/layouts/flux/page/slots/container.d.ts +7 -0
  117. package/dist/layouts/flux/page/slots/container.js +16 -0
  118. package/dist/layouts/flux/page/slots/footer.d.ts +23 -0
  119. package/dist/layouts/flux/page/slots/footer.js +55 -0
  120. package/dist/layouts/flux/page/slots/toc.d.ts +31 -0
  121. package/dist/layouts/flux/page/slots/toc.js +169 -0
  122. package/dist/layouts/flux/slots/container.d.ts +7 -0
  123. package/dist/layouts/flux/slots/container.js +12 -0
  124. package/dist/layouts/flux/slots/sidebar.d.ts +23 -0
  125. package/dist/layouts/flux/{sidebar.js → slots/sidebar.js} +68 -25
  126. package/dist/layouts/flux/slots/tab-dropdown.d.ts +17 -0
  127. package/dist/layouts/flux/{tab-dropdown.js → slots/tab-dropdown.js} +11 -20
  128. package/dist/layouts/home/index.d.ts +24 -7
  129. package/dist/layouts/home/index.js +36 -18
  130. package/dist/layouts/home/navbar.d.ts +3 -10
  131. package/dist/layouts/home/navbar.js +17 -14
  132. package/dist/layouts/home/not-found.d.ts +1 -2
  133. package/dist/layouts/home/not-found.js +0 -2
  134. package/dist/layouts/home/slots/container.d.ts +7 -0
  135. package/dist/layouts/home/slots/container.js +12 -0
  136. package/dist/layouts/home/slots/header.d.ts +12 -0
  137. package/dist/layouts/home/slots/header.js +232 -0
  138. package/dist/layouts/notebook/client.d.ts +31 -43
  139. package/dist/layouts/notebook/client.js +54 -144
  140. package/dist/layouts/notebook/index.d.ts +25 -24
  141. package/dist/layouts/notebook/index.js +16 -211
  142. package/dist/layouts/notebook/page/client.d.ts +87 -37
  143. package/dist/layouts/notebook/page/client.js +76 -191
  144. package/dist/layouts/notebook/page/index.d.ts +6 -82
  145. package/dist/layouts/notebook/page/index.js +12 -51
  146. package/dist/layouts/notebook/page/slots/breadcrumb.d.ts +14 -0
  147. package/dist/layouts/notebook/page/slots/breadcrumb.js +43 -0
  148. package/dist/layouts/notebook/page/slots/container.d.ts +7 -0
  149. package/dist/layouts/notebook/page/slots/container.js +16 -0
  150. package/dist/layouts/notebook/page/slots/footer.d.ts +23 -0
  151. package/dist/layouts/notebook/page/slots/footer.js +55 -0
  152. package/dist/layouts/notebook/page/slots/toc-popover.d.ts +31 -0
  153. package/dist/layouts/notebook/page/slots/toc-popover.js +141 -0
  154. package/dist/layouts/notebook/page/slots/toc.d.ts +27 -0
  155. package/dist/layouts/notebook/page/slots/toc.js +28 -0
  156. package/dist/layouts/notebook/slots/container.d.ts +7 -0
  157. package/dist/layouts/notebook/slots/container.js +30 -0
  158. package/dist/layouts/notebook/slots/header.d.ts +8 -0
  159. package/dist/layouts/notebook/slots/header.js +194 -0
  160. package/dist/layouts/notebook/slots/sidebar.d.ts +40 -0
  161. package/dist/layouts/notebook/slots/sidebar.js +307 -0
  162. package/dist/layouts/shared/client.d.ts +45 -0
  163. package/dist/layouts/shared/client.js +84 -0
  164. package/dist/layouts/shared/index.d.ts +134 -32
  165. package/dist/layouts/shared/index.js +49 -16
  166. package/dist/layouts/shared/page-actions.d.ts +1 -2
  167. package/dist/layouts/shared/page-actions.js +10 -6
  168. package/dist/layouts/shared/slots/language-select.d.ts +10 -0
  169. package/dist/layouts/shared/{language-toggle.js → slots/language-select.js} +10 -12
  170. package/dist/layouts/shared/slots/search-trigger.d.ts +23 -0
  171. package/dist/layouts/shared/{search-toggle.js → slots/search-trigger.js} +9 -11
  172. package/dist/layouts/shared/slots/theme-switch.d.ts +14 -0
  173. package/dist/layouts/shared/{theme-toggle.js → slots/theme-switch.js} +4 -6
  174. package/dist/mdx.d.ts +1 -2
  175. package/dist/mdx.js +0 -2
  176. package/dist/mdx.server.d.ts +1 -2
  177. package/dist/mdx.server.js +0 -2
  178. package/dist/og/takumi.d.ts +1 -2
  179. package/dist/og/takumi.js +0 -2
  180. package/dist/og.d.ts +1 -2
  181. package/dist/og.js +0 -2
  182. package/dist/page.d.ts +4 -4
  183. package/dist/page.js +5 -7
  184. package/dist/provider/base.d.ts +1 -2
  185. package/dist/provider/base.js +1 -3
  186. package/dist/provider/next.d.ts +1 -2
  187. package/dist/provider/next.js +0 -2
  188. package/dist/provider/react-router.d.ts +1 -2
  189. package/dist/provider/react-router.js +0 -2
  190. package/dist/provider/tanstack.d.ts +1 -2
  191. package/dist/provider/tanstack.js +0 -2
  192. package/dist/provider/waku.d.ts +1 -2
  193. package/dist/provider/waku.js +0 -2
  194. package/dist/style.css +83 -89
  195. package/dist/utils/merge-refs.js +0 -2
  196. package/dist/utils/urls.js +0 -2
  197. package/dist/utils/use-copy-button.d.ts +1 -2
  198. package/dist/utils/use-copy-button.js +0 -2
  199. package/dist/utils/use-footer-items.d.ts +1 -2
  200. package/dist/utils/use-footer-items.js +0 -2
  201. package/dist/utils/use-is-scroll-top.d.ts +1 -2
  202. package/dist/utils/use-is-scroll-top.js +0 -2
  203. package/package.json +107 -86
  204. package/dist/components/accordion.d.ts.map +0 -1
  205. package/dist/components/accordion.js.map +0 -1
  206. package/dist/components/banner.d.ts.map +0 -1
  207. package/dist/components/banner.js.map +0 -1
  208. package/dist/components/callout.d.ts.map +0 -1
  209. package/dist/components/callout.js.map +0 -1
  210. package/dist/components/card.d.ts.map +0 -1
  211. package/dist/components/card.js.map +0 -1
  212. package/dist/components/codeblock.d.ts.map +0 -1
  213. package/dist/components/codeblock.js.map +0 -1
  214. package/dist/components/codeblock.rsc.d.ts.map +0 -1
  215. package/dist/components/codeblock.rsc.js.map +0 -1
  216. package/dist/components/dialog/search-algolia.d.ts.map +0 -1
  217. package/dist/components/dialog/search-algolia.js.map +0 -1
  218. package/dist/components/dialog/search-default.d.ts.map +0 -1
  219. package/dist/components/dialog/search-default.js.map +0 -1
  220. package/dist/components/dialog/search-orama.d.ts.map +0 -1
  221. package/dist/components/dialog/search-orama.js.map +0 -1
  222. package/dist/components/dialog/search.d.ts.map +0 -1
  223. package/dist/components/dialog/search.js.map +0 -1
  224. package/dist/components/dynamic-codeblock.core.d.ts.map +0 -1
  225. package/dist/components/dynamic-codeblock.core.js.map +0 -1
  226. package/dist/components/dynamic-codeblock.d.ts.map +0 -1
  227. package/dist/components/dynamic-codeblock.js.map +0 -1
  228. package/dist/components/files.d.ts.map +0 -1
  229. package/dist/components/files.js.map +0 -1
  230. package/dist/components/github-info.d.ts.map +0 -1
  231. package/dist/components/github-info.js.map +0 -1
  232. package/dist/components/heading.d.ts.map +0 -1
  233. package/dist/components/heading.js.map +0 -1
  234. package/dist/components/image-zoom.d.ts.map +0 -1
  235. package/dist/components/image-zoom.js.map +0 -1
  236. package/dist/components/inline-toc.d.ts.map +0 -1
  237. package/dist/components/inline-toc.js.map +0 -1
  238. package/dist/components/sidebar/base.d.ts.map +0 -1
  239. package/dist/components/sidebar/base.js.map +0 -1
  240. package/dist/components/sidebar/link-item.d.ts.map +0 -1
  241. package/dist/components/sidebar/link-item.js.map +0 -1
  242. package/dist/components/sidebar/page-tree.d.ts.map +0 -1
  243. package/dist/components/sidebar/page-tree.js.map +0 -1
  244. package/dist/components/sidebar/tabs/dropdown.d.ts.map +0 -1
  245. package/dist/components/sidebar/tabs/dropdown.js.map +0 -1
  246. package/dist/components/sidebar/tabs/index.d.ts.map +0 -1
  247. package/dist/components/sidebar/tabs/index.js.map +0 -1
  248. package/dist/components/steps.d.ts.map +0 -1
  249. package/dist/components/steps.js.map +0 -1
  250. package/dist/components/tabs.d.ts.map +0 -1
  251. package/dist/components/tabs.js.map +0 -1
  252. package/dist/components/toc/clerk.d.ts.map +0 -1
  253. package/dist/components/toc/clerk.js.map +0 -1
  254. package/dist/components/toc/default.d.ts.map +0 -1
  255. package/dist/components/toc/default.js.map +0 -1
  256. package/dist/components/toc/index.d.ts.map +0 -1
  257. package/dist/components/toc/index.js.map +0 -1
  258. package/dist/components/type-table.d.ts.map +0 -1
  259. package/dist/components/type-table.js.map +0 -1
  260. package/dist/components/ui/accordion.d.ts.map +0 -1
  261. package/dist/components/ui/accordion.js.map +0 -1
  262. package/dist/components/ui/button.d.ts.map +0 -1
  263. package/dist/components/ui/button.js.map +0 -1
  264. package/dist/components/ui/collapsible.d.ts.map +0 -1
  265. package/dist/components/ui/collapsible.js.map +0 -1
  266. package/dist/components/ui/navigation-menu.d.ts.map +0 -1
  267. package/dist/components/ui/navigation-menu.js.map +0 -1
  268. package/dist/components/ui/popover.d.ts.map +0 -1
  269. package/dist/components/ui/popover.js.map +0 -1
  270. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  271. package/dist/components/ui/scroll-area.js.map +0 -1
  272. package/dist/components/ui/tabs.d.ts.map +0 -1
  273. package/dist/components/ui/tabs.js.map +0 -1
  274. package/dist/contexts/i18n.d.ts.map +0 -1
  275. package/dist/contexts/i18n.js.map +0 -1
  276. package/dist/contexts/search.d.ts.map +0 -1
  277. package/dist/contexts/search.js.map +0 -1
  278. package/dist/contexts/tree.d.ts.map +0 -1
  279. package/dist/contexts/tree.js.map +0 -1
  280. package/dist/i18n.d.ts.map +0 -1
  281. package/dist/i18n.js.map +0 -1
  282. package/dist/layouts/docs/client.d.ts.map +0 -1
  283. package/dist/layouts/docs/client.js.map +0 -1
  284. package/dist/layouts/docs/index.d.ts.map +0 -1
  285. package/dist/layouts/docs/index.js.map +0 -1
  286. package/dist/layouts/docs/page/client.d.ts.map +0 -1
  287. package/dist/layouts/docs/page/client.js.map +0 -1
  288. package/dist/layouts/docs/page/index.d.ts.map +0 -1
  289. package/dist/layouts/docs/page/index.js.map +0 -1
  290. package/dist/layouts/docs/sidebar.d.ts +0 -63
  291. package/dist/layouts/docs/sidebar.d.ts.map +0 -1
  292. package/dist/layouts/docs/sidebar.js +0 -160
  293. package/dist/layouts/docs/sidebar.js.map +0 -1
  294. package/dist/layouts/flux/index.d.ts.map +0 -1
  295. package/dist/layouts/flux/index.js.map +0 -1
  296. package/dist/layouts/flux/page/client.d.ts.map +0 -1
  297. package/dist/layouts/flux/page/client.js.map +0 -1
  298. package/dist/layouts/flux/page/index.d.ts.map +0 -1
  299. package/dist/layouts/flux/page/index.js.map +0 -1
  300. package/dist/layouts/flux/sidebar.d.ts +0 -58
  301. package/dist/layouts/flux/sidebar.d.ts.map +0 -1
  302. package/dist/layouts/flux/sidebar.js.map +0 -1
  303. package/dist/layouts/flux/tab-dropdown.d.ts +0 -21
  304. package/dist/layouts/flux/tab-dropdown.d.ts.map +0 -1
  305. package/dist/layouts/flux/tab-dropdown.js.map +0 -1
  306. package/dist/layouts/home/client.d.ts +0 -19
  307. package/dist/layouts/home/client.d.ts.map +0 -1
  308. package/dist/layouts/home/client.js +0 -262
  309. package/dist/layouts/home/client.js.map +0 -1
  310. package/dist/layouts/home/index.d.ts.map +0 -1
  311. package/dist/layouts/home/index.js.map +0 -1
  312. package/dist/layouts/home/navbar.d.ts.map +0 -1
  313. package/dist/layouts/home/navbar.js.map +0 -1
  314. package/dist/layouts/home/not-found.d.ts.map +0 -1
  315. package/dist/layouts/home/not-found.js.map +0 -1
  316. package/dist/layouts/notebook/client.d.ts.map +0 -1
  317. package/dist/layouts/notebook/client.js.map +0 -1
  318. package/dist/layouts/notebook/index.d.ts.map +0 -1
  319. package/dist/layouts/notebook/index.js.map +0 -1
  320. package/dist/layouts/notebook/page/client.d.ts.map +0 -1
  321. package/dist/layouts/notebook/page/client.js.map +0 -1
  322. package/dist/layouts/notebook/page/index.d.ts.map +0 -1
  323. package/dist/layouts/notebook/page/index.js.map +0 -1
  324. package/dist/layouts/notebook/sidebar.d.ts +0 -59
  325. package/dist/layouts/notebook/sidebar.d.ts.map +0 -1
  326. package/dist/layouts/notebook/sidebar.js +0 -131
  327. package/dist/layouts/notebook/sidebar.js.map +0 -1
  328. package/dist/layouts/shared/index.d.ts.map +0 -1
  329. package/dist/layouts/shared/index.js.map +0 -1
  330. package/dist/layouts/shared/language-toggle.d.ts +0 -10
  331. package/dist/layouts/shared/language-toggle.d.ts.map +0 -1
  332. package/dist/layouts/shared/language-toggle.js.map +0 -1
  333. package/dist/layouts/shared/page-actions.d.ts.map +0 -1
  334. package/dist/layouts/shared/page-actions.js.map +0 -1
  335. package/dist/layouts/shared/search-toggle.d.ts +0 -23
  336. package/dist/layouts/shared/search-toggle.d.ts.map +0 -1
  337. package/dist/layouts/shared/search-toggle.js.map +0 -1
  338. package/dist/layouts/shared/theme-toggle.d.ts +0 -14
  339. package/dist/layouts/shared/theme-toggle.d.ts.map +0 -1
  340. package/dist/layouts/shared/theme-toggle.js.map +0 -1
  341. package/dist/mdx.d.ts.map +0 -1
  342. package/dist/mdx.js.map +0 -1
  343. package/dist/mdx.server.d.ts.map +0 -1
  344. package/dist/mdx.server.js.map +0 -1
  345. package/dist/og/takumi.d.ts.map +0 -1
  346. package/dist/og/takumi.js.map +0 -1
  347. package/dist/og.d.ts.map +0 -1
  348. package/dist/og.js.map +0 -1
  349. package/dist/page.d.ts.map +0 -1
  350. package/dist/page.js.map +0 -1
  351. package/dist/provider/base.d.ts.map +0 -1
  352. package/dist/provider/base.js.map +0 -1
  353. package/dist/provider/next.d.ts.map +0 -1
  354. package/dist/provider/next.js.map +0 -1
  355. package/dist/provider/react-router.d.ts.map +0 -1
  356. package/dist/provider/react-router.js.map +0 -1
  357. package/dist/provider/tanstack.d.ts.map +0 -1
  358. package/dist/provider/tanstack.js.map +0 -1
  359. package/dist/provider/waku.d.ts.map +0 -1
  360. package/dist/provider/waku.js.map +0 -1
  361. package/dist/utils/link-item.d.ts +0 -87
  362. package/dist/utils/link-item.d.ts.map +0 -1
  363. package/dist/utils/link-item.js +0 -27
  364. package/dist/utils/link-item.js.map +0 -1
  365. package/dist/utils/merge-refs.js.map +0 -1
  366. package/dist/utils/urls.js.map +0 -1
  367. package/dist/utils/use-copy-button.d.ts.map +0 -1
  368. package/dist/utils/use-copy-button.js.map +0 -1
  369. package/dist/utils/use-footer-items.d.ts.map +0 -1
  370. package/dist/utils/use-footer-items.js.map +0 -1
  371. package/dist/utils/use-is-scroll-top.d.ts.map +0 -1
  372. package/dist/utils/use-is-scroll-top.js.map +0 -1
@@ -1,38 +1,39 @@
1
- import { SidebarPageTreeComponents } from "../../components/sidebar/page-tree.js";
2
- import { GetSidebarTabsOptions } from "../../components/sidebar/tabs/index.js";
3
- import { SidebarTabWithProps } from "../../components/sidebar/tabs/dropdown.js";
4
- import { BaseLayoutProps } from "../shared/index.js";
5
- import { Sidebar } from "./sidebar.js";
6
- import { ComponentProps, FC, HTMLAttributes, ReactNode } from "react";
1
+ import { BaseLayoutProps, GetLayoutTabsOptions, LayoutTab, NavOptions } from "../shared/index.js";
2
+ import { SidebarProps, SidebarProviderProps } from "./slots/sidebar.js";
3
+ import { DocsSlots, useNotebookLayout } from "./client.js";
4
+ import { HTMLAttributes } from "react";
7
5
  import * as react_jsx_runtime0 from "react/jsx-runtime";
8
6
  import * as PageTree from "fumadocs-core/page-tree";
9
7
 
10
8
  //#region src/layouts/notebook/index.d.ts
11
9
  interface DocsLayoutProps extends BaseLayoutProps {
12
10
  tree: PageTree.Root;
11
+ tabs?: LayoutTab[] | GetLayoutTabsOptions | false;
13
12
  tabMode?: 'sidebar' | 'navbar';
14
- nav?: BaseLayoutProps['nav'] & {
15
- mode?: 'top' | 'auto';
16
- };
17
13
  sidebar?: SidebarOptions;
14
+ nav?: Nav;
18
15
  containerProps?: HTMLAttributes<HTMLDivElement>;
16
+ slots?: DocsSlots;
19
17
  }
20
- interface SidebarOptions extends ComponentProps<'aside'>, Pick<ComponentProps<typeof Sidebar>, 'defaultOpenLevel' | 'prefetch'> {
21
- components?: Partial<SidebarPageTreeComponents>;
22
- /**
23
- * Root Toggle options
24
- */
25
- tabs?: SidebarTabWithProps[] | GetSidebarTabsOptions | false;
26
- banner?: ReactNode | FC<ComponentProps<'div'>>;
27
- footer?: ReactNode | FC<ComponentProps<'div'>>;
18
+ interface Nav extends NavOptions {
19
+ mode?: 'top' | 'auto';
20
+ }
21
+ interface SidebarOptions extends SidebarProps, SidebarProviderProps {
28
22
  /**
29
- * Support collapsing the sidebar on desktop mode
30
- *
31
- * @defaultValue true
23
+ * @deprecated use layout-level `tabs` option instead.
32
24
  */
33
- collapsible?: boolean;
25
+ tabs?: LayoutTab[] | GetLayoutTabsOptions | false;
34
26
  }
35
- declare function DocsLayout(props: DocsLayoutProps): react_jsx_runtime0.JSX.Element;
27
+ declare function DocsLayout({
28
+ tree,
29
+ tabMode,
30
+ sidebar: {
31
+ tabs: defaultTabs,
32
+ ...sidebarProps
33
+ },
34
+ children,
35
+ tabs,
36
+ ...props
37
+ }: DocsLayoutProps): react_jsx_runtime0.JSX.Element;
36
38
  //#endregion
37
- export { DocsLayout, DocsLayoutProps };
38
- //# sourceMappingURL=index.d.ts.map
39
+ export { DocsLayout, DocsLayoutProps, type DocsSlots, useNotebookLayout };
@@ -1,217 +1,22 @@
1
- import { cn } from "../../utils/cn.js";
2
- import { buttonVariants } from "../../components/ui/button.js";
3
- import { TreeContextProvider } from "../../contexts/tree.js";
4
- import { SidebarTabsDropdown } from "../../components/sidebar/tabs/dropdown.js";
5
- import { LinkItem } from "../../utils/link-item.js";
6
- import { LayoutBody, LayoutContextProvider, LayoutHeader, LayoutHeaderTabs, NavbarLinkItem } from "./client.js";
7
- import { LargeSearchToggle, SearchToggle } from "../shared/search-toggle.js";
8
- import { renderTitleNav, useLinkItems } from "../shared/index.js";
9
- import { LanguageToggle } from "../shared/language-toggle.js";
10
- import { ThemeToggle } from "../shared/theme-toggle.js";
11
- import { getSidebarTabs } from "../../components/sidebar/tabs/index.js";
12
- import { Sidebar as Sidebar$1, SidebarCollapseTrigger, SidebarContent, SidebarDrawer, SidebarLinkItem, SidebarPageTree, SidebarTrigger, SidebarViewport } from "./sidebar.js";
1
+ import { getLayoutTabs } from "../shared/index.js";
2
+ import { LayoutBody, useNotebookLayout } from "./client.js";
13
3
  import { useMemo } from "react";
14
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
15
- import { Languages, Sidebar, X } from "lucide-react";
4
+ import { jsx } from "react/jsx-runtime";
16
5
  //#region src/layouts/notebook/index.tsx
17
- function DocsLayout(props) {
18
- const { tabMode = "sidebar", nav = {}, sidebar: { tabs: tabOptions, defaultOpenLevel, prefetch, ...sidebarProps } = {}, i18n = false, themeSwitch = {}, tree } = props;
19
- const navMode = nav.mode ?? "auto";
20
- const { menuItems, navItems } = useLinkItems(props);
21
- const tabs = useMemo(() => {
22
- if (Array.isArray(tabOptions)) return tabOptions;
23
- if (typeof tabOptions === "object") return getSidebarTabs(tree, tabOptions);
24
- if (tabOptions !== false) return getSidebarTabs(tree);
25
- return [];
26
- }, [tabOptions, tree]);
27
- function sidebar() {
28
- const { banner, footer, components, collapsible = true, ...rest } = sidebarProps;
29
- const iconLinks = menuItems.filter((item) => item.type === "icon");
30
- const Header = typeof banner === "function" ? banner : ({ className, ...props }) => /* @__PURE__ */ jsxs("div", {
31
- className: cn("flex flex-col gap-3 p-4 pb-2 empty:hidden", className),
32
- ...props,
33
- children: [props.children, banner]
34
- });
35
- const Footer = typeof footer === "function" ? footer : ({ className, ...props }) => /* @__PURE__ */ jsxs("div", {
36
- className: cn("hidden flex-row text-fd-muted-foreground items-center border-t p-4 pt-2", iconLinks.length > 0 && "max-lg:flex", className),
37
- ...props,
38
- children: [props.children, footer]
39
- });
40
- const viewport = /* @__PURE__ */ jsxs(SidebarViewport, { children: [menuItems.filter((item) => item.type !== "icon").map((item, i, arr) => /* @__PURE__ */ jsx(SidebarLinkItem, {
41
- item,
42
- className: cn("lg:hidden", i === arr.length - 1 && "mb-4")
43
- }, i)), /* @__PURE__ */ jsx(SidebarPageTree, { ...components })] });
44
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(SidebarContent, {
45
- ...rest,
46
- children: [
47
- /* @__PURE__ */ jsxs(Header, { children: [navMode === "auto" && /* @__PURE__ */ jsxs("div", {
48
- className: "flex justify-between",
49
- children: [renderTitleNav(nav, { className: "inline-flex items-center gap-2.5 font-medium" }), collapsible && /* @__PURE__ */ jsx(SidebarCollapseTrigger, {
50
- className: cn(buttonVariants({
51
- color: "ghost",
52
- size: "icon-sm",
53
- className: "mt-px mb-auto text-fd-muted-foreground"
54
- })),
55
- children: /* @__PURE__ */ jsx(Sidebar, {})
56
- })]
57
- }), tabs.length > 0 && /* @__PURE__ */ jsx(SidebarTabsDropdown, {
58
- options: tabs,
59
- className: cn(tabMode === "navbar" && "lg:hidden")
60
- })] }),
61
- viewport,
62
- /* @__PURE__ */ jsx(Footer, { children: iconLinks.map((item, i) => /* @__PURE__ */ jsx(LinkItem, {
63
- item,
64
- className: cn(buttonVariants({
65
- size: "icon-sm",
66
- color: "ghost",
67
- className: "lg:hidden"
68
- })),
69
- "aria-label": item.label,
70
- children: item.icon
71
- }, i)) })
72
- ]
73
- }), /* @__PURE__ */ jsxs(SidebarDrawer, {
74
- ...rest,
75
- children: [
76
- /* @__PURE__ */ jsxs(Header, { children: [/* @__PURE__ */ jsx(SidebarTrigger, {
77
- className: cn(buttonVariants({
78
- size: "icon-sm",
79
- color: "ghost",
80
- className: "ms-auto text-fd-muted-foreground"
81
- })),
82
- children: /* @__PURE__ */ jsx(X, {})
83
- }), tabs.length > 0 && /* @__PURE__ */ jsx(SidebarTabsDropdown, { options: tabs })] }),
84
- viewport,
85
- /* @__PURE__ */ jsxs(Footer, {
86
- className: cn("hidden flex-row items-center justify-end", (i18n || themeSwitch.enabled !== false) && "flex", iconLinks.length > 0 && "max-lg:flex"),
87
- children: [
88
- iconLinks.map((item, i) => /* @__PURE__ */ jsx(LinkItem, {
89
- item,
90
- className: cn(buttonVariants({
91
- size: "icon-sm",
92
- color: "ghost"
93
- }), "text-fd-muted-foreground lg:hidden", i === iconLinks.length - 1 && "me-auto"),
94
- "aria-label": item.label,
95
- children: item.icon
96
- }, i)),
97
- i18n && /* @__PURE__ */ jsx(LanguageToggle, { children: /* @__PURE__ */ jsx(Languages, { className: "size-4.5 text-fd-muted-foreground" }) }),
98
- themeSwitch.enabled !== false && (themeSwitch.component ?? /* @__PURE__ */ jsx(ThemeToggle, { mode: themeSwitch.mode ?? "light-dark-system" }))
99
- ]
100
- })
101
- ]
102
- })] });
103
- }
104
- return /* @__PURE__ */ jsx(TreeContextProvider, {
6
+ function DocsLayout({ tree, tabMode = "sidebar", sidebar: { tabs: defaultTabs, ...sidebarProps } = {}, children, tabs = defaultTabs, ...props }) {
7
+ return /* @__PURE__ */ jsx(LayoutBody, {
105
8
  tree,
106
- children: /* @__PURE__ */ jsx(LayoutContextProvider, {
107
- navMode: nav.mode ?? "auto",
108
- tabMode,
109
- navTransparentMode: nav.transparentMode,
110
- children: /* @__PURE__ */ jsx(Sidebar$1, {
111
- defaultOpenLevel,
112
- prefetch,
113
- children: /* @__PURE__ */ jsxs(LayoutBody, {
114
- ...props.containerProps,
115
- children: [
116
- sidebar(),
117
- /* @__PURE__ */ jsx(DocsNavbar, {
118
- ...props,
119
- links: navItems,
120
- tabs
121
- }),
122
- props.children
123
- ]
124
- })
125
- })
126
- })
127
- });
128
- }
129
- function DocsNavbar({ links, tabs, tabMode = "sidebar", sidebar: { collapsible: sidebarCollapsible = true } = {}, searchToggle = {}, themeSwitch = {}, nav = {}, i18n }) {
130
- const navMode = nav.mode ?? "auto";
131
- const showLayoutTabs = tabMode === "navbar" && tabs.length > 0;
132
- return /* @__PURE__ */ jsxs(LayoutHeader, {
133
- id: "nd-subnav",
134
- className: cn("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)]", showLayoutTabs && "lg:layout:[--fd-header-height:--spacing(24)]"),
135
- children: [/* @__PURE__ */ jsxs("div", {
136
- "data-header-body": "",
137
- className: "flex border-b px-4 gap-2 h-14 md:px-6",
138
- children: [
139
- /* @__PURE__ */ jsxs("div", {
140
- className: cn("items-center", navMode === "top" && "flex flex-1", navMode === "auto" && "hidden has-data-[collapsed=true]:md:flex max-md:flex"),
141
- children: [
142
- sidebarCollapsible && navMode === "auto" && /* @__PURE__ */ jsx(SidebarCollapseTrigger, {
143
- className: cn(buttonVariants({
144
- color: "ghost",
145
- size: "icon-sm"
146
- }), "text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden"),
147
- children: /* @__PURE__ */ jsx(Sidebar, {})
148
- }),
149
- renderTitleNav(nav, { className: cn("inline-flex items-center gap-2.5 font-semibold", navMode === "auto" && "md:hidden") }),
150
- nav.children
151
- ]
152
- }),
153
- searchToggle.enabled !== false && (searchToggle.components?.lg ? /* @__PURE__ */ jsx("div", {
154
- className: cn("w-full my-auto max-md:hidden", navMode === "top" ? "rounded-xl max-w-sm" : "max-w-[240px]"),
155
- children: searchToggle.components.lg
156
- }) : /* @__PURE__ */ jsx(LargeSearchToggle, {
157
- hideIfDisabled: true,
158
- className: cn("w-full my-auto max-md:hidden", navMode === "top" ? "rounded-xl max-w-sm ps-2.5" : "max-w-[240px]")
159
- })),
160
- /* @__PURE__ */ jsxs("div", {
161
- className: "flex flex-1 items-center justify-end md:gap-2",
162
- children: [
163
- /* @__PURE__ */ jsx("div", {
164
- className: "flex items-center gap-6 empty:hidden max-lg:hidden",
165
- children: links.filter((item) => item.type !== "icon").map((item, i) => /* @__PURE__ */ jsx(NavbarLinkItem, { item }, i))
166
- }),
167
- links.filter((item) => item.type === "icon").map((item, i) => /* @__PURE__ */ jsx(LinkItem, {
168
- item,
169
- className: cn(buttonVariants({
170
- size: "icon-sm",
171
- color: "ghost"
172
- }), "text-fd-muted-foreground max-lg:hidden"),
173
- "aria-label": item.label,
174
- children: item.icon
175
- }, i)),
176
- /* @__PURE__ */ jsxs("div", {
177
- className: "flex items-center md:hidden",
178
- children: [searchToggle.enabled !== false && (searchToggle.components?.sm ?? /* @__PURE__ */ jsx(SearchToggle, {
179
- hideIfDisabled: true,
180
- className: "p-2"
181
- })), /* @__PURE__ */ jsx(SidebarTrigger, {
182
- className: cn(buttonVariants({
183
- color: "ghost",
184
- size: "icon-sm",
185
- className: "p-2 -me-1.5"
186
- })),
187
- children: /* @__PURE__ */ jsx(Sidebar, {})
188
- })]
189
- }),
190
- /* @__PURE__ */ jsxs("div", {
191
- className: "flex items-center gap-2 max-md:hidden",
192
- children: [
193
- i18n && /* @__PURE__ */ jsx(LanguageToggle, { children: /* @__PURE__ */ jsx(Languages, { className: "size-4.5 text-fd-muted-foreground" }) }),
194
- themeSwitch.enabled !== false && (themeSwitch.component ?? /* @__PURE__ */ jsx(ThemeToggle, { mode: themeSwitch.mode ?? "light-dark-system" })),
195
- sidebarCollapsible && navMode === "top" && /* @__PURE__ */ jsx(SidebarCollapseTrigger, {
196
- className: cn(buttonVariants({
197
- color: "secondary",
198
- size: "icon-sm"
199
- }), "text-fd-muted-foreground rounded-full -me-1.5"),
200
- children: /* @__PURE__ */ jsx(Sidebar, {})
201
- })
202
- ]
203
- })
204
- ]
205
- })
206
- ]
207
- }), showLayoutTabs && /* @__PURE__ */ jsx(LayoutHeaderTabs, {
208
- "data-header-tabs": "",
209
- className: "overflow-x-auto border-b px-6 h-10 max-lg:hidden",
210
- options: tabs
211
- })]
9
+ tabs: useMemo(() => {
10
+ if (Array.isArray(tabs)) return tabs;
11
+ if (typeof tabs === "object") return getLayoutTabs(tree, tabs);
12
+ if (tabs !== false) return getLayoutTabs(tree);
13
+ return [];
14
+ }, [tabs, tree]),
15
+ tabMode,
16
+ sidebar: sidebarProps,
17
+ ...props,
18
+ children
212
19
  });
213
20
  }
214
21
  //#endregion
215
- export { DocsLayout };
216
-
217
- //# sourceMappingURL=index.js.map
22
+ export { DocsLayout, useNotebookLayout };
@@ -1,48 +1,98 @@
1
- import { ComponentProps } from "react";
1
+ import { TOCProviderProps } from "../../../components/toc/index.js";
2
+ import { TOCProps } from "./slots/toc.js";
3
+ import { TOCPopoverProps } from "./slots/toc-popover.js";
4
+ import { FooterProps } from "./slots/footer.js";
5
+ import { BreadcrumbProps } from "./slots/breadcrumb.js";
6
+ import { ComponentProps, FC, ReactNode } from "react";
2
7
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
- import { BreadcrumbOptions } from "fumadocs-core/breadcrumb";
4
- import * as PageTree from "fumadocs-core/page-tree";
8
+ import { TOCItemType } from "fumadocs-core/toc";
5
9
 
6
10
  //#region src/layouts/notebook/page/client.d.ts
7
- declare function PageTOCPopover({
8
- className,
11
+ interface DocsPageSlots {
12
+ toc?: FC<TOCProps>;
13
+ container?: FC<ComponentProps<'article'>>;
14
+ tocPopover?: FC<TOCPopoverProps>;
15
+ tocProvider?: FC<TOCProviderProps>;
16
+ footer?: FC<FooterProps>;
17
+ breadcrumb?: FC<BreadcrumbProps>;
18
+ }
19
+ interface DocsPageProps extends ComponentProps<'article'> {
20
+ toc?: TOCItemType[];
21
+ /**
22
+ * Extend the page to fill all available space
23
+ *
24
+ * @defaultValue false
25
+ */
26
+ full?: boolean;
27
+ slots?: DocsPageSlots;
28
+ footer?: FooterOptions;
29
+ breadcrumb?: BreadcrumbOptions;
30
+ tableOfContent?: TableOfContentOptions;
31
+ tableOfContentPopover?: TableOfContentPopoverOptions;
32
+ }
33
+ interface BreadcrumbOptions extends BreadcrumbProps {
34
+ enabled?: boolean;
35
+ /**
36
+ * @deprecated use `slots.breadcrumb` instead.
37
+ */
38
+ component?: ReactNode;
39
+ }
40
+ interface FooterOptions extends FooterProps {
41
+ enabled?: boolean;
42
+ /**
43
+ * @deprecated use `slots.footer` instead.
44
+ */
45
+ component?: ReactNode;
46
+ }
47
+ interface TableOfContentOptions extends Pick<TOCProviderProps, 'single'>, TOCProps {
48
+ enabled?: boolean;
49
+ /**
50
+ * @deprecated use `slots.toc` instead.
51
+ */
52
+ component?: ReactNode;
53
+ }
54
+ interface TableOfContentPopoverOptions extends TOCPopoverProps {
55
+ enabled?: boolean;
56
+ /**
57
+ * @deprecated use `slots.tocPopover` instead.
58
+ */
59
+ component?: ReactNode;
60
+ }
61
+ interface PageSlotsProps extends Pick<DocsPageProps, 'full' | 'breadcrumb' | 'footer'> {
62
+ tableOfContent: TOCProps & {
63
+ component?: ReactNode;
64
+ };
65
+ tableOfContentPopover: TOCPopoverProps & {
66
+ component?: ReactNode;
67
+ };
68
+ }
69
+ declare function useDocsPage(): {
70
+ props: PageSlotsProps;
71
+ slots: DocsPageSlots;
72
+ };
73
+ declare function DocsPage({
74
+ tableOfContent: {
75
+ enabled: tocEnabled,
76
+ single,
77
+ ...tocProps
78
+ },
79
+ tableOfContentPopover: {
80
+ enabled: tocPopoverEnabled,
81
+ ...tocPopoverProps
82
+ },
83
+ footer,
84
+ breadcrumb,
85
+ full,
86
+ toc,
87
+ slots: defaultSlots,
9
88
  children,
10
- ...rest
11
- }: ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
12
- declare function PageTOCPopoverTrigger({
13
- className,
14
- ...props
15
- }: ComponentProps<'button'>): react_jsx_runtime0.JSX.Element;
16
- declare function PageTOCPopoverContent(props: ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
89
+ ...containerProps
90
+ }: DocsPageProps): react_jsx_runtime0.JSX.Element;
17
91
  declare function PageLastUpdate({
18
92
  date: value,
19
93
  ...props
20
94
  }: Omit<ComponentProps<'p'>, 'children'> & {
21
95
  date: Date;
22
96
  }): react_jsx_runtime0.JSX.Element;
23
- type Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;
24
- interface FooterProps extends ComponentProps<'div'> {
25
- /**
26
- * Items including information for the next and previous page
27
- */
28
- items?: {
29
- previous?: Item;
30
- next?: Item;
31
- };
32
- }
33
- declare function PageFooter({
34
- items,
35
- children,
36
- className,
37
- ...props
38
- }: FooterProps): react_jsx_runtime0.JSX.Element;
39
- type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;
40
- declare function PageBreadcrumb({
41
- includeRoot,
42
- includeSeparator,
43
- includePage,
44
- ...props
45
- }: BreadcrumbProps): react_jsx_runtime0.JSX.Element | null;
46
97
  //#endregion
47
- export { BreadcrumbProps, FooterProps, PageBreadcrumb, PageFooter, PageLastUpdate, PageTOCPopover, PageTOCPopoverContent, PageTOCPopoverTrigger };
48
- //# sourceMappingURL=client.d.ts.map
98
+ export { DocsPage, DocsPageProps, DocsPageSlots, PageLastUpdate, useDocsPage };