@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,255 @@
1
+ 'use client';
2
+
3
+ import { useI18n } from "../../../contexts/i18n.js";
4
+ import { cn } from "../../../utils/cn.js";
5
+ import { useTreeContext, useTreePath } from "../../../contexts/tree.js";
6
+ import { isActive } from "../../../utils/urls.js";
7
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../../components/ui/collapsible.js";
8
+ import { useTOCItems } from "../../../components/toc/index.js";
9
+ import { useFooterItems } from "../../../utils/use-footer-items.js";
10
+ import { Fragment, createContext, use, useEffect, useEffectEvent, useMemo, useRef, useState } from "react";
11
+ import { usePathname } from "@hanzo/docs-core/framework";
12
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
+ import Link from "@hanzo/docs-core/link";
14
+ import { ChevronDown, ChevronLeft, ChevronRight } from "lucide-react";
15
+ import { getBreadcrumbItemsFromPath } from "@hanzo/docs-core/breadcrumb";
16
+ import { useActiveAnchor } from "@hanzo/docs-core/toc";
17
+ import { createPortal } from "react-dom";
18
+ import { AnimatePresence, motion } from "motion/react";
19
+
20
+ //#region src/layouts/flux/page/client.tsx
21
+ const TocPopoverContext = createContext(null);
22
+ function PageTOCPopover(props) {
23
+ const [container, setContainer] = useState(null);
24
+ useEffect(() => {
25
+ const element = document.getElementById("flux-layout-slot");
26
+ if (!element) return;
27
+ setContainer(element);
28
+ }, []);
29
+ if (!container) return;
30
+ return createPortal(/* @__PURE__ */ jsx(PageTOCPopoverPhysical, { ...props }), container);
31
+ }
32
+ function PageTOCPopoverPhysical({ className, children, ...rest }) {
33
+ const ref = useRef(null);
34
+ const [open, setOpen] = useState(false);
35
+ const onClick = useEffectEvent((e) => {
36
+ if (!open) return;
37
+ if (ref.current && !ref.current.contains(e.target)) setOpen(false);
38
+ });
39
+ useEffect(() => {
40
+ window.addEventListener("click", onClick);
41
+ return () => {
42
+ window.removeEventListener("click", onClick);
43
+ };
44
+ }, []);
45
+ return /* @__PURE__ */ jsx(TocPopoverContext, {
46
+ value: useMemo(() => ({
47
+ open,
48
+ setOpen
49
+ }), [setOpen, open]),
50
+ children: /* @__PURE__ */ jsx(Collapsible, {
51
+ open,
52
+ onOpenChange: setOpen,
53
+ "data-toc-popover": "",
54
+ className: cn("relative h-9 animate-fd-fade-in", className),
55
+ ...rest,
56
+ children: /* @__PURE__ */ jsx("header", {
57
+ ref,
58
+ className: cn("absolute w-full bottom-0 border rounded-xl transition-colors bg-fd-secondary text-fd-secondary-foreground backdrop-blur-sm", open && "shadow-lg bg-fd-popover/80 text-fd-popover-foreground"),
59
+ children
60
+ })
61
+ })
62
+ });
63
+ }
64
+ function PageTOCPopoverTrigger({ className, ...props }) {
65
+ const { text } = useI18n();
66
+ const { open } = use(TocPopoverContext);
67
+ const items = useTOCItems();
68
+ const active = useActiveAnchor();
69
+ const selected = useMemo(() => items.findIndex((item) => active === item.url.slice(1)), [items, active]);
70
+ const path = useTreePath().at(-1);
71
+ const spanProps = {
72
+ transition: { duration: .1 },
73
+ initial: {
74
+ opacity: 0,
75
+ y: 10
76
+ },
77
+ animate: {
78
+ opacity: 1,
79
+ y: 0
80
+ },
81
+ exit: {
82
+ opacity: 0,
83
+ y: -10
84
+ },
85
+ className: cn(open && "text-fd-popover-foreground")
86
+ };
87
+ return /* @__PURE__ */ jsxs(CollapsibleTrigger, {
88
+ className: cn("flex w-full h-8.5 items-center text-sm text-fd-muted-foreground gap-2.5 px-2 text-start focus-visible:outline-none [&_svg]:size-4", className),
89
+ "data-toc-popover-trigger": "",
90
+ ...props,
91
+ children: [
92
+ /* @__PURE__ */ jsx(ProgressCircle, {
93
+ value: (selected + 1) / Math.max(1, items.length),
94
+ max: 1,
95
+ className: cn("shrink-0", open && "text-fd-primary")
96
+ }),
97
+ /* @__PURE__ */ jsx(AnimatePresence, {
98
+ mode: "wait",
99
+ children: items[selected] && selected !== -1 && !open ? /* @__PURE__ */ jsx(motion.span, {
100
+ ...spanProps,
101
+ children: items[selected].title
102
+ }, selected) : path ? /* @__PURE__ */ jsx(motion.span, {
103
+ ...spanProps,
104
+ children: path.name
105
+ }, path.$id ?? ":pathId") : /* @__PURE__ */ jsx(motion.span, {
106
+ ...spanProps,
107
+ children: text.toc
108
+ }, ":toc")
109
+ }),
110
+ /* @__PURE__ */ jsx(ChevronDown, { className: cn("ms-auto shrink-0 transition-transform", open && "rotate-180") })
111
+ ]
112
+ });
113
+ }
114
+ function clamp(input, min, max) {
115
+ if (input < min) return min;
116
+ if (input > max) return max;
117
+ return input;
118
+ }
119
+ function ProgressCircle({ value, strokeWidth = 2, size = 24, min = 0, max = 100, ...restSvgProps }) {
120
+ const normalizedValue = clamp(value, min, max);
121
+ const radius = (size - strokeWidth) / 2;
122
+ const circumference = 2 * Math.PI * radius;
123
+ const progress = normalizedValue / max * circumference;
124
+ const circleProps = {
125
+ cx: size / 2,
126
+ cy: size / 2,
127
+ r: radius,
128
+ fill: "none",
129
+ strokeWidth
130
+ };
131
+ return /* @__PURE__ */ jsxs("svg", {
132
+ role: "progressbar",
133
+ viewBox: `0 0 ${size} ${size}`,
134
+ "aria-valuenow": normalizedValue,
135
+ "aria-valuemin": min,
136
+ "aria-valuemax": max,
137
+ ...restSvgProps,
138
+ children: [/* @__PURE__ */ jsx("circle", {
139
+ ...circleProps,
140
+ className: "stroke-current/25"
141
+ }), /* @__PURE__ */ jsx("circle", {
142
+ ...circleProps,
143
+ stroke: "currentColor",
144
+ strokeDasharray: circumference,
145
+ strokeDashoffset: circumference - progress,
146
+ strokeLinecap: "round",
147
+ transform: `rotate(-90 ${size / 2} ${size / 2})`,
148
+ className: "transition-all"
149
+ })]
150
+ });
151
+ }
152
+ function PageTOCPopoverContent(props) {
153
+ return /* @__PURE__ */ jsx(CollapsibleContent, {
154
+ "data-toc-popover-content": "",
155
+ ...props,
156
+ className: cn("flex flex-col px-2 max-h-[50vh]", props.className),
157
+ children: props.children
158
+ });
159
+ }
160
+ function PageLastUpdate({ date: value, ...props }) {
161
+ const { text } = useI18n();
162
+ const [date, setDate] = useState("");
163
+ useEffect(() => {
164
+ setDate(value.toLocaleDateString());
165
+ }, [value]);
166
+ return /* @__PURE__ */ jsxs("p", {
167
+ ...props,
168
+ className: cn("text-sm text-fd-muted-foreground", props.className),
169
+ children: [
170
+ text.lastUpdate,
171
+ " ",
172
+ date
173
+ ]
174
+ });
175
+ }
176
+ function PageFooter({ items, children, className, ...props }) {
177
+ const footerList = useFooterItems();
178
+ const pathname = usePathname();
179
+ const { previous, next } = useMemo(() => {
180
+ if (items) return items;
181
+ const idx = footerList.findIndex((item) => isActive(item.url, pathname, false));
182
+ if (idx === -1) return {};
183
+ return {
184
+ previous: footerList[idx - 1],
185
+ next: footerList[idx + 1]
186
+ };
187
+ }, [
188
+ footerList,
189
+ items,
190
+ pathname
191
+ ]);
192
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", {
193
+ className: cn("@container grid gap-4", previous && next ? "grid-cols-2" : "grid-cols-1", className),
194
+ ...props,
195
+ children: [previous && /* @__PURE__ */ jsx(FooterItem, {
196
+ item: previous,
197
+ index: 0
198
+ }), next && /* @__PURE__ */ jsx(FooterItem, {
199
+ item: next,
200
+ index: 1
201
+ })]
202
+ }), children] });
203
+ }
204
+ function FooterItem({ item, index }) {
205
+ const { text } = useI18n();
206
+ const Icon = index === 0 ? ChevronLeft : ChevronRight;
207
+ return /* @__PURE__ */ jsxs(Link, {
208
+ href: item.url,
209
+ className: cn("flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full", index === 1 && "text-end"),
210
+ children: [/* @__PURE__ */ jsxs("div", {
211
+ className: cn("inline-flex items-center gap-1.5 font-medium", index === 1 && "flex-row-reverse"),
212
+ children: [/* @__PURE__ */ jsx(Icon, { className: "-mx-1 size-4 shrink-0 rtl:rotate-180" }), /* @__PURE__ */ jsx("p", { children: item.name })]
213
+ }), /* @__PURE__ */ jsx("p", {
214
+ className: "text-fd-muted-foreground truncate",
215
+ children: item.description ?? (index === 0 ? text.previousPage : text.nextPage)
216
+ })]
217
+ });
218
+ }
219
+ function PageBreadcrumb({ includeRoot, includeSeparator, includePage, ...props }) {
220
+ const path = useTreePath();
221
+ const { root } = useTreeContext();
222
+ const items = useMemo(() => {
223
+ return getBreadcrumbItemsFromPath(root, path, {
224
+ includePage,
225
+ includeSeparator,
226
+ includeRoot
227
+ });
228
+ }, [
229
+ includePage,
230
+ includeRoot,
231
+ includeSeparator,
232
+ path,
233
+ root
234
+ ]);
235
+ if (items.length === 0) return null;
236
+ return /* @__PURE__ */ jsx("div", {
237
+ ...props,
238
+ className: cn("flex items-center gap-1.5 text-sm text-fd-muted-foreground", props.className),
239
+ children: items.map((item, i) => {
240
+ const className = cn("truncate", i === items.length - 1 && "text-fd-primary font-medium");
241
+ return /* @__PURE__ */ jsxs(Fragment, { children: [i !== 0 && /* @__PURE__ */ jsx(ChevronRight, { className: "size-3.5 shrink-0" }), item.url ? /* @__PURE__ */ jsx(Link, {
242
+ href: item.url,
243
+ className: cn(className, "transition-opacity hover:opacity-80"),
244
+ children: item.name
245
+ }) : /* @__PURE__ */ jsx("span", {
246
+ className,
247
+ children: item.name
248
+ })] }, i);
249
+ })
250
+ });
251
+ }
252
+
253
+ //#endregion
254
+ export { PageBreadcrumb, PageFooter, PageLastUpdate, PageTOCPopover, PageTOCPopoverContent, PageTOCPopoverTrigger };
255
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","names":[],"sources":["../../../../src/layouts/flux/page/client.tsx"],"sourcesContent":["'use client';\n\nimport {\n type ComponentProps,\n createContext,\n Fragment,\n use,\n useEffect,\n useEffectEvent,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';\nimport Link from '@hanzo/docs-core/link';\nimport { cn } from '@/utils/cn';\nimport { useI18n } from '@/contexts/i18n';\nimport { useTreeContext, useTreePath } from '@/contexts/tree';\nimport type * as PageTree from '@hanzo/docs-core/page-tree';\nimport { usePathname } from '@hanzo/docs-core/framework';\nimport { type BreadcrumbOptions, getBreadcrumbItemsFromPath } from '@hanzo/docs-core/breadcrumb';\nimport { isActive } from '@/utils/urls';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';\nimport { useTOCItems } from '@/components/toc';\nimport { useActiveAnchor } from '@hanzo/docs-core/toc';\nimport { useFooterItems } from '@/utils/use-footer-items';\nimport { createPortal } from 'react-dom';\nimport { AnimatePresence, motion } from 'motion/react';\n\nconst TocPopoverContext = createContext<{\n open: boolean;\n setOpen: (open: boolean) => void;\n} | null>(null);\n\nexport function PageTOCPopover(props: ComponentProps<'div'>) {\n const [container, setContainer] = useState<HTMLElement | null>(null);\n\n useEffect(() => {\n const element = document.getElementById('flux-layout-slot');\n if (!element) return;\n setContainer(element);\n }, []);\n\n if (!container) return;\n return createPortal(<PageTOCPopoverPhysical {...props} />, container);\n}\n\nfunction PageTOCPopoverPhysical({ className, children, ...rest }: ComponentProps<'div'>) {\n const ref = useRef<HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const onClick = useEffectEvent((e: Event) => {\n if (!open) return;\n\n if (ref.current && !ref.current.contains(e.target as HTMLElement)) setOpen(false);\n });\n\n useEffect(() => {\n window.addEventListener('click', onClick);\n\n return () => {\n window.removeEventListener('click', onClick);\n };\n }, []);\n\n return (\n <TocPopoverContext\n value={useMemo(\n () => ({\n open,\n setOpen,\n }),\n [setOpen, open],\n )}\n >\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n data-toc-popover=\"\"\n className={cn('relative h-9 animate-fd-fade-in', className)}\n {...rest}\n >\n <header\n ref={ref}\n className={cn(\n 'absolute w-full bottom-0 border rounded-xl transition-colors bg-fd-secondary text-fd-secondary-foreground backdrop-blur-sm',\n open && 'shadow-lg bg-fd-popover/80 text-fd-popover-foreground',\n )}\n >\n {children}\n </header>\n </Collapsible>\n </TocPopoverContext>\n );\n}\n\nexport function PageTOCPopoverTrigger({ className, ...props }: ComponentProps<'button'>) {\n const { text } = useI18n();\n const { open } = use(TocPopoverContext)!;\n const items = useTOCItems();\n const active = useActiveAnchor();\n const selected = useMemo(\n () => items.findIndex((item) => active === item.url.slice(1)),\n [items, active],\n );\n const path = useTreePath().at(-1);\n const spanProps = {\n transition: {\n duration: 0.1,\n },\n initial: {\n opacity: 0,\n y: 10,\n },\n animate: {\n opacity: 1,\n y: 0,\n },\n exit: {\n opacity: 0,\n y: -10,\n },\n className: cn(open && 'text-fd-popover-foreground'),\n };\n\n return (\n <CollapsibleTrigger\n className={cn(\n 'flex w-full h-8.5 items-center text-sm text-fd-muted-foreground gap-2.5 px-2 text-start focus-visible:outline-none [&_svg]:size-4',\n className,\n )}\n data-toc-popover-trigger=\"\"\n {...props}\n >\n <ProgressCircle\n value={(selected + 1) / Math.max(1, items.length)}\n max={1}\n className={cn('shrink-0', open && 'text-fd-primary')}\n />\n <AnimatePresence mode=\"wait\">\n {items[selected] && selected !== -1 && !open ? (\n <motion.span key={selected} {...spanProps}>\n {items[selected].title}\n </motion.span>\n ) : path ? (\n <motion.span key={path.$id ?? ':pathId'} {...spanProps}>\n {path.name}\n </motion.span>\n ) : (\n <motion.span key=\":toc\" {...spanProps}>\n {text.toc}\n </motion.span>\n )}\n </AnimatePresence>\n\n <ChevronDown className={cn('ms-auto shrink-0 transition-transform', open && 'rotate-180')} />\n </CollapsibleTrigger>\n );\n}\n\ninterface ProgressCircleProps extends Omit<React.ComponentProps<'svg'>, 'strokeWidth'> {\n value: number;\n strokeWidth?: number;\n size?: number;\n min?: number;\n max?: number;\n}\n\nfunction clamp(input: number, min: number, max: number): number {\n if (input < min) return min;\n if (input > max) return max;\n return input;\n}\n\nfunction ProgressCircle({\n value,\n strokeWidth = 2,\n size = 24,\n min = 0,\n max = 100,\n ...restSvgProps\n}: ProgressCircleProps) {\n const normalizedValue = clamp(value, min, max);\n const radius = (size - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const progress = (normalizedValue / max) * circumference;\n const circleProps = {\n cx: size / 2,\n cy: size / 2,\n r: radius,\n fill: 'none',\n strokeWidth,\n };\n\n return (\n <svg\n role=\"progressbar\"\n viewBox={`0 0 ${size} ${size}`}\n aria-valuenow={normalizedValue}\n aria-valuemin={min}\n aria-valuemax={max}\n {...restSvgProps}\n >\n <circle {...circleProps} className=\"stroke-current/25\" />\n <circle\n {...circleProps}\n stroke=\"currentColor\"\n strokeDasharray={circumference}\n strokeDashoffset={circumference - progress}\n strokeLinecap=\"round\"\n transform={`rotate(-90 ${size / 2} ${size / 2})`}\n className=\"transition-all\"\n />\n </svg>\n );\n}\n\nexport function PageTOCPopoverContent(props: ComponentProps<'div'>) {\n return (\n <CollapsibleContent\n data-toc-popover-content=\"\"\n {...props}\n className={cn('flex flex-col px-2 max-h-[50vh]', props.className)}\n >\n {props.children}\n </CollapsibleContent>\n );\n}\n\nexport function PageLastUpdate({\n date: value,\n ...props\n}: Omit<ComponentProps<'p'>, 'children'> & { date: Date }) {\n const { text } = useI18n();\n const [date, setDate] = useState('');\n\n useEffect(() => {\n // to the timezone of client\n setDate(value.toLocaleDateString());\n }, [value]);\n\n return (\n <p {...props} className={cn('text-sm text-fd-muted-foreground', props.className)}>\n {text.lastUpdate} {date}\n </p>\n );\n}\n\ntype Item = Pick<PageTree.Item, 'name' | 'description' | 'url'>;\nexport interface FooterProps extends ComponentProps<'div'> {\n /**\n * Items including information for the next and previous page\n */\n items?: {\n previous?: Item;\n next?: Item;\n };\n}\n\nexport function PageFooter({ items, children, className, ...props }: FooterProps) {\n const footerList = useFooterItems();\n const pathname = usePathname();\n const { previous, next } = useMemo(() => {\n if (items) return items;\n\n const idx = footerList.findIndex((item) => isActive(item.url, pathname, false));\n\n if (idx === -1) return {};\n return {\n previous: footerList[idx - 1],\n next: footerList[idx + 1],\n };\n }, [footerList, items, pathname]);\n\n return (\n <>\n <div\n className={cn(\n '@container grid gap-4',\n previous && next ? 'grid-cols-2' : 'grid-cols-1',\n className,\n )}\n {...props}\n >\n {previous && <FooterItem item={previous} index={0} />}\n {next && <FooterItem item={next} index={1} />}\n </div>\n {children}\n </>\n );\n}\n\nfunction FooterItem({ item, index }: { item: Item; index: 0 | 1 }) {\n const { text } = useI18n();\n const Icon = index === 0 ? ChevronLeft : ChevronRight;\n\n return (\n <Link\n href={item.url}\n className={cn(\n 'flex flex-col gap-2 rounded-lg border p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground @max-lg:col-span-full',\n index === 1 && 'text-end',\n )}\n >\n <div\n className={cn(\n 'inline-flex items-center gap-1.5 font-medium',\n index === 1 && 'flex-row-reverse',\n )}\n >\n <Icon className=\"-mx-1 size-4 shrink-0 rtl:rotate-180\" />\n <p>{item.name}</p>\n </div>\n <p className=\"text-fd-muted-foreground truncate\">\n {item.description ?? (index === 0 ? text.previousPage : text.nextPage)}\n </p>\n </Link>\n );\n}\n\nexport type BreadcrumbProps = BreadcrumbOptions & ComponentProps<'div'>;\n\nexport function PageBreadcrumb({\n includeRoot,\n includeSeparator,\n includePage,\n ...props\n}: BreadcrumbProps) {\n const path = useTreePath();\n const { root } = useTreeContext();\n const items = useMemo(() => {\n return getBreadcrumbItemsFromPath(root, path, {\n includePage,\n includeSeparator,\n includeRoot,\n });\n }, [includePage, includeRoot, includeSeparator, path, root]);\n\n if (items.length === 0) return null;\n\n return (\n <div\n {...props}\n className={cn('flex items-center gap-1.5 text-sm text-fd-muted-foreground', props.className)}\n >\n {items.map((item, i) => {\n const className = cn('truncate', i === items.length - 1 && 'text-fd-primary font-medium');\n\n return (\n <Fragment key={i}>\n {i !== 0 && <ChevronRight className=\"size-3.5 shrink-0\" />}\n {item.url ? (\n <Link\n href={item.url}\n className={cn(className, 'transition-opacity hover:opacity-80')}\n >\n {item.name}\n </Link>\n ) : (\n <span className={className}>{item.name}</span>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { BreadcrumbProps, FooterProps, PageBreadcrumb, PageLastUpdate } from "./client.js";
2
+ import { ComponentProps, ReactNode } from "react";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import { AnchorProviderProps, TOCItemType } from "@hanzo/docs-core/toc";
5
+
6
+ //#region src/layouts/flux/page/index.d.ts
7
+ interface BreadcrumbOptions extends BreadcrumbProps {
8
+ enabled: boolean;
9
+ component: ReactNode;
10
+ }
11
+ interface FooterOptions extends FooterProps {
12
+ enabled: boolean;
13
+ component: ReactNode;
14
+ }
15
+ interface DocsPageProps {
16
+ toc?: TOCItemType[];
17
+ tableOfContent?: Partial<TableOfContentOptions>;
18
+ /**
19
+ * Extend the page to fill all available space
20
+ *
21
+ * @defaultValue false
22
+ */
23
+ full?: boolean;
24
+ /**
25
+ * Replace or disable breadcrumb
26
+ */
27
+ breadcrumb?: Partial<BreadcrumbOptions>;
28
+ /**
29
+ * Footer navigation, located under the page body.
30
+ *
31
+ * You can specify `footer.children` to add extra components under the footer.
32
+ */
33
+ footer?: Partial<FooterOptions>;
34
+ children?: ReactNode;
35
+ /**
36
+ * Apply class names to the `#nd-page` container.
37
+ */
38
+ className?: string;
39
+ }
40
+ interface TableOfContentOptions extends Pick<AnchorProviderProps, 'single'> {
41
+ /**
42
+ * Custom content in TOC container, before the main TOC
43
+ */
44
+ header?: ReactNode;
45
+ /**
46
+ * Custom content in TOC container, after the main TOC
47
+ */
48
+ footer?: ReactNode;
49
+ enabled: boolean;
50
+ component: ReactNode;
51
+ /**
52
+ * @defaultValue 'normal'
53
+ */
54
+ style?: 'normal' | 'clerk';
55
+ }
56
+ declare function DocsPage({
57
+ breadcrumb: {
58
+ enabled: breadcrumbEnabled,
59
+ component: breadcrumb,
60
+ ...breadcrumbProps
61
+ },
62
+ footer: {
63
+ enabled: footerEnabled,
64
+ component: footerReplace,
65
+ ...footerProps
66
+ },
67
+ full,
68
+ tableOfContent: {
69
+ enabled: tocPopoverEnabled,
70
+ component: tocPopover,
71
+ ...tocOptions
72
+ },
73
+ toc,
74
+ children,
75
+ className
76
+ }: DocsPageProps): ReactNode;
77
+ declare function EditOnGitHub(props: ComponentProps<'a'>): react_jsx_runtime0.JSX.Element;
78
+ /**
79
+ * Add typography styles
80
+ */
81
+ declare function DocsBody({
82
+ children,
83
+ className,
84
+ ...props
85
+ }: ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
86
+ declare function DocsDescription({
87
+ children,
88
+ className,
89
+ ...props
90
+ }: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element | null;
91
+ declare function DocsTitle({
92
+ children,
93
+ className,
94
+ ...props
95
+ }: ComponentProps<'h1'>): react_jsx_runtime0.JSX.Element;
96
+ //#endregion
97
+ export { DocsBody, DocsDescription, DocsPage, DocsPageProps, DocsTitle, EditOnGitHub, PageBreadcrumb, PageLastUpdate };
98
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/layouts/flux/page/index.tsx"],"mappings":";;;;;;UAmBU,iBAAA,SAA0B,eAAA;EAClC,OAAA;EACA,SAAA,EAAW,SAAA;AAAA;AAAA,UAGH,aAAA,SAAsB,WAAA;EAC9B,OAAA;EACA,SAAA,EAAW,SAAA;AAAA;AAAA,UAGI,aAAA;EACf,GAAA,GAAM,WAAA;EACN,cAAA,GAAiB,OAAA,CAAQ,qBAAA;EAVL;;AAAA;;;EAiBpB,IAAA;EAd8B;;;EAmB9B,UAAA,GAAa,OAAA,CAAQ,iBAAA;EAjBD;;AAGtB;;;EAqBE,MAAA,GAAS,OAAA,CAAQ,aAAA;EAEjB,QAAA,GAAW,SAAA;EArBM;;;EA0BjB,SAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,IAAA,CAAK,mBAAA;EARvB;;;EAYpB,MAAA,GAAS,SAAA;EAjCT;;;EAsCA,MAAA,GAAS,SAAA;EAET,OAAA;EACA,SAAA,EAAW,SAAA;EA7BU;;;EAkCrB,KAAA;AAAA;AAAA,iBAGc,QAAA,CAAA;EACd,UAAA;IAAc,OAAA,EAAS,iBAAA;IAA0B,SAAA,EAAW,UAAA;IAAA,GAAe;EAAA;EAC3E,MAAA;IAAU,OAAA,EAAS,aAAA;IAAe,SAAA,EAAW,aAAA;IAAA,GAAkB;EAAA;EAC/D,IAAA;EACA,cAAA;IAAkB,OAAA,EAAS,iBAAA;IAAmB,SAAA,EAAW,UAAA;IAAA,GAAe;EAAA;EACxE,GAAA;EACA,QAAA;EACA;AAAA,GACC,aAAA,GAAa,SAAA;AAAA,iBA8CA,YAAA,CAAa,KAAA,EAAO,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;AA5EtD;iBAwGe,QAAA,CAAA;EAAW,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQjE,eAAA,CAAA;EAAkB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAWtE,SAAA,CAAA;EAAY,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,76 @@
1
+ import { I18nLabel } from "../../../contexts/i18n.js";
2
+ import { cn } from "../../../utils/cn.js";
3
+ import { buttonVariants } from "../../../components/ui/button.js";
4
+ import { TOCProvider, TOCScrollArea } from "../../../components/toc/index.js";
5
+ import { TOCItems } from "../../../components/toc/default.js";
6
+ import { TOCItems as TOCItems$1 } from "../../../components/toc/clerk.js";
7
+ import { PageBreadcrumb, PageFooter, PageLastUpdate, PageTOCPopover, PageTOCPopoverContent, PageTOCPopoverTrigger } from "./client.js";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import { Edit } from "lucide-react";
10
+
11
+ //#region src/layouts/flux/page/index.tsx
12
+ function DocsPage({ breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {}, footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {}, full = false, tableOfContent: { enabled: tocPopoverEnabled, component: tocPopover, ...tocOptions } = {}, toc = [], children, className }) {
13
+ tocPopoverEnabled ??= toc.length > 0 || tocOptions.header !== void 0 || tocOptions.footer !== void 0;
14
+ let wrapper = (children) => children;
15
+ if (tocPopoverEnabled) wrapper = (children) => /* @__PURE__ */ jsx(TOCProvider, {
16
+ single: tocOptions.single,
17
+ toc,
18
+ children
19
+ });
20
+ return wrapper(/* @__PURE__ */ jsxs(Fragment, { children: [tocPopoverEnabled && (tocPopover ?? /* @__PURE__ */ jsxs(PageTOCPopover, { children: [/* @__PURE__ */ jsxs(PageTOCPopoverContent, { children: [
21
+ tocOptions.header,
22
+ /* @__PURE__ */ jsx(TOCScrollArea, { children: tocOptions.style === "clerk" ? /* @__PURE__ */ jsx(TOCItems$1, {}) : /* @__PURE__ */ jsx(TOCItems, {}) }),
23
+ tocOptions.footer
24
+ ] }), /* @__PURE__ */ jsx(PageTOCPopoverTrigger, {})] })), /* @__PURE__ */ jsxs("article", {
25
+ id: "nd-page",
26
+ "data-full": full,
27
+ className: cn("flex flex-col w-full max-w-[900px] mx-auto [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14", full ? "max-w-[1200px]" : "xl:layout:[--fd-toc-width:268px]", className),
28
+ children: [
29
+ breadcrumbEnabled && (breadcrumb ?? /* @__PURE__ */ jsx(PageBreadcrumb, { ...breadcrumbProps })),
30
+ children,
31
+ footerEnabled !== false && (footerReplace ?? /* @__PURE__ */ jsx(PageFooter, { ...footerProps }))
32
+ ]
33
+ })] }));
34
+ }
35
+ function EditOnGitHub(props) {
36
+ return /* @__PURE__ */ jsx("a", {
37
+ target: "_blank",
38
+ rel: "noreferrer noopener",
39
+ ...props,
40
+ className: cn(buttonVariants({
41
+ color: "secondary",
42
+ size: "sm",
43
+ className: "gap-1.5 not-prose"
44
+ }), props.className),
45
+ children: props.children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Edit, { className: "size-3.5" }), /* @__PURE__ */ jsx(I18nLabel, { label: "editOnGithub" })] })
46
+ });
47
+ }
48
+ /**
49
+ * Add typography styles
50
+ */
51
+ function DocsBody({ children, className, ...props }) {
52
+ return /* @__PURE__ */ jsx("div", {
53
+ ...props,
54
+ className: cn("prose flex-1", className),
55
+ children
56
+ });
57
+ }
58
+ function DocsDescription({ children, className, ...props }) {
59
+ if (children === void 0) return null;
60
+ return /* @__PURE__ */ jsx("p", {
61
+ ...props,
62
+ className: cn("mb-8 text-lg text-fd-muted-foreground", className),
63
+ children
64
+ });
65
+ }
66
+ function DocsTitle({ children, className, ...props }) {
67
+ return /* @__PURE__ */ jsx("h1", {
68
+ ...props,
69
+ className: cn("text-[1.75em] font-semibold", className),
70
+ children
71
+ });
72
+ }
73
+
74
+ //#endregion
75
+ export { DocsBody, DocsDescription, DocsPage, DocsTitle, EditOnGitHub, PageBreadcrumb, PageLastUpdate };
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["TocClerk.TOCItems","TocDefault.TOCItems"],"sources":["../../../../src/layouts/flux/page/index.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '@/utils/cn';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Edit } from 'lucide-react';\nimport { I18nLabel } from '@/contexts/i18n';\nimport {\n type BreadcrumbProps,\n type FooterProps,\n PageBreadcrumb,\n PageFooter,\n PageTOCPopover,\n PageTOCPopoverContent,\n PageTOCPopoverTrigger,\n} from './client';\nimport type { AnchorProviderProps, TOCItemType } from '@hanzo/docs-core/toc';\nimport * as TocDefault from '@/components/toc/default';\nimport * as TocClerk from '@/components/toc/clerk';\nimport { TOCProvider, TOCScrollArea } from '@/components/toc';\n\ninterface BreadcrumbOptions extends BreadcrumbProps {\n enabled: boolean;\n component: ReactNode;\n}\n\ninterface FooterOptions extends FooterProps {\n enabled: boolean;\n component: ReactNode;\n}\n\nexport interface DocsPageProps {\n toc?: TOCItemType[];\n tableOfContent?: Partial<TableOfContentOptions>;\n\n /**\n * Extend the page to fill all available space\n *\n * @defaultValue false\n */\n full?: boolean;\n\n /**\n * Replace or disable breadcrumb\n */\n breadcrumb?: Partial<BreadcrumbOptions>;\n\n /**\n * Footer navigation, located under the page body.\n *\n * You can specify `footer.children` to add extra components under the footer.\n */\n footer?: Partial<FooterOptions>;\n\n children?: ReactNode;\n\n /**\n * Apply class names to the `#nd-page` container.\n */\n className?: string;\n}\n\ninterface TableOfContentOptions extends Pick<AnchorProviderProps, 'single'> {\n /**\n * Custom content in TOC container, before the main TOC\n */\n header?: ReactNode;\n\n /**\n * Custom content in TOC container, after the main TOC\n */\n footer?: ReactNode;\n\n enabled: boolean;\n component: ReactNode;\n\n /**\n * @defaultValue 'normal'\n */\n style?: 'normal' | 'clerk';\n}\n\nexport function DocsPage({\n breadcrumb: { enabled: breadcrumbEnabled = true, component: breadcrumb, ...breadcrumbProps } = {},\n footer: { enabled: footerEnabled, component: footerReplace, ...footerProps } = {},\n full = false,\n tableOfContent: { enabled: tocPopoverEnabled, component: tocPopover, ...tocOptions } = {},\n toc = [],\n children,\n className,\n}: DocsPageProps) {\n tocPopoverEnabled ??=\n toc.length > 0 || tocOptions.header !== undefined || tocOptions.footer !== undefined;\n\n let wrapper = (children: ReactNode) => children;\n\n if (tocPopoverEnabled) {\n wrapper = (children) => (\n <TOCProvider single={tocOptions.single} toc={toc}>\n {children}\n </TOCProvider>\n );\n }\n\n return wrapper(\n <>\n {tocPopoverEnabled &&\n (tocPopover ?? (\n <PageTOCPopover>\n <PageTOCPopoverContent>\n {tocOptions.header}\n <TOCScrollArea>\n {tocOptions.style === 'clerk' ? <TocClerk.TOCItems /> : <TocDefault.TOCItems />}\n </TOCScrollArea>\n {tocOptions.footer}\n </PageTOCPopoverContent>\n <PageTOCPopoverTrigger />\n </PageTOCPopover>\n ))}\n <article\n id=\"nd-page\"\n data-full={full}\n className={cn(\n 'flex flex-col w-full max-w-[900px] mx-auto [grid-area:main] px-4 py-6 gap-4 md:px-6 md:pt-8 xl:px-8 xl:pt-14',\n full ? 'max-w-[1200px]' : 'xl:layout:[--fd-toc-width:268px]',\n className,\n )}\n >\n {breadcrumbEnabled && (breadcrumb ?? <PageBreadcrumb {...breadcrumbProps} />)}\n {children}\n {footerEnabled !== false && (footerReplace ?? <PageFooter {...footerProps} />)}\n </article>\n </>,\n );\n}\n\nexport function EditOnGitHub(props: ComponentProps<'a'>) {\n return (\n <a\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n {...props}\n className={cn(\n buttonVariants({\n color: 'secondary',\n size: 'sm',\n className: 'gap-1.5 not-prose',\n }),\n props.className,\n )}\n >\n {props.children ?? (\n <>\n <Edit className=\"size-3.5\" />\n <I18nLabel label=\"editOnGithub\" />\n </>\n )}\n </a>\n );\n}\n\n/**\n * Add typography styles\n */\nexport function DocsBody({ children, className, ...props }: ComponentProps<'div'>) {\n return (\n <div {...props} className={cn('prose flex-1', className)}>\n {children}\n </div>\n );\n}\n\nexport function DocsDescription({ children, className, ...props }: ComponentProps<'p'>) {\n // Don't render if no description provided\n if (children === undefined) return null;\n\n return (\n <p {...props} className={cn('mb-8 text-lg text-fd-muted-foreground', className)}>\n {children}\n </p>\n );\n}\n\nexport function DocsTitle({ children, className, ...props }: ComponentProps<'h1'>) {\n return (\n <h1 {...props} className={cn('text-[1.75em] font-semibold', className)}>\n {children}\n </h1>\n );\n}\n\nexport { PageLastUpdate, PageBreadcrumb } from './client';\n"],"mappings":";;;;;;;;;;;AAgFA,SAAgB,SAAS,EACvB,YAAY,EAAE,SAAS,oBAAoB,MAAM,WAAW,YAAY,GAAG,oBAAoB,EAAE,EACjG,QAAQ,EAAE,SAAS,eAAe,WAAW,eAAe,GAAG,gBAAgB,EAAE,EACjF,OAAO,OACP,gBAAgB,EAAE,SAAS,mBAAmB,WAAW,YAAY,GAAG,eAAe,EAAE,EACzF,MAAM,EAAE,EACR,UACA,aACgB;AAChB,uBACE,IAAI,SAAS,KAAK,WAAW,WAAW,UAAa,WAAW,WAAW;CAE7E,IAAI,WAAW,aAAwB;AAEvC,KAAI,kBACF,YAAW,aACT,oBAAC;EAAY,QAAQ,WAAW;EAAa;EAC1C;GACW;AAIlB,QAAO,QACL,4CACG,sBACE,cACC,qBAAC,6BACC,qBAAC;EACE,WAAW;EACZ,oBAAC,2BACE,WAAW,UAAU,UAAU,oBAACA,eAAoB,GAAG,oBAACC,aAAsB,GACjE;EACf,WAAW;KACU,EACxB,oBAAC,0BAAwB,IACV,GAErB,qBAAC;EACC,IAAG;EACH,aAAW;EACX,WAAW,GACT,gHACA,OAAO,mBAAmB,oCAC1B,UACD;;GAEA,sBAAsB,cAAc,oBAAC,kBAAe,GAAI,kBAAmB;GAC3E;GACA,kBAAkB,UAAU,iBAAiB,oBAAC,cAAW,GAAI,cAAe;;GACrE,IACT,CACJ;;AAGH,SAAgB,aAAa,OAA4B;AACvD,QACE,oBAAC;EACC,QAAO;EACP,KAAI;EACJ,GAAI;EACJ,WAAW,GACT,eAAe;GACb,OAAO;GACP,MAAM;GACN,WAAW;GACZ,CAAC,EACF,MAAM,UACP;YAEA,MAAM,YACL,4CACE,oBAAC,QAAK,WAAU,aAAa,EAC7B,oBAAC,aAAU,OAAM,iBAAiB,IACjC;GAEH;;;;;AAOR,SAAgB,SAAS,EAAE,UAAU,WAAW,GAAG,SAAgC;AACjF,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,gBAAgB,UAAU;EACrD;GACG;;AAIV,SAAgB,gBAAgB,EAAE,UAAU,WAAW,GAAG,SAA8B;AAEtF,KAAI,aAAa,OAAW,QAAO;AAEnC,QACE,oBAAC;EAAE,GAAI;EAAO,WAAW,GAAG,yCAAyC,UAAU;EAC5E;GACC;;AAIR,SAAgB,UAAU,EAAE,UAAU,WAAW,GAAG,SAA+B;AACjF,QACE,oBAAC;EAAG,GAAI;EAAO,WAAW,GAAG,+BAA+B,UAAU;EACnE;GACE"}
@@ -0,0 +1,59 @@
1
+ import { SidebarCollapseTrigger as SidebarCollapseTrigger$1, SidebarFolder as SidebarFolder$1, SidebarFolderContent as SidebarFolderContent$1, SidebarFolderLink as SidebarFolderLink$1, SidebarFolderTrigger as SidebarFolderTrigger$1, SidebarItem as SidebarItem$1, SidebarProvider, SidebarTrigger as SidebarTrigger$1, SidebarViewport as SidebarViewport$1 } from "../../components/sidebar/base.js";
2
+ import { LinkItemType } from "../../utils/link-item.js";
3
+ import { SidebarPageTreeComponents } from "../../components/sidebar/page-tree.js";
4
+ import "../shared/index.js";
5
+ import * as react from "react";
6
+ import { ComponentProps } from "react";
7
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
8
+
9
+ //#region src/layouts/flux/sidebar.d.ts
10
+ declare function Sidebar(props: ComponentProps<typeof SidebarProvider>): react_jsx_runtime0.JSX.Element;
11
+ declare function SidebarFolder(props: ComponentProps<typeof SidebarFolder$1>): react_jsx_runtime0.JSX.Element;
12
+ declare function SidebarCollapseTrigger(props: ComponentProps<typeof SidebarCollapseTrigger$1>): react_jsx_runtime0.JSX.Element;
13
+ declare function SidebarViewport(props: ComponentProps<typeof SidebarViewport$1>): react_jsx_runtime0.JSX.Element;
14
+ declare function SidebarTrigger(props: ComponentProps<typeof SidebarTrigger$1>): react_jsx_runtime0.JSX.Element;
15
+ declare function SidebarContent({
16
+ ref: refProp,
17
+ className,
18
+ children,
19
+ ...props
20
+ }: ComponentProps<'aside'>): react_jsx_runtime0.JSX.Element;
21
+ declare function SidebarSeparator({
22
+ className,
23
+ style,
24
+ children,
25
+ ...props
26
+ }: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element;
27
+ declare function SidebarItem({
28
+ className,
29
+ style,
30
+ children,
31
+ ...props
32
+ }: ComponentProps<typeof SidebarItem$1>): react_jsx_runtime0.JSX.Element;
33
+ declare function SidebarFolderTrigger({
34
+ className,
35
+ style,
36
+ ...props
37
+ }: ComponentProps<typeof SidebarFolderTrigger$1>): react_jsx_runtime0.JSX.Element;
38
+ declare function SidebarFolderLink({
39
+ className,
40
+ style,
41
+ ...props
42
+ }: ComponentProps<typeof SidebarFolderLink$1>): react_jsx_runtime0.JSX.Element;
43
+ declare function SidebarFolderContent({
44
+ className,
45
+ children,
46
+ ...props
47
+ }: ComponentProps<typeof SidebarFolderContent$1>): react_jsx_runtime0.JSX.Element;
48
+ declare const SidebarPageTree: (components: Partial<SidebarPageTreeComponents>) => react_jsx_runtime0.JSX.Element;
49
+ declare const SidebarLinkItem: ({
50
+ item,
51
+ ...props
52
+ }: react.HTMLAttributes<HTMLElement> & {
53
+ item: Exclude<LinkItemType, {
54
+ type: "icon";
55
+ }>;
56
+ }) => react_jsx_runtime0.JSX.Element;
57
+ //#endregion
58
+ export { Sidebar, SidebarCollapseTrigger, SidebarContent, SidebarFolder, SidebarFolderContent, SidebarFolderLink, SidebarFolderTrigger, SidebarItem, SidebarLinkItem, SidebarPageTree, SidebarSeparator, SidebarTrigger, SidebarViewport };
59
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../../src/layouts/flux/sidebar.tsx"],"mappings":";;;;;;;;;iBAoCgB,OAAA,CAAQ,KAAA,EAAO,cAAA,QAAsB,eAAA,IAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI1D,aAAA,CAAc,KAAA,EAAO,cAAA,QAAsB,eAAA,IAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9D,sBAAA,CAAuB,KAAA,EAAO,cAAA,QAAsB,wBAAA,IAA4B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIhF,eAAA,CAAgB,KAAA,EAAO,cAAA,QAAsB,iBAAA,IAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIlE,cAAA,CAAe,KAAA,EAAO,cAAA,QAAsB,gBAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIhE,cAAA,CAAA;EACd,GAAA,EAAK,OAAA;EACL,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,cAAA,YAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA0EV,gBAAA,CAAA;EAAmB,SAAA;EAAW,KAAA;EAAO,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiB9E,WAAA,CAAA;EACd,SAAA;EACA,KAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,aAAA,IAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiB1B,oBAAA,CAAA;EACd,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,sBAAA,IAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAuBnC,iBAAA,CAAA;EACd,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,mBAAA,IAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiBhC,oBAAA,CAAA;EACd,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,sBAAA,IAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAoCtC,eAAA,GAAe,UAAA,EAAA,OAAA,CAO1B,yBAAA,MAP0B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cASf,eAAA;EAAe,IAAA;EAAA,GAAA;AAAA,GAAA,KAAA,CAAA,cAAA,CAAA,WAAA;gBAAA,YAAA"}