@publish.os/nextjs 0.0.1-alpha.2 → 0.0.1-alpha.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 (392) hide show
  1. package/dist/cache/tags.cjs +3 -0
  2. package/dist/cache/tags.d.cts +1 -0
  3. package/dist/cache/tags.d.ts +1 -0
  4. package/dist/cache/tags.js +3 -0
  5. package/dist/config.cjs +78 -0
  6. package/dist/config.d.cts +101 -0
  7. package/dist/config.d.ts +101 -0
  8. package/dist/config.js +48 -0
  9. package/dist/index.cjs +1039 -123
  10. package/dist/index.d.cts +11 -7
  11. package/dist/index.d.ts +11 -7
  12. package/dist/index.js +1027 -110
  13. package/dist/kernel/components/blocks/AgentActions.cjs +425 -0
  14. package/dist/kernel/components/blocks/AgentActions.d.cts +52 -0
  15. package/dist/kernel/components/blocks/AgentActions.d.ts +52 -0
  16. package/dist/kernel/components/blocks/AgentActions.js +429 -0
  17. package/dist/kernel/components/blocks/animated-icon-swap.cjs +101 -0
  18. package/dist/kernel/components/blocks/animated-icon-swap.d.cts +16 -0
  19. package/dist/kernel/components/blocks/animated-icon-swap.d.ts +16 -0
  20. package/dist/kernel/components/blocks/animated-icon-swap.js +74 -0
  21. package/dist/kernel/components/blocks/color-palette.cjs +413 -0
  22. package/dist/kernel/components/blocks/color-palette.d.cts +7 -0
  23. package/dist/kernel/components/blocks/color-palette.d.ts +7 -0
  24. package/dist/kernel/components/blocks/color-palette.js +407 -0
  25. package/dist/kernel/components/blocks/design-system-preview.cjs +592 -0
  26. package/dist/kernel/components/blocks/design-system-preview.d.cts +29 -0
  27. package/dist/kernel/components/blocks/design-system-preview.d.ts +29 -0
  28. package/dist/kernel/components/blocks/design-system-preview.js +655 -0
  29. package/dist/kernel/components/blocks/link-playground.cjs +816 -0
  30. package/dist/kernel/components/blocks/link-playground.d.cts +5 -0
  31. package/dist/kernel/components/blocks/link-playground.d.ts +5 -0
  32. package/dist/kernel/components/blocks/link-playground.js +792 -0
  33. package/dist/kernel/components/blocks/logo-block.cjs +156 -0
  34. package/dist/kernel/components/blocks/logo-block.d.cts +21 -0
  35. package/dist/kernel/components/blocks/logo-block.d.ts +21 -0
  36. package/dist/kernel/components/blocks/logo-block.js +129 -0
  37. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.cjs +19 -38
  38. package/dist/kernel/components/blocks/nav-breadcrumb.d.cts +11 -0
  39. package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +11 -0
  40. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.js +22 -30
  41. package/dist/kernel/components/blocks/navbar.cjs +154 -0
  42. package/dist/kernel/components/blocks/navbar.d.cts +16 -0
  43. package/dist/kernel/components/blocks/navbar.d.ts +16 -0
  44. package/dist/kernel/components/blocks/navbar.js +122 -0
  45. package/dist/kernel/components/blocks/navigation-progress-playground.cjs +735 -0
  46. package/dist/kernel/components/blocks/navigation-progress-playground.d.cts +5 -0
  47. package/dist/kernel/components/blocks/navigation-progress-playground.d.ts +5 -0
  48. package/dist/kernel/components/blocks/navigation-progress-playground.js +722 -0
  49. package/dist/kernel/components/blocks/navigation-progress.cjs +270 -0
  50. package/dist/kernel/components/blocks/navigation-progress.d.cts +16 -0
  51. package/dist/kernel/components/blocks/navigation-progress.d.ts +16 -0
  52. package/dist/kernel/components/blocks/navigation-progress.js +249 -0
  53. package/dist/kernel/components/blocks/next-prev.cjs +142 -0
  54. package/dist/kernel/components/blocks/next-prev.d.cts +11 -0
  55. package/dist/kernel/components/blocks/next-prev.d.ts +11 -0
  56. package/dist/kernel/components/blocks/next-prev.js +105 -0
  57. package/dist/{components → kernel/components/blocks}/page-list.cjs +7 -16
  58. package/dist/{components → kernel/components/blocks}/page-list.d.cts +1 -1
  59. package/dist/{components → kernel/components/blocks}/page-list.d.ts +1 -1
  60. package/dist/{components → kernel/components/blocks}/page-list.js +6 -5
  61. package/dist/kernel/components/blocks/search.cjs +717 -0
  62. package/dist/kernel/components/blocks/search.d.cts +77 -0
  63. package/dist/kernel/components/blocks/search.d.ts +77 -0
  64. package/dist/kernel/components/blocks/search.js +697 -0
  65. package/dist/kernel/components/blocks/sidebar-node.cjs +309 -0
  66. package/dist/kernel/components/blocks/sidebar-node.d.cts +8 -0
  67. package/dist/kernel/components/blocks/sidebar-node.d.ts +8 -0
  68. package/dist/kernel/components/blocks/sidebar-node.js +272 -0
  69. package/dist/kernel/components/blocks/sidebar.cjs +317 -0
  70. package/dist/kernel/components/blocks/sidebar.d.cts +33 -0
  71. package/dist/kernel/components/blocks/sidebar.d.ts +33 -0
  72. package/dist/kernel/components/blocks/sidebar.js +302 -0
  73. package/dist/kernel/components/blocks/theme-toggle.cjs +31 -0
  74. package/dist/kernel/components/blocks/theme-toggle.d.cts +6 -0
  75. package/dist/kernel/components/blocks/theme-toggle.d.ts +6 -0
  76. package/dist/kernel/components/blocks/theme-toggle.js +7 -0
  77. package/dist/kernel/components/blocks/toc.cjs +356 -0
  78. package/dist/kernel/components/blocks/toc.d.cts +10 -0
  79. package/dist/kernel/components/blocks/toc.d.ts +10 -0
  80. package/dist/kernel/components/blocks/toc.js +330 -0
  81. package/dist/kernel/components/mdx/components/blockquote.cjs +66 -0
  82. package/dist/kernel/components/mdx/components/blockquote.d.cts +6 -0
  83. package/dist/kernel/components/mdx/components/blockquote.d.ts +6 -0
  84. package/dist/kernel/components/mdx/components/blockquote.js +39 -0
  85. package/dist/kernel/components/mdx/components/callout.cjs +137 -0
  86. package/dist/kernel/components/mdx/components/callout.d.cts +18 -0
  87. package/dist/kernel/components/mdx/components/callout.d.ts +18 -0
  88. package/dist/kernel/components/mdx/components/callout.js +109 -0
  89. package/dist/kernel/components/mdx/components/code-block.cjs +39 -0
  90. package/dist/kernel/components/mdx/components/code-block.d.cts +9 -0
  91. package/dist/kernel/components/mdx/components/code-block.d.ts +9 -0
  92. package/dist/kernel/components/mdx/components/code-block.js +14 -0
  93. package/dist/kernel/components/mdx/components/figure-caption.cjs +63 -0
  94. package/dist/kernel/components/mdx/components/figure-caption.d.cts +6 -0
  95. package/dist/kernel/components/mdx/components/figure-caption.d.ts +6 -0
  96. package/dist/kernel/components/mdx/components/figure-caption.js +36 -0
  97. package/dist/kernel/components/mdx/components/figure.cjs +78 -0
  98. package/dist/kernel/components/mdx/components/figure.d.cts +10 -0
  99. package/dist/kernel/components/mdx/components/figure.d.ts +10 -0
  100. package/dist/kernel/components/mdx/components/figure.js +53 -0
  101. package/dist/kernel/components/mdx/components/footnotes.cjs +66 -0
  102. package/dist/kernel/components/mdx/components/footnotes.d.cts +6 -0
  103. package/dist/kernel/components/mdx/components/footnotes.d.ts +6 -0
  104. package/dist/kernel/components/mdx/components/footnotes.js +39 -0
  105. package/dist/kernel/components/mdx/components/heading-copy-link.cjs +108 -0
  106. package/dist/kernel/components/mdx/components/heading-copy-link.d.cts +23 -0
  107. package/dist/kernel/components/mdx/components/heading-copy-link.d.ts +23 -0
  108. package/dist/kernel/components/mdx/components/heading-copy-link.js +81 -0
  109. package/dist/kernel/components/mdx/components/heading.cjs +166 -0
  110. package/dist/kernel/components/mdx/components/heading.d.cts +8 -0
  111. package/dist/kernel/components/mdx/components/heading.d.ts +8 -0
  112. package/dist/kernel/components/mdx/components/heading.js +144 -0
  113. package/dist/kernel/components/mdx/components/hr.cjs +34 -0
  114. package/dist/kernel/components/mdx/components/hr.d.cts +9 -0
  115. package/dist/kernel/components/mdx/components/hr.d.ts +9 -0
  116. package/dist/kernel/components/mdx/components/hr.js +9 -0
  117. package/dist/kernel/components/mdx/components/image-zoom.cjs +49 -0
  118. package/dist/kernel/components/mdx/components/image-zoom.d.cts +10 -0
  119. package/dist/kernel/components/mdx/components/image-zoom.d.ts +10 -0
  120. package/dist/kernel/components/mdx/components/image-zoom.js +15 -0
  121. package/dist/kernel/components/mdx/components/image.cjs +192 -0
  122. package/dist/kernel/components/mdx/components/image.d.cts +21 -0
  123. package/dist/kernel/components/mdx/components/image.d.ts +21 -0
  124. package/dist/kernel/components/mdx/components/image.js +157 -0
  125. package/dist/kernel/components/mdx/components/inline-code.cjs +66 -0
  126. package/dist/kernel/components/mdx/components/inline-code.d.cts +6 -0
  127. package/dist/kernel/components/mdx/components/inline-code.d.ts +6 -0
  128. package/dist/kernel/components/mdx/components/inline-code.js +39 -0
  129. package/dist/kernel/components/mdx/components/kbd.cjs +34 -0
  130. package/dist/kernel/components/mdx/components/kbd.d.cts +10 -0
  131. package/dist/kernel/components/mdx/components/kbd.d.ts +10 -0
  132. package/dist/kernel/components/mdx/components/kbd.js +9 -0
  133. package/dist/{components/providers.cjs → kernel/components/mdx/components/link.cjs} +20 -15
  134. package/dist/kernel/components/mdx/components/link.d.cts +11 -0
  135. package/dist/kernel/components/mdx/components/link.d.ts +11 -0
  136. package/dist/kernel/components/mdx/components/link.js +26 -0
  137. package/dist/kernel/components/mdx/components/paragraph.cjs +87 -0
  138. package/dist/kernel/components/mdx/components/paragraph.d.cts +5 -0
  139. package/dist/kernel/components/mdx/components/paragraph.d.ts +5 -0
  140. package/dist/kernel/components/mdx/components/paragraph.js +60 -0
  141. package/dist/kernel/components/mdx/components/pre.cjs +66 -0
  142. package/dist/kernel/components/mdx/components/pre.d.cts +6 -0
  143. package/dist/kernel/components/mdx/components/pre.d.ts +6 -0
  144. package/dist/kernel/components/mdx/components/pre.js +39 -0
  145. package/dist/kernel/components/mdx/components/strikethrough.cjs +63 -0
  146. package/dist/kernel/components/mdx/components/strikethrough.d.cts +6 -0
  147. package/dist/kernel/components/mdx/components/strikethrough.d.ts +6 -0
  148. package/dist/kernel/components/mdx/components/strikethrough.js +36 -0
  149. package/dist/kernel/components/mdx/components/table.cjs +59 -0
  150. package/dist/kernel/components/mdx/components/table.d.cts +10 -0
  151. package/dist/kernel/components/mdx/components/table.d.ts +10 -0
  152. package/dist/kernel/components/mdx/components/table.js +36 -0
  153. package/dist/kernel/components/mdx/components/task-list.cjs +88 -0
  154. package/dist/kernel/components/mdx/components/task-list.d.cts +8 -0
  155. package/dist/kernel/components/mdx/components/task-list.d.ts +8 -0
  156. package/dist/kernel/components/mdx/components/task-list.js +60 -0
  157. package/dist/kernel/components/mdx/components/video-player.cjs +173 -0
  158. package/dist/kernel/components/mdx/components/video-player.d.cts +18 -0
  159. package/dist/kernel/components/mdx/components/video-player.d.ts +18 -0
  160. package/dist/kernel/components/mdx/components/video-player.js +147 -0
  161. package/dist/kernel/components/mdx/components/video.cjs +185 -0
  162. package/dist/kernel/components/mdx/components/video.d.cts +15 -0
  163. package/dist/kernel/components/mdx/components/video.d.ts +15 -0
  164. package/dist/kernel/components/mdx/components/video.js +162 -0
  165. package/dist/kernel/components/mdx/error-boundary.cjs +62 -0
  166. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.cts +3 -8
  167. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.ts +3 -8
  168. package/dist/kernel/components/mdx/error-boundary.js +38 -0
  169. package/dist/{mdx → kernel/components/mdx}/error-fallback.cjs +8 -8
  170. package/dist/{mdx → kernel/components/mdx}/error-fallback.js +8 -8
  171. package/dist/kernel/components/mdx/mdx.cjs +141 -0
  172. package/dist/kernel/components/mdx/mdx.d.cts +22 -0
  173. package/dist/kernel/components/mdx/mdx.d.ts +22 -0
  174. package/dist/kernel/components/mdx/mdx.js +109 -0
  175. package/dist/kernel/components/mdx/rehype-heading-ids.cjs +113 -0
  176. package/dist/kernel/components/mdx/rehype-heading-ids.d.cts +10 -0
  177. package/dist/kernel/components/mdx/rehype-heading-ids.d.ts +10 -0
  178. package/dist/kernel/components/mdx/rehype-heading-ids.js +86 -0
  179. package/dist/kernel/components/mdx/types.cjs +18 -0
  180. package/dist/kernel/components/mdx/types.d.cts +18 -0
  181. package/dist/kernel/components/mdx/types.d.ts +18 -0
  182. package/dist/kernel/components/mdx/types.js +0 -0
  183. package/dist/kernel/components/ui/accordion.cjs +104 -0
  184. package/dist/kernel/components/ui/accordion.d.cts +16 -0
  185. package/dist/kernel/components/ui/accordion.d.ts +16 -0
  186. package/dist/kernel/components/ui/accordion.js +76 -0
  187. package/dist/kernel/components/ui/badge.cjs +75 -0
  188. package/dist/kernel/components/ui/badge.d.cts +12 -0
  189. package/dist/kernel/components/ui/badge.d.ts +12 -0
  190. package/dist/kernel/components/ui/badge.js +47 -0
  191. package/dist/kernel/components/ui/breadcrumb-trail.cjs +238 -0
  192. package/dist/kernel/components/ui/breadcrumb-trail.d.cts +13 -0
  193. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +13 -0
  194. package/dist/kernel/components/ui/breadcrumb-trail.js +225 -0
  195. package/dist/kernel/components/ui/breadcrumb.cjs +399 -0
  196. package/dist/kernel/components/ui/breadcrumb.d.cts +52 -0
  197. package/dist/kernel/components/ui/breadcrumb.d.ts +52 -0
  198. package/dist/kernel/components/ui/breadcrumb.js +365 -0
  199. package/dist/kernel/components/ui/button-group.cjs +144 -0
  200. package/dist/kernel/components/ui/button-group.d.cts +19 -0
  201. package/dist/kernel/components/ui/button-group.d.ts +19 -0
  202. package/dist/kernel/components/ui/button-group.js +116 -0
  203. package/dist/kernel/components/ui/button.cjs +147 -0
  204. package/dist/kernel/components/ui/button.d.cts +23 -0
  205. package/dist/kernel/components/ui/button.d.ts +23 -0
  206. package/dist/kernel/components/ui/button.js +121 -0
  207. package/dist/kernel/components/ui/card.cjs +133 -0
  208. package/dist/kernel/components/ui/card.d.cts +17 -0
  209. package/dist/kernel/components/ui/card.d.ts +17 -0
  210. package/dist/kernel/components/ui/card.js +101 -0
  211. package/dist/kernel/components/ui/dialog.cjs +149 -0
  212. package/dist/kernel/components/ui/dialog.d.cts +22 -0
  213. package/dist/kernel/components/ui/dialog.d.ts +22 -0
  214. package/dist/kernel/components/ui/dialog.js +118 -0
  215. package/dist/kernel/components/ui/drawer.cjs +163 -0
  216. package/dist/kernel/components/ui/drawer.d.cts +24 -0
  217. package/dist/kernel/components/ui/drawer.d.ts +24 -0
  218. package/dist/kernel/components/ui/drawer.js +131 -0
  219. package/dist/kernel/components/ui/input.cjs +96 -0
  220. package/dist/kernel/components/ui/input.d.cts +18 -0
  221. package/dist/kernel/components/ui/input.d.ts +18 -0
  222. package/dist/kernel/components/ui/input.js +70 -0
  223. package/dist/kernel/components/ui/kbd.cjs +105 -0
  224. package/dist/kernel/components/ui/kbd.d.cts +13 -0
  225. package/dist/kernel/components/ui/kbd.d.ts +13 -0
  226. package/dist/kernel/components/ui/kbd.js +77 -0
  227. package/dist/kernel/components/ui/link.cjs +253 -0
  228. package/dist/kernel/components/ui/link.d.cts +31 -0
  229. package/dist/kernel/components/ui/link.d.ts +31 -0
  230. package/dist/kernel/components/ui/link.js +217 -0
  231. package/dist/kernel/components/ui/menu.cjs +301 -0
  232. package/dist/kernel/components/ui/menu.d.cts +70 -0
  233. package/dist/kernel/components/ui/menu.d.ts +70 -0
  234. package/dist/kernel/components/ui/menu.js +256 -0
  235. package/dist/kernel/components/ui/meta-key.cjs +34 -0
  236. package/dist/kernel/components/ui/meta-key.d.cts +12 -0
  237. package/dist/kernel/components/ui/meta-key.d.ts +12 -0
  238. package/dist/kernel/components/ui/meta-key.js +9 -0
  239. package/dist/kernel/components/ui/navigation-menu.cjs +253 -0
  240. package/dist/kernel/components/ui/navigation-menu.d.cts +47 -0
  241. package/dist/kernel/components/ui/navigation-menu.d.ts +47 -0
  242. package/dist/kernel/components/ui/navigation-menu.js +216 -0
  243. package/dist/kernel/components/ui/popover.cjs +168 -0
  244. package/dist/kernel/components/ui/popover.d.cts +24 -0
  245. package/dist/kernel/components/ui/popover.d.ts +24 -0
  246. package/dist/kernel/components/ui/popover.js +136 -0
  247. package/dist/kernel/components/ui/progress.cjs +112 -0
  248. package/dist/kernel/components/ui/progress.d.cts +16 -0
  249. package/dist/kernel/components/ui/progress.d.ts +16 -0
  250. package/dist/kernel/components/ui/progress.js +84 -0
  251. package/dist/kernel/components/ui/scroll-area.cjs +413 -0
  252. package/dist/kernel/components/ui/scroll-area.d.cts +58 -0
  253. package/dist/kernel/components/ui/scroll-area.d.ts +58 -0
  254. package/dist/kernel/components/ui/scroll-area.js +390 -0
  255. package/dist/kernel/components/ui/select.cjs +244 -0
  256. package/dist/kernel/components/ui/select.d.cts +40 -0
  257. package/dist/kernel/components/ui/select.d.ts +40 -0
  258. package/dist/kernel/components/ui/select.js +205 -0
  259. package/dist/kernel/components/ui/separator.cjs +73 -0
  260. package/dist/kernel/components/ui/separator.d.cts +8 -0
  261. package/dist/kernel/components/ui/separator.d.ts +8 -0
  262. package/dist/kernel/components/ui/separator.js +48 -0
  263. package/dist/kernel/components/ui/table.cjs +131 -0
  264. package/dist/kernel/components/ui/table.d.cts +11 -0
  265. package/dist/kernel/components/ui/table.d.ts +11 -0
  266. package/dist/kernel/components/ui/table.js +99 -0
  267. package/dist/kernel/components/ui/tabs.cjs +450 -0
  268. package/dist/kernel/components/ui/tabs.d.cts +82 -0
  269. package/dist/kernel/components/ui/tabs.d.ts +82 -0
  270. package/dist/kernel/components/ui/tabs.js +409 -0
  271. package/dist/kernel/components/ui/text.cjs +184 -0
  272. package/dist/kernel/components/ui/text.d.cts +17 -0
  273. package/dist/kernel/components/ui/text.d.ts +17 -0
  274. package/dist/kernel/components/ui/text.js +156 -0
  275. package/dist/kernel/components/ui/theme-toggle.cjs +108 -0
  276. package/dist/kernel/components/ui/theme-toggle.d.cts +10 -0
  277. package/dist/kernel/components/ui/theme-toggle.d.ts +10 -0
  278. package/dist/kernel/components/ui/theme-toggle.js +84 -0
  279. package/dist/kernel/components/ui/toast.cjs +154 -0
  280. package/dist/kernel/components/ui/toast.d.cts +26 -0
  281. package/dist/kernel/components/ui/toast.d.ts +26 -0
  282. package/dist/kernel/components/ui/toast.js +120 -0
  283. package/dist/kernel/components/ui/tooltip.cjs +127 -0
  284. package/dist/kernel/components/ui/tooltip.d.cts +20 -0
  285. package/dist/kernel/components/ui/tooltip.d.ts +20 -0
  286. package/dist/kernel/components/ui/tooltip.js +97 -0
  287. package/dist/kernel/defaults.registry.cjs +541 -0
  288. package/dist/kernel/defaults.registry.d.cts +469 -0
  289. package/dist/kernel/defaults.registry.d.ts +469 -0
  290. package/dist/kernel/defaults.registry.js +516 -0
  291. package/dist/kernel/routes/agent/markdown.cjs +208 -0
  292. package/dist/kernel/routes/agent/markdown.d.cts +59 -0
  293. package/dist/kernel/routes/agent/markdown.d.ts +59 -0
  294. package/dist/kernel/routes/agent/markdown.js +180 -0
  295. package/dist/{layouts → kernel/routes/layouts}/group.cjs +39 -15
  296. package/dist/kernel/routes/layouts/group.d.cts +20 -0
  297. package/dist/kernel/routes/layouts/group.d.ts +20 -0
  298. package/dist/{layouts → kernel/routes/layouts}/group.js +39 -15
  299. package/dist/kernel/routes/metadata/feed.cjs +297 -0
  300. package/dist/kernel/routes/metadata/feed.d.cts +21 -0
  301. package/dist/kernel/routes/metadata/feed.d.ts +21 -0
  302. package/dist/kernel/routes/metadata/feed.js +269 -0
  303. package/dist/kernel/routes/metadata/llms.cjs +234 -0
  304. package/dist/kernel/routes/metadata/llms.d.cts +27 -0
  305. package/dist/kernel/routes/metadata/llms.d.ts +27 -0
  306. package/dist/kernel/routes/metadata/llms.js +206 -0
  307. package/dist/kernel/routes/metadata/og-image.cjs +630 -0
  308. package/dist/kernel/routes/metadata/og-image.d.cts +62 -0
  309. package/dist/kernel/routes/metadata/og-image.d.ts +62 -0
  310. package/dist/kernel/routes/metadata/og-image.js +604 -0
  311. package/dist/{routes → kernel/routes/metadata}/robots.cjs +48 -4
  312. package/dist/{routes → kernel/routes/metadata}/robots.d.cts +2 -1
  313. package/dist/{routes → kernel/routes/metadata}/robots.d.ts +2 -1
  314. package/dist/kernel/routes/metadata/robots.js +113 -0
  315. package/dist/kernel/routes/metadata/sitemap.cjs +182 -0
  316. package/dist/kernel/routes/metadata/sitemap.d.cts +8 -0
  317. package/dist/kernel/routes/metadata/sitemap.d.ts +8 -0
  318. package/dist/kernel/routes/metadata/sitemap.js +156 -0
  319. package/dist/{pages → kernel/routes/pages}/group.cjs +107 -6
  320. package/dist/{pages → kernel/routes/pages}/group.d.cts +4 -2
  321. package/dist/{pages → kernel/routes/pages}/group.d.ts +4 -2
  322. package/dist/{pages → kernel/routes/pages}/group.js +107 -6
  323. package/dist/kernel/routes/pages/leaf.cjs +421 -0
  324. package/dist/kernel/routes/pages/leaf.d.cts +36 -0
  325. package/dist/kernel/routes/pages/leaf.d.ts +36 -0
  326. package/dist/kernel/routes/pages/leaf.js +397 -0
  327. package/dist/{pages → kernel/routes/pages}/root.cjs +108 -6
  328. package/dist/{pages → kernel/routes/pages}/root.d.cts +4 -2
  329. package/dist/{pages → kernel/routes/pages}/root.d.ts +4 -2
  330. package/dist/kernel/routes/pages/root.js +203 -0
  331. package/dist/keyboard-shortcuts.cjs +345 -0
  332. package/dist/keyboard-shortcuts.d.cts +34 -0
  333. package/dist/keyboard-shortcuts.d.ts +34 -0
  334. package/dist/keyboard-shortcuts.js +326 -0
  335. package/dist/resolvers/manifest-resolver.cjs +7 -3
  336. package/dist/resolvers/manifest-resolver.d.cts +2 -2
  337. package/dist/resolvers/manifest-resolver.d.ts +2 -2
  338. package/dist/resolvers/manifest-resolver.js +7 -3
  339. package/dist/search.cjs +411 -0
  340. package/dist/search.d.cts +20 -0
  341. package/dist/search.d.ts +20 -0
  342. package/dist/search.js +393 -0
  343. package/dist/types.cjs +12 -0
  344. package/dist/types.d.cts +132 -7
  345. package/dist/types.d.ts +132 -7
  346. package/dist/types.js +5 -0
  347. package/dist/utils/heading-ids.cjs +119 -0
  348. package/dist/utils/heading-ids.d.cts +15 -0
  349. package/dist/utils/heading-ids.d.ts +15 -0
  350. package/dist/utils/heading-ids.js +90 -0
  351. package/package.json +36 -39
  352. package/dist/components/color-palette.cjs +0 -408
  353. package/dist/components/color-palette.d.cts +0 -5
  354. package/dist/components/color-palette.d.ts +0 -5
  355. package/dist/components/color-palette.js +0 -388
  356. package/dist/components/nav-breadcrumb.d.cts +0 -9
  357. package/dist/components/nav-breadcrumb.d.ts +0 -9
  358. package/dist/components/providers.d.cts +0 -8
  359. package/dist/components/providers.d.ts +0 -8
  360. package/dist/components/providers.js +0 -20
  361. package/dist/components/site-header.cjs +0 -302
  362. package/dist/components/site-header.d.cts +0 -12
  363. package/dist/components/site-header.d.ts +0 -12
  364. package/dist/components/site-header.js +0 -268
  365. package/dist/components/theme-toggle.cjs +0 -147
  366. package/dist/components/theme-toggle.d.cts +0 -5
  367. package/dist/components/theme-toggle.d.ts +0 -5
  368. package/dist/components/theme-toggle.js +0 -123
  369. package/dist/layouts/group.d.cts +0 -15
  370. package/dist/layouts/group.d.ts +0 -15
  371. package/dist/mdx/error-boundary.cjs +0 -94
  372. package/dist/mdx/error-boundary.js +0 -70
  373. package/dist/mdx/mdx.cjs +0 -182
  374. package/dist/mdx/mdx.d.cts +0 -10
  375. package/dist/mdx/mdx.d.ts +0 -10
  376. package/dist/mdx/mdx.js +0 -147
  377. package/dist/pages/leaf.cjs +0 -203
  378. package/dist/pages/leaf.d.cts +0 -23
  379. package/dist/pages/leaf.d.ts +0 -23
  380. package/dist/pages/leaf.js +0 -176
  381. package/dist/pages/root.js +0 -101
  382. package/dist/routes/llms.cjs +0 -101
  383. package/dist/routes/llms.d.cts +0 -7
  384. package/dist/routes/llms.d.ts +0 -7
  385. package/dist/routes/llms.js +0 -76
  386. package/dist/routes/robots.js +0 -69
  387. package/dist/routes/sitemap.cjs +0 -108
  388. package/dist/routes/sitemap.d.cts +0 -5
  389. package/dist/routes/sitemap.d.ts +0 -5
  390. package/dist/routes/sitemap.js +0 -83
  391. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.cts +0 -0
  392. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.ts +0 -0
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/kernel/components/blocks/logo-block.tsx
21
+ var logo_block_exports = {};
22
+ __export(logo_block_exports, {
23
+ LogoBlock: () => LogoBlock
24
+ });
25
+ module.exports = __toCommonJS(logo_block_exports);
26
+
27
+ // src/utils/cn.ts
28
+ var import_clsx = require("clsx");
29
+ var import_tailwind_merge = require("tailwind-merge");
30
+ var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
31
+ extend: {
32
+ classGroups: {
33
+ z: [
34
+ "z-content",
35
+ "z-nav",
36
+ "z-overlay",
37
+ "z-modal",
38
+ "z-search",
39
+ "z-toast",
40
+ "z-progress"
41
+ ]
42
+ }
43
+ }
44
+ });
45
+ function cn(...inputs) {
46
+ return twMerge((0, import_clsx.clsx)(inputs));
47
+ }
48
+
49
+ // src/kernel/components/blocks/logo-block.tsx
50
+ var import_jsx_runtime = (
51
+ // biome-ignore lint/performance/noImgElement: Tenant-provided logos are public SVG/raster files and need browser-native intrinsic sizing.
52
+ require("react/jsx-runtime")
53
+ );
54
+ var DEFAULT_LOGO_MAX_HEIGHT = 24;
55
+ var DEFAULT_LOGO_MAX_WIDTH = 160;
56
+ function isValidLogoAsset(asset) {
57
+ return typeof asset?.outputPath === "string" && asset.outputPath.trim() !== "";
58
+ }
59
+ function fitLogoDimensions({
60
+ asset,
61
+ maxHeight,
62
+ maxWidth
63
+ }) {
64
+ if (!asset.width || !asset.height) return void 0;
65
+ const scale = Math.min(maxWidth / asset.width, maxHeight / asset.height, 1);
66
+ return {
67
+ height: Math.max(1, Math.round(asset.height * scale)),
68
+ width: Math.max(1, Math.round(asset.width * scale))
69
+ };
70
+ }
71
+ function getLogoStyle({
72
+ asset,
73
+ maxHeight,
74
+ maxWidth
75
+ }) {
76
+ return {
77
+ "--logo-block-max-height": `${maxHeight}px`,
78
+ "--logo-block-max-width": `${maxWidth}px`,
79
+ ...fitLogoDimensions({ asset, maxHeight, maxWidth })
80
+ };
81
+ }
82
+ function LogoBlockImage({
83
+ asset,
84
+ className,
85
+ maxHeight,
86
+ maxWidth,
87
+ siteName
88
+ }) {
89
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
90
+ "img",
91
+ {
92
+ alt: "",
93
+ "aria-hidden": "true",
94
+ className: cn(
95
+ "block max-h-(--logo-block-max-height) max-w-(--logo-block-max-width) object-contain",
96
+ className
97
+ ),
98
+ height: asset.height,
99
+ src: asset.outputPath,
100
+ style: getLogoStyle({ asset, maxHeight, maxWidth }),
101
+ title: siteName,
102
+ width: asset.width
103
+ }
104
+ );
105
+ }
106
+ function LogoBlock({
107
+ className,
108
+ logo,
109
+ maxHeight = DEFAULT_LOGO_MAX_HEIGHT,
110
+ maxWidth = DEFAULT_LOGO_MAX_WIDTH,
111
+ siteName
112
+ }) {
113
+ const lightCandidate = logo?.light;
114
+ const darkCandidate = logo?.dark;
115
+ const lightLogo = isValidLogoAsset(lightCandidate) ? lightCandidate : darkCandidate;
116
+ const darkLogo = isValidLogoAsset(darkCandidate) ? darkCandidate : lightLogo;
117
+ if (!isValidLogoAsset(lightLogo)) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: siteName });
118
+ if (!isValidLogoAsset(darkLogo) || darkLogo.outputPath === lightLogo.outputPath) {
119
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
120
+ LogoBlockImage,
121
+ {
122
+ asset: lightLogo,
123
+ className,
124
+ maxHeight,
125
+ maxWidth,
126
+ siteName
127
+ }
128
+ );
129
+ }
130
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
131
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "block dark:hidden", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
132
+ LogoBlockImage,
133
+ {
134
+ asset: lightLogo,
135
+ className: cn(className),
136
+ maxHeight,
137
+ maxWidth,
138
+ siteName
139
+ }
140
+ ) }),
141
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "hidden dark:block", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
142
+ LogoBlockImage,
143
+ {
144
+ asset: darkLogo,
145
+ className: cn(className),
146
+ maxHeight,
147
+ maxWidth,
148
+ siteName
149
+ }
150
+ ) })
151
+ ] });
152
+ }
153
+ // Annotate the CommonJS export names for ESM import in node:
154
+ 0 && (module.exports = {
155
+ LogoBlock
156
+ });
@@ -0,0 +1,21 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ type LogoBlockAsset = {
4
+ readonly outputPath: string;
5
+ readonly width?: number;
6
+ readonly height?: number;
7
+ };
8
+ type LogoBlockLogo = {
9
+ readonly light?: LogoBlockAsset;
10
+ readonly dark?: LogoBlockAsset;
11
+ };
12
+ type LogoBlockProps = {
13
+ className?: string;
14
+ logo?: LogoBlockLogo;
15
+ maxHeight?: number;
16
+ maxWidth?: number;
17
+ siteName: string;
18
+ };
19
+ declare function LogoBlock({ className, logo, maxHeight, maxWidth, siteName, }: LogoBlockProps): react_jsx_runtime.JSX.Element;
20
+
21
+ export { LogoBlock, type LogoBlockAsset, type LogoBlockLogo, type LogoBlockProps };
@@ -0,0 +1,21 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ type LogoBlockAsset = {
4
+ readonly outputPath: string;
5
+ readonly width?: number;
6
+ readonly height?: number;
7
+ };
8
+ type LogoBlockLogo = {
9
+ readonly light?: LogoBlockAsset;
10
+ readonly dark?: LogoBlockAsset;
11
+ };
12
+ type LogoBlockProps = {
13
+ className?: string;
14
+ logo?: LogoBlockLogo;
15
+ maxHeight?: number;
16
+ maxWidth?: number;
17
+ siteName: string;
18
+ };
19
+ declare function LogoBlock({ className, logo, maxHeight, maxWidth, siteName, }: LogoBlockProps): react_jsx_runtime.JSX.Element;
20
+
21
+ export { LogoBlock, type LogoBlockAsset, type LogoBlockLogo, type LogoBlockProps };
@@ -0,0 +1,129 @@
1
+ // src/utils/cn.ts
2
+ import { clsx } from "clsx";
3
+ import { extendTailwindMerge } from "tailwind-merge";
4
+ var twMerge = extendTailwindMerge({
5
+ extend: {
6
+ classGroups: {
7
+ z: [
8
+ "z-content",
9
+ "z-nav",
10
+ "z-overlay",
11
+ "z-modal",
12
+ "z-search",
13
+ "z-toast",
14
+ "z-progress"
15
+ ]
16
+ }
17
+ }
18
+ });
19
+ function cn(...inputs) {
20
+ return twMerge(clsx(inputs));
21
+ }
22
+
23
+ // src/kernel/components/blocks/logo-block.tsx
24
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
25
+ var DEFAULT_LOGO_MAX_HEIGHT = 24;
26
+ var DEFAULT_LOGO_MAX_WIDTH = 160;
27
+ function isValidLogoAsset(asset) {
28
+ return typeof asset?.outputPath === "string" && asset.outputPath.trim() !== "";
29
+ }
30
+ function fitLogoDimensions({
31
+ asset,
32
+ maxHeight,
33
+ maxWidth
34
+ }) {
35
+ if (!asset.width || !asset.height) return void 0;
36
+ const scale = Math.min(maxWidth / asset.width, maxHeight / asset.height, 1);
37
+ return {
38
+ height: Math.max(1, Math.round(asset.height * scale)),
39
+ width: Math.max(1, Math.round(asset.width * scale))
40
+ };
41
+ }
42
+ function getLogoStyle({
43
+ asset,
44
+ maxHeight,
45
+ maxWidth
46
+ }) {
47
+ return {
48
+ "--logo-block-max-height": `${maxHeight}px`,
49
+ "--logo-block-max-width": `${maxWidth}px`,
50
+ ...fitLogoDimensions({ asset, maxHeight, maxWidth })
51
+ };
52
+ }
53
+ function LogoBlockImage({
54
+ asset,
55
+ className,
56
+ maxHeight,
57
+ maxWidth,
58
+ siteName
59
+ }) {
60
+ return (
61
+ // biome-ignore lint/performance/noImgElement: Tenant-provided logos are public SVG/raster files and need browser-native intrinsic sizing.
62
+ /* @__PURE__ */ jsx(
63
+ "img",
64
+ {
65
+ alt: "",
66
+ "aria-hidden": "true",
67
+ className: cn(
68
+ "block max-h-(--logo-block-max-height) max-w-(--logo-block-max-width) object-contain",
69
+ className
70
+ ),
71
+ height: asset.height,
72
+ src: asset.outputPath,
73
+ style: getLogoStyle({ asset, maxHeight, maxWidth }),
74
+ title: siteName,
75
+ width: asset.width
76
+ }
77
+ )
78
+ );
79
+ }
80
+ function LogoBlock({
81
+ className,
82
+ logo,
83
+ maxHeight = DEFAULT_LOGO_MAX_HEIGHT,
84
+ maxWidth = DEFAULT_LOGO_MAX_WIDTH,
85
+ siteName
86
+ }) {
87
+ const lightCandidate = logo?.light;
88
+ const darkCandidate = logo?.dark;
89
+ const lightLogo = isValidLogoAsset(lightCandidate) ? lightCandidate : darkCandidate;
90
+ const darkLogo = isValidLogoAsset(darkCandidate) ? darkCandidate : lightLogo;
91
+ if (!isValidLogoAsset(lightLogo)) return /* @__PURE__ */ jsx(Fragment, { children: siteName });
92
+ if (!isValidLogoAsset(darkLogo) || darkLogo.outputPath === lightLogo.outputPath) {
93
+ return /* @__PURE__ */ jsx(
94
+ LogoBlockImage,
95
+ {
96
+ asset: lightLogo,
97
+ className,
98
+ maxHeight,
99
+ maxWidth,
100
+ siteName
101
+ }
102
+ );
103
+ }
104
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
105
+ /* @__PURE__ */ jsx("span", { className: "block dark:hidden", children: /* @__PURE__ */ jsx(
106
+ LogoBlockImage,
107
+ {
108
+ asset: lightLogo,
109
+ className: cn(className),
110
+ maxHeight,
111
+ maxWidth,
112
+ siteName
113
+ }
114
+ ) }),
115
+ /* @__PURE__ */ jsx("span", { className: "hidden dark:block", children: /* @__PURE__ */ jsx(
116
+ LogoBlockImage,
117
+ {
118
+ asset: darkLogo,
119
+ className: cn(className),
120
+ maxHeight,
121
+ maxWidth,
122
+ siteName
123
+ }
124
+ ) })
125
+ ] });
126
+ }
127
+ export {
128
+ LogoBlock
129
+ };
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- "use client";
3
- var __create = Object.create;
4
2
  var __defProp = Object.defineProperty;
5
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
6
  var __export = (target, all) => {
10
7
  for (var name in all)
@@ -18,24 +15,15 @@ var __copyProps = (to, from, except, desc) => {
18
15
  }
19
16
  return to;
20
17
  };
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
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
19
 
31
- // src/components/nav-breadcrumb.tsx
20
+ // src/kernel/components/blocks/nav-breadcrumb.tsx
32
21
  var nav_breadcrumb_exports = {};
33
22
  __export(nav_breadcrumb_exports, {
34
23
  NavBreadcrumb: () => NavBreadcrumb
35
24
  });
36
25
  module.exports = __toCommonJS(nav_breadcrumb_exports);
37
- var import_link = __toESM(require("next/link"), 1);
38
- var import_navigation = require("next/navigation");
26
+ var import_breadcrumb = require("../ui/breadcrumb.js");
39
27
  var import_jsx_runtime = require("react/jsx-runtime");
40
28
  function titleFor(node) {
41
29
  return node.title;
@@ -43,6 +31,7 @@ function titleFor(node) {
43
31
  function pathFor(node) {
44
32
  if (node.type === "page") return node.path;
45
33
  if (node.type === "link") return node.href;
34
+ if (node.type === "folder") return node.path;
46
35
  if (node.type === "section") return node.path;
47
36
  return void 0;
48
37
  }
@@ -88,7 +77,7 @@ function groupFallback(tree, pathname) {
88
77
  }
89
78
  function buildCrumbs(site, tree, pathname) {
90
79
  const root = {
91
- title: site.title,
80
+ title: site.name,
92
81
  path: "/",
93
82
  current: pathname === "/"
94
83
  };
@@ -104,34 +93,26 @@ function buildCrumbs(site, tree, pathname) {
104
93
  ];
105
94
  }
106
95
  function NavBreadcrumb({
96
+ currentPath = "/",
97
+ showRoot = true,
107
98
  site,
108
99
  tree
109
100
  }) {
110
- const pathname = (0, import_navigation.usePathname)() || "/";
111
- const crumbs = buildCrumbs(site, tree, pathname);
101
+ const crumbs = buildCrumbs(site, tree, currentPath);
102
+ const visibleCrumbs = showRoot ? crumbs : crumbs.slice(1);
103
+ const items = visibleCrumbs.map((crumb) => ({
104
+ current: crumb.current,
105
+ href: crumb.path,
106
+ title: crumb.title
107
+ }));
108
+ if (items.length === 0) return null;
112
109
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
113
- "nav",
110
+ import_breadcrumb.BreadcrumbTrail,
114
111
  {
115
- "aria-label": "Breadcrumb",
116
- className: "flex min-w-0 items-center gap-1.5 text-sm",
117
- children: crumbs.map((crumb, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
118
- index > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": "true", className: "text-stroke-3", children: "/" }),
119
- crumb.current ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
120
- "span",
121
- {
122
- "aria-current": "page",
123
- className: "truncate font-medium text-foreground-1",
124
- children: crumb.title
125
- }
126
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
127
- import_link.default,
128
- {
129
- className: "truncate text-foreground-3 no-underline hover:text-accent-1",
130
- href: crumb.path,
131
- children: crumb.title
132
- }
133
- )
134
- ] }, crumb.path))
112
+ collapseAfter: 1,
113
+ collapseBefore: 2,
114
+ items,
115
+ size: "sm"
135
116
  }
136
117
  );
137
118
  }
@@ -0,0 +1,11 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { SiteData, TreeNode } from '@publish.os/nextjs/types';
3
+
4
+ declare function NavBreadcrumb({ currentPath, showRoot, site, tree, }: {
5
+ currentPath?: string;
6
+ showRoot?: boolean;
7
+ site: SiteData;
8
+ tree: TreeNode[];
9
+ }): react_jsx_runtime.JSX.Element | null;
10
+
11
+ export { NavBreadcrumb };
@@ -0,0 +1,11 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { SiteData, TreeNode } from '@publish.os/nextjs/types';
3
+
4
+ declare function NavBreadcrumb({ currentPath, showRoot, site, tree, }: {
5
+ currentPath?: string;
6
+ showRoot?: boolean;
7
+ site: SiteData;
8
+ tree: TreeNode[];
9
+ }): react_jsx_runtime.JSX.Element | null;
10
+
11
+ export { NavBreadcrumb };
@@ -1,15 +1,15 @@
1
- "use client";
2
-
3
- // src/components/nav-breadcrumb.tsx
4
- import Link from "next/link";
5
- import { usePathname } from "next/navigation";
6
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/kernel/components/blocks/nav-breadcrumb.tsx
2
+ import {
3
+ BreadcrumbTrail
4
+ } from "../ui/breadcrumb.js";
5
+ import { jsx } from "react/jsx-runtime";
7
6
  function titleFor(node) {
8
7
  return node.title;
9
8
  }
10
9
  function pathFor(node) {
11
10
  if (node.type === "page") return node.path;
12
11
  if (node.type === "link") return node.href;
12
+ if (node.type === "folder") return node.path;
13
13
  if (node.type === "section") return node.path;
14
14
  return void 0;
15
15
  }
@@ -55,7 +55,7 @@ function groupFallback(tree, pathname) {
55
55
  }
56
56
  function buildCrumbs(site, tree, pathname) {
57
57
  const root = {
58
- title: site.title,
58
+ title: site.name,
59
59
  path: "/",
60
60
  current: pathname === "/"
61
61
  };
@@ -71,34 +71,26 @@ function buildCrumbs(site, tree, pathname) {
71
71
  ];
72
72
  }
73
73
  function NavBreadcrumb({
74
+ currentPath = "/",
75
+ showRoot = true,
74
76
  site,
75
77
  tree
76
78
  }) {
77
- const pathname = usePathname() || "/";
78
- const crumbs = buildCrumbs(site, tree, pathname);
79
+ const crumbs = buildCrumbs(site, tree, currentPath);
80
+ const visibleCrumbs = showRoot ? crumbs : crumbs.slice(1);
81
+ const items = visibleCrumbs.map((crumb) => ({
82
+ current: crumb.current,
83
+ href: crumb.path,
84
+ title: crumb.title
85
+ }));
86
+ if (items.length === 0) return null;
79
87
  return /* @__PURE__ */ jsx(
80
- "nav",
88
+ BreadcrumbTrail,
81
89
  {
82
- "aria-label": "Breadcrumb",
83
- className: "flex min-w-0 items-center gap-1.5 text-sm",
84
- children: crumbs.map((crumb, index) => /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-1.5", children: [
85
- index > 0 && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "text-stroke-3", children: "/" }),
86
- crumb.current ? /* @__PURE__ */ jsx(
87
- "span",
88
- {
89
- "aria-current": "page",
90
- className: "truncate font-medium text-foreground-1",
91
- children: crumb.title
92
- }
93
- ) : /* @__PURE__ */ jsx(
94
- Link,
95
- {
96
- className: "truncate text-foreground-3 no-underline hover:text-accent-1",
97
- href: crumb.path,
98
- children: crumb.title
99
- }
100
- )
101
- ] }, crumb.path))
90
+ collapseAfter: 1,
91
+ collapseBefore: 2,
92
+ items,
93
+ size: "sm"
102
94
  }
103
95
  );
104
96
  }
@@ -0,0 +1,154 @@
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/kernel/components/blocks/navbar.tsx
32
+ var navbar_exports = {};
33
+ __export(navbar_exports, {
34
+ Navbar: () => Navbar
35
+ });
36
+ module.exports = __toCommonJS(navbar_exports);
37
+ var import_logo_block = require("./logo-block.js");
38
+ var import_nav_breadcrumb = require("./nav-breadcrumb.js");
39
+ var import_search = require("./search.js");
40
+ var import_theme_toggle = require("./theme-toggle.js");
41
+ var import_link = require("../ui/link.js");
42
+
43
+ // src/utils/cn.ts
44
+ var import_clsx = require("clsx");
45
+ var import_tailwind_merge = require("tailwind-merge");
46
+ var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
47
+ extend: {
48
+ classGroups: {
49
+ z: [
50
+ "z-content",
51
+ "z-nav",
52
+ "z-overlay",
53
+ "z-modal",
54
+ "z-search",
55
+ "z-toast",
56
+ "z-progress"
57
+ ]
58
+ }
59
+ }
60
+ });
61
+ function cn(...inputs) {
62
+ return twMerge((0, import_clsx.clsx)(inputs));
63
+ }
64
+
65
+ // src/kernel/components/blocks/navbar.tsx
66
+ var import_lucide_react = require("lucide-react");
67
+ var import_link2 = __toESM(require("next/link"), 1);
68
+ var import_navigation = require("next/navigation");
69
+ var import_jsx_runtime = require("react/jsx-runtime");
70
+ function hasPath(node) {
71
+ return "path" in node && typeof node.path === "string";
72
+ }
73
+ function isTopLevelGroup(node) {
74
+ return node.type === "section" && typeof node.group === "string" && !node.group.includes("/");
75
+ }
76
+ function Navbar({
77
+ logo,
78
+ site,
79
+ siteTitle,
80
+ showThemeToggle = true,
81
+ tree
82
+ }) {
83
+ const pathname = (0, import_navigation.usePathname)() || "/";
84
+ const headerSite = site ?? { name: siteTitle ?? "Site" };
85
+ const groups = tree.filter(hasPath).filter(isTopLevelGroup);
86
+ const activeGroupPath = groups.map((group) => group.path).filter((path) => pathname === path || pathname.startsWith(`${path}/`)).sort((a, b) => b.length - a.length)[0];
87
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("header", { className: "sticky top-0 z-nav border-b border-stroke-3 bg-surface-2 [anchor-name:--global-navbar]", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mx-auto flex min-h-[var(--layout-global-nav-height)] w-full max-w-(--layout-site-max-width) flex-col gap-3 border-x border-stroke-3 px-5 py-3 md:flex-row md:items-center md:gap-4 md:py-2 lg:px-6", children: [
88
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
89
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
90
+ import_link2.default,
91
+ {
92
+ "aria-label": `${headerSite.name} home`,
93
+ className: "inline-flex h-8 shrink-0 items-center text-sm font-semibold text-foreground-1 transition-colors hover:text-accent-1 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent-1",
94
+ href: "/",
95
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_logo_block.LogoBlock, { logo, siteName: headerSite.name })
96
+ }
97
+ ),
98
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "hidden h-4 w-px shrink-0 bg-stroke-3 md:block" }),
99
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
100
+ import_nav_breadcrumb.NavBreadcrumb,
101
+ {
102
+ currentPath: pathname,
103
+ showRoot: false,
104
+ site: headerSite,
105
+ tree
106
+ }
107
+ ) })
108
+ ] }),
109
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2", children: [
110
+ groups.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
111
+ "nav",
112
+ {
113
+ "aria-label": "Groups",
114
+ className: "flex min-w-0 flex-wrap items-center gap-2 text-sm",
115
+ children: groups.map((group) => {
116
+ const path = group.path;
117
+ const active = path === activeGroupPath;
118
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
+ import_link.Link,
120
+ {
121
+ active,
122
+ className: cn(
123
+ "px-1 text-foreground-2",
124
+ active && "text-foreground-1"
125
+ ),
126
+ href: path,
127
+ size: "sm",
128
+ variant: "link.standalone",
129
+ children: group.title
130
+ },
131
+ group.type === "page" ? group.fileID : group.id
132
+ );
133
+ })
134
+ }
135
+ ) : null,
136
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_search.Search.DefaultDesktop, {}),
137
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
+ import_link.Link,
139
+ {
140
+ href: "/",
141
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowRight, { "aria-hidden": "true", size: 14 }),
142
+ size: "sm",
143
+ variant: "button.primary",
144
+ children: "Start"
145
+ }
146
+ ),
147
+ showThemeToggle ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_theme_toggle.ThemeToggle, {}) : null
148
+ ] })
149
+ ] }) });
150
+ }
151
+ // Annotate the CommonJS export names for ESM import in node:
152
+ 0 && (module.exports = {
153
+ Navbar
154
+ });