@publish.os/nextjs 0.0.1-alpha.5 → 0.0.1-alpha.7

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 (400) hide show
  1. package/README.md +3 -5
  2. package/compiler-assets/nextjs/defaults/app/globals.css +6 -0
  3. package/compiler-assets/nextjs/defaults/group/layout.tsx +23 -0
  4. package/compiler-assets/nextjs/defaults/group/leaf.tsx +48 -0
  5. package/compiler-assets/nextjs/defaults/group/page.tsx +50 -0
  6. package/compiler-assets/nextjs/defaults/project/next.config.mjs +45 -0
  7. package/compiler-assets/nextjs/defaults/project/postcss.config.mjs +5 -0
  8. package/compiler-assets/nextjs/defaults/project/tsconfig.json.template +41 -0
  9. package/compiler-assets/nextjs/defaults/root/css/animation.css +90 -0
  10. package/compiler-assets/nextjs/defaults/root/css/components/dialog.css +21 -0
  11. package/compiler-assets/nextjs/defaults/root/css/components/drawer.css +21 -0
  12. package/compiler-assets/nextjs/defaults/root/css/components/menu.css +23 -0
  13. package/compiler-assets/nextjs/defaults/root/css/components/navigation-menu.css +25 -0
  14. package/compiler-assets/nextjs/defaults/root/css/components/popover.css +17 -0
  15. package/compiler-assets/nextjs/defaults/root/css/components/select.css +23 -0
  16. package/compiler-assets/nextjs/defaults/root/css/components/toast.css +19 -0
  17. package/compiler-assets/nextjs/defaults/root/css/components/tooltip.css +15 -0
  18. package/compiler-assets/nextjs/defaults/root/css/layout.css +22 -0
  19. package/compiler-assets/nextjs/defaults/root/css/media.css +81 -0
  20. package/compiler-assets/nextjs/defaults/root/css/radius.css +49 -0
  21. package/compiler-assets/nextjs/defaults/root/css/scrollbar.css +43 -0
  22. package/compiler-assets/nextjs/defaults/root/css/shadow.css +145 -0
  23. package/compiler-assets/nextjs/defaults/root/css/typography.css +607 -0
  24. package/compiler-assets/nextjs/defaults/root/css/zindex.css +39 -0
  25. package/compiler-assets/nextjs/defaults/root/globals.css +191 -0
  26. package/compiler-assets/nextjs/defaults/root/layout.tsx +19 -0
  27. package/compiler-assets/nextjs/defaults/root/page.tsx +61 -0
  28. package/compiler-assets/nextjs/defaults/root/theme.css +50 -0
  29. package/compiler-assets/nextjs/defaults/source/_internal/logger.ts +21 -0
  30. package/compiler-assets/nextjs/shims/generated-group-layout.tsx +19 -0
  31. package/compiler-assets/nextjs/shims/generated-group-page.tsx +18 -0
  32. package/compiler-assets/nextjs/shims/generated-leaf-page.tsx +21 -0
  33. package/compiler-assets/nextjs/shims/global-layout.tsx +134 -0
  34. package/compiler-assets/nextjs/shims/markdown-route.ts +29 -0
  35. package/compiler-assets/nextjs/shims/og-image-route.ts +18 -0
  36. package/compiler-assets/nextjs/shims/powered-by-footer.tsx +40 -0
  37. package/compiler-assets/nextjs/shims/providers.tsx +13 -0
  38. package/compiler-assets/nextjs/shims/proxy.ts +317 -0
  39. package/compiler-assets/nextjs/shims/publish-os-theme-provider.tsx +77 -0
  40. package/compiler-assets/nextjs/shims/root-page.tsx +13 -0
  41. package/compiler-assets/nextjs/shims/theme-defaults.css +177 -0
  42. package/dist/{kernel/components/ui/button.d.cts → button-CFdx-ohV.d.ts} +1 -3
  43. package/dist/cache/tags.js +6 -14
  44. package/dist/compiler.d.ts +100 -0
  45. package/dist/compiler.js +13379 -0
  46. package/dist/config/createNextConfig.d.ts +2 -1
  47. package/dist/config/createNextConfig.js +16 -12
  48. package/dist/icons.d.ts +1 -0
  49. package/dist/icons.js +2 -0
  50. package/dist/index.d.ts +303 -15
  51. package/dist/index.js +30 -1196
  52. package/dist/kernel/components/blocks/AgentActions.d.ts +9 -3
  53. package/dist/kernel/components/blocks/AgentActions.js +114 -200
  54. package/dist/kernel/components/blocks/animated-icon-swap.js +4 -25
  55. package/dist/kernel/components/blocks/color-palette.js +107 -157
  56. package/dist/kernel/components/blocks/design-system-preview.d.ts +38 -6
  57. package/dist/kernel/components/blocks/design-system-preview.js +44 -52
  58. package/dist/kernel/components/blocks/link-playground.js +23 -71
  59. package/dist/kernel/components/blocks/logo-block.js +19 -48
  60. package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +1 -1
  61. package/dist/kernel/components/blocks/nav-breadcrumb.js +28 -52
  62. package/dist/kernel/components/blocks/navbar.d.ts +1 -1
  63. package/dist/kernel/components/blocks/navbar.js +14 -41
  64. package/dist/kernel/components/blocks/navigation-progress-playground.js +56 -149
  65. package/dist/kernel/components/blocks/navigation-progress.js +53 -157
  66. package/dist/kernel/components/blocks/next-prev.d.ts +1 -1
  67. package/dist/kernel/components/blocks/next-prev.js +16 -42
  68. package/dist/kernel/components/blocks/page-list.d.ts +1 -1
  69. package/dist/kernel/components/blocks/page-list.js +11 -16
  70. package/dist/kernel/components/blocks/search.d.ts +13 -2
  71. package/dist/kernel/components/blocks/search.js +116 -247
  72. package/dist/kernel/components/blocks/sidebar-node.d.ts +2 -2
  73. package/dist/kernel/components/blocks/sidebar-node.js +56 -95
  74. package/dist/kernel/components/blocks/sidebar.d.ts +5 -23
  75. package/dist/kernel/components/blocks/sidebar.js +35 -103
  76. package/dist/kernel/components/blocks/theme-toggle.d.ts +7 -3
  77. package/dist/kernel/components/blocks/theme-toggle.js +2 -2
  78. package/dist/kernel/components/blocks/toc.js +42 -178
  79. package/dist/kernel/components/mdx/components/blockquote.js +3 -24
  80. package/dist/kernel/components/mdx/components/callout.d.ts +1 -1
  81. package/dist/kernel/components/mdx/components/callout.js +15 -47
  82. package/dist/kernel/components/mdx/components/code-block.js +2 -2
  83. package/dist/kernel/components/mdx/components/figure-caption.js +6 -24
  84. package/dist/kernel/components/mdx/components/figure.js +9 -36
  85. package/dist/kernel/components/mdx/components/footnotes.js +3 -24
  86. package/dist/kernel/components/mdx/components/heading-copy-link.js +13 -37
  87. package/dist/kernel/components/mdx/components/heading.d.ts +8 -3
  88. package/dist/kernel/components/mdx/components/heading.js +32 -116
  89. package/dist/kernel/components/mdx/components/hr.d.ts +5 -3
  90. package/dist/kernel/components/mdx/components/hr.js +2 -2
  91. package/dist/kernel/components/mdx/components/image-zoom.js +2 -3
  92. package/dist/kernel/components/mdx/components/image.js +23 -63
  93. package/dist/kernel/components/mdx/components/inline-code.js +3 -24
  94. package/dist/kernel/components/mdx/components/kbd.d.ts +9 -4
  95. package/dist/kernel/components/mdx/components/kbd.js +2 -2
  96. package/dist/kernel/components/mdx/components/link.d.ts +1 -2
  97. package/dist/kernel/components/mdx/components/link.js +2 -2
  98. package/dist/kernel/components/mdx/components/paragraph.js +13 -41
  99. package/dist/kernel/components/mdx/components/pre.js +3 -24
  100. package/dist/kernel/components/mdx/components/strikethrough.js +6 -24
  101. package/dist/kernel/components/mdx/components/table.js +2 -2
  102. package/dist/kernel/components/mdx/components/task-list.js +6 -28
  103. package/dist/kernel/components/mdx/components/video-player.js +53 -88
  104. package/dist/kernel/components/mdx/components/video.js +27 -75
  105. package/dist/kernel/components/mdx/error-boundary.d.ts +1 -1
  106. package/dist/kernel/components/mdx/error-boundary.js +12 -15
  107. package/dist/kernel/components/mdx/error-fallback.js +4 -4
  108. package/dist/kernel/components/mdx/mdx.d.ts +68 -11
  109. package/dist/kernel/components/mdx/mdx.js +29 -29
  110. package/dist/kernel/components/mdx/rehype-heading-ids.js +11 -67
  111. package/dist/kernel/components/mdx/types.d.ts +1 -1
  112. package/dist/kernel/components/ui/accordion.js +3 -26
  113. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +26 -8
  114. package/dist/kernel/components/ui/breadcrumb-trail.js +32 -79
  115. package/dist/kernel/components/ui/breadcrumb.d.ts +2 -6
  116. package/dist/kernel/components/ui/breadcrumb.js +21 -70
  117. package/dist/kernel/components/ui/button-group.d.ts +4 -3
  118. package/dist/kernel/components/ui/button-group.js +7 -30
  119. package/dist/kernel/components/ui/button.js +13 -36
  120. package/dist/kernel/components/ui/card.d.ts +2 -2
  121. package/dist/kernel/components/ui/card.js +2 -23
  122. package/dist/kernel/components/ui/dialog.d.ts +9 -9
  123. package/dist/kernel/components/ui/dialog.js +15 -33
  124. package/dist/kernel/components/ui/drawer.d.ts +10 -10
  125. package/dist/kernel/components/ui/drawer.js +15 -33
  126. package/dist/kernel/components/ui/input.js +6 -30
  127. package/dist/kernel/components/ui/kbd.js +10 -31
  128. package/dist/kernel/components/ui/link.d.ts +1 -1
  129. package/dist/kernel/components/ui/link.js +53 -104
  130. package/dist/kernel/components/ui/menu.d.ts +21 -21
  131. package/dist/kernel/components/ui/menu.js +14 -36
  132. package/dist/kernel/components/ui/meta-key.d.ts +9 -4
  133. package/dist/kernel/components/ui/meta-key.js +2 -2
  134. package/dist/kernel/components/ui/navigation-menu.d.ts +14 -14
  135. package/dist/kernel/components/ui/navigation-menu.js +9 -30
  136. package/dist/kernel/components/ui/popover.d.ts +10 -10
  137. package/dist/kernel/components/ui/popover.js +13 -34
  138. package/dist/kernel/components/ui/progress.js +2 -25
  139. package/dist/kernel/components/ui/scroll-area.js +39 -118
  140. package/dist/kernel/components/ui/select.d.ts +15 -15
  141. package/dist/kernel/components/ui/select.js +19 -35
  142. package/dist/kernel/components/ui/separator.js +2 -25
  143. package/dist/kernel/components/ui/table.js +2 -23
  144. package/dist/kernel/components/ui/tabs.js +39 -99
  145. package/dist/kernel/components/ui/tag.d.ts +2 -2
  146. package/dist/kernel/components/ui/tag.js +4 -25
  147. package/dist/kernel/components/ui/text.d.ts +2 -2
  148. package/dist/kernel/components/ui/text.js +112 -131
  149. package/dist/kernel/components/ui/theme-toggle.d.ts +18 -4
  150. package/dist/kernel/components/ui/theme-toggle.js +18 -44
  151. package/dist/kernel/components/ui/toast.d.ts +10 -10
  152. package/dist/kernel/components/ui/toast.js +13 -35
  153. package/dist/kernel/components/ui/tooltip.d.ts +8 -8
  154. package/dist/kernel/components/ui/tooltip.js +9 -30
  155. package/dist/kernel/defaults.registry.d.ts +61 -70
  156. package/dist/kernel/defaults.registry.js +61 -69
  157. package/dist/kernel/framework-icons.d.ts +1 -0
  158. package/dist/kernel/framework-icons.js +39 -0
  159. package/dist/kernel/routes/agent/markdown.js +36 -65
  160. package/dist/kernel/routes/layouts/group.d.ts +1 -1
  161. package/dist/kernel/routes/layouts/group.js +20 -109
  162. package/dist/kernel/routes/metadata/feed.d.ts +1 -2
  163. package/dist/kernel/routes/metadata/feed.js +46 -127
  164. package/dist/kernel/routes/metadata/llms.d.ts +1 -2
  165. package/dist/kernel/routes/metadata/llms.js +42 -120
  166. package/dist/kernel/routes/metadata/og-image.d.ts +11 -1
  167. package/dist/kernel/routes/metadata/og-image.js +264 -198
  168. package/dist/kernel/routes/metadata/robots.d.ts +1 -2
  169. package/dist/kernel/routes/metadata/robots.js +21 -90
  170. package/dist/kernel/routes/metadata/sitemap.d.ts +1 -2
  171. package/dist/kernel/routes/metadata/sitemap.js +36 -102
  172. package/dist/kernel/routes/pages/group.d.ts +1 -1
  173. package/dist/kernel/routes/pages/group.js +42 -137
  174. package/dist/kernel/routes/pages/leaf.d.ts +1 -1
  175. package/dist/kernel/routes/pages/leaf.js +74 -213
  176. package/dist/kernel/routes/pages/root.d.ts +1 -1
  177. package/dist/kernel/routes/pages/root.js +37 -108
  178. package/dist/keyboard-shortcuts.js +69 -141
  179. package/dist/{kernel/components/ui/link.d.cts → link-CYaCRDb6.d.ts} +9 -5
  180. package/dist/resolvers/manifest-resolver.d.ts +3 -3
  181. package/dist/resolvers/manifest-resolver.js +15 -21
  182. package/dist/{kernel/routes/metadata/og-image.d.cts → route-metadata-og-image-BeKKFHg7.d.ts} +12 -16
  183. package/dist/search.d.ts +81 -4
  184. package/dist/search.js +124 -195
  185. package/dist/{kernel/components/blocks/sidebar.d.cts → sidebar-types-Bgchdfd6.d.ts} +2 -10
  186. package/dist/theme-scope.d.ts +15 -0
  187. package/dist/theme-scope.js +23 -0
  188. package/dist/types-B_b3C0U6.d.ts +63 -0
  189. package/dist/types-CIwwieNw.d.ts +127 -0
  190. package/dist/types-DHBm7-j6.d.ts +57 -0
  191. package/dist/types-sM2g9nW0.d.ts +12 -0
  192. package/dist/types.d.ts +0 -1
  193. package/dist/types.js +1 -1
  194. package/dist/utils/cn.d.ts +5 -9
  195. package/dist/utils/cn.js +13 -7
  196. package/dist/utils/heading-ids.js +20 -47
  197. package/dist/utils/pretty-date.js +7 -13
  198. package/init/seed/minimal/publish.os/assets/logo/publish-dev-logo.dark.png +0 -0
  199. package/init/seed/minimal/publish.os/assets/logo/publish-dev-logo.png +0 -0
  200. package/init/seed/minimal/publish.os/docs/content/get-started.mdx +54 -0
  201. package/init/seed/minimal/publish.os/docs/content/groups.mdx +31 -0
  202. package/init/seed/minimal/publish.os/docs/content/theme.mdx +64 -0
  203. package/init/seed/minimal/publish.os/publish.os.config.json +21 -0
  204. package/init/seed/minimal/publish.os/theme.css +47 -0
  205. package/init/seed/minimal/seed.json +13 -0
  206. package/package.json +470 -40
  207. package/release/{package.json → app/lucide/package.json} +14 -7
  208. package/release/app/lucide/pnpm-lock.yaml.template +2905 -0
  209. package/release/app/lucide/pnpm-workspace.yaml +11 -0
  210. package/release/app/phosphor/package.json +30 -0
  211. package/release/app/phosphor/pnpm-lock.yaml.template +2908 -0
  212. package/release/app/phosphor/pnpm-workspace.yaml +11 -0
  213. package/release/app/tabler/package.json +30 -0
  214. package/release/app/tabler/pnpm-lock.yaml.template +2911 -0
  215. package/release/app/tabler/pnpm-workspace.yaml +11 -0
  216. package/release/compiler/package.json +20 -0
  217. package/release/compiler/pnpm-lock.yaml.template +2432 -0
  218. package/release/compiler/pnpm-workspace.yaml +11 -0
  219. package/release/release.json +31 -7
  220. package/dist/cache/tags.cjs +0 -79
  221. package/dist/cache/tags.d.cts +0 -13
  222. package/dist/config/createNextConfig.cjs +0 -52
  223. package/dist/config/createNextConfig.d.cts +0 -8
  224. package/dist/config.cjs +0 -78
  225. package/dist/config.d.cts +0 -101
  226. package/dist/config.d.ts +0 -101
  227. package/dist/config.js +0 -48
  228. package/dist/index.cjs +0 -1266
  229. package/dist/index.d.cts +0 -18
  230. package/dist/kernel/components/blocks/AgentActions.cjs +0 -425
  231. package/dist/kernel/components/blocks/AgentActions.d.cts +0 -52
  232. package/dist/kernel/components/blocks/animated-icon-swap.cjs +0 -101
  233. package/dist/kernel/components/blocks/animated-icon-swap.d.cts +0 -16
  234. package/dist/kernel/components/blocks/color-palette.cjs +0 -413
  235. package/dist/kernel/components/blocks/color-palette.d.cts +0 -7
  236. package/dist/kernel/components/blocks/design-system-preview.cjs +0 -593
  237. package/dist/kernel/components/blocks/design-system-preview.d.cts +0 -29
  238. package/dist/kernel/components/blocks/link-playground.cjs +0 -816
  239. package/dist/kernel/components/blocks/link-playground.d.cts +0 -5
  240. package/dist/kernel/components/blocks/logo-block.cjs +0 -156
  241. package/dist/kernel/components/blocks/logo-block.d.cts +0 -21
  242. package/dist/kernel/components/blocks/nav-breadcrumb.cjs +0 -122
  243. package/dist/kernel/components/blocks/nav-breadcrumb.d.cts +0 -11
  244. package/dist/kernel/components/blocks/navbar.cjs +0 -154
  245. package/dist/kernel/components/blocks/navbar.d.cts +0 -16
  246. package/dist/kernel/components/blocks/navigation-progress-playground.cjs +0 -735
  247. package/dist/kernel/components/blocks/navigation-progress-playground.d.cts +0 -5
  248. package/dist/kernel/components/blocks/navigation-progress.cjs +0 -270
  249. package/dist/kernel/components/blocks/navigation-progress.d.cts +0 -16
  250. package/dist/kernel/components/blocks/next-prev.cjs +0 -142
  251. package/dist/kernel/components/blocks/next-prev.d.cts +0 -11
  252. package/dist/kernel/components/blocks/page-list.cjs +0 -59
  253. package/dist/kernel/components/blocks/page-list.d.cts +0 -11
  254. package/dist/kernel/components/blocks/search.cjs +0 -717
  255. package/dist/kernel/components/blocks/search.d.cts +0 -77
  256. package/dist/kernel/components/blocks/sidebar-node.cjs +0 -309
  257. package/dist/kernel/components/blocks/sidebar-node.d.cts +0 -8
  258. package/dist/kernel/components/blocks/sidebar.cjs +0 -317
  259. package/dist/kernel/components/blocks/theme-toggle.cjs +0 -31
  260. package/dist/kernel/components/blocks/theme-toggle.d.cts +0 -6
  261. package/dist/kernel/components/blocks/toc.cjs +0 -356
  262. package/dist/kernel/components/blocks/toc.d.cts +0 -10
  263. package/dist/kernel/components/mdx/components/blockquote.cjs +0 -66
  264. package/dist/kernel/components/mdx/components/blockquote.d.cts +0 -6
  265. package/dist/kernel/components/mdx/components/callout.cjs +0 -137
  266. package/dist/kernel/components/mdx/components/callout.d.cts +0 -18
  267. package/dist/kernel/components/mdx/components/code-block.cjs +0 -39
  268. package/dist/kernel/components/mdx/components/code-block.d.cts +0 -9
  269. package/dist/kernel/components/mdx/components/figure-caption.cjs +0 -63
  270. package/dist/kernel/components/mdx/components/figure-caption.d.cts +0 -6
  271. package/dist/kernel/components/mdx/components/figure.cjs +0 -78
  272. package/dist/kernel/components/mdx/components/figure.d.cts +0 -10
  273. package/dist/kernel/components/mdx/components/footnotes.cjs +0 -66
  274. package/dist/kernel/components/mdx/components/footnotes.d.cts +0 -6
  275. package/dist/kernel/components/mdx/components/heading-copy-link.cjs +0 -108
  276. package/dist/kernel/components/mdx/components/heading-copy-link.d.cts +0 -23
  277. package/dist/kernel/components/mdx/components/heading.cjs +0 -166
  278. package/dist/kernel/components/mdx/components/heading.d.cts +0 -8
  279. package/dist/kernel/components/mdx/components/hr.cjs +0 -34
  280. package/dist/kernel/components/mdx/components/hr.d.cts +0 -9
  281. package/dist/kernel/components/mdx/components/image-zoom.cjs +0 -49
  282. package/dist/kernel/components/mdx/components/image-zoom.d.cts +0 -10
  283. package/dist/kernel/components/mdx/components/image.cjs +0 -192
  284. package/dist/kernel/components/mdx/components/image.d.cts +0 -21
  285. package/dist/kernel/components/mdx/components/inline-code.cjs +0 -66
  286. package/dist/kernel/components/mdx/components/inline-code.d.cts +0 -6
  287. package/dist/kernel/components/mdx/components/kbd.cjs +0 -34
  288. package/dist/kernel/components/mdx/components/kbd.d.cts +0 -10
  289. package/dist/kernel/components/mdx/components/link.cjs +0 -49
  290. package/dist/kernel/components/mdx/components/link.d.cts +0 -11
  291. package/dist/kernel/components/mdx/components/paragraph.cjs +0 -87
  292. package/dist/kernel/components/mdx/components/paragraph.d.cts +0 -5
  293. package/dist/kernel/components/mdx/components/pre.cjs +0 -66
  294. package/dist/kernel/components/mdx/components/pre.d.cts +0 -6
  295. package/dist/kernel/components/mdx/components/strikethrough.cjs +0 -63
  296. package/dist/kernel/components/mdx/components/strikethrough.d.cts +0 -6
  297. package/dist/kernel/components/mdx/components/table.cjs +0 -59
  298. package/dist/kernel/components/mdx/components/table.d.cts +0 -10
  299. package/dist/kernel/components/mdx/components/task-list.cjs +0 -88
  300. package/dist/kernel/components/mdx/components/task-list.d.cts +0 -8
  301. package/dist/kernel/components/mdx/components/video-player.cjs +0 -173
  302. package/dist/kernel/components/mdx/components/video-player.d.cts +0 -18
  303. package/dist/kernel/components/mdx/components/video.cjs +0 -185
  304. package/dist/kernel/components/mdx/components/video.d.cts +0 -15
  305. package/dist/kernel/components/mdx/error-boundary.cjs +0 -62
  306. package/dist/kernel/components/mdx/error-boundary.d.cts +0 -8
  307. package/dist/kernel/components/mdx/error-fallback.cjs +0 -58
  308. package/dist/kernel/components/mdx/error-fallback.d.cts +0 -9
  309. package/dist/kernel/components/mdx/mdx.cjs +0 -141
  310. package/dist/kernel/components/mdx/mdx.d.cts +0 -22
  311. package/dist/kernel/components/mdx/rehype-heading-ids.cjs +0 -113
  312. package/dist/kernel/components/mdx/rehype-heading-ids.d.cts +0 -10
  313. package/dist/kernel/components/mdx/types.cjs +0 -18
  314. package/dist/kernel/components/mdx/types.d.cts +0 -18
  315. package/dist/kernel/components/ui/accordion.cjs +0 -104
  316. package/dist/kernel/components/ui/accordion.d.cts +0 -16
  317. package/dist/kernel/components/ui/breadcrumb-trail.cjs +0 -238
  318. package/dist/kernel/components/ui/breadcrumb-trail.d.cts +0 -13
  319. package/dist/kernel/components/ui/breadcrumb.cjs +0 -399
  320. package/dist/kernel/components/ui/breadcrumb.d.cts +0 -52
  321. package/dist/kernel/components/ui/button-group.cjs +0 -143
  322. package/dist/kernel/components/ui/button-group.d.cts +0 -19
  323. package/dist/kernel/components/ui/button.cjs +0 -139
  324. package/dist/kernel/components/ui/card.cjs +0 -133
  325. package/dist/kernel/components/ui/card.d.cts +0 -17
  326. package/dist/kernel/components/ui/dialog.cjs +0 -149
  327. package/dist/kernel/components/ui/dialog.d.cts +0 -22
  328. package/dist/kernel/components/ui/drawer.cjs +0 -163
  329. package/dist/kernel/components/ui/drawer.d.cts +0 -24
  330. package/dist/kernel/components/ui/input.cjs +0 -96
  331. package/dist/kernel/components/ui/input.d.cts +0 -18
  332. package/dist/kernel/components/ui/kbd.cjs +0 -105
  333. package/dist/kernel/components/ui/kbd.d.cts +0 -13
  334. package/dist/kernel/components/ui/link.cjs +0 -253
  335. package/dist/kernel/components/ui/menu.cjs +0 -301
  336. package/dist/kernel/components/ui/menu.d.cts +0 -70
  337. package/dist/kernel/components/ui/meta-key.cjs +0 -34
  338. package/dist/kernel/components/ui/meta-key.d.cts +0 -12
  339. package/dist/kernel/components/ui/navigation-menu.cjs +0 -253
  340. package/dist/kernel/components/ui/navigation-menu.d.cts +0 -47
  341. package/dist/kernel/components/ui/popover.cjs +0 -168
  342. package/dist/kernel/components/ui/popover.d.cts +0 -24
  343. package/dist/kernel/components/ui/progress.cjs +0 -112
  344. package/dist/kernel/components/ui/progress.d.cts +0 -16
  345. package/dist/kernel/components/ui/scroll-area.cjs +0 -413
  346. package/dist/kernel/components/ui/scroll-area.d.cts +0 -58
  347. package/dist/kernel/components/ui/select.cjs +0 -244
  348. package/dist/kernel/components/ui/select.d.cts +0 -40
  349. package/dist/kernel/components/ui/separator.cjs +0 -73
  350. package/dist/kernel/components/ui/separator.d.cts +0 -8
  351. package/dist/kernel/components/ui/table.cjs +0 -131
  352. package/dist/kernel/components/ui/table.d.cts +0 -11
  353. package/dist/kernel/components/ui/tabs.cjs +0 -450
  354. package/dist/kernel/components/ui/tabs.d.cts +0 -82
  355. package/dist/kernel/components/ui/tag.cjs +0 -104
  356. package/dist/kernel/components/ui/tag.d.cts +0 -14
  357. package/dist/kernel/components/ui/text.cjs +0 -184
  358. package/dist/kernel/components/ui/text.d.cts +0 -17
  359. package/dist/kernel/components/ui/theme-toggle.cjs +0 -108
  360. package/dist/kernel/components/ui/theme-toggle.d.cts +0 -10
  361. package/dist/kernel/components/ui/toast.cjs +0 -154
  362. package/dist/kernel/components/ui/toast.d.cts +0 -26
  363. package/dist/kernel/components/ui/tooltip.cjs +0 -127
  364. package/dist/kernel/components/ui/tooltip.d.cts +0 -20
  365. package/dist/kernel/defaults.registry.cjs +0 -541
  366. package/dist/kernel/defaults.registry.d.cts +0 -469
  367. package/dist/kernel/routes/agent/markdown.cjs +0 -202
  368. package/dist/kernel/routes/agent/markdown.d.cts +0 -58
  369. package/dist/kernel/routes/layouts/group.cjs +0 -181
  370. package/dist/kernel/routes/layouts/group.d.cts +0 -20
  371. package/dist/kernel/routes/metadata/feed.cjs +0 -293
  372. package/dist/kernel/routes/metadata/feed.d.cts +0 -20
  373. package/dist/kernel/routes/metadata/llms.cjs +0 -239
  374. package/dist/kernel/routes/metadata/llms.d.cts +0 -26
  375. package/dist/kernel/routes/metadata/og-image.cjs +0 -630
  376. package/dist/kernel/routes/metadata/robots.cjs +0 -148
  377. package/dist/kernel/routes/metadata/robots.d.cts +0 -6
  378. package/dist/kernel/routes/metadata/sitemap.cjs +0 -192
  379. package/dist/kernel/routes/metadata/sitemap.d.cts +0 -8
  380. package/dist/kernel/routes/pages/group.cjs +0 -263
  381. package/dist/kernel/routes/pages/group.d.cts +0 -17
  382. package/dist/kernel/routes/pages/leaf.cjs +0 -421
  383. package/dist/kernel/routes/pages/leaf.d.cts +0 -36
  384. package/dist/kernel/routes/pages/root.cjs +0 -229
  385. package/dist/kernel/routes/pages/root.d.cts +0 -16
  386. package/dist/keyboard-shortcuts.cjs +0 -345
  387. package/dist/keyboard-shortcuts.d.cts +0 -34
  388. package/dist/resolvers/manifest-resolver.cjs +0 -111
  389. package/dist/resolvers/manifest-resolver.d.cts +0 -13
  390. package/dist/search.cjs +0 -411
  391. package/dist/search.d.cts +0 -20
  392. package/dist/types.cjs +0 -30
  393. package/dist/types.d.cts +0 -269
  394. package/dist/utils/cn.cjs +0 -49
  395. package/dist/utils/cn.d.cts +0 -15
  396. package/dist/utils/heading-ids.cjs +0 -119
  397. package/dist/utils/heading-ids.d.cts +0 -15
  398. package/dist/utils/pretty-date.cjs +0 -55
  399. package/dist/utils/pretty-date.d.cts +0 -6
  400. package/release/pnpm-lock.yaml +0 -1215
@@ -1,7 +1,5 @@
1
- // src/kernel/components/blocks/nav-breadcrumb.tsx
2
- import {
3
- BreadcrumbTrail
4
- } from "../ui/breadcrumb.js";
1
+ // src/components/block/navigation/nav-breadcrumb.tsx
2
+ import { CollapsibleBreadcrumbTrail } from "@publish.os/nextjs/kernel/components/ui/breadcrumb-trail";
5
3
  import { jsx } from "react/jsx-runtime";
6
4
  function titleFor(node) {
7
5
  return node.title;
@@ -9,33 +7,25 @@ function titleFor(node) {
9
7
  function pathFor(node) {
10
8
  if (node.type === "page") return node.path;
11
9
  if (node.type === "link") return node.href;
12
- if (node.type === "folder") return node.path;
13
- if (node.type === "section") return node.path;
14
- return void 0;
10
+ if (node.type === "folder" || node.type === "section") return node.path;
15
11
  }
16
12
  function rankFor(node) {
17
- if (node.type === "page" || node.type === "section") return 2;
18
- if (node.type === "folder") return 1;
19
- return 0;
13
+ return node.type === "page" || node.type === "section" ? 2 : node.type === "folder" ? 1 : 0;
20
14
  }
21
15
  function findCrumbs(nodes, pathname, parents = []) {
22
- const matches = [];
23
- for (const node of nodes) {
24
- const path = pathFor(node);
25
- const nextParents = path ? [...parents, { title: titleFor(node), path }] : parents;
26
- if (path === pathname) {
27
- matches.push({
28
- crumbs: nextParents.map((crumb, index) => ({
29
- ...crumb,
30
- current: index === nextParents.length - 1
31
- })),
32
- pathLength: path.length,
33
- rank: rankFor(node)
34
- });
35
- }
36
- if (node.type === "section" || node.type === "folder") {
37
- const childMatch = findCrumbs(node.children, pathname, nextParents);
38
- if (childMatch) matches.push(childMatch);
16
+ let matches = [];
17
+ for (let node of nodes) {
18
+ let path = pathFor(node), nextParents = path ? [...parents, { title: titleFor(node), path }] : parents;
19
+ if (path === pathname && matches.push({
20
+ crumbs: nextParents.map((crumb, index) => ({
21
+ ...crumb,
22
+ current: index === nextParents.length - 1
23
+ })),
24
+ pathLength: path.length,
25
+ rank: rankFor(node)
26
+ }), node.type === "section" || node.type === "folder") {
27
+ let childMatch = findCrumbs(node.children, pathname, nextParents);
28
+ childMatch && matches.push(childMatch);
39
29
  }
40
30
  }
41
31
  return matches.sort(
@@ -43,56 +33,42 @@ function findCrumbs(nodes, pathname, parents = []) {
43
33
  )[0] ?? null;
44
34
  }
45
35
  function groupFallback(tree, pathname) {
46
- const groups = tree.map((group) => ({ group, path: pathFor(group) })).filter(
47
- (entry) => typeof entry.path === "string"
36
+ let groups = tree.map((group) => ({ group, path: pathFor(group) })).filter(
37
+ (entry) => typeof entry.path == "string"
48
38
  ).sort((a, b) => b.path.length - a.path.length);
49
- for (const { group, path } of groups) {
50
- if (pathname.startsWith(`${path}/`)) {
39
+ for (let { group, path } of groups)
40
+ if (pathname.startsWith(`${path}/`))
51
41
  return [{ title: titleFor(group), path }];
52
- }
53
- }
54
42
  return [];
55
43
  }
56
44
  function buildCrumbs(site, tree, pathname) {
57
- const root = {
45
+ let root = {
58
46
  title: site.name,
59
47
  path: "/",
60
48
  current: pathname === "/"
61
49
  };
62
50
  if (pathname === "/") return [root];
63
- const treeMatch = findCrumbs(tree, pathname);
64
- if (treeMatch) return [root, ...treeMatch.crumbs];
65
- return [
51
+ let treeMatch = findCrumbs(tree, pathname);
52
+ return treeMatch ? [root, ...treeMatch.crumbs] : [
66
53
  root,
67
54
  ...groupFallback(tree, pathname).map((crumb) => ({
68
55
  ...crumb,
69
- current: false
56
+ current: !1
70
57
  }))
71
58
  ];
72
59
  }
73
60
  function NavBreadcrumb({
74
61
  currentPath = "/",
75
- showRoot = true,
62
+ showRoot = !0,
76
63
  site,
77
64
  tree
78
65
  }) {
79
- const crumbs = buildCrumbs(site, tree, currentPath);
80
- const visibleCrumbs = showRoot ? crumbs : crumbs.slice(1);
81
- const items = visibleCrumbs.map((crumb) => ({
66
+ let crumbs = buildCrumbs(site, tree, currentPath), items = (showRoot ? crumbs : crumbs.slice(1)).map((crumb) => ({
82
67
  current: crumb.current,
83
68
  href: crumb.path,
84
69
  title: crumb.title
85
70
  }));
86
- if (items.length === 0) return null;
87
- return /* @__PURE__ */ jsx(
88
- BreadcrumbTrail,
89
- {
90
- collapseAfter: 1,
91
- collapseBefore: 2,
92
- items,
93
- size: "sm"
94
- }
95
- );
71
+ return items.length === 0 ? null : /* @__PURE__ */ jsx(CollapsibleBreadcrumbTrail, { items, size: "sm" });
96
72
  }
97
73
  export {
98
74
  NavBreadcrumb
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { LogoBlockLogo, LogoBlockAsset } from './logo-block.js';
3
- import { SiteData, TreeNode } from '@publish.os/nextjs/types';
3
+ import { S as SiteData, T as TreeNode } from '../../../types-B_b3C0U6.js';
4
4
 
5
5
  type NavbarProps = {
6
6
  logo?: NavbarLogo;
@@ -1,58 +1,32 @@
1
1
  "use client";
2
2
 
3
- // src/kernel/components/blocks/navbar.tsx
3
+ // src/components/block/navigation/navbar.tsx
4
4
  import {
5
5
  LogoBlock
6
- } from "./logo-block.js";
7
- import { NavBreadcrumb } from "./nav-breadcrumb.js";
8
- import { Search } from "./search.js";
9
- import { ThemeToggle } from "./theme-toggle.js";
10
- import { Link } from "../ui/link.js";
11
-
12
- // src/utils/cn.ts
13
- import { clsx } from "clsx";
14
- import { extendTailwindMerge } from "tailwind-merge";
15
- var twMerge = extendTailwindMerge({
16
- extend: {
17
- classGroups: {
18
- z: [
19
- "z-content",
20
- "z-nav",
21
- "z-overlay",
22
- "z-modal",
23
- "z-search",
24
- "z-toast",
25
- "z-progress"
26
- ]
27
- }
28
- }
29
- });
30
- function cn(...inputs) {
31
- return twMerge(clsx(inputs));
32
- }
33
-
34
- // src/kernel/components/blocks/navbar.tsx
35
- import { ArrowRight } from "lucide-react";
6
+ } from "@publish.os/nextjs/kernel/components/blocks/logo-block";
7
+ import { NavBreadcrumb } from "@publish.os/nextjs/kernel/components/blocks/nav-breadcrumb";
8
+ import { Search } from "@publish.os/nextjs/kernel/components/blocks/search";
9
+ import { ThemeToggle } from "@publish.os/nextjs/kernel/components/blocks/theme-toggle";
10
+ import { Link } from "@publish.os/nextjs/kernel/components/ui/link";
11
+ import { FrameworkArrowRightIcon as ArrowRight } from "@publish.os/nextjs/kernel/framework-icons";
12
+ import { cn } from "@publish.os/nextjs/utils/cn";
36
13
  import NextLink from "next/link";
37
14
  import { usePathname } from "next/navigation";
38
15
  import { jsx, jsxs } from "react/jsx-runtime";
39
16
  function hasPath(node) {
40
- return "path" in node && typeof node.path === "string";
17
+ return "path" in node && typeof node.path == "string";
41
18
  }
42
19
  function isTopLevelGroup(node) {
43
- return node.type === "section" && typeof node.group === "string" && !node.group.includes("/");
20
+ return node.type === "section" && typeof node.group == "string" && !node.group.includes("/");
44
21
  }
45
22
  function Navbar({
46
23
  logo,
47
24
  site,
48
25
  siteTitle,
49
- showThemeToggle = true,
26
+ showThemeToggle = !0,
50
27
  tree
51
28
  }) {
52
- const pathname = usePathname() || "/";
53
- const headerSite = site ?? { name: siteTitle ?? "Site" };
54
- const groups = tree.filter(hasPath).filter(isTopLevelGroup);
55
- const activeGroupPath = groups.map((group) => group.path).filter((path) => pathname === path || pathname.startsWith(`${path}/`)).sort((a, b) => b.length - a.length)[0];
29
+ let pathname = usePathname() || "/", headerSite = site ?? { name: siteTitle ?? "Site" }, groups = tree.filter(hasPath).filter(isTopLevelGroup), activeGroupPath = groups.map((group) => group.path).filter((path) => pathname === path || pathname.startsWith(`${path}/`)).sort((a, b) => b.length - a.length)[0];
56
30
  return /* @__PURE__ */ jsx("header", { className: "sticky top-0 z-nav border-b border-stroke-3 bg-surface-2 [anchor-name:--global-navbar]", children: /* @__PURE__ */ 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: [
57
31
  /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-3", children: [
58
32
  /* @__PURE__ */ jsx(
@@ -69,7 +43,7 @@ function Navbar({
69
43
  NavBreadcrumb,
70
44
  {
71
45
  currentPath: pathname,
72
- showRoot: false,
46
+ showRoot: !1,
73
47
  site: headerSite,
74
48
  tree
75
49
  }
@@ -82,8 +56,7 @@ function Navbar({
82
56
  "aria-label": "Groups",
83
57
  className: "flex min-w-0 flex-wrap items-center gap-2 text-sm",
84
58
  children: groups.map((group) => {
85
- const path = group.path;
86
- const active = path === activeGroupPath;
59
+ let path = group.path, active = path === activeGroupPath;
87
60
  return /* @__PURE__ */ jsx(
88
61
  Link,
89
62
  {
@@ -1,37 +1,14 @@
1
1
  "use client";
2
2
 
3
- // src/kernel/components/blocks/navigation-progress-playground.tsx
4
- import { Button } from "../ui/button.js";
3
+ // src/modules/design-system/navigation-progress-playground.tsx
4
+ import { Button } from "@publish.os/nextjs/kernel/components/ui/button";
5
5
  import {
6
6
  Progress,
7
7
  ProgressIndicator,
8
8
  ProgressTrack
9
- } from "../ui/progress.js";
10
- import { Tabs, TabsList, TabsPanel, TabsTab } from "../ui/tabs.js";
11
-
12
- // src/utils/cn.ts
13
- import { clsx } from "clsx";
14
- import { extendTailwindMerge } from "tailwind-merge";
15
- var twMerge = extendTailwindMerge({
16
- extend: {
17
- classGroups: {
18
- z: [
19
- "z-content",
20
- "z-nav",
21
- "z-overlay",
22
- "z-modal",
23
- "z-search",
24
- "z-toast",
25
- "z-progress"
26
- ]
27
- }
28
- }
29
- });
30
- function cn(...inputs) {
31
- return twMerge(clsx(inputs));
32
- }
33
-
34
- // src/kernel/components/blocks/navigation-progress-playground.tsx
9
+ } from "@publish.os/nextjs/kernel/components/ui/progress";
10
+ import { Tabs, TabsList, TabsPanel, TabsTab } from "@publish.os/nextjs/kernel/components/ui/tabs";
11
+ import { cn } from "@publish.os/nextjs/utils/cn";
35
12
  import {
36
13
  useCallback,
37
14
  useEffect,
@@ -59,8 +36,8 @@ var presets = {
59
36
  transitionDuration: 320,
60
37
  curvePower: 3,
61
38
  height: 2,
62
- fill: "var(--progress-bar-fill, var(--accent-1, #111111))",
63
- track: "var(--progress-bar-background, transparent)",
39
+ fill: "var(--progress-indicator-surface)",
40
+ track: "var(--progress-track-surface)",
64
41
  progressEase: "cubic-bezier(0.21, 0.65, 0.35, 1)",
65
42
  exitEase: "cubic-bezier(0.55, 0.06, 0.68, 0.19)",
66
43
  transformOrigin: "left",
@@ -109,16 +86,15 @@ var presets = {
109
86
  transitionDuration: 180,
110
87
  curvePower: 2.6,
111
88
  height: 2,
112
- fill: "var(--progress-bar-fill, var(--accent-1, #111111))",
113
- track: "var(--progress-bar-background, transparent)",
89
+ fill: "var(--progress-indicator-surface)",
90
+ track: "var(--progress-track-surface)",
114
91
  progressEase: "cubic-bezier(0.12, 0.72, 0, 1)",
115
92
  exitEase: "cubic-bezier(0.2, 0, 0, 1)",
116
93
  transformOrigin: "left",
117
94
  exitTransformOrigin: "right"
118
95
  }
119
96
  }
120
- };
121
- var presetOrder = ["current", "aave", "tuned"];
97
+ }, presetOrder = ["current", "aave", "tuned"];
122
98
  function clamp({
123
99
  max,
124
100
  min,
@@ -145,7 +121,7 @@ const sampleDuration =
145
121
  :root {
146
122
  --animation-ease-progress: ${settings.progressEase};
147
123
  --animation-ease-progress-exit: ${settings.exitEase};
148
- --progress-bar-height: ${settings.height}px;
124
+ --progress-height: ${settings.height}px;
149
125
  }
150
126
 
151
127
  /* NavigationProgress indicator */
@@ -157,12 +133,11 @@ style={{
157
133
  }}
158
134
 
159
135
  /* Theme tokens */
160
- --progress-bar-fill: ${settings.fill};
161
- --progress-bar-background: ${settings.track};`;
136
+ --progress-indicator-surface: ${settings.fill};
137
+ --progress-track-surface: ${settings.track};`;
162
138
  }
163
139
  function randomDuration({ max, min }) {
164
- const lower = Math.min(min, max);
165
- const upper = Math.max(min, max);
140
+ let lower = Math.min(min, max), upper = Math.max(min, max);
166
141
  return Math.round(lower + Math.random() * (upper - lower));
167
142
  }
168
143
  function NumberControl({
@@ -174,8 +149,7 @@ function NumberControl({
174
149
  unit,
175
150
  value
176
151
  }) {
177
- const id = useId();
178
- const handleChange = (event) => {
152
+ let id = useId(), handleChange = (event) => {
179
153
  onChange(Number(event.target.value));
180
154
  };
181
155
  return /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
@@ -197,7 +171,7 @@ function NumberControl({
197
171
  /* @__PURE__ */ jsx(
198
172
  "input",
199
173
  {
200
- className: "h-1 w-full accent-foreground-1",
174
+ className: "h-1 w-full accent-1-foreground-1",
201
175
  id,
202
176
  max,
203
177
  min,
@@ -227,7 +201,7 @@ function TextControl({
227
201
  onChange,
228
202
  value
229
203
  }) {
230
- const id = useId();
204
+ let id = useId();
231
205
  return /* @__PURE__ */ jsxs(
232
206
  "label",
233
207
  {
@@ -241,7 +215,7 @@ function TextControl({
241
215
  className: "h-8 rounded-button border border-stroke-2 bg-surface-1 px-2 font-mono text-xs text-foreground-1 outline-none focus:border-accent-1",
242
216
  id,
243
217
  onChange: (event) => onChange(event.target.value),
244
- spellCheck: false,
218
+ spellCheck: !1,
245
219
  value
246
220
  }
247
221
  )
@@ -285,9 +259,7 @@ function ProgressPreview({
285
259
  progress,
286
260
  settings
287
261
  }) {
288
- const isVisible = progress > 0;
289
- const boundedProgress = clamp({ max: 100, min: 0, value: progress });
290
- const indicatorStyle = {
262
+ let isVisible = progress > 0, boundedProgress = clamp({ max: 100, min: 0, value: progress }), indicatorStyle = {
291
263
  background: settings.fill,
292
264
  transform: isExiting ? "scaleX(0)" : `scaleX(${boundedProgress / 100})`,
293
265
  transformOrigin: isExiting ? settings.exitTransformOrigin : settings.transformOrigin,
@@ -321,125 +293,60 @@ function ProgressPreview({
321
293
  );
322
294
  }
323
295
  function NavigationProgressPlayground() {
324
- const [settings, setSettings] = useState(
296
+ let [settings, setSettings] = useState(
325
297
  presets.tuned.settings
326
- );
327
- const [activePreset, setActivePreset] = useState("tuned");
328
- const [progress, setProgress] = useState(0);
329
- const [isExiting, setIsExiting] = useState(false);
330
- const [isRunning, setIsRunning] = useState(false);
331
- const [copyState, setCopyState] = useState("idle");
332
- const [sampleDuration, setSampleDuration] = useState(null);
333
- const animationFrame = useRef(null);
334
- const completionTimer = useRef(null);
335
- const settleTimer = useRef(null);
336
- const exitTimer = useRef(null);
337
- const activeNavigation = useRef(false);
338
- const output = useMemo(() => buildOutput(settings), [settings]);
339
- const clearTimers = useCallback(() => {
340
- if (animationFrame.current) cancelAnimationFrame(animationFrame.current);
341
- if (completionTimer.current) clearTimeout(completionTimer.current);
342
- if (settleTimer.current) clearTimeout(settleTimer.current);
343
- if (exitTimer.current) clearTimeout(exitTimer.current);
344
- animationFrame.current = null;
345
- completionTimer.current = null;
346
- settleTimer.current = null;
347
- exitTimer.current = null;
348
- }, []);
349
- const resetSample = useCallback(() => {
350
- clearTimers();
351
- activeNavigation.current = false;
352
- setProgress(0);
353
- setIsExiting(false);
354
- setIsRunning(false);
355
- setSampleDuration(null);
356
- }, [clearTimers]);
357
- const completeSample = useCallback(() => {
358
- if (!activeNavigation.current) return;
359
- if (animationFrame.current) {
360
- cancelAnimationFrame(animationFrame.current);
361
- animationFrame.current = null;
362
- }
363
- if (completionTimer.current) {
364
- clearTimeout(completionTimer.current);
365
- completionTimer.current = null;
366
- }
367
- setProgress(100);
368
- settleTimer.current = setTimeout(() => {
369
- if (!activeNavigation.current) return;
370
- setIsExiting(true);
371
- exitTimer.current = setTimeout(() => {
372
- setProgress(0);
373
- setIsExiting(false);
374
- setIsRunning(false);
375
- activeNavigation.current = false;
376
- exitTimer.current = null;
377
- }, settings.exitDuration);
378
- }, settings.settleDelay);
379
- }, [settings.exitDuration, settings.settleDelay]);
380
- const startSample = useCallback(() => {
381
- resetSample();
382
- activeNavigation.current = true;
383
- setIsRunning(true);
384
- setIsExiting(false);
385
- setProgress(settings.initialProgress);
386
- const startTime = performance.now();
387
- const routeDuration = randomDuration({
298
+ ), [activePreset, setActivePreset] = useState("tuned"), [progress, setProgress] = useState(0), [isExiting, setIsExiting] = useState(!1), [isRunning, setIsRunning] = useState(!1), [copyState, setCopyState] = useState("idle"), [sampleDuration, setSampleDuration] = useState(null), animationFrame = useRef(null), completionTimer = useRef(null), settleTimer = useRef(null), exitTimer = useRef(null), activeNavigation = useRef(!1), output = useMemo(() => buildOutput(settings), [settings]), clearTimers = useCallback(() => {
299
+ animationFrame.current && cancelAnimationFrame(animationFrame.current), completionTimer.current && clearTimeout(completionTimer.current), settleTimer.current && clearTimeout(settleTimer.current), exitTimer.current && clearTimeout(exitTimer.current), animationFrame.current = null, completionTimer.current = null, settleTimer.current = null, exitTimer.current = null;
300
+ }, []), resetSample = useCallback(() => {
301
+ clearTimers(), activeNavigation.current = !1, setProgress(0), setIsExiting(!1), setIsRunning(!1), setSampleDuration(null);
302
+ }, [clearTimers]), completeSample = useCallback(() => {
303
+ activeNavigation.current && (animationFrame.current && (cancelAnimationFrame(animationFrame.current), animationFrame.current = null), completionTimer.current && (clearTimeout(completionTimer.current), completionTimer.current = null), setProgress(100), settleTimer.current = setTimeout(() => {
304
+ activeNavigation.current && (setIsExiting(!0), exitTimer.current = setTimeout(() => {
305
+ setProgress(0), setIsExiting(!1), setIsRunning(!1), activeNavigation.current = !1, exitTimer.current = null;
306
+ }, settings.exitDuration));
307
+ }, settings.settleDelay));
308
+ }, [settings.exitDuration, settings.settleDelay]), startSample = useCallback(() => {
309
+ resetSample(), activeNavigation.current = !0, setIsRunning(!0), setIsExiting(!1), setProgress(settings.initialProgress);
310
+ let startTime = performance.now(), routeDuration = randomDuration({
388
311
  max: settings.sampleMaxDuration,
389
312
  min: settings.sampleMinDuration
390
313
  });
391
314
  setSampleDuration(routeDuration);
392
- const animate = () => {
315
+ let animate = () => {
393
316
  if (!activeNavigation.current) return;
394
- const elapsed = performance.now() - startTime;
395
- let progressValue;
396
- if (elapsed < settings.minDuration) {
317
+ let elapsed = performance.now() - startTime, progressValue;
318
+ if (elapsed < settings.minDuration)
397
319
  progressValue = settings.initialProgress + elapsed / settings.minDuration * (settings.fastPhaseEnd - settings.initialProgress);
398
- } else {
399
- const remainingProgress = settings.targetProgress - settings.fastPhaseEnd;
400
- const normalizedTime = clamp({
320
+ else {
321
+ let remainingProgress = settings.targetProgress - settings.fastPhaseEnd, easedTime = 1 - (1 - clamp({
401
322
  max: 1,
402
323
  min: 0,
403
324
  value: (elapsed - settings.minDuration) / (settings.maxDuration - settings.minDuration)
404
- });
405
- const easedTime = 1 - (1 - normalizedTime) ** settings.curvePower;
325
+ })) ** settings.curvePower;
406
326
  progressValue = settings.fastPhaseEnd + easedTime * remainingProgress;
407
327
  }
408
328
  setProgress(
409
329
  clamp({ max: settings.targetProgress, min: 0, value: progressValue })
410
- );
411
- animationFrame.current = requestAnimationFrame(animate);
330
+ ), animationFrame.current = requestAnimationFrame(animate);
412
331
  };
413
- animationFrame.current = requestAnimationFrame(animate);
414
- completionTimer.current = setTimeout(completeSample, routeDuration);
332
+ animationFrame.current = requestAnimationFrame(animate), completionTimer.current = setTimeout(completeSample, routeDuration);
415
333
  }, [completeSample, resetSample, settings]);
416
334
  useEffect(() => resetSample, [resetSample]);
417
- const updateNumber = (key, value) => {
418
- setActivePreset("custom");
419
- setSettings((current) => ({ ...current, [key]: value }));
420
- };
421
- const updateText = (key, value) => {
422
- setActivePreset("custom");
423
- setSettings((current) => ({ ...current, [key]: value }));
424
- };
425
- const updateOrigin = (key, value) => {
426
- setActivePreset("custom");
427
- setSettings((current) => ({ ...current, [key]: value }));
428
- };
429
- const applyPreset = (preset) => {
430
- resetSample();
431
- setActivePreset(preset);
432
- setSettings(presets[preset].settings);
433
- };
434
- const copyOutput = async () => {
435
- await navigator.clipboard.writeText(output);
436
- setCopyState("copied");
437
- window.setTimeout(() => setCopyState("idle"), 1200);
335
+ let updateNumber = (key, value) => {
336
+ setActivePreset("custom"), setSettings((current) => ({ ...current, [key]: value }));
337
+ }, updateText = (key, value) => {
338
+ setActivePreset("custom"), setSettings((current) => ({ ...current, [key]: value }));
339
+ }, updateOrigin = (key, value) => {
340
+ setActivePreset("custom"), setSettings((current) => ({ ...current, [key]: value }));
341
+ }, applyPreset = (preset) => {
342
+ resetSample(), setActivePreset(preset), setSettings(presets[preset].settings);
343
+ }, copyOutput = async () => {
344
+ await navigator.clipboard.writeText(output), setCopyState("copied"), window.setTimeout(() => setCopyState("idle"), 1200);
438
345
  };
439
- return /* @__PURE__ */ jsx("div", { className: "min-h-screen bg-[#fafafa] text-foreground-1", children: /* @__PURE__ */ jsxs("div", { className: "grid min-h-screen lg:grid-cols-[1fr_23rem]", children: [
346
+ return /* @__PURE__ */ jsx("div", { className: "min-h-screen bg-surface-page text-foreground-1", children: /* @__PURE__ */ jsxs("div", { className: "grid min-h-screen lg:grid-cols-[1fr_23rem]", children: [
440
347
  /* @__PURE__ */ jsxs("main", { className: "relative min-h-screen overflow-hidden", children: [
441
- /* @__PURE__ */ jsx("div", { className: "absolute left-5 top-5 text-sm font-medium text-[#b4b4b4]", children: "Inline" }),
442
- /* @__PURE__ */ jsx("div", { className: "flex min-h-screen items-center justify-center px-8 py-20", children: /* @__PURE__ */ jsxs("section", { className: "relative flex h-[15rem] w-full max-w-4xl flex-col items-center justify-center overflow-hidden bg-white shadow-[0_0_28px_rgba(0,0,0,0.012)]", children: [
348
+ /* @__PURE__ */ jsx("div", { className: "absolute left-5 top-5 text-sm font-medium text-foreground-4", children: "Inline" }),
349
+ /* @__PURE__ */ jsx("div", { className: "flex min-h-screen items-center justify-center px-8 py-20", children: /* @__PURE__ */ jsxs("section", { className: "border-shadow-3 relative flex h-[15rem] w-full max-w-4xl flex-col items-center justify-center overflow-hidden bg-surface-1", children: [
443
350
  /* @__PURE__ */ jsx(
444
351
  ProgressPreview,
445
352
  {
@@ -449,7 +356,7 @@ function NavigationProgressPlayground() {
449
356
  }
450
357
  ),
451
358
  /* @__PURE__ */ jsxs("div", { className: "grid justify-items-center gap-6", children: [
452
- /* @__PURE__ */ jsx("div", { className: "text-center text-base font-semibold text-black", children: "put progress bars here" }),
359
+ /* @__PURE__ */ jsx("div", { className: "text-center text-base font-semibold text-foreground-1", children: "put progress bars here" }),
453
360
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
454
361
  /* @__PURE__ */ jsx(Button, { onClick: startSample, size: "sm", children: "Trigger navigation" }),
455
362
  /* @__PURE__ */ jsx(Button, { onClick: resetSample, size: "sm", variant: "outline", children: "Reset" })
@@ -706,7 +613,7 @@ function NavigationProgressPlayground() {
706
613
  "textarea",
707
614
  {
708
615
  className: "min-h-[26rem] resize-none rounded-panel border border-stroke-2 bg-surface-2 p-3 font-mono text-xs leading-5 text-foreground-1 outline-none focus:border-accent-1",
709
- readOnly: true,
616
+ readOnly: !0,
710
617
  value: output
711
618
  }
712
619
  ),