@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
@@ -4,44 +4,78 @@ import { cn } from '../../../utils/cn.js';
4
4
  import { formatTimestamp } from '../../../utils/dateUtils.js';
5
5
  import { messageTheme } from './Message.theme.js';
6
6
  import { Avatar } from '../Avatar/Avatar.js';
7
+ import { Button } from '../Button/Button.js';
7
8
  import { motion } from 'motion/react';
8
9
  import { DocumentDuplicateIcon, ArrowPathIcon } from '@heroicons/react/24/outline';
9
10
  import { MessageContext } from './MessageContext.js';
10
11
  import { MessageAvatar } from './MessageAvatar.js';
11
- import { MessageContent } from './MessageContent.js';
12
+ import { MessageBody } from './MessageBody.js';
12
13
  import { MessageActions } from './MessageActions.js';
13
14
  import { MessageTimestamp } from './MessageTimestamp.js';
15
+ import { MessageList } from './MessageList.js';
14
16
  import { TypeWriter } from './TypeWriter.js';
17
+ import { MessageStatusIndicator } from './MessageStatusIndicator.js';
18
+ import { MessageSenderName } from './MessageSenderName.js';
19
+ import { MessageFile } from './MessageFile.js';
20
+ import { MessageImage } from './MessageImage.js';
21
+ import { MessageAudio } from './MessageAudio.js';
22
+ import { MessageLink } from './MessageLink.js';
23
+ import { MessageReply } from './MessageReply.js';
24
+ import { MessageReactions } from './MessageReactions.js';
25
+ import { MessageDateDivider } from './MessageDateDivider.js';
15
26
 
16
27
  const MessageFooter = ({ isStreaming, streamingIndicator, showTimestamp, timestamp, actions, timestampStyle, streamingIndicatorStyle, actionsContainerStyle, variant, }) => {
17
28
  if (isStreaming) {
18
- return (jsx("div", { className: cn('flex flex-row items-center gap-3 mt-1', variant === 'receiver' ? 'ml-2' : 'mr-3'), children: jsx("div", { className: cn(timestampStyle, streamingIndicatorStyle), children: streamingIndicator || (jsxs(Fragment, { children: [jsx("span", { children: "Typing" }), jsx(motion.span, { animate: { opacity: [0.4, 1, 0.4] }, transition: {
29
+ return (jsx("div", { className: cn("flex flex-row items-center gap-3 mt-1", variant === "receiver" ? "ml-2" : "mr-3"), children: jsx("div", { className: cn(timestampStyle, streamingIndicatorStyle), children: streamingIndicator || (jsxs(Fragment, { children: [jsx("span", { children: "Typing" }), jsx(motion.span, { animate: { opacity: [0.4, 1, 0.4] }, transition: {
19
30
  duration: 1.5,
20
31
  repeat: Infinity,
21
- ease: 'easeInOut',
32
+ ease: "easeInOut",
22
33
  }, children: "\u2022\u2022\u2022" })] })) }) }));
23
34
  }
24
35
  // For system variant, only show timestamp (no actions)
25
- if (variant === 'system') {
26
- return showTimestamp && timestamp ? (jsx("div", { className: timestampStyle, children: jsx("time", { dateTime: typeof timestamp === 'string' ? timestamp : timestamp.toISOString(), className: "select-none", children: formatTimestamp(timestamp) }) })) : null;
36
+ if (variant === "system") {
37
+ return showTimestamp && timestamp ? (jsx("div", { className: timestampStyle, children: jsx("time", { dateTime: typeof timestamp === "string" ? timestamp : timestamp.toISOString(), className: "select-none", children: formatTimestamp(timestamp) }) })) : null;
27
38
  }
28
39
  // For sender/receiver variants, show timestamp and actions in a row
29
- return (jsxs("div", { className: cn(`flex flex-row items-center gap-3 mt-2`, variant === 'receiver' ? 'ml-2' : 'mr-3'), children: [showTimestamp && timestamp && (jsx("div", { className: timestampStyle, children: jsx("time", { dateTime: typeof timestamp === 'string'
40
+ return (jsxs("div", { className: cn(`flex flex-row items-center gap-3 mt-3`, variant === "receiver" ? "-ml-0" : "mr-3"), children: [showTimestamp && timestamp && (jsx("div", { className: timestampStyle, children: jsx("time", { dateTime: typeof timestamp === "string"
30
41
  ? timestamp
31
42
  : timestamp.toISOString(), className: "select-none", children: formatTimestamp(timestamp) }) })), actions && jsx("div", { className: cn(actionsContainerStyle), children: actions })] }));
32
43
  };
33
- const MessageRoot = React__default.forwardRef(({ role, variant: variantProp, content, message, // Deprecated alias
34
- timestamp, avatar, showTimestamp = true, isStreaming = false, streamingIndicator, typingSpeed = 100, actions, onCopy, onRegenerate, showActions, className, theme: customTheme = {}, children, ...props }, ref) => {
44
+ /**
45
+ * Renders attachment sub-components based on attachment type
46
+ */
47
+ const AttachmentsList = ({ attachments, containerClassName }) => {
48
+ return (jsx("div", { className: cn(messageTheme.attachmentContainerStyle, containerClassName), children: attachments.map((attachment, index) => {
49
+ switch (attachment.type) {
50
+ case "file":
51
+ return (jsx(MessageFile, { name: attachment.name, url: attachment.url, size: attachment.size }, index));
52
+ case "image":
53
+ return (jsx(MessageImage, { src: attachment.url, thumbnailUrl: attachment.thumbnailUrl, name: attachment.name, size: attachment.size }, index));
54
+ case "audio":
55
+ return (jsx(MessageAudio, { name: attachment.name, duration: attachment.duration }, index));
56
+ case "link":
57
+ return (jsx(MessageLink, { url: attachment.url, thumbnailUrl: attachment.thumbnailUrl, title: attachment.name, description: attachment.description, domain: attachment.domain }, index));
58
+ default:
59
+ return null;
60
+ }
61
+ }) }));
62
+ };
63
+ const MessageRoot = React__default.forwardRef(({ role, variant: variantProp, content, timestamp, avatar, showTimestamp = false, isStreaming = false, streamingIndicator, typingSpeed = 100, actions, onCopy, onRegenerate, showActions, status, readAt, onRetry, attachments, reactions, onReactionClick, replyTo, sender, isGrouped, className, theme: customTheme = {}, children, ...props }, ref) => {
35
64
  var _a, _b, _c, _d, _e, _f, _g, _h;
36
65
  // Determine the variant: role takes precedence over variant prop
37
66
  let variant;
38
67
  if (role) {
39
68
  // Map role to variant
40
- variant = role === 'user' ? 'sender' : role === 'assistant' ? 'receiver' : 'system';
69
+ variant =
70
+ role === "user"
71
+ ? "sender"
72
+ : role === "assistant"
73
+ ? "receiver"
74
+ : "system";
41
75
  }
42
76
  else {
43
77
  // Use variant prop or default
44
- variant = variantProp || 'receiver';
78
+ variant = variantProp || "receiver";
45
79
  }
46
80
  // Detect if using compound API (has children)
47
81
  const isCompoundAPI = !!children;
@@ -51,12 +85,13 @@ timestamp, avatar, showTimestamp = true, isStreaming = false, streamingIndicator
51
85
  variant,
52
86
  isStreaming,
53
87
  typingSpeed,
54
- }), [role, variant, isStreaming, typingSpeed]);
55
- // Resolve content (support deprecated 'message' prop)
56
- const messageContent = content !== null && content !== void 0 ? content : message;
88
+ status,
89
+ isGrouped,
90
+ }), [role, variant, isStreaming, typingSpeed, status, isGrouped]);
91
+ const messageContent = content;
57
92
  // Determine if we should show default actions
58
93
  const shouldShowDefaultActions = showActions !== false &&
59
- (variant === 'receiver' || role === 'assistant') &&
94
+ (variant === "receiver" || role === "assistant") &&
60
95
  (onCopy || onRegenerate);
61
96
  if (isCompoundAPI) {
62
97
  // Compound API - Render with context
@@ -64,8 +99,8 @@ timestamp, avatar, showTimestamp = true, isStreaming = false, streamingIndicator
64
99
  // Build container style
65
100
  const containerStyle = cn(messageTheme.containerBaseStyle, variantTheme.containerModifier, customTheme.containerBaseStyle, (_b = (_a = customTheme.variants) === null || _a === void 0 ? void 0 : _a[variant]) === null || _b === void 0 ? void 0 : _b.containerModifier,
66
101
  // Backward compatibility
67
- variant === 'sender' && customTheme.senderContainerStyle, variant === 'receiver' && customTheme.receiverContainerStyle, variant === 'system' && customTheme.systemContainerStyle);
68
- return (jsx(MessageContext.Provider, { value: contextValue, children: jsx("div", { ref: ref, className: cn('w-full max-w-full group', className), "data-variant": variant, "data-role": role, ...props, children: jsx("div", { className: containerStyle, children: children }) }) }));
102
+ variant === "sender" && customTheme.senderContainerStyle, variant === "receiver" && customTheme.receiverContainerStyle, variant === "system" && customTheme.systemContainerStyle);
103
+ return (jsx(MessageContext.Provider, { value: contextValue, children: jsx("div", { ref: ref, className: cn("w-full max-w-full group", className), "data-variant": variant, "data-role": role, ...props, children: jsx("div", { className: containerStyle, children: children }) }) }));
69
104
  }
70
105
  // Props API - Render inline
71
106
  // Get variant-specific theme
@@ -73,37 +108,49 @@ timestamp, avatar, showTimestamp = true, isStreaming = false, streamingIndicator
73
108
  // Build container styles
74
109
  const containerStyle = cn(messageTheme.containerBaseStyle, variantTheme.containerModifier, customTheme.containerBaseStyle, (_d = (_c = customTheme.variants) === null || _c === void 0 ? void 0 : _c[variant]) === null || _d === void 0 ? void 0 : _d.containerModifier,
75
110
  // Backward compatibility
76
- variant === 'sender' && customTheme.senderContainerStyle, variant === 'receiver' && customTheme.receiverContainerStyle, variant === 'system' && customTheme.systemContainerStyle);
111
+ variant === "sender" && customTheme.senderContainerStyle, variant === "receiver" && customTheme.receiverContainerStyle, variant === "system" && customTheme.systemContainerStyle);
77
112
  // Build bubble styles
78
113
  const bubbleStyle = cn(messageTheme.bubbleBaseStyle, variantTheme.bubbleStyle, customTheme.bubbleBaseStyle, (_f = (_e = customTheme.variants) === null || _e === void 0 ? void 0 : _e[variant]) === null || _f === void 0 ? void 0 : _f.bubbleStyle,
79
114
  // Backward compatibility
80
- variant === 'sender' && customTheme.senderBubbleStyle, variant === 'receiver' && customTheme.receiverBubbleStyle, variant === 'system' && customTheme.systemBubbleStyle);
115
+ variant === "sender" && customTheme.senderBubbleStyle, variant === "receiver" && customTheme.receiverBubbleStyle, variant === "system" && customTheme.systemBubbleStyle);
81
116
  // Build timestamp styles
82
117
  const timestampStyle = cn(messageTheme.timestampStyle, variantTheme.timestampModifier, customTheme.timestampStyle, (_h = (_g = customTheme.variants) === null || _g === void 0 ? void 0 : _g[variant]) === null || _h === void 0 ? void 0 : _h.timestampModifier,
83
118
  // Backward compatibility
84
- variant === 'sender' && customTheme.senderTimestampStyle, variant === 'receiver' && customTheme.receiverTimestampStyle, variant === 'system' && customTheme.systemTimestampStyle);
119
+ variant === "sender" && customTheme.senderTimestampStyle, variant === "receiver" && customTheme.receiverTimestampStyle, variant === "system" && customTheme.systemTimestampStyle);
85
120
  // Build default action buttons if needed
86
- const defaultActionButtons = shouldShowDefaultActions ? (jsxs("div", { className: cn(messageTheme.actionsContainerStyle, customTheme.actionsContainerStyle), children: [onCopy && (jsx("button", { onClick: onCopy, className: cn(messageTheme.actionButtonStyle, customTheme.actionButtonStyle), "aria-label": "Copy message", children: jsx(DocumentDuplicateIcon, { className: "w-4 h-4" }) })), onRegenerate && (jsx("button", { onClick: onRegenerate, className: cn(messageTheme.actionButtonStyle, customTheme.actionButtonStyle), "aria-label": "Regenerate response", children: jsx(ArrowPathIcon, { className: "w-4 h-4" }) }))] })) : undefined;
121
+ const defaultActionButtons = shouldShowDefaultActions ? (jsxs("div", { className: cn(messageTheme.actionsContainerStyle, customTheme.actionsContainerStyle), children: [onCopy && (jsx(Button, { variant: "link", color: "neutral", size: "sm", onClick: onCopy, "aria-label": "Copy message", className: "opacity-40 hover:opacity-100", children: jsx(DocumentDuplicateIcon, { className: "size-4" }) })), onRegenerate && (jsx(Button, { variant: "link", color: "neutral", size: "sm", onClick: onRegenerate, "aria-label": "Regenerate response", className: "opacity-40 hover:opacity-100", children: jsx(ArrowPathIcon, { className: "size-4" }) }))] })) : undefined;
87
122
  // Use custom actions if provided, otherwise use default actions
88
123
  const finalActions = actions !== null && actions !== void 0 ? actions : defaultActionButtons;
89
124
  // Use TypeWriter for streaming receiver/assistant messages with string content (props API)
90
- const shouldAnimate = (variant === 'receiver' || role === 'assistant') &&
125
+ const shouldAnimate = (variant === "receiver" || role === "assistant") &&
91
126
  isStreaming &&
92
- typeof messageContent === 'string';
127
+ typeof messageContent === "string";
93
128
  const renderedContent = shouldAnimate ? (jsx(TypeWriter, { text: messageContent, speed: typingSpeed, enabled: true, className: "break-words" })) : (messageContent);
94
129
  // System messages render differently (centered, no avatar)
95
- if (variant === 'system') {
96
- return (jsx("div", { ref: ref, className: cn('w-full max-w-full', className), "data-variant": "system", "data-role": role, ...props, children: jsxs("div", { className: containerStyle, children: [jsx("div", { className: bubbleStyle, children: typeof renderedContent === 'string' ? (jsx("p", { className: "text-sm", children: renderedContent })) : (renderedContent) }), jsx(MessageFooter, { isStreaming: isStreaming, streamingIndicator: streamingIndicator, showTimestamp: showTimestamp, timestamp: timestamp, actions: undefined, timestampStyle: timestampStyle, streamingIndicatorStyle: cn(messageTheme.streamingIndicatorStyle, customTheme.streamingIndicatorStyle), actionsContainerStyle: undefined, variant: "system" })] }) }));
130
+ if (variant === "system") {
131
+ return (jsx("div", { ref: ref, className: cn("w-full max-w-full", className), "data-variant": "system", "data-role": role, ...props, children: jsxs("div", { className: containerStyle, children: [jsx("div", { className: bubbleStyle, children: typeof renderedContent === "string" ? (jsx("p", { className: "text-base", children: renderedContent })) : (renderedContent) }), jsx(MessageFooter, { isStreaming: isStreaming, streamingIndicator: streamingIndicator, showTimestamp: showTimestamp, timestamp: timestamp, actions: undefined, timestampStyle: timestampStyle, streamingIndicatorStyle: cn(messageTheme.streamingIndicatorStyle, customTheme.streamingIndicatorStyle), actionsContainerStyle: undefined, variant: "system" })] }) }));
97
132
  }
98
- return (jsx("div", { ref: ref, className: cn('w-full max-w-full group', className), "data-variant": variant, "data-role": role, ...props, children: jsxs("div", { className: containerStyle, children: [avatar && (jsx("div", { className: "flex-shrink-0", children: jsx(Avatar, { src: avatar.src, alt: avatar.alt, fallback: avatar.fallback, size: "xs" }) })), jsxs("div", { className: cn('flex flex-col', variant === 'sender' ? 'items-end' : 'items-start'), children: [jsx("div", { className: bubbleStyle, children: typeof renderedContent === 'string' ? (jsx("p", { className: "break-words", children: renderedContent })) : (renderedContent) }), jsx(MessageFooter, { isStreaming: isStreaming, streamingIndicator: streamingIndicator, showTimestamp: showTimestamp, timestamp: timestamp, actions: finalActions, timestampStyle: timestampStyle, streamingIndicatorStyle: cn(messageTheme.streamingIndicatorStyle, customTheme.streamingIndicatorStyle), actionsContainerStyle: cn(messageTheme.actionsContainerStyle, customTheme.actionsContainerStyle), variant: variant })] })] }) }));
133
+ const showAvatar = avatar && !isGrouped;
134
+ const showSenderName = (sender === null || sender === void 0 ? void 0 : sender.name) && variant === "receiver" && !isGrouped;
135
+ return (jsxs("div", { ref: ref, className: cn("w-full max-w-full group", className), "data-variant": variant, "data-role": role, ...props, children: [jsxs("div", { className: containerStyle, children: [showAvatar ? (jsx("div", { className: "flex-shrink-0", children: jsx(Avatar, { src: avatar.src, name: avatar.name, fallback: avatar.fallback, size: "xs" }) })) : isGrouped && avatar ? (jsx("div", { className: "flex-shrink-0 size-8" })) : null, jsxs("div", { className: cn("flex flex-col", variant === "sender" ? "items-end" : "items-start"), children: [showSenderName && jsx(MessageSenderName, { name: sender.name }), jsxs("div", { className: bubbleStyle, children: [replyTo && (jsx(MessageReply, { name: replyTo.name, content: replyTo.content, avatar: replyTo.avatar })), typeof renderedContent === "string" ? (jsx("p", { className: "break-words", children: renderedContent })) : (renderedContent), attachments && attachments.length > 0 && (jsx(AttachmentsList, { attachments: attachments, containerClassName: customTheme.attachmentContainerStyle }))] }), jsx(MessageFooter, { isStreaming: isStreaming, streamingIndicator: streamingIndicator, showTimestamp: showTimestamp, timestamp: timestamp, actions: finalActions, timestampStyle: timestampStyle, streamingIndicatorStyle: cn(messageTheme.streamingIndicatorStyle, customTheme.streamingIndicatorStyle), actionsContainerStyle: cn(messageTheme.actionsContainerStyle, customTheme.actionsContainerStyle), variant: variant }), status && variant === "sender" && (jsx(MessageStatusIndicator, { status: status, readAt: readAt, onRetry: onRetry, className: cn(variant === "sender" ? "self-end mr-1" : "self-start ml-1", customTheme.statusStyle) }))] })] }), reactions && reactions.length > 0 && (jsx("div", { className: cn("mt-0.5", avatar && !isGrouped ? "ml-11" : "", variant === "sender" ? "flex justify-end mr-1" : ""), children: jsx(MessageReactions, { reactions: reactions, onReactionClick: onReactionClick, className: customTheme.reactionsContainerStyle }) }))] }));
99
136
  });
100
- MessageRoot.displayName = 'Message';
137
+ MessageRoot.displayName = "Message";
101
138
  // Attach compound components
102
139
  const Message = Object.assign(MessageRoot, {
103
140
  Avatar: MessageAvatar,
104
- Content: MessageContent,
141
+ Body: MessageBody,
105
142
  Actions: MessageActions,
106
143
  Timestamp: MessageTimestamp,
144
+ List: MessageList,
145
+ Status: MessageStatusIndicator,
146
+ SenderName: MessageSenderName,
147
+ File: MessageFile,
148
+ Image: MessageImage,
149
+ Audio: MessageAudio,
150
+ Link: MessageLink,
151
+ Reply: MessageReply,
152
+ Reactions: MessageReactions,
153
+ DateDivider: MessageDateDivider,
107
154
  });
108
155
 
109
156
  export { Message };
@@ -1,4 +1,4 @@
1
- import { MessageTheme } from './Message.types';
1
+ import { MessageTheme } from "./Message.types";
2
2
  /**
3
3
  * Unified Message theme with shared base styles + variant-specific modifiers
4
4
  * Based on ChatMessage theme with additional action button styles
@@ -4,43 +4,63 @@
4
4
  */
5
5
  const messageTheme = {
6
6
  // Shared base styles (apply to all variants)
7
- bubbleBaseStyle: 'max-w-[80%] sm:max-w-[90%] rounded-[calc(var(--radius-base)*1.5)] px-3 py-2 w-fit min-w-fit border-t-[0.5px] ring-1 h-fit',
8
- containerBaseStyle: 'flex items-start gap-3 h-fit text-sm',
9
- timestampStyle: 'text-xs text-[var(--color-text-placeholder)] dark:text-[var(--color-neutral-500)]',
7
+ bubbleBaseStyle: "max-w-[80%] sm:max-w-[85%] rounded-[calc(var(--radius-base)*1.5)] px-3 py-2 w-fit min-w-fit h-fit",
8
+ containerBaseStyle: "flex items-start gap-3 h-fit text-base",
9
+ timestampStyle: "text-xs text-[var(--color-text-placeholder)] dark:text-[var(--color-neutral-500)]",
10
10
  // Variant-specific modifiers (only differences)
11
11
  variants: {
12
12
  sender: {
13
- containerModifier: 'flex-row-reverse', // Reverse direction for right alignment
14
- bubbleStyle: 'bg-gradient-to-br from-[var(--color-primary)] to-[var(--color-primary-700)] text-white ' +
15
- 'rounded-tr-xs ring-[var(--color-primary-700)] border-t-1 border-[var(--color-primary-400)] ' +
13
+ containerModifier: "flex-row-reverse", // Reverse direction for right alignment
14
+ bubbleStyle: "bg-[var(--color-neutral-900)] text-[var(--color-neutral-100)] " +
15
+ "rounded-tr-xs " +
16
16
  // Dark mode - slightly darker gradient for better contrast
17
- 'dark:from-[var(--color-primary-600)] dark:to-[var(--color-primary-800)] dark:ring-[var(--color-primary-800)] dark:border-[var(--color-primary-400)]',
18
- timestampModifier: 'text-right pr-1',
17
+ " ",
18
+ timestampModifier: "text-right pr-1",
19
19
  },
20
20
  receiver: {
21
- containerModifier: '', // Default direction (no modifier needed)
22
- bubbleStyle: 'bg-[var(--color-neutral-100)] text-[var(--color-text-primary)] rounded-tl-xs ' +
23
- 'shadow-black/10 ring-neutral-100 border-[var(--chat-bubble-border-receiver)] ' +
21
+ containerModifier: "", // Default direction (no modifier needed)
22
+ bubbleStyle: " text-[var(--color-text-secondary)] rounded-tl-xs py-0 px-0 " +
23
+ " " +
24
24
  // Dark mode - dark background with lighter text
25
- 'dark:bg-[var(--color-neutral-900)] ' +
26
- 'dark:ring-[var(--color-neutral-800)] dark:border-[var(--color-neutral-700)] dark:border-neutral-500',
27
- timestampModifier: 'text-left pl-1',
25
+ " " +
26
+ "",
27
+ timestampModifier: "text-left pl-1",
28
28
  },
29
29
  system: {
30
- containerModifier: 'justify-center', // Center alignment
31
- bubbleStyle: 'bg-[var(--color-neutral-100)] text-[var(--color-text-secondary)] rounded-[calc(var(--radius-base)*0.75)] px-2 py-1 ' +
32
- 'text-sm font-medium border-none ' +
30
+ containerModifier: "justify-center", // Center alignment
31
+ bubbleStyle: "bg-[var(--color-background)] text-[var(--color-text-muted)]/80 rounded-[calc(var(--radius-base)*0.75)] px-1 py-0.5 " +
32
+ "text-sm border-none " +
33
33
  // Dark mode
34
- 'dark:bg-[var(--color-neutral-800)] dark:text-[var(--color-neutral-400)]',
35
- timestampModifier: 'text-center',
34
+ "",
35
+ timestampModifier: "text-center",
36
36
  },
37
37
  },
38
38
  // Feature styles (streaming, actions)
39
- streamingIndicatorStyle: 'flex items-center gap-1 text-[var(--color-text-placeholder)] text-xs ' +
40
- 'dark:text-[var(--color-neutral-500)]',
41
- actionsContainerStyle: 'flex items-start gap-2',
42
- actionButtonStyle: 'text-[var(--color-text-placeholder)] hover:text-[var(--color-text-primary)] ' +
43
- 'transition-colors cursor-pointer dark:text-[var(--color-neutral-500)] dark:hover:text-[var(--color-neutral-300)]',
39
+ streamingIndicatorStyle: "flex items-center gap-1 text-[var(--color-text-placeholder)] text-sm " +
40
+ "dark:text-[var(--color-neutral-500)]",
41
+ actionsContainerStyle: "flex items-start gap-3",
42
+ // Status styles
43
+ statusStyle: "flex items-center gap-1 text-xs mt-1",
44
+ statusSending: "text-[var(--color-text-placeholder)] animate-pulse",
45
+ statusSent: "text-[var(--color-text-placeholder)]",
46
+ statusDelivered: "text-[var(--color-text-placeholder)]",
47
+ statusRead: "text-[var(--color-primary)]",
48
+ statusFailed: "text-[var(--color-danger)]",
49
+ // Attachment styles
50
+ attachmentContainerStyle: "flex flex-col gap-2 mt-2",
51
+ fileStyle: "flex items-center gap-3 rounded-lg border border-[var(--color-border)] bg-[var(--color-background-secondary)] px-3 py-2.5 text-sm",
52
+ imageStyle: "rounded-lg overflow-hidden max-w-xs",
53
+ audioStyle: "flex items-center gap-3 rounded-lg border border-[var(--color-border)] bg-[var(--color-background-secondary)] px-3 py-2.5 text-sm",
54
+ linkStyle: "flex flex-col rounded-lg border border-[var(--color-border)] overflow-hidden text-sm max-w-xs",
55
+ // Reactions styles
56
+ reactionsContainerStyle: "flex flex-wrap items-center gap-1.5 mt-1.5",
57
+ reactionPillStyle: "inline-flex items-center gap-1 rounded-full border border-[var(--color-border)] bg-[var(--color-background-secondary)] px-2 py-0.5 text-xs cursor-pointer transition-colors hover:bg-[var(--color-background-tertiary)]",
58
+ reactionPillActiveStyle: "border-[var(--color-primary-200)] bg-[var(--color-primary-50)] text-[var(--color-primary)]",
59
+ // Reply/quote styles
60
+ replyStyle: "border-l-2 border-[var(--color-border)] pl-2.5 mb-2 text-xs text-[var(--color-text-muted)]",
61
+ // Grouping styles
62
+ dateDividerStyle: "flex items-center gap-3 text-xs text-[var(--color-text-muted)] select-none",
63
+ senderNameStyle: "text-xs font-medium text-[var(--color-text-secondary)] mb-1 pl-1",
44
64
  };
45
65
 
46
66
  export { messageTheme };
@@ -1,12 +1,56 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from "react";
2
2
  /**
3
3
  * Message role types for AI conversations
4
4
  */
5
- export type MessageRole = 'user' | 'assistant' | 'system';
5
+ export type MessageRole = "user" | "assistant" | "system";
6
6
  /**
7
7
  * Message variant types for chat UI
8
8
  */
9
- export type MessageVariant = 'sender' | 'receiver' | 'system';
9
+ export type MessageVariant = "sender" | "receiver" | "system";
10
+ /**
11
+ * Message delivery status
12
+ */
13
+ export type MessageStatus = "sending" | "sent" | "delivered" | "read" | "failed";
14
+ /**
15
+ * Attachment types
16
+ */
17
+ export type MessageAttachmentType = "file" | "image" | "audio" | "link";
18
+ /**
19
+ * Attachment data
20
+ */
21
+ export interface MessageAttachment {
22
+ type: MessageAttachmentType;
23
+ name?: string;
24
+ url?: string;
25
+ size?: string;
26
+ duration?: string;
27
+ thumbnailUrl?: string;
28
+ description?: string;
29
+ domain?: string;
30
+ }
31
+ /**
32
+ * Reaction data
33
+ */
34
+ export interface MessageReaction {
35
+ emoji: string;
36
+ count: number;
37
+ reacted?: boolean;
38
+ }
39
+ /**
40
+ * Reply/quote reference
41
+ */
42
+ export interface MessageReplyTo {
43
+ name: string;
44
+ content: string;
45
+ avatar?: string;
46
+ }
47
+ /**
48
+ * Sender display info
49
+ */
50
+ export interface MessageSenderInfo {
51
+ name: string;
52
+ avatar?: string;
53
+ }
10
54
  /**
11
55
  * Avatar configuration for message sender
12
56
  */
@@ -16,9 +60,9 @@ export interface MessageAvatarProps {
16
60
  */
17
61
  src?: string;
18
62
  /**
19
- * Alternative text for the avatar image
63
+ * The name for the avatar (used for initials and alt text)
20
64
  */
21
- alt: string;
65
+ name: string;
22
66
  /**
23
67
  * Fallback content to display when image fails to load
24
68
  */
@@ -28,7 +72,7 @@ export interface MessageAvatarProps {
28
72
  * Message component props
29
73
  * Supports both props-based API and compound component API
30
74
  */
31
- export interface MessageProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {
75
+ export interface MessageProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {
32
76
  /**
33
77
  * The role of the message sender (AI semantic naming)
34
78
  * Takes precedence over variant if both are provided
@@ -47,14 +91,9 @@ export interface MessageProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
47
91
  variant?: MessageVariant;
48
92
  /**
49
93
  * The message content (supports rich content, markdown, etc.)
50
- * Note: Optional when using compound API with Message.Content
94
+ * Note: Optional when using compound API with Message.Body
51
95
  */
52
96
  content?: ReactNode;
53
- /**
54
- * Deprecated alias for content (for backward compatibility)
55
- * @deprecated Use content instead
56
- */
57
- message?: ReactNode;
58
97
  /**
59
98
  * The timestamp of the message
60
99
  */
@@ -104,6 +143,43 @@ export interface MessageProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
104
143
  * @default true for assistant messages
105
144
  */
106
145
  showActions?: boolean;
146
+ /**
147
+ * Delivery status indicator (sending/sent/delivered/read/failed)
148
+ * Only renders for sender variant
149
+ */
150
+ status?: MessageStatus;
151
+ /**
152
+ * Timestamp when the message was read (shown alongside read status)
153
+ */
154
+ readAt?: Date | string;
155
+ /**
156
+ * Callback when retry button is clicked on failed messages
157
+ */
158
+ onRetry?: () => void;
159
+ /**
160
+ * File, image, audio, or link attachments
161
+ */
162
+ attachments?: MessageAttachment[];
163
+ /**
164
+ * Emoji reactions displayed below the message
165
+ */
166
+ reactions?: MessageReaction[];
167
+ /**
168
+ * Callback when a reaction pill is clicked
169
+ */
170
+ onReactionClick?: (emoji: string) => void;
171
+ /**
172
+ * Reply/quote reference shown above message content
173
+ */
174
+ replyTo?: MessageReplyTo;
175
+ /**
176
+ * Sender display info (name shown above receiver bubbles)
177
+ */
178
+ sender?: MessageSenderInfo;
179
+ /**
180
+ * Whether this is a consecutive message from the same sender (hides avatar & name)
181
+ */
182
+ isGrouped?: boolean;
107
183
  /**
108
184
  * Custom theme overrides
109
185
  */
@@ -131,7 +207,23 @@ export interface MessageTheme {
131
207
  };
132
208
  streamingIndicatorStyle: string;
133
209
  actionsContainerStyle: string;
134
- actionButtonStyle: string;
210
+ statusStyle: string;
211
+ statusSending: string;
212
+ statusSent: string;
213
+ statusDelivered: string;
214
+ statusRead: string;
215
+ statusFailed: string;
216
+ attachmentContainerStyle: string;
217
+ fileStyle: string;
218
+ imageStyle: string;
219
+ audioStyle: string;
220
+ linkStyle: string;
221
+ reactionsContainerStyle: string;
222
+ reactionPillStyle: string;
223
+ reactionPillActiveStyle: string;
224
+ replyStyle: string;
225
+ dateDividerStyle: string;
226
+ senderNameStyle: string;
135
227
  }
136
228
  /**
137
229
  * Theme overrides for Message component
@@ -147,7 +239,23 @@ export interface MessageThemeOverrides {
147
239
  };
148
240
  streamingIndicatorStyle?: string;
149
241
  actionsContainerStyle?: string;
150
- actionButtonStyle?: string;
242
+ statusStyle?: string;
243
+ statusSending?: string;
244
+ statusSent?: string;
245
+ statusDelivered?: string;
246
+ statusRead?: string;
247
+ statusFailed?: string;
248
+ attachmentContainerStyle?: string;
249
+ fileStyle?: string;
250
+ imageStyle?: string;
251
+ audioStyle?: string;
252
+ linkStyle?: string;
253
+ reactionsContainerStyle?: string;
254
+ reactionPillStyle?: string;
255
+ reactionPillActiveStyle?: string;
256
+ replyStyle?: string;
257
+ dateDividerStyle?: string;
258
+ senderNameStyle?: string;
151
259
  /** @deprecated Use variants.sender.containerModifier instead */
152
260
  senderContainerStyle?: string;
153
261
  /** @deprecated Use variants.sender.bubbleStyle instead */
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export interface MessageAudioProps {
3
+ duration?: string;
4
+ name?: string;
5
+ onClick?: () => void;
6
+ className?: string;
7
+ }
8
+ export declare const MessageAudio: React.FC<MessageAudioProps>;
@@ -0,0 +1,11 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { cn } from '../../../utils/cn.js';
3
+ import 'react';
4
+ import { messageTheme } from './Message.theme.js';
5
+ import { PlayIcon } from '@heroicons/react/24/solid';
6
+
7
+ const MessageAudio = ({ duration, name, onClick, className, }) => {
8
+ return (jsxs("div", { className: cn(messageTheme.audioStyle, className), children: [jsx("button", { onClick: onClick, className: "flex items-center justify-center size-8 rounded-full bg-[var(--color-primary)] text-white flex-shrink-0 cursor-pointer", "aria-label": name ? `Play ${name}` : "Play audio", type: "button", children: jsx(PlayIcon, { className: "size-4 ml-0.5" }) }), jsxs("div", { className: "flex flex-col min-w-0 flex-1", children: [name && (jsx("span", { className: "font-medium text-[var(--color-text-primary)] truncate", children: name })), duration && (jsx("span", { className: "text-xs text-[var(--color-text-muted)]", children: duration }))] })] }));
9
+ };
10
+
11
+ export { MessageAudio };
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import React from "react";
2
2
  export interface MessageAvatarComponentProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  /**
4
4
  * The source URL for the avatar image
5
5
  */
6
6
  src?: string;
7
7
  /**
8
- * The name or alt text for the avatar
8
+ * The name for the avatar
9
9
  */
10
10
  name: string;
11
11
  /**
@@ -6,11 +6,11 @@ import { useMessageContext } from './MessageContext.js';
6
6
  const MessageAvatar = React__default.forwardRef(({ src, name, fallback, className, ...props }, ref) => {
7
7
  const { variant } = useMessageContext();
8
8
  // Don't render avatar for system messages
9
- if (variant === 'system') {
9
+ if (variant === "system") {
10
10
  return null;
11
11
  }
12
- return (jsx("div", { ref: ref, className: className, ...props, children: jsx(Avatar, { src: src, alt: name, fallback: fallback, size: "xs" }) }));
12
+ return (jsx("div", { ref: ref, className: className, ...props, children: jsx(Avatar, { src: src, name: name, fallback: fallback, size: "xs" }) }));
13
13
  });
14
- MessageAvatar.displayName = 'Message.Avatar';
14
+ MessageAvatar.displayName = "Message.Avatar";
15
15
 
16
16
  export { MessageAvatar };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export interface MessageBodyProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * The message content
5
+ */
6
+ children: React.ReactNode;
7
+ }
8
+ export declare const MessageBody: React.ForwardRefExoticComponent<MessageBodyProps & React.RefAttributes<HTMLDivElement>>;
@@ -5,7 +5,7 @@ import { useMessageContext } from './MessageContext.js';
5
5
  import { messageTheme } from './Message.theme.js';
6
6
  import { TypeWriter } from './TypeWriter.js';
7
7
 
8
- const MessageContent = React__default.forwardRef(({ children, className, ...props }, ref) => {
8
+ const MessageBody = React__default.forwardRef(({ children, className, ...props }, ref) => {
9
9
  const { variant, role, isStreaming, typingSpeed } = useMessageContext();
10
10
  // Get variant-specific theme
11
11
  const variantTheme = messageTheme.variants[variant];
@@ -17,6 +17,6 @@ const MessageContent = React__default.forwardRef(({ children, className, ...prop
17
17
  typeof children === 'string';
18
18
  return (jsx("div", { ref: ref, className: bubbleStyle, ...props, children: shouldAnimate ? (jsx(TypeWriter, { text: children, speed: typingSpeed, enabled: true, className: "break-words" })) : typeof children === 'string' ? (jsx("p", { className: "break-words", children: children })) : (children) }));
19
19
  });
20
- MessageContent.displayName = 'Message.Content';
20
+ MessageBody.displayName = 'Message.Body';
21
21
 
22
- export { MessageContent };
22
+ export { MessageBody };
@@ -1,9 +1,11 @@
1
- import { MessageRole, MessageVariant } from './Message.types';
1
+ import { MessageRole, MessageVariant, MessageStatus } from './Message.types';
2
2
  export interface MessageContextValue {
3
3
  role?: MessageRole;
4
4
  variant: MessageVariant;
5
5
  isStreaming?: boolean;
6
6
  typingSpeed?: number;
7
+ status?: MessageStatus;
8
+ isGrouped?: boolean;
7
9
  }
8
10
  export declare const MessageContext: import("react").Context<MessageContextValue | undefined>;
9
11
  export declare const useMessageContext: () => MessageContextValue;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface MessageDateDividerProps {
3
+ label: string;
4
+ className?: string;
5
+ }
6
+ export declare const MessageDateDivider: React.FC<MessageDateDividerProps>;
@@ -0,0 +1,10 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { cn } from '../../../utils/cn.js';
3
+ import 'react';
4
+ import { messageTheme } from './Message.theme.js';
5
+
6
+ const MessageDateDivider = ({ label, className, }) => {
7
+ return (jsxs("div", { className: cn(messageTheme.dateDividerStyle, className), children: [jsx("hr", { className: "flex-1 border-t border-[var(--color-border)]" }), jsx("span", { children: label }), jsx("hr", { className: "flex-1 border-t border-[var(--color-border)]" })] }));
8
+ };
9
+
10
+ export { MessageDateDivider };
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export interface MessageFileProps {
3
+ name?: string;
4
+ url?: string;
5
+ size?: string;
6
+ onClick?: () => void;
7
+ className?: string;
8
+ }
9
+ export declare const MessageFile: React.FC<MessageFileProps>;
@@ -0,0 +1,15 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { cn } from '../../../utils/cn.js';
3
+ import 'react';
4
+ import { messageTheme } from './Message.theme.js';
5
+ import { DocumentIcon, ArrowDownTrayIcon } from '@heroicons/react/24/outline';
6
+
7
+ const MessageFile = ({ name = "File", url, size, onClick, className, }) => {
8
+ const content = (jsxs("div", { className: cn(messageTheme.fileStyle, className), onClick: !url ? onClick : undefined, role: !url && onClick ? "button" : undefined, tabIndex: !url && onClick ? 0 : undefined, children: [jsx(DocumentIcon, { className: "size-5 flex-shrink-0 text-[var(--color-text-muted)]" }), jsxs("div", { className: "flex flex-col min-w-0 flex-1", children: [jsx("span", { className: "font-medium text-[var(--color-text-primary)] truncate", children: name }), size && (jsx("span", { className: "text-xs text-[var(--color-text-muted)]", children: size }))] }), url && (jsx(ArrowDownTrayIcon, { className: "size-4 flex-shrink-0 text-[var(--color-text-muted)]" }))] }));
9
+ if (url) {
10
+ return (jsx("a", { href: url, download: true, className: "no-underline", "aria-label": `Download ${name}`, children: content }));
11
+ }
12
+ return content;
13
+ };
14
+
15
+ export { MessageFile };