@flikk/ui 1.0.0-beta.2 → 1.0.0-beta.21

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 (865) hide show
  1. package/README.md +52 -0
  2. package/dist/bg/1.jpg +0 -0
  3. package/dist/bg/10.jpg +0 -0
  4. package/dist/bg/11.jpg +0 -0
  5. package/dist/bg/14.jpg +0 -0
  6. package/dist/bg/15.jpg +0 -0
  7. package/dist/bg/16.jpg +0 -0
  8. package/dist/bg/17.jpg +0 -0
  9. package/dist/bg/18.jpg +0 -0
  10. package/dist/bg/19.jpg +0 -0
  11. package/dist/bg/2.jpg +0 -0
  12. package/dist/bg/20.jpg +0 -0
  13. package/dist/bg/21.jpg +0 -0
  14. package/dist/bg/22.jpg +0 -0
  15. package/dist/bg/23.jpg +0 -0
  16. package/dist/bg/24.jpg +0 -0
  17. package/dist/bg/3.jpg +0 -0
  18. package/dist/bg/4.jpg +0 -0
  19. package/dist/bg/5.jpg +0 -0
  20. package/dist/bg/6.jpg +0 -0
  21. package/dist/bg/7.jpg +0 -0
  22. package/dist/bg/8.jpg +0 -0
  23. package/dist/bg/9.jpg +0 -0
  24. package/dist/bg/bg/1.jpg +0 -0
  25. package/dist/bg/bg/10.jpg +0 -0
  26. package/dist/bg/bg/11.jpg +0 -0
  27. package/dist/bg/bg/14.jpg +0 -0
  28. package/dist/bg/bg/15.jpg +0 -0
  29. package/dist/bg/bg/16.jpg +0 -0
  30. package/dist/bg/bg/17.jpg +0 -0
  31. package/dist/bg/bg/18.jpg +0 -0
  32. package/dist/bg/bg/19.jpg +0 -0
  33. package/dist/bg/bg/2.jpg +0 -0
  34. package/dist/bg/bg/20.jpg +0 -0
  35. package/dist/bg/bg/21.jpg +0 -0
  36. package/dist/bg/bg/22.jpg +0 -0
  37. package/dist/bg/bg/23.jpg +0 -0
  38. package/dist/bg/bg/24.jpg +0 -0
  39. package/dist/bg/bg/3.jpg +0 -0
  40. package/dist/bg/bg/4.jpg +0 -0
  41. package/dist/bg/bg/5.jpg +0 -0
  42. package/dist/bg/bg/6.jpg +0 -0
  43. package/dist/bg/bg/7.jpg +0 -0
  44. package/dist/bg/bg/8.jpg +0 -0
  45. package/dist/bg/bg/9.jpg +0 -0
  46. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +3 -3
  47. package/dist/components/ai/PromptInput/PromptInput.animations.d.ts +25 -0
  48. package/dist/components/ai/PromptInput/PromptInput.animations.js +61 -0
  49. package/dist/components/ai/PromptInput/PromptInput.js +146 -29
  50. package/dist/components/ai/PromptInput/PromptInput.theme.js +6 -1
  51. package/dist/components/ai/PromptInput/PromptInput.types.d.ts +68 -0
  52. package/dist/components/ai/PromptInput/VoiceRecorder.d.ts +10 -0
  53. package/dist/components/ai/PromptInput/VoiceRecorder.js +181 -0
  54. package/dist/components/ai/PromptInput/VoiceRecorder.types.d.ts +17 -0
  55. package/dist/components/ai/PromptInput/index.d.ts +1 -0
  56. package/dist/components/ai/PromptSuggestions/PromptSuggestion.theme.js +4 -4
  57. package/dist/components/ai/StreamingResponse/AnimatedText.js +3 -3
  58. package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -2
  59. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +59 -35
  60. package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +4 -5
  61. package/dist/components/ai/StreamingResponse/StreamingCursor.js +5 -12
  62. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +7 -0
  63. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +27 -8
  64. package/dist/components/ai/StreamingResponse/StreamingResponse.js +11 -4
  65. package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +4 -4
  66. package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +9 -7
  67. package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +27 -0
  68. package/dist/components/ai/StreamingResponse/WordAnimationContext.js +134 -0
  69. package/dist/components/ai/StreamingResponse/index.d.ts +3 -1
  70. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +6 -6
  71. package/dist/components/ai/index.d.ts +0 -7
  72. package/dist/components/ai/index.js +10 -6
  73. package/dist/components/charts/ActivityRings/ActivityRings.js +1 -1
  74. package/dist/components/charts/ActivityRings/ActivityRings.theme.js +2 -2
  75. package/dist/components/charts/BarChart/BarChart.js +3 -3
  76. package/dist/components/charts/ChartContainer.js +1 -1
  77. package/dist/components/charts/ComboChart/ComboChart.js +2 -2
  78. package/dist/components/charts/DonutChart/DonutChart.js +1 -1
  79. package/dist/components/charts/DonutChart/DonutChart.theme.js +1 -1
  80. package/dist/components/charts/DonutChart/DonutChart.types.d.ts +1 -2
  81. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.js +2 -2
  82. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
  83. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.types.d.ts +1 -2
  84. package/dist/components/charts/FunnelChart/FunnelChart.js +9 -9
  85. package/dist/components/charts/Heatmap/Heatmap.theme.js +1 -1
  86. package/dist/components/charts/Heatmap/HeatmapCell.js +1 -1
  87. package/dist/components/charts/Heatmap/HeatmapLegend.js +1 -1
  88. package/dist/components/charts/RadarChart/RadarChart.theme.js +2 -2
  89. package/dist/components/charts/ScatterPlot/ScatterPlot.js +1 -1
  90. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +2 -2
  91. package/dist/components/charts/StackedBarChart/StackedBarChart.js +2 -2
  92. package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +1 -1
  93. package/dist/components/charts/shared/ChartLegend/ChartLegend.types.d.ts +13 -1
  94. package/dist/components/charts/shared/ChartLegend/ChartLegendContent.js +1 -1
  95. package/dist/components/charts/shared/ChartText/ChartText.js +1 -1
  96. package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
  97. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +4 -4
  98. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.types.d.ts +13 -2
  99. package/dist/components/core/Accordion/Accordion.animations.d.ts +6 -1
  100. package/dist/components/core/Accordion/Accordion.animations.js +15 -1
  101. package/dist/components/core/Accordion/Accordion.d.ts +1 -1
  102. package/dist/components/core/Accordion/Accordion.js +2 -2
  103. package/dist/components/core/Accordion/Accordion.theme.d.ts +2 -2
  104. package/dist/components/core/Accordion/Accordion.theme.js +8 -8
  105. package/dist/components/core/Accordion/Accordion.types.d.ts +28 -4
  106. package/dist/components/core/Accordion/AccordionBody.d.ts +3 -0
  107. package/dist/components/core/Accordion/{AccordionContent.js → AccordionBody.js} +4 -4
  108. package/dist/components/core/Accordion/AccordionItem.js +2 -2
  109. package/dist/components/core/Accordion/AccordionTrigger.js +19 -7
  110. package/dist/components/core/Accordion/index.d.ts +2 -2
  111. package/dist/components/core/Alert/Alert.animations.d.ts +11 -0
  112. package/dist/components/core/Alert/Alert.animations.js +44 -0
  113. package/dist/components/core/Alert/Alert.js +22 -4
  114. package/dist/components/core/Alert/Alert.theme.js +4 -8
  115. package/dist/components/core/Alert/Alert.types.d.ts +7 -6
  116. package/dist/components/core/AlertDialog/AlertDialog.d.ts +1 -1
  117. package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
  118. package/dist/components/core/AlertDialog/AlertDialog.types.d.ts +2 -2
  119. package/dist/components/core/Avatar/Avatar.js +30 -21
  120. package/dist/components/core/Avatar/Avatar.theme.d.ts +4 -6
  121. package/dist/components/core/Avatar/Avatar.theme.js +23 -13
  122. package/dist/components/core/Avatar/Avatar.types.d.ts +18 -8
  123. package/dist/components/core/AvatarGroup/AvatarGroup.animations.js +2 -2
  124. package/dist/components/core/AvatarGroup/AvatarGroup.js +2 -3
  125. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +1 -1
  126. package/dist/components/core/Badge/Badge.animations.js +1 -1
  127. package/dist/components/core/Badge/Badge.d.ts +1 -1
  128. package/dist/components/core/Badge/Badge.js +27 -47
  129. package/dist/components/core/Badge/Badge.theme.js +50 -53
  130. package/dist/components/core/Badge/Badge.types.d.ts +10 -29
  131. package/dist/components/core/Breadcrumbs/Breadcrumbs.js +7 -3
  132. package/dist/components/core/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
  133. package/dist/components/core/Button/Button.d.ts +1 -1
  134. package/dist/components/core/Button/Button.js +23 -25
  135. package/dist/components/core/Button/Button.ripple.d.ts +5 -1
  136. package/dist/components/core/Button/Button.ripple.js +28 -18
  137. package/dist/components/core/Button/Button.theme.d.ts +2 -2
  138. package/dist/components/core/Button/Button.theme.js +78 -45
  139. package/dist/components/core/Button/Button.types.d.ts +4 -4
  140. package/dist/components/core/Button/index.d.ts +2 -0
  141. package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +7 -7
  142. package/dist/components/core/ButtonGroup/ButtonGroupText.js +1 -3
  143. package/dist/components/core/Calendar/Calendar.js +33 -7
  144. package/dist/components/core/Calendar/Calendar.theme.js +19 -15
  145. package/dist/components/core/Calendar/Calendar.types.d.ts +4 -1
  146. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +5 -6
  147. package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +3 -3
  148. package/dist/components/core/Card/Card.d.ts +3 -3
  149. package/dist/components/core/Card/Card.js +8 -9
  150. package/dist/components/core/Card/Card.theme.js +5 -5
  151. package/dist/components/core/Card/Card.types.d.ts +11 -31
  152. package/dist/components/core/Card/CardBody.d.ts +3 -0
  153. package/dist/components/core/Card/CardBody.js +11 -0
  154. package/dist/components/core/Card/CardSubtitle.d.ts +3 -0
  155. package/dist/components/core/Card/CardSubtitle.js +11 -0
  156. package/dist/components/core/Card/CardTitle.d.ts +1 -1
  157. package/dist/components/core/Card/index.d.ts +2 -2
  158. package/dist/components/core/Carousel/Carousel.js +4 -4
  159. package/dist/components/core/Carousel/Carousel.types.d.ts +4 -4
  160. package/dist/components/core/Carousel/CarouselBody.d.ts +4 -0
  161. package/dist/components/core/Carousel/{CarouselContent.js → CarouselBody.js} +3 -4
  162. package/dist/components/core/Carousel/index.d.ts +2 -1
  163. package/dist/components/core/CommandPalette/CommandItem.d.ts +1 -1
  164. package/dist/components/core/CommandPalette/CommandItem.js +2 -2
  165. package/dist/components/core/CommandPalette/CommandPalette.js +8 -6
  166. package/dist/components/core/CommandPalette/CommandPalette.theme.js +7 -6
  167. package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +8 -2
  168. package/dist/components/core/ContextMenu/ContextMenu.d.ts +2 -2
  169. package/dist/components/core/ContextMenu/ContextMenu.js +11 -10
  170. package/dist/components/core/ContextMenu/ContextMenu.theme.js +3 -3
  171. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +3 -3
  172. package/dist/components/core/ContextMenu/ContextMenuBody.d.ts +6 -0
  173. package/dist/components/core/ContextMenu/{ContextMenuContent.js → ContextMenuBody.js} +4 -4
  174. package/dist/components/core/ContextMenu/ContextMenuItem.js +3 -3
  175. package/dist/components/core/ContextMenu/ContextMenuSubBody.d.ts +6 -0
  176. package/dist/components/core/ContextMenu/{ContextMenuSubContent.js → ContextMenuSubBody.js} +4 -4
  177. package/dist/components/core/ContextMenu/ContextMenuTrigger.js +5 -6
  178. package/dist/components/core/ContextMenu/index.d.ts +1 -1
  179. package/dist/components/core/Drawer/Drawer.d.ts +15 -3
  180. package/dist/components/core/Drawer/Drawer.js +71 -16
  181. package/dist/components/core/Drawer/Drawer.theme.d.ts +2 -0
  182. package/dist/components/core/Drawer/Drawer.theme.js +15 -13
  183. package/dist/components/core/Drawer/Drawer.types.d.ts +34 -9
  184. package/dist/components/core/Drawer/DrawerBody.d.ts +5 -0
  185. package/dist/components/core/Drawer/{DrawerContent.js → DrawerBody.js} +3 -3
  186. package/dist/components/core/Drawer/DrawerHeader.d.ts +5 -0
  187. package/dist/components/core/Drawer/DrawerHeader.js +15 -0
  188. package/dist/components/core/Drawer/DrawerSubtitle.d.ts +5 -0
  189. package/dist/components/core/Drawer/DrawerSubtitle.js +11 -0
  190. package/dist/components/core/Drawer/DrawerTitle.d.ts +5 -0
  191. package/dist/components/core/Drawer/DrawerTitle.js +11 -0
  192. package/dist/components/core/Drawer/index.d.ts +2 -1
  193. package/dist/components/core/Dropdown/Dropdown.d.ts +1 -1
  194. package/dist/components/core/Dropdown/Dropdown.js +6 -2
  195. package/dist/components/core/Dropdown/Dropdown.theme.js +1 -1
  196. package/dist/components/core/Dropdown/Dropdown.types.d.ts +7 -6
  197. package/dist/components/core/Dropdown/DropdownItem.js +3 -3
  198. package/dist/components/core/Dropdown/DropdownMenu.js +5 -4
  199. package/dist/components/core/Dropdown/DropdownSection.js +4 -2
  200. package/dist/components/core/Dropdown/DropdownSeparator.js +1 -1
  201. package/dist/components/core/Dropdown/DropdownTrigger.d.ts +6 -1
  202. package/dist/components/core/Dropdown/DropdownTrigger.js +10 -8
  203. package/dist/components/core/Empty/Empty.js +2 -2
  204. package/dist/components/core/Empty/Empty.theme.d.ts +1 -1
  205. package/dist/components/core/Empty/Empty.theme.js +3 -3
  206. package/dist/components/core/Empty/Empty.types.d.ts +2 -2
  207. package/dist/components/core/FileTypeIcon/FileTypeIcon.d.ts +3 -0
  208. package/dist/components/core/FileTypeIcon/FileTypeIcon.js +33 -0
  209. package/dist/components/core/FileTypeIcon/FileTypeIcon.theme.d.ts +2 -0
  210. package/dist/components/core/FileTypeIcon/FileTypeIcon.theme.js +12 -0
  211. package/dist/components/core/FileTypeIcon/FileTypeIcon.types.d.ts +19 -0
  212. package/dist/components/core/FileTypeIcon/fileTypes.d.ts +7 -0
  213. package/dist/components/core/FileTypeIcon/fileTypes.js +30 -0
  214. package/dist/components/core/FileTypeIcon/index.d.ts +2 -0
  215. package/dist/components/core/Kbd/Kbd.theme.js +4 -4
  216. package/dist/components/core/Link/Link.d.ts +1 -1
  217. package/dist/components/core/Link/Link.js +4 -2
  218. package/dist/components/core/Link/Link.types.d.ts +2 -2
  219. package/dist/components/core/MenuItem/MenuItem.js +4 -2
  220. package/dist/components/core/MenuItem/MenuItem.theme.d.ts +1 -2
  221. package/dist/components/core/MenuItem/MenuItem.theme.js +9 -11
  222. package/dist/components/core/MenuItem/MenuItem.types.d.ts +1 -1
  223. package/dist/components/core/Message/Message.d.ts +13 -3
  224. package/dist/components/core/Message/Message.js +74 -27
  225. package/dist/components/core/Message/Message.theme.d.ts +1 -1
  226. package/dist/components/core/Message/Message.theme.js +44 -24
  227. package/dist/components/core/Message/Message.types.d.ts +122 -14
  228. package/dist/components/core/Message/MessageAudio.d.ts +8 -0
  229. package/dist/components/core/Message/MessageAudio.js +11 -0
  230. package/dist/components/core/Message/MessageAvatar.d.ts +2 -2
  231. package/dist/components/core/Message/MessageAvatar.js +3 -3
  232. package/dist/components/core/Message/MessageBody.d.ts +8 -0
  233. package/dist/components/core/Message/{MessageContent.js → MessageBody.js} +3 -3
  234. package/dist/components/core/Message/MessageContext.d.ts +3 -1
  235. package/dist/components/core/Message/MessageDateDivider.d.ts +6 -0
  236. package/dist/components/core/Message/MessageDateDivider.js +10 -0
  237. package/dist/components/core/Message/MessageFile.d.ts +9 -0
  238. package/dist/components/core/Message/MessageFile.js +15 -0
  239. package/dist/components/core/Message/MessageImage.d.ts +11 -0
  240. package/dist/components/core/Message/MessageImage.js +13 -0
  241. package/dist/components/core/Message/MessageLink.d.ts +10 -0
  242. package/dist/components/core/Message/MessageLink.js +15 -0
  243. package/dist/components/core/Message/MessageList.animations.d.ts +6 -0
  244. package/dist/components/core/Message/MessageList.animations.js +32 -0
  245. package/dist/components/core/Message/MessageList.d.ts +5 -0
  246. package/dist/components/core/Message/MessageList.js +78 -0
  247. package/dist/components/core/Message/MessageList.theme.d.ts +2 -0
  248. package/dist/components/core/Message/MessageList.theme.js +6 -0
  249. package/dist/components/core/Message/MessageList.types.d.ts +32 -0
  250. package/dist/components/core/Message/MessageReactions.d.ts +8 -0
  251. package/dist/components/core/Message/MessageReactions.js +12 -0
  252. package/dist/components/core/Message/MessageReply.d.ts +8 -0
  253. package/dist/components/core/Message/MessageReply.js +10 -0
  254. package/dist/components/core/Message/MessageSenderName.d.ts +6 -0
  255. package/dist/components/core/Message/MessageSenderName.js +10 -0
  256. package/dist/components/core/Message/MessageStatusIndicator.d.ts +9 -0
  257. package/dist/components/core/Message/MessageStatusIndicator.js +45 -0
  258. package/dist/components/core/Message/index.d.ts +23 -1
  259. package/dist/components/core/Modal/Modal.animations.d.ts +1 -0
  260. package/dist/components/core/Modal/Modal.animations.js +14 -11
  261. package/dist/components/core/Modal/Modal.d.ts +2 -2
  262. package/dist/components/core/Modal/Modal.js +9 -5
  263. package/dist/components/core/Modal/Modal.theme.js +6 -6
  264. package/dist/components/core/Modal/Modal.types.d.ts +9 -6
  265. package/dist/components/core/Modal/ModalHeader.js +2 -1
  266. package/dist/components/core/Modal/ModalSubtitle.d.ts +5 -0
  267. package/dist/components/core/Modal/ModalSubtitle.js +11 -0
  268. package/dist/components/core/ModalStack/ModalStack.animations.js +3 -3
  269. package/dist/components/core/ModalStack/ModalStackModal.js +4 -3
  270. package/dist/components/core/NavItem/NavItem.js +100 -52
  271. package/dist/components/core/NavItem/NavItem.theme.js +6 -3
  272. package/dist/components/core/NavItem/NavItem.types.d.ts +44 -30
  273. package/dist/components/core/NavItem/index.d.ts +1 -1
  274. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +3 -3
  275. package/dist/components/core/PageHeading/PageHeading.d.ts +8 -0
  276. package/dist/components/core/PageHeading/PageHeading.js +28 -0
  277. package/dist/components/core/PageHeading/PageHeading.theme.d.ts +2 -0
  278. package/dist/components/core/PageHeading/PageHeading.theme.js +11 -0
  279. package/dist/components/core/PageHeading/PageHeading.types.d.ts +55 -0
  280. package/dist/components/core/PageHeading/PageHeadingActions.d.ts +3 -0
  281. package/dist/components/core/PageHeading/PageHeadingActions.js +11 -0
  282. package/dist/components/core/PageHeading/PageHeadingBackButton.d.ts +3 -0
  283. package/dist/components/core/PageHeading/PageHeadingBackButton.js +14 -0
  284. package/dist/components/core/PageHeading/PageHeadingIcon.d.ts +3 -0
  285. package/dist/components/core/PageHeading/PageHeadingIcon.js +11 -0
  286. package/dist/components/core/PageHeading/PageHeadingSubtitle.d.ts +3 -0
  287. package/dist/components/core/PageHeading/PageHeadingSubtitle.js +11 -0
  288. package/dist/components/core/PageHeading/PageHeadingTitle.d.ts +3 -0
  289. package/dist/components/core/PageHeading/PageHeadingTitle.js +11 -0
  290. package/dist/components/core/PageHeading/index.d.ts +2 -0
  291. package/dist/components/core/Pagination/Pagination.theme.js +3 -3
  292. package/dist/components/core/Pill/Pill.theme.js +3 -3
  293. package/dist/components/core/Popover/Popover.d.ts +2 -2
  294. package/dist/components/core/Popover/Popover.js +5 -5
  295. package/dist/components/core/Popover/Popover.theme.d.ts +1 -1
  296. package/dist/components/core/Popover/Popover.theme.js +2 -2
  297. package/dist/components/core/Popover/Popover.types.d.ts +9 -3
  298. package/dist/components/core/Popover/PopoverBody.d.ts +7 -0
  299. package/dist/components/core/Popover/{PopoverContent.js → PopoverBody.js} +30 -13
  300. package/dist/components/core/Popover/PopoverTrigger.d.ts +1 -1
  301. package/dist/components/core/Popover/PopoverTrigger.js +11 -11
  302. package/dist/components/core/Popover/index.d.ts +4 -3
  303. package/dist/components/core/Progress/Progress.d.ts +9 -8
  304. package/dist/components/core/Progress/Progress.js +16 -16
  305. package/dist/components/core/Progress/Progress.theme.js +5 -13
  306. package/dist/components/core/Progress/Progress.types.d.ts +2 -19
  307. package/dist/components/core/Progress/index.d.ts +1 -1
  308. package/dist/components/core/ScrollArea/ScrollArea.js +49 -7
  309. package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +12 -3
  310. package/dist/components/core/ScrollArea/index.d.ts +1 -1
  311. package/dist/components/core/Segmented/Segmented.js +7 -8
  312. package/dist/components/core/Segmented/Segmented.theme.js +6 -6
  313. package/dist/components/core/Segmented/SegmentedItem.js +1 -1
  314. package/dist/components/core/Sidebar/Sidebar.d.ts +11 -1
  315. package/dist/components/core/Sidebar/Sidebar.js +52 -17
  316. package/dist/components/core/Sidebar/Sidebar.theme.js +9 -7
  317. package/dist/components/core/Sidebar/Sidebar.types.d.ts +57 -0
  318. package/dist/components/core/Sidebar/SidebarContent.js +3 -1
  319. package/dist/components/core/Sidebar/SidebarContext.d.ts +14 -0
  320. package/dist/components/core/Sidebar/SidebarContext.js +63 -11
  321. package/dist/components/core/Sidebar/SidebarFooter.js +3 -1
  322. package/dist/components/core/Sidebar/SidebarHeader.js +6 -2
  323. package/dist/components/core/Sidebar/SidebarMobileTrigger.d.ts +3 -0
  324. package/dist/components/core/Sidebar/SidebarMobileTrigger.js +29 -0
  325. package/dist/components/core/Sidebar/SidebarNav.js +3 -2
  326. package/dist/components/core/Sidebar/SidebarNavGroup.js +4 -2
  327. package/dist/components/core/Sidebar/SidebarToggle.js +2 -1
  328. package/dist/components/core/Sidebar/SidebarUserProfile.d.ts +3 -0
  329. package/dist/components/core/Sidebar/SidebarUserProfile.js +35 -0
  330. package/dist/components/core/Sidebar/index.d.ts +3 -1
  331. package/dist/components/core/SocialIcon/SocialIcon.d.ts +3 -0
  332. package/dist/components/core/SocialIcon/SocialIcon.js +30 -0
  333. package/dist/components/core/SocialIcon/SocialIcon.theme.d.ts +2 -0
  334. package/dist/components/core/SocialIcon/SocialIcon.theme.js +12 -0
  335. package/dist/components/core/SocialIcon/SocialIcon.types.d.ts +18 -0
  336. package/dist/components/core/SocialIcon/index.d.ts +2 -0
  337. package/dist/components/core/SocialIcon/platforms.d.ts +17 -0
  338. package/dist/components/core/SocialIcon/platforms.js +234 -0
  339. package/dist/components/core/Sortable/Sortable.js +2 -2
  340. package/dist/components/core/Sortable/Sortable.theme.js +1 -1
  341. package/dist/components/core/Sortable/Sortable.types.d.ts +7 -5
  342. package/dist/components/core/Spinner/Spinner.theme.js +3 -5
  343. package/dist/components/core/Spinner/Spinner.types.d.ts +2 -1
  344. package/dist/components/core/Tabs/Tabs.animations.d.ts +2 -2
  345. package/dist/components/core/Tabs/Tabs.animations.js +3 -3
  346. package/dist/components/core/Tabs/Tabs.d.ts +1 -1
  347. package/dist/components/core/Tabs/Tabs.js +3 -3
  348. package/dist/components/core/Tabs/Tabs.theme.d.ts +2 -2
  349. package/dist/components/core/Tabs/Tabs.theme.js +5 -5
  350. package/dist/components/core/Tabs/Tabs.types.d.ts +9 -9
  351. package/dist/components/core/Tabs/TabsBody.d.ts +6 -0
  352. package/dist/components/core/Tabs/{TabsContent.js → TabsBody.js} +9 -9
  353. package/dist/components/core/Tabs/TabsTrigger.js +1 -1
  354. package/dist/components/core/Tabs/index.d.ts +2 -2
  355. package/dist/components/core/Tag/Tag.animations.js +0 -13
  356. package/dist/components/core/Tag/Tag.d.ts +2 -2
  357. package/dist/components/core/Tag/Tag.js +21 -4
  358. package/dist/components/core/Tag/Tag.theme.js +12 -4
  359. package/dist/components/core/Tag/Tag.types.d.ts +24 -1
  360. package/dist/components/core/Toast/Toast.d.ts +2 -2
  361. package/dist/components/core/Toast/Toast.js +31 -18
  362. package/dist/components/core/Toast/Toast.theme.js +4 -9
  363. package/dist/components/core/Toast/Toast.types.d.ts +20 -37
  364. package/dist/components/core/Toast/index.d.ts +1 -1
  365. package/dist/components/core/Toast/useToast.js +6 -6
  366. package/dist/components/core/Tooltip/Tooltip.js +1 -1
  367. package/dist/components/core/Tooltip/Tooltip.theme.js +2 -2
  368. package/dist/components/core/Tree/Tree.theme.js +1 -1
  369. package/dist/components/core/index.d.ts +3 -8
  370. package/dist/components/core/index.js +28 -22
  371. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +8 -0
  372. package/dist/components/data-display/Feed/Feed.animations.d.ts +40 -0
  373. package/dist/components/data-display/Feed/Feed.animations.js +26 -0
  374. package/dist/components/{core → data-display}/Feed/Feed.d.ts +5 -1
  375. package/dist/components/data-display/Feed/Feed.js +123 -0
  376. package/dist/components/data-display/Feed/Feed.theme.js +20 -0
  377. package/dist/components/data-display/Feed/Feed.types.d.ts +65 -0
  378. package/dist/components/data-display/Feed/index.d.ts +2 -0
  379. package/dist/components/data-display/GanttChart/GanttChart.animations.d.ts +4 -0
  380. package/dist/components/data-display/GanttChart/GanttChart.animations.js +21 -0
  381. package/dist/components/data-display/GanttChart/GanttChart.d.ts +8 -0
  382. package/dist/components/data-display/GanttChart/GanttChart.js +170 -0
  383. package/dist/components/data-display/GanttChart/GanttChart.theme.d.ts +2 -0
  384. package/dist/components/data-display/GanttChart/GanttChart.theme.js +23 -0
  385. package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +162 -0
  386. package/dist/components/data-display/GanttChart/GanttChart.types.js +9 -0
  387. package/dist/components/data-display/GanttChart/GanttChart.utils.d.ts +80 -0
  388. package/dist/components/data-display/GanttChart/GanttChart.utils.js +274 -0
  389. package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +9 -0
  390. package/dist/components/data-display/GanttChart/GanttChartPanel.js +82 -0
  391. package/dist/components/data-display/GanttChart/GanttDependencyArrows.d.ts +2 -0
  392. package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +35 -0
  393. package/dist/components/data-display/GanttChart/GanttGroupBar.d.ts +8 -0
  394. package/dist/components/data-display/GanttChart/GanttGroupBar.js +26 -0
  395. package/dist/components/data-display/GanttChart/GanttMilestone.d.ts +9 -0
  396. package/dist/components/data-display/GanttChart/GanttMilestone.js +44 -0
  397. package/dist/components/data-display/GanttChart/GanttProgressCircle.d.ts +9 -0
  398. package/dist/components/data-display/GanttChart/GanttProgressCircle.js +11 -0
  399. package/dist/components/data-display/GanttChart/GanttSplitter.d.ts +2 -0
  400. package/dist/components/data-display/GanttChart/GanttSplitter.js +39 -0
  401. package/dist/components/data-display/GanttChart/GanttTableGroupRow.d.ts +7 -0
  402. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +23 -0
  403. package/dist/components/data-display/GanttChart/GanttTableHeader.d.ts +2 -0
  404. package/dist/components/data-display/GanttChart/GanttTableHeader.js +13 -0
  405. package/dist/components/data-display/GanttChart/GanttTablePanel.d.ts +6 -0
  406. package/dist/components/data-display/GanttChart/GanttTablePanel.js +20 -0
  407. package/dist/components/data-display/GanttChart/GanttTableTaskRow.d.ts +8 -0
  408. package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +30 -0
  409. package/dist/components/data-display/GanttChart/GanttTaskBar.d.ts +9 -0
  410. package/dist/components/data-display/GanttChart/GanttTaskBar.js +208 -0
  411. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.d.ts +8 -0
  412. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +17 -0
  413. package/dist/components/data-display/GanttChart/GanttTimelineGrid.d.ts +7 -0
  414. package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +33 -0
  415. package/dist/components/data-display/GanttChart/GanttTimelineHeader.d.ts +8 -0
  416. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +43 -0
  417. package/dist/components/data-display/GanttChart/GanttToolbar.d.ts +2 -0
  418. package/dist/components/data-display/GanttChart/GanttToolbar.js +29 -0
  419. package/dist/components/data-display/GanttChart/hooks/useGanttDates.d.ts +12 -0
  420. package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +25 -0
  421. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.d.ts +25 -0
  422. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +144 -0
  423. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.d.ts +2 -0
  424. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.js +33 -0
  425. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.d.ts +6 -0
  426. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.js +32 -0
  427. package/dist/components/data-display/GanttChart/index.d.ts +3 -0
  428. package/dist/components/{core → data-display}/KPI/KPI.js +11 -9
  429. package/dist/components/{core → data-display}/KPI/KPI.theme.js +12 -12
  430. package/dist/components/{core → data-display}/KPI/KPI.types.d.ts +8 -7
  431. package/dist/components/{core → data-display}/KPI/index.d.ts +1 -0
  432. package/dist/components/data-display/Metric/Metric.js +20 -0
  433. package/dist/components/{core → data-display}/Metric/Metric.theme.js +17 -13
  434. package/dist/components/{core → data-display}/Metric/Metric.types.d.ts +10 -9
  435. package/dist/components/{core → data-display}/Table/Table.theme.js +4 -4
  436. package/dist/components/{core → data-display}/Table/Table.types.d.ts +8 -8
  437. package/dist/components/{core → data-display}/Table/TableActions.js +8 -8
  438. package/dist/components/{core → data-display}/Table/TableActionsMenu.js +1 -1
  439. package/dist/components/data-display/Table/TableColumnManager.js +25 -0
  440. package/dist/components/{core → data-display}/Table/TableFilter.js +7 -6
  441. package/dist/components/{core → data-display}/Table/TableHeader.js +1 -1
  442. package/dist/components/data-display/Table/TablePagination.js +25 -0
  443. package/dist/components/{core → data-display}/Table/TableRow.js +1 -1
  444. package/dist/components/{core → data-display}/Table/TableSelectionHeader.js +3 -3
  445. package/dist/components/{core → data-display}/Timeline/Timeline.theme.js +2 -2
  446. package/dist/components/{core → data-display}/Timeline/TimelineMarker.js +2 -2
  447. package/dist/components/data-display/index.d.ts +7 -0
  448. package/dist/components/data-display/index.js +20 -0
  449. package/dist/components/effects/3d/index.d.ts +6 -0
  450. package/dist/components/effects/3d/index.js +3 -0
  451. package/dist/components/effects/AIOrb/AIOrb.d.ts +1 -0
  452. package/dist/components/effects/AIOrb/AIOrb.js +3 -2
  453. package/dist/components/effects/AIOrb/AIOrb.types.d.ts +1 -0
  454. package/dist/components/effects/AIOrb/hooks/index.d.ts +2 -0
  455. package/dist/components/effects/AIOrb/hooks/useOrbState.d.ts +20 -0
  456. package/dist/components/effects/AIOrb/hooks/useOrbState.js +27 -0
  457. package/dist/components/effects/AIOrb/index.d.ts +2 -2
  458. package/dist/components/effects/AIOrb/variants/Aura/Aura.d.ts +3 -0
  459. package/dist/components/effects/AIOrb/variants/Aura/Aura.js +75 -0
  460. package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.d.ts +28 -0
  461. package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.js +191 -0
  462. package/dist/components/effects/AIOrb/variants/Aura/Aura.types.d.ts +53 -0
  463. package/dist/components/effects/AIOrb/variants/Aura/ShaderCanvas.d.ts +17 -0
  464. package/dist/components/effects/AIOrb/variants/Aura/ShaderCanvas.js +149 -0
  465. package/dist/components/effects/AIOrb/variants/Aura/index.d.ts +2 -0
  466. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.js +38 -7
  467. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.types.d.ts +6 -0
  468. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.js +34 -8
  469. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.types.d.ts +6 -0
  470. package/dist/components/effects/AIOrb/variants/index.d.ts +2 -0
  471. package/dist/components/effects/Animated/Animated.animations.js +29 -10
  472. package/dist/components/effects/Animated/Animated.d.ts +2 -2
  473. package/dist/components/effects/Animated/Animated.js +4 -3
  474. package/dist/components/effects/Animated/AnimatedItem.d.ts +1 -1
  475. package/dist/components/effects/Animated/AnimatedItem.js +5 -4
  476. package/dist/components/effects/Aurora/Aurora.d.ts +24 -0
  477. package/dist/components/effects/Aurora/Aurora.js +119 -0
  478. package/dist/components/effects/Aurora/Aurora.types.d.ts +15 -0
  479. package/dist/components/effects/Aurora/index.d.ts +2 -0
  480. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +4 -4
  481. package/dist/components/effects/CustomCursor/CustomCursor.js +50 -47
  482. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +3 -1
  483. package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +5 -4
  484. package/dist/components/effects/DotPattern/DotPattern.d.ts +18 -0
  485. package/dist/components/effects/DotPattern/DotPattern.js +65 -0
  486. package/dist/components/effects/DotPattern/DotPattern.types.d.ts +47 -0
  487. package/dist/components/effects/DotPattern/index.d.ts +2 -0
  488. package/dist/components/effects/GlassSurface/GlassSurface.d.ts +1 -1
  489. package/dist/components/effects/GlassSurface/GlassSurface.js +38 -18
  490. package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +14 -0
  491. package/dist/components/effects/GridPattern/GridPattern.d.ts +18 -0
  492. package/dist/components/effects/GridPattern/GridPattern.js +64 -0
  493. package/dist/components/effects/GridPattern/GridPattern.types.d.ts +47 -0
  494. package/dist/components/effects/GridPattern/index.d.ts +2 -0
  495. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.d.ts +39 -0
  496. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.js +98 -0
  497. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.d.ts +3 -0
  498. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.js +104 -0
  499. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.types.d.ts +30 -0
  500. package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.d.ts +3 -0
  501. package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.js +36 -0
  502. package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.d.ts +3 -0
  503. package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.js +36 -0
  504. package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.d.ts +3 -0
  505. package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.js +37 -0
  506. package/dist/components/effects/InteractiveCharacters/hooks/useBlink.d.ts +14 -0
  507. package/dist/components/effects/InteractiveCharacters/hooks/useBlink.js +41 -0
  508. package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.d.ts +25 -0
  509. package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.js +84 -0
  510. package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.d.ts +18 -0
  511. package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.js +35 -0
  512. package/dist/components/effects/InteractiveCharacters/index.d.ts +2 -0
  513. package/dist/components/effects/MagneticElement/MagneticElement.d.ts +30 -0
  514. package/dist/components/effects/MagneticElement/MagneticElement.js +110 -0
  515. package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +44 -0
  516. package/dist/components/effects/MagneticElement/index.d.ts +2 -0
  517. package/dist/components/effects/MorphingText/MorphingText.d.ts +17 -0
  518. package/dist/components/effects/MorphingText/MorphingText.js +92 -0
  519. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +18 -0
  520. package/dist/components/effects/MorphingText/index.d.ts +2 -0
  521. package/dist/components/effects/Neumorphic/InsetCircleButton.d.ts +10 -0
  522. package/dist/components/effects/Neumorphic/InsetCircleButton.js +10 -0
  523. package/dist/components/effects/Neumorphic/InsetPill.d.ts +8 -0
  524. package/dist/components/effects/Neumorphic/InsetPill.js +7 -0
  525. package/dist/components/effects/Neumorphic/index.d.ts +4 -0
  526. package/dist/components/effects/NoiseOverlay/NoiseOverlay.d.ts +28 -0
  527. package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +61 -0
  528. package/dist/components/effects/NoiseOverlay/NoiseOverlay.types.d.ts +35 -0
  529. package/dist/components/effects/NoiseOverlay/index.d.ts +2 -0
  530. package/dist/components/effects/Overlay/Overlay.js +6 -4
  531. package/dist/components/effects/PageTransition/PageTransition.animations.d.ts +8 -0
  532. package/dist/components/effects/PageTransition/PageTransition.animations.js +53 -0
  533. package/dist/components/effects/PageTransition/PageTransition.d.ts +3 -0
  534. package/dist/components/effects/PageTransition/PageTransition.js +71 -0
  535. package/dist/components/effects/PageTransition/PageTransition.types.d.ts +15 -0
  536. package/dist/components/effects/PageTransition/index.d.ts +2 -0
  537. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +26 -0
  538. package/dist/components/effects/ParallaxSection/ParallaxSection.js +71 -0
  539. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +11 -0
  540. package/dist/components/effects/ParallaxSection/index.d.ts +2 -0
  541. package/dist/components/effects/Particles/Particles.d.ts +22 -0
  542. package/dist/components/effects/Particles/Particles.js +33 -0
  543. package/dist/components/effects/Particles/Particles.scene.d.ts +3 -0
  544. package/dist/components/effects/Particles/Particles.scene.js +284 -0
  545. package/dist/components/effects/Particles/Particles.types.d.ts +65 -0
  546. package/dist/components/effects/Particles/index.d.ts +2 -0
  547. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.d.ts +3 -0
  548. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +75 -0
  549. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.d.ts +7 -0
  550. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.js +12 -0
  551. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +47 -0
  552. package/dist/components/effects/ProgressiveBlur/index.d.ts +2 -0
  553. package/dist/components/effects/ScrollReveal/ScrollReveal.d.ts +29 -0
  554. package/dist/components/effects/ScrollReveal/ScrollReveal.js +121 -0
  555. package/dist/components/effects/ScrollReveal/ScrollReveal.types.d.ts +25 -0
  556. package/dist/components/effects/ScrollReveal/index.d.ts +2 -0
  557. package/dist/components/effects/Spotlight/Spotlight.d.ts +36 -0
  558. package/dist/components/effects/Spotlight/Spotlight.js +112 -0
  559. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +29 -0
  560. package/dist/components/effects/Spotlight/index.d.ts +2 -0
  561. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +30 -0
  562. package/dist/components/effects/StickyScroll/StickyScroll.js +128 -0
  563. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +19 -0
  564. package/dist/components/effects/StickyScroll/index.d.ts +2 -0
  565. package/dist/components/effects/index.d.ts +30 -6
  566. package/dist/components/effects/index.js +16 -3
  567. package/dist/components/forms/Checkbox/Checkbox.animations.d.ts +14 -0
  568. package/dist/components/forms/Checkbox/Checkbox.animations.js +53 -0
  569. package/dist/components/forms/Checkbox/Checkbox.d.ts +3 -4
  570. package/dist/components/forms/Checkbox/Checkbox.js +39 -13
  571. package/dist/components/forms/Checkbox/Checkbox.theme.js +10 -10
  572. package/dist/components/forms/Checkbox/Checkbox.types.d.ts +30 -4
  573. package/dist/components/forms/Checkbox/CheckboxContext.d.ts +14 -0
  574. package/dist/components/forms/Checkbox/CheckboxContext.js +12 -0
  575. package/dist/components/forms/Checkbox/CheckboxGroup.d.ts +3 -0
  576. package/dist/components/forms/Checkbox/CheckboxGroup.js +40 -0
  577. package/dist/components/forms/Checkbox/index.d.ts +1 -1
  578. package/dist/components/forms/ColorPicker/ColorPicker.d.ts +1 -1
  579. package/dist/components/forms/ColorPicker/ColorPicker.js +3 -3
  580. package/dist/components/forms/ColorPicker/ColorPicker.theme.js +3 -3
  581. package/dist/components/forms/ColorPicker/ColorPicker.types.d.ts +3 -3
  582. package/dist/components/forms/ColorPicker/ColorPickerBody.d.ts +7 -0
  583. package/dist/components/forms/ColorPicker/{ColorPickerContent.js → ColorPickerBody.js} +8 -8
  584. package/dist/components/forms/ColorPicker/ColorPickerInput.js +7 -7
  585. package/dist/components/forms/ColorPicker/index.d.ts +2 -2
  586. package/dist/components/forms/Combobox/Combobox.js +5 -3
  587. package/dist/components/forms/CronInput/CronInput.d.ts +3 -0
  588. package/dist/components/forms/CronInput/CronInput.js +107 -0
  589. package/dist/components/forms/CronInput/CronInput.theme.d.ts +6 -0
  590. package/dist/components/forms/CronInput/CronInput.theme.js +84 -0
  591. package/dist/components/forms/CronInput/CronInput.types.d.ts +98 -0
  592. package/dist/components/forms/CronInput/CronInput.utils.d.ts +67 -0
  593. package/dist/components/forms/CronInput/CronInput.utils.js +505 -0
  594. package/dist/components/forms/CronInput/index.d.ts +4 -0
  595. package/dist/components/forms/DatePicker/DatePicker.d.ts +7 -3
  596. package/dist/components/forms/DatePicker/DatePicker.js +6 -5
  597. package/dist/components/forms/DatePicker/DatePicker.theme.js +5 -5
  598. package/dist/components/forms/DatePicker/DatePicker.types.d.ts +9 -4
  599. package/dist/components/forms/DatePicker/DatePickerBody.d.ts +7 -0
  600. package/dist/components/forms/DatePicker/{DatePickerContent.js → DatePickerBody.js} +10 -9
  601. package/dist/components/forms/DatePicker/index.d.ts +2 -2
  602. package/dist/components/forms/DateRangePicker/DateRangePicker.animations.d.ts +1 -0
  603. package/dist/components/forms/DateRangePicker/DateRangePicker.d.ts +37 -0
  604. package/dist/components/forms/DateRangePicker/DateRangePicker.js +110 -0
  605. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.d.ts +5 -0
  606. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +52 -0
  607. package/dist/components/forms/DateRangePicker/DateRangePicker.types.d.ts +154 -0
  608. package/dist/components/forms/DateRangePicker/DateRangePickerBody.d.ts +6 -0
  609. package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +208 -0
  610. package/dist/components/forms/DateRangePicker/DateRangePickerPresets.d.ts +6 -0
  611. package/dist/components/forms/DateRangePicker/DateRangePickerPresets.js +41 -0
  612. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.d.ts +6 -0
  613. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +32 -0
  614. package/dist/components/forms/DateRangePicker/dateRangePresets.d.ts +5 -0
  615. package/dist/components/forms/DateRangePicker/dateRangePresets.js +59 -0
  616. package/dist/components/forms/DateRangePicker/index.d.ts +4 -0
  617. package/dist/components/forms/FileUpload/FileUpload.js +2 -2
  618. package/dist/components/forms/FileUpload/FileUpload.theme.js +4 -4
  619. package/dist/components/forms/FileUpload/FileUploadProgress.animations.d.ts +36 -0
  620. package/dist/components/forms/FileUpload/FileUploadProgress.animations.js +22 -0
  621. package/dist/components/forms/FileUpload/FileUploadProgress.d.ts +3 -0
  622. package/dist/components/forms/FileUpload/FileUploadProgress.js +111 -0
  623. package/dist/components/forms/FileUpload/FileUploadProgress.theme.d.ts +19 -0
  624. package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +27 -0
  625. package/dist/components/forms/FileUpload/FileUploadProgress.types.d.ts +33 -0
  626. package/dist/components/forms/FileUpload/index.d.ts +3 -0
  627. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  628. package/dist/components/forms/Input/Input.js +8 -13
  629. package/dist/components/forms/Input/Input.theme.js +1 -1
  630. package/dist/components/forms/Input/Input.types.d.ts +10 -4
  631. package/dist/components/forms/InputAddress/InputAddress.theme.js +1 -1
  632. package/dist/components/forms/InputCounter/InputCounter.d.ts +1 -1
  633. package/dist/components/forms/InputCounter/InputCounter.js +1 -1
  634. package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
  635. package/dist/components/forms/InputCounter/InputCounter.types.d.ts +3 -2
  636. package/dist/components/forms/InputCreditCard/InputCreditCard.theme.js +1 -1
  637. package/dist/components/forms/InputOTP/InputOTP.theme.js +2 -2
  638. package/dist/components/forms/InputTag/InputTag.js +1 -1
  639. package/dist/components/forms/Mention/Mention.d.ts +3 -0
  640. package/dist/components/forms/Mention/Mention.js +607 -0
  641. package/dist/components/forms/Mention/Mention.theme.d.ts +6 -0
  642. package/dist/components/forms/Mention/Mention.theme.js +55 -0
  643. package/dist/components/forms/Mention/Mention.types.d.ts +151 -0
  644. package/dist/components/forms/Mention/Mention.utils.d.ts +42 -0
  645. package/dist/components/forms/Mention/Mention.utils.js +285 -0
  646. package/dist/components/forms/Mention/index.d.ts +3 -0
  647. package/dist/components/forms/Radio/Radio.animations.d.ts +10 -0
  648. package/dist/components/forms/Radio/Radio.animations.js +37 -0
  649. package/dist/components/forms/Radio/Radio.d.ts +3 -4
  650. package/dist/components/forms/Radio/Radio.js +32 -10
  651. package/dist/components/forms/Radio/Radio.theme.js +35 -6
  652. package/dist/components/forms/Radio/Radio.types.d.ts +33 -6
  653. package/dist/components/forms/Radio/RadioContext.d.ts +14 -0
  654. package/dist/components/forms/Radio/RadioContext.js +12 -0
  655. package/dist/components/forms/Radio/RadioGroup.d.ts +3 -0
  656. package/dist/components/forms/Radio/RadioGroup.js +36 -0
  657. package/dist/components/forms/Radio/index.d.ts +1 -1
  658. package/dist/components/forms/RichTextEditor/RichTextEditor.js +25 -16
  659. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +3 -3
  660. package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +11 -0
  661. package/dist/components/forms/Select/Select.d.ts +1 -1
  662. package/dist/components/forms/Select/Select.js +9 -9
  663. package/dist/components/forms/Select/Select.theme.js +1 -1
  664. package/dist/components/forms/Select/Select.types.d.ts +7 -7
  665. package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +2 -0
  666. package/dist/components/forms/SelectableCard/SelectableCard.animations.js +9 -0
  667. package/dist/components/forms/SelectableCard/SelectableCard.d.ts +5 -0
  668. package/dist/components/forms/SelectableCard/SelectableCard.js +58 -0
  669. package/dist/components/forms/SelectableCard/SelectableCard.theme.d.ts +2 -0
  670. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +38 -0
  671. package/dist/components/forms/SelectableCard/SelectableCard.types.d.ts +33 -0
  672. package/dist/components/forms/SelectableCard/SelectableCardContext.d.ts +3 -0
  673. package/dist/components/forms/SelectableCard/SelectableCardContext.js +12 -0
  674. package/dist/components/forms/SelectableCard/SelectableCardGroup.d.ts +3 -0
  675. package/dist/components/forms/SelectableCard/SelectableCardGroup.js +37 -0
  676. package/dist/components/forms/SelectableCard/index.d.ts +3 -0
  677. package/dist/components/forms/Signature/Signature.theme.js +1 -1
  678. package/dist/components/forms/Slider/Slider.js +10 -3
  679. package/dist/components/forms/Slider/Slider.theme.js +6 -6
  680. package/dist/components/forms/Switch/Switch.js +10 -2
  681. package/dist/components/forms/Switch/Switch.theme.js +4 -4
  682. package/dist/components/forms/Switch/Switch.types.d.ts +4 -4
  683. package/dist/components/forms/Textarea/Textarea.js +2 -2
  684. package/dist/components/forms/Textarea/Textarea.types.d.ts +4 -4
  685. package/dist/components/forms/TimePicker/TimePicker.theme.js +2 -2
  686. package/dist/components/forms/forms.theme.js +6 -6
  687. package/dist/components/forms/index.d.ts +20 -4
  688. package/dist/components/forms/index.js +17 -2
  689. package/dist/components/layout/FormLayout/FormLayout.d.ts +6 -0
  690. package/dist/components/layout/FormLayout/FormLayout.js +28 -0
  691. package/dist/components/layout/FormLayout/FormLayout.theme.d.ts +2 -0
  692. package/dist/components/layout/FormLayout/FormLayout.theme.js +13 -0
  693. package/dist/components/layout/FormLayout/FormLayout.types.d.ts +43 -0
  694. package/dist/components/layout/FormLayout/FormLayoutFooter.d.ts +3 -0
  695. package/dist/components/layout/FormLayout/FormLayoutFooter.js +12 -0
  696. package/dist/components/layout/FormLayout/FormLayoutSection.d.ts +3 -0
  697. package/dist/components/layout/FormLayout/FormLayoutSection.js +13 -0
  698. package/dist/components/layout/FormLayout/index.d.ts +3 -0
  699. package/dist/components/layout/PageLayout/PageLayout.d.ts +7 -0
  700. package/dist/components/layout/PageLayout/PageLayout.js +33 -0
  701. package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +2 -0
  702. package/dist/components/layout/PageLayout/PageLayout.theme.js +10 -0
  703. package/dist/components/layout/PageLayout/PageLayout.types.d.ts +39 -0
  704. package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +3 -0
  705. package/dist/components/layout/PageLayout/PageLayoutContent.js +12 -0
  706. package/dist/components/layout/PageLayout/PageLayoutHeader.d.ts +3 -0
  707. package/dist/components/layout/PageLayout/PageLayoutHeader.js +12 -0
  708. package/dist/components/layout/PageLayout/PageLayoutSidebar.d.ts +3 -0
  709. package/dist/components/layout/PageLayout/PageLayoutSidebar.js +12 -0
  710. package/dist/components/layout/PageLayout/index.d.ts +3 -0
  711. package/dist/components/layout/index.d.ts +2 -0
  712. package/dist/hooks/index.d.ts +1 -0
  713. package/dist/hooks/useMediaQuery.d.ts +5 -0
  714. package/dist/hooks/useMediaQuery.js +21 -0
  715. package/dist/hooks/useSelectPortal.d.ts +4 -2
  716. package/dist/hooks/useSelectPortal.js +139 -51
  717. package/dist/index.d.ts +2 -0
  718. package/dist/index.js +85 -27
  719. package/dist/styles.css +1 -1
  720. package/dist/utils/colorUtils.d.ts +23 -0
  721. package/dist/utils/colorUtils.js +45 -0
  722. package/dist/utils/dateUtils.d.ts +30 -0
  723. package/dist/utils/dateUtils.js +113 -5
  724. package/dist/utils/formatUtils.d.ts +10 -0
  725. package/dist/utils/formatUtils.js +24 -0
  726. package/dist/utils/index.d.ts +4 -2
  727. package/dist/utils/paletteGenerator.d.ts +46 -0
  728. package/package.json +44 -25
  729. package/src/global.scss +954 -0
  730. package/src/styles/theme.css +463 -0
  731. package/src/theme-plugin.css +24 -0
  732. package/dist/components/ai/ApprovalCard/ApprovalCard.d.ts +0 -3
  733. package/dist/components/ai/ApprovalCard/ApprovalCard.js +0 -15
  734. package/dist/components/ai/ApprovalCard/ApprovalCard.theme.d.ts +0 -13
  735. package/dist/components/ai/ApprovalCard/ApprovalCard.theme.js +0 -15
  736. package/dist/components/ai/ApprovalCard/ApprovalCard.types.d.ts +0 -43
  737. package/dist/components/ai/ApprovalCard/index.d.ts +0 -2
  738. package/dist/components/ai/MessageHistory/MessageHistory.d.ts +0 -18
  739. package/dist/components/ai/MessageHistory/MessageHistory.js +0 -97
  740. package/dist/components/ai/MessageHistory/MessageHistory.theme.d.ts +0 -2
  741. package/dist/components/ai/MessageHistory/MessageHistory.theme.js +0 -8
  742. package/dist/components/ai/MessageHistory/MessageHistory.types.d.ts +0 -94
  743. package/dist/components/ai/MessageHistory/index.d.ts +0 -3
  744. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.d.ts +0 -10
  745. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.js +0 -47
  746. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.d.ts +0 -20
  747. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.js +0 -55
  748. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.d.ts +0 -2
  749. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.js +0 -20
  750. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.types.d.ts +0 -67
  751. package/dist/components/ai/ThinkingIndicator/index.d.ts +0 -3
  752. package/dist/components/core/Accordion/AccordionContent.d.ts +0 -3
  753. package/dist/components/core/Button/Button.animations.d.ts +0 -5
  754. package/dist/components/core/Card/CardContent.d.ts +0 -3
  755. package/dist/components/core/Card/CardContent.js +0 -11
  756. package/dist/components/core/Card/CardDescription.d.ts +0 -3
  757. package/dist/components/core/Card/CardDescription.js +0 -11
  758. package/dist/components/core/Carousel/CarouselContent.d.ts +0 -4
  759. package/dist/components/core/ContextMenu/ContextMenuContent.d.ts +0 -6
  760. package/dist/components/core/ContextMenu/ContextMenuSubContent.d.ts +0 -6
  761. package/dist/components/core/DescriptionList/DescriptionList.theme.js +0 -8
  762. package/dist/components/core/Drawer/DrawerContent.d.ts +0 -5
  763. package/dist/components/core/Feed/Feed.js +0 -88
  764. package/dist/components/core/Feed/Feed.theme.js +0 -22
  765. package/dist/components/core/Feed/Feed.types.d.ts +0 -64
  766. package/dist/components/core/Feed/index.d.ts +0 -2
  767. package/dist/components/core/Loader/Loader.d.ts +0 -24
  768. package/dist/components/core/Loader/Loader.js +0 -57
  769. package/dist/components/core/Loader/Loader.theme.d.ts +0 -27
  770. package/dist/components/core/Loader/Loader.theme.js +0 -60
  771. package/dist/components/core/Loader/Loader.types.d.ts +0 -71
  772. package/dist/components/core/Loader/index.d.ts +0 -2
  773. package/dist/components/core/Message/MessageContent.d.ts +0 -8
  774. package/dist/components/core/Metric/Metric.js +0 -23
  775. package/dist/components/core/Modal/ModalDescription.d.ts +0 -5
  776. package/dist/components/core/Modal/ModalDescription.js +0 -11
  777. package/dist/components/core/Popover/PopoverContent.d.ts +0 -7
  778. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.d.ts +0 -34
  779. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.js +0 -218
  780. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.theme.d.ts +0 -9
  781. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.types.d.ts +0 -48
  782. package/dist/components/core/ProgressiveBlur/index.d.ts +0 -2
  783. package/dist/components/core/Table/TableColumnManager.js +0 -23
  784. package/dist/components/core/Table/TablePagination.js +0 -25
  785. package/dist/components/core/Tabs/TabsContent.d.ts +0 -6
  786. package/dist/components/forms/ColorPicker/ColorPickerContent.d.ts +0 -7
  787. package/dist/components/forms/DatePicker/DatePickerContent.d.ts +0 -7
  788. package/dist/icons/Icon.d.ts +0 -24
  789. package/dist/icons/Icon.js +0 -30
  790. package/dist/icons/Index.d.ts +0 -16
  791. package/dist/icons/core/ChevronUpDown.d.ts +0 -1
  792. package/dist/icons/core/ChevronUpDown.js +0 -7
  793. package/dist/icons/core/DollarIcon.d.ts +0 -1
  794. package/dist/icons/core/DollarIcon.js +0 -5
  795. package/dist/icons/core/LockIcon.d.ts +0 -1
  796. package/dist/icons/core/LockIcon.js +0 -5
  797. package/dist/icons/core/MinusIcon.d.ts +0 -1
  798. package/dist/icons/core/MinusIcon.js +0 -7
  799. package/dist/icons/core/PlusIcon.d.ts +0 -1
  800. package/dist/icons/core/PlusIcon.js +0 -7
  801. package/dist/icons/core/SearchIcon.d.ts +0 -1
  802. package/dist/icons/core/SearchIcon.js +0 -7
  803. package/dist/icons/core/TickIcon.d.ts +0 -1
  804. package/dist/icons/core/TickIcon.js +0 -5
  805. package/dist/icons/core/User.d.ts +0 -1
  806. package/dist/utils/useClickOutside.d.ts +0 -1
  807. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.d.ts +0 -0
  808. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.js +0 -0
  809. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.theme.d.ts +0 -0
  810. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.types.d.ts +0 -0
  811. /package/dist/components/{core → data-display}/DescriptionList/index.d.ts +0 -0
  812. /package/dist/components/{core → data-display}/Feed/Feed.theme.d.ts +0 -0
  813. /package/dist/components/{core → data-display}/KPI/KPI.d.ts +0 -0
  814. /package/dist/components/{core → data-display}/KPI/KPI.theme.d.ts +0 -0
  815. /package/dist/components/{core → data-display}/Metric/Metric.d.ts +0 -0
  816. /package/dist/components/{core → data-display}/Metric/Metric.theme.d.ts +0 -0
  817. /package/dist/components/{core → data-display}/Metric/index.d.ts +0 -0
  818. /package/dist/components/{core → data-display}/Table/Table.animations.d.ts +0 -0
  819. /package/dist/components/{core → data-display}/Table/Table.animations.js +0 -0
  820. /package/dist/components/{core → data-display}/Table/Table.d.ts +0 -0
  821. /package/dist/components/{core → data-display}/Table/Table.filterUtils.d.ts +0 -0
  822. /package/dist/components/{core → data-display}/Table/Table.filterUtils.js +0 -0
  823. /package/dist/components/{core → data-display}/Table/Table.js +0 -0
  824. /package/dist/components/{core → data-display}/Table/Table.theme.d.ts +0 -0
  825. /package/dist/components/{core → data-display}/Table/Table.utils.d.ts +0 -0
  826. /package/dist/components/{core → data-display}/Table/Table.utils.js +0 -0
  827. /package/dist/components/{core → data-display}/Table/TableActions.d.ts +0 -0
  828. /package/dist/components/{core → data-display}/Table/TableActionsMenu.d.ts +0 -0
  829. /package/dist/components/{core → data-display}/Table/TableBody.d.ts +0 -0
  830. /package/dist/components/{core → data-display}/Table/TableBody.js +0 -0
  831. /package/dist/components/{core → data-display}/Table/TableCell.d.ts +0 -0
  832. /package/dist/components/{core → data-display}/Table/TableCell.js +0 -0
  833. /package/dist/components/{core → data-display}/Table/TableColumnManager.d.ts +0 -0
  834. /package/dist/components/{core → data-display}/Table/TableDeclarative.d.ts +0 -0
  835. /package/dist/components/{core → data-display}/Table/TableDeclarative.js +0 -0
  836. /package/dist/components/{core → data-display}/Table/TableFilter.d.ts +0 -0
  837. /package/dist/components/{core → data-display}/Table/TableHeader.d.ts +0 -0
  838. /package/dist/components/{core → data-display}/Table/TablePagination.d.ts +0 -0
  839. /package/dist/components/{core → data-display}/Table/TableRow.d.ts +0 -0
  840. /package/dist/components/{core → data-display}/Table/TableSelectionHeader.d.ts +0 -0
  841. /package/dist/components/{core → data-display}/Table/hooks/index.d.ts +0 -0
  842. /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.d.ts +0 -0
  843. /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.js +0 -0
  844. /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.d.ts +0 -0
  845. /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.js +0 -0
  846. /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.d.ts +0 -0
  847. /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.js +0 -0
  848. /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.d.ts +0 -0
  849. /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.js +0 -0
  850. /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.d.ts +0 -0
  851. /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.js +0 -0
  852. /package/dist/components/{core → data-display}/Table/index.d.ts +0 -0
  853. /package/dist/components/{core → data-display}/Table/index.js +0 -0
  854. /package/dist/components/{core → data-display}/Timeline/Timeline.animations.d.ts +0 -0
  855. /package/dist/components/{core → data-display}/Timeline/Timeline.animations.js +0 -0
  856. /package/dist/components/{core → data-display}/Timeline/Timeline.d.ts +0 -0
  857. /package/dist/components/{core → data-display}/Timeline/Timeline.js +0 -0
  858. /package/dist/components/{core → data-display}/Timeline/Timeline.theme.d.ts +0 -0
  859. /package/dist/components/{core → data-display}/Timeline/Timeline.types.d.ts +0 -0
  860. /package/dist/components/{core → data-display}/Timeline/TimelineContent.d.ts +0 -0
  861. /package/dist/components/{core → data-display}/Timeline/TimelineContent.js +0 -0
  862. /package/dist/components/{core → data-display}/Timeline/TimelineItem.d.ts +0 -0
  863. /package/dist/components/{core → data-display}/Timeline/TimelineItem.js +0 -0
  864. /package/dist/components/{core → data-display}/Timeline/TimelineMarker.d.ts +0 -0
  865. /package/dist/components/{core → data-display}/Timeline/index.d.ts +0 -0
package/README.md CHANGED
@@ -1 +1,53 @@
1
1
  # Flikkui
2
+
3
+ A modern React component library built with TypeScript, Tailwind CSS v4, and Framer Motion. 150+ components following the shadcn philosophy with complete `className` override support.
4
+
5
+ ## MCP Server
6
+
7
+ Flikkui ships with an MCP (Model Context Protocol) server that gives AI coding tools full knowledge of the component library — component APIs, props, theme tokens, and code generation.
8
+
9
+ ### What It Does
10
+
11
+ | Tool | Description |
12
+ |------|-------------|
13
+ | `get_component` | Look up any component's full API — props, types, sub-components, theme tokens, and code examples |
14
+ | `search_components` | Find components by name, category (`core`, `forms`, `charts`, etc.), or pattern type (`compound`, `simple`, etc.) |
15
+ | `get_theme_tokens` | Get all CSS variables with correct Tailwind syntax (`bg-[var(--color-primary)]`) |
16
+ | `generate_code` | Generate production-ready Flikkui code from a description |
17
+
18
+ ### Setup for Claude Code
19
+
20
+ Add the following to your project's `.mcp.json`:
21
+
22
+ ```json
23
+ {
24
+ "mcpServers": {
25
+ "flikkui": {
26
+ "command": "npx",
27
+ "args": ["@flikk/mcp"]
28
+ }
29
+ }
30
+ }
31
+ ```
32
+
33
+ Or if you're working from a local clone of this repo:
34
+
35
+ ```json
36
+ {
37
+ "mcpServers": {
38
+ "flikkui": {
39
+ "command": "node",
40
+ "args": ["./packages/mcp/dist/index.js"]
41
+ }
42
+ }
43
+ }
44
+ ```
45
+
46
+ ### Building from Source
47
+
48
+ ```bash
49
+ cd packages/mcp
50
+ npm install
51
+ npm run extract # Parse component source files into registry.json
52
+ npm run build # Compile TypeScript
53
+ ```
package/dist/bg/1.jpg ADDED
Binary file
package/dist/bg/10.jpg ADDED
Binary file
package/dist/bg/11.jpg ADDED
Binary file
package/dist/bg/14.jpg ADDED
Binary file
package/dist/bg/15.jpg ADDED
Binary file
package/dist/bg/16.jpg ADDED
Binary file
package/dist/bg/17.jpg ADDED
Binary file
package/dist/bg/18.jpg ADDED
Binary file
package/dist/bg/19.jpg ADDED
Binary file
package/dist/bg/2.jpg ADDED
Binary file
package/dist/bg/20.jpg ADDED
Binary file
package/dist/bg/21.jpg ADDED
Binary file
package/dist/bg/22.jpg ADDED
Binary file
package/dist/bg/23.jpg ADDED
Binary file
package/dist/bg/24.jpg ADDED
Binary file
package/dist/bg/3.jpg ADDED
Binary file
package/dist/bg/4.jpg ADDED
Binary file
package/dist/bg/5.jpg ADDED
Binary file
package/dist/bg/6.jpg ADDED
Binary file
package/dist/bg/7.jpg ADDED
Binary file
package/dist/bg/8.jpg ADDED
Binary file
package/dist/bg/9.jpg ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -3,11 +3,11 @@ const codeBlockTheme = {
3
3
  header: "flex items-center justify-between px-3 py-1.5 bg-[var(--color-background-secondary)] border-b border-[var(--color-border)]",
4
4
  headerLeft: "flex items-center gap-2 min-w-0 flex-1 ",
5
5
  headerRight: "flex items-center gap-2 flex-shrink-0",
6
- filename: "text-sm font-medium text-[var(--color-text-secondary)] truncate",
7
- languageLabel: "text-xs uppercase tracking-wider font-semibold text-[var(--color-text-muted)]",
6
+ filename: "text-base font-medium text-[var(--color-text-secondary)] truncate",
7
+ languageLabel: "text-sm uppercase tracking-wider font-semibold text-[var(--color-text-muted)]",
8
8
  codeWrapper: "overflow-x-auto",
9
9
  lineNumber: "text-[var(--color-text-muted)] select-none text-right tabular-nums min-w-[2.5rem] pr-4 opacity-50",
10
- highlightedLine: " -mx-4 px-4 bg-[var(--color-primary-50)] border-l-2 border-l-[var(--color-primary)] dark:bg-neutral-400/5 dark:border-l-neutral-200",
10
+ highlightedLine: " -mx-4 px-4 bg-[var(--color-primary-50)] border-l-2 border-l-[var(--color-primary)] dark:bg-[var(--color-neutral-400)]/5 dark:border-l-[var(--color-neutral-200)]",
11
11
  diffAddition: "-mx-4 px-4 bg-[var(--color-success-50)] border-l-4 border-l-[var(--color-success)] dark:bg-[var(--color-success-600)]/20 dark:border-l-[var(--color-success-700)]",
12
12
  diffDeletion: "-mx-4 px-4 bg-[var(--color-danger-50)] border-l-4 border-l-[var(--color-danger)] dark:bg-[var(--color-danger-600)]/20 dark:border-l-[var(--color-danger-700)]",
13
13
  copyButton: "p-1.5 rounded-[calc(var(--radius-base)*0.75)] text-[var(--color-text-muted)] hover:text-[var(--color-text-primary)] hover:bg-[var(--color-background-tertiary)] transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]",
@@ -0,0 +1,25 @@
1
+ import type { Variants } from "motion/react";
2
+ /**
3
+ * Voice recorder enter/exit animation (replaces textarea area)
4
+ */
5
+ export declare const voiceRecorderVariants: Variants;
6
+ /**
7
+ * Textarea enter/exit animation (when swapping with voice recorder)
8
+ */
9
+ export declare const textareaSwapVariants: Variants;
10
+ /**
11
+ * Submit/Stop icon swap animation
12
+ */
13
+ export declare const iconSwapVariants: Variants;
14
+ /**
15
+ * Enhanced dropzone container animation
16
+ */
17
+ export declare const dropzoneContainerVariants: Variants;
18
+ /**
19
+ * Dropzone child elements stagger animation
20
+ */
21
+ export declare const dropzoneChildVariants: Variants;
22
+ /**
23
+ * Dropzone action icons stagger animation
24
+ */
25
+ export declare const dropzoneActionIconVariants: Variants;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Voice recorder enter/exit animation (replaces textarea area)
3
+ */
4
+ /**
5
+ * Textarea enter/exit animation (when swapping with voice recorder)
6
+ */
7
+ const textareaSwapVariants = {
8
+ initial: { opacity: 0, y: -8 },
9
+ animate: { opacity: 1, y: 0, transition: { duration: 0.2, ease: "easeOut" } },
10
+ exit: { opacity: 0, y: 8, transition: { duration: 0.15, ease: "easeIn" } },
11
+ };
12
+ /**
13
+ * Submit/Stop icon swap animation
14
+ */
15
+ const iconSwapVariants = {
16
+ initial: { opacity: 0, scale: 0.5, rotate: -90 },
17
+ animate: {
18
+ opacity: 1,
19
+ scale: 1,
20
+ rotate: 0,
21
+ transition: { duration: 0.2, ease: "easeOut" },
22
+ },
23
+ exit: {
24
+ opacity: 0,
25
+ scale: 0.5,
26
+ rotate: 90,
27
+ transition: { duration: 0.15, ease: "easeIn" },
28
+ },
29
+ };
30
+ /**
31
+ * Enhanced dropzone container animation
32
+ */
33
+ const dropzoneContainerVariants = {
34
+ initial: { opacity: 0 },
35
+ animate: {
36
+ opacity: 1,
37
+ transition: {
38
+ duration: 0.2,
39
+ staggerChildren: 0.05,
40
+ },
41
+ },
42
+ exit: { opacity: 0, transition: { duration: 0.15 } },
43
+ };
44
+ /**
45
+ * Dropzone child elements stagger animation
46
+ */
47
+ const dropzoneChildVariants = {
48
+ initial: { opacity: 0, y: 8 },
49
+ animate: { opacity: 1, y: 0, transition: { duration: 0.2, ease: "easeOut" } },
50
+ exit: { opacity: 0, transition: { duration: 0.1 } },
51
+ };
52
+ /**
53
+ * Dropzone action icons stagger animation
54
+ */
55
+ const dropzoneActionIconVariants = {
56
+ initial: { opacity: 0, scale: 0.8 },
57
+ animate: { opacity: 1, scale: 1, transition: { duration: 0.15 } },
58
+ exit: { opacity: 0, scale: 0.8, transition: { duration: 0.1 } },
59
+ };
60
+
61
+ export { dropzoneActionIconVariants, dropzoneChildVariants, dropzoneContainerVariants, iconSwapVariants, textareaSwapVariants };
@@ -1,8 +1,12 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import React__default, { useState, useRef, useId, useEffect, useCallback } from 'react';
3
+ import { AnimatePresence, motion } from 'motion/react';
3
4
  import { cn } from '../../../utils/cn.js';
4
- import { DocumentIcon, XMarkIcon, PlusIcon, AdjustmentsHorizontalIcon, MicrophoneIcon, ChevronDownIcon, ArrowRightIcon } from '@heroicons/react/24/outline';
5
+ import { CloudArrowUpIcon, MicrophoneIcon, PaperClipIcon, LinkIcon, DocumentIcon, XMarkIcon, PlusIcon, AdjustmentsHorizontalIcon, ChevronDownIcon, ArrowRightIcon } from '@heroicons/react/24/outline';
6
+ import { StopIcon } from '@heroicons/react/24/solid';
5
7
  import { promptInputTheme } from './PromptInput.theme.js';
8
+ import { VoiceRecorder } from './VoiceRecorder.js';
9
+ import { dropzoneContainerVariants, dropzoneChildVariants, dropzoneActionIconVariants, textareaSwapVariants, iconSwapVariants } from './PromptInput.animations.js';
6
10
  import { Textarea } from '../../forms/Textarea/Textarea.js';
7
11
  import '../../forms/Textarea/Textarea.theme.js';
8
12
  import { Dropdown } from '../../core/Dropdown/Dropdown.js';
@@ -47,35 +51,48 @@ const PromptInput = React__default.forwardRef(({
47
51
  // Value control
48
52
  value, defaultValue = "", onChange,
49
53
  // Textarea props
50
- placeholder = "How may I assist you today?", maxLength, minHeight = "48px", maxHeight = "120px", rows,
54
+ placeholder = "How may I assist you today?", maxLength, minHeight: minHeightProp, maxHeight = "120px", rows,
51
55
  // State
52
56
  state = "default", disabled = false, helperText, showCharCount = false,
53
57
  // Model selection
54
58
  selectedModel: controlledModel, defaultSelectedModel, models = DEFAULT_MODELS, onModelChange,
55
59
  // Event handlers
56
60
  onSubmit, onAttachmentClick, onVoiceClick, onSettingsClick, onKeyDown,
61
+ // Stop generation
62
+ onStop,
63
+ // Voice recording
64
+ enableVoiceRecording = false, onRecordingComplete, onRecordingCancel, maxRecordingDuration = 120,
65
+ // Dropzone
66
+ enableDropzone = true, dropzoneText = "Drop files here to add to chat", dropzoneTitle, dropzoneSubtitle,
57
67
  // Multimodal attachments
58
68
  attachments: controlledAttachments, onAttachmentsChange, acceptedFileTypes = ["image/*", "application/pdf"], maxFileSize = 10 * 1024 * 1024, maxAttachments = 10, compressImages = true, maxImageDimension = 1024, imageQuality = 0.8, onAttachmentError,
59
69
  // Button visibility
60
70
  showAttachmentButton = true, showVoiceButton = true, showSettingsButton = true, showModelSelector = true,
61
71
  // Submit button
62
72
  submitButtonLabel = "Submit prompt", submitButtonIcon = (jsx(ArrowRightIcon, { className: "size-4", strokeWidth: 2.5 })), submitShortcut,
73
+ // Variant
74
+ variant = "default",
63
75
  // Styling
64
76
  className, textareaClassName, footerClassName, theme = {},
65
77
  // Accessibility
66
78
  "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, id: propId, ...props }, ref) => {
67
- // ========== State Management ==========
68
79
  var _a, _b;
80
+ // Derive minHeight: simple variant defaults to a compact single-line height
81
+ const minHeight = minHeightProp !== null && minHeightProp !== void 0 ? minHeightProp : (variant === "simple" ? "32px" : "48px");
82
+ // ========== State Management ==========
69
83
  // Internal state for uncontrolled mode
70
84
  const [internalValue, setInternalValue] = useState(defaultValue);
71
85
  const [internalAttachments, setInternalAttachments] = useState([]);
72
86
  const [internalModel, setInternalModel] = useState([
73
87
  defaultSelectedModel || ((_a = models[0]) === null || _a === void 0 ? void 0 : _a.key) || "",
74
88
  ]);
89
+ const [isRecording, setIsRecording] = useState(false);
75
90
  // Ref for textarea element
76
91
  const internalTextareaRef = useRef(null);
77
92
  const textareaRef = ref || internalTextareaRef;
78
93
  const fileInputRef = useRef(null);
94
+ const dragCounterRef = useRef(0);
95
+ const [isDragOver, setIsDragOver] = useState(false);
79
96
  const uniqueId = useId();
80
97
  // Determine if component is controlled
81
98
  const isControlled = value !== undefined;
@@ -94,6 +111,7 @@ className, textareaClassName, footerClassName, theme = {},
94
111
  const isDisabled = state === "disabled" || disabled;
95
112
  const isInvalid = state === "invalid";
96
113
  const isLoading = state === "loading";
114
+ const showStopButton = isLoading && onStop !== undefined;
97
115
  const canSubmit = (currentValue.trim().length > 0 || currentAttachments.length > 0) &&
98
116
  !isDisabled;
99
117
  // Model key to display name mapping
@@ -145,6 +163,32 @@ className, textareaClassName, footerClassName, theme = {},
145
163
  // Call user's handler
146
164
  onModelChange === null || onModelChange === void 0 ? void 0 : onModelChange(newModel);
147
165
  }, [isModelControlled, onModelChange]);
166
+ // ========== Voice Recording Handlers ==========
167
+ /**
168
+ * Handle voice button click — either start inline recording or call onVoiceClick
169
+ */
170
+ const handleVoiceClick = useCallback(() => {
171
+ if (enableVoiceRecording) {
172
+ setIsRecording(true);
173
+ }
174
+ else {
175
+ onVoiceClick === null || onVoiceClick === void 0 ? void 0 : onVoiceClick();
176
+ }
177
+ }, [enableVoiceRecording, onVoiceClick]);
178
+ /**
179
+ * Handle recording complete
180
+ */
181
+ const handleRecordingComplete = useCallback((audioBlob) => {
182
+ setIsRecording(false);
183
+ onRecordingComplete === null || onRecordingComplete === void 0 ? void 0 : onRecordingComplete(audioBlob);
184
+ }, [onRecordingComplete]);
185
+ /**
186
+ * Handle recording cancel
187
+ */
188
+ const handleRecordingCancel = useCallback(() => {
189
+ setIsRecording(false);
190
+ onRecordingCancel === null || onRecordingCancel === void 0 ? void 0 : onRecordingCancel();
191
+ }, [onRecordingCancel]);
148
192
  // ========== Multimodal Handlers ==========
149
193
  /**
150
194
  * Validate file type
@@ -315,6 +359,36 @@ className, textareaClassName, footerClassName, theme = {},
315
359
  processFiles(files);
316
360
  }
317
361
  }, [processFiles]);
362
+ // ========== Drag & Drop Handlers ==========
363
+ const handleDragEnter = useCallback((e) => {
364
+ e.preventDefault();
365
+ e.stopPropagation();
366
+ dragCounterRef.current++;
367
+ if (dragCounterRef.current === 1 && !isDisabled && enableDropzone) {
368
+ setIsDragOver(true);
369
+ }
370
+ }, [isDisabled, enableDropzone]);
371
+ const handleDragOver = useCallback((e) => {
372
+ e.preventDefault();
373
+ e.stopPropagation();
374
+ }, []);
375
+ const handleDragLeave = useCallback((e) => {
376
+ e.preventDefault();
377
+ e.stopPropagation();
378
+ dragCounterRef.current--;
379
+ if (dragCounterRef.current === 0) {
380
+ setIsDragOver(false);
381
+ }
382
+ }, []);
383
+ const handleDrop = useCallback((e) => {
384
+ e.preventDefault();
385
+ e.stopPropagation();
386
+ dragCounterRef.current = 0;
387
+ setIsDragOver(false);
388
+ if (!isDisabled && e.dataTransfer.files.length > 0) {
389
+ processFiles(e.dataTransfer.files);
390
+ }
391
+ }, [isDisabled, processFiles]);
318
392
  /**
319
393
  * Remove attachment
320
394
  */
@@ -402,42 +476,85 @@ className, textareaClassName, footerClassName, theme = {},
402
476
  footerStyle: theme.footerStyle || promptInputTheme.footerStyle,
403
477
  actionsStyle: theme.actionsStyle || promptInputTheme.actionsStyle,
404
478
  submitButtonStyle: theme.submitButtonStyle || promptInputTheme.submitButtonStyle,
479
+ dropzoneStyle: theme.dropzoneStyle || promptInputTheme.dropzoneStyle,
480
+ dropzoneTitleStyle: theme.dropzoneTitleStyle || promptInputTheme.dropzoneTitleStyle,
481
+ dropzoneSubtitleStyle: theme.dropzoneSubtitleStyle || promptInputTheme.dropzoneSubtitleStyle,
482
+ dropzoneActionsStyle: theme.dropzoneActionsStyle || promptInputTheme.dropzoneActionsStyle,
483
+ voiceRecorderStyle: theme.voiceRecorderStyle || promptInputTheme.voiceRecorderStyle,
405
484
  stateStyle: ((_b = theme.states) === null || _b === void 0 ? void 0 : _b[state]) || promptInputTheme.states[state],
406
485
  };
407
486
  // ========== Character Count ==========
408
487
  const displayHelperText = showCharCount
409
488
  ? `${currentValue.length}${maxLength ? `/${maxLength}` : ""} characters${helperText ? ` • ${helperText}` : ""}`
410
489
  : helperText;
490
+ // ========== Dropzone Helpers ==========
491
+ const resolvedDropzoneTitle = dropzoneTitle || dropzoneText;
492
+ /**
493
+ * Handle "browse" click within the dropzone overlay
494
+ */
495
+ const handleDropzoneBrowse = useCallback(() => {
496
+ setIsDragOver(false);
497
+ dragCounterRef.current = 0;
498
+ if (fileInputRef.current) {
499
+ fileInputRef.current.accept = acceptedFileTypes.join(",");
500
+ fileInputRef.current.click();
501
+ }
502
+ }, [acceptedFileTypes]);
503
+ // ========== Submit/Stop Button Renderer ==========
504
+ /**
505
+ * Renders the submit or stop button with animated icon swap.
506
+ * Used by both default and simple variants.
507
+ */
508
+ const renderSubmitButton = (buttonSize, buttonVariant, buttonColor, extraClassName) => {
509
+ if (showStopButton) {
510
+ return (jsx(Button, { iconOnly: true, className: cn(mergedTheme.submitButtonStyle, extraClassName), size: buttonSize, variant: buttonVariant, color: "danger", onClick: onStop, "aria-label": "Stop generation", title: "Stop generation", showReflection: false, children: jsx(AnimatePresence, { mode: "wait", initial: false, children: jsx(motion.span, { variants: iconSwapVariants, initial: "initial", animate: "animate", exit: "exit", className: "flex items-center justify-center", children: jsx(StopIcon, { className: "size-4" }) }, "stop") }) }));
511
+ }
512
+ return (jsx(Button, { iconOnly: true, className: cn(mergedTheme.submitButtonStyle, extraClassName), size: buttonSize, variant: buttonVariant, color: buttonColor, onClick: handleSubmit, disabled: !canSubmit, state: isLoading ? "loading" : "default", "aria-label": submitButtonLabel, title: submitShortcut ? `Submit (${submitShortcut})` : undefined, showReflection: buttonVariant === "filled" ? false : undefined, children: jsx(AnimatePresence, { mode: "wait", initial: false, children: jsx(motion.span, { variants: iconSwapVariants, initial: "initial", animate: "animate", exit: "exit", className: "flex items-center justify-center", children: submitButtonIcon }, "submit") }) }));
513
+ };
411
514
  // ========== Render ==========
412
- return (jsxs("div", { className: cn("min-w-xl mx-auto", className), ...props, children: [jsx("input", { ref: fileInputRef, type: "file", accept: acceptedFileTypes.join(","), multiple: true, onChange: (e) => {
515
+ return (jsxs("div", { className: cn("w-full mx-auto", className), ...props, children: [jsx("input", { ref: fileInputRef, type: "file", accept: acceptedFileTypes.join(","), multiple: true, onChange: (e) => {
413
516
  if (e.target.files)
414
517
  processFiles(e.target.files);
415
518
  e.target.value = "";
416
- }, className: "sr-only", "aria-label": "Attach files" }), jsxs("div", { className: cn(mergedTheme.baseStyle, mergedTheme.stateStyle), children: [jsx("div", { className: "flex items-start gap-2", children: jsx(Textarea, { ref: textareaRef, id: id, unstyled: true, value: currentValue, onChange: handleChange, onKeyDown: handleKeyDown, onPaste: handlePaste, placeholder: placeholder, disabled: isDisabled, maxLength: maxLength, rows: rows, "aria-label": ariaLabel || "Prompt input", "aria-describedby": helperTextId, "aria-invalid": isInvalid, "aria-disabled": isDisabled, className: cn(mergedTheme.textareaStyle, textareaClassName), style: {
417
- minHeight,
418
- maxHeight,
419
- } }) }), currentAttachments.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 py-2 px-1", children: currentAttachments.map((attachment) => {
519
+ }, className: "sr-only", "aria-label": "Attach files" }), jsxs("div", { className: cn("relative", mergedTheme.baseStyle, mergedTheme.stateStyle, variant === "simple" ? "p-3 rounded-full pl-5" : ""), onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [jsx(AnimatePresence, { children: isDragOver && enableDropzone && (jsxs(motion.div, { variants: dropzoneContainerVariants, initial: "initial", animate: "animate", exit: "exit", className: mergedTheme.dropzoneStyle, children: [jsx(motion.div, { variants: dropzoneChildVariants, children: jsx(CloudArrowUpIcon, { className: "size-8 text-[var(--color-primary)] mx-auto" }) }), jsx(motion.p, { variants: dropzoneChildVariants, className: mergedTheme.dropzoneTitleStyle, children: dropzoneTitle ? (
520
+ // Parse **browse** as clickable button
521
+ jsx(Fragment, { children: resolvedDropzoneTitle
522
+ .split(/\*\*(.*?)\*\*/)
523
+ .map((part, i) => i % 2 === 1 ? (jsx("button", { type: "button", onClick: handleDropzoneBrowse, className: "font-bold underline underline-offset-2 cursor-pointer hover:opacity-80", children: part }, i)) : (jsx("span", { children: part }, i))) })) : (resolvedDropzoneTitle) }), dropzoneSubtitle && (jsx(motion.p, { variants: dropzoneChildVariants, className: mergedTheme.dropzoneSubtitleStyle, children: dropzoneSubtitle })), dropzoneTitle && (jsx(motion.div, { variants: dropzoneChildVariants, className: mergedTheme.dropzoneActionsStyle, children: [
524
+ CloudArrowUpIcon,
525
+ MicrophoneIcon,
526
+ PaperClipIcon,
527
+ LinkIcon,
528
+ ].map((Icon, i) => (jsx(motion.div, { variants: dropzoneActionIconVariants, className: "size-8 rounded-full bg-white/30 dark:bg-white/10 flex items-center justify-center", children: jsx(Icon, { className: "size-4 text-[var(--color-primary)]" }) }, i))) }))] })) }), currentAttachments.length > 0 && (jsx("div", { className: "flex flex-wrap gap-2 py-2 px-1", children: currentAttachments.map((attachment) => {
420
529
  var _a;
421
- return (jsxs("div", { className: "relative group rounded-lg border border-[var(--color-border)] bg-white", children: [attachment.type === "image" ? (attachment.isCompressing ? (jsx("div", { className: "size-12 flex items-center justify-center bg-gray-100 rounded-lg", children: jsx("div", { className: "w-4 h-4 border-2 border-gray-300 border-t-[var(--color-primary)] rounded-full animate-spin" }) })) : (jsx("img", { src: attachment.previewUrl, alt: attachment.file.name, className: "size-12 object-cover rounded-lg" }))) : (jsxs("div", { className: "size-12 flex flex-col items-center justify-center text-center p-1 rounded-lg", children: [jsx(DocumentIcon, { className: "w-5 h-5 text-[var(--color-text-muted)]" }), jsx("span", { className: "text-[10px] text-[var(--color-text-secondary)] truncate w-full", children: (_a = attachment.file.name.split(".").pop()) === null || _a === void 0 ? void 0 : _a.toUpperCase() })] })), jsx("button", { onClick: () => removeAttachment(attachment.id), className: "absolute -top-1.5 -right-1.5 size-5 rounded-full bg-[var(--color-danger)] text-white flex items-center justify-center opacity-0 translate-y-1 group-hover:translate-y-0 group-hover:opacity-100 transition-all duration-300 ease-in-out cursor-pointer shadow-md", "aria-label": `Remove ${attachment.file.name}`, children: jsx(XMarkIcon, { className: "size-3", strokeWidth: 3 }) })] }, attachment.id));
422
- }) })), jsxs("div", { className: cn(mergedTheme.footerStyle, footerClassName), children: [jsxs("div", { className: mergedTheme.actionsStyle, children: [showAttachmentButton && (jsxs(Dropdown, { selectionMode: "none", children: [jsx(Dropdown.Trigger, { children: jsx(Button, { iconOnly: true, variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0.5", "aria-label": "Add attachment", disabled: isDisabled, children: jsx(PlusIcon, { className: "size-4", strokeWidth: 2 }) }) }), jsxs(Dropdown.Menu, { children: [jsx(Dropdown.Item, { itemKey: "upload-image", onAction: () => {
423
- // Set accept to images only and trigger file input
424
- if (fileInputRef.current) {
425
- fileInputRef.current.accept = "image/*";
426
- fileInputRef.current.click();
427
- }
428
- onAttachmentClick === null || onAttachmentClick === void 0 ? void 0 : onAttachmentClick();
429
- }, children: "Upload Image" }, "upload-image"), jsx(Dropdown.Item, { itemKey: "add-link", onAction: () => {
430
- // For now, just call the attachment callback
431
- // A link input modal could be added later
432
- onAttachmentClick === null || onAttachmentClick === void 0 ? void 0 : onAttachmentClick();
433
- }, children: "Add Link" }, "add-link"), jsx(Dropdown.Item, { itemKey: "upload-pdf", onAction: () => {
434
- // Set accept to PDF and trigger file input
435
- if (fileInputRef.current) {
436
- fileInputRef.current.accept = "application/pdf,.pdf";
437
- fileInputRef.current.click();
438
- }
439
- onAttachmentClick === null || onAttachmentClick === void 0 ? void 0 : onAttachmentClick();
440
- }, children: "Upload PDF" }, "upload-pdf")] })] })), showSettingsButton && (jsx(Button, { iconOnly: true, variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0.5", onClick: onSettingsClick, "aria-label": "Open settings", disabled: isDisabled, children: jsx(AdjustmentsHorizontalIcon, { className: "size-4 text-[var(--color-text-muted)]", strokeWidth: 2 }) })), showVoiceButton && (jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0", onClick: onVoiceClick, "aria-label": "Voice input", disabled: isDisabled, children: [jsx(MicrophoneIcon, { className: "size-4", strokeWidth: 2 }), " Voice"] })), showModelSelector && (jsxs(Dropdown, { selectionMode: "single", selectedKeys: isModelControlled ? [controlledModel] : internalModel, onSelectionChange: handleModelChange, children: [jsx(Dropdown.Trigger, { children: jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0", "aria-label": "Select AI model", disabled: isDisabled, children: [modelMap[currentModel] || "Select Model", jsx(ChevronDownIcon, { className: "size-3 opacity-80", strokeWidth: 2 })] }) }), jsx(Dropdown.Menu, { children: models.map((model) => (jsxs(Dropdown.Item, { itemKey: model.key, children: [model.icon && (jsx("span", { className: "mr-2", children: model.icon })), model.label] }, model.key))) })] }))] }), jsx("div", { children: jsx(Button, { iconOnly: true, className: cn(mergedTheme.submitButtonStyle), size: "sm", variant: "outline", color: "neutral", onClick: handleSubmit, disabled: !canSubmit, state: isLoading ? "loading" : "default", "aria-label": submitButtonLabel, title: submitShortcut ? `Submit (${submitShortcut})` : undefined, children: submitButtonIcon }) })] })] }), displayHelperText && (jsx("div", { id: helperTextId, className: cn("mt-1 text-xs", isInvalid
530
+ return (jsxs("div", { className: "relative group rounded-lg border border-[var(--color-border)] bg-white", children: [attachment.type === "image" ? (attachment.isCompressing ? (jsx("div", { className: "size-12 flex items-center justify-center bg-gray-100 rounded-lg", children: jsx("div", { className: "w-4 h-4 border-2 border-gray-300 border-t-[var(--color-primary)] rounded-full animate-spin" }) })) : (jsx("img", { src: attachment.previewUrl, alt: attachment.file.name, className: "size-12 object-cover rounded-lg" }))) : (jsxs("div", { className: "size-12 flex flex-col items-center justify-center text-center p-1 rounded-lg", children: [jsx(DocumentIcon, { className: "w-5 h-5 text-[var(--color-text-muted)]" }), jsx("span", { className: "text-[10px] text-[var(--color-text-secondary)] truncate w-full", children: (_a = attachment.file.name.split(".").pop()) === null || _a === void 0 ? void 0 : _a.toUpperCase() })] })), jsx("button", { onClick: () => removeAttachment(attachment.id), className: "absolute -top-1.5 -right-1.5 size-5 rounded-full bg-[var(--color-danger)] text-[var(--color-danger-contrast)] flex items-center justify-center opacity-0 translate-y-1 group-hover:translate-y-0 group-hover:opacity-100 transition-all duration-300 ease-in-out cursor-pointer shadow-md", "aria-label": `Remove ${attachment.file.name}`, children: jsx(XMarkIcon, { className: "size-3", strokeWidth: 3 }) })] }, attachment.id));
531
+ }) })), jsxs("div", { className: cn("flex gap-2", variant === "simple" ? "items-end" : "items-start"), children: [jsx(AnimatePresence, { mode: "wait", initial: false, children: isRecording && enableVoiceRecording ? (jsx(motion.div, { variants: textareaSwapVariants, initial: "initial", animate: "animate", exit: "exit", className: "flex-1 min-w-0", children: jsx("p", { className: "text-center text-sm text-[var(--color-text-placeholder)]", children: placeholder }) }, "voice-recorder")) : (jsx(motion.div, { variants: textareaSwapVariants, initial: "initial", animate: "animate", exit: "exit", className: cn("flex-1 min-w-0", variant === "simple" && "flex items-end"), children: jsx(Textarea, { ref: textareaRef, id: id, unstyled: true, value: currentValue, onChange: handleChange, onKeyDown: handleKeyDown, onPaste: handlePaste, placeholder: placeholder, disabled: isDisabled, maxLength: maxLength, rows: rows, "aria-label": ariaLabel || "Prompt input", "aria-describedby": helperTextId, "aria-invalid": isInvalid, "aria-disabled": isDisabled, className: cn(mergedTheme.textareaStyle, variant === "simple" &&
532
+ "!w-auto flex-1 min-w-0 justify-center", textareaClassName), style: {
533
+ minHeight,
534
+ maxHeight,
535
+ } }) }, "textarea")) }), variant === "simple" &&
536
+ renderSubmitButton("md", "filled", "neutral", "shrink-0")] }), variant !== "simple" && (jsx("div", { className: cn(mergedTheme.footerStyle, footerClassName), children: jsx(AnimatePresence, { mode: "wait", initial: false, children: isRecording && enableVoiceRecording ? (jsx(motion.div, { variants: textareaSwapVariants, initial: "initial", animate: "animate", exit: "exit", className: "w-full", children: jsx(VoiceRecorder, { onComplete: handleRecordingComplete, onCancel: handleRecordingCancel, maxDuration: maxRecordingDuration, className: mergedTheme.voiceRecorderStyle }) }, "recorder-controls")) : (jsxs(motion.div, { variants: textareaSwapVariants, initial: "initial", animate: "animate", exit: "exit", className: "flex justify-between items-end w-full", children: [jsxs("div", { className: mergedTheme.actionsStyle, children: [showAttachmentButton && (jsxs(Dropdown, { selectionMode: "none", children: [jsx(Dropdown.Trigger, { children: jsx(Button, { iconOnly: true, variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0.5", "aria-label": "Add attachment", disabled: isDisabled, children: jsx(PlusIcon, { className: "size-4", strokeWidth: 2 }) }) }), jsxs(Dropdown.Menu, { children: [jsx(Dropdown.Item, { itemKey: "upload-image", onAction: () => {
537
+ // Set accept to images only and trigger file input
538
+ if (fileInputRef.current) {
539
+ fileInputRef.current.accept = "image/*";
540
+ fileInputRef.current.click();
541
+ }
542
+ onAttachmentClick === null || onAttachmentClick === void 0 ? void 0 : onAttachmentClick();
543
+ }, children: "Upload Image" }, "upload-image"), jsx(Dropdown.Item, { itemKey: "add-link", onAction: () => {
544
+ // For now, just call the attachment callback
545
+ // A link input modal could be added later
546
+ onAttachmentClick === null || onAttachmentClick === void 0 ? void 0 : onAttachmentClick();
547
+ }, children: "Add Link" }, "add-link"), jsx(Dropdown.Item, { itemKey: "upload-pdf", onAction: () => {
548
+ // Set accept to PDF and trigger file input
549
+ if (fileInputRef.current) {
550
+ fileInputRef.current.accept =
551
+ "application/pdf,.pdf";
552
+ fileInputRef.current.click();
553
+ }
554
+ onAttachmentClick === null || onAttachmentClick === void 0 ? void 0 : onAttachmentClick();
555
+ }, children: "Upload PDF" }, "upload-pdf")] })] })), showSettingsButton && (jsx(Button, { iconOnly: true, variant: "outline", color: "neutral", size: "sm", className: "rounded-full !border-0.5", onClick: onSettingsClick, "aria-label": "Open settings", disabled: isDisabled, children: jsx(AdjustmentsHorizontalIcon, { className: "size-4 text-[var(--color-text-muted)]", strokeWidth: 2 }) })), showVoiceButton && (jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "bg-transparent rounded-full border-0 font-medium text-[var(--color-text-secondary)]", onClick: handleVoiceClick, "aria-label": "Voice input", disabled: isDisabled || isRecording, children: [jsx(MicrophoneIcon, { className: "size-4", strokeWidth: 2 }), " ", "Voice"] })), showModelSelector && (jsxs(Dropdown, { selectionMode: "single", selectedKeys: isModelControlled
556
+ ? [controlledModel]
557
+ : internalModel, onSelectionChange: handleModelChange, children: [jsx(Dropdown.Trigger, { children: jsxs(Button, { variant: "outline", color: "neutral", size: "sm", className: "bg-transparent rounded-full border-0 font-medium text-[var(--color-text-secondary)]", "aria-label": "Select AI model", disabled: isDisabled, children: [modelMap[currentModel] || "Select Model", jsx(ChevronDownIcon, { className: "size-3 opacity-80", strokeWidth: 2 })] }) }), jsx(Dropdown.Menu, { children: models.map((model) => (jsxs(Dropdown.Item, { itemKey: model.key, children: [model.icon && (jsx("span", { className: "mr-2", children: model.icon })), model.label] }, model.key))) })] }))] }), jsx("div", { children: renderSubmitButton("sm", "outline", "neutral") })] }, "footer-controls")) }) }))] }), displayHelperText && (jsx("div", { id: helperTextId, className: cn("mt-1 text-sm", isInvalid
441
558
  ? "text-[var(--color-danger)]"
442
559
  : "text-[var(--color-text-muted)]"), role: isInvalid ? "alert" : undefined, "aria-live": isInvalid ? "polite" : undefined, children: displayHelperText }))] }));
443
560
  });
@@ -1,9 +1,14 @@
1
1
  const promptInputTheme = {
2
2
  baseStyle: "rounded-[var(--card-radius)] border-[1px] border-[var(--color-border)] flex flex-col gap-2 shadow-real-md p-4 outline-2 outline-[var(--color-border)]/30 bg-white dark:bg-[var(--color-background-secondary)] ",
3
- textareaStyle: "w-full bg-transparent text-sm text-[var(--color-text-primary)] placeholder:text-[var(--color-text-placeholder)] focus:outline-none resize-none overflow-y-auto transition-[height] duration-200 ease-in-out",
3
+ textareaStyle: "w-full bg-transparent text-base text-[var(--color-text-primary)] placeholder:text-[var(--color-text-placeholder)] focus:outline-none resize-none overflow-y-auto transition-[height] duration-200 ease-in-out",
4
4
  footerStyle: "flex justify-between items-end",
5
5
  actionsStyle: "flex gap-1",
6
6
  submitButtonStyle: "rounded-full",
7
+ dropzoneStyle: "absolute inset-0 z-20 flex flex-col items-center justify-center gap-3 rounded-[var(--card-radius)] border-2 border-dashed border-[var(--color-primary)] bg-[var(--color-primary-200)]/80 backdrop-blur-sm dark:bg-[var(--color-primary-900)]/80",
8
+ dropzoneTitleStyle: "text-base font-medium text-[var(--color-primary)]",
9
+ dropzoneSubtitleStyle: "text-sm text-[var(--color-primary)]/70",
10
+ dropzoneActionsStyle: "flex items-center gap-3 mt-1",
11
+ voiceRecorderStyle: "",
7
12
  states: {
8
13
  default: "",
9
14
  disabled: "opacity-50 cursor-not-allowed",