@publish.os/nextjs 0.0.1-alpha.2 → 0.0.1-alpha.4

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 (396) hide show
  1. package/README.md +3 -9
  2. package/dist/cache/tags.cjs +3 -0
  3. package/dist/cache/tags.d.cts +1 -0
  4. package/dist/cache/tags.d.ts +1 -0
  5. package/dist/cache/tags.js +3 -0
  6. package/dist/config.cjs +78 -0
  7. package/dist/config.d.cts +101 -0
  8. package/dist/config.d.ts +101 -0
  9. package/dist/config.js +48 -0
  10. package/dist/index.cjs +1043 -124
  11. package/dist/index.d.cts +11 -7
  12. package/dist/index.d.ts +11 -7
  13. package/dist/index.js +1031 -111
  14. package/dist/kernel/components/blocks/AgentActions.cjs +425 -0
  15. package/dist/kernel/components/blocks/AgentActions.d.cts +52 -0
  16. package/dist/kernel/components/blocks/AgentActions.d.ts +52 -0
  17. package/dist/kernel/components/blocks/AgentActions.js +429 -0
  18. package/dist/kernel/components/blocks/animated-icon-swap.cjs +101 -0
  19. package/dist/kernel/components/blocks/animated-icon-swap.d.cts +16 -0
  20. package/dist/kernel/components/blocks/animated-icon-swap.d.ts +16 -0
  21. package/dist/kernel/components/blocks/animated-icon-swap.js +74 -0
  22. package/dist/kernel/components/blocks/color-palette.cjs +413 -0
  23. package/dist/kernel/components/blocks/color-palette.d.cts +7 -0
  24. package/dist/kernel/components/blocks/color-palette.d.ts +7 -0
  25. package/dist/kernel/components/blocks/color-palette.js +407 -0
  26. package/dist/kernel/components/blocks/design-system-preview.cjs +592 -0
  27. package/dist/kernel/components/blocks/design-system-preview.d.cts +29 -0
  28. package/dist/kernel/components/blocks/design-system-preview.d.ts +29 -0
  29. package/dist/kernel/components/blocks/design-system-preview.js +655 -0
  30. package/dist/kernel/components/blocks/link-playground.cjs +816 -0
  31. package/dist/kernel/components/blocks/link-playground.d.cts +5 -0
  32. package/dist/kernel/components/blocks/link-playground.d.ts +5 -0
  33. package/dist/kernel/components/blocks/link-playground.js +792 -0
  34. package/dist/kernel/components/blocks/logo-block.cjs +156 -0
  35. package/dist/kernel/components/blocks/logo-block.d.cts +21 -0
  36. package/dist/kernel/components/blocks/logo-block.d.ts +21 -0
  37. package/dist/kernel/components/blocks/logo-block.js +129 -0
  38. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.cjs +19 -38
  39. package/dist/kernel/components/blocks/nav-breadcrumb.d.cts +11 -0
  40. package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +11 -0
  41. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.js +22 -30
  42. package/dist/kernel/components/blocks/navbar.cjs +154 -0
  43. package/dist/kernel/components/blocks/navbar.d.cts +16 -0
  44. package/dist/kernel/components/blocks/navbar.d.ts +16 -0
  45. package/dist/kernel/components/blocks/navbar.js +122 -0
  46. package/dist/kernel/components/blocks/navigation-progress-playground.cjs +735 -0
  47. package/dist/kernel/components/blocks/navigation-progress-playground.d.cts +5 -0
  48. package/dist/kernel/components/blocks/navigation-progress-playground.d.ts +5 -0
  49. package/dist/kernel/components/blocks/navigation-progress-playground.js +722 -0
  50. package/dist/kernel/components/blocks/navigation-progress.cjs +270 -0
  51. package/dist/kernel/components/blocks/navigation-progress.d.cts +16 -0
  52. package/dist/kernel/components/blocks/navigation-progress.d.ts +16 -0
  53. package/dist/kernel/components/blocks/navigation-progress.js +249 -0
  54. package/dist/kernel/components/blocks/next-prev.cjs +142 -0
  55. package/dist/kernel/components/blocks/next-prev.d.cts +11 -0
  56. package/dist/kernel/components/blocks/next-prev.d.ts +11 -0
  57. package/dist/kernel/components/blocks/next-prev.js +105 -0
  58. package/dist/{components → kernel/components/blocks}/page-list.cjs +7 -16
  59. package/dist/{components → kernel/components/blocks}/page-list.d.cts +1 -1
  60. package/dist/{components → kernel/components/blocks}/page-list.d.ts +1 -1
  61. package/dist/{components → kernel/components/blocks}/page-list.js +6 -5
  62. package/dist/kernel/components/blocks/search.cjs +717 -0
  63. package/dist/kernel/components/blocks/search.d.cts +77 -0
  64. package/dist/kernel/components/blocks/search.d.ts +77 -0
  65. package/dist/kernel/components/blocks/search.js +697 -0
  66. package/dist/kernel/components/blocks/sidebar-node.cjs +309 -0
  67. package/dist/kernel/components/blocks/sidebar-node.d.cts +8 -0
  68. package/dist/kernel/components/blocks/sidebar-node.d.ts +8 -0
  69. package/dist/kernel/components/blocks/sidebar-node.js +272 -0
  70. package/dist/kernel/components/blocks/sidebar.cjs +317 -0
  71. package/dist/kernel/components/blocks/sidebar.d.cts +33 -0
  72. package/dist/kernel/components/blocks/sidebar.d.ts +33 -0
  73. package/dist/kernel/components/blocks/sidebar.js +302 -0
  74. package/dist/kernel/components/blocks/theme-toggle.cjs +31 -0
  75. package/dist/kernel/components/blocks/theme-toggle.d.cts +6 -0
  76. package/dist/kernel/components/blocks/theme-toggle.d.ts +6 -0
  77. package/dist/kernel/components/blocks/theme-toggle.js +7 -0
  78. package/dist/kernel/components/blocks/toc.cjs +356 -0
  79. package/dist/kernel/components/blocks/toc.d.cts +10 -0
  80. package/dist/kernel/components/blocks/toc.d.ts +10 -0
  81. package/dist/kernel/components/blocks/toc.js +330 -0
  82. package/dist/kernel/components/mdx/components/blockquote.cjs +66 -0
  83. package/dist/kernel/components/mdx/components/blockquote.d.cts +6 -0
  84. package/dist/kernel/components/mdx/components/blockquote.d.ts +6 -0
  85. package/dist/kernel/components/mdx/components/blockquote.js +39 -0
  86. package/dist/kernel/components/mdx/components/callout.cjs +137 -0
  87. package/dist/kernel/components/mdx/components/callout.d.cts +18 -0
  88. package/dist/kernel/components/mdx/components/callout.d.ts +18 -0
  89. package/dist/kernel/components/mdx/components/callout.js +109 -0
  90. package/dist/kernel/components/mdx/components/code-block.cjs +39 -0
  91. package/dist/kernel/components/mdx/components/code-block.d.cts +9 -0
  92. package/dist/kernel/components/mdx/components/code-block.d.ts +9 -0
  93. package/dist/kernel/components/mdx/components/code-block.js +14 -0
  94. package/dist/kernel/components/mdx/components/figure-caption.cjs +63 -0
  95. package/dist/kernel/components/mdx/components/figure-caption.d.cts +6 -0
  96. package/dist/kernel/components/mdx/components/figure-caption.d.ts +6 -0
  97. package/dist/kernel/components/mdx/components/figure-caption.js +36 -0
  98. package/dist/kernel/components/mdx/components/figure.cjs +78 -0
  99. package/dist/kernel/components/mdx/components/figure.d.cts +10 -0
  100. package/dist/kernel/components/mdx/components/figure.d.ts +10 -0
  101. package/dist/kernel/components/mdx/components/figure.js +53 -0
  102. package/dist/kernel/components/mdx/components/footnotes.cjs +66 -0
  103. package/dist/kernel/components/mdx/components/footnotes.d.cts +6 -0
  104. package/dist/kernel/components/mdx/components/footnotes.d.ts +6 -0
  105. package/dist/kernel/components/mdx/components/footnotes.js +39 -0
  106. package/dist/kernel/components/mdx/components/heading-copy-link.cjs +108 -0
  107. package/dist/kernel/components/mdx/components/heading-copy-link.d.cts +23 -0
  108. package/dist/kernel/components/mdx/components/heading-copy-link.d.ts +23 -0
  109. package/dist/kernel/components/mdx/components/heading-copy-link.js +81 -0
  110. package/dist/kernel/components/mdx/components/heading.cjs +166 -0
  111. package/dist/kernel/components/mdx/components/heading.d.cts +8 -0
  112. package/dist/kernel/components/mdx/components/heading.d.ts +8 -0
  113. package/dist/kernel/components/mdx/components/heading.js +144 -0
  114. package/dist/kernel/components/mdx/components/hr.cjs +34 -0
  115. package/dist/kernel/components/mdx/components/hr.d.cts +9 -0
  116. package/dist/kernel/components/mdx/components/hr.d.ts +9 -0
  117. package/dist/kernel/components/mdx/components/hr.js +9 -0
  118. package/dist/kernel/components/mdx/components/image-zoom.cjs +49 -0
  119. package/dist/kernel/components/mdx/components/image-zoom.d.cts +10 -0
  120. package/dist/kernel/components/mdx/components/image-zoom.d.ts +10 -0
  121. package/dist/kernel/components/mdx/components/image-zoom.js +15 -0
  122. package/dist/kernel/components/mdx/components/image.cjs +192 -0
  123. package/dist/kernel/components/mdx/components/image.d.cts +21 -0
  124. package/dist/kernel/components/mdx/components/image.d.ts +21 -0
  125. package/dist/kernel/components/mdx/components/image.js +157 -0
  126. package/dist/kernel/components/mdx/components/inline-code.cjs +66 -0
  127. package/dist/kernel/components/mdx/components/inline-code.d.cts +6 -0
  128. package/dist/kernel/components/mdx/components/inline-code.d.ts +6 -0
  129. package/dist/kernel/components/mdx/components/inline-code.js +39 -0
  130. package/dist/kernel/components/mdx/components/kbd.cjs +34 -0
  131. package/dist/kernel/components/mdx/components/kbd.d.cts +10 -0
  132. package/dist/kernel/components/mdx/components/kbd.d.ts +10 -0
  133. package/dist/kernel/components/mdx/components/kbd.js +9 -0
  134. package/dist/{components/providers.cjs → kernel/components/mdx/components/link.cjs} +20 -15
  135. package/dist/kernel/components/mdx/components/link.d.cts +11 -0
  136. package/dist/kernel/components/mdx/components/link.d.ts +11 -0
  137. package/dist/kernel/components/mdx/components/link.js +26 -0
  138. package/dist/kernel/components/mdx/components/paragraph.cjs +87 -0
  139. package/dist/kernel/components/mdx/components/paragraph.d.cts +5 -0
  140. package/dist/kernel/components/mdx/components/paragraph.d.ts +5 -0
  141. package/dist/kernel/components/mdx/components/paragraph.js +60 -0
  142. package/dist/kernel/components/mdx/components/pre.cjs +66 -0
  143. package/dist/kernel/components/mdx/components/pre.d.cts +6 -0
  144. package/dist/kernel/components/mdx/components/pre.d.ts +6 -0
  145. package/dist/kernel/components/mdx/components/pre.js +39 -0
  146. package/dist/kernel/components/mdx/components/strikethrough.cjs +63 -0
  147. package/dist/kernel/components/mdx/components/strikethrough.d.cts +6 -0
  148. package/dist/kernel/components/mdx/components/strikethrough.d.ts +6 -0
  149. package/dist/kernel/components/mdx/components/strikethrough.js +36 -0
  150. package/dist/kernel/components/mdx/components/table.cjs +59 -0
  151. package/dist/kernel/components/mdx/components/table.d.cts +10 -0
  152. package/dist/kernel/components/mdx/components/table.d.ts +10 -0
  153. package/dist/kernel/components/mdx/components/table.js +36 -0
  154. package/dist/kernel/components/mdx/components/task-list.cjs +88 -0
  155. package/dist/kernel/components/mdx/components/task-list.d.cts +8 -0
  156. package/dist/kernel/components/mdx/components/task-list.d.ts +8 -0
  157. package/dist/kernel/components/mdx/components/task-list.js +60 -0
  158. package/dist/kernel/components/mdx/components/video-player.cjs +173 -0
  159. package/dist/kernel/components/mdx/components/video-player.d.cts +18 -0
  160. package/dist/kernel/components/mdx/components/video-player.d.ts +18 -0
  161. package/dist/kernel/components/mdx/components/video-player.js +147 -0
  162. package/dist/kernel/components/mdx/components/video.cjs +185 -0
  163. package/dist/kernel/components/mdx/components/video.d.cts +15 -0
  164. package/dist/kernel/components/mdx/components/video.d.ts +15 -0
  165. package/dist/kernel/components/mdx/components/video.js +162 -0
  166. package/dist/kernel/components/mdx/error-boundary.cjs +62 -0
  167. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.cts +3 -8
  168. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.ts +3 -8
  169. package/dist/kernel/components/mdx/error-boundary.js +38 -0
  170. package/dist/{mdx → kernel/components/mdx}/error-fallback.cjs +8 -8
  171. package/dist/{mdx → kernel/components/mdx}/error-fallback.js +8 -8
  172. package/dist/kernel/components/mdx/mdx.cjs +141 -0
  173. package/dist/kernel/components/mdx/mdx.d.cts +22 -0
  174. package/dist/kernel/components/mdx/mdx.d.ts +22 -0
  175. package/dist/kernel/components/mdx/mdx.js +109 -0
  176. package/dist/kernel/components/mdx/rehype-heading-ids.cjs +113 -0
  177. package/dist/kernel/components/mdx/rehype-heading-ids.d.cts +10 -0
  178. package/dist/kernel/components/mdx/rehype-heading-ids.d.ts +10 -0
  179. package/dist/kernel/components/mdx/rehype-heading-ids.js +86 -0
  180. package/dist/kernel/components/mdx/types.cjs +18 -0
  181. package/dist/kernel/components/mdx/types.d.cts +18 -0
  182. package/dist/kernel/components/mdx/types.d.ts +18 -0
  183. package/dist/kernel/components/mdx/types.js +0 -0
  184. package/dist/kernel/components/ui/accordion.cjs +104 -0
  185. package/dist/kernel/components/ui/accordion.d.cts +16 -0
  186. package/dist/kernel/components/ui/accordion.d.ts +16 -0
  187. package/dist/kernel/components/ui/accordion.js +76 -0
  188. package/dist/kernel/components/ui/badge.cjs +75 -0
  189. package/dist/kernel/components/ui/badge.d.cts +12 -0
  190. package/dist/kernel/components/ui/badge.d.ts +12 -0
  191. package/dist/kernel/components/ui/badge.js +47 -0
  192. package/dist/kernel/components/ui/breadcrumb-trail.cjs +238 -0
  193. package/dist/kernel/components/ui/breadcrumb-trail.d.cts +13 -0
  194. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +13 -0
  195. package/dist/kernel/components/ui/breadcrumb-trail.js +225 -0
  196. package/dist/kernel/components/ui/breadcrumb.cjs +399 -0
  197. package/dist/kernel/components/ui/breadcrumb.d.cts +52 -0
  198. package/dist/kernel/components/ui/breadcrumb.d.ts +52 -0
  199. package/dist/kernel/components/ui/breadcrumb.js +365 -0
  200. package/dist/kernel/components/ui/button-group.cjs +144 -0
  201. package/dist/kernel/components/ui/button-group.d.cts +19 -0
  202. package/dist/kernel/components/ui/button-group.d.ts +19 -0
  203. package/dist/kernel/components/ui/button-group.js +116 -0
  204. package/dist/kernel/components/ui/button.cjs +147 -0
  205. package/dist/kernel/components/ui/button.d.cts +23 -0
  206. package/dist/kernel/components/ui/button.d.ts +23 -0
  207. package/dist/kernel/components/ui/button.js +121 -0
  208. package/dist/kernel/components/ui/card.cjs +133 -0
  209. package/dist/kernel/components/ui/card.d.cts +17 -0
  210. package/dist/kernel/components/ui/card.d.ts +17 -0
  211. package/dist/kernel/components/ui/card.js +101 -0
  212. package/dist/kernel/components/ui/dialog.cjs +149 -0
  213. package/dist/kernel/components/ui/dialog.d.cts +22 -0
  214. package/dist/kernel/components/ui/dialog.d.ts +22 -0
  215. package/dist/kernel/components/ui/dialog.js +118 -0
  216. package/dist/kernel/components/ui/drawer.cjs +163 -0
  217. package/dist/kernel/components/ui/drawer.d.cts +24 -0
  218. package/dist/kernel/components/ui/drawer.d.ts +24 -0
  219. package/dist/kernel/components/ui/drawer.js +131 -0
  220. package/dist/kernel/components/ui/input.cjs +96 -0
  221. package/dist/kernel/components/ui/input.d.cts +18 -0
  222. package/dist/kernel/components/ui/input.d.ts +18 -0
  223. package/dist/kernel/components/ui/input.js +70 -0
  224. package/dist/kernel/components/ui/kbd.cjs +105 -0
  225. package/dist/kernel/components/ui/kbd.d.cts +13 -0
  226. package/dist/kernel/components/ui/kbd.d.ts +13 -0
  227. package/dist/kernel/components/ui/kbd.js +77 -0
  228. package/dist/kernel/components/ui/link.cjs +253 -0
  229. package/dist/kernel/components/ui/link.d.cts +31 -0
  230. package/dist/kernel/components/ui/link.d.ts +31 -0
  231. package/dist/kernel/components/ui/link.js +217 -0
  232. package/dist/kernel/components/ui/menu.cjs +301 -0
  233. package/dist/kernel/components/ui/menu.d.cts +70 -0
  234. package/dist/kernel/components/ui/menu.d.ts +70 -0
  235. package/dist/kernel/components/ui/menu.js +256 -0
  236. package/dist/kernel/components/ui/meta-key.cjs +34 -0
  237. package/dist/kernel/components/ui/meta-key.d.cts +12 -0
  238. package/dist/kernel/components/ui/meta-key.d.ts +12 -0
  239. package/dist/kernel/components/ui/meta-key.js +9 -0
  240. package/dist/kernel/components/ui/navigation-menu.cjs +253 -0
  241. package/dist/kernel/components/ui/navigation-menu.d.cts +47 -0
  242. package/dist/kernel/components/ui/navigation-menu.d.ts +47 -0
  243. package/dist/kernel/components/ui/navigation-menu.js +216 -0
  244. package/dist/kernel/components/ui/popover.cjs +168 -0
  245. package/dist/kernel/components/ui/popover.d.cts +24 -0
  246. package/dist/kernel/components/ui/popover.d.ts +24 -0
  247. package/dist/kernel/components/ui/popover.js +136 -0
  248. package/dist/kernel/components/ui/progress.cjs +112 -0
  249. package/dist/kernel/components/ui/progress.d.cts +16 -0
  250. package/dist/kernel/components/ui/progress.d.ts +16 -0
  251. package/dist/kernel/components/ui/progress.js +84 -0
  252. package/dist/kernel/components/ui/scroll-area.cjs +413 -0
  253. package/dist/kernel/components/ui/scroll-area.d.cts +58 -0
  254. package/dist/kernel/components/ui/scroll-area.d.ts +58 -0
  255. package/dist/kernel/components/ui/scroll-area.js +390 -0
  256. package/dist/kernel/components/ui/select.cjs +244 -0
  257. package/dist/kernel/components/ui/select.d.cts +40 -0
  258. package/dist/kernel/components/ui/select.d.ts +40 -0
  259. package/dist/kernel/components/ui/select.js +205 -0
  260. package/dist/kernel/components/ui/separator.cjs +73 -0
  261. package/dist/kernel/components/ui/separator.d.cts +8 -0
  262. package/dist/kernel/components/ui/separator.d.ts +8 -0
  263. package/dist/kernel/components/ui/separator.js +48 -0
  264. package/dist/kernel/components/ui/table.cjs +131 -0
  265. package/dist/kernel/components/ui/table.d.cts +11 -0
  266. package/dist/kernel/components/ui/table.d.ts +11 -0
  267. package/dist/kernel/components/ui/table.js +99 -0
  268. package/dist/kernel/components/ui/tabs.cjs +450 -0
  269. package/dist/kernel/components/ui/tabs.d.cts +82 -0
  270. package/dist/kernel/components/ui/tabs.d.ts +82 -0
  271. package/dist/kernel/components/ui/tabs.js +409 -0
  272. package/dist/kernel/components/ui/text.cjs +184 -0
  273. package/dist/kernel/components/ui/text.d.cts +17 -0
  274. package/dist/kernel/components/ui/text.d.ts +17 -0
  275. package/dist/kernel/components/ui/text.js +156 -0
  276. package/dist/kernel/components/ui/theme-toggle.cjs +108 -0
  277. package/dist/kernel/components/ui/theme-toggle.d.cts +10 -0
  278. package/dist/kernel/components/ui/theme-toggle.d.ts +10 -0
  279. package/dist/kernel/components/ui/theme-toggle.js +84 -0
  280. package/dist/kernel/components/ui/toast.cjs +154 -0
  281. package/dist/kernel/components/ui/toast.d.cts +26 -0
  282. package/dist/kernel/components/ui/toast.d.ts +26 -0
  283. package/dist/kernel/components/ui/toast.js +120 -0
  284. package/dist/kernel/components/ui/tooltip.cjs +127 -0
  285. package/dist/kernel/components/ui/tooltip.d.cts +20 -0
  286. package/dist/kernel/components/ui/tooltip.d.ts +20 -0
  287. package/dist/kernel/components/ui/tooltip.js +97 -0
  288. package/dist/kernel/defaults.registry.cjs +541 -0
  289. package/dist/kernel/defaults.registry.d.cts +469 -0
  290. package/dist/kernel/defaults.registry.d.ts +469 -0
  291. package/dist/kernel/defaults.registry.js +516 -0
  292. package/dist/kernel/routes/agent/markdown.cjs +202 -0
  293. package/dist/kernel/routes/agent/markdown.d.cts +58 -0
  294. package/dist/kernel/routes/agent/markdown.d.ts +58 -0
  295. package/dist/kernel/routes/agent/markdown.js +174 -0
  296. package/dist/{layouts → kernel/routes/layouts}/group.cjs +39 -15
  297. package/dist/kernel/routes/layouts/group.d.cts +20 -0
  298. package/dist/kernel/routes/layouts/group.d.ts +20 -0
  299. package/dist/{layouts → kernel/routes/layouts}/group.js +39 -15
  300. package/dist/kernel/routes/metadata/feed.cjs +293 -0
  301. package/dist/kernel/routes/metadata/feed.d.cts +20 -0
  302. package/dist/kernel/routes/metadata/feed.d.ts +20 -0
  303. package/dist/kernel/routes/metadata/feed.js +265 -0
  304. package/dist/kernel/routes/metadata/llms.cjs +239 -0
  305. package/dist/kernel/routes/metadata/llms.d.cts +26 -0
  306. package/dist/kernel/routes/metadata/llms.d.ts +26 -0
  307. package/dist/kernel/routes/metadata/llms.js +211 -0
  308. package/dist/kernel/routes/metadata/og-image.cjs +630 -0
  309. package/dist/kernel/routes/metadata/og-image.d.cts +62 -0
  310. package/dist/kernel/routes/metadata/og-image.d.ts +62 -0
  311. package/dist/kernel/routes/metadata/og-image.js +604 -0
  312. package/dist/{routes → kernel/routes/metadata}/robots.cjs +59 -5
  313. package/dist/{routes → kernel/routes/metadata}/robots.d.cts +2 -1
  314. package/dist/{routes → kernel/routes/metadata}/robots.d.ts +2 -1
  315. package/dist/kernel/routes/metadata/robots.js +123 -0
  316. package/dist/kernel/routes/metadata/sitemap.cjs +192 -0
  317. package/dist/kernel/routes/metadata/sitemap.d.cts +8 -0
  318. package/dist/kernel/routes/metadata/sitemap.d.ts +8 -0
  319. package/dist/kernel/routes/metadata/sitemap.js +166 -0
  320. package/dist/{pages → kernel/routes/pages}/group.cjs +107 -6
  321. package/dist/{pages → kernel/routes/pages}/group.d.cts +4 -2
  322. package/dist/{pages → kernel/routes/pages}/group.d.ts +4 -2
  323. package/dist/{pages → kernel/routes/pages}/group.js +107 -6
  324. package/dist/kernel/routes/pages/leaf.cjs +421 -0
  325. package/dist/kernel/routes/pages/leaf.d.cts +36 -0
  326. package/dist/kernel/routes/pages/leaf.d.ts +36 -0
  327. package/dist/kernel/routes/pages/leaf.js +397 -0
  328. package/dist/{pages → kernel/routes/pages}/root.cjs +108 -6
  329. package/dist/{pages → kernel/routes/pages}/root.d.cts +4 -2
  330. package/dist/{pages → kernel/routes/pages}/root.d.ts +4 -2
  331. package/dist/kernel/routes/pages/root.js +203 -0
  332. package/dist/keyboard-shortcuts.cjs +345 -0
  333. package/dist/keyboard-shortcuts.d.cts +34 -0
  334. package/dist/keyboard-shortcuts.d.ts +34 -0
  335. package/dist/keyboard-shortcuts.js +326 -0
  336. package/dist/resolvers/manifest-resolver.cjs +7 -3
  337. package/dist/resolvers/manifest-resolver.d.cts +2 -2
  338. package/dist/resolvers/manifest-resolver.d.ts +2 -2
  339. package/dist/resolvers/manifest-resolver.js +7 -3
  340. package/dist/search.cjs +411 -0
  341. package/dist/search.d.cts +20 -0
  342. package/dist/search.d.ts +20 -0
  343. package/dist/search.js +393 -0
  344. package/dist/types.cjs +12 -0
  345. package/dist/types.d.cts +132 -7
  346. package/dist/types.d.ts +132 -7
  347. package/dist/types.js +5 -0
  348. package/dist/utils/heading-ids.cjs +119 -0
  349. package/dist/utils/heading-ids.d.cts +15 -0
  350. package/dist/utils/heading-ids.d.ts +15 -0
  351. package/dist/utils/heading-ids.js +90 -0
  352. package/package.json +59 -38
  353. package/release/package.json +23 -0
  354. package/release/pnpm-lock.yaml +1192 -0
  355. package/release/release.json +39 -0
  356. package/dist/components/color-palette.cjs +0 -408
  357. package/dist/components/color-palette.d.cts +0 -5
  358. package/dist/components/color-palette.d.ts +0 -5
  359. package/dist/components/color-palette.js +0 -388
  360. package/dist/components/nav-breadcrumb.d.cts +0 -9
  361. package/dist/components/nav-breadcrumb.d.ts +0 -9
  362. package/dist/components/providers.d.cts +0 -8
  363. package/dist/components/providers.d.ts +0 -8
  364. package/dist/components/providers.js +0 -20
  365. package/dist/components/site-header.cjs +0 -302
  366. package/dist/components/site-header.d.cts +0 -12
  367. package/dist/components/site-header.d.ts +0 -12
  368. package/dist/components/site-header.js +0 -268
  369. package/dist/components/theme-toggle.cjs +0 -147
  370. package/dist/components/theme-toggle.d.cts +0 -5
  371. package/dist/components/theme-toggle.d.ts +0 -5
  372. package/dist/components/theme-toggle.js +0 -123
  373. package/dist/layouts/group.d.cts +0 -15
  374. package/dist/layouts/group.d.ts +0 -15
  375. package/dist/mdx/error-boundary.cjs +0 -94
  376. package/dist/mdx/error-boundary.js +0 -70
  377. package/dist/mdx/mdx.cjs +0 -182
  378. package/dist/mdx/mdx.d.cts +0 -10
  379. package/dist/mdx/mdx.d.ts +0 -10
  380. package/dist/mdx/mdx.js +0 -147
  381. package/dist/pages/leaf.cjs +0 -203
  382. package/dist/pages/leaf.d.cts +0 -23
  383. package/dist/pages/leaf.d.ts +0 -23
  384. package/dist/pages/leaf.js +0 -176
  385. package/dist/pages/root.js +0 -101
  386. package/dist/routes/llms.cjs +0 -101
  387. package/dist/routes/llms.d.cts +0 -7
  388. package/dist/routes/llms.d.ts +0 -7
  389. package/dist/routes/llms.js +0 -76
  390. package/dist/routes/robots.js +0 -69
  391. package/dist/routes/sitemap.cjs +0 -108
  392. package/dist/routes/sitemap.d.cts +0 -5
  393. package/dist/routes/sitemap.d.ts +0 -5
  394. package/dist/routes/sitemap.js +0 -83
  395. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.cts +0 -0
  396. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.ts +0 -0
@@ -1,302 +0,0 @@
1
- "use strict";
2
- "use client";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
-
31
- // src/components/site-header.tsx
32
- var site_header_exports = {};
33
- __export(site_header_exports, {
34
- SiteHeader: () => SiteHeader
35
- });
36
- module.exports = __toCommonJS(site_header_exports);
37
- var import_link2 = __toESM(require("next/link"), 1);
38
- var import_navigation2 = require("next/navigation");
39
-
40
- // src/components/nav-breadcrumb.tsx
41
- var import_link = __toESM(require("next/link"), 1);
42
- var import_navigation = require("next/navigation");
43
- var import_jsx_runtime = require("react/jsx-runtime");
44
- function titleFor(node) {
45
- return node.title;
46
- }
47
- function pathFor(node) {
48
- if (node.type === "page") return node.path;
49
- if (node.type === "link") return node.href;
50
- if (node.type === "section") return node.path;
51
- return void 0;
52
- }
53
- function rankFor(node) {
54
- if (node.type === "page" || node.type === "section") return 2;
55
- if (node.type === "folder") return 1;
56
- return 0;
57
- }
58
- function findCrumbs(nodes, pathname, parents = []) {
59
- const matches = [];
60
- for (const node of nodes) {
61
- const path = pathFor(node);
62
- const nextParents = path ? [...parents, { title: titleFor(node), path }] : parents;
63
- if (path === pathname) {
64
- matches.push({
65
- crumbs: nextParents.map((crumb, index) => ({
66
- ...crumb,
67
- current: index === nextParents.length - 1
68
- })),
69
- pathLength: path.length,
70
- rank: rankFor(node)
71
- });
72
- }
73
- if (node.type === "section" || node.type === "folder") {
74
- const childMatch = findCrumbs(node.children, pathname, nextParents);
75
- if (childMatch) matches.push(childMatch);
76
- }
77
- }
78
- return matches.sort(
79
- (a, b) => b.rank - a.rank || b.pathLength - a.pathLength || b.crumbs.length - a.crumbs.length
80
- )[0] ?? null;
81
- }
82
- function groupFallback(tree, pathname) {
83
- const groups = tree.map((group) => ({ group, path: pathFor(group) })).filter(
84
- (entry) => typeof entry.path === "string"
85
- ).sort((a, b) => b.path.length - a.path.length);
86
- for (const { group, path } of groups) {
87
- if (pathname.startsWith(`${path}/`)) {
88
- return [{ title: titleFor(group), path }];
89
- }
90
- }
91
- return [];
92
- }
93
- function buildCrumbs(site, tree, pathname) {
94
- const root = {
95
- title: site.title,
96
- path: "/",
97
- current: pathname === "/"
98
- };
99
- if (pathname === "/") return [root];
100
- const treeMatch = findCrumbs(tree, pathname);
101
- if (treeMatch) return [root, ...treeMatch.crumbs];
102
- return [
103
- root,
104
- ...groupFallback(tree, pathname).map((crumb) => ({
105
- ...crumb,
106
- current: false
107
- }))
108
- ];
109
- }
110
- function NavBreadcrumb({
111
- site,
112
- tree
113
- }) {
114
- const pathname = (0, import_navigation.usePathname)() || "/";
115
- const crumbs = buildCrumbs(site, tree, pathname);
116
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
117
- "nav",
118
- {
119
- "aria-label": "Breadcrumb",
120
- className: "flex min-w-0 items-center gap-1.5 text-sm",
121
- children: crumbs.map((crumb, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
122
- index > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": "true", className: "text-stroke-3", children: "/" }),
123
- crumb.current ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
124
- "span",
125
- {
126
- "aria-current": "page",
127
- className: "truncate font-medium text-foreground-1",
128
- children: crumb.title
129
- }
130
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
131
- import_link.default,
132
- {
133
- className: "truncate text-foreground-3 no-underline hover:text-accent-1",
134
- href: crumb.path,
135
- children: crumb.title
136
- }
137
- )
138
- ] }, crumb.path))
139
- }
140
- );
141
- }
142
-
143
- // src/components/theme-toggle.tsx
144
- var import_next_themes = require("next-themes");
145
- var import_react = require("react");
146
- var import_jsx_runtime2 = require("react/jsx-runtime");
147
- var themeOrder = ["system", "light", "dark"];
148
- function SunIcon() {
149
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
150
- "svg",
151
- {
152
- "aria-hidden": "true",
153
- fill: "none",
154
- height: "16",
155
- viewBox: "0 0 16 16",
156
- width: "16",
157
- children: [
158
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "8", cy: "8", r: "3", stroke: "currentColor", strokeWidth: "1.5" }),
159
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
160
- "path",
161
- {
162
- d: "M8 1.5v1.2M8 13.3v1.2M1.5 8h1.2M13.3 8h1.2M3.4 3.4l.9.9M11.7 11.7l.9.9M12.6 3.4l-.9.9M4.3 11.7l-.9.9",
163
- stroke: "currentColor",
164
- strokeLinecap: "round",
165
- strokeWidth: "1.5"
166
- }
167
- )
168
- ]
169
- }
170
- );
171
- }
172
- function MoonIcon() {
173
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
174
- "svg",
175
- {
176
- "aria-hidden": "true",
177
- fill: "none",
178
- height: "16",
179
- viewBox: "0 0 16 16",
180
- width: "16",
181
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
182
- "path",
183
- {
184
- d: "M13.2 9.6A5.5 5.5 0 0 1 6.4 2.8a5.7 5.7 0 1 0 6.8 6.8Z",
185
- stroke: "currentColor",
186
- strokeLinejoin: "round",
187
- strokeWidth: "1.5"
188
- }
189
- )
190
- }
191
- );
192
- }
193
- function SystemIcon() {
194
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
195
- "svg",
196
- {
197
- "aria-hidden": "true",
198
- fill: "none",
199
- height: "16",
200
- viewBox: "0 0 16 16",
201
- width: "16",
202
- children: [
203
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
204
- "rect",
205
- {
206
- height: "8.5",
207
- rx: "1.5",
208
- stroke: "currentColor",
209
- strokeWidth: "1.5",
210
- width: "12",
211
- x: "2",
212
- y: "2.5"
213
- }
214
- ),
215
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
216
- "path",
217
- {
218
- d: "M6.5 13.5h3M8 11v2.5",
219
- stroke: "currentColor",
220
- strokeLinecap: "round",
221
- strokeWidth: "1.5"
222
- }
223
- )
224
- ]
225
- }
226
- );
227
- }
228
- function Icon({ theme }) {
229
- if (theme === "light") return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SunIcon, {});
230
- if (theme === "dark") return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MoonIcon, {});
231
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SystemIcon, {});
232
- }
233
- function normalizeTheme(theme) {
234
- if (theme === "light" || theme === "dark") return theme;
235
- return "system";
236
- }
237
- function ThemeToggle() {
238
- const { theme, setTheme } = (0, import_next_themes.useTheme)();
239
- const [mounted, setMounted] = (0, import_react.useState)(false);
240
- const activeTheme = normalizeTheme(theme);
241
- const nextTheme = (0, import_react.useMemo)(() => {
242
- const index = themeOrder.indexOf(activeTheme);
243
- return themeOrder[(index + 1) % themeOrder.length] ?? "system";
244
- }, [activeTheme]);
245
- (0, import_react.useEffect)(() => {
246
- setMounted(true);
247
- }, []);
248
- const label = mounted ? `Switch to ${nextTheme} theme` : "Theme preference";
249
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
250
- "button",
251
- {
252
- "aria-label": label,
253
- className: "inline-flex size-8 shrink-0 items-center justify-center rounded-button border border-stroke-2 bg-surface-2 text-foreground-2 transition-colors hover:border-stroke-1 hover:bg-surface-hover hover:text-foreground-1",
254
- onClick: () => setTheme(nextTheme),
255
- title: label,
256
- type: "button",
257
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { theme: mounted ? activeTheme : "system" })
258
- }
259
- );
260
- }
261
-
262
- // src/components/site-header.tsx
263
- var import_jsx_runtime3 = require("react/jsx-runtime");
264
- function hasPath(node) {
265
- return "path" in node && typeof node.path === "string";
266
- }
267
- function SiteHeader({
268
- site,
269
- siteTitle,
270
- tree,
271
- currentPath
272
- }) {
273
- const headerSite = site ?? { title: siteTitle ?? "Site" };
274
- const livePathname = (0, import_navigation2.usePathname)() || "/";
275
- const pathname = currentPath ?? livePathname;
276
- const groups = tree.filter(hasPath);
277
- const activeGroupPath = groups.map((group) => group.path).filter((path) => pathname === path || pathname.startsWith(`${path}/`)).sort((a, b) => b.length - a.length)[0];
278
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("header", { className: "border-b border-stroke-3 bg-surface-2 backdrop-blur", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "mx-auto flex max-w-6xl flex-col gap-3 px-6 py-3 md:flex-row md:items-center md:justify-between lg:px-10", children: [
279
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(NavBreadcrumb, { site: headerSite, tree }) }),
280
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "flex shrink-0 items-center gap-4", children: [
281
- groups.length >= 2 && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("nav", { "aria-label": "Groups", className: "flex flex-wrap gap-3 text-sm", children: groups.map((group) => {
282
- const path = group.path;
283
- const active = path === activeGroupPath;
284
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
285
- import_link2.default,
286
- {
287
- "aria-current": active ? "page" : void 0,
288
- className: active ? "font-medium text-accent-1 underline underline-offset-4" : "text-foreground-2 underline-offset-4 hover:text-accent-1 hover:underline",
289
- href: path,
290
- children: group.title
291
- },
292
- group.id
293
- );
294
- }) }),
295
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ThemeToggle, {})
296
- ] })
297
- ] }) });
298
- }
299
- // Annotate the CommonJS export names for ESM import in node:
300
- 0 && (module.exports = {
301
- SiteHeader
302
- });
@@ -1,12 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { SiteData, TreeNode } from '../types.cjs';
3
-
4
- type SiteHeaderProps = {
5
- site?: SiteData;
6
- siteTitle?: string;
7
- tree: TreeNode[];
8
- currentPath?: string;
9
- };
10
- declare function SiteHeader({ site, siteTitle, tree, currentPath, }: SiteHeaderProps): react_jsx_runtime.JSX.Element;
11
-
12
- export { SiteHeader };
@@ -1,12 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { SiteData, TreeNode } from '../types.js';
3
-
4
- type SiteHeaderProps = {
5
- site?: SiteData;
6
- siteTitle?: string;
7
- tree: TreeNode[];
8
- currentPath?: string;
9
- };
10
- declare function SiteHeader({ site, siteTitle, tree, currentPath, }: SiteHeaderProps): react_jsx_runtime.JSX.Element;
11
-
12
- export { SiteHeader };
@@ -1,268 +0,0 @@
1
- "use client";
2
-
3
- // src/components/site-header.tsx
4
- import Link2 from "next/link";
5
- import { usePathname as usePathname2 } from "next/navigation";
6
-
7
- // src/components/nav-breadcrumb.tsx
8
- import Link from "next/link";
9
- import { usePathname } from "next/navigation";
10
- import { jsx, jsxs } from "react/jsx-runtime";
11
- function titleFor(node) {
12
- return node.title;
13
- }
14
- function pathFor(node) {
15
- if (node.type === "page") return node.path;
16
- if (node.type === "link") return node.href;
17
- if (node.type === "section") return node.path;
18
- return void 0;
19
- }
20
- function rankFor(node) {
21
- if (node.type === "page" || node.type === "section") return 2;
22
- if (node.type === "folder") return 1;
23
- return 0;
24
- }
25
- function findCrumbs(nodes, pathname, parents = []) {
26
- const matches = [];
27
- for (const node of nodes) {
28
- const path = pathFor(node);
29
- const nextParents = path ? [...parents, { title: titleFor(node), path }] : parents;
30
- if (path === pathname) {
31
- matches.push({
32
- crumbs: nextParents.map((crumb, index) => ({
33
- ...crumb,
34
- current: index === nextParents.length - 1
35
- })),
36
- pathLength: path.length,
37
- rank: rankFor(node)
38
- });
39
- }
40
- if (node.type === "section" || node.type === "folder") {
41
- const childMatch = findCrumbs(node.children, pathname, nextParents);
42
- if (childMatch) matches.push(childMatch);
43
- }
44
- }
45
- return matches.sort(
46
- (a, b) => b.rank - a.rank || b.pathLength - a.pathLength || b.crumbs.length - a.crumbs.length
47
- )[0] ?? null;
48
- }
49
- function groupFallback(tree, pathname) {
50
- const groups = tree.map((group) => ({ group, path: pathFor(group) })).filter(
51
- (entry) => typeof entry.path === "string"
52
- ).sort((a, b) => b.path.length - a.path.length);
53
- for (const { group, path } of groups) {
54
- if (pathname.startsWith(`${path}/`)) {
55
- return [{ title: titleFor(group), path }];
56
- }
57
- }
58
- return [];
59
- }
60
- function buildCrumbs(site, tree, pathname) {
61
- const root = {
62
- title: site.title,
63
- path: "/",
64
- current: pathname === "/"
65
- };
66
- if (pathname === "/") return [root];
67
- const treeMatch = findCrumbs(tree, pathname);
68
- if (treeMatch) return [root, ...treeMatch.crumbs];
69
- return [
70
- root,
71
- ...groupFallback(tree, pathname).map((crumb) => ({
72
- ...crumb,
73
- current: false
74
- }))
75
- ];
76
- }
77
- function NavBreadcrumb({
78
- site,
79
- tree
80
- }) {
81
- const pathname = usePathname() || "/";
82
- const crumbs = buildCrumbs(site, tree, pathname);
83
- return /* @__PURE__ */ jsx(
84
- "nav",
85
- {
86
- "aria-label": "Breadcrumb",
87
- className: "flex min-w-0 items-center gap-1.5 text-sm",
88
- children: crumbs.map((crumb, index) => /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-1.5", children: [
89
- index > 0 && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "text-stroke-3", children: "/" }),
90
- crumb.current ? /* @__PURE__ */ jsx(
91
- "span",
92
- {
93
- "aria-current": "page",
94
- className: "truncate font-medium text-foreground-1",
95
- children: crumb.title
96
- }
97
- ) : /* @__PURE__ */ jsx(
98
- Link,
99
- {
100
- className: "truncate text-foreground-3 no-underline hover:text-accent-1",
101
- href: crumb.path,
102
- children: crumb.title
103
- }
104
- )
105
- ] }, crumb.path))
106
- }
107
- );
108
- }
109
-
110
- // src/components/theme-toggle.tsx
111
- import { useTheme } from "next-themes";
112
- import { useEffect, useMemo, useState } from "react";
113
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
114
- var themeOrder = ["system", "light", "dark"];
115
- function SunIcon() {
116
- return /* @__PURE__ */ jsxs2(
117
- "svg",
118
- {
119
- "aria-hidden": "true",
120
- fill: "none",
121
- height: "16",
122
- viewBox: "0 0 16 16",
123
- width: "16",
124
- children: [
125
- /* @__PURE__ */ jsx2("circle", { cx: "8", cy: "8", r: "3", stroke: "currentColor", strokeWidth: "1.5" }),
126
- /* @__PURE__ */ jsx2(
127
- "path",
128
- {
129
- d: "M8 1.5v1.2M8 13.3v1.2M1.5 8h1.2M13.3 8h1.2M3.4 3.4l.9.9M11.7 11.7l.9.9M12.6 3.4l-.9.9M4.3 11.7l-.9.9",
130
- stroke: "currentColor",
131
- strokeLinecap: "round",
132
- strokeWidth: "1.5"
133
- }
134
- )
135
- ]
136
- }
137
- );
138
- }
139
- function MoonIcon() {
140
- return /* @__PURE__ */ jsx2(
141
- "svg",
142
- {
143
- "aria-hidden": "true",
144
- fill: "none",
145
- height: "16",
146
- viewBox: "0 0 16 16",
147
- width: "16",
148
- children: /* @__PURE__ */ jsx2(
149
- "path",
150
- {
151
- d: "M13.2 9.6A5.5 5.5 0 0 1 6.4 2.8a5.7 5.7 0 1 0 6.8 6.8Z",
152
- stroke: "currentColor",
153
- strokeLinejoin: "round",
154
- strokeWidth: "1.5"
155
- }
156
- )
157
- }
158
- );
159
- }
160
- function SystemIcon() {
161
- return /* @__PURE__ */ jsxs2(
162
- "svg",
163
- {
164
- "aria-hidden": "true",
165
- fill: "none",
166
- height: "16",
167
- viewBox: "0 0 16 16",
168
- width: "16",
169
- children: [
170
- /* @__PURE__ */ jsx2(
171
- "rect",
172
- {
173
- height: "8.5",
174
- rx: "1.5",
175
- stroke: "currentColor",
176
- strokeWidth: "1.5",
177
- width: "12",
178
- x: "2",
179
- y: "2.5"
180
- }
181
- ),
182
- /* @__PURE__ */ jsx2(
183
- "path",
184
- {
185
- d: "M6.5 13.5h3M8 11v2.5",
186
- stroke: "currentColor",
187
- strokeLinecap: "round",
188
- strokeWidth: "1.5"
189
- }
190
- )
191
- ]
192
- }
193
- );
194
- }
195
- function Icon({ theme }) {
196
- if (theme === "light") return /* @__PURE__ */ jsx2(SunIcon, {});
197
- if (theme === "dark") return /* @__PURE__ */ jsx2(MoonIcon, {});
198
- return /* @__PURE__ */ jsx2(SystemIcon, {});
199
- }
200
- function normalizeTheme(theme) {
201
- if (theme === "light" || theme === "dark") return theme;
202
- return "system";
203
- }
204
- function ThemeToggle() {
205
- const { theme, setTheme } = useTheme();
206
- const [mounted, setMounted] = useState(false);
207
- const activeTheme = normalizeTheme(theme);
208
- const nextTheme = useMemo(() => {
209
- const index = themeOrder.indexOf(activeTheme);
210
- return themeOrder[(index + 1) % themeOrder.length] ?? "system";
211
- }, [activeTheme]);
212
- useEffect(() => {
213
- setMounted(true);
214
- }, []);
215
- const label = mounted ? `Switch to ${nextTheme} theme` : "Theme preference";
216
- return /* @__PURE__ */ jsx2(
217
- "button",
218
- {
219
- "aria-label": label,
220
- className: "inline-flex size-8 shrink-0 items-center justify-center rounded-button border border-stroke-2 bg-surface-2 text-foreground-2 transition-colors hover:border-stroke-1 hover:bg-surface-hover hover:text-foreground-1",
221
- onClick: () => setTheme(nextTheme),
222
- title: label,
223
- type: "button",
224
- children: /* @__PURE__ */ jsx2(Icon, { theme: mounted ? activeTheme : "system" })
225
- }
226
- );
227
- }
228
-
229
- // src/components/site-header.tsx
230
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
231
- function hasPath(node) {
232
- return "path" in node && typeof node.path === "string";
233
- }
234
- function SiteHeader({
235
- site,
236
- siteTitle,
237
- tree,
238
- currentPath
239
- }) {
240
- const headerSite = site ?? { title: siteTitle ?? "Site" };
241
- const livePathname = usePathname2() || "/";
242
- const pathname = currentPath ?? livePathname;
243
- const groups = tree.filter(hasPath);
244
- const activeGroupPath = groups.map((group) => group.path).filter((path) => pathname === path || pathname.startsWith(`${path}/`)).sort((a, b) => b.length - a.length)[0];
245
- return /* @__PURE__ */ jsx3("header", { className: "border-b border-stroke-3 bg-surface-2 backdrop-blur", children: /* @__PURE__ */ jsxs3("div", { className: "mx-auto flex max-w-6xl flex-col gap-3 px-6 py-3 md:flex-row md:items-center md:justify-between lg:px-10", children: [
246
- /* @__PURE__ */ jsx3("div", { className: "min-w-0", children: /* @__PURE__ */ jsx3(NavBreadcrumb, { site: headerSite, tree }) }),
247
- /* @__PURE__ */ jsxs3("div", { className: "flex shrink-0 items-center gap-4", children: [
248
- groups.length >= 2 && /* @__PURE__ */ jsx3("nav", { "aria-label": "Groups", className: "flex flex-wrap gap-3 text-sm", children: groups.map((group) => {
249
- const path = group.path;
250
- const active = path === activeGroupPath;
251
- return /* @__PURE__ */ jsx3(
252
- Link2,
253
- {
254
- "aria-current": active ? "page" : void 0,
255
- className: active ? "font-medium text-accent-1 underline underline-offset-4" : "text-foreground-2 underline-offset-4 hover:text-accent-1 hover:underline",
256
- href: path,
257
- children: group.title
258
- },
259
- group.id
260
- );
261
- }) }),
262
- /* @__PURE__ */ jsx3(ThemeToggle, {})
263
- ] })
264
- ] }) });
265
- }
266
- export {
267
- SiteHeader
268
- };