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,83 @@
1
+ import type { Side, Align } from "../../internals/anchor-position.js";
2
+ /**
3
+ * One selectable entry in a `Select`'s option list.
4
+ *
5
+ * A plain data shape, not a child component: `Select`'s whole API is driven
6
+ * off an `options` array (closer to a native `<select>`'s `<option>` list
7
+ * than to `RadioGroup`'s caller-composed items), so there is no
8
+ * `SelectOption` component to import alongside it.
9
+ */
10
+ export interface SelectOption {
11
+ /** The value this option represents — what `Select`'s own `value` becomes when it is picked. */
12
+ value: string;
13
+ /** Visible text for this option, both in the trigger once selected and as a row in the panel. */
14
+ label: string;
15
+ /** Skips this option in keyboard navigation, typeahead, and pointer selection. */
16
+ disabled?: boolean;
17
+ }
18
+ /**
19
+ * The contract between the `Select` trigger and its portalled listbox panel.
20
+ *
21
+ * `Select` owns the value, the option list, and where the active (highlighted)
22
+ * index sits — everything the panel only ever reads or reports back through
23
+ * `setActive`/`commit`. The panel never assigns `value` itself; `commit`
24
+ * routes back through the root so `onValueChange` and the closing of the
25
+ * panel stay in the one place that already handles both for every other way
26
+ * a selection can be made (Enter, Tab, closed-state typeahead).
27
+ */
28
+ export interface SelectContext {
29
+ /** Whether the panel is open. Read by the panel's own presence clock, which
30
+ * needs it to tell an entrance from a departure, and by the panel's
31
+ * dismissable `active` gate: the instant this flips false the layer stops
32
+ * answering Escape, so a second Escape during the fade reaches whatever is
33
+ * underneath instead of being swallowed by a panel that is already
34
+ * leaving. */
35
+ readonly open: boolean;
36
+ /** The panel's own id — also what the trigger's `aria-controls` points at while open. */
37
+ readonly panelId: string;
38
+ /** The options to render as rows, in order. */
39
+ readonly options: SelectOption[];
40
+ /** The current value, `""` when nothing is selected. */
41
+ readonly value: string;
42
+ /** The trigger's own accessible name (the `label` prop), so the portalled
43
+ * panel can carry the same name as `aria-label` — without this, a screen
44
+ * reader announces the listbox as unnamed the instant it expands, even
45
+ * though the combobox itself is named. `undefined` renders no attribute at
46
+ * all, matching the trigger's own `aria-label={label}`. */
47
+ readonly label: string | undefined;
48
+ /** Index of the highlighted option, or -1 when nothing is active. */
49
+ readonly activeIndex: number;
50
+ /** Side of the trigger to place the panel on. */
51
+ readonly side: Side;
52
+ /** Alignment along the trigger's cross axis. */
53
+ readonly align: Align;
54
+ /** The real trigger button — what the panel anchors against and excludes from its own outside-click check. */
55
+ readonly triggerRef: HTMLElement | null;
56
+ /** The id a given option row must carry — also what `aria-activedescendant` points at while it's active. */
57
+ optionId(index: number): string;
58
+ /** Whether the option at `index` is the current selection. */
59
+ isSelected(index: number): boolean;
60
+ /** Whether the option at `index` is the highlighted (`aria-activedescendant`) one. */
61
+ isActive(index: number): boolean;
62
+ /** Highlights `index` without selecting it — a pointer hover, not a commit. */
63
+ setActive(index: number): void;
64
+ /** Selects the option at `index` and closes the panel, the same way Enter does. */
65
+ commit(index: number): void;
66
+ /** Closes the panel without changing the value — what Escape and an outside click do. */
67
+ close(): void;
68
+ }
69
+ /**
70
+ * The React counterpart of the source's `SELECT_KEY` symbol: a context object
71
+ * plus its two readers, per the internals contract's naming table
72
+ * (`FOO_KEY` → `FooReactContext` + `useFoo()`).
73
+ *
74
+ * Not re-exported from this folder's `index.ts`, because the source barrel
75
+ * does not export `SELECT_KEY` either — the trigger/panel wiring is private to
76
+ * the pair.
77
+ */
78
+ export declare const SelectReactContext: import("../../internals/dom/context.js").InternalContext<SelectContext>;
79
+ /** Reads the surrounding `Select`'s context. Throws outside one, which is the
80
+ * compound-component contract: `SelectPanel` is only ever rendered by
81
+ * `Select`, so there is no standalone-usage fallback to design for — the same
82
+ * as the source's `getContext(SELECT_KEY)` with no fallback branch. */
83
+ export declare const useSelectContext: () => SelectContext;
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { createInternalContext } from "../../internals/dom/context.js";
3
+ const SelectReactContext = createInternalContext("Select context");
4
+ const useSelectContext = SelectReactContext.useRequired;
5
+ export {
6
+ SelectReactContext,
7
+ useSelectContext
8
+ };
@@ -0,0 +1,40 @@
1
+ import type { ReactNode } from "react";
2
+ export type SheetSide = "left" | "right" | "top" | "bottom";
3
+ export type SheetSize = "sm" | "md" | "lg";
4
+ export interface SheetProps {
5
+ /** Whether the sheet is open. Controlled when given; the component keeps its own copy either way. */
6
+ open?: boolean;
7
+ /** Called with the new value whenever the sheet opens or closes. */
8
+ onOpenChange?: (open: boolean) => void;
9
+ /** Edge of the viewport the panel slides in from. */
10
+ side?: SheetSide;
11
+ /** Heading rendered in the header and wired to `aria-labelledby`. */
12
+ title?: string;
13
+ /** Supporting text under the title, wired to `aria-describedby`. */
14
+ description?: string;
15
+ /** Whether Escape, the scrim and the close button can close the sheet. */
16
+ dismissible?: boolean;
17
+ /** Panel width (left/right sides) or height (top/bottom sides). */
18
+ size?: SheetSize;
19
+ /** Panel body content. */
20
+ children?: ReactNode;
21
+ /** Content pinned below the body, e.g. actions. */
22
+ footer?: ReactNode;
23
+ /** Additional CSS classes merged onto the panel. */
24
+ className?: string;
25
+ /**
26
+ * Accessible name for the panel when there is no `title`. A modal dialog
27
+ * must be named, and `aria-labelledby` can only point at a rendered
28
+ * heading — pass this when the header is built from `children` instead.
29
+ * Ignored once `title` is set, since `aria-labelledby` already supplies
30
+ * the name.
31
+ */
32
+ ariaLabel?: string;
33
+ /**
34
+ * Plays the `close` cue through the sound controller when the sheet is
35
+ * dismissed. Off by default; only audible once the user has enabled
36
+ * sound.
37
+ */
38
+ sound?: boolean;
39
+ }
40
+ export declare const Sheet: import("react").ForwardRefExoticComponent<SheetProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,183 @@
1
+ "use client";
2
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
+ import { forwardRef, useState } from "react";
4
+ import { cn } from "../../utils.js";
5
+ import { Portal } from "../../internals/Portal.js";
6
+ import { useDismissable } from "../../internals/dismissable.js";
7
+ import { useFocusTrap } from "../../internals/focus-trap.js";
8
+ import { useScrollLock } from "../../internals/scroll-lock.js";
9
+ import { useComposedRefs } from "../../internals/dom/use-composed-refs.js";
10
+ import { useElementRef } from "../../internals/dom/use-element-ref.js";
11
+ import { useFancyId } from "../../internals/use-id.js";
12
+ import { anchored, prefersReducedMotion } from "../../internals/motion/anchored.js";
13
+ import { DURATIONS, JS_EASINGS } from "../../internals/motion/tokens.js";
14
+ import { usePresence } from "../../internals/motion/presence.js";
15
+ import { useSoundCue } from "../../sound/use-sound.js";
16
+ function edgeSlide(_node, params) {
17
+ const reduced = prefersReducedMotion();
18
+ const entering = params?.entering ?? false;
19
+ const side = params?.side ?? "right";
20
+ const axis = side === "left" || side === "right" ? "X" : "Y";
21
+ const sign = side === "left" || side === "top" ? -1 : 1;
22
+ return {
23
+ delay: 0,
24
+ // Reduced motion collapses this to 0, which makes `runTransition`
25
+ // finish synchronously and never touch `element.animate()` — so the
26
+ // close is exactly as synchronous as it was before the sheet animated
27
+ // out at all.
28
+ duration: reduced ? 0 : entering ? DURATIONS.base : DURATIONS.exit,
29
+ easing: entering ? JS_EASINGS.out : JS_EASINGS.in,
30
+ // `u = 1 - t`: fully out at t=0, resting at t=1. No opacity term — a
31
+ // sheet leaves by travelling, and fading it as well reads as two
32
+ // gestures fighting.
33
+ css: (_t, u) => `transform: translate${axis}(${sign * 100 * u}%)`
34
+ };
35
+ }
36
+ const POSITION_CLASSES = {
37
+ left: "inset-y-0 left-0 border-r border-border",
38
+ right: "inset-y-0 right-0 border-l border-border",
39
+ top: "inset-x-0 top-0 border-b border-border",
40
+ bottom: "inset-x-0 bottom-0 border-t border-border"
41
+ };
42
+ const WIDTH_CLASSES = {
43
+ sm: "w-[20rem] max-w-[90vw] h-dvh",
44
+ md: "w-[24rem] max-w-[90vw] h-dvh",
45
+ lg: "w-[32rem] max-w-[90vw] h-dvh"
46
+ };
47
+ const HEIGHT_CLASSES = {
48
+ sm: "h-[14rem] max-h-[85vh] w-full",
49
+ md: "h-[18rem] max-h-[85vh] w-full",
50
+ lg: "h-[24rem] max-h-[85vh] w-full"
51
+ };
52
+ const Sheet = forwardRef(function Sheet2({
53
+ open: openProp,
54
+ onOpenChange,
55
+ side = "right",
56
+ title,
57
+ description,
58
+ dismissible = true,
59
+ size = "md",
60
+ children,
61
+ footer,
62
+ className,
63
+ ariaLabel,
64
+ sound = false
65
+ }, forwardedRef) {
66
+ const [open, setOpenState] = useState(openProp ?? false);
67
+ const [lastOpenProp, setLastOpenProp] = useState(openProp);
68
+ if (lastOpenProp !== openProp) {
69
+ setLastOpenProp(openProp);
70
+ setOpenState(openProp ?? false);
71
+ }
72
+ const playCue = useSoundCue(sound);
73
+ function close() {
74
+ if (!open) return;
75
+ setOpenState(false);
76
+ playCue("close");
77
+ onOpenChange?.(false);
78
+ }
79
+ const uid = useFancyId();
80
+ const titleId = title ? `${uid}-title` : void 0;
81
+ const descriptionId = description ? `${uid}-description` : void 0;
82
+ const [panel, setPanelNode] = useElementRef();
83
+ const trap = useFocusTrap(panel);
84
+ const presence = usePresence(open, {
85
+ // The two halves of the focus handshake, at the two moments the
86
+ // source puts them: `onintrostart` → rearm, `onoutrostart` →
87
+ // returnFocusNow.
88
+ //
89
+ // `returnFocusNow` at the dismiss instant is the whole point: it is
90
+ // called on EVERY close path (Escape, the scrim, the close button, a
91
+ // caller's own `open` write). Waiting for the trap's own destroy
92
+ // would leave a keyboard user on `<body>` for the whole length of the
93
+ // slide-out, because the closing panel is made inert the instant the
94
+ // exit starts.
95
+ //
96
+ // `rearm` is the other half. A sheet reopened DURING its exit
97
+ // reverses instead of remounting, so the trap is never re-created:
98
+ // without this the panel would come back `aria-modal` and interactive
99
+ // with focus left on the trigger behind it, and the eager return
100
+ // already spent for the life of the instance.
101
+ onEnterStart: () => trap.rearm(),
102
+ onExitStart: () => trap.returnFocusNow()
103
+ });
104
+ useScrollLock(presence.mounted);
105
+ useDismissable(panel, {
106
+ onDismiss: close,
107
+ escape: dismissible,
108
+ outsideClick: dismissible,
109
+ active: open
110
+ });
111
+ const panelRef = useComposedRefs(
112
+ setPanelNode,
113
+ forwardedRef,
114
+ presence.register("panel", edgeSlide, (entering) => ({ side, entering }))
115
+ );
116
+ const scrimRef = presence.register("scrim", anchored, (entering) => ({
117
+ entering,
118
+ scale: false,
119
+ duration: DURATIONS.base,
120
+ exitDuration: DURATIONS.exit
121
+ }));
122
+ const isHorizontal = side === "left" || side === "right";
123
+ const dimensionClasses = isHorizontal ? WIDTH_CLASSES[size] : HEIGHT_CLASSES[size];
124
+ const panelClasses = cn(
125
+ "ft-sheet-panel bg-popover text-popover-foreground fixed z-50 flex flex-col gap-4 p-4 shadow-2xl",
126
+ POSITION_CLASSES[side],
127
+ dimensionClasses,
128
+ className
129
+ );
130
+ return /* @__PURE__ */ jsx(Portal, { children: presence.mounted ? /* @__PURE__ */ jsxs(Fragment, { children: [
131
+ /* @__PURE__ */ jsx(
132
+ "div",
133
+ {
134
+ ref: scrimRef,
135
+ className: "ft-sheet-scrim fixed inset-0 z-50 bg-black/60",
136
+ "aria-hidden": "true"
137
+ }
138
+ ),
139
+ /* @__PURE__ */ jsxs(
140
+ "div",
141
+ {
142
+ ref: panelRef,
143
+ className: panelClasses,
144
+ role: "dialog",
145
+ "aria-modal": "true",
146
+ "aria-label": titleId ? void 0 : ariaLabel,
147
+ "aria-labelledby": titleId,
148
+ "aria-describedby": descriptionId,
149
+ "data-state": presence.surfaceState,
150
+ "data-side": side,
151
+ children: [
152
+ title || dismissible ? /* @__PURE__ */ jsxs("div", { className: "ft-sheet-header flex items-start justify-between gap-4", children: [
153
+ title ? /* @__PURE__ */ jsx("h2", { id: titleId, className: "text-[15px] font-semibold", children: title }) : null,
154
+ dismissible ? /* @__PURE__ */ jsx(
155
+ "button",
156
+ {
157
+ type: "button",
158
+ className: "ft-sheet-close text-muted-foreground hover:text-foreground cursor-pointer text-[13px] leading-none",
159
+ "aria-label": "Close",
160
+ onClick: close,
161
+ children: "✕"
162
+ }
163
+ ) : null
164
+ ] }) : null,
165
+ description ? /* @__PURE__ */ jsx(
166
+ "p",
167
+ {
168
+ id: descriptionId,
169
+ className: "text-muted-foreground text-[12.5px] leading-relaxed",
170
+ children: description
171
+ }
172
+ ) : null,
173
+ /* @__PURE__ */ jsx("div", { className: "ft-sheet-body flex flex-1 flex-col gap-3 overflow-y-auto", children }),
174
+ footer ? /* @__PURE__ */ jsx("div", { className: "ft-sheet-footer flex justify-end gap-2", children: footer }) : null
175
+ ]
176
+ }
177
+ )
178
+ ] }) : null });
179
+ });
180
+ Sheet.displayName = "Sheet";
181
+ export {
182
+ Sheet
183
+ };
@@ -0,0 +1,2 @@
1
+ export { Sheet } from "./Sheet.js";
2
+ export type { SheetProps, SheetSide, SheetSize } from "./Sheet.js";
@@ -0,0 +1,26 @@
1
+ import type { ButtonHTMLAttributes, ReactNode } from "react";
2
+ type BaseProps = {
3
+ /** Shimmer highlight color */
4
+ shimmerColor?: string;
5
+ /** Thickness of the shimmer border */
6
+ shimmerSize?: string;
7
+ /** Button border radius */
8
+ borderRadius?: string;
9
+ /** Duration of the shimmer animation cycle */
10
+ shimmerDuration?: string;
11
+ /** Button background color */
12
+ background?: string;
13
+ /** Custom CSS class */
14
+ className?: string;
15
+ /** Button content */
16
+ children?: ReactNode;
17
+ /**
18
+ * Plays the matching interface cue through the sound controller. Off
19
+ * by default; only audible once the user has enabled sound.
20
+ */
21
+ sound?: boolean;
22
+ };
23
+ export interface ShimmerButtonProps extends BaseProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseProps> {
24
+ }
25
+ export declare const ShimmerButton: import("react").ForwardRefExoticComponent<ShimmerButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
26
+ export {};
@@ -0,0 +1,69 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { cn } from "../../utils.js";
5
+ import { useSoundCue } from "../../sound/use-sound.js";
6
+ /* empty css */
7
+ const ShimmerButton = forwardRef(
8
+ ({
9
+ className,
10
+ shimmerColor = "#ffffff",
11
+ shimmerSize = "0.05em",
12
+ borderRadius = "100px",
13
+ shimmerDuration = "3s",
14
+ background = "rgba(0, 0, 0, 1)",
15
+ children,
16
+ sound = false,
17
+ onClick,
18
+ ...restProps
19
+ }, ref) => {
20
+ const styleVars = {
21
+ "--spread": "90deg",
22
+ "--shimmer-color": shimmerColor,
23
+ "--radius": borderRadius,
24
+ "--speed": shimmerDuration,
25
+ "--cut": shimmerSize,
26
+ "--bg": background
27
+ };
28
+ const playCue = useSoundCue(sound);
29
+ function handleClick(event) {
30
+ if (sound && !restProps.disabled) playCue("press");
31
+ onClick?.(event);
32
+ }
33
+ return /* @__PURE__ */ jsxs(
34
+ "button",
35
+ {
36
+ ref,
37
+ className: cn(
38
+ "shimmer-button group relative z-0 flex cursor-pointer items-center justify-center overflow-hidden [border-radius:var(--radius)] border border-white/10 px-6 py-3 whitespace-nowrap text-white [background:var(--bg)]",
39
+ "transform-gpu transition-transform duration-300 ease-in-out active:translate-y-px",
40
+ className
41
+ ),
42
+ style: styleVars,
43
+ onClick: handleClick,
44
+ ...restProps,
45
+ children: [
46
+ /* @__PURE__ */ jsx("div", { className: "[container-type:size] absolute inset-0 -z-30 overflow-visible blur-[2px]", children: /* @__PURE__ */ jsx("div", { className: "shimmer-slide absolute inset-0 [aspect-ratio:1] h-[100cqh] [border-radius:0] [mask:none]", children: /* @__PURE__ */ jsx("div", { className: "spin-around absolute -inset-full w-auto [translate:0_0] rotate-0 [background:conic-gradient(from_calc(270deg-(var(--spread)*0.5)),transparent_0,var(--shimmer-color)_var(--spread),transparent_var(--spread))]" }) }) }),
47
+ children,
48
+ /* @__PURE__ */ jsx(
49
+ "div",
50
+ {
51
+ className: cn(
52
+ "insert-0 absolute size-full",
53
+ "rounded-2xl px-4 py-1.5 text-sm font-medium shadow-[inset_0_-8px_10px_#ffffff1f]",
54
+ "transform-gpu transition-all duration-300 ease-in-out",
55
+ "group-hover:shadow-[inset_0_-6px_10px_#ffffff3f]",
56
+ "group-active:shadow-[inset_0_-10px_10px_#ffffff3f]"
57
+ )
58
+ }
59
+ ),
60
+ /* @__PURE__ */ jsx("div", { className: "absolute [inset:var(--cut)] -z-20 [border-radius:var(--radius)] [background:var(--bg)]" })
61
+ ]
62
+ }
63
+ );
64
+ }
65
+ );
66
+ ShimmerButton.displayName = "ShimmerButton";
67
+ export {
68
+ ShimmerButton
69
+ };
@@ -0,0 +1,2 @@
1
+ export { ShimmerButton } from "./ShimmerButton.js";
2
+ export type { ShimmerButtonProps } from "./ShimmerButton.js";
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from "react";
2
+ export interface SidebarProps {
3
+ /** Accessible name for the `<nav>` landmark. Defaults to `"Sidebar"`. */
4
+ label?: string;
5
+ /**
6
+ * Whether the sidebar is collapsed to an icon-only rail. A plain prop —
7
+ * `Sidebar` has no internal control of its own that ever changes this, so
8
+ * there is nothing for a controlled/uncontrolled split to round-trip. Own
9
+ * the state yourself and pass it down.
10
+ */
11
+ collapsed?: boolean;
12
+ /** `SidebarGroup`, `SidebarSeparator` and `SidebarFooter`. */
13
+ children?: ReactNode;
14
+ /** Additional CSS classes */
15
+ className?: string;
16
+ }
17
+ export declare const Sidebar: import("react").ForwardRefExoticComponent<SidebarProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useMemo } from "react";
4
+ import { cn } from "../../utils.js";
5
+ import { SIDEBAR_KEY } from "./types.js";
6
+ /* empty css */
7
+ const Sidebar = forwardRef(function Sidebar2({ label = "Sidebar", collapsed = false, children, className }, ref) {
8
+ const context = useMemo(() => ({ collapsed }), [collapsed]);
9
+ return /* @__PURE__ */ jsx(SIDEBAR_KEY.Provider, { value: context, children: /* @__PURE__ */ jsx(
10
+ "nav",
11
+ {
12
+ ref,
13
+ "aria-label": label,
14
+ "data-collapsed": collapsed,
15
+ className: cn(
16
+ "ft-sidebar bg-background flex h-full flex-col gap-3 p-3",
17
+ collapsed ? "w-[64px] items-center px-2" : "w-[240px]",
18
+ className
19
+ ),
20
+ children
21
+ }
22
+ ) });
23
+ });
24
+ Sidebar.displayName = "Sidebar";
25
+ export {
26
+ Sidebar
27
+ };
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ export interface SidebarFooterProps {
3
+ /** A decorative avatar, shown even when the sidebar is collapsed. */
4
+ avatar?: ReactNode;
5
+ /** The name / text next to the avatar. Moves to `sr-only` while collapsed — never removed. */
6
+ children?: ReactNode;
7
+ /** Additional CSS classes */
8
+ className?: string;
9
+ }
10
+ export declare const SidebarFooter: import("react").ForwardRefExoticComponent<SidebarFooterProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useContext } from "react";
4
+ import { cn } from "../../utils.js";
5
+ import { SidebarSeparator } from "./SidebarSeparator.js";
6
+ import { SIDEBAR_KEY } from "./types.js";
7
+ const SidebarFooter = forwardRef(function SidebarFooter2({ avatar, children, className }, ref) {
8
+ const sidebar = useContext(SIDEBAR_KEY);
9
+ const collapsed = sidebar?.collapsed ?? false;
10
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("ft-sidebar-footer mt-auto flex w-full flex-col", className), children: [
11
+ /* @__PURE__ */ jsx(SidebarSeparator, {}),
12
+ /* @__PURE__ */ jsxs(
13
+ "div",
14
+ {
15
+ className: cn(
16
+ "flex items-center gap-2.5 px-2 py-[7px] text-[12px]",
17
+ "text-muted-foreground",
18
+ collapsed && "justify-center"
19
+ ),
20
+ children: [
21
+ avatar ? /* @__PURE__ */ jsx("span", { className: "shrink-0", "aria-hidden": "true", children: avatar }) : null,
22
+ /* @__PURE__ */ jsx("span", { className: cn("min-w-0 truncate", collapsed && "sr-only"), children })
23
+ ]
24
+ }
25
+ )
26
+ ] });
27
+ });
28
+ SidebarFooter.displayName = "SidebarFooter";
29
+ export {
30
+ SidebarFooter
31
+ };
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ export interface SidebarGroupProps {
3
+ /** The section heading, e.g. `"General"`. Required — read by `aria-labelledby`, not decorative. */
4
+ label: string;
5
+ /** The `SidebarItem`s in this section. */
6
+ children?: ReactNode;
7
+ /** Additional CSS classes */
8
+ className?: string;
9
+ }
10
+ export declare function SidebarGroup({ label, children, className }: SidebarGroupProps): import("react").JSX.Element;
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { useContext } from "react";
4
+ import { cn } from "../../utils.js";
5
+ import { useFancyId } from "../../internals/use-id.js";
6
+ import { SIDEBAR_KEY } from "./types.js";
7
+ function SidebarGroup({ label, children, className }) {
8
+ const sidebar = useContext(SIDEBAR_KEY);
9
+ const collapsed = sidebar?.collapsed ?? false;
10
+ const headingId = useFancyId();
11
+ return /* @__PURE__ */ jsxs("div", { className: cn("ft-sidebar-group flex w-full flex-col gap-0.5", className), children: [
12
+ /* @__PURE__ */ jsx(
13
+ "span",
14
+ {
15
+ id: headingId,
16
+ className: cn(
17
+ "text-muted-foreground/70 px-2 py-1 text-[10px] font-semibold tracking-[0.08em] uppercase",
18
+ collapsed && "sr-only"
19
+ ),
20
+ children: label
21
+ }
22
+ ),
23
+ /* @__PURE__ */ jsx("ul", { className: "m-0 flex list-none flex-col gap-0.5 p-0", "aria-labelledby": headingId, children })
24
+ ] });
25
+ }
26
+ export {
27
+ SidebarGroup
28
+ };
@@ -0,0 +1,33 @@
1
+ import type { MouseEvent, ReactNode } from "react";
2
+ export interface SidebarItemProps {
3
+ /** Renders an `<a>` when set; a `<button type="button">` otherwise. */
4
+ href?: string;
5
+ /**
6
+ * Marks this as the current item: `aria-current="page"` plus the
7
+ * accent left bar — current is never conveyed by colour alone.
8
+ */
9
+ current?: boolean;
10
+ /** A count or short flag, e.g. `4` — rendered as a pill and folded into the accessible name. */
11
+ badge?: string | number;
12
+ /**
13
+ * What the badge means, read alongside its value in the accessible
14
+ * name (`"Inbox, 4 unread"`). Defaults to just the badge value if not given.
15
+ */
16
+ badgeLabel?: string;
17
+ /** Disables both the click and keyboard-activation paths. */
18
+ disabled?: boolean;
19
+ /** Click handler, for the `<button>` branch. Never called while `disabled`. */
20
+ onClick?: (event: MouseEvent<HTMLAnchorElement | HTMLButtonElement>) => void;
21
+ /** A decorative glyph or icon, shown even when the sidebar is collapsed. */
22
+ icon?: ReactNode;
23
+ /** The item's label. Moves to `sr-only` text while the sidebar is collapsed — never removed. */
24
+ children?: ReactNode;
25
+ /** Additional CSS classes */
26
+ className?: string;
27
+ /**
28
+ * Plays the select cue through the sound controller. Off by default;
29
+ * only audible once the user has enabled sound.
30
+ */
31
+ sound?: boolean;
32
+ }
33
+ export declare const SidebarItem: import("react").ForwardRefExoticComponent<SidebarItemProps & import("react").RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
@@ -0,0 +1,81 @@
1
+ "use client";
2
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useContext } from "react";
4
+ import { cn } from "../../utils.js";
5
+ import { useSoundCue } from "../../sound/use-sound.js";
6
+ import { SIDEBAR_KEY } from "./types.js";
7
+ /* empty css */
8
+ const SidebarItem = forwardRef(
9
+ function SidebarItem2({
10
+ href,
11
+ current = false,
12
+ badge,
13
+ badgeLabel,
14
+ disabled = false,
15
+ onClick,
16
+ icon,
17
+ children,
18
+ className,
19
+ sound = false
20
+ }, ref) {
21
+ const sidebar = useContext(SIDEBAR_KEY);
22
+ const collapsed = sidebar?.collapsed ?? false;
23
+ const playCue = useSoundCue(sound);
24
+ const hasBadge = badge !== void 0 && badge !== null && badge !== "";
25
+ const classes = cn(
26
+ "ft-sidebar-item flex w-full items-center gap-2.5 rounded-[6px] px-2 py-[7px] text-[13px] transition-colors",
27
+ "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
28
+ collapsed && "justify-center",
29
+ current ? "ft-sidebar-item--current bg-accent text-accent-foreground font-medium" : "text-muted-foreground hover:bg-accent hover:text-accent-foreground",
30
+ disabled && "pointer-events-none opacity-50",
31
+ className
32
+ );
33
+ function handleClick(event) {
34
+ if (disabled) {
35
+ event.preventDefault();
36
+ return;
37
+ }
38
+ if (!current) playCue("select");
39
+ onClick?.(event);
40
+ }
41
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
42
+ icon ? /* @__PURE__ */ jsx("span", { className: "ft-sidebar-item-icon shrink-0", "aria-hidden": "true", children: icon }) : null,
43
+ /* @__PURE__ */ jsx("span", { className: cn("min-w-0 flex-1 truncate text-left", collapsed && "sr-only"), children }),
44
+ hasBadge ? /* @__PURE__ */ jsxs("span", { className: cn("ft-sidebar-item-badge shrink-0", collapsed && "sr-only"), children: [
45
+ badge,
46
+ badgeLabel ? /* @__PURE__ */ jsxs("span", { className: "sr-only", children: [
47
+ " ",
48
+ badgeLabel
49
+ ] }) : null
50
+ ] }) : null
51
+ ] });
52
+ return /* @__PURE__ */ jsx("li", { className: "ft-sidebar-item-wrapper w-full list-none", children: href ? /* @__PURE__ */ jsx(
53
+ "a",
54
+ {
55
+ ref,
56
+ href: disabled ? void 0 : href,
57
+ "aria-current": current ? "page" : void 0,
58
+ "aria-disabled": disabled ? "true" : void 0,
59
+ tabIndex: disabled ? -1 : void 0,
60
+ className: classes,
61
+ onClick: handleClick,
62
+ children: content
63
+ }
64
+ ) : /* @__PURE__ */ jsx(
65
+ "button",
66
+ {
67
+ ref,
68
+ type: "button",
69
+ disabled,
70
+ "aria-current": current ? "page" : void 0,
71
+ className: classes,
72
+ onClick: handleClick,
73
+ children: content
74
+ }
75
+ ) });
76
+ }
77
+ );
78
+ SidebarItem.displayName = "SidebarItem";
79
+ export {
80
+ SidebarItem
81
+ };