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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/README.md +3 -9
  2. package/dist/cache/tags.cjs +3 -0
  3. package/dist/cache/tags.d.cts +1 -0
  4. package/dist/cache/tags.d.ts +1 -0
  5. package/dist/cache/tags.js +3 -0
  6. package/dist/config.cjs +78 -0
  7. package/dist/config.d.cts +101 -0
  8. package/dist/config.d.ts +101 -0
  9. package/dist/config.js +48 -0
  10. package/dist/index.cjs +1043 -124
  11. package/dist/index.d.cts +11 -7
  12. package/dist/index.d.ts +11 -7
  13. package/dist/index.js +1031 -111
  14. package/dist/kernel/components/blocks/AgentActions.cjs +425 -0
  15. package/dist/kernel/components/blocks/AgentActions.d.cts +52 -0
  16. package/dist/kernel/components/blocks/AgentActions.d.ts +52 -0
  17. package/dist/kernel/components/blocks/AgentActions.js +429 -0
  18. package/dist/kernel/components/blocks/animated-icon-swap.cjs +101 -0
  19. package/dist/kernel/components/blocks/animated-icon-swap.d.cts +16 -0
  20. package/dist/kernel/components/blocks/animated-icon-swap.d.ts +16 -0
  21. package/dist/kernel/components/blocks/animated-icon-swap.js +74 -0
  22. package/dist/kernel/components/blocks/color-palette.cjs +413 -0
  23. package/dist/kernel/components/blocks/color-palette.d.cts +7 -0
  24. package/dist/kernel/components/blocks/color-palette.d.ts +7 -0
  25. package/dist/kernel/components/blocks/color-palette.js +407 -0
  26. package/dist/kernel/components/blocks/design-system-preview.cjs +592 -0
  27. package/dist/kernel/components/blocks/design-system-preview.d.cts +29 -0
  28. package/dist/kernel/components/blocks/design-system-preview.d.ts +29 -0
  29. package/dist/kernel/components/blocks/design-system-preview.js +655 -0
  30. package/dist/kernel/components/blocks/link-playground.cjs +816 -0
  31. package/dist/kernel/components/blocks/link-playground.d.cts +5 -0
  32. package/dist/kernel/components/blocks/link-playground.d.ts +5 -0
  33. package/dist/kernel/components/blocks/link-playground.js +792 -0
  34. package/dist/kernel/components/blocks/logo-block.cjs +156 -0
  35. package/dist/kernel/components/blocks/logo-block.d.cts +21 -0
  36. package/dist/kernel/components/blocks/logo-block.d.ts +21 -0
  37. package/dist/kernel/components/blocks/logo-block.js +129 -0
  38. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.cjs +19 -38
  39. package/dist/kernel/components/blocks/nav-breadcrumb.d.cts +11 -0
  40. package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +11 -0
  41. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.js +22 -30
  42. package/dist/kernel/components/blocks/navbar.cjs +154 -0
  43. package/dist/kernel/components/blocks/navbar.d.cts +16 -0
  44. package/dist/kernel/components/blocks/navbar.d.ts +16 -0
  45. package/dist/kernel/components/blocks/navbar.js +122 -0
  46. package/dist/kernel/components/blocks/navigation-progress-playground.cjs +735 -0
  47. package/dist/kernel/components/blocks/navigation-progress-playground.d.cts +5 -0
  48. package/dist/kernel/components/blocks/navigation-progress-playground.d.ts +5 -0
  49. package/dist/kernel/components/blocks/navigation-progress-playground.js +722 -0
  50. package/dist/kernel/components/blocks/navigation-progress.cjs +270 -0
  51. package/dist/kernel/components/blocks/navigation-progress.d.cts +16 -0
  52. package/dist/kernel/components/blocks/navigation-progress.d.ts +16 -0
  53. package/dist/kernel/components/blocks/navigation-progress.js +249 -0
  54. package/dist/kernel/components/blocks/next-prev.cjs +142 -0
  55. package/dist/kernel/components/blocks/next-prev.d.cts +11 -0
  56. package/dist/kernel/components/blocks/next-prev.d.ts +11 -0
  57. package/dist/kernel/components/blocks/next-prev.js +105 -0
  58. package/dist/{components → kernel/components/blocks}/page-list.cjs +7 -16
  59. package/dist/{components → kernel/components/blocks}/page-list.d.cts +1 -1
  60. package/dist/{components → kernel/components/blocks}/page-list.d.ts +1 -1
  61. package/dist/{components → kernel/components/blocks}/page-list.js +6 -5
  62. package/dist/kernel/components/blocks/search.cjs +717 -0
  63. package/dist/kernel/components/blocks/search.d.cts +77 -0
  64. package/dist/kernel/components/blocks/search.d.ts +77 -0
  65. package/dist/kernel/components/blocks/search.js +697 -0
  66. package/dist/kernel/components/blocks/sidebar-node.cjs +309 -0
  67. package/dist/kernel/components/blocks/sidebar-node.d.cts +8 -0
  68. package/dist/kernel/components/blocks/sidebar-node.d.ts +8 -0
  69. package/dist/kernel/components/blocks/sidebar-node.js +272 -0
  70. package/dist/kernel/components/blocks/sidebar.cjs +317 -0
  71. package/dist/kernel/components/blocks/sidebar.d.cts +33 -0
  72. package/dist/kernel/components/blocks/sidebar.d.ts +33 -0
  73. package/dist/kernel/components/blocks/sidebar.js +302 -0
  74. package/dist/kernel/components/blocks/theme-toggle.cjs +31 -0
  75. package/dist/kernel/components/blocks/theme-toggle.d.cts +6 -0
  76. package/dist/kernel/components/blocks/theme-toggle.d.ts +6 -0
  77. package/dist/kernel/components/blocks/theme-toggle.js +7 -0
  78. package/dist/kernel/components/blocks/toc.cjs +356 -0
  79. package/dist/kernel/components/blocks/toc.d.cts +10 -0
  80. package/dist/kernel/components/blocks/toc.d.ts +10 -0
  81. package/dist/kernel/components/blocks/toc.js +330 -0
  82. package/dist/kernel/components/mdx/components/blockquote.cjs +66 -0
  83. package/dist/kernel/components/mdx/components/blockquote.d.cts +6 -0
  84. package/dist/kernel/components/mdx/components/blockquote.d.ts +6 -0
  85. package/dist/kernel/components/mdx/components/blockquote.js +39 -0
  86. package/dist/kernel/components/mdx/components/callout.cjs +137 -0
  87. package/dist/kernel/components/mdx/components/callout.d.cts +18 -0
  88. package/dist/kernel/components/mdx/components/callout.d.ts +18 -0
  89. package/dist/kernel/components/mdx/components/callout.js +109 -0
  90. package/dist/kernel/components/mdx/components/code-block.cjs +39 -0
  91. package/dist/kernel/components/mdx/components/code-block.d.cts +9 -0
  92. package/dist/kernel/components/mdx/components/code-block.d.ts +9 -0
  93. package/dist/kernel/components/mdx/components/code-block.js +14 -0
  94. package/dist/kernel/components/mdx/components/figure-caption.cjs +63 -0
  95. package/dist/kernel/components/mdx/components/figure-caption.d.cts +6 -0
  96. package/dist/kernel/components/mdx/components/figure-caption.d.ts +6 -0
  97. package/dist/kernel/components/mdx/components/figure-caption.js +36 -0
  98. package/dist/kernel/components/mdx/components/figure.cjs +78 -0
  99. package/dist/kernel/components/mdx/components/figure.d.cts +10 -0
  100. package/dist/kernel/components/mdx/components/figure.d.ts +10 -0
  101. package/dist/kernel/components/mdx/components/figure.js +53 -0
  102. package/dist/kernel/components/mdx/components/footnotes.cjs +66 -0
  103. package/dist/kernel/components/mdx/components/footnotes.d.cts +6 -0
  104. package/dist/kernel/components/mdx/components/footnotes.d.ts +6 -0
  105. package/dist/kernel/components/mdx/components/footnotes.js +39 -0
  106. package/dist/kernel/components/mdx/components/heading-copy-link.cjs +108 -0
  107. package/dist/kernel/components/mdx/components/heading-copy-link.d.cts +23 -0
  108. package/dist/kernel/components/mdx/components/heading-copy-link.d.ts +23 -0
  109. package/dist/kernel/components/mdx/components/heading-copy-link.js +81 -0
  110. package/dist/kernel/components/mdx/components/heading.cjs +166 -0
  111. package/dist/kernel/components/mdx/components/heading.d.cts +8 -0
  112. package/dist/kernel/components/mdx/components/heading.d.ts +8 -0
  113. package/dist/kernel/components/mdx/components/heading.js +144 -0
  114. package/dist/kernel/components/mdx/components/hr.cjs +34 -0
  115. package/dist/kernel/components/mdx/components/hr.d.cts +9 -0
  116. package/dist/kernel/components/mdx/components/hr.d.ts +9 -0
  117. package/dist/kernel/components/mdx/components/hr.js +9 -0
  118. package/dist/kernel/components/mdx/components/image-zoom.cjs +49 -0
  119. package/dist/kernel/components/mdx/components/image-zoom.d.cts +10 -0
  120. package/dist/kernel/components/mdx/components/image-zoom.d.ts +10 -0
  121. package/dist/kernel/components/mdx/components/image-zoom.js +15 -0
  122. package/dist/kernel/components/mdx/components/image.cjs +192 -0
  123. package/dist/kernel/components/mdx/components/image.d.cts +21 -0
  124. package/dist/kernel/components/mdx/components/image.d.ts +21 -0
  125. package/dist/kernel/components/mdx/components/image.js +157 -0
  126. package/dist/kernel/components/mdx/components/inline-code.cjs +66 -0
  127. package/dist/kernel/components/mdx/components/inline-code.d.cts +6 -0
  128. package/dist/kernel/components/mdx/components/inline-code.d.ts +6 -0
  129. package/dist/kernel/components/mdx/components/inline-code.js +39 -0
  130. package/dist/kernel/components/mdx/components/kbd.cjs +34 -0
  131. package/dist/kernel/components/mdx/components/kbd.d.cts +10 -0
  132. package/dist/kernel/components/mdx/components/kbd.d.ts +10 -0
  133. package/dist/kernel/components/mdx/components/kbd.js +9 -0
  134. package/dist/{components/providers.cjs → kernel/components/mdx/components/link.cjs} +20 -15
  135. package/dist/kernel/components/mdx/components/link.d.cts +11 -0
  136. package/dist/kernel/components/mdx/components/link.d.ts +11 -0
  137. package/dist/kernel/components/mdx/components/link.js +26 -0
  138. package/dist/kernel/components/mdx/components/paragraph.cjs +87 -0
  139. package/dist/kernel/components/mdx/components/paragraph.d.cts +5 -0
  140. package/dist/kernel/components/mdx/components/paragraph.d.ts +5 -0
  141. package/dist/kernel/components/mdx/components/paragraph.js +60 -0
  142. package/dist/kernel/components/mdx/components/pre.cjs +66 -0
  143. package/dist/kernel/components/mdx/components/pre.d.cts +6 -0
  144. package/dist/kernel/components/mdx/components/pre.d.ts +6 -0
  145. package/dist/kernel/components/mdx/components/pre.js +39 -0
  146. package/dist/kernel/components/mdx/components/strikethrough.cjs +63 -0
  147. package/dist/kernel/components/mdx/components/strikethrough.d.cts +6 -0
  148. package/dist/kernel/components/mdx/components/strikethrough.d.ts +6 -0
  149. package/dist/kernel/components/mdx/components/strikethrough.js +36 -0
  150. package/dist/kernel/components/mdx/components/table.cjs +59 -0
  151. package/dist/kernel/components/mdx/components/table.d.cts +10 -0
  152. package/dist/kernel/components/mdx/components/table.d.ts +10 -0
  153. package/dist/kernel/components/mdx/components/table.js +36 -0
  154. package/dist/kernel/components/mdx/components/task-list.cjs +88 -0
  155. package/dist/kernel/components/mdx/components/task-list.d.cts +8 -0
  156. package/dist/kernel/components/mdx/components/task-list.d.ts +8 -0
  157. package/dist/kernel/components/mdx/components/task-list.js +60 -0
  158. package/dist/kernel/components/mdx/components/video-player.cjs +173 -0
  159. package/dist/kernel/components/mdx/components/video-player.d.cts +18 -0
  160. package/dist/kernel/components/mdx/components/video-player.d.ts +18 -0
  161. package/dist/kernel/components/mdx/components/video-player.js +147 -0
  162. package/dist/kernel/components/mdx/components/video.cjs +185 -0
  163. package/dist/kernel/components/mdx/components/video.d.cts +15 -0
  164. package/dist/kernel/components/mdx/components/video.d.ts +15 -0
  165. package/dist/kernel/components/mdx/components/video.js +162 -0
  166. package/dist/kernel/components/mdx/error-boundary.cjs +62 -0
  167. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.cts +3 -8
  168. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.ts +3 -8
  169. package/dist/kernel/components/mdx/error-boundary.js +38 -0
  170. package/dist/{mdx → kernel/components/mdx}/error-fallback.cjs +8 -8
  171. package/dist/{mdx → kernel/components/mdx}/error-fallback.js +8 -8
  172. package/dist/kernel/components/mdx/mdx.cjs +141 -0
  173. package/dist/kernel/components/mdx/mdx.d.cts +22 -0
  174. package/dist/kernel/components/mdx/mdx.d.ts +22 -0
  175. package/dist/kernel/components/mdx/mdx.js +109 -0
  176. package/dist/kernel/components/mdx/rehype-heading-ids.cjs +113 -0
  177. package/dist/kernel/components/mdx/rehype-heading-ids.d.cts +10 -0
  178. package/dist/kernel/components/mdx/rehype-heading-ids.d.ts +10 -0
  179. package/dist/kernel/components/mdx/rehype-heading-ids.js +86 -0
  180. package/dist/kernel/components/mdx/types.cjs +18 -0
  181. package/dist/kernel/components/mdx/types.d.cts +18 -0
  182. package/dist/kernel/components/mdx/types.d.ts +18 -0
  183. package/dist/kernel/components/mdx/types.js +0 -0
  184. package/dist/kernel/components/ui/accordion.cjs +104 -0
  185. package/dist/kernel/components/ui/accordion.d.cts +16 -0
  186. package/dist/kernel/components/ui/accordion.d.ts +16 -0
  187. package/dist/kernel/components/ui/accordion.js +76 -0
  188. package/dist/kernel/components/ui/badge.cjs +75 -0
  189. package/dist/kernel/components/ui/badge.d.cts +12 -0
  190. package/dist/kernel/components/ui/badge.d.ts +12 -0
  191. package/dist/kernel/components/ui/badge.js +47 -0
  192. package/dist/kernel/components/ui/breadcrumb-trail.cjs +238 -0
  193. package/dist/kernel/components/ui/breadcrumb-trail.d.cts +13 -0
  194. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +13 -0
  195. package/dist/kernel/components/ui/breadcrumb-trail.js +225 -0
  196. package/dist/kernel/components/ui/breadcrumb.cjs +399 -0
  197. package/dist/kernel/components/ui/breadcrumb.d.cts +52 -0
  198. package/dist/kernel/components/ui/breadcrumb.d.ts +52 -0
  199. package/dist/kernel/components/ui/breadcrumb.js +365 -0
  200. package/dist/kernel/components/ui/button-group.cjs +144 -0
  201. package/dist/kernel/components/ui/button-group.d.cts +19 -0
  202. package/dist/kernel/components/ui/button-group.d.ts +19 -0
  203. package/dist/kernel/components/ui/button-group.js +116 -0
  204. package/dist/kernel/components/ui/button.cjs +147 -0
  205. package/dist/kernel/components/ui/button.d.cts +23 -0
  206. package/dist/kernel/components/ui/button.d.ts +23 -0
  207. package/dist/kernel/components/ui/button.js +121 -0
  208. package/dist/kernel/components/ui/card.cjs +133 -0
  209. package/dist/kernel/components/ui/card.d.cts +17 -0
  210. package/dist/kernel/components/ui/card.d.ts +17 -0
  211. package/dist/kernel/components/ui/card.js +101 -0
  212. package/dist/kernel/components/ui/dialog.cjs +149 -0
  213. package/dist/kernel/components/ui/dialog.d.cts +22 -0
  214. package/dist/kernel/components/ui/dialog.d.ts +22 -0
  215. package/dist/kernel/components/ui/dialog.js +118 -0
  216. package/dist/kernel/components/ui/drawer.cjs +163 -0
  217. package/dist/kernel/components/ui/drawer.d.cts +24 -0
  218. package/dist/kernel/components/ui/drawer.d.ts +24 -0
  219. package/dist/kernel/components/ui/drawer.js +131 -0
  220. package/dist/kernel/components/ui/input.cjs +96 -0
  221. package/dist/kernel/components/ui/input.d.cts +18 -0
  222. package/dist/kernel/components/ui/input.d.ts +18 -0
  223. package/dist/kernel/components/ui/input.js +70 -0
  224. package/dist/kernel/components/ui/kbd.cjs +105 -0
  225. package/dist/kernel/components/ui/kbd.d.cts +13 -0
  226. package/dist/kernel/components/ui/kbd.d.ts +13 -0
  227. package/dist/kernel/components/ui/kbd.js +77 -0
  228. package/dist/kernel/components/ui/link.cjs +253 -0
  229. package/dist/kernel/components/ui/link.d.cts +31 -0
  230. package/dist/kernel/components/ui/link.d.ts +31 -0
  231. package/dist/kernel/components/ui/link.js +217 -0
  232. package/dist/kernel/components/ui/menu.cjs +301 -0
  233. package/dist/kernel/components/ui/menu.d.cts +70 -0
  234. package/dist/kernel/components/ui/menu.d.ts +70 -0
  235. package/dist/kernel/components/ui/menu.js +256 -0
  236. package/dist/kernel/components/ui/meta-key.cjs +34 -0
  237. package/dist/kernel/components/ui/meta-key.d.cts +12 -0
  238. package/dist/kernel/components/ui/meta-key.d.ts +12 -0
  239. package/dist/kernel/components/ui/meta-key.js +9 -0
  240. package/dist/kernel/components/ui/navigation-menu.cjs +253 -0
  241. package/dist/kernel/components/ui/navigation-menu.d.cts +47 -0
  242. package/dist/kernel/components/ui/navigation-menu.d.ts +47 -0
  243. package/dist/kernel/components/ui/navigation-menu.js +216 -0
  244. package/dist/kernel/components/ui/popover.cjs +168 -0
  245. package/dist/kernel/components/ui/popover.d.cts +24 -0
  246. package/dist/kernel/components/ui/popover.d.ts +24 -0
  247. package/dist/kernel/components/ui/popover.js +136 -0
  248. package/dist/kernel/components/ui/progress.cjs +112 -0
  249. package/dist/kernel/components/ui/progress.d.cts +16 -0
  250. package/dist/kernel/components/ui/progress.d.ts +16 -0
  251. package/dist/kernel/components/ui/progress.js +84 -0
  252. package/dist/kernel/components/ui/scroll-area.cjs +413 -0
  253. package/dist/kernel/components/ui/scroll-area.d.cts +58 -0
  254. package/dist/kernel/components/ui/scroll-area.d.ts +58 -0
  255. package/dist/kernel/components/ui/scroll-area.js +390 -0
  256. package/dist/kernel/components/ui/select.cjs +244 -0
  257. package/dist/kernel/components/ui/select.d.cts +40 -0
  258. package/dist/kernel/components/ui/select.d.ts +40 -0
  259. package/dist/kernel/components/ui/select.js +205 -0
  260. package/dist/kernel/components/ui/separator.cjs +73 -0
  261. package/dist/kernel/components/ui/separator.d.cts +8 -0
  262. package/dist/kernel/components/ui/separator.d.ts +8 -0
  263. package/dist/kernel/components/ui/separator.js +48 -0
  264. package/dist/kernel/components/ui/table.cjs +131 -0
  265. package/dist/kernel/components/ui/table.d.cts +11 -0
  266. package/dist/kernel/components/ui/table.d.ts +11 -0
  267. package/dist/kernel/components/ui/table.js +99 -0
  268. package/dist/kernel/components/ui/tabs.cjs +450 -0
  269. package/dist/kernel/components/ui/tabs.d.cts +82 -0
  270. package/dist/kernel/components/ui/tabs.d.ts +82 -0
  271. package/dist/kernel/components/ui/tabs.js +409 -0
  272. package/dist/kernel/components/ui/text.cjs +184 -0
  273. package/dist/kernel/components/ui/text.d.cts +17 -0
  274. package/dist/kernel/components/ui/text.d.ts +17 -0
  275. package/dist/kernel/components/ui/text.js +156 -0
  276. package/dist/kernel/components/ui/theme-toggle.cjs +108 -0
  277. package/dist/kernel/components/ui/theme-toggle.d.cts +10 -0
  278. package/dist/kernel/components/ui/theme-toggle.d.ts +10 -0
  279. package/dist/kernel/components/ui/theme-toggle.js +84 -0
  280. package/dist/kernel/components/ui/toast.cjs +154 -0
  281. package/dist/kernel/components/ui/toast.d.cts +26 -0
  282. package/dist/kernel/components/ui/toast.d.ts +26 -0
  283. package/dist/kernel/components/ui/toast.js +120 -0
  284. package/dist/kernel/components/ui/tooltip.cjs +127 -0
  285. package/dist/kernel/components/ui/tooltip.d.cts +20 -0
  286. package/dist/kernel/components/ui/tooltip.d.ts +20 -0
  287. package/dist/kernel/components/ui/tooltip.js +97 -0
  288. package/dist/kernel/defaults.registry.cjs +541 -0
  289. package/dist/kernel/defaults.registry.d.cts +469 -0
  290. package/dist/kernel/defaults.registry.d.ts +469 -0
  291. package/dist/kernel/defaults.registry.js +516 -0
  292. package/dist/kernel/routes/agent/markdown.cjs +202 -0
  293. package/dist/kernel/routes/agent/markdown.d.cts +58 -0
  294. package/dist/kernel/routes/agent/markdown.d.ts +58 -0
  295. package/dist/kernel/routes/agent/markdown.js +174 -0
  296. package/dist/{layouts → kernel/routes/layouts}/group.cjs +39 -15
  297. package/dist/kernel/routes/layouts/group.d.cts +20 -0
  298. package/dist/kernel/routes/layouts/group.d.ts +20 -0
  299. package/dist/{layouts → kernel/routes/layouts}/group.js +39 -15
  300. package/dist/kernel/routes/metadata/feed.cjs +293 -0
  301. package/dist/kernel/routes/metadata/feed.d.cts +20 -0
  302. package/dist/kernel/routes/metadata/feed.d.ts +20 -0
  303. package/dist/kernel/routes/metadata/feed.js +265 -0
  304. package/dist/kernel/routes/metadata/llms.cjs +239 -0
  305. package/dist/kernel/routes/metadata/llms.d.cts +26 -0
  306. package/dist/kernel/routes/metadata/llms.d.ts +26 -0
  307. package/dist/kernel/routes/metadata/llms.js +211 -0
  308. package/dist/kernel/routes/metadata/og-image.cjs +630 -0
  309. package/dist/kernel/routes/metadata/og-image.d.cts +62 -0
  310. package/dist/kernel/routes/metadata/og-image.d.ts +62 -0
  311. package/dist/kernel/routes/metadata/og-image.js +604 -0
  312. package/dist/{routes → kernel/routes/metadata}/robots.cjs +59 -5
  313. package/dist/{routes → kernel/routes/metadata}/robots.d.cts +2 -1
  314. package/dist/{routes → kernel/routes/metadata}/robots.d.ts +2 -1
  315. package/dist/kernel/routes/metadata/robots.js +123 -0
  316. package/dist/kernel/routes/metadata/sitemap.cjs +192 -0
  317. package/dist/kernel/routes/metadata/sitemap.d.cts +8 -0
  318. package/dist/kernel/routes/metadata/sitemap.d.ts +8 -0
  319. package/dist/kernel/routes/metadata/sitemap.js +166 -0
  320. package/dist/{pages → kernel/routes/pages}/group.cjs +107 -6
  321. package/dist/{pages → kernel/routes/pages}/group.d.cts +4 -2
  322. package/dist/{pages → kernel/routes/pages}/group.d.ts +4 -2
  323. package/dist/{pages → kernel/routes/pages}/group.js +107 -6
  324. package/dist/kernel/routes/pages/leaf.cjs +421 -0
  325. package/dist/kernel/routes/pages/leaf.d.cts +36 -0
  326. package/dist/kernel/routes/pages/leaf.d.ts +36 -0
  327. package/dist/kernel/routes/pages/leaf.js +397 -0
  328. package/dist/{pages → kernel/routes/pages}/root.cjs +108 -6
  329. package/dist/{pages → kernel/routes/pages}/root.d.cts +4 -2
  330. package/dist/{pages → kernel/routes/pages}/root.d.ts +4 -2
  331. package/dist/kernel/routes/pages/root.js +203 -0
  332. package/dist/keyboard-shortcuts.cjs +345 -0
  333. package/dist/keyboard-shortcuts.d.cts +34 -0
  334. package/dist/keyboard-shortcuts.d.ts +34 -0
  335. package/dist/keyboard-shortcuts.js +326 -0
  336. package/dist/resolvers/manifest-resolver.cjs +7 -3
  337. package/dist/resolvers/manifest-resolver.d.cts +2 -2
  338. package/dist/resolvers/manifest-resolver.d.ts +2 -2
  339. package/dist/resolvers/manifest-resolver.js +7 -3
  340. package/dist/search.cjs +411 -0
  341. package/dist/search.d.cts +20 -0
  342. package/dist/search.d.ts +20 -0
  343. package/dist/search.js +393 -0
  344. package/dist/types.cjs +12 -0
  345. package/dist/types.d.cts +132 -7
  346. package/dist/types.d.ts +132 -7
  347. package/dist/types.js +5 -0
  348. package/dist/utils/heading-ids.cjs +119 -0
  349. package/dist/utils/heading-ids.d.cts +15 -0
  350. package/dist/utils/heading-ids.d.ts +15 -0
  351. package/dist/utils/heading-ids.js +90 -0
  352. package/package.json +59 -38
  353. package/release/package.json +23 -0
  354. package/release/pnpm-lock.yaml +1192 -0
  355. package/release/release.json +39 -0
  356. package/dist/components/color-palette.cjs +0 -408
  357. package/dist/components/color-palette.d.cts +0 -5
  358. package/dist/components/color-palette.d.ts +0 -5
  359. package/dist/components/color-palette.js +0 -388
  360. package/dist/components/nav-breadcrumb.d.cts +0 -9
  361. package/dist/components/nav-breadcrumb.d.ts +0 -9
  362. package/dist/components/providers.d.cts +0 -8
  363. package/dist/components/providers.d.ts +0 -8
  364. package/dist/components/providers.js +0 -20
  365. package/dist/components/site-header.cjs +0 -302
  366. package/dist/components/site-header.d.cts +0 -12
  367. package/dist/components/site-header.d.ts +0 -12
  368. package/dist/components/site-header.js +0 -268
  369. package/dist/components/theme-toggle.cjs +0 -147
  370. package/dist/components/theme-toggle.d.cts +0 -5
  371. package/dist/components/theme-toggle.d.ts +0 -5
  372. package/dist/components/theme-toggle.js +0 -123
  373. package/dist/layouts/group.d.cts +0 -15
  374. package/dist/layouts/group.d.ts +0 -15
  375. package/dist/mdx/error-boundary.cjs +0 -94
  376. package/dist/mdx/error-boundary.js +0 -70
  377. package/dist/mdx/mdx.cjs +0 -182
  378. package/dist/mdx/mdx.d.cts +0 -10
  379. package/dist/mdx/mdx.d.ts +0 -10
  380. package/dist/mdx/mdx.js +0 -147
  381. package/dist/pages/leaf.cjs +0 -203
  382. package/dist/pages/leaf.d.cts +0 -23
  383. package/dist/pages/leaf.d.ts +0 -23
  384. package/dist/pages/leaf.js +0 -176
  385. package/dist/pages/root.js +0 -101
  386. package/dist/routes/llms.cjs +0 -101
  387. package/dist/routes/llms.d.cts +0 -7
  388. package/dist/routes/llms.d.ts +0 -7
  389. package/dist/routes/llms.js +0 -76
  390. package/dist/routes/robots.js +0 -69
  391. package/dist/routes/sitemap.cjs +0 -108
  392. package/dist/routes/sitemap.d.cts +0 -5
  393. package/dist/routes/sitemap.d.ts +0 -5
  394. package/dist/routes/sitemap.js +0 -83
  395. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.cts +0 -0
  396. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.ts +0 -0
@@ -0,0 +1,429 @@
1
+ "use client";
2
+
3
+ // src/kernel/components/blocks/AgentActions.tsx
4
+ import { AnimatedIconSwap } from "./animated-icon-swap.js";
5
+ import {
6
+ Button,
7
+ buttonVariants
8
+ } from "../ui/button.js";
9
+ import { ButtonGroup, ButtonGroupSeparator } from "../ui/button-group.js";
10
+ import {
11
+ Menu,
12
+ MenuGroup,
13
+ MenuGroupLabel,
14
+ MenuItem,
15
+ MenuLinkItem,
16
+ MenuPopup,
17
+ MenuPortal,
18
+ MenuPositioner,
19
+ MenuTrigger
20
+ } from "../ui/menu.js";
21
+
22
+ // src/utils/cn.ts
23
+ import { clsx } from "clsx";
24
+ import { extendTailwindMerge } from "tailwind-merge";
25
+ var twMerge = extendTailwindMerge({
26
+ extend: {
27
+ classGroups: {
28
+ z: [
29
+ "z-content",
30
+ "z-nav",
31
+ "z-overlay",
32
+ "z-modal",
33
+ "z-search",
34
+ "z-toast",
35
+ "z-progress"
36
+ ]
37
+ }
38
+ }
39
+ });
40
+ function cn(...inputs) {
41
+ return twMerge(clsx(inputs));
42
+ }
43
+
44
+ // src/kernel/components/blocks/AgentActions.tsx
45
+ import {
46
+ Bot,
47
+ Check,
48
+ ChevronDown,
49
+ Clipboard,
50
+ ExternalLink,
51
+ Eye,
52
+ Github,
53
+ LinkIcon,
54
+ MessageCircle
55
+ } from "lucide-react";
56
+ import {
57
+ useCallback,
58
+ useEffect,
59
+ useRef,
60
+ useState
61
+ } from "react";
62
+ import { flushSync } from "react-dom";
63
+ import { jsx, jsxs } from "react/jsx-runtime";
64
+ var DEFAULT_PROMPT_SUFFIX = "I want to ask questions about it.";
65
+ var COPY_FEEDBACK_MS = 1600;
66
+ function normalizePath(path) {
67
+ const [pathname = "/"] = path.split(/[?#]/);
68
+ const prefixed = pathname.startsWith("/") ? pathname : `/${pathname}`;
69
+ if (prefixed === "/") return prefixed;
70
+ return prefixed.replace(/\/+$/, "");
71
+ }
72
+ function markdownPathForPagePath(path) {
73
+ const normalized = normalizePath(path);
74
+ if (normalized === "/") return "/index.md";
75
+ return normalized.endsWith(".md") ? normalized : `${normalized}.md`;
76
+ }
77
+ function isAbsoluteUrl(url) {
78
+ return /^[a-z][a-z\d+\-.]*:/i.test(url);
79
+ }
80
+ function absoluteUrl(url, siteUrl) {
81
+ if (isAbsoluteUrl(url) || !siteUrl) return url;
82
+ try {
83
+ return new URL(url, siteUrl).toString();
84
+ } catch {
85
+ return url;
86
+ }
87
+ }
88
+ function mergeRel(rel) {
89
+ const values = new Set((rel ?? "").split(/\s+/).filter(Boolean));
90
+ values.add("noreferrer");
91
+ return Array.from(values).join(" ");
92
+ }
93
+ function createPrompt(markdownUrl) {
94
+ return `Read ${markdownUrl}, ${DEFAULT_PROMPT_SUFFIX}`;
95
+ }
96
+ function providerPromptUrl(baseUrl, prompt, param = "q") {
97
+ const url = new URL(baseUrl);
98
+ url.searchParams.set(param, prompt);
99
+ return url.toString();
100
+ }
101
+ var DEFAULT_PRIMARY_ACTION = {
102
+ id: "copy-page-markdown-primary",
103
+ title: "Copy Markdown",
104
+ copy: "page-markdown"
105
+ };
106
+ var DEFAULT_ACTION_GROUPS = [
107
+ {
108
+ id: "open-in-ai",
109
+ title: "Open in",
110
+ actions: [
111
+ {
112
+ id: "open-claude",
113
+ title: "Claude",
114
+ icon: /* @__PURE__ */ jsx(Bot, { "aria-hidden": "true", className: "size-4" }),
115
+ href: ({ prompt }) => providerPromptUrl("https://claude.ai/new", prompt),
116
+ openInNew: true
117
+ },
118
+ {
119
+ id: "open-chatgpt",
120
+ title: "ChatGPT",
121
+ icon: /* @__PURE__ */ jsx(MessageCircle, { "aria-hidden": "true", className: "size-4" }),
122
+ href: ({ prompt }) => providerPromptUrl("https://chatgpt.com/?hints=search", prompt),
123
+ openInNew: true
124
+ },
125
+ {
126
+ id: "open-cursor",
127
+ title: "Cursor",
128
+ icon: /* @__PURE__ */ jsx(ExternalLink, { "aria-hidden": "true", className: "size-4" }),
129
+ href: ({ prompt }) => providerPromptUrl("https://cursor.com/link/prompt", prompt, "text"),
130
+ openInNew: true
131
+ },
132
+ {
133
+ id: "open-copilot",
134
+ title: "Copilot",
135
+ icon: /* @__PURE__ */ jsx(MessageCircle, { "aria-hidden": "true", className: "size-4" }),
136
+ href: ({ prompt }) => providerPromptUrl("https://copilot.microsoft.com/", prompt),
137
+ openInNew: true
138
+ },
139
+ {
140
+ id: "open-t3-chat",
141
+ title: "T3 Chat",
142
+ icon: /* @__PURE__ */ jsx(MessageCircle, { "aria-hidden": "true", className: "size-4" }),
143
+ href: ({ prompt }) => providerPromptUrl("https://t3.chat/new", prompt),
144
+ openInNew: true
145
+ },
146
+ {
147
+ id: "open-github",
148
+ title: "GitHub source",
149
+ icon: /* @__PURE__ */ jsx(Github, { "aria-hidden": "true", className: "size-4" }),
150
+ href: ({ sourceUrl }) => sourceUrl,
151
+ openInNew: true,
152
+ disabled: ({ sourceUrl }) => !sourceUrl
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ id: "page-actions",
158
+ title: "Page",
159
+ actions: [
160
+ {
161
+ id: "copy-page-markdown",
162
+ title: "Copy page Markdown",
163
+ copy: "page-markdown"
164
+ },
165
+ {
166
+ id: "view-page-markdown",
167
+ title: "View as Markdown",
168
+ icon: /* @__PURE__ */ jsx(Eye, { "aria-hidden": "true", className: "size-4" }),
169
+ href: ({ markdownPath }) => markdownPath
170
+ },
171
+ {
172
+ id: "copy-page-link",
173
+ title: "Copy page link",
174
+ icon: /* @__PURE__ */ jsx(LinkIcon, { "aria-hidden": "true", className: "size-4" }),
175
+ copy: "page-link"
176
+ }
177
+ ]
178
+ }
179
+ ];
180
+ function resolveValue(value, context) {
181
+ return typeof value === "function" ? value(context) : value;
182
+ }
183
+ async function copyText(text) {
184
+ await navigator.clipboard?.writeText(text);
185
+ }
186
+ function AgentActions({
187
+ actionGroups,
188
+ buttonSize = "sm",
189
+ buttonVariant = "outline",
190
+ className,
191
+ markdown,
192
+ markdownPath,
193
+ markdownUrl,
194
+ menuLabel = "More agent actions",
195
+ pagePath,
196
+ pageUrl,
197
+ primaryAction,
198
+ prompt,
199
+ siteUrl,
200
+ sourceUrl,
201
+ ...props
202
+ }) {
203
+ const [copiedActionId, setCopiedActionId] = useState();
204
+ const [menuOpen, setMenuOpen] = useState(false);
205
+ const menuActionsRef = useRef(null);
206
+ const menuOpenRef = useRef(false);
207
+ const resetTimerRef = useRef(
208
+ void 0
209
+ );
210
+ const setMenuOpenState = useCallback((open) => {
211
+ menuOpenRef.current = open;
212
+ setMenuOpen(open);
213
+ }, []);
214
+ const closeMenu = useCallback(() => {
215
+ flushSync(() => {
216
+ menuOpenRef.current = false;
217
+ setMenuOpen(false);
218
+ menuActionsRef.current?.close();
219
+ menuActionsRef.current?.unmount();
220
+ });
221
+ }, []);
222
+ useEffect(() => {
223
+ window.addEventListener("pagehide", closeMenu);
224
+ window.addEventListener("pageshow", closeMenu);
225
+ return () => {
226
+ window.removeEventListener("pagehide", closeMenu);
227
+ window.removeEventListener("pageshow", closeMenu);
228
+ if (resetTimerRef.current) {
229
+ clearTimeout(resetTimerRef.current);
230
+ }
231
+ };
232
+ }, [closeMenu]);
233
+ const resolvedPagePath = pagePath ?? "/";
234
+ const resolvedMarkdownPath = markdownPath ?? markdownPathForPagePath(resolvedPagePath);
235
+ const resolvedMarkdownUrl = absoluteUrl(
236
+ markdownUrl ?? resolvedMarkdownPath,
237
+ siteUrl
238
+ );
239
+ const context = {
240
+ markdown,
241
+ markdownPath: resolvedMarkdownPath,
242
+ markdownUrl: resolvedMarkdownUrl,
243
+ pagePath: resolvedPagePath,
244
+ pageUrl: absoluteUrl(pageUrl ?? resolvedPagePath, siteUrl),
245
+ prompt: prompt ?? createPrompt(resolvedMarkdownUrl),
246
+ sourceUrl
247
+ };
248
+ const resolvedPrimaryAction = primaryAction ?? DEFAULT_PRIMARY_ACTION;
249
+ const resolvedActionGroups = actionGroups ?? DEFAULT_ACTION_GROUPS;
250
+ const markCopied = (actionId) => {
251
+ if (resetTimerRef.current) {
252
+ clearTimeout(resetTimerRef.current);
253
+ }
254
+ setCopiedActionId(actionId);
255
+ resetTimerRef.current = setTimeout(() => {
256
+ setCopiedActionId(void 0);
257
+ }, COPY_FEEDBACK_MS);
258
+ };
259
+ const copyValueForAction = async (action) => {
260
+ if (action.copy === "page-markdown") {
261
+ if (context.markdownUrl) {
262
+ try {
263
+ const response = await fetch(context.markdownUrl);
264
+ if (response.ok) return response.text();
265
+ } catch {
266
+ return context.markdown ?? "";
267
+ }
268
+ }
269
+ return context.markdown ?? "";
270
+ }
271
+ if (action.copy === "page-link") return context.pageUrl;
272
+ if (action.copy === "markdown-link") return context.markdownUrl;
273
+ return action.copy ?? "";
274
+ };
275
+ const handleAction = async (action) => {
276
+ if (resolveValue(action.disabled, context)) return;
277
+ if (action.copy) {
278
+ const value = await copyValueForAction(action);
279
+ if (value) {
280
+ await copyText(value);
281
+ markCopied(action.id);
282
+ }
283
+ }
284
+ await action.onSelect?.(context);
285
+ };
286
+ const iconForAction = (action) => {
287
+ const copied = copiedActionId === action.id;
288
+ if (action.copy === "page-markdown") {
289
+ return /* @__PURE__ */ jsx(
290
+ AnimatedIconSwap,
291
+ {
292
+ active: copied,
293
+ activeIcon: /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-4" }),
294
+ defaultIcon: action.icon ?? /* @__PURE__ */ jsx(Clipboard, { "aria-hidden": "true", className: "size-4" }),
295
+ size: 16
296
+ }
297
+ );
298
+ }
299
+ if (copied) return /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-4" });
300
+ return action.icon;
301
+ };
302
+ const renderPrimaryAction = () => {
303
+ const href = resolveValue(resolvedPrimaryAction.href, context);
304
+ const disabled = resolveValue(resolvedPrimaryAction.disabled, context);
305
+ const target = resolvedPrimaryAction.target ?? (resolvedPrimaryAction.openInNew ? "_blank" : void 0);
306
+ const rel = target === "_blank" ? mergeRel(resolvedPrimaryAction.rel) : void 0;
307
+ if (href && !resolvedPrimaryAction.copy && !resolvedPrimaryAction.onSelect) {
308
+ return /* @__PURE__ */ jsxs(
309
+ "a",
310
+ {
311
+ "aria-disabled": disabled ? "true" : void 0,
312
+ className: cn(
313
+ buttonVariants({
314
+ iconOnly: false,
315
+ size: buttonSize,
316
+ variant: buttonVariant
317
+ }),
318
+ disabled && "pointer-events-none opacity-50"
319
+ ),
320
+ "data-disabled": disabled ? "" : void 0,
321
+ href: disabled ? void 0 : href,
322
+ rel,
323
+ target,
324
+ children: [
325
+ iconForAction(resolvedPrimaryAction),
326
+ /* @__PURE__ */ jsx("span", { children: resolvedPrimaryAction.title })
327
+ ]
328
+ }
329
+ );
330
+ }
331
+ return /* @__PURE__ */ jsx(
332
+ Button,
333
+ {
334
+ disabled: Boolean(disabled),
335
+ leftIcon: iconForAction(resolvedPrimaryAction),
336
+ onClick: () => {
337
+ void handleAction(resolvedPrimaryAction);
338
+ },
339
+ size: buttonSize,
340
+ variant: buttonVariant,
341
+ children: resolvedPrimaryAction.title
342
+ }
343
+ );
344
+ };
345
+ const renderMenuAction = (action) => {
346
+ const href = resolveValue(action.href, context);
347
+ const disabled = resolveValue(action.disabled, context);
348
+ const icon = iconForAction(action);
349
+ const target = action.target ?? (action.openInNew ? "_blank" : void 0);
350
+ const rel = target === "_blank" ? mergeRel(action.rel) : void 0;
351
+ const label = action.title;
352
+ if (href && !action.copy && !action.onSelect && !disabled) {
353
+ return /* @__PURE__ */ jsxs(
354
+ MenuLinkItem,
355
+ {
356
+ closeOnClick: true,
357
+ href,
358
+ onClick: closeMenu,
359
+ rel,
360
+ target,
361
+ children: [
362
+ icon,
363
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: label })
364
+ ]
365
+ },
366
+ action.id
367
+ );
368
+ }
369
+ return /* @__PURE__ */ jsxs(
370
+ MenuItem,
371
+ {
372
+ disabled: Boolean(disabled),
373
+ onClick: () => {
374
+ void handleAction(action);
375
+ },
376
+ children: [
377
+ icon,
378
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: label })
379
+ ]
380
+ },
381
+ action.id
382
+ );
383
+ };
384
+ return /* @__PURE__ */ jsx(
385
+ "div",
386
+ {
387
+ className: cn("inline-flex", className),
388
+ "data-slot": "agent-actions",
389
+ ...props,
390
+ children: /* @__PURE__ */ jsxs(ButtonGroup, { children: [
391
+ renderPrimaryAction(),
392
+ /* @__PURE__ */ jsx(ButtonGroupSeparator, {}),
393
+ /* @__PURE__ */ jsxs(
394
+ Menu,
395
+ {
396
+ actionsRef: menuActionsRef,
397
+ modal: false,
398
+ onOpenChange: setMenuOpenState,
399
+ open: menuOpen,
400
+ children: [
401
+ /* @__PURE__ */ jsx(
402
+ MenuTrigger,
403
+ {
404
+ "aria-label": menuLabel,
405
+ className: cn(
406
+ buttonVariants({
407
+ iconOnly: true,
408
+ size: buttonSize,
409
+ variant: buttonVariant
410
+ }),
411
+ "data-[popup-open]:!rounded-r-button"
412
+ ),
413
+ children: /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true", className: "size-4" })
414
+ }
415
+ ),
416
+ /* @__PURE__ */ jsx(MenuPortal, { children: /* @__PURE__ */ jsx(MenuPositioner, { align: "end", children: /* @__PURE__ */ jsx(MenuPopup, { className: "min-w-56", children: resolvedActionGroups.map((group) => /* @__PURE__ */ jsxs(MenuGroup, { children: [
417
+ group.title ? /* @__PURE__ */ jsx(MenuGroupLabel, { children: group.title }) : null,
418
+ group.actions.map(renderMenuAction)
419
+ ] }, group.id)) }) }) })
420
+ ]
421
+ }
422
+ )
423
+ ] })
424
+ }
425
+ );
426
+ }
427
+ export {
428
+ AgentActions
429
+ };
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/kernel/components/blocks/animated-icon-swap.tsx
21
+ var animated_icon_swap_exports = {};
22
+ __export(animated_icon_swap_exports, {
23
+ AnimatedIconSwap: () => AnimatedIconSwap
24
+ });
25
+ module.exports = __toCommonJS(animated_icon_swap_exports);
26
+
27
+ // src/utils/cn.ts
28
+ var import_clsx = require("clsx");
29
+ var import_tailwind_merge = require("tailwind-merge");
30
+ var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
31
+ extend: {
32
+ classGroups: {
33
+ z: [
34
+ "z-content",
35
+ "z-nav",
36
+ "z-overlay",
37
+ "z-modal",
38
+ "z-search",
39
+ "z-toast",
40
+ "z-progress"
41
+ ]
42
+ }
43
+ }
44
+ });
45
+ function cn(...inputs) {
46
+ return twMerge((0, import_clsx.clsx)(inputs));
47
+ }
48
+
49
+ // src/kernel/components/blocks/animated-icon-swap.tsx
50
+ var import_jsx_runtime = require("react/jsx-runtime");
51
+ var iconSlotClassName = "pointer-events-none absolute inset-0 flex items-center justify-center transition-[transform,opacity] duration-200 ease-out motion-reduce:scale-100 motion-reduce:transition-opacity motion-reduce:duration-100";
52
+ function AnimatedIconSwap({
53
+ active,
54
+ activeIcon,
55
+ className,
56
+ defaultIcon,
57
+ size,
58
+ style,
59
+ ...props
60
+ }) {
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
62
+ "span",
63
+ {
64
+ className: cn("relative inline-flex shrink-0", className),
65
+ "data-slot": "animated-icon-swap",
66
+ "data-state": active ? "active" : "inactive",
67
+ style: { width: size, height: size, ...style },
68
+ ...props,
69
+ children: [
70
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
71
+ "span",
72
+ {
73
+ "aria-hidden": active ? true : void 0,
74
+ className: cn(
75
+ iconSlotClassName,
76
+ active ? "scale-75 opacity-0" : "scale-100 opacity-100"
77
+ ),
78
+ "data-slot": "animated-icon-swap-default",
79
+ children: defaultIcon
80
+ }
81
+ ),
82
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
83
+ "span",
84
+ {
85
+ "aria-hidden": active ? void 0 : true,
86
+ className: cn(
87
+ iconSlotClassName,
88
+ active ? "scale-100 opacity-100" : "scale-75 opacity-0"
89
+ ),
90
+ "data-slot": "animated-icon-swap-active",
91
+ children: activeIcon
92
+ }
93
+ )
94
+ ]
95
+ }
96
+ );
97
+ }
98
+ // Annotate the CommonJS export names for ESM import in node:
99
+ 0 && (module.exports = {
100
+ AnimatedIconSwap
101
+ });
@@ -0,0 +1,16 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+
4
+ type AnimatedIconSwapProps = Omit<ComponentPropsWithoutRef<"span">, "children"> & {
5
+ /** Whether to show the active icon. */
6
+ active: boolean;
7
+ /** Icon shown when active is false. */
8
+ defaultIcon: ReactNode;
9
+ /** Icon shown when active is true. */
10
+ activeIcon: ReactNode;
11
+ /** Square wrapper size in pixels. */
12
+ size: number;
13
+ };
14
+ declare function AnimatedIconSwap({ active, activeIcon, className, defaultIcon, size, style, ...props }: AnimatedIconSwapProps): react_jsx_runtime.JSX.Element;
15
+
16
+ export { AnimatedIconSwap, type AnimatedIconSwapProps };
@@ -0,0 +1,16 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+
4
+ type AnimatedIconSwapProps = Omit<ComponentPropsWithoutRef<"span">, "children"> & {
5
+ /** Whether to show the active icon. */
6
+ active: boolean;
7
+ /** Icon shown when active is false. */
8
+ defaultIcon: ReactNode;
9
+ /** Icon shown when active is true. */
10
+ activeIcon: ReactNode;
11
+ /** Square wrapper size in pixels. */
12
+ size: number;
13
+ };
14
+ declare function AnimatedIconSwap({ active, activeIcon, className, defaultIcon, size, style, ...props }: AnimatedIconSwapProps): react_jsx_runtime.JSX.Element;
15
+
16
+ export { AnimatedIconSwap, type AnimatedIconSwapProps };
@@ -0,0 +1,74 @@
1
+ // src/utils/cn.ts
2
+ import { clsx } from "clsx";
3
+ import { extendTailwindMerge } from "tailwind-merge";
4
+ var twMerge = extendTailwindMerge({
5
+ extend: {
6
+ classGroups: {
7
+ z: [
8
+ "z-content",
9
+ "z-nav",
10
+ "z-overlay",
11
+ "z-modal",
12
+ "z-search",
13
+ "z-toast",
14
+ "z-progress"
15
+ ]
16
+ }
17
+ }
18
+ });
19
+ function cn(...inputs) {
20
+ return twMerge(clsx(inputs));
21
+ }
22
+
23
+ // src/kernel/components/blocks/animated-icon-swap.tsx
24
+ import { jsx, jsxs } from "react/jsx-runtime";
25
+ var iconSlotClassName = "pointer-events-none absolute inset-0 flex items-center justify-center transition-[transform,opacity] duration-200 ease-out motion-reduce:scale-100 motion-reduce:transition-opacity motion-reduce:duration-100";
26
+ function AnimatedIconSwap({
27
+ active,
28
+ activeIcon,
29
+ className,
30
+ defaultIcon,
31
+ size,
32
+ style,
33
+ ...props
34
+ }) {
35
+ return /* @__PURE__ */ jsxs(
36
+ "span",
37
+ {
38
+ className: cn("relative inline-flex shrink-0", className),
39
+ "data-slot": "animated-icon-swap",
40
+ "data-state": active ? "active" : "inactive",
41
+ style: { width: size, height: size, ...style },
42
+ ...props,
43
+ children: [
44
+ /* @__PURE__ */ jsx(
45
+ "span",
46
+ {
47
+ "aria-hidden": active ? true : void 0,
48
+ className: cn(
49
+ iconSlotClassName,
50
+ active ? "scale-75 opacity-0" : "scale-100 opacity-100"
51
+ ),
52
+ "data-slot": "animated-icon-swap-default",
53
+ children: defaultIcon
54
+ }
55
+ ),
56
+ /* @__PURE__ */ jsx(
57
+ "span",
58
+ {
59
+ "aria-hidden": active ? void 0 : true,
60
+ className: cn(
61
+ iconSlotClassName,
62
+ active ? "scale-100 opacity-100" : "scale-75 opacity-0"
63
+ ),
64
+ "data-slot": "animated-icon-swap-active",
65
+ children: activeIcon
66
+ }
67
+ )
68
+ ]
69
+ }
70
+ );
71
+ }
72
+ export {
73
+ AnimatedIconSwap
74
+ };