@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,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- // src/keyboard-shortcuts.tsx
3
+ // src/lib/keyboard/keyboard-shortcuts.tsx
4
4
  import {
5
5
  createContext,
6
6
  use,
@@ -13,23 +13,21 @@ import {
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  var DEFAULT_OPTIONS = {
15
15
  description: "",
16
- enabled: true,
17
- enableOnContentEditable: false,
18
- enableOnFormFields: false,
19
- enableWhileComposing: false,
16
+ enabled: !0,
17
+ enableOnContentEditable: !1,
18
+ enableOnFormFields: !1,
19
+ enableWhileComposing: !1,
20
20
  group: "",
21
- preventDefault: true,
21
+ preventDefault: !0,
22
22
  priority: 0,
23
- stopPropagation: false
24
- };
25
- var MODIFIER_TOKENS = /* @__PURE__ */ new Set([
23
+ stopPropagation: !1
24
+ }, MODIFIER_TOKENS = /* @__PURE__ */ new Set([
26
25
  "mod",
27
26
  "meta",
28
27
  "ctrl",
29
28
  "alt",
30
29
  "shift"
31
- ]);
32
- var KEY_ALIASES = {
30
+ ]), KEY_ALIASES = {
33
31
  cmd: "meta",
34
32
  command: "meta",
35
33
  control: "ctrl",
@@ -46,9 +44,7 @@ var KEY_ALIASES = {
46
44
  space: " ",
47
45
  spacebar: " ",
48
46
  up: "arrowup"
49
- };
50
- var EDITABLE_TAGS = /* @__PURE__ */ new Set(["INPUT", "TEXTAREA", "SELECT"]);
51
- var SYMBOLS_MAC = {
47
+ }, EDITABLE_TAGS = /* @__PURE__ */ new Set(["INPUT", "TEXTAREA", "SELECT"]), SYMBOLS_MAC = {
52
48
  " ": "Space",
53
49
  alt: "\u2325",
54
50
  arrowdown: "\u2193",
@@ -62,8 +58,7 @@ var SYMBOLS_MAC = {
62
58
  escape: "\u238B",
63
59
  meta: "\u2318",
64
60
  shift: "\u21E7"
65
- };
66
- var LABELS_OTHER = {
61
+ }, LABELS_OTHER = {
67
62
  " ": "Space",
68
63
  alt: "Alt",
69
64
  arrowdown: "\u2193",
@@ -79,65 +74,53 @@ var LABELS_OTHER = {
79
74
  shift: "Shift"
80
75
  };
81
76
  function platform() {
82
- if (typeof navigator === "undefined") return "";
83
- return navigator.platform ?? "";
77
+ return typeof navigator > "u" ? "" : navigator.platform ?? "";
84
78
  }
85
79
  function isMacPlatform() {
86
80
  return /mac|iphone|ipad|ipod/i.test(platform());
87
81
  }
88
82
  function parseChord(input) {
89
- const source = input.trim();
90
- const rawParts = source.split("+").map((part) => part.trim().toLowerCase()).filter(Boolean);
91
- if (rawParts.length === 0) {
83
+ let source = input.trim(), rawParts = source.split("+").map((part) => part.trim().toLowerCase()).filter(Boolean);
84
+ if (rawParts.length === 0)
92
85
  throw new Error(`useShortcut: empty key combo "${input}"`);
93
- }
94
- let alt = false;
95
- let ctrl = false;
96
- let key = "";
97
- let meta = false;
98
- let shift = false;
99
- for (const part of rawParts) {
100
- const aliased = KEY_ALIASES[part] ?? part;
86
+ let alt = !1, ctrl = !1, key = "", meta = !1, shift = !1;
87
+ for (let part of rawParts) {
88
+ let aliased = KEY_ALIASES[part] ?? part;
101
89
  if (MODIFIER_TOKENS.has(aliased)) {
102
90
  switch (aliased) {
103
91
  case "mod":
104
- if (isMacPlatform()) meta = true;
105
- else ctrl = true;
92
+ isMacPlatform() ? meta = !0 : ctrl = !0;
106
93
  break;
107
94
  case "meta":
108
- meta = true;
95
+ meta = !0;
109
96
  break;
110
97
  case "ctrl":
111
- ctrl = true;
98
+ ctrl = !0;
112
99
  break;
113
100
  case "alt":
114
- alt = true;
101
+ alt = !0;
115
102
  break;
116
103
  case "shift":
117
- shift = true;
104
+ shift = !0;
118
105
  break;
119
106
  }
120
107
  continue;
121
108
  }
122
- if (key) {
109
+ if (key)
123
110
  throw new Error(
124
111
  `useShortcut: combo "${input}" has more than one non-modifier key`
125
112
  );
126
- }
127
113
  key = aliased;
128
114
  }
129
- if (!key) {
115
+ if (!key)
130
116
  throw new Error(`useShortcut: combo "${input}" has no non-modifier key`);
131
- }
132
117
  return { alt, ctrl, key, meta, shift, source };
133
118
  }
134
119
  function codeToLogicalKey(code) {
135
- if (code.length === 4 && code.startsWith("Key")) {
120
+ if (code.length === 4 && code.startsWith("Key"))
136
121
  return code[3]?.toLowerCase() ?? null;
137
- }
138
- if (code.length === 6 && code.startsWith("Digit")) {
122
+ if (code.length === 6 && code.startsWith("Digit"))
139
123
  return code[5] ?? null;
140
- }
141
124
  switch (code) {
142
125
  case "Backquote":
143
126
  return "`";
@@ -166,24 +149,19 @@ function codeToLogicalKey(code) {
166
149
  }
167
150
  }
168
151
  function chordMatches(event, chord) {
169
- if (event.metaKey !== chord.meta || event.ctrlKey !== chord.ctrl || event.altKey !== chord.alt) {
170
- return false;
171
- }
172
- const keyIsSingleChar = chord.key.length === 1;
173
- if (!keyIsSingleChar && event.shiftKey !== chord.shift) return false;
174
- if (keyIsSingleChar && chord.shift && !event.shiftKey) return false;
175
- if (event.key.toLowerCase() === chord.key) return true;
176
- const logicalKey = codeToLogicalKey(event.code);
152
+ if (event.metaKey !== chord.meta || event.ctrlKey !== chord.ctrl || event.altKey !== chord.alt)
153
+ return !1;
154
+ let keyIsSingleChar = chord.key.length === 1;
155
+ if (!keyIsSingleChar && event.shiftKey !== chord.shift || keyIsSingleChar && chord.shift && !event.shiftKey) return !1;
156
+ if (event.key.toLowerCase() === chord.key) return !0;
157
+ let logicalKey = codeToLogicalKey(event.code);
177
158
  return logicalKey !== null && logicalKey === chord.key;
178
159
  }
179
160
  function inspectTarget(target) {
180
- if (!(target instanceof HTMLElement)) {
181
- return { isContentEditable: false, isFormField: false };
182
- }
183
- return {
161
+ return target instanceof HTMLElement ? {
184
162
  isContentEditable: target.isContentEditable,
185
163
  isFormField: EDITABLE_TAGS.has(target.tagName)
186
- };
164
+ } : { isContentEditable: !1, isFormField: !1 };
187
165
  }
188
166
  function resolvedOptions(options) {
189
167
  return { ...DEFAULT_OPTIONS, ...options };
@@ -192,28 +170,18 @@ var ShortcutContext = createContext(null);
192
170
  function KeyboardShortcutsProvider({
193
171
  children
194
172
  }) {
195
- const registry = useRef(/* @__PURE__ */ new Map());
196
- const ordered = useRef([]);
197
- const rebuildOrder = useCallback(() => {
198
- const next = Array.from(registry.current.values());
199
- next.sort((a, b) => b.priority - a.priority);
200
- ordered.current = next;
201
- }, []);
202
- const register = useCallback(
203
- (registration) => {
204
- registry.current.set(registration.id, registration);
205
- rebuildOrder();
206
- return () => {
207
- registry.current.delete(registration.id);
208
- rebuildOrder();
209
- };
210
- },
173
+ let registry = useRef(/* @__PURE__ */ new Map()), ordered = useRef([]), rebuildOrder = useCallback(() => {
174
+ let next = Array.from(registry.current.values());
175
+ next.sort((a, b) => b.priority - a.priority), ordered.current = next;
176
+ }, []), register = useCallback(
177
+ (registration) => (registry.current.set(registration.id, registration), rebuildOrder(), () => {
178
+ registry.current.delete(registration.id), rebuildOrder();
179
+ }),
211
180
  [rebuildOrder]
212
- );
213
- const list = useCallback(() => {
214
- const items = [];
215
- for (const registration of registry.current.values()) {
216
- const { options } = registration.ref.current;
181
+ ), list = useCallback(() => {
182
+ let items = [];
183
+ for (let registration of registry.current.values()) {
184
+ let { options } = registration.ref.current;
217
185
  items.push({
218
186
  description: options.description,
219
187
  enabled: options.enabled,
@@ -223,100 +191,60 @@ function KeyboardShortcutsProvider({
223
191
  });
224
192
  }
225
193
  return items;
226
- }, []);
227
- const handleKeyDown = useCallback((event) => {
228
- const registrations = ordered.current;
194
+ }, []), handleKeyDown = useCallback((event) => {
195
+ let registrations = ordered.current;
229
196
  if (registrations.length === 0) return;
230
197
  let target = null;
231
- for (const registration of registrations) {
232
- const { handler, options } = registration.ref.current;
233
- if (!options.enabled) continue;
234
- if ((event.isComposing || event.keyCode === 229) && !options.enableWhileComposing) {
198
+ for (let registration of registrations) {
199
+ let { handler, options } = registration.ref.current;
200
+ if (!options.enabled || (event.isComposing || event.keyCode === 229) && !options.enableWhileComposing)
235
201
  continue;
236
- }
237
- let matched = false;
238
- for (const chord of registration.chords) {
202
+ let matched = !1;
203
+ for (let chord of registration.chords)
239
204
  if (chordMatches(event, chord)) {
240
- matched = true;
205
+ matched = !0;
241
206
  break;
242
207
  }
208
+ if (matched && (target ??= inspectTarget(event.target), !(target.isFormField && !options.enableOnFormFields) && !(target.isContentEditable && !options.enableOnContentEditable))) {
209
+ options.preventDefault && event.preventDefault(), options.stopPropagation && event.stopPropagation(), handler(event);
210
+ break;
243
211
  }
244
- if (!matched) continue;
245
- target ??= inspectTarget(event.target);
246
- if (target.isFormField && !options.enableOnFormFields) continue;
247
- if (target.isContentEditable && !options.enableOnContentEditable) {
248
- continue;
249
- }
250
- if (options.preventDefault) event.preventDefault();
251
- if (options.stopPropagation) event.stopPropagation();
252
- handler(event);
253
- break;
254
212
  }
255
213
  }, []);
256
- useEffect(() => {
257
- window.addEventListener("keydown", handleKeyDown, { capture: true });
258
- return () => {
259
- window.removeEventListener("keydown", handleKeyDown, { capture: true });
260
- };
261
- }, [handleKeyDown]);
262
- const api = useMemo(
214
+ useEffect(() => (window.addEventListener("keydown", handleKeyDown, { capture: !0 }), () => {
215
+ window.removeEventListener("keydown", handleKeyDown, { capture: !0 });
216
+ }), [handleKeyDown]);
217
+ let api = useMemo(
263
218
  () => ({ list, register }),
264
219
  [list, register]
265
220
  );
266
221
  return /* @__PURE__ */ jsx(ShortcutContext, { value: api, children });
267
222
  }
268
223
  function useShortcut(combo, handler, options) {
269
- const api = use(ShortcutContext);
270
- if (!api) {
224
+ let api = use(ShortcutContext);
225
+ if (!api)
271
226
  throw new Error(
272
227
  "useShortcut must be used within <KeyboardShortcutsProvider>."
273
228
  );
274
- }
275
- const id = useId();
276
- const comboKey = typeof combo === "string" ? combo : combo.join("\0");
277
- const chords = useMemo(() => {
278
- return comboKey.split("\0").map(parseChord);
279
- }, [comboKey]);
280
- const optionsPriority = options?.priority ?? DEFAULT_OPTIONS.priority;
281
- const live = useRef({
229
+ let id = useId(), comboKey = typeof combo == "string" ? combo : combo.join("\0"), chords = useMemo(() => comboKey.split("\0").map(parseChord), [comboKey]), optionsPriority = options?.priority ?? DEFAULT_OPTIONS.priority, live = useRef({
282
230
  handler,
283
231
  options: resolvedOptions(options)
284
232
  });
285
- live.current.handler = handler;
286
- live.current.options = resolvedOptions(options);
287
- useEffect(() => {
288
- return api.register({ chords, id, priority: optionsPriority, ref: live });
289
- }, [api, chords, id, optionsPriority]);
233
+ live.current.handler = handler, live.current.options = resolvedOptions(options), useEffect(() => api.register({ chords, id, priority: optionsPriority, ref: live }), [api, chords, id, optionsPriority]);
290
234
  }
291
235
  function useShortcutRegistry() {
292
- const api = use(ShortcutContext);
293
- if (!api) {
236
+ let api = use(ShortcutContext);
237
+ if (!api)
294
238
  throw new Error(
295
239
  "useShortcutRegistry must be used within <KeyboardShortcutsProvider>."
296
240
  );
297
- }
298
241
  return { list: api.list };
299
242
  }
300
243
  function formatShortcut(source) {
301
- const chord = parseChord(source);
302
- const labels = isMacPlatform() ? SYMBOLS_MAC : LABELS_OTHER;
303
- const tokens = [];
304
- const push = (name) => tokens.push(labels[name] ?? name);
305
- if (isMacPlatform()) {
306
- if (chord.ctrl) push("ctrl");
307
- if (chord.alt) push("alt");
308
- if (chord.shift) push("shift");
309
- if (chord.meta) push("meta");
310
- } else {
311
- if (chord.meta) push("meta");
312
- if (chord.ctrl) push("ctrl");
313
- if (chord.alt) push("alt");
314
- if (chord.shift) push("shift");
315
- }
316
- tokens.push(
244
+ let chord = parseChord(source), labels = isMacPlatform() ? SYMBOLS_MAC : LABELS_OTHER, tokens = [], push = (name) => tokens.push(labels[name] ?? name);
245
+ return isMacPlatform() ? (chord.ctrl && push("ctrl"), chord.alt && push("alt"), chord.shift && push("shift"), chord.meta && push("meta")) : (chord.meta && push("meta"), chord.ctrl && push("ctrl"), chord.alt && push("alt"), chord.shift && push("shift")), tokens.push(
317
246
  labels[chord.key] ?? (chord.key.length === 1 ? chord.key.toUpperCase() : chord.key.replace(/^\w/, (character) => character.toUpperCase()))
318
- );
319
- return tokens;
247
+ ), tokens;
320
248
  }
321
249
  export {
322
250
  KeyboardShortcutsProvider,
@@ -1,11 +1,16 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
- import { ButtonVariantProps } from './button.cjs';
4
2
  import { VariantProps } from 'class-variance-authority';
5
3
  import { ReactNode, AnchorHTMLAttributes } from 'react';
6
4
 
5
+ declare const buttonVariants: (props?: ({
6
+ variant?: "solid" | "soft" | "outline" | "ghost" | null | undefined;
7
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
8
+ iconOnly?: boolean | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ type ButtonVariantProps = VariantProps<typeof buttonVariants>;
11
+
7
12
  declare const linkVariants: (props?: ({
8
- color?: "default" | "accent" | null | undefined;
13
+ color?: "accent" | "default" | null | undefined;
9
14
  size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
10
15
  variant?: "inline" | "standalone" | null | undefined;
11
16
  } & class_variance_authority_types.ClassProp) | undefined) => string;
@@ -26,6 +31,5 @@ type LinkProps = {
26
31
  rightIcon?: ReactNode;
27
32
  variant?: LinkVariant;
28
33
  } & Omit<LinkVariantProps, "color" | "variant"> & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "color" | "href">;
29
- declare function Link({ active, children, className, color, disabled, href, iconOnly, leftIcon, rel, rightIcon, size, style, target, variant, ...props }: LinkProps): react_jsx_runtime.JSX.Element;
30
34
 
31
- export { Link, type LinkButtonVariant, type LinkProps, type LinkStyleVariant, type LinkVariant, type LinkVariantProps, linkVariants };
35
+ export type { LinkProps as L, LinkStyleVariant as a, LinkButtonVariant as b };
@@ -1,11 +1,11 @@
1
- import react__default from 'react';
2
- import { ManifestLike, IndexPageProps, LayoutProps, PageProps } from '../types.js';
1
+ import React from 'react';
2
+ import { IndexPageProps, PageProps, ManifestLike, LayoutProps } from '../types.js';
3
3
 
4
4
  type ResolvedLeaf = PageProps;
5
5
  type ResolvedGroup = Omit<IndexPageProps, "children">;
6
6
  declare function resolveLeaf(manifest: ManifestLike, group: string, slug: string | string[]): ResolvedLeaf | null;
7
7
  declare function resolveGroup(manifest: ManifestLike, group: string): ResolvedGroup | null;
8
- declare function resolveGroupLayout(manifest: ManifestLike, group: string, children: react__default.ReactNode): LayoutProps | null;
8
+ declare function resolveGroupLayout(manifest: ManifestLike, group: string, children: React.ReactNode): LayoutProps | null;
9
9
  declare function listStaticParams(manifest: ManifestLike, group: string): Array<{
10
10
  slug: string[];
11
11
  }>;
@@ -1,13 +1,12 @@
1
- // src/resolvers/manifest-resolver.ts
1
+ // src/manifest-resolver.ts
2
2
  function findNodeInTree(nodes, id) {
3
- for (const node of nodes) {
3
+ for (let node of nodes) {
4
4
  if (node.type === "page") {
5
5
  if (node.fileID === id) return node;
6
- } else if (node.id === id) {
6
+ } else if (node.id === id)
7
7
  return node;
8
- }
9
8
  if (node.type === "section" || node.type === "folder") {
10
- const found = findNodeInTree(node.children, id);
9
+ let found = findNodeInTree(node.children, id);
11
10
  if (found) return found;
12
11
  }
13
12
  }
@@ -40,40 +39,35 @@ function groupNode(group) {
40
39
  };
41
40
  }
42
41
  function resolveLeaf(manifest, group, slug) {
43
- const slugPath = Array.isArray(slug) ? slug.join("/") : slug;
44
- const page = manifest.pages.find((p) => p.group === group && p.slug === slugPath) ?? null;
42
+ let slugPath = Array.isArray(slug) ? slug.join("/") : slug, page = manifest.pages.find((p) => p.group === group && p.slug === slugPath) ?? null;
45
43
  if (!page) return null;
46
- const groupData = manifest.groups[group];
47
- if (!groupData) return null;
48
- return {
44
+ let groupData = manifest.groups[group];
45
+ return groupData ? {
49
46
  site: manifest.site,
50
47
  tree: groupData.tree,
51
48
  node: findNodeInTree(groupData.tree, page.fileID) ?? pageNode(page),
52
49
  page,
53
50
  currentPath: page.path,
54
51
  group
55
- };
52
+ } : null;
56
53
  }
57
54
  function resolveGroup(manifest, group) {
58
- const groupData = manifest.groups[group];
59
- if (!groupData) return null;
60
- return {
55
+ let groupData = manifest.groups[group];
56
+ return groupData ? {
61
57
  site: manifest.site,
62
58
  tree: groupData.tree,
63
59
  node: groupNode(groupData),
64
60
  currentPath: groupData.path,
65
61
  group
66
- };
62
+ } : null;
67
63
  }
68
64
  function resolveGroupLayout(manifest, group, children) {
69
- const resolved = resolveGroup(manifest, group);
70
- if (!resolved) return null;
71
- return { ...resolved, children };
65
+ let resolved = resolveGroup(manifest, group);
66
+ return resolved ? { ...resolved, children } : null;
72
67
  }
73
68
  function listStaticParams(manifest, group) {
74
- const groupData = manifest.groups[group];
75
- if (!groupData) return [];
76
- return groupData.pages.map((page) => ({ slug: page.slug.split("/") }));
69
+ let groupData = manifest.groups[group];
70
+ return groupData ? groupData.pages.map((page) => ({ slug: page.slug.split("/") })) : [];
77
71
  }
78
72
  export {
79
73
  listStaticParams,
@@ -29,34 +29,30 @@ type OgImageEntryLike = {
29
29
  main: OgFontRoleLike;
30
30
  mono: OgFontRoleLike;
31
31
  };
32
+ emoji?: Readonly<Record<string, string>>;
33
+ fallbackGlyphs?: Partial<Record<"main" | "mono", Readonly<Record<string, string>>>>;
34
+ fallbackFonts?: ReadonlyArray<{
35
+ family: string;
36
+ data: string;
37
+ style: "normal" | "italic";
38
+ weight: number;
39
+ }>;
32
40
  };
33
41
  type OgManifestLike = {
34
42
  width: number;
35
43
  height: number;
36
44
  generated: Record<string, OgImageEntryLike>;
37
45
  };
38
- type OgImageRouteConfig = {
39
- manifest: OgManifestLike;
40
- };
41
- type RouteContext = {
42
- params: Promise<{
43
- key: string;
44
- }> | {
45
- key: string;
46
- };
47
- };
48
46
  type OgFontRoleLike = {
49
47
  family: string;
50
48
  files?: ReadonlyArray<{
51
49
  data: string;
50
+ path?: string;
51
+ probe?: string;
52
52
  style: "normal" | "italic";
53
53
  weight: number;
54
54
  }>;
55
- sourceType: "google" | "local" | "url";
55
+ sourceType: "google" | "local";
56
56
  };
57
- declare function createOgImageRoute({ manifest }: OgImageRouteConfig): (_request: Request, context: RouteContext) => Promise<Response>;
58
- declare function createOgImageStaticParams({ manifest }: OgImageRouteConfig): {
59
- key: string;
60
- }[];
61
57
 
62
- export { type OgImageEntryLike, type OgImageRouteConfig, type OgManifestLike, createOgImageRoute, createOgImageStaticParams };
58
+ export type { OgManifestLike as O };
package/dist/search.d.ts CHANGED
@@ -1,7 +1,84 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { SearchBlockVariant, SearchInput, SearchOutput, SearchBlockContextValue } from '@publish.os/nextjs/types';
3
- export { SearchBlockActions, SearchBlockContextValue, SearchBlockMeta, SearchBlockState, SearchBlockVariant, SearchInput, SearchOutput, SearchResult, SearchStatus, SearchSubResult } from '@publish.os/nextjs/types';
4
- import { ReactNode } from 'react';
2
+ import { RefObject, ReactNode } from 'react';
3
+
4
+ type SearchInput = {
5
+ filters?: {
6
+ author?: string;
7
+ group?: string;
8
+ tag?: string;
9
+ };
10
+ limit?: number;
11
+ offset?: number;
12
+ q: string;
13
+ };
14
+ type SearchStatus = "idle" | "building" | "stale" | "ready" | "error";
15
+ type SearchSubResult = {
16
+ excerpt: string;
17
+ plainExcerpt: string;
18
+ title: string;
19
+ url: string;
20
+ };
21
+ type SearchResult = {
22
+ excerpt: string;
23
+ id: string;
24
+ meta: {
25
+ author?: string;
26
+ description?: string;
27
+ group?: string;
28
+ image?: string;
29
+ nodeId?: string;
30
+ path?: string;
31
+ publishedAt?: string;
32
+ section?: string;
33
+ tags?: string;
34
+ title?: string;
35
+ updatedAt?: string;
36
+ };
37
+ plainExcerpt: string;
38
+ score?: number;
39
+ subResults: SearchSubResult[];
40
+ title: string;
41
+ url: string;
42
+ };
43
+ type SearchOutput = {
44
+ items: SearchResult[];
45
+ message?: string;
46
+ nextOffset: number | null;
47
+ status: SearchStatus;
48
+ total: number;
49
+ };
50
+ type SearchBlockVariant = "desktop" | "mobile";
51
+ type SearchBlockState = {
52
+ displayResults: SearchResult[];
53
+ isTyping: boolean;
54
+ loading: boolean;
55
+ message?: string;
56
+ open: boolean;
57
+ query: string;
58
+ selectedValue: string;
59
+ status: SearchStatus;
60
+ total: number;
61
+ };
62
+ type SearchBlockActions = {
63
+ handleInputChange(value: string): void;
64
+ navigateToResult(result: SearchResult): void;
65
+ setOpen(open: boolean): void;
66
+ setQuery(value: string): void;
67
+ setSelectedValue(id: string): void;
68
+ };
69
+ type SearchBlockMeta = {
70
+ inputId: string;
71
+ inputRef: RefObject<HTMLInputElement | null>;
72
+ listId: string;
73
+ listRef: RefObject<HTMLDivElement | null>;
74
+ shortcut: string;
75
+ variant: SearchBlockVariant;
76
+ };
77
+ type SearchBlockContextValue = {
78
+ actions: SearchBlockActions;
79
+ meta: SearchBlockMeta;
80
+ state: SearchBlockState;
81
+ };
5
82
 
6
83
  declare function search(input: SearchInput): Promise<SearchOutput>;
7
84
  declare function useSearch(input: SearchInput): SearchOutput;
@@ -17,4 +94,4 @@ type SearchProviderProps = {
17
94
  };
18
95
  declare function SearchProvider({ children, defaultOpen, limit, onOpenChange, open: controlledOpen, shortcut, variant, }: SearchProviderProps): react_jsx_runtime.JSX.Element;
19
96
 
20
- export { SearchProvider, type SearchProviderProps, search, useSearch, useSearchBlock };
97
+ export { type SearchBlockActions, type SearchBlockContextValue, type SearchBlockMeta, type SearchBlockState, type SearchBlockVariant, type SearchInput, type SearchOutput, SearchProvider, type SearchProviderProps, type SearchResult, type SearchStatus, type SearchSubResult, search, useSearch, useSearchBlock };