@hanzo/docs-base-ui 16.5.3 → 16.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/css/generated/docs.css +68 -33
  2. package/css/generated/flux.css +44 -34
  3. package/css/generated/home.css +88 -4
  4. package/css/generated/notebook.css +65 -31
  5. package/css/generated/shared.css +199 -59
  6. package/css/lib/base.css +1 -4
  7. package/css/lib/shiki.css +49 -41
  8. package/css/preset.css +3 -0
  9. package/dist/_virtual/_rolldown/runtime.js +6 -11
  10. package/dist/components/accordion.d.ts +1 -2
  11. package/dist/components/accordion.js +3 -7
  12. package/dist/components/banner.d.ts +1 -2
  13. package/dist/components/banner.js +1 -5
  14. package/dist/components/callout.d.ts +1 -2
  15. package/dist/components/callout.js +0 -3
  16. package/dist/components/card.d.ts +1 -2
  17. package/dist/components/card.js +0 -3
  18. package/dist/components/codeblock.d.ts +1 -2
  19. package/dist/components/codeblock.js +2 -6
  20. package/dist/components/codeblock.rsc.d.ts +21 -0
  21. package/dist/components/codeblock.rsc.js +22 -0
  22. package/dist/components/dialog/search-algolia.d.ts +1 -3
  23. package/dist/components/dialog/search-algolia.js +1 -5
  24. package/dist/components/dialog/search-default.d.ts +1 -3
  25. package/dist/components/dialog/search-default.js +1 -5
  26. package/dist/components/dialog/search-orama.d.ts +1 -3
  27. package/dist/components/dialog/search-orama.js +1 -5
  28. package/dist/components/dialog/search.d.ts +5 -5
  29. package/dist/components/dialog/search.js +124 -47
  30. package/dist/components/dynamic-codeblock.core.d.ts +7 -5
  31. package/dist/components/dynamic-codeblock.core.js +17 -32
  32. package/dist/components/dynamic-codeblock.d.ts +5 -3
  33. package/dist/components/dynamic-codeblock.js +8 -13
  34. package/dist/components/files.d.ts +1 -2
  35. package/dist/components/files.js +4 -8
  36. package/dist/components/github-info.d.ts +22 -9
  37. package/dist/components/github-info.js +33 -28
  38. package/dist/components/heading.d.ts +1 -2
  39. package/dist/components/heading.js +2 -5
  40. package/dist/components/image-zoom.d.ts +1 -2
  41. package/dist/components/image-zoom.js +2 -5
  42. package/dist/components/inline-toc.d.ts +1 -2
  43. package/dist/components/inline-toc.js +1 -5
  44. package/dist/components/sidebar/base.d.ts +7 -3
  45. package/dist/components/sidebar/base.js +6 -16
  46. package/dist/components/sidebar/link-item.d.ts +2 -3
  47. package/dist/components/sidebar/link-item.js +6 -3
  48. package/dist/components/sidebar/page-tree.d.ts +1 -2
  49. package/dist/components/sidebar/page-tree.js +54 -43
  50. package/dist/components/sidebar/tabs/dropdown.d.ts +4 -7
  51. package/dist/components/sidebar/tabs/dropdown.js +4 -11
  52. package/dist/components/sidebar/tabs/index.d.ts +3 -17
  53. package/dist/components/sidebar/tabs/index.js +0 -3
  54. package/dist/components/steps.d.ts +1 -2
  55. package/dist/components/steps.js +0 -3
  56. package/dist/components/tabs.d.ts +11 -7
  57. package/dist/components/tabs.js +13 -18
  58. package/dist/components/toc/clerk.d.ts +9 -2
  59. package/dist/components/toc/clerk.js +117 -62
  60. package/dist/components/toc/default.d.ts +9 -2
  61. package/dist/components/toc/default.js +28 -21
  62. package/dist/components/toc/index.d.ts +8 -5
  63. package/dist/components/toc/index.js +50 -25
  64. package/dist/components/type-table.d.ts +10 -5
  65. package/dist/components/type-table.js +22 -17
  66. package/dist/components/ui/accordion.d.ts +1 -2
  67. package/dist/components/ui/accordion.js +1 -5
  68. package/dist/components/ui/button.d.ts +2 -3
  69. package/dist/components/ui/button.js +0 -3
  70. package/dist/components/ui/collapsible.d.ts +1 -2
  71. package/dist/components/ui/collapsible.js +2 -6
  72. package/dist/components/ui/navigation-menu.d.ts +26 -12
  73. package/dist/components/ui/navigation-menu.js +52 -30
  74. package/dist/components/ui/popover.d.ts +10 -5
  75. package/dist/components/ui/popover.js +14 -18
  76. package/dist/components/ui/scroll-area.d.ts +17 -7
  77. package/dist/components/ui/scroll-area.js +26 -30
  78. package/dist/components/ui/tabs.d.ts +1 -2
  79. package/dist/components/ui/tabs.js +1 -5
  80. package/dist/contexts/i18n.d.ts +7 -5
  81. package/dist/contexts/i18n.js +3 -8
  82. package/dist/contexts/search.d.ts +2 -2
  83. package/dist/contexts/search.js +4 -6
  84. package/dist/contexts/tree.d.ts +1 -2
  85. package/dist/contexts/tree.js +1 -5
  86. package/dist/i18n.d.ts +16 -9
  87. package/dist/i18n.js +14 -14
  88. package/dist/layouts/docs/client.d.ts +30 -29
  89. package/dist/layouts/docs/client.js +72 -48
  90. package/dist/layouts/docs/index.d.ts +19 -33
  91. package/dist/layouts/docs/index.js +16 -172
  92. package/dist/layouts/docs/page/index.d.ts +67 -55
  93. package/dist/layouts/docs/page/index.js +74 -54
  94. package/dist/layouts/docs/page/slots/breadcrumb.d.ts +14 -0
  95. package/dist/layouts/docs/page/slots/breadcrumb.js +44 -0
  96. package/dist/layouts/docs/page/slots/container.d.ts +7 -0
  97. package/dist/layouts/docs/page/slots/container.js +17 -0
  98. package/dist/layouts/docs/page/slots/footer.d.ts +23 -0
  99. package/dist/layouts/docs/page/slots/footer.js +56 -0
  100. package/dist/layouts/docs/page/slots/toc.d.ts +55 -0
  101. package/dist/layouts/docs/page/slots/toc.js +166 -0
  102. package/dist/layouts/docs/slots/container.d.ts +7 -0
  103. package/dist/layouts/docs/slots/container.js +29 -0
  104. package/dist/layouts/docs/slots/header.d.ts +8 -0
  105. package/dist/layouts/docs/slots/header.js +38 -0
  106. package/dist/layouts/docs/slots/sidebar.d.ts +30 -0
  107. package/dist/layouts/docs/slots/sidebar.js +319 -0
  108. package/dist/layouts/flux/index.d.ts +34 -39
  109. package/dist/layouts/flux/index.js +77 -99
  110. package/dist/layouts/flux/page/index.d.ts +56 -49
  111. package/dist/layouts/flux/page/index.js +63 -35
  112. package/dist/layouts/flux/page/slots/breadcrumb.d.ts +14 -0
  113. package/dist/layouts/flux/page/slots/breadcrumb.js +44 -0
  114. package/dist/layouts/flux/page/slots/container.d.ts +7 -0
  115. package/dist/layouts/flux/page/slots/container.js +17 -0
  116. package/dist/layouts/flux/page/slots/footer.d.ts +23 -0
  117. package/dist/layouts/flux/page/slots/footer.js +56 -0
  118. package/dist/layouts/flux/page/slots/toc.d.ts +34 -0
  119. package/dist/layouts/flux/page/slots/toc.js +172 -0
  120. package/dist/layouts/flux/slots/container.d.ts +7 -0
  121. package/dist/layouts/flux/slots/container.js +13 -0
  122. package/dist/layouts/flux/slots/sidebar.d.ts +23 -0
  123. package/dist/layouts/flux/{sidebar.js → slots/sidebar.js} +74 -34
  124. package/dist/layouts/flux/slots/tab-dropdown.d.ts +17 -0
  125. package/dist/layouts/flux/{tab-dropdown.js → slots/tab-dropdown.js} +13 -24
  126. package/dist/layouts/home/index.d.ts +24 -7
  127. package/dist/layouts/home/index.js +39 -19
  128. package/dist/layouts/home/navbar.d.ts +5 -14
  129. package/dist/layouts/home/navbar.js +10 -12
  130. package/dist/layouts/home/not-found.d.ts +9 -0
  131. package/dist/layouts/home/not-found.js +38 -0
  132. package/dist/layouts/home/slots/container.d.ts +7 -0
  133. package/dist/layouts/home/slots/container.js +13 -0
  134. package/dist/layouts/home/slots/header.d.ts +11 -0
  135. package/dist/layouts/home/slots/header.js +242 -0
  136. package/dist/layouts/notebook/client.d.ts +32 -44
  137. package/dist/layouts/notebook/client.js +57 -147
  138. package/dist/layouts/notebook/index.d.ts +25 -24
  139. package/dist/layouts/notebook/index.js +16 -212
  140. package/dist/layouts/notebook/page/index.d.ts +67 -55
  141. package/dist/layouts/notebook/page/index.js +74 -54
  142. package/dist/layouts/notebook/page/slots/breadcrumb.d.ts +14 -0
  143. package/dist/layouts/notebook/page/slots/breadcrumb.js +44 -0
  144. package/dist/layouts/notebook/page/slots/container.d.ts +7 -0
  145. package/dist/layouts/notebook/page/slots/container.js +17 -0
  146. package/dist/layouts/notebook/page/slots/footer.d.ts +23 -0
  147. package/dist/layouts/notebook/page/slots/footer.js +56 -0
  148. package/dist/layouts/notebook/page/slots/toc.d.ts +55 -0
  149. package/dist/layouts/notebook/page/slots/toc.js +165 -0
  150. package/dist/layouts/notebook/slots/container.d.ts +7 -0
  151. package/dist/layouts/notebook/slots/container.js +31 -0
  152. package/dist/layouts/notebook/slots/header.d.ts +8 -0
  153. package/dist/layouts/notebook/slots/header.js +194 -0
  154. package/dist/layouts/notebook/slots/sidebar.d.ts +40 -0
  155. package/dist/layouts/notebook/slots/sidebar.js +297 -0
  156. package/dist/layouts/shared/client.d.ts +45 -0
  157. package/dist/layouts/shared/client.js +84 -0
  158. package/dist/layouts/shared/index.d.ts +136 -34
  159. package/dist/layouts/shared/index.js +49 -17
  160. package/dist/layouts/shared/page-actions.d.ts +36 -0
  161. package/dist/layouts/shared/page-actions.js +190 -0
  162. package/dist/layouts/shared/slots/language-select.d.ts +10 -0
  163. package/dist/layouts/shared/{language-toggle.js → slots/language-select.js} +11 -15
  164. package/dist/layouts/shared/slots/search-trigger.d.ts +23 -0
  165. package/dist/layouts/shared/{search-toggle.js → slots/search-trigger.js} +9 -13
  166. package/dist/layouts/shared/slots/theme-switch.d.ts +14 -0
  167. package/dist/layouts/shared/{theme-toggle.js → slots/theme-switch.js} +5 -9
  168. package/dist/mdx.d.ts +13 -3
  169. package/dist/mdx.js +0 -4
  170. package/dist/mdx.server.d.ts +1 -2
  171. package/dist/mdx.server.js +0 -3
  172. package/dist/og/takumi.d.ts +21 -0
  173. package/dist/og/takumi.js +70 -0
  174. package/dist/og.d.ts +1 -2
  175. package/dist/og.js +6 -6
  176. package/dist/page.d.ts +3 -4
  177. package/dist/page.js +6 -11
  178. package/dist/provider/base.d.ts +1 -2
  179. package/dist/provider/base.js +2 -6
  180. package/dist/provider/next.d.ts +1 -2
  181. package/dist/provider/next.js +1 -5
  182. package/dist/provider/react-router.d.ts +1 -2
  183. package/dist/provider/react-router.js +1 -5
  184. package/dist/provider/tanstack.d.ts +1 -2
  185. package/dist/provider/tanstack.js +1 -5
  186. package/dist/provider/waku.d.ts +1 -2
  187. package/dist/provider/waku.js +1 -5
  188. package/dist/style.css +433 -166
  189. package/dist/tailwind/typography.d.ts +2 -0
  190. package/dist/tailwind/typography.js +2 -0
  191. package/dist/utils/cn.js +1 -2
  192. package/dist/utils/merge-refs.js +0 -2
  193. package/dist/utils/urls.js +1 -3
  194. package/dist/utils/use-copy-button.d.ts +1 -2
  195. package/dist/utils/use-copy-button.js +1 -5
  196. package/dist/utils/use-footer-items.d.ts +1 -2
  197. package/dist/utils/use-footer-items.js +4 -8
  198. package/dist/utils/use-is-scroll-top.d.ts +1 -2
  199. package/dist/utils/use-is-scroll-top.js +1 -5
  200. package/package.json +139 -103
  201. package/LICENSE +0 -21
  202. package/dist/components/accordion.d.ts.map +0 -1
  203. package/dist/components/accordion.js.map +0 -1
  204. package/dist/components/banner.d.ts.map +0 -1
  205. package/dist/components/banner.js.map +0 -1
  206. package/dist/components/callout.d.ts.map +0 -1
  207. package/dist/components/callout.js.map +0 -1
  208. package/dist/components/card.d.ts.map +0 -1
  209. package/dist/components/card.js.map +0 -1
  210. package/dist/components/codeblock.d.ts.map +0 -1
  211. package/dist/components/codeblock.js.map +0 -1
  212. package/dist/components/dialog/search-algolia.d.ts.map +0 -1
  213. package/dist/components/dialog/search-algolia.js.map +0 -1
  214. package/dist/components/dialog/search-default.d.ts.map +0 -1
  215. package/dist/components/dialog/search-default.js.map +0 -1
  216. package/dist/components/dialog/search-orama.d.ts.map +0 -1
  217. package/dist/components/dialog/search-orama.js.map +0 -1
  218. package/dist/components/dialog/search.d.ts.map +0 -1
  219. package/dist/components/dialog/search.js.map +0 -1
  220. package/dist/components/dynamic-codeblock.core.d.ts.map +0 -1
  221. package/dist/components/dynamic-codeblock.core.js.map +0 -1
  222. package/dist/components/dynamic-codeblock.d.ts.map +0 -1
  223. package/dist/components/dynamic-codeblock.js.map +0 -1
  224. package/dist/components/files.d.ts.map +0 -1
  225. package/dist/components/files.js.map +0 -1
  226. package/dist/components/github-info.d.ts.map +0 -1
  227. package/dist/components/github-info.js.map +0 -1
  228. package/dist/components/heading.d.ts.map +0 -1
  229. package/dist/components/heading.js.map +0 -1
  230. package/dist/components/image-zoom-DGvp66QF.css +0 -80
  231. package/dist/components/image-zoom-DGvp66QF.css.map +0 -1
  232. package/dist/components/image-zoom.d.ts.map +0 -1
  233. package/dist/components/image-zoom.js.map +0 -1
  234. package/dist/components/image-zoom2.js +0 -1
  235. package/dist/components/inline-toc.d.ts.map +0 -1
  236. package/dist/components/inline-toc.js.map +0 -1
  237. package/dist/components/sidebar/base.d.ts.map +0 -1
  238. package/dist/components/sidebar/base.js.map +0 -1
  239. package/dist/components/sidebar/link-item.d.ts.map +0 -1
  240. package/dist/components/sidebar/link-item.js.map +0 -1
  241. package/dist/components/sidebar/page-tree.d.ts.map +0 -1
  242. package/dist/components/sidebar/page-tree.js.map +0 -1
  243. package/dist/components/sidebar/tabs/dropdown.d.ts.map +0 -1
  244. package/dist/components/sidebar/tabs/dropdown.js.map +0 -1
  245. package/dist/components/sidebar/tabs/index.d.ts.map +0 -1
  246. package/dist/components/sidebar/tabs/index.js.map +0 -1
  247. package/dist/components/steps.d.ts.map +0 -1
  248. package/dist/components/steps.js.map +0 -1
  249. package/dist/components/tabs.d.ts.map +0 -1
  250. package/dist/components/tabs.js.map +0 -1
  251. package/dist/components/toc/clerk.d.ts.map +0 -1
  252. package/dist/components/toc/clerk.js.map +0 -1
  253. package/dist/components/toc/default.d.ts.map +0 -1
  254. package/dist/components/toc/default.js.map +0 -1
  255. package/dist/components/toc/index.d.ts.map +0 -1
  256. package/dist/components/toc/index.js.map +0 -1
  257. package/dist/components/type-table.d.ts.map +0 -1
  258. package/dist/components/type-table.js.map +0 -1
  259. package/dist/components/ui/accordion.d.ts.map +0 -1
  260. package/dist/components/ui/accordion.js.map +0 -1
  261. package/dist/components/ui/button.d.ts.map +0 -1
  262. package/dist/components/ui/button.js.map +0 -1
  263. package/dist/components/ui/collapsible.d.ts.map +0 -1
  264. package/dist/components/ui/collapsible.js.map +0 -1
  265. package/dist/components/ui/navigation-menu.d.ts.map +0 -1
  266. package/dist/components/ui/navigation-menu.js.map +0 -1
  267. package/dist/components/ui/popover.d.ts.map +0 -1
  268. package/dist/components/ui/popover.js.map +0 -1
  269. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  270. package/dist/components/ui/scroll-area.js.map +0 -1
  271. package/dist/components/ui/tabs.d.ts.map +0 -1
  272. package/dist/components/ui/tabs.js.map +0 -1
  273. package/dist/contexts/i18n.d.ts.map +0 -1
  274. package/dist/contexts/i18n.js.map +0 -1
  275. package/dist/contexts/search.d.ts.map +0 -1
  276. package/dist/contexts/search.js.map +0 -1
  277. package/dist/contexts/tree.d.ts.map +0 -1
  278. package/dist/contexts/tree.js.map +0 -1
  279. package/dist/i18n.d.ts.map +0 -1
  280. package/dist/i18n.js.map +0 -1
  281. package/dist/layouts/docs/client.d.ts.map +0 -1
  282. package/dist/layouts/docs/client.js.map +0 -1
  283. package/dist/layouts/docs/index.d.ts.map +0 -1
  284. package/dist/layouts/docs/index.js.map +0 -1
  285. package/dist/layouts/docs/page/client.d.ts +0 -48
  286. package/dist/layouts/docs/page/client.d.ts.map +0 -1
  287. package/dist/layouts/docs/page/client.js +0 -227
  288. package/dist/layouts/docs/page/client.js.map +0 -1
  289. package/dist/layouts/docs/page/index.d.ts.map +0 -1
  290. package/dist/layouts/docs/page/index.js.map +0 -1
  291. package/dist/layouts/docs/sidebar.d.ts +0 -64
  292. package/dist/layouts/docs/sidebar.d.ts.map +0 -1
  293. package/dist/layouts/docs/sidebar.js +0 -162
  294. package/dist/layouts/docs/sidebar.js.map +0 -1
  295. package/dist/layouts/flux/index.d.ts.map +0 -1
  296. package/dist/layouts/flux/index.js.map +0 -1
  297. package/dist/layouts/flux/page/client.d.ts +0 -45
  298. package/dist/layouts/flux/page/client.d.ts.map +0 -1
  299. package/dist/layouts/flux/page/client.js +0 -255
  300. package/dist/layouts/flux/page/client.js.map +0 -1
  301. package/dist/layouts/flux/page/index.d.ts.map +0 -1
  302. package/dist/layouts/flux/page/index.js.map +0 -1
  303. package/dist/layouts/flux/sidebar.d.ts +0 -59
  304. package/dist/layouts/flux/sidebar.d.ts.map +0 -1
  305. package/dist/layouts/flux/sidebar.js.map +0 -1
  306. package/dist/layouts/flux/tab-dropdown.d.ts +0 -21
  307. package/dist/layouts/flux/tab-dropdown.d.ts.map +0 -1
  308. package/dist/layouts/flux/tab-dropdown.js.map +0 -1
  309. package/dist/layouts/home/client.d.ts +0 -19
  310. package/dist/layouts/home/client.d.ts.map +0 -1
  311. package/dist/layouts/home/client.js +0 -267
  312. package/dist/layouts/home/client.js.map +0 -1
  313. package/dist/layouts/home/index.d.ts.map +0 -1
  314. package/dist/layouts/home/index.js.map +0 -1
  315. package/dist/layouts/home/navbar.d.ts.map +0 -1
  316. package/dist/layouts/home/navbar.js.map +0 -1
  317. package/dist/layouts/notebook/client.d.ts.map +0 -1
  318. package/dist/layouts/notebook/client.js.map +0 -1
  319. package/dist/layouts/notebook/index.d.ts.map +0 -1
  320. package/dist/layouts/notebook/index.js.map +0 -1
  321. package/dist/layouts/notebook/page/client.d.ts +0 -48
  322. package/dist/layouts/notebook/page/client.d.ts.map +0 -1
  323. package/dist/layouts/notebook/page/client.js +0 -227
  324. package/dist/layouts/notebook/page/client.js.map +0 -1
  325. package/dist/layouts/notebook/page/index.d.ts.map +0 -1
  326. package/dist/layouts/notebook/page/index.js.map +0 -1
  327. package/dist/layouts/notebook/sidebar.d.ts +0 -60
  328. package/dist/layouts/notebook/sidebar.d.ts.map +0 -1
  329. package/dist/layouts/notebook/sidebar.js +0 -133
  330. package/dist/layouts/notebook/sidebar.js.map +0 -1
  331. package/dist/layouts/shared/index.d.ts.map +0 -1
  332. package/dist/layouts/shared/index.js.map +0 -1
  333. package/dist/layouts/shared/language-toggle.d.ts +0 -10
  334. package/dist/layouts/shared/language-toggle.d.ts.map +0 -1
  335. package/dist/layouts/shared/language-toggle.js.map +0 -1
  336. package/dist/layouts/shared/search-toggle.d.ts +0 -23
  337. package/dist/layouts/shared/search-toggle.d.ts.map +0 -1
  338. package/dist/layouts/shared/search-toggle.js.map +0 -1
  339. package/dist/layouts/shared/theme-toggle.d.ts +0 -14
  340. package/dist/layouts/shared/theme-toggle.d.ts.map +0 -1
  341. package/dist/layouts/shared/theme-toggle.js.map +0 -1
  342. package/dist/mdx.d.ts.map +0 -1
  343. package/dist/mdx.js.map +0 -1
  344. package/dist/mdx.server.d.ts.map +0 -1
  345. package/dist/mdx.server.js.map +0 -1
  346. package/dist/og.d.ts.map +0 -1
  347. package/dist/og.js.map +0 -1
  348. package/dist/page.d.ts.map +0 -1
  349. package/dist/page.js.map +0 -1
  350. package/dist/provider/base.d.ts.map +0 -1
  351. package/dist/provider/base.js.map +0 -1
  352. package/dist/provider/next.d.ts.map +0 -1
  353. package/dist/provider/next.js.map +0 -1
  354. package/dist/provider/react-router.d.ts.map +0 -1
  355. package/dist/provider/react-router.js.map +0 -1
  356. package/dist/provider/tanstack.d.ts.map +0 -1
  357. package/dist/provider/tanstack.js.map +0 -1
  358. package/dist/provider/waku.d.ts.map +0 -1
  359. package/dist/provider/waku.js.map +0 -1
  360. package/dist/utils/link-item.d.ts +0 -86
  361. package/dist/utils/link-item.d.ts.map +0 -1
  362. package/dist/utils/link-item.js +0 -25
  363. package/dist/utils/link-item.js.map +0 -1
  364. package/dist/utils/merge-refs.js.map +0 -1
  365. package/dist/utils/urls.js.map +0 -1
  366. package/dist/utils/use-copy-button.d.ts.map +0 -1
  367. package/dist/utils/use-copy-button.js.map +0 -1
  368. package/dist/utils/use-footer-items.d.ts.map +0 -1
  369. package/dist/utils/use-footer-items.js.map +0 -1
  370. package/dist/utils/use-is-scroll-top.d.ts.map +0 -1
  371. package/dist/utils/use-is-scroll-top.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-toggle.js","names":[],"sources":["../../../src/layouts/shared/search-toggle.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { Search } from 'lucide-react';\nimport { useSearchContext } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\nimport { cn } from '@/utils/cn';\nimport { type ButtonProps, buttonVariants } from '@/components/ui/button';\n\ninterface SearchToggleProps extends Omit<ComponentProps<'button'>, 'color'>, ButtonProps {\n hideIfDisabled?: boolean;\n}\n\nexport function SearchToggle({\n hideIfDisabled,\n size = 'icon-sm',\n color = 'ghost',\n ...props\n}: SearchToggleProps) {\n const { setOpenSearch, enabled } = useSearchContext();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n className={cn(\n buttonVariants({\n size,\n color,\n }),\n props.className,\n )}\n data-search=\"\"\n aria-label=\"Open Search\"\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search />\n </button>\n );\n}\n\nexport function LargeSearchToggle({\n hideIfDisabled,\n ...props\n}: ComponentProps<'button'> & {\n hideIfDisabled?: boolean;\n}) {\n const { enabled, hotKey, setOpenSearch } = useSearchContext();\n const { text } = useI18n();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n data-search-full=\"\"\n {...props}\n className={cn(\n 'inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground',\n props.className,\n )}\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search className=\"size-4\" />\n {text.search}\n <div className=\"ms-auto inline-flex gap-0.5\">\n {hotKey.map((k, i) => (\n <kbd key={i} className=\"rounded-md border bg-fd-background px-1.5\">\n {k.display}\n </kbd>\n ))}\n </div>\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;AAYA,SAAgB,aAAa,EAC3B,gBACA,OAAO,WACP,QAAQ,SACR,GAAG,SACiB;CACpB,MAAM,EAAE,eAAe,YAAY,kBAAkB;AACrD,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,oBAAC;EACC,MAAK;EACL,WAAW,GACT,eAAe;GACb;GACA;GACD,CAAC,EACF,MAAM,UACP;EACD,eAAY;EACZ,cAAW;EACX,eAAe;AACb,iBAAc,KAAK;;YAGrB,oBAAC,WAAS;GACH;;AAIb,SAAgB,kBAAkB,EAChC,gBACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,QAAQ,kBAAkB,kBAAkB;CAC7D,MAAM,EAAE,SAAS,SAAS;AAC1B,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,qBAAC;EACC,MAAK;EACL,oBAAiB;EACjB,GAAI;EACJ,WAAW,GACT,wLACA,MAAM,UACP;EACD,eAAe;AACb,iBAAc,KAAK;;;GAGrB,oBAAC,UAAO,WAAU,WAAW;GAC5B,KAAK;GACN,oBAAC;IAAI,WAAU;cACZ,OAAO,KAAK,GAAG,MACd,oBAAC;KAAY,WAAU;eACpB,EAAE;OADK,EAEJ,CACN;KACE;;GACC"}
@@ -1,14 +0,0 @@
1
- import { ComponentProps } from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
-
4
- //#region src/layouts/shared/theme-toggle.d.ts
5
- declare function ThemeToggle({
6
- className,
7
- mode,
8
- ...props
9
- }: ComponentProps<'div'> & {
10
- mode?: 'light-dark' | 'light-dark-system';
11
- }): react_jsx_runtime0.JSX.Element;
12
- //#endregion
13
- export { ThemeToggle };
14
- //# sourceMappingURL=theme-toggle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-toggle.d.ts","names":[],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"mappings":";;;;iBAkBgB,WAAA,CAAA;EACd,SAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,cAAA;EACD,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-toggle.js","names":[],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"sourcesContent":["'use client';\nimport { cva } from 'class-variance-authority';\nimport { Airplay, Moon, Sun } from 'lucide-react';\nimport { useTheme } from 'next-themes';\nimport { ComponentProps, useEffect, useState } from 'react';\nimport { cn } from '@/utils/cn';\n\nconst itemVariants = cva('size-6.5 p-1.5 text-fd-muted-foreground', {\n variants: {\n active: {\n true: 'bg-fd-accent text-fd-accent-foreground',\n false: 'text-fd-muted-foreground',\n },\n },\n});\n\nconst full = [['light', Sun] as const, ['dark', Moon] as const, ['system', Airplay] as const];\n\nexport function ThemeToggle({\n className,\n mode = 'light-dark',\n ...props\n}: ComponentProps<'div'> & {\n mode?: 'light-dark' | 'light-dark-system';\n}) {\n const { setTheme, theme, resolvedTheme } = useTheme();\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const container = cn(\n 'inline-flex items-center rounded-full border p-1 *:rounded-full',\n className,\n );\n\n if (mode === 'light-dark') {\n const value = mounted ? resolvedTheme : null;\n\n return (\n <button\n className={container}\n aria-label={`Toggle Theme`}\n onClick={() => setTheme(value === 'light' ? 'dark' : 'light')}\n data-theme-toggle=\"\"\n >\n {full.map(([key, Icon]) => {\n if (key === 'system') return;\n\n return (\n <Icon\n key={key}\n fill=\"currentColor\"\n className={cn(itemVariants({ active: value === key }))}\n />\n );\n })}\n </button>\n );\n }\n\n const value = mounted ? theme : null;\n\n return (\n <div className={container} data-theme-toggle=\"\" {...props}>\n {full.map(([key, Icon]) => (\n <button\n key={key}\n aria-label={key}\n className={cn(itemVariants({ active: value === key }))}\n onClick={() => setTheme(key)}\n >\n <Icon className=\"size-full\" fill=\"currentColor\" />\n </button>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAOA,MAAM,eAAe,IAAI,2CAA2C,EAClE,UAAU,EACR,QAAQ;CACN,MAAM;CACN,OAAO;CACR,EACF,EACF,CAAC;AAEF,MAAM,OAAO;CAAC,CAAC,SAAS,IAAI;CAAW,CAAC,QAAQ,KAAK;CAAW,CAAC,UAAU,QAAQ;CAAU;AAE7F,SAAgB,YAAY,EAC1B,WACA,OAAO,cACP,GAAG,SAGF;CACD,MAAM,EAAE,UAAU,OAAO,kBAAkB,UAAU;CACrD,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;AAE7C,iBAAgB;AACd,aAAW,KAAK;IACf,EAAE,CAAC;CAEN,MAAM,YAAY,GAChB,mEACA,UACD;AAED,KAAI,SAAS,cAAc;EACzB,MAAM,QAAQ,UAAU,gBAAgB;AAExC,SACE,oBAAC;GACC,WAAW;GACX,cAAY;GACZ,eAAe,SAAS,UAAU,UAAU,SAAS,QAAQ;GAC7D,qBAAkB;aAEjB,KAAK,KAAK,CAAC,KAAK,UAAU;AACzB,QAAI,QAAQ,SAAU;AAEtB,WACE,oBAAC;KAEC,MAAK;KACL,WAAW,GAAG,aAAa,EAAE,QAAQ,UAAU,KAAK,CAAC,CAAC;OAFjD,IAGL;KAEJ;IACK;;CAIb,MAAM,QAAQ,UAAU,QAAQ;AAEhC,QACE,oBAAC;EAAI,WAAW;EAAW,qBAAkB;EAAG,GAAI;YACjD,KAAK,KAAK,CAAC,KAAK,UACf,oBAAC;GAEC,cAAY;GACZ,WAAW,GAAG,aAAa,EAAE,QAAQ,UAAU,KAAK,CAAC,CAAC;GACtD,eAAe,SAAS,IAAI;aAE5B,oBAAC;IAAK,WAAU;IAAY,MAAK;KAAiB;KAL7C,IAME,CACT;GACE"}
package/dist/mdx.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.d.ts","names":[],"sources":["../src/mdx.tsx"],"mappings":";;;;;;;;iBAsBS,KAAA,CACP,KAAA,EAAO,iBAAA,CAAkB,gBAAA;EACvB,KAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAYM,KAAA,CAAM,KAAA,EAAO,mBAAA,CAAoB,gBAAA,IAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAQrD,oBAAA;;;;;eAKS,cAAA,CAAe,cAAA,MAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KAOhC,EAAA,CAAG,oBAAA,CAAqB,iBAAA;;cAEvB,cAAA,CAAe,kBAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;cAClC,cAAA,CAAe,kBAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;cAClC,cAAA,CAAe,kBAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;cAClC,cAAA,CAAe,kBAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;cAClC,cAAA,CAAe,kBAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;cAClC,cAAA,CAAe,kBAAA,MAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;cAQnC,kBAAA,SAEZ,oBAAA"}
package/dist/mdx.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.js","names":["Image","FrameworkImage"],"sources":["../src/mdx.tsx"],"sourcesContent":["import Link from '@hanzo/docs-core/link';\nimport type {\n AnchorHTMLAttributes,\n FC,\n HTMLAttributes,\n ImgHTMLAttributes,\n TableHTMLAttributes,\n} from 'react';\nimport { Image as FrameworkImage } from '@hanzo/docs-core/framework';\nimport { Card, Cards } from '@/components/card';\nimport { Callout, CalloutContainer, CalloutDescription, CalloutTitle } from '@/components/callout';\nimport { Heading } from '@/components/heading';\nimport { cn } from '@/utils/cn';\nimport {\n CodeBlock,\n CodeBlockTab,\n CodeBlockTabs,\n CodeBlockTabsList,\n CodeBlockTabsTrigger,\n Pre,\n} from '@/components/codeblock';\n\nfunction Image(\n props: ImgHTMLAttributes<HTMLImageElement> & {\n sizes?: string;\n },\n) {\n return (\n <FrameworkImage\n sizes=\"(max-width: 768px) 100vw, (max-width: 1200px) 70vw, 900px\"\n {...props}\n src={props.src as unknown as string}\n className={cn('rounded-lg', props.className)}\n />\n );\n}\n\nfunction Table(props: TableHTMLAttributes<HTMLTableElement>) {\n return (\n <div className=\"relative overflow-auto prose-no-margin my-6\">\n <table {...props} />\n </div>\n );\n}\n\nconst defaultMdxComponents = {\n CodeBlockTab,\n CodeBlockTabs,\n CodeBlockTabsList,\n CodeBlockTabsTrigger,\n pre: (props: HTMLAttributes<HTMLPreElement>) => (\n <CodeBlock {...props}>\n <Pre>{props.children}</Pre>\n </CodeBlock>\n ),\n Card,\n Cards,\n a: Link as FC<AnchorHTMLAttributes<HTMLAnchorElement>>,\n img: Image,\n h1: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h1\" {...props} />,\n h2: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h2\" {...props} />,\n h3: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h3\" {...props} />,\n h4: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h4\" {...props} />,\n h5: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h5\" {...props} />,\n h6: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h6\" {...props} />,\n table: Table,\n Callout,\n CalloutContainer,\n CalloutTitle,\n CalloutDescription,\n};\n\nexport const createRelativeLink: typeof import('./mdx.server').createRelativeLink = () => {\n throw new Error('`createRelativeLink` is only supported in Node.js environment');\n};\n\nexport { defaultMdxComponents as default };\n"],"mappings":";;;;;;;;;;AAsBA,SAASA,QACP,OAGA;AACA,QACE,oBAACC;EACC,OAAM;EACN,GAAI;EACJ,KAAK,MAAM;EACX,WAAW,GAAG,cAAc,MAAM,UAAU;GAC5C;;AAIN,SAAS,MAAM,OAA8C;AAC3D,QACE,oBAAC;EAAI,WAAU;YACb,oBAAC,WAAM,GAAI,QAAS;GAChB;;AAIV,MAAM,uBAAuB;CAC3B;CACA;CACA;CACA;CACA,MAAM,UACJ,oBAAC;EAAU,GAAI;YACb,oBAAC,iBAAK,MAAM,WAAe;GACjB;CAEd;CACA;CACA,GAAG;CACH,KAAKD;CACL,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,OAAO;CACP;CACA;CACA;CACA;CACD;AAED,MAAa,2BAA6E;AACxF,OAAM,IAAI,MAAM,gEAAgE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.server.d.ts","names":[],"sources":["../src/mdx.server.tsx"],"mappings":";;;;;;;AAWA;;;;;iBAAgB,kBAAA,WAA6B,YAAA,CAAA,CAC3C,MAAA,EAAQ,YAAA,CAAa,CAAA,GACrB,IAAA,EAAM,IAAA,EACN,YAAA,GAAc,EAAA,CAAG,cAAA,SAChB,EAAA,CAAG,cAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.server.js","names":[],"sources":["../src/mdx.server.tsx"],"sourcesContent":["import type { LoaderConfig, LoaderOutput, Page } from '@hanzo/docs-core/source';\nimport type { ComponentProps, FC } from 'react';\nimport defaultMdxComponents from '@/mdx';\n\n/**\n * Extend the default Link component to resolve relative file paths in `href`.\n *\n * @param page the current page\n * @param source the source object\n * @param OverrideLink The component to override from\n */\nexport function createRelativeLink<C extends LoaderConfig>(\n source: LoaderOutput<C>,\n page: Page,\n OverrideLink: FC<ComponentProps<'a'>> = defaultMdxComponents.a,\n): FC<ComponentProps<'a'>> {\n return async function RelativeLink({ href, ...props }) {\n return <OverrideLink href={href ? source.resolveHref(href, page) : href} {...props} />;\n };\n}\n\nexport { defaultMdxComponents as default };\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,mBACd,QACA,MACA,eAAwC,qBAAqB,GACpC;AACzB,QAAO,eAAe,aAAa,EAAE,MAAM,GAAG,SAAS;AACrD,SAAO,oBAAC;GAAa,MAAM,OAAO,OAAO,YAAY,MAAM,KAAK,GAAG;GAAM,GAAI;IAAS"}
package/dist/og.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"og.d.ts","names":[],"sources":["../src/og.tsx"],"mappings":";;;;;;UAIU,aAAA;EACR,KAAA,EAAO,SAAA;EACP,WAAA,GAAc,SAAA;EACd,IAAA,GAAO,SAAA;EACP,YAAA;EACA,gBAAA;EACA,IAAA,GAAO,SAAA;AAAA;AAAA,iBAGO,eAAA,CAAgB,OAAA,EAAS,aAAA,GAAgB,oBAAA,GAAuB,aAAA;AAAA,iBAoBhE,QAAA,CAAA;EACd,YAAA;EACA,gBAAA;EAAA,GACG;AAAA,GACF,aAAA,GAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
package/dist/og.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"og.js","names":[],"sources":["../src/og.tsx"],"sourcesContent":["import { ImageResponse } from 'next/og';\nimport type { ReactNode } from 'react';\nimport type { ImageResponseOptions } from 'next/dist/compiled/@vercel/og/types';\n\ninterface GenerateProps {\n title: ReactNode;\n description?: ReactNode;\n icon?: ReactNode;\n primaryColor?: string;\n primaryTextColor?: string;\n site?: ReactNode;\n}\n\nexport function generateOGImage(options: GenerateProps & ImageResponseOptions): ImageResponse {\n const { title, description, icon, site, primaryColor, primaryTextColor, ...rest } = options;\n\n return new ImageResponse(\n generate({\n title,\n description,\n icon,\n site,\n primaryTextColor,\n primaryColor,\n }),\n {\n width: 1200,\n height: 630,\n ...rest,\n },\n );\n}\n\nexport function generate({\n primaryColor = 'rgba(255,150,255,0.3)',\n primaryTextColor = 'rgb(255,150,255)',\n ...props\n}: GenerateProps) {\n return (\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n height: '100%',\n color: 'white',\n padding: '4rem',\n backgroundColor: '#0c0c0c',\n backgroundImage: `linear-gradient(to top right, ${primaryColor}, transparent)`,\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: '16px',\n marginBottom: '12px',\n color: primaryTextColor,\n }}\n >\n {props.icon}\n <p\n style={{\n fontSize: '56px',\n fontWeight: 600,\n }}\n >\n {props.site}\n </p>\n </div>\n\n <p\n style={{\n fontWeight: 800,\n fontSize: '82px',\n }}\n >\n {props.title}\n </p>\n <p\n style={{\n fontSize: '52px',\n color: 'rgba(240,240,240,0.8)',\n }}\n >\n {props.description}\n </p>\n </div>\n );\n}\n"],"mappings":";;;;AAaA,SAAgB,gBAAgB,SAA8D;CAC5F,MAAM,EAAE,OAAO,aAAa,MAAM,MAAM,cAAc,kBAAkB,GAAG,SAAS;AAEpF,QAAO,IAAI,cACT,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EACF;EACE,OAAO;EACP,QAAQ;EACR,GAAG;EACJ,CACF;;AAGH,SAAgB,SAAS,EACvB,eAAe,yBACf,mBAAmB,oBACnB,GAAG,SACa;AAChB,QACE,qBAAC;EACC,OAAO;GACL,SAAS;GACT,eAAe;GACf,OAAO;GACP,QAAQ;GACR,OAAO;GACP,SAAS;GACT,iBAAiB;GACjB,iBAAiB,iCAAiC,aAAa;GAChE;;GAED,qBAAC;IACC,OAAO;KACL,SAAS;KACT,eAAe;KACf,YAAY;KACZ,KAAK;KACL,cAAc;KACd,OAAO;KACR;eAEA,MAAM,MACP,oBAAC;KACC,OAAO;MACL,UAAU;MACV,YAAY;MACb;eAEA,MAAM;MACL;KACA;GAEN,oBAAC;IACC,OAAO;KACL,YAAY;KACZ,UAAU;KACX;cAEA,MAAM;KACL;GACJ,oBAAC;IACC,OAAO;KACL,UAAU;KACV,OAAO;KACR;cAEA,MAAM;KACL;;GACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","names":[],"sources":["../src/page.tsx"],"mappings":";;;;;;UAkBU,mBAAA,SAA4B,IAAA,CAAK,cAAA;EACzC,KAAA;EACA,IAAA;EAFQ;;;;;EASR,GAAA;EARA;;;EAaA,IAAA;AAAA;AAAA,UAGe,aAAA,SAAsB,eAAA;EACrC,YAAA,GAAe,mBAAA;EACf,UAAA,GAAa,IAAA;AAAA;;;;iBAMC,WAAA,CAAY,KAAA,EAAO,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQzC,QAAA,CAAA;EAAW,UAAA;EAAY,YAAA;EAAc,QAAA;EAAA,GAAa;AAAA,GAAS,aAAA,GAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
package/dist/page.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.js","names":["Docs","Notebook"],"sources":["../src/page.tsx"],"sourcesContent":["'use client';\nimport { type ComponentProps, use } from 'react';\nimport { cn } from '@/utils/cn';\nimport * as Docs from './layouts/docs/page';\nimport * as Notebook from './layouts/notebook/page';\nimport { LayoutContext } from './layouts/docs/client';\n\n// TODO: remove this compat layer on v17\n\nexport {\n DocsDescription,\n DocsTitle,\n EditOnGitHub,\n DocsBody,\n PageBreadcrumb,\n PageLastUpdate,\n} from './layouts/docs/page';\n\ninterface EditOnGitHubOptions extends Omit<ComponentProps<'a'>, 'href' | 'children'> {\n owner: string;\n repo: string;\n\n /**\n * SHA or ref (branch or tag) name.\n *\n * @defaultValue main\n */\n sha?: string;\n\n /**\n * File path in the repo\n */\n path: string;\n}\n\nexport interface DocsPageProps extends Docs.DocsPageProps {\n editOnGithub?: EditOnGitHubOptions;\n lastUpdate?: Date | string | number;\n}\n\n/**\n * For separate MDX page\n */\nexport function withArticle(props: ComponentProps<'main'>) {\n return (\n <main {...props} className={cn('w-full max-w-[1400px] mx-auto px-4 py-12', props.className)}>\n <article className=\"prose\">{props.children}</article>\n </main>\n );\n}\n\nexport function DocsPage({ lastUpdate, editOnGithub, children, ...props }: DocsPageProps) {\n const docsLayoutCtx = use(LayoutContext);\n const { DocsPage, EditOnGitHub, PageLastUpdate } = docsLayoutCtx ? Docs : Notebook;\n\n return (\n <DocsPage {...props}>\n {children}\n <div className=\"flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden\">\n {editOnGithub && (\n <EditOnGitHub\n href={`https://github.com/${editOnGithub.owner}/${editOnGithub.repo}/blob/${editOnGithub.sha}/${editOnGithub.path.startsWith('/') ? editOnGithub.path.slice(1) : editOnGithub.path}`}\n />\n )}\n {lastUpdate && <PageLastUpdate date={new Date(lastUpdate)} />}\n </div>\n </DocsPage>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AA2CA,SAAgB,YAAY,OAA+B;AACzD,QACE,oBAAC;EAAK,GAAI;EAAO,WAAW,GAAG,4CAA4C,MAAM,UAAU;YACzF,oBAAC;GAAQ,WAAU;aAAS,MAAM;IAAmB;GAChD;;AAIX,SAAgB,SAAS,EAAE,YAAY,cAAc,UAAU,GAAG,SAAwB;CAExF,MAAM,EAAE,UAAU,cAAc,mBADV,IAAI,cAAc,GAC2BA,eAAOC;AAE1E,QACE,qBAAC;EAAS,GAAI;aACX,UACD,qBAAC;GAAI,WAAU;cACZ,gBACC,oBAAC,gBACC,MAAM,sBAAsB,aAAa,MAAM,GAAG,aAAa,KAAK,QAAQ,aAAa,IAAI,GAAG,aAAa,KAAK,WAAW,IAAI,GAAG,aAAa,KAAK,MAAM,EAAE,GAAG,aAAa,SAC9K,EAEH,cAAc,oBAAC,kBAAe,MAAM,IAAI,KAAK,WAAW,GAAI;IACzD;GACG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/provider/base.tsx"],"mappings":";;;;;;;;UASU,aAAA,SAAsB,IAAA,CAAK,mBAAA;EACnC,OAAA,GAAU,OAAA,CAAQ,wBAAA;;AAHyD;;;;EAU3E,OAAA;AAAA;AAAA,UAGe,iBAAA;EAXmB;;;EAelC,GAAA;EAdA;;;EAmBA,MAAA,GAAS,OAAA,CAAQ,aAAA;EAZV;;AAGT;EAcE,KAAA,GAAQ,OAAA,CAAQ,wBAAA,QAAgC,aAAA;IAdhB;;;;;IAoB9B,OAAA;EAAA;EAGF,IAAA,GAAO,IAAA,CAAK,iBAAA;EAEZ,QAAA,GAAW,SAAA;AAAA;AAAA,iBAKG,YAAA,CAAA;EACd,QAAA;EACA,GAAA;EACA,KAAA;EACA,MAAA;EACA;AAAA,GACC,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../src/provider/base.tsx"],"sourcesContent":["'use client';\n\nimport { type ComponentPropsWithoutRef, lazy, type ReactNode } from 'react';\nimport { DirectionProvider } from '@base-ui/react/direction-provider';\nimport type { DefaultSearchDialogProps } from '@/components/dialog/search-default';\nimport { ThemeProvider } from 'next-themes';\nimport { I18nProvider, type I18nProviderProps } from '@/contexts/i18n';\nimport { SearchProvider, type SearchProviderProps } from '@/contexts/search';\n\ninterface SearchOptions extends Omit<SearchProviderProps, 'children'> {\n options?: Partial<DefaultSearchDialogProps>;\n\n /**\n * Enable search functionality\n *\n * @defaultValue `true`\n */\n enabled?: boolean;\n}\n\nexport interface RootProviderProps {\n /**\n * `dir` option for Base UI\n */\n dir?: 'rtl' | 'ltr';\n\n /**\n * @remarks `SearchProviderProps`\n */\n search?: Partial<SearchOptions>;\n\n /**\n * Customise options of `next-themes`\n */\n theme?: Partial<ComponentPropsWithoutRef<typeof ThemeProvider>> & {\n /**\n * Enable `next-themes`\n *\n * @defaultValue true\n */\n enabled?: boolean;\n };\n\n i18n?: Omit<I18nProviderProps, 'children'>;\n\n children?: ReactNode;\n}\n\nconst DefaultSearchDialog = lazy(() => import('@/components/dialog/search-default'));\n\nexport function RootProvider({\n children,\n dir = 'ltr',\n theme = {},\n search,\n i18n,\n}: RootProviderProps) {\n let body = children;\n\n if (search?.enabled !== false)\n body = (\n <SearchProvider SearchDialog={DefaultSearchDialog} {...search}>\n {body}\n </SearchProvider>\n );\n\n if (theme?.enabled !== false)\n body = (\n <ThemeProvider\n attribute=\"class\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n {...theme}\n >\n {body}\n </ThemeProvider>\n );\n\n if (i18n) {\n body = <I18nProvider {...i18n}>{body}</I18nProvider>;\n }\n\n return <DirectionProvider direction={dir}>{body}</DirectionProvider>;\n}\n"],"mappings":";;;;;;;;;;AAgDA,MAAM,sBAAsB,WAAW,OAAO,0CAAsC;AAEpF,SAAgB,aAAa,EAC3B,UACA,MAAM,OACN,QAAQ,EAAE,EACV,QACA,QACoB;CACpB,IAAI,OAAO;AAEX,KAAI,QAAQ,YAAY,MACtB,QACE,oBAAC;EAAe,cAAc;EAAqB,GAAI;YACpD;GACc;AAGrB,KAAI,OAAO,YAAY,MACrB,QACE,oBAAC;EACC,WAAU;EACV,cAAa;EACb;EACA;EACA,GAAI;YAEH;GACa;AAGpB,KAAI,KACF,QAAO,oBAAC;EAAa,GAAI;YAAO;GAAoB;AAGtD,QAAO,oBAAC;EAAkB,WAAW;YAAM;GAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.d.ts","names":[],"sources":["../../src/provider/next.tsx"],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,cAAA,QAAsB,cAAA;;;AAAjE;EAIE,UAAA;IACE,IAAA,GAAO,SAAA;IACP,KAAA,GAAQ,SAAA;EAAA;AAAA;AAAA,iBAII,YAAA,CAAA;EAAe,UAAA;EAAA,GAAe;AAAA,GAAS,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.js","names":["BaseProvider"],"sources":["../../src/provider/next.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { NextProvider } from '@hanzo/docs-core/framework/next';\nimport type { Framework } from '@hanzo/docs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override Next.js defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <NextProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </NextProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAa,MAAM,YAAY;EAAM,OAAO,YAAY;YACvD,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GAC3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-router.d.ts","names":[],"sources":["../../src/provider/react-router.tsx"],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,cAAA,QAAsB,cAAA;;;AAAjE;EAIE,UAAA;IACE,IAAA,GAAO,SAAA;IACP,KAAA,GAAQ,SAAA;EAAA;AAAA;AAAA,iBAII,YAAA,CAAA;EAAe,UAAA;EAAA,GAAe;AAAA,GAAS,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-router.js","names":["BaseProvider"],"sources":["../../src/provider/react-router.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { ReactRouterProvider } from '@hanzo/docs-core/framework/react-router';\nimport type { Framework } from '@hanzo/docs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override React Router defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <ReactRouterProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </ReactRouterProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAoB,MAAM,YAAY;EAAM,OAAO,YAAY;YAC9D,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GACpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tanstack.d.ts","names":[],"sources":["../../src/provider/tanstack.tsx"],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,cAAA,QAAsB,cAAA;;;AAAjE;EAIE,UAAA;IACE,IAAA,GAAO,SAAA;IACP,KAAA,GAAQ,SAAA;EAAA;AAAA;AAAA,iBAII,YAAA,CAAA;EAAe,UAAA;EAAA,GAAe;AAAA,GAAS,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tanstack.js","names":["BaseProvider"],"sources":["../../src/provider/tanstack.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { TanstackProvider } from '@hanzo/docs-core/framework/tanstack';\nimport type { Framework } from '@hanzo/docs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override Tanstack Router defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <TanstackProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </TanstackProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAiB,MAAM,YAAY;EAAM,OAAO,YAAY;YAC3D,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GACvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"waku.d.ts","names":[],"sources":["../../src/provider/waku.tsx"],"mappings":";;;;;;UAMiB,iBAAA,SAA0B,cAAA,QAAsB,cAAA;;;AAAjE;EAIE,UAAA;IACE,IAAA,GAAO,SAAA;IACP,KAAA,GAAQ,SAAA;EAAA;AAAA;AAAA,iBAII,YAAA,CAAA;EAAe,UAAA;EAAA,GAAe;AAAA,GAAS,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"waku.js","names":["BaseProvider"],"sources":["../../src/provider/waku.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { RootProvider as BaseProvider } from '@/provider/base';\nimport { WakuProvider } from '@hanzo/docs-core/framework/waku';\nimport type { Framework } from '@hanzo/docs-core/framework';\n\nexport interface RootProviderProps extends ComponentProps<typeof BaseProvider> {\n /**\n * Custom framework components to override Waku defaults\n */\n components?: {\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n };\n}\n\nexport function RootProvider({ components, ...props }: RootProviderProps) {\n return (\n <WakuProvider Link={components?.Link} Image={components?.Image}>\n <BaseProvider {...props}>{props.children}</BaseProvider>\n </WakuProvider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,aAAa,EAAE,YAAY,GAAG,SAA4B;AACxE,QACE,oBAAC;EAAa,MAAM,YAAY;EAAM,OAAO,YAAY;YACvD,oBAACA;GAAa,GAAI;aAAQ,MAAM;IAAwB;GAC3C"}
@@ -1,86 +0,0 @@
1
- import { ComponentProps, ReactNode } from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
-
4
- //#region src/utils/link-item.d.ts
5
- interface Filterable {
6
- /**
7
- * Restrict where the item is displayed
8
- *
9
- * @defaultValue 'all'
10
- */
11
- on?: 'menu' | 'nav' | 'all';
12
- }
13
- interface WithHref {
14
- url: string;
15
- /**
16
- * When the item is marked as active
17
- *
18
- * @defaultValue 'url'
19
- */
20
- active?: 'url' | 'nested-url' | 'none';
21
- external?: boolean;
22
- }
23
- interface MainItemType extends WithHref, Filterable {
24
- type?: 'main';
25
- icon?: ReactNode;
26
- text: ReactNode;
27
- description?: ReactNode;
28
- }
29
- interface IconItemType extends WithHref, Filterable {
30
- type: 'icon';
31
- /**
32
- * `aria-label` of icon button
33
- */
34
- label?: string;
35
- icon: ReactNode;
36
- text: ReactNode;
37
- /**
38
- * @defaultValue true
39
- */
40
- secondary?: boolean;
41
- }
42
- interface ButtonItemType extends WithHref, Filterable {
43
- type: 'button';
44
- icon?: ReactNode;
45
- text: ReactNode;
46
- /**
47
- * @defaultValue false
48
- */
49
- secondary?: boolean;
50
- }
51
- interface MenuItemType extends Partial<WithHref>, Filterable {
52
- type: 'menu';
53
- icon?: ReactNode;
54
- text: ReactNode;
55
- items: ((MainItemType & {
56
- /**
57
- * Options when displayed on navigation menu
58
- */
59
- menu?: ComponentProps<'a'> & {
60
- banner?: ReactNode;
61
- };
62
- }) | CustomItemType)[];
63
- /**
64
- * @defaultValue false
65
- */
66
- secondary?: boolean;
67
- }
68
- interface CustomItemType extends Filterable {
69
- type: 'custom';
70
- /**
71
- * @defaultValue false
72
- */
73
- secondary?: boolean;
74
- children: ReactNode;
75
- }
76
- type LinkItemType = MainItemType | IconItemType | ButtonItemType | MenuItemType | CustomItemType;
77
- declare function LinkItem({
78
- ref,
79
- item,
80
- ...props
81
- }: Omit<ComponentProps<'a'>, 'href'> & {
82
- item: WithHref;
83
- }): react_jsx_runtime0.JSX.Element;
84
- //#endregion
85
- export { ButtonItemType, CustomItemType, IconItemType, LinkItem, LinkItemType, MainItemType, MenuItemType };
86
- //# sourceMappingURL=link-item.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link-item.d.ts","names":[],"sources":["../../src/utils/link-item.tsx"],"mappings":";;;;UAMU,UAAA;;;AAL6C;;;EAWrD,EAAA;AAAA;AAAA,UAGQ,QAAA;EACR,GAAA;;;;;;EAMA,MAAA;EACA,QAAA;AAAA;AAAA,UAGe,YAAA,SAAqB,QAAA,EAAU,UAAA;EAC9C,IAAA;EACA,IAAA,GAAO,SAAA;EACP,IAAA,EAAM,SAAA;EACN,WAAA,GAAc,SAAA;AAAA;AAAA,UAGC,YAAA,SAAqB,QAAA,EAAU,UAAA;EAC9C,IAAA;EARwD;;;EAYxD,KAAA;EACA,IAAA,EAAM,SAAA;EACN,IAAA,EAAM,SAAA;EAXN;;;EAeA,SAAA;AAAA;AAAA,UAGe,cAAA,SAAuB,QAAA,EAAU,UAAA;EAChD,IAAA;EACA,IAAA,GAAO,SAAA;EACP,IAAA,EAAM,SAAA;EAXA;;;EAeN,SAAA;AAAA;AAAA,UAGe,YAAA,SAAqB,OAAA,CAAQ,QAAA,GAAW,UAAA;EACvD,IAAA;EACA,IAAA,GAAO,SAAA;EACP,IAAA,EAAM,SAAA;EAEN,KAAA,IACK,YAAA;IAxBL;;;IA4BM,IAAA,GAAO,cAAA;MACL,MAAA,GAAS,SAAA;IAAA;EAAA,KAGb,cAAA;EAxBW;;;EA8Bf,SAAA;AAAA;AAAA,UAGe,cAAA,SAAuB,UAAA;EACtC,IAAA;EAlC0D;;;EAsC1D,SAAA;EACA,QAAA,EAAU,SAAA;AAAA;AAAA,KAGA,YAAA,GACR,YAAA,GACA,YAAA,GACA,cAAA,GACA,YAAA,GACA,cAAA;AAAA,iBAEY,QAAA,CAAA;EACd,GAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,IAAA,CAAK,cAAA;EAAiC,IAAA,EAAM,QAAA;AAAA,IAAU,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,25 +0,0 @@
1
- 'use client';
2
-
3
- import { isActive } from "./urls.js";
4
- import { usePathname } from "@hanzo/docs-core/framework";
5
- import { jsx } from "react/jsx-runtime";
6
- import Link from "@hanzo/docs-core/link";
7
-
8
- //#region src/utils/link-item.tsx
9
- function LinkItem({ ref, item, ...props }) {
10
- const pathname = usePathname();
11
- const activeType = item.active ?? "url";
12
- const active = activeType !== "none" && isActive(item.url, pathname, activeType === "nested-url");
13
- return /* @__PURE__ */ jsx(Link, {
14
- ref,
15
- href: item.url,
16
- external: item.external,
17
- ...props,
18
- "data-active": active,
19
- children: props.children
20
- });
21
- }
22
-
23
- //#endregion
24
- export { LinkItem };
25
- //# sourceMappingURL=link-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link-item.js","names":[],"sources":["../../src/utils/link-item.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { usePathname } from '@hanzo/docs-core/framework';\nimport { isActive } from './urls';\nimport Link from '@hanzo/docs-core/link';\n\ninterface Filterable {\n /**\n * Restrict where the item is displayed\n *\n * @defaultValue 'all'\n */\n on?: 'menu' | 'nav' | 'all';\n}\n\ninterface WithHref {\n url: string;\n /**\n * When the item is marked as active\n *\n * @defaultValue 'url'\n */\n active?: 'url' | 'nested-url' | 'none';\n external?: boolean;\n}\n\nexport interface MainItemType extends WithHref, Filterable {\n type?: 'main';\n icon?: ReactNode;\n text: ReactNode;\n description?: ReactNode;\n}\n\nexport interface IconItemType extends WithHref, Filterable {\n type: 'icon';\n /**\n * `aria-label` of icon button\n */\n label?: string;\n icon: ReactNode;\n text: ReactNode;\n /**\n * @defaultValue true\n */\n secondary?: boolean;\n}\n\nexport interface ButtonItemType extends WithHref, Filterable {\n type: 'button';\n icon?: ReactNode;\n text: ReactNode;\n /**\n * @defaultValue false\n */\n secondary?: boolean;\n}\n\nexport interface MenuItemType extends Partial<WithHref>, Filterable {\n type: 'menu';\n icon?: ReactNode;\n text: ReactNode;\n\n items: (\n | (MainItemType & {\n /**\n * Options when displayed on navigation menu\n */\n menu?: ComponentProps<'a'> & {\n banner?: ReactNode;\n };\n })\n | CustomItemType\n )[];\n\n /**\n * @defaultValue false\n */\n secondary?: boolean;\n}\n\nexport interface CustomItemType extends Filterable {\n type: 'custom';\n /**\n * @defaultValue false\n */\n secondary?: boolean;\n children: ReactNode;\n}\n\nexport type LinkItemType =\n | MainItemType\n | IconItemType\n | ButtonItemType\n | MenuItemType\n | CustomItemType;\n\nexport function LinkItem({\n ref,\n item,\n ...props\n}: Omit<ComponentProps<'a'>, 'href'> & { item: WithHref }) {\n const pathname = usePathname();\n const activeType = item.active ?? 'url';\n const active = activeType !== 'none' && isActive(item.url, pathname, activeType === 'nested-url');\n\n return (\n <Link ref={ref} href={item.url} external={item.external} {...props} data-active={active}>\n {props.children}\n </Link>\n );\n}\n"],"mappings":";;;;;;;;AAgGA,SAAgB,SAAS,EACvB,KACA,MACA,GAAG,SACsD;CACzD,MAAM,WAAW,aAAa;CAC9B,MAAM,aAAa,KAAK,UAAU;CAClC,MAAM,SAAS,eAAe,UAAU,SAAS,KAAK,KAAK,UAAU,eAAe,aAAa;AAEjG,QACE,oBAAC;EAAU;EAAK,MAAM,KAAK;EAAK,UAAU,KAAK;EAAU,GAAI;EAAO,eAAa;YAC9E,MAAM;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge-refs.js","names":[],"sources":["../../src/utils/merge-refs.ts"],"sourcesContent":["import type * as React from 'react';\n\nexport function mergeRefs<T>(...refs: (React.Ref<T> | undefined)[]): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n });\n };\n}\n"],"mappings":";AAEA,SAAgB,UAAa,GAAG,MAA0D;AACxF,SAAQ,UAAU;AAChB,OAAK,SAAS,QAAQ;AACpB,OAAI,OAAO,QAAQ,WACjB,KAAI,MAAM;YACD,IACT,KAAI,UAAU;IAEhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.js","names":[],"sources":["../../src/utils/urls.ts"],"sourcesContent":["export function normalize(urlOrPath: string) {\n if (urlOrPath.length > 1 && urlOrPath.endsWith('/')) return urlOrPath.slice(0, -1);\n return urlOrPath;\n}\n\n/**\n * @returns if `href` is matching the given pathname\n */\nexport function isActive(href: string, pathname: string, nested = true): boolean {\n href = normalize(href);\n pathname = normalize(pathname);\n\n return href === pathname || (nested && pathname.startsWith(`${href}/`));\n}\n"],"mappings":";AAAA,SAAgB,UAAU,WAAmB;AAC3C,KAAI,UAAU,SAAS,KAAK,UAAU,SAAS,IAAI,CAAE,QAAO,UAAU,MAAM,GAAG,GAAG;AAClF,QAAO;;;;;AAMT,SAAgB,SAAS,MAAc,UAAkB,SAAS,MAAe;AAC/E,QAAO,UAAU,KAAK;AACtB,YAAW,UAAU,SAAS;AAE9B,QAAO,SAAS,YAAa,UAAU,SAAS,WAAW,GAAG,KAAK,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-copy-button.d.ts","names":[],"sources":["../../src/utils/use-copy-button.ts"],"mappings":";;;iBAGgB,aAAA,CACd,MAAA,eAAqB,OAAA,UACnB,OAAA,WAAkB,OAAA,EAAS,iBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-copy-button.js","names":[],"sources":["../../src/utils/use-copy-button.ts"],"sourcesContent":["'use client';\nimport { type MouseEventHandler, useCallback, useEffect, useRef, useState } from 'react';\n\nexport function useCopyButton(\n onCopy: () => void | Promise<void>,\n): [checked: boolean, onClick: MouseEventHandler] {\n const [checked, setChecked] = useState(false);\n const callbackRef = useRef(onCopy);\n const timeoutRef = useRef<number | null>(null);\n\n callbackRef.current = onCopy;\n\n const onClick: MouseEventHandler = useCallback(() => {\n if (timeoutRef.current) window.clearTimeout(timeoutRef.current);\n const res = Promise.resolve(callbackRef.current());\n\n void res.then(() => {\n setChecked(true);\n timeoutRef.current = window.setTimeout(() => {\n setChecked(false);\n }, 1500);\n });\n }, []);\n\n // Avoid updates after being unmounted\n useEffect(() => {\n return () => {\n if (timeoutRef.current) window.clearTimeout(timeoutRef.current);\n };\n }, []);\n\n return [checked, onClick];\n}\n"],"mappings":";;;;;AAGA,SAAgB,cACd,QACgD;CAChD,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,cAAc,OAAO,OAAO;CAClC,MAAM,aAAa,OAAsB,KAAK;AAE9C,aAAY,UAAU;CAEtB,MAAM,UAA6B,kBAAkB;AACnD,MAAI,WAAW,QAAS,QAAO,aAAa,WAAW,QAAQ;AAG/D,EAFY,QAAQ,QAAQ,YAAY,SAAS,CAAC,CAEzC,WAAW;AAClB,cAAW,KAAK;AAChB,cAAW,UAAU,OAAO,iBAAiB;AAC3C,eAAW,MAAM;MAChB,KAAK;IACR;IACD,EAAE,CAAC;AAGN,iBAAgB;AACd,eAAa;AACX,OAAI,WAAW,QAAS,QAAO,aAAa,WAAW,QAAQ;;IAEhE,EAAE,CAAC;AAEN,QAAO,CAAC,SAAS,QAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-footer-items.d.ts","names":[],"sources":["../../src/utils/use-footer-items.ts"],"mappings":";;;;;AASA;iBAAgB,cAAA,CAAA,GAAkB,QAAA,CAAS,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-footer-items.js","names":[],"sources":["../../src/utils/use-footer-items.ts"],"sourcesContent":["'use client';\nimport { useTreeContext } from '@/contexts/tree';\nimport type * as PageTree from '@hanzo/docs-core/page-tree';\n\nconst footerCache = new Map<string, PageTree.Item[]>();\n\n/**\n * @returns a list of page tree items (linear), that you can obtain footer items\n */\nexport function useFooterItems(): PageTree.Item[] {\n const { root } = useTreeContext();\n const cached = footerCache.get(root.$id);\n if (cached) return cached;\n\n const list: PageTree.Item[] = [];\n function onNode(node: PageTree.Node) {\n if (node.type === 'folder') {\n if (node.index) onNode(node.index);\n for (const child of node.children) onNode(child);\n } else if (node.type === 'page' && !node.external) {\n list.push(node);\n }\n }\n\n for (const child of root.children) onNode(child);\n footerCache.set(root.$id, list);\n return list;\n}\n"],"mappings":";;;;;AAIA,MAAM,8BAAc,IAAI,KAA8B;;;;AAKtD,SAAgB,iBAAkC;CAChD,MAAM,EAAE,SAAS,gBAAgB;CACjC,MAAM,SAAS,YAAY,IAAI,KAAK,IAAI;AACxC,KAAI,OAAQ,QAAO;CAEnB,MAAM,OAAwB,EAAE;CAChC,SAAS,OAAO,MAAqB;AACnC,MAAI,KAAK,SAAS,UAAU;AAC1B,OAAI,KAAK,MAAO,QAAO,KAAK,MAAM;AAClC,QAAK,MAAM,SAAS,KAAK,SAAU,QAAO,MAAM;aACvC,KAAK,SAAS,UAAU,CAAC,KAAK,SACvC,MAAK,KAAK,KAAK;;AAInB,MAAK,MAAM,SAAS,KAAK,SAAU,QAAO,MAAM;AAChD,aAAY,IAAI,KAAK,KAAK,KAAK;AAC/B,QAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-is-scroll-top.d.ts","names":[],"sources":["../../src/utils/use-is-scroll-top.ts"],"mappings":";iBAGgB,cAAA,CAAA;EAAiB;AAAA;EAAoB,OAAA;AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-is-scroll-top.js","names":[],"sources":["../../src/utils/use-is-scroll-top.ts"],"sourcesContent":["'use client';\nimport { useEffect, useState } from 'react';\n\nexport function useIsScrollTop({ enabled = true }: { enabled?: boolean }) {\n const [isTop, setIsTop] = useState<boolean | undefined>();\n\n useEffect(() => {\n if (!enabled) return;\n\n const listener = () => {\n setIsTop(window.scrollY < 10);\n };\n\n listener();\n window.addEventListener('scroll', listener);\n return () => {\n window.removeEventListener('scroll', listener);\n };\n }, [enabled]);\n\n return isTop;\n}\n"],"mappings":";;;;;AAGA,SAAgB,eAAe,EAAE,UAAU,QAA+B;CACxE,MAAM,CAAC,OAAO,YAAY,UAA+B;AAEzD,iBAAgB;AACd,MAAI,CAAC,QAAS;EAEd,MAAM,iBAAiB;AACrB,YAAS,OAAO,UAAU,GAAG;;AAG/B,YAAU;AACV,SAAO,iBAAiB,UAAU,SAAS;AAC3C,eAAa;AACX,UAAO,oBAAoB,UAAU,SAAS;;IAE/C,CAAC,QAAQ,CAAC;AAEb,QAAO"}