@hanzo/docs-base-ui 16.4.8 → 16.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/README.md +1 -1
  2. package/css/aspen.css +39 -1
  3. package/css/black.css +39 -1
  4. package/css/catppuccin.css +49 -1
  5. package/css/dusk.css +47 -1
  6. package/css/emerald.css +39 -1
  7. package/css/generated/docs.css +455 -0
  8. package/css/generated/flux.css +419 -0
  9. package/css/generated/home.css +201 -0
  10. package/css/generated/notebook.css +492 -0
  11. package/css/generated/shared.css +1033 -0
  12. package/css/lib/base.css +217 -0
  13. package/css/lib/default-colors.css +51 -0
  14. package/css/lib/shiki.css +90 -0
  15. package/css/neutral.css +7 -1
  16. package/css/ocean.css +44 -1
  17. package/css/preset.css +6 -7
  18. package/css/purple.css +39 -1
  19. package/css/ruby.css +39 -1
  20. package/css/shadcn.css +36 -1
  21. package/css/solar.css +75 -1
  22. package/css/vitepress.css +65 -1
  23. package/dist/_virtual/_rolldown/runtime.js +18 -0
  24. package/dist/components/accordion.d.ts +3 -3
  25. package/dist/components/accordion.d.ts.map +1 -1
  26. package/dist/components/accordion.js +6 -6
  27. package/dist/components/accordion.js.map +1 -1
  28. package/dist/components/banner.d.ts +2 -2
  29. package/dist/components/banner.d.ts.map +1 -1
  30. package/dist/components/banner.js +4 -4
  31. package/dist/components/banner.js.map +1 -1
  32. package/dist/components/callout.d.ts +5 -5
  33. package/dist/components/callout.d.ts.map +1 -1
  34. package/dist/components/callout.js +1 -1
  35. package/dist/components/callout.js.map +1 -1
  36. package/dist/components/card.d.ts +3 -3
  37. package/dist/components/card.d.ts.map +1 -1
  38. package/dist/components/card.js +2 -2
  39. package/dist/components/card.js.map +1 -1
  40. package/dist/components/codeblock.d.ts +7 -7
  41. package/dist/components/codeblock.d.ts.map +1 -1
  42. package/dist/components/codeblock.js +7 -7
  43. package/dist/components/codeblock.js.map +1 -1
  44. package/dist/components/dialog/search-algolia.d.ts +6 -6
  45. package/dist/components/dialog/search-algolia.d.ts.map +1 -1
  46. package/dist/components/dialog/search-algolia.js +7 -7
  47. package/dist/components/dialog/search-algolia.js.map +1 -1
  48. package/dist/components/dialog/search-default.d.ts +6 -6
  49. package/dist/components/dialog/search-default.d.ts.map +1 -1
  50. package/dist/components/dialog/search-default.js +7 -7
  51. package/dist/components/dialog/search-default.js.map +1 -1
  52. package/dist/components/dialog/search-orama.d.ts +6 -6
  53. package/dist/components/dialog/search-orama.d.ts.map +1 -1
  54. package/dist/components/dialog/search-orama.js +7 -7
  55. package/dist/components/dialog/search-orama.js.map +1 -1
  56. package/dist/components/dialog/search.d.ts +16 -16
  57. package/dist/components/dialog/search.d.ts.map +1 -1
  58. package/dist/components/dialog/search.js +19 -27
  59. package/dist/components/dialog/search.js.map +1 -1
  60. package/dist/components/dynamic-codeblock.core.d.ts +33 -0
  61. package/dist/components/dynamic-codeblock.core.d.ts.map +1 -0
  62. package/dist/components/dynamic-codeblock.core.js +66 -0
  63. package/dist/components/dynamic-codeblock.core.js.map +1 -0
  64. package/dist/components/dynamic-codeblock.d.ts +4 -28
  65. package/dist/components/dynamic-codeblock.d.ts.map +1 -1
  66. package/dist/components/dynamic-codeblock.js +9 -53
  67. package/dist/components/dynamic-codeblock.js.map +1 -1
  68. package/dist/components/files.d.ts.map +1 -1
  69. package/dist/components/files.js +2 -2
  70. package/dist/components/files.js.map +1 -1
  71. package/dist/components/github-info.d.ts +2 -2
  72. package/dist/components/github-info.d.ts.map +1 -1
  73. package/dist/components/github-info.js +1 -1
  74. package/dist/components/github-info.js.map +1 -1
  75. package/dist/components/heading.d.ts.map +1 -1
  76. package/dist/components/heading.js +1 -1
  77. package/dist/components/heading.js.map +1 -1
  78. package/dist/components/{image-zoom-CtfZieBH.css → image-zoom-DGvp66QF.css} +1 -1
  79. package/dist/components/{image-zoom-CtfZieBH.css.map → image-zoom-DGvp66QF.css.map} +1 -1
  80. package/dist/components/image-zoom.d.ts +3 -3
  81. package/dist/components/image-zoom.d.ts.map +1 -1
  82. package/dist/components/inline-toc.d.ts +2 -2
  83. package/dist/components/inline-toc.d.ts.map +1 -1
  84. package/dist/components/inline-toc.js +1 -1
  85. package/dist/components/inline-toc.js.map +1 -1
  86. package/dist/components/sidebar/base.d.ts +16 -16
  87. package/dist/components/sidebar/base.d.ts.map +1 -1
  88. package/dist/components/sidebar/base.js +5 -5
  89. package/dist/components/sidebar/base.js.map +1 -1
  90. package/dist/components/sidebar/link-item.d.ts +3 -3
  91. package/dist/components/sidebar/link-item.d.ts.map +1 -1
  92. package/dist/components/sidebar/link-item.js.map +1 -1
  93. package/dist/components/sidebar/page-tree.d.ts +2 -2
  94. package/dist/components/sidebar/page-tree.d.ts.map +1 -1
  95. package/dist/components/sidebar/page-tree.js +5 -5
  96. package/dist/components/sidebar/page-tree.js.map +1 -1
  97. package/dist/components/sidebar/tabs/dropdown.d.ts +3 -3
  98. package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -1
  99. package/dist/components/sidebar/tabs/dropdown.js +19 -19
  100. package/dist/components/sidebar/tabs/dropdown.js.map +1 -1
  101. package/dist/components/sidebar/tabs/index.d.ts.map +1 -1
  102. package/dist/components/steps.d.ts +3 -3
  103. package/dist/components/steps.d.ts.map +1 -1
  104. package/dist/components/tabs.d.ts +4 -4
  105. package/dist/components/tabs.d.ts.map +1 -1
  106. package/dist/components/tabs.js +2 -2
  107. package/dist/components/tabs.js.map +1 -1
  108. package/dist/components/toc/clerk.d.ts +12 -1
  109. package/dist/components/toc/clerk.d.ts.map +1 -0
  110. package/dist/components/toc/clerk.js +106 -6
  111. package/dist/components/toc/clerk.js.map +1 -1
  112. package/dist/components/toc/default.d.ts +12 -1
  113. package/dist/components/toc/default.d.ts.map +1 -0
  114. package/dist/components/toc/default.js +34 -6
  115. package/dist/components/toc/default.js.map +1 -1
  116. package/dist/components/toc/index.d.ts +26 -1
  117. package/dist/components/toc/index.d.ts.map +1 -0
  118. package/dist/components/toc/index.js +76 -6
  119. package/dist/components/toc/index.js.map +1 -1
  120. package/dist/components/type-table.d.ts +2 -2
  121. package/dist/components/type-table.d.ts.map +1 -1
  122. package/dist/components/type-table.js +7 -7
  123. package/dist/components/type-table.js.map +1 -1
  124. package/dist/components/ui/accordion.d.ts +6 -6
  125. package/dist/components/ui/accordion.d.ts.map +1 -1
  126. package/dist/components/ui/accordion.js +1 -1
  127. package/dist/components/ui/accordion.js.map +1 -1
  128. package/dist/components/ui/button.d.ts +1 -1
  129. package/dist/components/ui/button.d.ts.map +1 -1
  130. package/dist/components/ui/collapsible.d.ts +6 -6
  131. package/dist/components/ui/collapsible.d.ts.map +1 -1
  132. package/dist/components/ui/collapsible.js +1 -1
  133. package/dist/components/ui/collapsible.js.map +1 -1
  134. package/dist/components/ui/navigation-menu.d.ts +7 -7
  135. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  136. package/dist/components/ui/navigation-menu.js +2 -2
  137. package/dist/components/ui/navigation-menu.js.map +1 -1
  138. package/dist/components/ui/popover.d.ts +3 -3
  139. package/dist/components/ui/popover.d.ts.map +1 -1
  140. package/dist/components/ui/popover.js +2 -2
  141. package/dist/components/ui/popover.js.map +1 -1
  142. package/dist/components/ui/scroll-area.d.ts +4 -4
  143. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  144. package/dist/components/ui/scroll-area.js +2 -2
  145. package/dist/components/ui/scroll-area.js.map +1 -1
  146. package/dist/components/ui/tabs.d.ts +7 -7
  147. package/dist/components/ui/tabs.d.ts.map +1 -1
  148. package/dist/components/ui/tabs.js +5 -5
  149. package/dist/components/ui/tabs.js.map +1 -1
  150. package/dist/contexts/i18n.d.ts +60 -1
  151. package/dist/contexts/i18n.d.ts.map +1 -0
  152. package/dist/contexts/i18n.js +54 -6
  153. package/dist/contexts/i18n.js.map +1 -1
  154. package/dist/contexts/search.d.ts +70 -4
  155. package/dist/contexts/search.d.ts.map +1 -1
  156. package/dist/contexts/search.js +62 -6
  157. package/dist/contexts/search.js.map +1 -1
  158. package/dist/contexts/tree.d.ts +22 -1
  159. package/dist/contexts/tree.d.ts.map +1 -0
  160. package/dist/contexts/tree.js +36 -6
  161. package/dist/contexts/tree.js.map +1 -1
  162. package/dist/i18n.d.ts +14 -1
  163. package/dist/i18n.d.ts.map +1 -0
  164. package/dist/i18n.js +19 -2
  165. package/dist/i18n.js.map +1 -0
  166. package/dist/layouts/docs/client.d.ts +7 -7
  167. package/dist/layouts/docs/client.d.ts.map +1 -1
  168. package/dist/layouts/docs/client.js +4 -4
  169. package/dist/layouts/docs/client.js.map +1 -1
  170. package/dist/layouts/docs/index.d.ts +3 -3
  171. package/dist/layouts/docs/index.d.ts.map +1 -1
  172. package/dist/layouts/docs/index.js +11 -11
  173. package/dist/layouts/docs/index.js.map +1 -1
  174. package/dist/layouts/docs/page/client.d.ts +7 -7
  175. package/dist/layouts/docs/page/client.d.ts.map +1 -1
  176. package/dist/layouts/docs/page/client.js +21 -21
  177. package/dist/layouts/docs/page/client.js.map +1 -1
  178. package/dist/layouts/docs/page/index.d.ts +5 -5
  179. package/dist/layouts/docs/page/index.d.ts.map +1 -1
  180. package/dist/layouts/docs/page/index.js +13 -13
  181. package/dist/layouts/docs/page/index.js.map +1 -1
  182. package/dist/layouts/docs/sidebar.d.ts +20 -19
  183. package/dist/layouts/docs/sidebar.d.ts.map +1 -1
  184. package/dist/layouts/docs/sidebar.js +6 -6
  185. package/dist/layouts/docs/sidebar.js.map +1 -1
  186. package/dist/layouts/flux/index.d.ts +79 -0
  187. package/dist/layouts/flux/index.d.ts.map +1 -0
  188. package/dist/layouts/flux/index.js +168 -0
  189. package/dist/layouts/flux/index.js.map +1 -0
  190. package/dist/layouts/flux/page/client.d.ts +45 -0
  191. package/dist/layouts/flux/page/client.d.ts.map +1 -0
  192. package/dist/layouts/flux/page/client.js +255 -0
  193. package/dist/layouts/flux/page/client.js.map +1 -0
  194. package/dist/layouts/flux/page/index.d.ts +98 -0
  195. package/dist/layouts/flux/page/index.d.ts.map +1 -0
  196. package/dist/layouts/flux/page/index.js +76 -0
  197. package/dist/layouts/flux/page/index.js.map +1 -0
  198. package/dist/layouts/flux/sidebar.d.ts +59 -0
  199. package/dist/layouts/flux/sidebar.d.ts.map +1 -0
  200. package/dist/layouts/flux/sidebar.js +197 -0
  201. package/dist/layouts/flux/sidebar.js.map +1 -0
  202. package/dist/layouts/flux/tab-dropdown.d.ts +21 -0
  203. package/dist/layouts/flux/tab-dropdown.d.ts.map +1 -0
  204. package/dist/layouts/flux/tab-dropdown.js +96 -0
  205. package/dist/layouts/flux/tab-dropdown.js.map +1 -0
  206. package/dist/layouts/home/client.d.ts +3 -3
  207. package/dist/layouts/home/client.d.ts.map +1 -1
  208. package/dist/layouts/home/client.js +20 -38
  209. package/dist/layouts/home/client.js.map +1 -1
  210. package/dist/layouts/home/index.d.ts +2 -2
  211. package/dist/layouts/home/index.d.ts.map +1 -1
  212. package/dist/layouts/home/index.js +1 -1
  213. package/dist/layouts/home/index.js.map +1 -1
  214. package/dist/layouts/home/navbar.d.ts +6 -6
  215. package/dist/layouts/home/navbar.d.ts.map +1 -1
  216. package/dist/layouts/home/navbar.js +2 -2
  217. package/dist/layouts/home/navbar.js.map +1 -1
  218. package/dist/layouts/notebook/client.d.ts +9 -9
  219. package/dist/layouts/notebook/client.d.ts.map +1 -1
  220. package/dist/layouts/notebook/client.js +8 -8
  221. package/dist/layouts/notebook/client.js.map +1 -1
  222. package/dist/layouts/notebook/index.d.ts +2 -2
  223. package/dist/layouts/notebook/index.d.ts.map +1 -1
  224. package/dist/layouts/notebook/index.js +18 -18
  225. package/dist/layouts/notebook/index.js.map +1 -1
  226. package/dist/layouts/notebook/page/client.d.ts +7 -7
  227. package/dist/layouts/notebook/page/client.d.ts.map +1 -1
  228. package/dist/layouts/notebook/page/client.js +21 -21
  229. package/dist/layouts/notebook/page/client.js.map +1 -1
  230. package/dist/layouts/notebook/page/index.d.ts +5 -5
  231. package/dist/layouts/notebook/page/index.d.ts.map +1 -1
  232. package/dist/layouts/notebook/page/index.js +13 -13
  233. package/dist/layouts/notebook/page/index.js.map +1 -1
  234. package/dist/layouts/notebook/sidebar.d.ts +15 -14
  235. package/dist/layouts/notebook/sidebar.d.ts.map +1 -1
  236. package/dist/layouts/notebook/sidebar.js +4 -4
  237. package/dist/layouts/notebook/sidebar.js.map +1 -1
  238. package/dist/layouts/shared/index.d.ts +13 -6
  239. package/dist/layouts/shared/index.d.ts.map +1 -1
  240. package/dist/layouts/shared/index.js +29 -2
  241. package/dist/layouts/shared/index.js.map +1 -1
  242. package/dist/layouts/shared/language-toggle.d.ts +2 -2
  243. package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
  244. package/dist/layouts/shared/language-toggle.js +4 -4
  245. package/dist/layouts/shared/language-toggle.js.map +1 -1
  246. package/dist/layouts/shared/search-toggle.d.ts +3 -3
  247. package/dist/layouts/shared/search-toggle.d.ts.map +1 -1
  248. package/dist/layouts/shared/search-toggle.js +6 -6
  249. package/dist/layouts/shared/search-toggle.js.map +1 -1
  250. package/dist/layouts/shared/theme-toggle.d.ts +2 -2
  251. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -1
  252. package/dist/layouts/shared/theme-toggle.js +7 -7
  253. package/dist/layouts/shared/theme-toggle.js.map +1 -1
  254. package/dist/mdx.d.ts +1 -1
  255. package/dist/mdx.d.ts.map +1 -1
  256. package/dist/mdx.js +2 -2
  257. package/dist/mdx.js.map +1 -1
  258. package/dist/mdx.server.d.ts +0 -1
  259. package/dist/mdx.server.d.ts.map +1 -1
  260. package/dist/og.d.ts +23 -1
  261. package/dist/og.d.ts.map +1 -0
  262. package/dist/og.js +69 -2
  263. package/dist/og.js.map +1 -0
  264. package/dist/page.d.ts +3 -3
  265. package/dist/page.d.ts.map +1 -1
  266. package/dist/page.js +5 -5
  267. package/dist/page.js.map +1 -1
  268. package/dist/provider/base.d.ts +4 -4
  269. package/dist/provider/base.d.ts.map +1 -1
  270. package/dist/provider/base.js +3 -3
  271. package/dist/provider/base.js.map +1 -1
  272. package/dist/provider/next.d.ts +3 -3
  273. package/dist/provider/next.d.ts.map +1 -1
  274. package/dist/provider/react-router.d.ts +3 -3
  275. package/dist/provider/react-router.d.ts.map +1 -1
  276. package/dist/provider/tanstack.d.ts +3 -3
  277. package/dist/provider/tanstack.d.ts.map +1 -1
  278. package/dist/provider/waku.d.ts +3 -3
  279. package/dist/provider/waku.d.ts.map +1 -1
  280. package/dist/style.css +187 -56
  281. package/dist/utils/cn.js +3 -0
  282. package/dist/utils/link-item.d.ts +86 -0
  283. package/dist/utils/link-item.d.ts.map +1 -0
  284. package/dist/utils/link-item.js +25 -0
  285. package/dist/utils/link-item.js.map +1 -0
  286. package/dist/utils/merge-refs.js +13 -0
  287. package/dist/utils/merge-refs.js.map +1 -0
  288. package/dist/utils/urls.js +17 -0
  289. package/dist/utils/urls.js.map +1 -0
  290. package/dist/utils/use-copy-button.d.ts +7 -1
  291. package/dist/utils/use-copy-button.d.ts.map +1 -0
  292. package/dist/utils/use-copy-button.js +29 -2
  293. package/dist/utils/use-copy-button.js.map +1 -0
  294. package/dist/utils/use-footer-items.d.ts +10 -1
  295. package/dist/utils/use-footer-items.d.ts.map +1 -0
  296. package/dist/utils/use-footer-items.js +27 -2
  297. package/dist/utils/use-footer-items.js.map +1 -0
  298. package/dist/utils/use-is-scroll-top.d.ts +9 -1
  299. package/dist/utils/use-is-scroll-top.d.ts.map +1 -0
  300. package/dist/utils/use-is-scroll-top.js +23 -2
  301. package/dist/utils/use-is-scroll-top.js.map +1 -0
  302. package/package.json +28 -17
  303. package/css/layouts/docs.css +0 -1
  304. package/css/layouts/home.css +0 -1
  305. package/css/layouts/notebook.css +0 -1
  306. package/dist/_virtual/rolldown_runtime.js +0 -36
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,13 @@
1
+ //#region src/utils/merge-refs.ts
2
+ function mergeRefs(...refs) {
3
+ return (value) => {
4
+ refs.forEach((ref) => {
5
+ if (typeof ref === "function") ref(value);
6
+ else if (ref) ref.current = value;
7
+ });
8
+ };
9
+ }
10
+
11
+ //#endregion
12
+ export { mergeRefs };
13
+ //# sourceMappingURL=merge-refs.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,17 @@
1
+ //#region src/utils/urls.ts
2
+ function normalize(urlOrPath) {
3
+ if (urlOrPath.length > 1 && urlOrPath.endsWith("/")) return urlOrPath.slice(0, -1);
4
+ return urlOrPath;
5
+ }
6
+ /**
7
+ * @returns if `href` is matching the given pathname
8
+ */
9
+ function isActive(href, pathname, nested = true) {
10
+ href = normalize(href);
11
+ pathname = normalize(pathname);
12
+ return href === pathname || nested && pathname.startsWith(`${href}/`);
13
+ }
14
+
15
+ //#endregion
16
+ export { isActive, normalize };
17
+ //# sourceMappingURL=urls.js.map
@@ -0,0 +1 @@
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 +1,7 @@
1
- export * from "@hanzo/docs-ui/hooks/use-copy-button";
1
+ import { MouseEventHandler } from "react";
2
+
3
+ //#region src/utils/use-copy-button.d.ts
4
+ declare function useCopyButton(onCopy: () => void | Promise<void>): [checked: boolean, onClick: MouseEventHandler];
5
+ //#endregion
6
+ export { useCopyButton };
7
+ //# sourceMappingURL=use-copy-button.d.ts.map
@@ -0,0 +1 @@
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,3 +1,30 @@
1
- export * from "@hanzo/docs-ui/hooks/use-copy-button"
1
+ 'use client';
2
2
 
3
- export { };
3
+ import { useCallback, useEffect, useRef, useState } from "react";
4
+
5
+ //#region src/utils/use-copy-button.ts
6
+ function useCopyButton(onCopy) {
7
+ const [checked, setChecked] = useState(false);
8
+ const callbackRef = useRef(onCopy);
9
+ const timeoutRef = useRef(null);
10
+ callbackRef.current = onCopy;
11
+ const onClick = useCallback(() => {
12
+ if (timeoutRef.current) window.clearTimeout(timeoutRef.current);
13
+ Promise.resolve(callbackRef.current()).then(() => {
14
+ setChecked(true);
15
+ timeoutRef.current = window.setTimeout(() => {
16
+ setChecked(false);
17
+ }, 1500);
18
+ });
19
+ }, []);
20
+ useEffect(() => {
21
+ return () => {
22
+ if (timeoutRef.current) window.clearTimeout(timeoutRef.current);
23
+ };
24
+ }, []);
25
+ return [checked, onClick];
26
+ }
27
+
28
+ //#endregion
29
+ export { useCopyButton };
30
+ //# sourceMappingURL=use-copy-button.js.map
@@ -0,0 +1 @@
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 +1,10 @@
1
- export * from "@hanzo/docs-radix-ui/hooks/use-footer-items";
1
+ import * as PageTree from "@hanzo/docs-core/page-tree";
2
+
3
+ //#region src/utils/use-footer-items.d.ts
4
+ /**
5
+ * @returns a list of page tree items (linear), that you can obtain footer items
6
+ */
7
+ declare function useFooterItems(): PageTree.Item[];
8
+ //#endregion
9
+ export { useFooterItems };
10
+ //# sourceMappingURL=use-footer-items.d.ts.map
@@ -0,0 +1 @@
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,3 +1,28 @@
1
- export * from "@hanzo/docs-radix-ui/hooks/use-footer-items"
1
+ 'use client';
2
2
 
3
- export { };
3
+ import { useTreeContext } from "../contexts/tree.js";
4
+
5
+ //#region src/utils/use-footer-items.ts
6
+ const footerCache = /* @__PURE__ */ new Map();
7
+ /**
8
+ * @returns a list of page tree items (linear), that you can obtain footer items
9
+ */
10
+ function useFooterItems() {
11
+ const { root } = useTreeContext();
12
+ const cached = footerCache.get(root.$id);
13
+ if (cached) return cached;
14
+ const list = [];
15
+ function onNode(node) {
16
+ if (node.type === "folder") {
17
+ if (node.index) onNode(node.index);
18
+ for (const child of node.children) onNode(child);
19
+ } else if (node.type === "page" && !node.external) list.push(node);
20
+ }
21
+ for (const child of root.children) onNode(child);
22
+ footerCache.set(root.$id, list);
23
+ return list;
24
+ }
25
+
26
+ //#endregion
27
+ export { useFooterItems };
28
+ //# sourceMappingURL=use-footer-items.js.map
@@ -0,0 +1 @@
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 +1,9 @@
1
- export * from "@hanzo/docs-radix-ui/hooks/use-is-scroll-top";
1
+ //#region src/utils/use-is-scroll-top.d.ts
2
+ declare function useIsScrollTop({
3
+ enabled
4
+ }: {
5
+ enabled?: boolean;
6
+ }): boolean | undefined;
7
+ //#endregion
8
+ export { useIsScrollTop };
9
+ //# sourceMappingURL=use-is-scroll-top.d.ts.map
@@ -0,0 +1 @@
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,3 +1,24 @@
1
- export * from "@hanzo/docs-radix-ui/hooks/use-is-scroll-top"
1
+ 'use client';
2
2
 
3
- export { };
3
+ import { useEffect, useState } from "react";
4
+
5
+ //#region src/utils/use-is-scroll-top.ts
6
+ function useIsScrollTop({ enabled = true }) {
7
+ const [isTop, setIsTop] = useState();
8
+ useEffect(() => {
9
+ if (!enabled) return;
10
+ const listener = () => {
11
+ setIsTop(window.scrollY < 10);
12
+ };
13
+ listener();
14
+ window.addEventListener("scroll", listener);
15
+ return () => {
16
+ window.removeEventListener("scroll", listener);
17
+ };
18
+ }, [enabled]);
19
+ return isTop;
20
+ }
21
+
22
+ //#endregion
23
+ export { useIsScrollTop };
24
+ //# sourceMappingURL=use-is-scroll-top.js.map
@@ -0,0 +1 @@
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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@hanzo/docs-base-ui",
3
- "version": "16.4.8",
3
+ "version": "16.5.3",
4
4
  "description": "The Base UI version of Hanzo Docs UI",
5
5
  "keywords": [
6
6
  "Docs",
7
7
  "Hanzo Docs"
8
8
  ],
9
- "homepage": "https://docs.hanzo.ai",
9
+ "homepage": "https://hanzoai.github.io/docs",
10
10
  "license": "MIT",
11
- "author": "Fuma Nama",
11
+ "author": "Hanzo AI",
12
12
  "repository": "github:hanzoai/docs",
13
13
  "files": [
14
14
  "css/*",
@@ -24,10 +24,6 @@
24
24
  "import": "./dist/components/*.js",
25
25
  "default": "./dist/components/*.js"
26
26
  },
27
- "./contexts/*": {
28
- "types": "./dist/contexts/*.d.ts",
29
- "import": "./dist/contexts/*.js"
30
- },
31
27
  "./i18n": {
32
28
  "types": "./dist/i18n.d.ts",
33
29
  "import": "./dist/i18n.js"
@@ -48,6 +44,14 @@
48
44
  "types": "./dist/layouts/docs/page/index.d.ts",
49
45
  "import": "./dist/layouts/docs/page/index.js"
50
46
  },
47
+ "./layouts/flux": {
48
+ "types": "./dist/layouts/flux/index.d.ts",
49
+ "import": "./dist/layouts/flux/index.js"
50
+ },
51
+ "./layouts/flux/page": {
52
+ "types": "./dist/layouts/flux/page/index.d.ts",
53
+ "import": "./dist/layouts/flux/page/index.js"
54
+ },
51
55
  "./layouts/notebook": {
52
56
  "types": "./dist/layouts/notebook/index.d.ts",
53
57
  "import": "./dist/layouts/notebook/index.js"
@@ -68,6 +72,10 @@
68
72
  "types": "./dist/provider/*.d.ts",
69
73
  "import": "./dist/provider/*.js"
70
74
  },
75
+ "./contexts/*": {
76
+ "types": "./dist/contexts/*.d.ts",
77
+ "import": "./dist/contexts/*.js"
78
+ },
71
79
  "./mdx": {
72
80
  "types": "./dist/mdx.d.ts",
73
81
  "node": "./dist/mdx.server.js",
@@ -89,22 +97,25 @@
89
97
  "@base-ui/react": "^1.1.0",
90
98
  "class-variance-authority": "^0.7.1",
91
99
  "lucide-react": "^0.563.0",
100
+ "motion": "^12.33.0",
92
101
  "next-themes": "^0.4.6",
93
102
  "react-medium-image-zoom": "^5.4.0",
103
+ "react-remove-scroll": "^2.7.2",
94
104
  "scroll-into-view-if-needed": "^3.1.0",
95
- "@hanzo/docs-radix-ui": "16.4.8"
105
+ "tailwind-merge": "^3.4.0",
106
+ "@hanzo/docs-tailwind": "0.0.2"
96
107
  },
97
108
  "devDependencies": {
98
109
  "@tailwindcss/cli": "^4.1.18",
99
- "@types/node": "^25.0.10",
100
- "@types/react": "^19.2.9",
110
+ "@types/node": "^25.2.1",
111
+ "@types/react": "^19.2.13",
101
112
  "@types/react-dom": "^19.2.3",
102
113
  "tailwindcss": "^4.1.18",
103
- "tsdown": "^0.19.0",
104
- "@hanzo/docs-cli": "1.2.2",
105
- "@hanzo/docs-core": "16.5.0",
106
- "tsconfig": "0.0.0",
107
- "eslint-config-custom": "0.0.0"
114
+ "tsdown": "^0.20.3",
115
+ "@hanzo/docs-cli": "1.2.5",
116
+ "eslint-config-custom": "0.0.0",
117
+ "@hanzo/docs-core": "16.5.3",
118
+ "tsconfig": "0.0.0"
108
119
  },
109
120
  "peerDependencies": {
110
121
  "@types/react": "*",
@@ -112,7 +123,7 @@
112
123
  "react": "^19.2.0",
113
124
  "react-dom": "^19.2.0",
114
125
  "tailwindcss": "^4.0.0",
115
- "@hanzo/docs-core": "16.5.0"
126
+ "@hanzo/docs-core": "16.5.3"
116
127
  },
117
128
  "peerDependenciesMeta": {
118
129
  "next": {
@@ -127,7 +138,7 @@
127
138
  },
128
139
  "scripts": {
129
140
  "build": "pnpm build:layout && pnpm build:tailwind",
130
- "build:layout": "tsdown",
141
+ "build:layout": "tsdown --config-loader unrun",
131
142
  "build:tailwind": "tailwindcss -i css/style.css -o ./dist/style.css && tailwindcss -i src/components/image-zoom.css -o dist/components/image-zoom.css",
132
143
  "clean": "rimraf dist",
133
144
  "dev": "concurrently \"tsdown --watch\" \"tailwindcss -i css/style.css -o ./dist/style.css -w\" \"tailwindcss -i src/components/image-zoom.css -o dist/components/image-zoom.css -w\"",
@@ -1 +0,0 @@
1
- @source '../../dist/layouts/docs/**/*.js';
@@ -1 +0,0 @@
1
- @source '../../dist/layouts/home/**/*.js';
@@ -1 +0,0 @@
1
- @source '../../dist/layouts/notebook/**/*.js';
@@ -1,36 +0,0 @@
1
- //#region rolldown:runtime
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __exportAll = (all, symbols) => {
7
- let target = {};
8
- for (var name in all) {
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true
12
- });
13
- }
14
- if (symbols) {
15
- __defProp(target, Symbol.toStringTag, { value: "Module" });
16
- }
17
- return target;
18
- };
19
- var __copyProps = (to, from, except, desc) => {
20
- if (from && typeof from === "object" || typeof from === "function") {
21
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
22
- key = keys[i];
23
- if (!__hasOwnProp.call(to, key) && key !== except) {
24
- __defProp(to, key, {
25
- get: ((k) => from[k]).bind(null, key),
26
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
27
- });
28
- }
29
- }
30
- }
31
- return to;
32
- };
33
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
34
-
35
- //#endregion
36
- export { __exportAll, __reExport };