fancy-ui-react 0.2.0

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 (837) hide show
  1. package/LICENSE +21 -0
  2. package/PORTING.md +118 -0
  3. package/README.md +643 -0
  4. package/dist/cameleon/FancyProvider.d.ts +11 -0
  5. package/dist/cameleon/FancyProvider.js +42 -0
  6. package/dist/cameleon/context.d.ts +22 -0
  7. package/dist/cameleon/context.js +16 -0
  8. package/dist/cameleon/index.d.ts +31 -0
  9. package/dist/cameleon/index.js +39 -0
  10. package/dist/cameleon/primitives/Badge.d.ts +10 -0
  11. package/dist/cameleon/primitives/Badge.js +12 -0
  12. package/dist/cameleon/primitives/Button.d.ts +11 -0
  13. package/dist/cameleon/primitives/Button.js +43 -0
  14. package/dist/cameleon/primitives/Checkbox.d.ts +10 -0
  15. package/dist/cameleon/primitives/Checkbox.js +39 -0
  16. package/dist/cameleon/primitives/Input.d.ts +10 -0
  17. package/dist/cameleon/primitives/Input.js +13 -0
  18. package/dist/cameleon/primitives/Radio.d.ts +12 -0
  19. package/dist/cameleon/primitives/Radio.js +29 -0
  20. package/dist/cameleon/primitives/Select.d.ts +10 -0
  21. package/dist/cameleon/primitives/Select.js +27 -0
  22. package/dist/cameleon/primitives/Slider.d.ts +7 -0
  23. package/dist/cameleon/primitives/Slider.js +22 -0
  24. package/dist/cameleon/primitives/Switch.d.ts +9 -0
  25. package/dist/cameleon/primitives/Switch.js +33 -0
  26. package/dist/cameleon/primitives/Textarea.d.ts +9 -0
  27. package/dist/cameleon/primitives/Textarea.js +13 -0
  28. package/dist/cameleon/primitives/Tooltip.d.ts +14 -0
  29. package/dist/cameleon/primitives/Tooltip.js +15 -0
  30. package/dist/cameleon/primitives/index.d.ts +10 -0
  31. package/dist/cameleon/skins/aurora/index.d.ts +2 -0
  32. package/dist/cameleon/skins/aurora/index.js +16 -0
  33. package/dist/cameleon/skins/aurora/meta.d.ts +3 -0
  34. package/dist/cameleon/skins/aurora/meta.js +61 -0
  35. package/dist/cameleon/skins/aurora/recipes.d.ts +24 -0
  36. package/dist/cameleon/skins/aurora/recipes.js +124 -0
  37. package/dist/cameleon/skins/aurora/tokens.d.ts +6 -0
  38. package/dist/cameleon/skins/aurora/tokens.js +18 -0
  39. package/dist/cameleon/skins/brutal/index.d.ts +2 -0
  40. package/dist/cameleon/skins/brutal/index.js +35 -0
  41. package/dist/cameleon/skins/brutal/meta.d.ts +3 -0
  42. package/dist/cameleon/skins/brutal/meta.js +73 -0
  43. package/dist/cameleon/skins/brutal/ornaments.d.ts +7 -0
  44. package/dist/cameleon/skins/brutal/ornaments.js +18 -0
  45. package/dist/cameleon/skins/brutal/recipes.d.ts +23 -0
  46. package/dist/cameleon/skins/brutal/recipes.js +113 -0
  47. package/dist/cameleon/skins/brutal/tokens.d.ts +8 -0
  48. package/dist/cameleon/skins/brutal/tokens.js +23 -0
  49. package/dist/cameleon/skins/default.d.ts +2 -0
  50. package/dist/cameleon/skins/default.js +79 -0
  51. package/dist/cameleon/skins/glass/index.d.ts +2 -0
  52. package/dist/cameleon/skins/glass/index.js +16 -0
  53. package/dist/cameleon/skins/glass/meta.d.ts +3 -0
  54. package/dist/cameleon/skins/glass/meta.js +63 -0
  55. package/dist/cameleon/skins/glass/recipes.d.ts +24 -0
  56. package/dist/cameleon/skins/glass/recipes.js +124 -0
  57. package/dist/cameleon/skins/glass/tokens.d.ts +5 -0
  58. package/dist/cameleon/skins/glass/tokens.js +18 -0
  59. package/dist/cameleon/skins/retro-os/index.d.ts +2 -0
  60. package/dist/cameleon/skins/retro-os/index.js +24 -0
  61. package/dist/cameleon/skins/retro-os/meta.d.ts +3 -0
  62. package/dist/cameleon/skins/retro-os/meta.js +61 -0
  63. package/dist/cameleon/skins/retro-os/ornaments.d.ts +9 -0
  64. package/dist/cameleon/skins/retro-os/ornaments.js +28 -0
  65. package/dist/cameleon/skins/retro-os/recipes.d.ts +35 -0
  66. package/dist/cameleon/skins/retro-os/recipes.js +126 -0
  67. package/dist/cameleon/skins/retro-os/tokens.d.ts +16 -0
  68. package/dist/cameleon/skins/retro-os/tokens.js +23 -0
  69. package/dist/cameleon/skins/terminal/index.d.ts +2 -0
  70. package/dist/cameleon/skins/terminal/index.js +24 -0
  71. package/dist/cameleon/skins/terminal/meta.d.ts +3 -0
  72. package/dist/cameleon/skins/terminal/meta.js +70 -0
  73. package/dist/cameleon/skins/terminal/ornaments.d.ts +7 -0
  74. package/dist/cameleon/skins/terminal/ornaments.js +8 -0
  75. package/dist/cameleon/skins/terminal/recipes.d.ts +25 -0
  76. package/dist/cameleon/skins/terminal/recipes.js +125 -0
  77. package/dist/cameleon/skins/terminal/tokens.d.ts +5 -0
  78. package/dist/cameleon/skins/terminal/tokens.js +18 -0
  79. package/dist/cameleon/types.d.ts +133 -0
  80. package/dist/components/agent-plan/AgentPlan.d.ts +25 -0
  81. package/dist/components/agent-plan/AgentPlan.js +181 -0
  82. package/dist/components/agent-plan/index.d.ts +2 -0
  83. package/dist/components/ai-data-table/AiDataTable.d.ts +54 -0
  84. package/dist/components/ai-data-table/AiDataTable.js +110 -0
  85. package/dist/components/ai-data-table/index.d.ts +2 -0
  86. package/dist/components/alert-dialog/AlertDialog.d.ts +35 -0
  87. package/dist/components/alert-dialog/AlertDialog.js +109 -0
  88. package/dist/components/alert-dialog/index.d.ts +2 -0
  89. package/dist/components/animated-beam/AnimatedBeam.d.ts +39 -0
  90. package/dist/components/animated-beam/AnimatedBeam.js +192 -0
  91. package/dist/components/animated-beam/index.d.ts +2 -0
  92. package/dist/components/animated-testimonials/AnimatedTestimonials.d.ts +32 -0
  93. package/dist/components/animated-testimonials/AnimatedTestimonials.js +172 -0
  94. package/dist/components/animated-testimonials/index.d.ts +2 -0
  95. package/dist/components/animated-tooltip/AnimatedTooltip.d.ts +13 -0
  96. package/dist/components/animated-tooltip/AnimatedTooltip.js +137 -0
  97. package/dist/components/animated-tooltip/index.d.ts +2 -0
  98. package/dist/components/apple-card-carousel/AppleCard.d.ts +30 -0
  99. package/dist/components/apple-card-carousel/AppleCard.js +219 -0
  100. package/dist/components/apple-card-carousel/AppleCardCarousel.d.ts +14 -0
  101. package/dist/components/apple-card-carousel/AppleCardCarousel.js +30 -0
  102. package/dist/components/apple-card-carousel/index.d.ts +4 -0
  103. package/dist/components/approval-card/ApprovalCard.d.ts +57 -0
  104. package/dist/components/approval-card/ApprovalCard.js +153 -0
  105. package/dist/components/approval-card/index.d.ts +2 -0
  106. package/dist/components/artifact-card/ArtifactCard.d.ts +44 -0
  107. package/dist/components/artifact-card/ArtifactCard.js +204 -0
  108. package/dist/components/artifact-card/index.d.ts +2 -0
  109. package/dist/components/autocomplete/Autocomplete.d.ts +36 -0
  110. package/dist/components/autocomplete/Autocomplete.js +186 -0
  111. package/dist/components/autocomplete/AutocompletePanel.d.ts +12 -0
  112. package/dist/components/autocomplete/AutocompletePanel.js +123 -0
  113. package/dist/components/autocomplete/index.d.ts +4 -0
  114. package/dist/components/autocomplete/match.d.ts +6 -0
  115. package/dist/components/autocomplete/match.js +10 -0
  116. package/dist/components/autocomplete/types.d.ts +52 -0
  117. package/dist/components/autocomplete/types.js +6 -0
  118. package/dist/components/bento-grid/BentoGrid.d.ts +6 -0
  119. package/dist/components/bento-grid/BentoGrid.js +19 -0
  120. package/dist/components/bento-grid/BentoGridCard.d.ts +11 -0
  121. package/dist/components/bento-grid/BentoGridCard.js +49 -0
  122. package/dist/components/bento-grid/BentoGridItem.d.ts +9 -0
  123. package/dist/components/bento-grid/BentoGridItem.js +33 -0
  124. package/dist/components/bento-grid/index.d.ts +6 -0
  125. package/dist/components/bg-falling-stars/FallingStarsBg.d.ts +24 -0
  126. package/dist/components/bg-falling-stars/FallingStarsBg.js +134 -0
  127. package/dist/components/bg-falling-stars/index.d.ts +2 -0
  128. package/dist/components/bg-stars/StarsBackground.d.ts +40 -0
  129. package/dist/components/bg-stars/StarsBackground.js +188 -0
  130. package/dist/components/bg-stars/index.d.ts +2 -0
  131. package/dist/components/blur-reveal/BlurReveal.d.ts +19 -0
  132. package/dist/components/blur-reveal/BlurReveal.js +50 -0
  133. package/dist/components/blur-reveal/index.d.ts +2 -0
  134. package/dist/components/book/Book.d.ts +13 -0
  135. package/dist/components/book/Book.js +94 -0
  136. package/dist/components/book/BookDescription.d.ts +6 -0
  137. package/dist/components/book/BookDescription.js +9 -0
  138. package/dist/components/book/BookHeader.d.ts +6 -0
  139. package/dist/components/book/BookHeader.js +9 -0
  140. package/dist/components/book/BookTitle.d.ts +6 -0
  141. package/dist/components/book/BookTitle.js +9 -0
  142. package/dist/components/book/index.d.ts +132 -0
  143. package/dist/components/book/index.js +48 -0
  144. package/dist/components/border-beam/BorderBeam.d.ts +25 -0
  145. package/dist/components/border-beam/BorderBeam.js +45 -0
  146. package/dist/components/border-beam/index.d.ts +2 -0
  147. package/dist/components/box-reveal/BoxReveal.d.ts +20 -0
  148. package/dist/components/box-reveal/BoxReveal.js +58 -0
  149. package/dist/components/box-reveal/index.d.ts +2 -0
  150. package/dist/components/breadcrumb/Breadcrumb.d.ts +49 -0
  151. package/dist/components/breadcrumb/Breadcrumb.js +61 -0
  152. package/dist/components/breadcrumb/index.d.ts +2 -0
  153. package/dist/components/button/Button.d.ts +44 -0
  154. package/dist/components/button/Button.js +120 -0
  155. package/dist/components/button/index.d.ts +2 -0
  156. package/dist/components/button/types.d.ts +4 -0
  157. package/dist/components/button-group/ButtonGroup.d.ts +23 -0
  158. package/dist/components/button-group/ButtonGroup.js +30 -0
  159. package/dist/components/button-group/index.d.ts +4 -0
  160. package/dist/components/button-group/types.d.ts +34 -0
  161. package/dist/components/button-group/types.js +7 -0
  162. package/dist/components/card-3d/CardBody.d.ts +8 -0
  163. package/dist/components/card-3d/CardBody.js +9 -0
  164. package/dist/components/card-3d/CardContainer.d.ts +19 -0
  165. package/dist/components/card-3d/CardContainer.js +61 -0
  166. package/dist/components/card-3d/CardItem.d.ts +22 -0
  167. package/dist/components/card-3d/CardItem.js +29 -0
  168. package/dist/components/card-3d/index.d.ts +6 -0
  169. package/dist/components/card-spotlight/CardSpotlight.d.ts +16 -0
  170. package/dist/components/card-spotlight/CardSpotlight.js +65 -0
  171. package/dist/components/card-spotlight/index.d.ts +2 -0
  172. package/dist/components/chat-error/ChatError.d.ts +32 -0
  173. package/dist/components/chat-error/ChatError.js +75 -0
  174. package/dist/components/chat-error/index.d.ts +2 -0
  175. package/dist/components/chat-message/ChatMessage.d.ts +43 -0
  176. package/dist/components/chat-message/ChatMessage.js +127 -0
  177. package/dist/components/chat-message/ChatMessageAction.d.ts +20 -0
  178. package/dist/components/chat-message/ChatMessageAction.js +58 -0
  179. package/dist/components/chat-message/ChatMessageActions.d.ts +14 -0
  180. package/dist/components/chat-message/ChatMessageActions.js +30 -0
  181. package/dist/components/chat-message/ChatMessageBranches.d.ts +15 -0
  182. package/dist/components/chat-message/ChatMessageBranches.js +93 -0
  183. package/dist/components/chat-message/index.d.ts +10 -0
  184. package/dist/components/chat-message/types.d.ts +38 -0
  185. package/dist/components/chat-message/types.js +7 -0
  186. package/dist/components/chat-panel/ChatEmptyState.d.ts +17 -0
  187. package/dist/components/chat-panel/ChatEmptyState.js +42 -0
  188. package/dist/components/chat-panel/ChatPanel.d.ts +31 -0
  189. package/dist/components/chat-panel/ChatPanel.js +163 -0
  190. package/dist/components/chat-panel/index.d.ts +4 -0
  191. package/dist/components/checkbox/Checkbox.d.ts +64 -0
  192. package/dist/components/checkbox/Checkbox.js +123 -0
  193. package/dist/components/checkbox/index.d.ts +2 -0
  194. package/dist/components/code-diff/CodeDiff.d.ts +39 -0
  195. package/dist/components/code-diff/CodeDiff.js +213 -0
  196. package/dist/components/code-diff/index.d.ts +2 -0
  197. package/dist/components/colourful-text/ColourfulText.d.ts +28 -0
  198. package/dist/components/colourful-text/ColourfulText.js +73 -0
  199. package/dist/components/colourful-text/index.d.ts +2 -0
  200. package/dist/components/combobox/Combobox.d.ts +53 -0
  201. package/dist/components/combobox/Combobox.js +248 -0
  202. package/dist/components/combobox/ComboboxPanel.d.ts +28 -0
  203. package/dist/components/combobox/ComboboxPanel.js +110 -0
  204. package/dist/components/combobox/index.d.ts +4 -0
  205. package/dist/components/combobox/match.d.ts +15 -0
  206. package/dist/components/combobox/match.js +14 -0
  207. package/dist/components/combobox/types.d.ts +60 -0
  208. package/dist/components/combobox/types.js +6 -0
  209. package/dist/components/command-menu/CommandMenu.d.ts +37 -0
  210. package/dist/components/command-menu/CommandMenu.js +386 -0
  211. package/dist/components/command-menu/index.d.ts +3 -0
  212. package/dist/components/command-menu/match.d.ts +19 -0
  213. package/dist/components/command-menu/match.js +45 -0
  214. package/dist/components/command-menu/types.d.ts +19 -0
  215. package/dist/components/compare/Compare.d.ts +31 -0
  216. package/dist/components/compare/Compare.js +300 -0
  217. package/dist/components/compare/StarField.d.ts +22 -0
  218. package/dist/components/compare/StarField.js +66 -0
  219. package/dist/components/compare/index.d.ts +4 -0
  220. package/dist/components/composer/Composer.d.ts +56 -0
  221. package/dist/components/composer/Composer.js +155 -0
  222. package/dist/components/composer/ComposerAttachment.d.ts +14 -0
  223. package/dist/components/composer/ComposerAttachment.js +127 -0
  224. package/dist/components/composer/ComposerAttachments.d.ts +18 -0
  225. package/dist/components/composer/ComposerAttachments.js +85 -0
  226. package/dist/components/composer/ComposerCommandMenu.d.ts +37 -0
  227. package/dist/components/composer/ComposerCommandMenu.js +208 -0
  228. package/dist/components/composer/ComposerInput.d.ts +22 -0
  229. package/dist/components/composer/ComposerInput.js +96 -0
  230. package/dist/components/composer/ComposerModelPicker.d.ts +32 -0
  231. package/dist/components/composer/ComposerModelPicker.js +223 -0
  232. package/dist/components/composer/ComposerSubmit.d.ts +16 -0
  233. package/dist/components/composer/ComposerSubmit.js +52 -0
  234. package/dist/components/composer/ComposerToolbar.d.ts +38 -0
  235. package/dist/components/composer/ComposerToolbar.js +9 -0
  236. package/dist/components/composer/caret.d.ts +69 -0
  237. package/dist/components/composer/caret.js +112 -0
  238. package/dist/components/composer/index.d.ts +18 -0
  239. package/dist/components/composer/types.d.ts +86 -0
  240. package/dist/components/composer/types.js +7 -0
  241. package/dist/components/confetti/Confetti.d.ts +37 -0
  242. package/dist/components/confetti/Confetti.js +45 -0
  243. package/dist/components/confetti/ConfettiButton.d.ts +23 -0
  244. package/dist/components/confetti/ConfettiButton.js +29 -0
  245. package/dist/components/confetti/context.d.ts +21 -0
  246. package/dist/components/confetti/context.js +6 -0
  247. package/dist/components/confetti/index.d.ts +4 -0
  248. package/dist/components/container-scroll/ContainerScroll.d.ts +10 -0
  249. package/dist/components/container-scroll/ContainerScroll.js +74 -0
  250. package/dist/components/container-scroll/index.d.ts +2 -0
  251. package/dist/components/container-text-flip/ContainerTextFlip.d.ts +9 -0
  252. package/dist/components/container-text-flip/ContainerTextFlip.js +58 -0
  253. package/dist/components/container-text-flip/index.d.ts +2 -0
  254. package/dist/components/context-menu/ContextMenu.d.ts +39 -0
  255. package/dist/components/context-menu/ContextMenu.js +105 -0
  256. package/dist/components/context-menu/ContextMenuContent.d.ts +27 -0
  257. package/dist/components/context-menu/ContextMenuContent.js +97 -0
  258. package/dist/components/context-menu/ContextMenuTrigger.d.ts +26 -0
  259. package/dist/components/context-menu/ContextMenuTrigger.js +37 -0
  260. package/dist/components/context-menu/index.d.ts +20 -0
  261. package/dist/components/context-menu/types.d.ts +52 -0
  262. package/dist/components/context-menu/types.js +17 -0
  263. package/dist/components/context-ring/ContextRing.d.ts +33 -0
  264. package/dist/components/context-ring/ContextRing.js +257 -0
  265. package/dist/components/context-ring/index.d.ts +2 -0
  266. package/dist/components/copy-button/CopyButton.d.ts +39 -0
  267. package/dist/components/copy-button/CopyButton.js +124 -0
  268. package/dist/components/copy-button/index.d.ts +2 -0
  269. package/dist/components/date-picker/DatePicker.d.ts +58 -0
  270. package/dist/components/date-picker/DatePicker.js +331 -0
  271. package/dist/components/date-picker/date-utils.d.ts +39 -0
  272. package/dist/components/date-picker/date-utils.js +85 -0
  273. package/dist/components/date-picker/index.d.ts +2 -0
  274. package/dist/components/dialog/Dialog.d.ts +29 -0
  275. package/dist/components/dialog/Dialog.js +105 -0
  276. package/dist/components/dialog/DialogSurface.d.ts +2 -0
  277. package/dist/components/dialog/DialogSurface.js +98 -0
  278. package/dist/components/dialog/index.d.ts +2 -0
  279. package/dist/components/dialog/types.d.ts +61 -0
  280. package/dist/components/dim-siblings/DimSiblings.d.ts +30 -0
  281. package/dist/components/dim-siblings/DimSiblings.js +47 -0
  282. package/dist/components/dim-siblings/index.d.ts +2 -0
  283. package/dist/components/direction-aware-hover/DirectionAwareHover.d.ts +10 -0
  284. package/dist/components/direction-aware-hover/DirectionAwareHover.js +185 -0
  285. package/dist/components/direction-aware-hover/index.d.ts +2 -0
  286. package/dist/components/displacement-text/DisplacementText.d.ts +26 -0
  287. package/dist/components/displacement-text/DisplacementText.js +185 -0
  288. package/dist/components/displacement-text/index.d.ts +2 -0
  289. package/dist/components/dock/Dock.d.ts +28 -0
  290. package/dist/components/dock/Dock.js +80 -0
  291. package/dist/components/dock/DockIcon.d.ts +17 -0
  292. package/dist/components/dock/DockIcon.js +38 -0
  293. package/dist/components/dock/DockSeparator.d.ts +6 -0
  294. package/dist/components/dock/DockSeparator.js +20 -0
  295. package/dist/components/dock/index.d.ts +7 -0
  296. package/dist/components/dock/types.d.ts +47 -0
  297. package/dist/components/dock/types.js +15 -0
  298. package/dist/components/drawer/Drawer.d.ts +34 -0
  299. package/dist/components/drawer/Drawer.js +237 -0
  300. package/dist/components/drawer/index.d.ts +2 -0
  301. package/dist/components/dropdown-menu/DropdownMenu.d.ts +38 -0
  302. package/dist/components/dropdown-menu/DropdownMenu.js +99 -0
  303. package/dist/components/dropdown-menu/DropdownMenuContent.d.ts +15 -0
  304. package/dist/components/dropdown-menu/DropdownMenuContent.js +111 -0
  305. package/dist/components/dropdown-menu/DropdownMenuItem.d.ts +26 -0
  306. package/dist/components/dropdown-menu/DropdownMenuItem.js +74 -0
  307. package/dist/components/dropdown-menu/DropdownMenuLabel.d.ts +15 -0
  308. package/dist/components/dropdown-menu/DropdownMenuLabel.js +18 -0
  309. package/dist/components/dropdown-menu/DropdownMenuSeparator.d.ts +6 -0
  310. package/dist/components/dropdown-menu/DropdownMenuSeparator.js +15 -0
  311. package/dist/components/dropdown-menu/DropdownMenuSub.d.ts +10 -0
  312. package/dist/components/dropdown-menu/DropdownMenuSub.js +110 -0
  313. package/dist/components/dropdown-menu/DropdownMenuSubContent.d.ts +15 -0
  314. package/dist/components/dropdown-menu/DropdownMenuSubContent.js +139 -0
  315. package/dist/components/dropdown-menu/DropdownMenuSubTrigger.d.ts +17 -0
  316. package/dist/components/dropdown-menu/DropdownMenuSubTrigger.js +104 -0
  317. package/dist/components/dropdown-menu/DropdownMenuTrigger.d.ts +16 -0
  318. package/dist/components/dropdown-menu/DropdownMenuTrigger.js +67 -0
  319. package/dist/components/dropdown-menu/index.d.ts +20 -0
  320. package/dist/components/dropdown-menu/menu-shared.d.ts +39 -0
  321. package/dist/components/dropdown-menu/menu-shared.js +48 -0
  322. package/dist/components/dropdown-menu/types.d.ts +159 -0
  323. package/dist/components/dropdown-menu/types.js +32 -0
  324. package/dist/components/editorial-engine/EditorialEngine.d.ts +21 -0
  325. package/dist/components/editorial-engine/EditorialEngine.js +68 -0
  326. package/dist/components/editorial-engine/engine.d.ts +7 -0
  327. package/dist/components/editorial-engine/engine.js +558 -0
  328. package/dist/components/editorial-engine/index.d.ts +2 -0
  329. package/dist/components/file-upload/FileUpload.d.ts +63 -0
  330. package/dist/components/file-upload/FileUpload.js +438 -0
  331. package/dist/components/file-upload/index.d.ts +2 -0
  332. package/dist/components/fireworks-hdr/FireworksHdr.d.ts +56 -0
  333. package/dist/components/fireworks-hdr/FireworksHdr.js +426 -0
  334. package/dist/components/fireworks-hdr/dev.d.ts +1 -0
  335. package/dist/components/fireworks-hdr/dev.js +8 -0
  336. package/dist/components/fireworks-hdr/fireworks-shared.d.ts +444 -0
  337. package/dist/components/fireworks-hdr/fireworks-shared.js +1205 -0
  338. package/dist/components/fireworks-hdr/index.d.ts +4 -0
  339. package/dist/components/fireworks-hdr/webgl2-renderer.d.ts +20 -0
  340. package/dist/components/fireworks-hdr/webgl2-renderer.js +517 -0
  341. package/dist/components/fireworks-hdr/webgpu-renderer.d.ts +51 -0
  342. package/dist/components/fireworks-hdr/webgpu-renderer.js +461 -0
  343. package/dist/components/fireworks-hdr/webgpu-types.d.ts +159 -0
  344. package/dist/components/flickering-grid/FlickeringGrid.d.ts +33 -0
  345. package/dist/components/flickering-grid/FlickeringGrid.js +154 -0
  346. package/dist/components/flickering-grid/index.d.ts +2 -0
  347. package/dist/components/flip-card/FlipCard.d.ts +8 -0
  348. package/dist/components/flip-card/FlipCard.js +35 -0
  349. package/dist/components/flip-card/index.d.ts +2 -0
  350. package/dist/components/flip-words/FlipWords.d.ts +16 -0
  351. package/dist/components/flip-words/FlipWords.js +82 -0
  352. package/dist/components/flip-words/index.d.ts +2 -0
  353. package/dist/components/fluid-cursor/FluidCursor.d.ts +61 -0
  354. package/dist/components/fluid-cursor/FluidCursor.js +1479 -0
  355. package/dist/components/fluid-cursor/fluid-shared.d.ts +74 -0
  356. package/dist/components/fluid-cursor/fluid-shared.js +120 -0
  357. package/dist/components/fluid-cursor/index.d.ts +8 -0
  358. package/dist/components/fluid-cursor/webgpu-engine.d.ts +36 -0
  359. package/dist/components/fluid-cursor/webgpu-engine.js +922 -0
  360. package/dist/components/focus/Focus.d.ts +24 -0
  361. package/dist/components/focus/Focus.js +103 -0
  362. package/dist/components/focus/index.d.ts +2 -0
  363. package/dist/components/form-field/FormField.d.ts +46 -0
  364. package/dist/components/form-field/FormField.js +151 -0
  365. package/dist/components/form-field/index.d.ts +2 -0
  366. package/dist/components/frosted-glass/FrostedGlass.d.ts +48 -0
  367. package/dist/components/frosted-glass/FrostedGlass.js +89 -0
  368. package/dist/components/frosted-glass/index.d.ts +2 -0
  369. package/dist/components/glare-card/GlareCard.d.ts +8 -0
  370. package/dist/components/glare-card/GlareCard.js +103 -0
  371. package/dist/components/glare-card/index.d.ts +2 -0
  372. package/dist/components/glow-border/GlowBorder.d.ts +8 -0
  373. package/dist/components/glow-border/GlowBorder.js +39 -0
  374. package/dist/components/glow-border/index.d.ts +2 -0
  375. package/dist/components/glowing-effect/GlowingEffect.d.ts +23 -0
  376. package/dist/components/glowing-effect/GlowingEffect.js +157 -0
  377. package/dist/components/glowing-effect/index.d.ts +2 -0
  378. package/dist/components/gradient-button/GradientButton.d.ts +28 -0
  379. package/dist/components/gradient-button/GradientButton.js +66 -0
  380. package/dist/components/gradient-button/index.d.ts +2 -0
  381. package/dist/components/hover-card/HoverCard.d.ts +57 -0
  382. package/dist/components/hover-card/HoverCard.js +139 -0
  383. package/dist/components/hover-card/index.d.ts +2 -0
  384. package/dist/components/hyper-text/HyperText.d.ts +25 -0
  385. package/dist/components/hyper-text/HyperText.js +102 -0
  386. package/dist/components/hyper-text/index.d.ts +2 -0
  387. package/dist/components/icon-button/IconButton.d.ts +46 -0
  388. package/dist/components/icon-button/IconButton.js +62 -0
  389. package/dist/components/icon-button/index.d.ts +2 -0
  390. package/dist/components/image-generation/ImageGeneration.d.ts +33 -0
  391. package/dist/components/image-generation/ImageGeneration.js +131 -0
  392. package/dist/components/image-generation/index.d.ts +2 -0
  393. package/dist/components/image-trail-cursor/ImageTrailCursor.d.ts +15 -0
  394. package/dist/components/image-trail-cursor/ImageTrailCursor.js +75 -0
  395. package/dist/components/image-trail-cursor/index.d.ts +3 -0
  396. package/dist/components/image-trail-cursor/trail-variants.d.ts +112 -0
  397. package/dist/components/image-trail-cursor/trail-variants.js +787 -0
  398. package/dist/components/inline-citation/InlineCitation.d.ts +23 -0
  399. package/dist/components/inline-citation/InlineCitation.js +179 -0
  400. package/dist/components/inline-citation/index.d.ts +2 -0
  401. package/dist/components/input/Input.d.ts +41 -0
  402. package/dist/components/input/Input.js +74 -0
  403. package/dist/components/input/index.d.ts +2 -0
  404. package/dist/components/interactive-grid-pattern/InteractiveGridPattern.d.ts +17 -0
  405. package/dist/components/interactive-grid-pattern/InteractiveGridPattern.js +89 -0
  406. package/dist/components/interactive-grid-pattern/index.d.ts +2 -0
  407. package/dist/components/interactive-hover-button/InteractiveHoverButton.d.ts +18 -0
  408. package/dist/components/interactive-hover-button/InteractiveHoverButton.js +66 -0
  409. package/dist/components/interactive-hover-button/index.d.ts +2 -0
  410. package/dist/components/label/Label.d.ts +18 -0
  411. package/dist/components/label/Label.js +28 -0
  412. package/dist/components/label/index.d.ts +2 -0
  413. package/dist/components/letter-pullup/LetterPullup.d.ts +16 -0
  414. package/dist/components/letter-pullup/LetterPullup.js +27 -0
  415. package/dist/components/letter-pullup/index.d.ts +2 -0
  416. package/dist/components/line-hover-link/LineHoverLink.d.ts +33 -0
  417. package/dist/components/line-hover-link/LineHoverLink.js +69 -0
  418. package/dist/components/line-hover-link/index.d.ts +2 -0
  419. package/dist/components/line-reveal/LineReveal.d.ts +31 -0
  420. package/dist/components/line-reveal/LineReveal.js +117 -0
  421. package/dist/components/line-reveal/index.d.ts +2 -0
  422. package/dist/components/line-shadow-text/LineShadowText.d.ts +18 -0
  423. package/dist/components/line-shadow-text/LineShadowText.js +26 -0
  424. package/dist/components/line-shadow-text/index.d.ts +2 -0
  425. package/dist/components/link/Link.d.ts +30 -0
  426. package/dist/components/link/Link.js +82 -0
  427. package/dist/components/link/index.d.ts +2 -0
  428. package/dist/components/liquid-glass/LiquidGlass.d.ts +49 -0
  429. package/dist/components/liquid-glass/LiquidGlass.js +165 -0
  430. package/dist/components/liquid-glass/index.d.ts +2 -0
  431. package/dist/components/liquid-text/LiquidText.d.ts +35 -0
  432. package/dist/components/liquid-text/LiquidText.js +882 -0
  433. package/dist/components/liquid-text/index.d.ts +2 -0
  434. package/dist/components/logo-cloud/AnimatedLogoCloud.d.ts +13 -0
  435. package/dist/components/logo-cloud/AnimatedLogoCloud.js +38 -0
  436. package/dist/components/logo-cloud/IconLogoCloud.d.ts +10 -0
  437. package/dist/components/logo-cloud/IconLogoCloud.js +20 -0
  438. package/dist/components/logo-cloud/StaticLogoCloud.d.ts +28 -0
  439. package/dist/components/logo-cloud/StaticLogoCloud.js +45 -0
  440. package/dist/components/logo-cloud/index.d.ts +6 -0
  441. package/dist/components/magnetic/Magnetic.d.ts +35 -0
  442. package/dist/components/magnetic/Magnetic.js +113 -0
  443. package/dist/components/magnetic/index.d.ts +2 -0
  444. package/dist/components/marquee/Marquee.d.ts +16 -0
  445. package/dist/components/marquee/Marquee.js +39 -0
  446. package/dist/components/marquee/ReviewCard.d.ts +8 -0
  447. package/dist/components/marquee/ReviewCard.js +17 -0
  448. package/dist/components/marquee/index.d.ts +4 -0
  449. package/dist/components/matrix-rain/MatrixRain.d.ts +35 -0
  450. package/dist/components/matrix-rain/MatrixRain.js +130 -0
  451. package/dist/components/matrix-rain/index.d.ts +2 -0
  452. package/dist/components/meteors/Meteors.d.ts +21 -0
  453. package/dist/components/meteors/Meteors.js +45 -0
  454. package/dist/components/meteors/index.d.ts +2 -0
  455. package/dist/components/mosaic-glow/MosaicGlow.d.ts +47 -0
  456. package/dist/components/mosaic-glow/MosaicGlow.js +438 -0
  457. package/dist/components/mosaic-glow/index.d.ts +2 -0
  458. package/dist/components/mosaic-glow/mosaic-glow-core.d.ts +94 -0
  459. package/dist/components/mosaic-glow/mosaic-glow-core.js +190 -0
  460. package/dist/components/navbar/Navbar.d.ts +25 -0
  461. package/dist/components/navbar/Navbar.js +27 -0
  462. package/dist/components/navbar/NavbarLink.d.ts +37 -0
  463. package/dist/components/navbar/NavbarLink.js +48 -0
  464. package/dist/components/navbar/index.d.ts +4 -0
  465. package/dist/components/navigation-menu/NavigationMenu.d.ts +28 -0
  466. package/dist/components/navigation-menu/NavigationMenu.js +202 -0
  467. package/dist/components/navigation-menu/NavigationMenuContent.d.ts +8 -0
  468. package/dist/components/navigation-menu/NavigationMenuContent.js +77 -0
  469. package/dist/components/navigation-menu/NavigationMenuItem.d.ts +20 -0
  470. package/dist/components/navigation-menu/NavigationMenuItem.js +18 -0
  471. package/dist/components/navigation-menu/NavigationMenuLink.d.ts +31 -0
  472. package/dist/components/navigation-menu/NavigationMenuLink.js +41 -0
  473. package/dist/components/navigation-menu/NavigationMenuList.d.ts +8 -0
  474. package/dist/components/navigation-menu/NavigationMenuList.js +33 -0
  475. package/dist/components/navigation-menu/NavigationMenuTrigger.d.ts +8 -0
  476. package/dist/components/navigation-menu/NavigationMenuTrigger.js +90 -0
  477. package/dist/components/navigation-menu/index.d.ts +14 -0
  478. package/dist/components/navigation-menu/types.d.ts +107 -0
  479. package/dist/components/navigation-menu/types.js +32 -0
  480. package/dist/components/neon-border/NeonBorder.d.ts +22 -0
  481. package/dist/components/neon-border/NeonBorder.js +50 -0
  482. package/dist/components/neon-border/index.d.ts +2 -0
  483. package/dist/components/noise-reveal/NoiseReveal.d.ts +29 -0
  484. package/dist/components/noise-reveal/NoiseReveal.js +329 -0
  485. package/dist/components/noise-reveal/index.d.ts +2 -0
  486. package/dist/components/number-input/NumberInput.d.ts +40 -0
  487. package/dist/components/number-input/NumberInput.js +207 -0
  488. package/dist/components/number-input/index.d.ts +2 -0
  489. package/dist/components/number-ticker/NumberTicker.d.ts +22 -0
  490. package/dist/components/number-ticker/NumberTicker.js +106 -0
  491. package/dist/components/number-ticker/index.d.ts +2 -0
  492. package/dist/components/pagination/Pagination.d.ts +43 -0
  493. package/dist/components/pagination/Pagination.js +156 -0
  494. package/dist/components/pagination/index.d.ts +2 -0
  495. package/dist/components/pagination/pagination-range.d.ts +11 -0
  496. package/dist/components/pagination/pagination-range.js +35 -0
  497. package/dist/components/password-input/PasswordInput.d.ts +56 -0
  498. package/dist/components/password-input/PasswordInput.js +246 -0
  499. package/dist/components/password-input/index.d.ts +2 -0
  500. package/dist/components/pixel-loader/PixelLoader.d.ts +18 -0
  501. package/dist/components/pixel-loader/PixelLoader.js +56 -0
  502. package/dist/components/pixel-loader/index.d.ts +2 -0
  503. package/dist/components/popover/Popover.d.ts +49 -0
  504. package/dist/components/popover/Popover.js +81 -0
  505. package/dist/components/popover/PopoverContent.d.ts +21 -0
  506. package/dist/components/popover/PopoverContent.js +78 -0
  507. package/dist/components/popover/index.d.ts +6 -0
  508. package/dist/components/popover/types.d.ts +64 -0
  509. package/dist/components/popover/types.js +17 -0
  510. package/dist/components/presence/Presence.d.ts +40 -0
  511. package/dist/components/presence/Presence.js +49 -0
  512. package/dist/components/presence/index.d.ts +2 -0
  513. package/dist/components/pressable/Pressable.d.ts +27 -0
  514. package/dist/components/pressable/Pressable.js +86 -0
  515. package/dist/components/pressable/index.d.ts +2 -0
  516. package/dist/components/prompt-suggestions/PromptSuggestions.d.ts +25 -0
  517. package/dist/components/prompt-suggestions/PromptSuggestions.js +68 -0
  518. package/dist/components/prompt-suggestions/index.d.ts +2 -0
  519. package/dist/components/pulse-beam/PulseBeam.d.ts +44 -0
  520. package/dist/components/pulse-beam/PulseBeam.js +197 -0
  521. package/dist/components/pulse-beam/index.d.ts +2 -0
  522. package/dist/components/pulse-beam/pulse-beam-data.d.ts +81 -0
  523. package/dist/components/pulse-beam/pulse-beam-data.js +306 -0
  524. package/dist/components/pulse-beam/pulse-beam-loop.d.ts +26 -0
  525. package/dist/components/pulse-beam/pulse-beam-loop.js +58 -0
  526. package/dist/components/radio-group/RadioGroup.d.ts +56 -0
  527. package/dist/components/radio-group/RadioGroup.js +82 -0
  528. package/dist/components/radio-group/RadioGroupItem.d.ts +21 -0
  529. package/dist/components/radio-group/RadioGroupItem.js +47 -0
  530. package/dist/components/radio-group/index.d.ts +6 -0
  531. package/dist/components/radio-group/types.d.ts +50 -0
  532. package/dist/components/radio-group/types.js +7 -0
  533. package/dist/components/rainbow-button/RainbowButton.d.ts +21 -0
  534. package/dist/components/rainbow-button/RainbowButton.js +59 -0
  535. package/dist/components/rainbow-button/index.d.ts +2 -0
  536. package/dist/components/reasoning-panel/ReasoningPanel.d.ts +38 -0
  537. package/dist/components/reasoning-panel/ReasoningPanel.js +172 -0
  538. package/dist/components/reasoning-panel/index.d.ts +2 -0
  539. package/dist/components/recommendation-card/RecommendationCard.d.ts +53 -0
  540. package/dist/components/recommendation-card/RecommendationCard.js +234 -0
  541. package/dist/components/recommendation-card/index.d.ts +2 -0
  542. package/dist/components/reveal/Reveal.d.ts +36 -0
  543. package/dist/components/reveal/Reveal.js +138 -0
  544. package/dist/components/reveal/index.d.ts +2 -0
  545. package/dist/components/ripple/Ripple.d.ts +11 -0
  546. package/dist/components/ripple/Ripple.js +45 -0
  547. package/dist/components/ripple/index.d.ts +2 -0
  548. package/dist/components/ripple-button/RippleButton.d.ts +17 -0
  549. package/dist/components/ripple-button/RippleButton.js +77 -0
  550. package/dist/components/ripple-button/index.d.ts +2 -0
  551. package/dist/components/scroll-anchor/ScrollAnchor.d.ts +33 -0
  552. package/dist/components/scroll-anchor/ScrollAnchor.js +99 -0
  553. package/dist/components/scroll-anchor/index.d.ts +2 -0
  554. package/dist/components/scroll-progress/ScrollProgress.d.ts +39 -0
  555. package/dist/components/scroll-progress/ScrollProgress.js +118 -0
  556. package/dist/components/scroll-progress/index.d.ts +2 -0
  557. package/dist/components/search-input/SearchInput.d.ts +56 -0
  558. package/dist/components/search-input/SearchInput.js +192 -0
  559. package/dist/components/search-input/index.d.ts +2 -0
  560. package/dist/components/select/Select.d.ts +44 -0
  561. package/dist/components/select/Select.js +255 -0
  562. package/dist/components/select/SelectPanel.d.ts +33 -0
  563. package/dist/components/select/SelectPanel.js +108 -0
  564. package/dist/components/select/index.d.ts +3 -0
  565. package/dist/components/select/types.d.ts +83 -0
  566. package/dist/components/select/types.js +8 -0
  567. package/dist/components/sheet/Sheet.d.ts +40 -0
  568. package/dist/components/sheet/Sheet.js +183 -0
  569. package/dist/components/sheet/index.d.ts +2 -0
  570. package/dist/components/shimmer-button/ShimmerButton.d.ts +26 -0
  571. package/dist/components/shimmer-button/ShimmerButton.js +69 -0
  572. package/dist/components/shimmer-button/index.d.ts +2 -0
  573. package/dist/components/sidebar/Sidebar.d.ts +17 -0
  574. package/dist/components/sidebar/Sidebar.js +27 -0
  575. package/dist/components/sidebar/SidebarFooter.d.ts +10 -0
  576. package/dist/components/sidebar/SidebarFooter.js +31 -0
  577. package/dist/components/sidebar/SidebarGroup.d.ts +10 -0
  578. package/dist/components/sidebar/SidebarGroup.js +28 -0
  579. package/dist/components/sidebar/SidebarItem.d.ts +33 -0
  580. package/dist/components/sidebar/SidebarItem.js +81 -0
  581. package/dist/components/sidebar/SidebarSeparator.d.ts +5 -0
  582. package/dist/components/sidebar/SidebarSeparator.js +13 -0
  583. package/dist/components/sidebar/index.d.ts +12 -0
  584. package/dist/components/sidebar/types.d.ts +36 -0
  585. package/dist/components/sidebar/types.js +7 -0
  586. package/dist/components/skeleton/Skeleton.d.ts +35 -0
  587. package/dist/components/skeleton/Skeleton.js +106 -0
  588. package/dist/components/skeleton/index.d.ts +2 -0
  589. package/dist/components/slider/Slider.d.ts +32 -0
  590. package/dist/components/slider/Slider.js +119 -0
  591. package/dist/components/slider/index.d.ts +2 -0
  592. package/dist/components/smooth-cursor/SmoothCursor.d.ts +18 -0
  593. package/dist/components/smooth-cursor/SmoothCursor.js +186 -0
  594. package/dist/components/smooth-cursor/index.d.ts +2 -0
  595. package/dist/components/sources/SourceCard.d.ts +21 -0
  596. package/dist/components/sources/SourceCard.js +48 -0
  597. package/dist/components/sources/Sources.d.ts +31 -0
  598. package/dist/components/sources/Sources.js +39 -0
  599. package/dist/components/sources/SourcesList.d.ts +13 -0
  600. package/dist/components/sources/SourcesList.js +42 -0
  601. package/dist/components/sources/SourcesTrigger.d.ts +11 -0
  602. package/dist/components/sources/SourcesTrigger.js +50 -0
  603. package/dist/components/sources/index.d.ts +10 -0
  604. package/dist/components/sources/types.d.ts +45 -0
  605. package/dist/components/sources/types.js +7 -0
  606. package/dist/components/sparkles/Sparkles.d.ts +35 -0
  607. package/dist/components/sparkles/Sparkles.js +112 -0
  608. package/dist/components/sparkles/index.d.ts +2 -0
  609. package/dist/components/sparkles-text/SparklesText.d.ts +28 -0
  610. package/dist/components/sparkles-text/SparklesText.js +84 -0
  611. package/dist/components/sparkles-text/index.d.ts +2 -0
  612. package/dist/components/status-morph/StatusMorph.d.ts +47 -0
  613. package/dist/components/status-morph/StatusMorph.js +110 -0
  614. package/dist/components/status-morph/index.d.ts +2 -0
  615. package/dist/components/stepper/Step.d.ts +24 -0
  616. package/dist/components/stepper/Step.js +152 -0
  617. package/dist/components/stepper/Stepper.d.ts +38 -0
  618. package/dist/components/stepper/Stepper.js +79 -0
  619. package/dist/components/stepper/index.d.ts +6 -0
  620. package/dist/components/stepper/types.d.ts +66 -0
  621. package/dist/components/stepper/types.js +7 -0
  622. package/dist/components/sticky-scroll/StickyScroll.d.ts +40 -0
  623. package/dist/components/sticky-scroll/StickyScroll.js +163 -0
  624. package/dist/components/sticky-scroll/index.d.ts +2 -0
  625. package/dist/components/streaming-text/StreamingText.d.ts +20 -0
  626. package/dist/components/streaming-text/StreamingText.js +32 -0
  627. package/dist/components/streaming-text/index.d.ts +2 -0
  628. package/dist/components/subagent-list/SubagentList.d.ts +28 -0
  629. package/dist/components/subagent-list/SubagentList.js +167 -0
  630. package/dist/components/subagent-list/index.d.ts +2 -0
  631. package/dist/components/switch/Switch.d.ts +55 -0
  632. package/dist/components/switch/Switch.js +77 -0
  633. package/dist/components/switch/index.d.ts +2 -0
  634. package/dist/components/tabs/Tabs.d.ts +43 -0
  635. package/dist/components/tabs/Tabs.js +123 -0
  636. package/dist/components/tabs/TabsContent.d.ts +26 -0
  637. package/dist/components/tabs/TabsContent.js +64 -0
  638. package/dist/components/tabs/TabsList.d.ts +16 -0
  639. package/dist/components/tabs/TabsList.js +152 -0
  640. package/dist/components/tabs/TabsTrigger.d.ts +19 -0
  641. package/dist/components/tabs/TabsTrigger.js +138 -0
  642. package/dist/components/tabs/index.d.ts +10 -0
  643. package/dist/components/tabs/types.d.ts +94 -0
  644. package/dist/components/tabs/types.js +7 -0
  645. package/dist/components/terminal-block/TerminalBlock.d.ts +27 -0
  646. package/dist/components/terminal-block/TerminalBlock.js +120 -0
  647. package/dist/components/terminal-block/ansi.d.ts +30 -0
  648. package/dist/components/terminal-block/ansi.js +114 -0
  649. package/dist/components/terminal-block/index.d.ts +2 -0
  650. package/dist/components/terminal-text/TerminalText.d.ts +11 -0
  651. package/dist/components/terminal-text/TerminalText.js +140 -0
  652. package/dist/components/terminal-text/index.d.ts +2 -0
  653. package/dist/components/text-generate-effect/TextGenerateEffect.d.ts +9 -0
  654. package/dist/components/text-generate-effect/TextGenerateEffect.js +58 -0
  655. package/dist/components/text-generate-effect/index.d.ts +2 -0
  656. package/dist/components/text-reveal-card/TextRevealCard.d.ts +21 -0
  657. package/dist/components/text-reveal-card/TextRevealCard.js +107 -0
  658. package/dist/components/text-reveal-card/TextRevealStars.d.ts +25 -0
  659. package/dist/components/text-reveal-card/TextRevealStars.js +59 -0
  660. package/dist/components/text-reveal-card/index.d.ts +4 -0
  661. package/dist/components/text-roll/TextRoll.d.ts +43 -0
  662. package/dist/components/text-roll/TextRoll.js +242 -0
  663. package/dist/components/text-roll/index.d.ts +2 -0
  664. package/dist/components/text-roll/roll-transitions.d.ts +74 -0
  665. package/dist/components/text-roll/roll-transitions.js +31 -0
  666. package/dist/components/textarea/Textarea.d.ts +48 -0
  667. package/dist/components/textarea/Textarea.js +129 -0
  668. package/dist/components/textarea/index.d.ts +2 -0
  669. package/dist/components/thinking-indicator/ThinkingIndicator.d.ts +26 -0
  670. package/dist/components/thinking-indicator/ThinkingIndicator.js +60 -0
  671. package/dist/components/thinking-indicator/index.d.ts +2 -0
  672. package/dist/components/thread-list/ThreadList.d.ts +44 -0
  673. package/dist/components/thread-list/ThreadList.js +178 -0
  674. package/dist/components/thread-list/index.d.ts +2 -0
  675. package/dist/components/time-picker/TimePicker.d.ts +44 -0
  676. package/dist/components/time-picker/TimePicker.js +254 -0
  677. package/dist/components/time-picker/TimePickerPanel.d.ts +30 -0
  678. package/dist/components/time-picker/TimePickerPanel.js +94 -0
  679. package/dist/components/time-picker/index.d.ts +2 -0
  680. package/dist/components/time-picker/time-utils.d.ts +33 -0
  681. package/dist/components/time-picker/time-utils.js +65 -0
  682. package/dist/components/time-picker/types.d.ts +53 -0
  683. package/dist/components/time-picker/types.js +10 -0
  684. package/dist/components/timeline/Timeline.d.ts +18 -0
  685. package/dist/components/timeline/Timeline.js +96 -0
  686. package/dist/components/timeline/index.d.ts +2 -0
  687. package/dist/components/toast/Toast.d.ts +16 -0
  688. package/dist/components/toast/Toast.js +99 -0
  689. package/dist/components/toast/Toaster.d.ts +19 -0
  690. package/dist/components/toast/Toaster.js +147 -0
  691. package/dist/components/toast/index.d.ts +6 -0
  692. package/dist/components/toast/store.d.ts +102 -0
  693. package/dist/components/toast/store.js +118 -0
  694. package/dist/components/toggle/Toggle.d.ts +28 -0
  695. package/dist/components/toggle/Toggle.js +69 -0
  696. package/dist/components/toggle/index.d.ts +2 -0
  697. package/dist/components/toggle-group/ToggleGroup.d.ts +42 -0
  698. package/dist/components/toggle-group/ToggleGroup.js +150 -0
  699. package/dist/components/toggle-group/ToggleGroupItem.d.ts +21 -0
  700. package/dist/components/toggle-group/ToggleGroupItem.js +100 -0
  701. package/dist/components/toggle-group/index.d.ts +6 -0
  702. package/dist/components/toggle-group/types.d.ts +75 -0
  703. package/dist/components/toggle-group/types.js +7 -0
  704. package/dist/components/tool-call/ToolCall.d.ts +39 -0
  705. package/dist/components/tool-call/ToolCall.js +195 -0
  706. package/dist/components/tool-call/index.d.ts +2 -0
  707. package/dist/components/tool-timeline/ToolTimeline.d.ts +31 -0
  708. package/dist/components/tool-timeline/ToolTimeline.js +99 -0
  709. package/dist/components/tool-timeline/index.d.ts +2 -0
  710. package/dist/components/tooltip/Tooltip.d.ts +36 -0
  711. package/dist/components/tooltip/Tooltip.js +214 -0
  712. package/dist/components/tooltip/index.d.ts +2 -0
  713. package/dist/components/tracing-beam/TracingBeam.d.ts +11 -0
  714. package/dist/components/tracing-beam/TracingBeam.js +163 -0
  715. package/dist/components/tracing-beam/index.d.ts +2 -0
  716. package/dist/components/typing-indicator/TypingIndicator.d.ts +17 -0
  717. package/dist/components/typing-indicator/TypingIndicator.js +47 -0
  718. package/dist/components/typing-indicator/index.d.ts +2 -0
  719. package/dist/components/voice-input/VoiceInput.d.ts +60 -0
  720. package/dist/components/voice-input/VoiceInput.js +268 -0
  721. package/dist/components/voice-input/index.d.ts +2 -0
  722. package/dist/components/web-search/WebSearch.d.ts +37 -0
  723. package/dist/components/web-search/WebSearch.js +135 -0
  724. package/dist/components/web-search/index.d.ts +2 -0
  725. package/dist/index.d.ts +148 -0
  726. package/dist/index.js +489 -0
  727. package/dist/internals/Portal.d.ts +35 -0
  728. package/dist/internals/Portal.js +37 -0
  729. package/dist/internals/StreamText.d.ts +20 -0
  730. package/dist/internals/StreamText.js +25 -0
  731. package/dist/internals/ai-types.d.ts +117 -0
  732. package/dist/internals/anchor-position.d.ts +79 -0
  733. package/dist/internals/anchor-position.js +154 -0
  734. package/dist/internals/calendar-core.d.ts +26 -0
  735. package/dist/internals/calendar-core.js +57 -0
  736. package/dist/internals/diff.d.ts +38 -0
  737. package/dist/internals/diff.js +176 -0
  738. package/dist/internals/dismissable.d.ts +76 -0
  739. package/dist/internals/dismissable.js +105 -0
  740. package/dist/internals/dom/context.d.ts +16 -0
  741. package/dist/internals/dom/context.js +20 -0
  742. package/dist/internals/dom/ssr.d.ts +21 -0
  743. package/dist/internals/dom/ssr.js +21 -0
  744. package/dist/internals/dom/types.d.ts +9 -0
  745. package/dist/internals/dom/use-composed-refs.d.ts +15 -0
  746. package/dist/internals/dom/use-composed-refs.js +34 -0
  747. package/dist/internals/dom/use-element-ref.d.ts +11 -0
  748. package/dist/internals/dom/use-element-ref.js +12 -0
  749. package/dist/internals/dom/use-event-callback.d.ts +14 -0
  750. package/dist/internals/dom/use-event-callback.js +12 -0
  751. package/dist/internals/dom/use-inert-attribute.d.ts +26 -0
  752. package/dist/internals/dom/use-inert-attribute.js +22 -0
  753. package/dist/internals/dom/use-live-ref.d.ts +10 -0
  754. package/dist/internals/dom/use-live-ref.js +12 -0
  755. package/dist/internals/field.d.ts +136 -0
  756. package/dist/internals/field.js +33 -0
  757. package/dist/internals/float.d.ts +47 -0
  758. package/dist/internals/float.js +31 -0
  759. package/dist/internals/focus-trap.d.ts +82 -0
  760. package/dist/internals/focus-trap.js +145 -0
  761. package/dist/internals/host.d.ts +38 -0
  762. package/dist/internals/host.js +24 -0
  763. package/dist/internals/listbox.d.ts +101 -0
  764. package/dist/internals/listbox.js +171 -0
  765. package/dist/internals/markdown/Markdown.d.ts +22 -0
  766. package/dist/internals/markdown/Markdown.js +53 -0
  767. package/dist/internals/markdown/MarkdownInline.d.ts +5 -0
  768. package/dist/internals/markdown/MarkdownInline.js +40 -0
  769. package/dist/internals/markdown.d.ts +66 -0
  770. package/dist/internals/markdown.js +467 -0
  771. package/dist/internals/menu.d.ts +121 -0
  772. package/dist/internals/menu.js +217 -0
  773. package/dist/internals/motion/anchored.d.ts +104 -0
  774. package/dist/internals/motion/anchored.js +44 -0
  775. package/dist/internals/motion/animate.d.ts +92 -0
  776. package/dist/internals/motion/animate.js +84 -0
  777. package/dist/internals/motion/easing.d.ts +20 -0
  778. package/dist/internals/motion/easing.js +13 -0
  779. package/dist/internals/motion/haptics.d.ts +42 -0
  780. package/dist/internals/motion/haptics.js +29 -0
  781. package/dist/internals/motion/in-view.d.ts +67 -0
  782. package/dist/internals/motion/in-view.js +97 -0
  783. package/dist/internals/motion/media-query.d.ts +50 -0
  784. package/dist/internals/motion/media-query.js +54 -0
  785. package/dist/internals/motion/presence.d.ts +108 -0
  786. package/dist/internals/motion/presence.js +197 -0
  787. package/dist/internals/motion/presets.d.ts +34 -0
  788. package/dist/internals/motion/presets.js +19 -0
  789. package/dist/internals/motion/raf.d.ts +35 -0
  790. package/dist/internals/motion/raf.js +27 -0
  791. package/dist/internals/motion/stagger.d.ts +32 -0
  792. package/dist/internals/motion/stagger.js +15 -0
  793. package/dist/internals/motion/tokens.d.ts +97 -0
  794. package/dist/internals/motion/tokens.js +18 -0
  795. package/dist/internals/motion/transitions.d.ts +66 -0
  796. package/dist/internals/motion/transitions.js +41 -0
  797. package/dist/internals/motion/types.d.ts +17 -0
  798. package/dist/internals/relative-time.d.ts +25 -0
  799. package/dist/internals/relative-time.js +46 -0
  800. package/dist/internals/scroll-lock.d.ts +26 -0
  801. package/dist/internals/scroll-lock.js +65 -0
  802. package/dist/internals/use-anchor-position.d.ts +54 -0
  803. package/dist/internals/use-anchor-position.js +87 -0
  804. package/dist/internals/use-autoscroll.d.ts +43 -0
  805. package/dist/internals/use-autoscroll.js +128 -0
  806. package/dist/internals/use-copy.d.ts +54 -0
  807. package/dist/internals/use-copy.js +67 -0
  808. package/dist/internals/use-elapsed.d.ts +96 -0
  809. package/dist/internals/use-elapsed.js +195 -0
  810. package/dist/internals/use-float.d.ts +49 -0
  811. package/dist/internals/use-float.js +150 -0
  812. package/dist/internals/use-id.d.ts +22 -0
  813. package/dist/internals/use-id.js +20 -0
  814. package/dist/internals/use-text-stream.d.ts +94 -0
  815. package/dist/internals/use-text-stream.js +133 -0
  816. package/dist/internals/waveform-core.d.ts +33 -0
  817. package/dist/internals/waveform-core.js +39 -0
  818. package/dist/sound/SoundToggle.d.ts +23 -0
  819. package/dist/sound/SoundToggle.js +96 -0
  820. package/dist/sound/engine.d.ts +67 -0
  821. package/dist/sound/engine.js +370 -0
  822. package/dist/sound/index.d.ts +7 -0
  823. package/dist/sound/sound-feedback.d.ts +77 -0
  824. package/dist/sound/sound-feedback.js +152 -0
  825. package/dist/sound/sound.d.ts +98 -0
  826. package/dist/sound/sound.js +309 -0
  827. package/dist/sound/themes.d.ts +19 -0
  828. package/dist/sound/themes.js +355 -0
  829. package/dist/sound/types.d.ts +125 -0
  830. package/dist/sound/types.js +54 -0
  831. package/dist/sound/use-sound.d.ts +53 -0
  832. package/dist/sound/use-sound.js +82 -0
  833. package/dist/styles.css +7975 -0
  834. package/dist/utils.d.ts +3 -0
  835. package/dist/utils.js +8 -0
  836. package/package.json +96 -0
  837. package/tailwind.css +132 -0
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ const terminalMeta = {
3
+ palette: [
4
+ { name: "Black", value: "#0a0e0a", note: "page bg · void" },
5
+ { name: "Panel", value: "#0d120d", note: "near-black card" },
6
+ { name: "Dim green", value: "#14532d", note: "muted border · disabled" },
7
+ { name: "Green", value: "#22c55e", note: "border · phosphor" },
8
+ { name: "Bright green", value: "#4ade80", note: "text · foreground" },
9
+ { name: "Error red", value: "#f87171", note: "aria-invalid" },
10
+ { name: "Blue", value: "#38bdf8", note: "accent · info" },
11
+ { name: "Amber", value: "#facc15", note: "accent · warn" }
12
+ ],
13
+ type: [
14
+ {
15
+ sample: "DISPLAY",
16
+ spec: "SPACE MONO 700 CAPS · 56 · +0.02EM",
17
+ style: "font-family:var(--skin-font-mono);font-size:56px;font-weight:700;letter-spacing:0.02em;line-height:1;text-transform:uppercase;"
18
+ },
19
+ {
20
+ sample: "HEADING — SYSTEM READOUT",
21
+ spec: "SPACE MONO 700 CAPS · 26 · +0.06EM",
22
+ style: "font-family:var(--skin-font-mono);font-size:26px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;"
23
+ },
24
+ {
25
+ sample: "Body — phosphor glows on a black tube; the cursor blinks and waits for input.",
26
+ spec: "SPACE MONO 400 · 14 · 1.6",
27
+ style: "font-family:var(--skin-font-mono);font-size:14px;font-weight:400;line-height:1.6;max-width:52ch;"
28
+ },
29
+ {
30
+ sample: "$ prompt --input",
31
+ spec: "SPACE MONO 400 · 13 · caret green",
32
+ style: "font-family:var(--skin-font-mono);font-size:13px;font-weight:400;letter-spacing:0.01em;"
33
+ },
34
+ {
35
+ sample: "LABEL · STATUS: OK",
36
+ spec: "SPACE MONO 700 CAPS · 10.5 · +0.14EM",
37
+ style: "font-family:var(--skin-font-mono);font-size:10.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;"
38
+ }
39
+ ],
40
+ specs: {
41
+ radius: [
42
+ { size: "0px", label: "tag" },
43
+ { size: "0px", label: "tile" },
44
+ { size: "0px", label: "nav" },
45
+ { size: "0px", label: "card" },
46
+ { size: "0 (square world)", label: "pill" }
47
+ ],
48
+ border: "1px solid green (#22c55e), everywhere. Dim green #14532d when muted.",
49
+ shadowRest: "none (flat) · optional phosphor glow via CSS",
50
+ shadowHover: "none · invert on hover (bg fills green, text goes black)",
51
+ spacing: "monospace grid · 4 / 8 / 12 / 16 / 24 · character-cell rhythm"
52
+ },
53
+ responsive: [
54
+ {
55
+ label: "Desktop ≥1024",
56
+ note: "80-column mainframe · left nav column + fluid readout · hover inverts"
57
+ },
58
+ {
59
+ label: "Tablet 720–1023",
60
+ note: "narrowed to ~64 cols · top status bar + scroll chips · 2-col grid"
61
+ },
62
+ {
63
+ label: "Mobile <720",
64
+ note: "single 40-col stack · 44px+ tap targets · caret stays blinking"
65
+ }
66
+ ]
67
+ };
68
+ export {
69
+ terminalMeta
70
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Terminal ornaments as plain functions returning JSX. The blinking is driven
3
+ * by the `cam-blink` keyframes in terminal.css.
4
+ */
5
+ import type { ReactNode } from "react";
6
+ import type { RecipeArgs } from "../../types.js";
7
+ export declare function buttonTrailing(_args: RecipeArgs): ReactNode;
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ function buttonTrailing(_args) {
4
+ return /* @__PURE__ */ jsx("span", { className: "cam-caret", "aria-hidden": "true", children: "▊" });
5
+ }
6
+ export {
7
+ buttonTrailing
8
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Terminal recipes — the full "Core components" set in the CRT art direction:
3
+ * square (`rounded-none`), monospace, uppercase, green-on-black, NO motion
4
+ * (`transition-none`, except the switch thumb translate). Glow + blinking caret
5
+ * come from terminal.css / ornaments.
6
+ *
7
+ * Static class literals only (Tailwind JIT-safe). States are attribute-driven:
8
+ * primitives set `disabled`, `aria-invalid`, `aria-checked` and Tailwind's
9
+ * state variants (hover, focus, peer-, group-, disabled, aria) do the rest.
10
+ *
11
+ * Palette: green #22c55e / bright green #4ade80, black bg, dim green #14532d,
12
+ * error red #f87171. Focus = green outline (not ring). Error = red border/outline.
13
+ */
14
+ import type { RecipeArgs, RecipeResult, SkinRecipes } from "../../types.js";
15
+ export declare function terminalButton(args: RecipeArgs): RecipeResult;
16
+ export declare const terminalInput: (args: RecipeArgs) => RecipeResult;
17
+ export declare const terminalTextarea: (args: RecipeArgs) => RecipeResult;
18
+ export declare const terminalSelect: (args: RecipeArgs) => RecipeResult;
19
+ export declare const terminalCheckbox: (args: RecipeArgs) => RecipeResult;
20
+ export declare const terminalRadio: (args: RecipeArgs) => RecipeResult;
21
+ export declare const terminalSwitch: (args: RecipeArgs) => RecipeResult;
22
+ export declare const terminalSlider: () => RecipeResult;
23
+ export declare function terminalBadge(args: RecipeArgs): RecipeResult;
24
+ export declare function terminalTooltip(args: RecipeArgs): RecipeResult;
25
+ export declare const terminalRecipes: SkinRecipes;
@@ -0,0 +1,125 @@
1
+ "use client";
2
+ const forced = (map, state) => state && map[state] || "";
3
+ const BTN_BASE = "inline-flex items-center justify-center gap-2 rounded-none border font-mono uppercase tracking-widest whitespace-nowrap cursor-pointer select-none transition-none focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 disabled:opacity-40 disabled:pointer-events-none";
4
+ const BTN_SIZE = {
5
+ sm: "px-3 py-1.5 text-[11px]",
6
+ md: "px-4 py-2 text-xs",
7
+ lg: "px-5 py-2.5 text-sm"
8
+ };
9
+ const BTN_VARIANT = {
10
+ primary: "border-[#22c55e] bg-black text-[#4ade80] hover:bg-[#22c55e] hover:text-black focus-visible:outline-[#22c55e]",
11
+ secondary: "border-[#14532d] bg-transparent text-[#4ade80]/80 hover:border-[#22c55e] hover:text-[#4ade80] focus-visible:outline-[#22c55e]",
12
+ destructive: "border-[#f87171] bg-black text-[#f87171] hover:bg-[#f87171] hover:text-black focus-visible:outline-[#f87171]"
13
+ };
14
+ const BTN_FORCE = {
15
+ hover: "bg-[#22c55e] text-black",
16
+ active: "bg-[#4ade80] text-black",
17
+ focus: "outline outline-1 outline-offset-2 outline-[#22c55e]"
18
+ };
19
+ function terminalButton(args) {
20
+ const size = BTN_SIZE[args.size ?? "md"] ?? BTN_SIZE.md;
21
+ const variant = BTN_VARIANT[args.variant ?? "primary"] ?? BTN_VARIANT.primary;
22
+ return { root: `${BTN_BASE} ${size} ${variant} ${forced(BTN_FORCE, args.state)}`, label: "" };
23
+ }
24
+ const FIELD_BASE = "w-full rounded-none border border-[#22c55e] bg-black px-3 py-2 text-xs font-mono text-[#4ade80] outline-none transition-none caret-[#22c55e] placeholder:text-[#4ade80]/40 hover:border-[#4ade80] focus:outline focus:outline-1 focus:outline-offset-0 focus:outline-[#22c55e] disabled:opacity-40 disabled:cursor-not-allowed disabled:border-[#14532d] disabled:text-[#4ade80]/40 aria-[invalid=true]:border-[#f87171] aria-[invalid=true]:focus:outline-[#f87171]";
25
+ const FIELD_FORCE = {
26
+ hover: "border-[#4ade80]",
27
+ focus: "outline outline-1 outline-offset-0 outline-[#22c55e]"
28
+ };
29
+ const terminalInput = (args) => ({
30
+ root: `${FIELD_BASE} ${forced(FIELD_FORCE, args.state)}`
31
+ });
32
+ const terminalTextarea = (args) => ({
33
+ root: `${FIELD_BASE} min-h-[80px] leading-relaxed resize-y ${forced(FIELD_FORCE, args.state)}`
34
+ });
35
+ const terminalSelect = (args) => ({
36
+ root: "relative inline-block w-full",
37
+ field: `${FIELD_BASE} appearance-none pr-9 cursor-pointer ${forced(FIELD_FORCE, args.state)}`,
38
+ chevron: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-[#22c55e]"
39
+ });
40
+ const CHOICE_ROOT = "inline-flex items-center gap-2 cursor-pointer select-none text-xs font-mono text-[#4ade80] has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-60";
41
+ const CHOICE_BOX_BASE = "grid place-items-center h-[18px] w-[18px] shrink-0 border border-[#22c55e] bg-black transition-none text-transparent peer-focus-visible:outline peer-focus-visible:outline-1 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[#22c55e] peer-disabled:opacity-40 peer-disabled:border-[#14532d] peer-aria-[invalid=true]:border-[#f87171] peer-data-[invalid=true]:border-[#f87171]";
42
+ const CHOICE_FORCE = {
43
+ hover: "border-[#4ade80]",
44
+ focus: "outline outline-1 outline-offset-2 outline-[#22c55e]"
45
+ };
46
+ const terminalCheckbox = (args) => ({
47
+ root: CHOICE_ROOT,
48
+ box: `${CHOICE_BOX_BASE} rounded-none peer-checked:bg-[#22c55e] peer-checked:text-black ${forced(CHOICE_FORCE, args.state)}`
49
+ });
50
+ const terminalRadio = (args) => ({
51
+ root: CHOICE_ROOT,
52
+ box: `${CHOICE_BOX_BASE} rounded-full peer-checked:bg-[#22c55e] ${forced(CHOICE_FORCE, args.state)}`
53
+ });
54
+ const SWITCH_FORCE = {
55
+ hover: "border-[#4ade80]",
56
+ focus: "outline outline-1 outline-offset-2 outline-[#22c55e]"
57
+ };
58
+ const terminalSwitch = (args) => ({
59
+ root: "group inline-flex h-[22px] w-[40px] shrink-0 items-center rounded-none border border-[#22c55e] bg-black p-[2px] cursor-pointer transition-none aria-[checked=true]:bg-[#22c55e] focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[#22c55e] disabled:opacity-40 disabled:cursor-not-allowed aria-[invalid=true]:border-[#f87171] " + forced(SWITCH_FORCE, args.state),
60
+ thumb: "h-[14px] w-[14px] rounded-none border border-[#22c55e] bg-[#4ade80] transition-transform group-aria-[checked=true]:translate-x-[18px] group-aria-[checked=true]:bg-black group-aria-[checked=true]:border-black"
61
+ });
62
+ const terminalSlider = () => ({
63
+ root: "cam-range w-[160px] cursor-pointer appearance-none bg-transparent disabled:cursor-not-allowed disabled:opacity-50"
64
+ });
65
+ const BADGE_BASE = "inline-flex items-center rounded-none border px-[10px] py-[3px] text-[11px] font-mono uppercase tracking-widest before:content-[''] before:mr-[6px] before:h-[7px] before:w-[7px] before:rounded-none before:shrink-0";
66
+ const BADGE_VARIANT = {
67
+ default: "border-[#22c55e] bg-black text-[#4ade80] before:bg-[#4ade80]",
68
+ solid: "border-[#22c55e] bg-[#22c55e] text-black before:bg-black",
69
+ blue: "border-[#38bdf8] bg-black text-[#38bdf8] before:bg-[#38bdf8]",
70
+ red: "border-[#f87171] bg-black text-[#f87171] before:bg-[#f87171]",
71
+ yellow: "border-[#facc15] bg-black text-[#facc15] before:bg-[#facc15]",
72
+ green: "border-[#22c55e] bg-black text-[#4ade80] before:bg-[#22c55e]",
73
+ purple: "border-[#a78bfa] bg-black text-[#a78bfa] before:bg-[#a78bfa]"
74
+ };
75
+ const BADGE_FORCE = {
76
+ hover: "border-[#4ade80] text-[#4ade80] before:bg-[#4ade80]",
77
+ active: "bg-[#22c55e] text-black before:bg-black",
78
+ focus: "outline outline-1 outline-offset-2 outline-[#22c55e]",
79
+ disabled: "border-[#14532d] text-[#4ade80]/40 before:bg-[#14532d]",
80
+ error: "border-[#f87171] text-[#f87171] before:bg-[#f87171]"
81
+ };
82
+ function terminalBadge(args) {
83
+ const variant = BADGE_VARIANT[args.variant ?? "default"] ?? BADGE_VARIANT.default;
84
+ return { root: `${BADGE_BASE} ${variant} ${forced(BADGE_FORCE, args.state)}` };
85
+ }
86
+ const TT_TRIGGER = {
87
+ focus: "outline outline-1 outline-offset-2 outline-[#22c55e]",
88
+ error: "border-[#f87171] text-[#f87171]"
89
+ };
90
+ const TT_BUBBLE = {
91
+ focus: "outline outline-1 outline-offset-2 outline-[#22c55e]",
92
+ error: "border-[#f87171] text-[#f87171]"
93
+ };
94
+ function terminalTooltip(args) {
95
+ return {
96
+ root: "relative inline-flex group",
97
+ trigger: "grid place-items-center h-[26px] w-[26px] rounded-none border border-[#22c55e] bg-black text-[#4ade80] text-xs font-mono font-bold cursor-help focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-[#22c55e] " + forced(TT_TRIGGER, args.state),
98
+ bubble: "pointer-events-none absolute bottom-full left-1/2 mb-2 -translate-x-1/2 whitespace-nowrap rounded-none border border-[#22c55e] bg-black px-3 py-1.5 text-xs font-mono text-[#4ade80] opacity-0 transition-none group-hover:opacity-100 group-focus-within:opacity-100 " + forced(TT_BUBBLE, args.state)
99
+ };
100
+ }
101
+ const terminalRecipes = {
102
+ button: terminalButton,
103
+ input: terminalInput,
104
+ textarea: terminalTextarea,
105
+ select: terminalSelect,
106
+ checkbox: terminalCheckbox,
107
+ radio: terminalRadio,
108
+ switch: terminalSwitch,
109
+ slider: terminalSlider,
110
+ badge: terminalBadge,
111
+ tooltip: terminalTooltip
112
+ };
113
+ export {
114
+ terminalBadge,
115
+ terminalButton,
116
+ terminalCheckbox,
117
+ terminalInput,
118
+ terminalRadio,
119
+ terminalRecipes,
120
+ terminalSelect,
121
+ terminalSlider,
122
+ terminalSwitch,
123
+ terminalTextarea,
124
+ terminalTooltip
125
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Terminal skin tokens — CRT green-on-black, monospace everywhere.
3
+ * The maximal-divergence proof: square corners, no motion, glow, blinking caret.
4
+ */
5
+ export declare const terminalTokens: Record<string, string>;
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ const terminalTokens = {
3
+ "--skin-page-bg": "#0a0e0a",
4
+ "--skin-page-fg": "#4ade80",
5
+ "--skin-card": "#0d120d",
6
+ "--skin-surface": "#0a0e0a",
7
+ "--skin-line": "#22c55e",
8
+ "--skin-blue": "#38bdf8",
9
+ "--skin-red": "#f87171",
10
+ "--skin-yellow": "#facc15",
11
+ "--skin-green": "#22c55e",
12
+ "--skin-purple": "#a78bfa",
13
+ "--skin-font-sans": "'Space Mono', ui-monospace, SFMono-Regular, monospace",
14
+ "--skin-font-mono": "'Space Mono', ui-monospace, SFMono-Regular, monospace"
15
+ };
16
+ export {
17
+ terminalTokens
18
+ };
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Cameleon Engine — the skin contract.
3
+ *
4
+ * A "skin" is a complete art direction, not a color theme. It changes
5
+ * typography, borders, shadows, motion, ornaments, and structure while the
6
+ * component API stays identical. A skin has three collaborating layers:
7
+ *
8
+ * 1. tokens — CSS custom properties (the shared substrate: color, font,
9
+ * radius, shadow *values*) applied scoped by <FancyProvider>.
10
+ * 2. recipes — pure functions returning static Tailwind class strings per
11
+ * component "part" (root, label, field, panel...). This is
12
+ * where structure / motion / hover formulas live.
13
+ * 3. ornaments — render functions the skin injects into fixed component
14
+ * slots for DOM that differs per skin (Brutal's arrow,
15
+ * Terminal's caret).
16
+ *
17
+ * Plus an optional per-skin CSS file (scoped by `[data-skin="<name>"]`) for
18
+ * pseudo-elements, textures, and keyframes a class cannot express.
19
+ */
20
+ import type { ReactNode } from "react";
21
+ /**
22
+ * Component state passed to a recipe. "error"/"disabled"/"loading" are real
23
+ * semantic states (attribute-driven). "hover"/"active"/"focus" are normally CSS
24
+ * pseudo-states — they appear here only for the /skins state-matrix demo, where a
25
+ * recipe FORCES that visual statically (see `demoState` on the primitives).
26
+ */
27
+ export type PartState = "default" | "error" | "disabled" | "loading" | "hover" | "active" | "focus";
28
+ /** Inputs to every recipe. Plain object → recipes are pure and unit-testable. */
29
+ export interface RecipeArgs {
30
+ variant?: string;
31
+ size?: string;
32
+ state?: PartState;
33
+ }
34
+ /**
35
+ * One class string per named PART.
36
+ * IMPORTANT: values MUST be static class literals (no computed fragments like
37
+ * `rounded-${r}`) so Tailwind v4's JIT can see them. Build them from `as const`
38
+ * maps, mirroring src/lib/fancy-ui/book/index.ts.
39
+ */
40
+ export type RecipeResult = Record<string, string>;
41
+ export type RecipeFn = (args: RecipeArgs) => RecipeResult;
42
+ /**
43
+ * The recipes a skin provides — one per primitive. Every skin implements all of
44
+ * them so components never have to handle a missing recipe. Part names per
45
+ * recipe (the keys of the returned RecipeResult) are a fixed contract shared by
46
+ * all skins:
47
+ * button → root, label
48
+ * badge → root (args.variant: default|blue|red|yellow|green|purple|solid)
49
+ * input → root
50
+ * textarea → root
51
+ * select → root, field, chevron
52
+ * checkbox → root, box
53
+ * radio → root, box
54
+ * switch → root, thumb
55
+ * slider → root (thumb/track come from per-skin CSS via .cam-range)
56
+ * tooltip → root, trigger, bubble
57
+ */
58
+ export interface SkinRecipes {
59
+ button: RecipeFn;
60
+ badge: RecipeFn;
61
+ input: RecipeFn;
62
+ textarea: RecipeFn;
63
+ select: RecipeFn;
64
+ checkbox: RecipeFn;
65
+ radio: RecipeFn;
66
+ switch: RecipeFn;
67
+ slider: RecipeFn;
68
+ tooltip: RecipeFn;
69
+ }
70
+ /** Extra DOM a skin injects into a component's fixed ornament slots. */
71
+ export interface SkinOrnaments {
72
+ /** Trailing glyph inside Button (Brutal arrow, Terminal caret marker). */
73
+ buttonTrailing?: (args: RecipeArgs) => ReactNode;
74
+ /** Eyebrow row at the top of Card (Brutal dot + mono label + / NN index). */
75
+ cardEyebrow?: (props: {
76
+ index?: number;
77
+ label?: string;
78
+ }) => ReactNode;
79
+ }
80
+ /** A webfont the skin needs. Injected once (deduped by id) by the provider. */
81
+ export interface SkinFont {
82
+ id: string;
83
+ href: string;
84
+ }
85
+ /**
86
+ * Human-readable design metadata for the /skins documentation page (the
87
+ * design-system.html reproduction). Each skin describes its own palette, type
88
+ * scale, and specs so sections /01–/03 and /05 reflect the active skin.
89
+ */
90
+ export interface SkinMeta {
91
+ /** /01 Color tokens — swatches. */
92
+ palette: {
93
+ name: string;
94
+ value: string;
95
+ note?: string;
96
+ }[];
97
+ /** /02 Typography scale — one row per specimen; `style` is inline CSS for the sample. */
98
+ type: {
99
+ sample: string;
100
+ spec: string;
101
+ style: string;
102
+ }[];
103
+ /** /03 Grid, radius & borders. */
104
+ specs: {
105
+ radius: {
106
+ size: string;
107
+ label: string;
108
+ }[];
109
+ border: string;
110
+ shadowRest: string;
111
+ shadowHover: string;
112
+ spacing: string;
113
+ };
114
+ /** /05 Responsive variants — one card per breakpoint. */
115
+ responsive: {
116
+ label: string;
117
+ note: string;
118
+ }[];
119
+ }
120
+ export interface Skin {
121
+ /** Stable id — becomes the `data-skin` attribute value + font dedupe key. */
122
+ name: string;
123
+ label: string;
124
+ /** Drives an optional scoped `.dark` when <FancyProvider manageColorScheme>. */
125
+ colorScheme: "light" | "dark";
126
+ /** CSS custom properties applied scoped to the provider's subtree. */
127
+ tokens: Record<string, string>;
128
+ fonts?: SkinFont[];
129
+ recipes: SkinRecipes;
130
+ ornaments?: SkinOrnaments;
131
+ /** Design metadata powering the /skins documentation sections. */
132
+ meta: SkinMeta;
133
+ }
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import type { PlanStepData } from "../../internals/ai-types.js";
3
+ /**
4
+ * Props for AgentPlan
5
+ */
6
+ export interface AgentPlanProps {
7
+ /** The plan, in the order the agent means to work through it. Nests via `substeps`. */
8
+ steps: PlanStepData[];
9
+ /** Header text, sitting beside the done/total count. */
10
+ label?: string;
11
+ /** Whether the thin completion bar shows under the header. */
12
+ showProgress?: boolean;
13
+ /** Called when a row is activated; supplying it turns every row into a button. */
14
+ onSelect?: (step: PlanStepData) => void;
15
+ /** Replaces the built-in row body, keeping the glyph and the indent. */
16
+ item?: (step: PlanStepData, index: number) => ReactNode;
17
+ /** Additional CSS classes */
18
+ className?: string;
19
+ /**
20
+ * Plays the matching interface cue through the sound controller. Off by
21
+ * default; only audible once the user has enabled sound.
22
+ */
23
+ sound?: boolean;
24
+ }
25
+ export declare const AgentPlan: import("react").ForwardRefExoticComponent<AgentPlanProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,181 @@
1
+ "use client";
2
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { cn } from "../../utils.js";
5
+ import { useFancyId } from "../../internals/use-id.js";
6
+ import { useSoundCue } from "../../sound/use-sound.js";
7
+ /* empty css */
8
+ const STATUS_LABELS = {
9
+ pending: "Pending",
10
+ running: "Running",
11
+ done: "Completed",
12
+ error: "Failed",
13
+ cancelled: "Cancelled"
14
+ };
15
+ function buildRows(steps) {
16
+ const out = [];
17
+ const seen = /* @__PURE__ */ new Map();
18
+ const ids = /* @__PURE__ */ new Set();
19
+ const collectIds = (list) => {
20
+ for (const step of list) {
21
+ ids.add(step.id);
22
+ if (step.substeps) collectIds(step.substeps);
23
+ }
24
+ };
25
+ collectIds(steps);
26
+ const used = /* @__PURE__ */ new Set();
27
+ const push = (step, depth) => {
28
+ const occurrence = seen.get(step.id) ?? 0;
29
+ seen.set(step.id, occurrence + 1);
30
+ let key = `${step.id}#${occurrence}`;
31
+ let suffix = occurrence;
32
+ while (ids.has(key) || used.has(key)) {
33
+ suffix++;
34
+ key = `${step.id}#${suffix}`;
35
+ }
36
+ used.add(key);
37
+ out.push({ step, key, depth, index: out.length, lastSub: false });
38
+ };
39
+ for (const step of steps) {
40
+ push(step, 0);
41
+ const queue = [...step.substeps ?? []];
42
+ while (queue.length > 0) {
43
+ const sub = queue.shift();
44
+ push(sub, 1);
45
+ if (sub.substeps && sub.substeps.length > 0) queue.unshift(...sub.substeps);
46
+ }
47
+ const last = out[out.length - 1];
48
+ if (last.depth === 1) last.lastSub = true;
49
+ }
50
+ return out;
51
+ }
52
+ function Glyph({ status }) {
53
+ return /* @__PURE__ */ jsx(
54
+ "span",
55
+ {
56
+ className: cn(
57
+ "ft-agentplan-glyph",
58
+ status === "pending" && "ft-status-pending",
59
+ status === "running" && "ft-status-running",
60
+ status === "done" && "ft-status-done",
61
+ status === "error" && "ft-status-error",
62
+ status === "cancelled" && "ft-status-cancelled"
63
+ ),
64
+ "aria-hidden": "true",
65
+ children: status === "done" ? /* @__PURE__ */ jsx(
66
+ "svg",
67
+ {
68
+ className: "ft-agentplan-icon",
69
+ viewBox: "0 0 24 24",
70
+ fill: "none",
71
+ stroke: "currentColor",
72
+ strokeWidth: "3",
73
+ strokeLinecap: "round",
74
+ strokeLinejoin: "round",
75
+ children: /* @__PURE__ */ jsx("path", { d: "m5 13 4 4L19 7" })
76
+ }
77
+ ) : status === "error" ? /* @__PURE__ */ jsx(
78
+ "svg",
79
+ {
80
+ className: "ft-agentplan-icon",
81
+ viewBox: "0 0 24 24",
82
+ fill: "none",
83
+ stroke: "currentColor",
84
+ strokeWidth: "3",
85
+ strokeLinecap: "round",
86
+ strokeLinejoin: "round",
87
+ children: /* @__PURE__ */ jsx("path", { d: "M6 6l12 12M18 6 6 18" })
88
+ }
89
+ ) : status === "cancelled" ? /* @__PURE__ */ jsx("span", { className: "ft-agentplan-dash" }) : status === "running" ? /* @__PURE__ */ jsx("span", { className: "ft-agentplan-dot" }) : /* @__PURE__ */ jsx("span", { className: "ft-agentplan-ring" })
90
+ }
91
+ );
92
+ }
93
+ function RowBody({
94
+ row,
95
+ item
96
+ }) {
97
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
98
+ /* @__PURE__ */ jsx(Glyph, { status: row.step.status }),
99
+ item ? /* @__PURE__ */ jsxs(Fragment, { children: [
100
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: STATUS_LABELS[row.step.status] }),
101
+ item(row.step, row.index)
102
+ ] }) : /* @__PURE__ */ jsxs("span", { className: "ft-agentplan-text min-w-0 flex-1", children: [
103
+ /* @__PURE__ */ jsx(
104
+ "span",
105
+ {
106
+ className: cn(
107
+ "ft-agentplan-step-label block leading-snug",
108
+ (row.step.status === "done" || row.step.status === "cancelled") && "text-muted-foreground",
109
+ row.step.status === "running" && "font-medium"
110
+ ),
111
+ children: row.step.label
112
+ }
113
+ ),
114
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: STATUS_LABELS[row.step.status] }),
115
+ row.step.detail ? /* @__PURE__ */ jsx(
116
+ "span",
117
+ {
118
+ className: "ft-agentplan-detail text-muted-foreground mt-0.5 block truncate text-xs",
119
+ title: row.step.detail,
120
+ children: row.step.detail
121
+ }
122
+ ) : null
123
+ ] })
124
+ ] });
125
+ }
126
+ const AgentPlan = forwardRef(function AgentPlan2({ steps, label = "Plan", showProgress = true, onSelect, item, className, sound }, ref) {
127
+ const uid = useFancyId();
128
+ const labelId = `${uid}-label`;
129
+ const playCue = useSoundCue(sound);
130
+ const selectStep = (step) => {
131
+ playCue("select");
132
+ onSelect?.(step);
133
+ };
134
+ const rows = buildRows(steps);
135
+ const total = rows.length;
136
+ const doneCount = rows.filter((row) => row.step.status === "done").length;
137
+ const percent = total === 0 ? 0 : Math.round(doneCount / total * 1e3) / 10;
138
+ const currentIndex = rows.findIndex((row) => row.step.status === "running");
139
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("ft-agentplan w-full text-sm", className), children: [
140
+ /* @__PURE__ */ jsxs("div", { className: "ft-agentplan-header", children: [
141
+ /* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
142
+ /* @__PURE__ */ jsx("span", { id: labelId, className: "ft-agentplan-label text-foreground truncate font-medium", children: label }),
143
+ /* @__PURE__ */ jsxs("span", { className: "ft-agentplan-count text-muted-foreground ml-auto shrink-0 text-xs tabular-nums", children: [
144
+ doneCount,
145
+ "/",
146
+ total
147
+ ] })
148
+ ] }),
149
+ showProgress ? (
150
+ // The count above already says it in words, so the bar is decoration.
151
+ /* @__PURE__ */ jsx("div", { className: "ft-agentplan-track", "aria-hidden": "true", children: /* @__PURE__ */ jsx("div", { className: "ft-agentplan-bar", style: { width: `${percent}%` } }) })
152
+ ) : null
153
+ ] }),
154
+ /* @__PURE__ */ jsx("div", { className: "ft-agentplan-list", role: "list", "aria-labelledby": labelId, children: rows.map((row) => /* @__PURE__ */ jsx(
155
+ "div",
156
+ {
157
+ className: cn(
158
+ "ft-agentplan-row",
159
+ row.depth === 1 && "ft-agentplan-sub",
160
+ row.lastSub && "ft-agentplan-sub-last"
161
+ ),
162
+ role: "listitem",
163
+ "data-status": row.step.status,
164
+ "aria-current": row.index === currentIndex ? "step" : void 0,
165
+ children: onSelect ? /* @__PURE__ */ jsx(
166
+ "button",
167
+ {
168
+ type: "button",
169
+ className: "ft-agentplan-body hover:bg-muted/60 focus-visible:ring-ring flex w-full cursor-pointer items-start gap-2 rounded-md text-left transition-colors focus-visible:ring-1 focus-visible:outline-none",
170
+ onClick: () => selectStep(row.step),
171
+ children: /* @__PURE__ */ jsx(RowBody, { row, item })
172
+ }
173
+ ) : /* @__PURE__ */ jsx("div", { className: "ft-agentplan-body flex items-start gap-2 rounded-md", children: /* @__PURE__ */ jsx(RowBody, { row, item }) })
174
+ },
175
+ row.key
176
+ )) })
177
+ ] });
178
+ });
179
+ export {
180
+ AgentPlan
181
+ };
@@ -0,0 +1,2 @@
1
+ export { AgentPlan } from "./AgentPlan.js";
2
+ export type { AgentPlanProps } from "./AgentPlan.js";
@@ -0,0 +1,54 @@
1
+ import type { ReactNode } from "react";
2
+ /** One column, rendered in the order it appears in the array. */
3
+ export interface AiDataTableColumn {
4
+ /** Key looked up on every row. */
5
+ key: string;
6
+ /** Header text. */
7
+ label: string;
8
+ /** Horizontal alignment. Defaults to right on a numeric column, left otherwise. */
9
+ align?: "left" | "center" | "right";
10
+ /** Renders the column with tabular figures, and right-aligns it unless `align` says otherwise. */
11
+ numeric?: boolean;
12
+ }
13
+ /** Everything a cell is allowed to hold — the four things a model actually emits. */
14
+ export type AiDataTableValue = string | number | boolean | null | undefined;
15
+ /** One row, keyed by column key. Missing keys read as empty. */
16
+ export type AiDataTableRow = Record<string, AiDataTableValue>;
17
+ /**
18
+ * Props for AiDataTable
19
+ */
20
+ export interface AiDataTableProps {
21
+ /** The columns to render, in order. */
22
+ columns: AiDataTableColumn[];
23
+ /** The rows to render, in the order the model produced them. */
24
+ rows: AiDataTableRow[];
25
+ /** Describes the table for assistive tech. Hidden on screen unless `captionVisible`. */
26
+ caption?: string;
27
+ /** Shows `caption` as a muted line above the table. */
28
+ captionVisible?: boolean;
29
+ /** Tighter rows, for a table read at a glance rather than studied. */
30
+ dense?: boolean;
31
+ /** Key of the column to tint — the recommendation, or whichever criterion decided it. */
32
+ highlightColumn?: string;
33
+ /** Replaces the default cell rendering. Receives the raw value and its position. */
34
+ cell?: (value: unknown, at: {
35
+ row: number;
36
+ key: string;
37
+ }) => ReactNode;
38
+ /** Additional CSS classes */
39
+ className?: string;
40
+ }
41
+ /**
42
+ * Renders tabular model output — columns and rows, an optional highlighted
43
+ * column, and accessible glyphs for booleans and empty values.
44
+ *
45
+ * The root element arrives through the ref channel rather than a `ref` prop,
46
+ * per PORTING.md — the Svelte source declares `ref = $bindable(null)`.
47
+ *
48
+ * The wrapper is the only thing allowed to scroll sideways: a model asked for
49
+ * nine criteria will produce nine columns, and the page around it must not go
50
+ * on a horizontal rail because of that. Which is why it is focusable and
51
+ * named — a scroll container that only answers to a pointer is unreachable
52
+ * for anyone driving the page from the keyboard.
53
+ */
54
+ export declare const AiDataTable: import("react").ForwardRefExoticComponent<AiDataTableProps & import("react").RefAttributes<HTMLDivElement>>;