@flikk/ui 1.0.0-beta.3 → 1.0.0-beta.30

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 (1296) hide show
  1. package/CHANGELOG.md +1184 -0
  2. package/README.md +52 -0
  3. package/dist/bg/1.webp +0 -0
  4. package/dist/bg/10.webp +0 -0
  5. package/dist/bg/11.webp +0 -0
  6. package/dist/bg/12.webp +0 -0
  7. package/dist/bg/13.webp +0 -0
  8. package/dist/bg/14.webp +0 -0
  9. package/dist/bg/15.webp +0 -0
  10. package/dist/bg/16.webp +0 -0
  11. package/dist/bg/17.webp +0 -0
  12. package/dist/bg/18.webp +0 -0
  13. package/dist/bg/19.webp +0 -0
  14. package/dist/bg/2.webp +0 -0
  15. package/dist/bg/20.webp +0 -0
  16. package/dist/bg/21.webp +0 -0
  17. package/dist/bg/22.webp +0 -0
  18. package/dist/bg/3.webp +0 -0
  19. package/dist/bg/4.webp +0 -0
  20. package/dist/bg/5.webp +0 -0
  21. package/dist/bg/6.webp +0 -0
  22. package/dist/bg/7.webp +0 -0
  23. package/dist/bg/8.webp +0 -0
  24. package/dist/bg/9.webp +0 -0
  25. package/dist/components/ai/CodeBlock/CodeBlock.js +21 -4
  26. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +3 -4
  27. package/dist/components/ai/CodeBlock/CodeBlock.types.d.ts +0 -2
  28. package/dist/components/ai/CodeBlock/LanguageIcon.js +1 -0
  29. package/dist/components/ai/PromptInput/PromptInput.animations.d.ts +25 -0
  30. package/dist/components/ai/PromptInput/PromptInput.animations.js +61 -0
  31. package/dist/components/ai/PromptInput/PromptInput.js +110 -149
  32. package/dist/components/ai/PromptInput/PromptInput.theme.js +24 -3
  33. package/dist/components/ai/PromptInput/PromptInput.types.d.ts +49 -1
  34. package/dist/components/ai/PromptInput/VoiceRecorder.d.ts +11 -0
  35. package/dist/components/ai/PromptInput/VoiceRecorder.js +328 -0
  36. package/dist/components/ai/PromptInput/VoiceRecorder.types.d.ts +17 -0
  37. package/dist/components/ai/PromptInput/index.d.ts +1 -0
  38. package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.js +1 -0
  39. package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.theme.js +4 -4
  40. package/dist/components/ai/StreamingResponse/AnimatedText.js +4 -3
  41. package/dist/components/ai/StreamingResponse/ErrorDisplay.js +1 -0
  42. package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -2
  43. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +60 -35
  44. package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +4 -5
  45. package/dist/components/ai/StreamingResponse/StreamingCursor.js +14 -10
  46. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +9 -2
  47. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +37 -12
  48. package/dist/components/ai/StreamingResponse/StreamingResponse.js +11 -4
  49. package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +9 -7
  50. package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +27 -0
  51. package/dist/components/ai/StreamingResponse/WordAnimationContext.js +136 -0
  52. package/dist/components/ai/StreamingResponse/index.d.ts +3 -1
  53. package/dist/components/ai/TokenCounter/TokenCounter.js +1 -0
  54. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  55. package/dist/components/ai/index.d.ts +2 -9
  56. package/dist/components/ai/index.js +11 -8
  57. package/dist/components/canvas/Background.d.ts +19 -0
  58. package/dist/components/canvas/Background.js +24 -0
  59. package/dist/components/canvas/BaseNode.d.ts +15 -0
  60. package/dist/components/canvas/BaseNode.js +20 -0
  61. package/dist/components/canvas/CanvasToolbar.d.ts +34 -0
  62. package/dist/components/canvas/CanvasToolbar.js +35 -0
  63. package/dist/components/canvas/Edge.d.ts +32 -0
  64. package/dist/components/canvas/Edge.js +113 -0
  65. package/dist/components/canvas/EdgeLayer.d.ts +19 -0
  66. package/dist/components/canvas/EdgeLayer.js +121 -0
  67. package/dist/components/canvas/Handle.d.ts +11 -0
  68. package/dist/components/canvas/Handle.js +64 -0
  69. package/dist/components/canvas/MiniMap.d.ts +22 -0
  70. package/dist/components/canvas/MiniMap.js +106 -0
  71. package/dist/components/canvas/NodeCanvas.d.ts +10 -0
  72. package/dist/components/canvas/NodeCanvas.js +481 -0
  73. package/dist/components/canvas/NodeCanvas.theme.d.ts +7 -0
  74. package/dist/components/canvas/NodeCanvas.theme.js +9 -0
  75. package/dist/components/canvas/NodeCanvas.types.d.ts +191 -0
  76. package/dist/components/canvas/NodeControls.d.ts +25 -0
  77. package/dist/components/canvas/NodeControls.js +41 -0
  78. package/dist/components/canvas/NodeRenderer.d.ts +22 -0
  79. package/dist/components/canvas/NodeRenderer.js +126 -0
  80. package/dist/components/canvas/changes.d.ts +11 -0
  81. package/dist/components/canvas/changes.js +76 -0
  82. package/dist/components/canvas/changes.test.d.ts +1 -0
  83. package/dist/components/canvas/context/CanvasContext.d.ts +41 -0
  84. package/dist/components/canvas/context/CanvasContext.js +34 -0
  85. package/dist/components/canvas/context/ConnectionContext.d.ts +33 -0
  86. package/dist/components/canvas/context/ConnectionContext.js +14 -0
  87. package/dist/components/canvas/context/HandleRegistry.d.ts +24 -0
  88. package/dist/components/canvas/context/HandleRegistry.js +16 -0
  89. package/dist/components/canvas/context/InteractionContext.d.ts +18 -0
  90. package/dist/components/canvas/context/InteractionContext.js +15 -0
  91. package/dist/components/canvas/context/NodeIdContext.d.ts +3 -0
  92. package/dist/components/canvas/context/NodeIdContext.js +16 -0
  93. package/dist/components/canvas/hooks/useConnection.d.ts +17 -0
  94. package/dist/components/canvas/hooks/useConnection.js +30 -0
  95. package/dist/components/canvas/hooks/useMarquee.d.ts +25 -0
  96. package/dist/components/canvas/hooks/useMarquee.js +92 -0
  97. package/dist/components/canvas/hooks/useNodeDrag.d.ts +23 -0
  98. package/dist/components/canvas/hooks/useNodeDrag.js +111 -0
  99. package/dist/components/canvas/hooks/usePanZoom.d.ts +30 -0
  100. package/dist/components/canvas/hooks/usePanZoom.js +195 -0
  101. package/dist/components/canvas/hooks/useViewport.d.ts +21 -0
  102. package/dist/components/canvas/hooks/useViewport.js +36 -0
  103. package/dist/components/canvas/index.d.ts +14 -0
  104. package/dist/components/canvas/index.js +12 -0
  105. package/dist/components/canvas/layout.d.ts +22 -0
  106. package/dist/components/canvas/layout.js +67 -0
  107. package/dist/components/canvas/layout.test.d.ts +1 -0
  108. package/dist/components/canvas/utils.d.ts +4 -0
  109. package/dist/components/canvas/utils.js +16 -0
  110. package/dist/components/canvas/utils.test.d.ts +1 -0
  111. package/dist/components/charts/ActivityRings/ActivityRings.js +28 -17
  112. package/dist/components/charts/ActivityRings/ActivityRings.types.d.ts +2 -3
  113. package/dist/components/charts/ActivityRings/ActivityRings.types.js +2 -1
  114. package/dist/components/charts/AreaChart/AreaChart.js +222 -174
  115. package/dist/components/charts/AreaChart/AreaChart.types.d.ts +6 -6
  116. package/dist/components/charts/AreaChart/AreaChart.types.js +1 -0
  117. package/dist/components/charts/BarChart/BarChart.js +228 -174
  118. package/dist/components/charts/BarChart/BarChart.types.d.ts +5 -5
  119. package/dist/components/charts/BarChart/BarChart.types.js +1 -0
  120. package/dist/components/charts/ChartContainer.d.ts +7 -0
  121. package/dist/components/charts/ChartContainer.js +11 -8
  122. package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.d.ts +3 -1
  123. package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.js +137 -102
  124. package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.types.d.ts +17 -5
  125. package/dist/components/charts/ComboChart/ComboChart.js +27 -10
  126. package/dist/components/charts/ComboChart/ComboChart.types.d.ts +5 -5
  127. package/dist/components/charts/ComboChart/ComboChart.types.js +4 -0
  128. package/dist/components/charts/ComboChart/ComboChartCanvas.d.ts +98 -0
  129. package/dist/components/charts/{shared/ChartContainer/ChartContainer.js → ComboChart/ComboChartCanvas.js} +41 -44
  130. package/dist/components/charts/{shared/ChartContainer/ChartContainer.types.d.ts → ComboChart/ComboChartCanvas.types.d.ts} +23 -3
  131. package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.d.ts +3 -1
  132. package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.js +27 -14
  133. package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.types.d.ts +11 -5
  134. package/dist/components/charts/DonutChart/DonutChart.js +3 -2
  135. package/dist/components/charts/DonutChart/DonutChart.theme.js +1 -1
  136. package/dist/components/charts/DonutChart/DonutChart.types.d.ts +1 -2
  137. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.js +10 -24
  138. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.types.d.ts +1 -2
  139. package/dist/components/charts/DonutChart/donut-utils.js +1 -0
  140. package/dist/components/charts/FunnelChart/FunnelChart.animations.js +1 -48
  141. package/dist/components/charts/FunnelChart/FunnelChart.d.ts +3 -4
  142. package/dist/components/charts/FunnelChart/FunnelChart.js +306 -358
  143. package/dist/components/charts/Heatmap/Heatmap.js +29 -36
  144. package/dist/components/charts/Heatmap/HeatmapCell.js +2 -1
  145. package/dist/components/charts/Heatmap/HeatmapLegend.js +1 -1
  146. package/dist/components/charts/LineChart/LineChart.js +201 -154
  147. package/dist/components/charts/LineChart/LineChart.types.d.ts +6 -6
  148. package/dist/components/charts/RadarChart/RadarChart.js +10 -2
  149. package/dist/components/charts/RadarChart/RadarChart.theme.js +5 -10
  150. package/dist/components/charts/RadarChart/RadarChart.types.d.ts +0 -8
  151. package/dist/components/charts/ScatterPlot/ScatterPlot.js +71 -72
  152. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -4
  153. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +10 -6
  154. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +5 -11
  155. package/dist/components/charts/StackedBarChart/StackedBarChart.js +105 -68
  156. package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +5 -5
  157. package/dist/components/charts/StackedBarChart/StackedBarChart.types.js +3 -0
  158. package/dist/components/charts/hooks/index.d.ts +3 -1
  159. package/dist/components/charts/hooks/useChartAccessibility.js +1 -0
  160. package/dist/components/charts/hooks/useChartDimensions.d.ts +29 -0
  161. package/dist/components/charts/hooks/useChartDimensions.js +43 -0
  162. package/dist/components/charts/hooks/useChartScales.js +1 -1
  163. package/dist/components/charts/hooks/useChartTheme.js +1 -0
  164. package/dist/components/charts/hooks/useChartValidation.d.ts +0 -8
  165. package/dist/components/charts/hooks/useChartValidation.js +1 -0
  166. package/dist/components/charts/hooks/useTooltipPosition.js +1 -0
  167. package/dist/components/charts/index.d.ts +3 -3
  168. package/dist/components/charts/index.js +1 -3
  169. package/dist/components/charts/shared/ChartCrosshair/ChartCrosshair.js +5 -12
  170. package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +2 -1
  171. package/dist/components/charts/shared/ChartLegend/ChartLegend.d.ts +5 -2
  172. package/dist/components/charts/shared/ChartLegend/ChartLegend.js +15 -22
  173. package/dist/components/charts/shared/ChartLegend/ChartLegend.types.d.ts +7 -12
  174. package/dist/components/charts/shared/ChartLegend/index.d.ts +2 -3
  175. package/dist/components/charts/shared/ChartMarker/ChartMarker.js +1 -0
  176. package/dist/components/charts/shared/ChartText/ChartText.js +2 -1
  177. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.js +4 -13
  178. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +1 -1
  179. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.types.d.ts +13 -2
  180. package/dist/components/charts/shared/index.d.ts +0 -7
  181. package/dist/components/charts/theme/chart.theme.js +6 -0
  182. package/dist/components/charts/types/chart.types.d.ts +26 -2
  183. package/dist/components/charts/types/chart.types.js +10 -3
  184. package/dist/components/charts/utils/animation-utils.d.ts +95 -0
  185. package/dist/components/charts/utils/animation-utils.js +150 -2
  186. package/dist/components/charts/utils/bar-emphasis.d.ts +80 -0
  187. package/dist/components/charts/utils/bar-emphasis.js +69 -0
  188. package/dist/components/charts/utils/chart-validation.js +7 -0
  189. package/dist/components/core/Accordion/Accordion.animations.d.ts +6 -1
  190. package/dist/components/core/Accordion/Accordion.animations.js +15 -1
  191. package/dist/components/core/Accordion/Accordion.d.ts +4 -4
  192. package/dist/components/core/Accordion/Accordion.js +23 -19
  193. package/dist/components/core/Accordion/Accordion.theme.d.ts +2 -2
  194. package/dist/components/core/Accordion/Accordion.theme.js +6 -6
  195. package/dist/components/core/Accordion/Accordion.types.d.ts +63 -5
  196. package/dist/components/core/Accordion/AccordionBody.d.ts +3 -0
  197. package/dist/components/core/Accordion/{AccordionContent.js → AccordionBody.js} +6 -5
  198. package/dist/components/core/Accordion/AccordionContext.d.ts +3 -0
  199. package/dist/components/core/Accordion/AccordionContext.js +15 -0
  200. package/dist/components/core/Accordion/AccordionItem.js +14 -10
  201. package/dist/components/core/Accordion/AccordionTrigger.js +51 -9
  202. package/dist/components/core/Accordion/index.d.ts +2 -2
  203. package/dist/components/core/Alert/Alert.animations.d.ts +11 -0
  204. package/dist/components/core/Alert/Alert.animations.js +45 -0
  205. package/dist/components/core/Alert/Alert.js +23 -4
  206. package/dist/components/core/Alert/Alert.theme.js +3 -12
  207. package/dist/components/core/Alert/Alert.types.d.ts +6 -13
  208. package/dist/components/core/Alert/index.d.ts +1 -1
  209. package/dist/components/core/AlertDialog/AlertDialog.js +15 -1
  210. package/dist/components/core/Avatar/Avatar.js +79 -22
  211. package/dist/components/core/Avatar/Avatar.theme.d.ts +4 -6
  212. package/dist/components/core/Avatar/Avatar.theme.js +23 -13
  213. package/dist/components/core/Avatar/Avatar.types.d.ts +43 -8
  214. package/dist/components/core/AvatarGroup/AvatarGroup.animations.js +3 -2
  215. package/dist/components/core/AvatarGroup/AvatarGroup.js +7 -3
  216. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +4 -2
  217. package/dist/components/core/Badge/Badge.animations.js +2 -1
  218. package/dist/components/core/Badge/Badge.d.ts +1 -1
  219. package/dist/components/core/Badge/Badge.js +30 -73
  220. package/dist/components/core/Badge/Badge.theme.js +65 -62
  221. package/dist/components/core/Badge/Badge.types.d.ts +21 -34
  222. package/dist/components/core/Breadcrumbs/Breadcrumbs.js +24 -25
  223. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +2 -2
  224. package/dist/components/core/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
  225. package/dist/components/core/Button/Button.d.ts +1 -1
  226. package/dist/components/core/Button/Button.js +43 -39
  227. package/dist/components/core/Button/Button.ripple.d.ts +5 -1
  228. package/dist/components/core/Button/Button.ripple.js +29 -22
  229. package/dist/components/core/Button/Button.theme.d.ts +2 -4
  230. package/dist/components/core/Button/Button.theme.js +44 -86
  231. package/dist/components/core/Button/Button.types.d.ts +6 -7
  232. package/dist/components/core/Button/index.d.ts +2 -0
  233. package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +6 -6
  234. package/dist/components/core/ButtonGroup/ButtonGroupText.js +1 -3
  235. package/dist/components/core/Calendar/Calendar.animations.js +1 -0
  236. package/dist/components/core/Calendar/Calendar.js +118 -9
  237. package/dist/components/core/Calendar/Calendar.theme.js +15 -11
  238. package/dist/components/core/Calendar/Calendar.types.d.ts +4 -1
  239. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +5 -6
  240. package/dist/components/core/Calendar/CalendarMini/CalendarMini.animations.js +1 -0
  241. package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +8 -4
  242. package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +2 -2
  243. package/dist/components/core/Card/Card.d.ts +2 -2
  244. package/dist/components/core/Card/Card.js +17 -6
  245. package/dist/components/core/Card/Card.theme.js +7 -5
  246. package/dist/components/core/Card/Card.types.d.ts +43 -15
  247. package/dist/components/core/Card/CardBody.d.ts +3 -0
  248. package/dist/components/core/Card/CardBody.js +11 -0
  249. package/dist/components/core/Card/CardSubtitle.d.ts +1 -1
  250. package/dist/components/core/Card/CardTitle.d.ts +1 -1
  251. package/dist/components/core/Card/index.d.ts +2 -2
  252. package/dist/components/core/CardStack/CardStack.js +1 -0
  253. package/dist/components/core/Carousel/Carousel.js +5 -4
  254. package/dist/components/core/Carousel/Carousel.types.d.ts +4 -4
  255. package/dist/components/core/Carousel/CarouselBody.d.ts +4 -0
  256. package/dist/components/core/Carousel/{CarouselContent.js → CarouselBody.js} +12 -5
  257. package/dist/components/core/Carousel/CarouselContext.js +1 -0
  258. package/dist/components/core/Carousel/CarouselNext.js +1 -0
  259. package/dist/components/core/Carousel/CarouselPrevious.js +1 -0
  260. package/dist/components/core/Carousel/index.d.ts +2 -1
  261. package/dist/components/core/CommandPalette/CommandItem.js +5 -5
  262. package/dist/components/core/CommandPalette/CommandPalette.animations.js +1 -0
  263. package/dist/components/core/CommandPalette/CommandPalette.js +58 -12
  264. package/dist/components/core/CommandPalette/CommandPalette.theme.js +14 -13
  265. package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +14 -2
  266. package/dist/components/core/ContextMenu/ContextMenu.d.ts +2 -2
  267. package/dist/components/core/ContextMenu/ContextMenu.js +38 -15
  268. package/dist/components/core/ContextMenu/ContextMenu.theme.js +15 -15
  269. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +19 -2
  270. package/dist/components/core/ContextMenu/ContextMenuBody.d.ts +6 -0
  271. package/dist/components/core/ContextMenu/{ContextMenuContent.js → ContextMenuBody.js} +20 -11
  272. package/dist/components/core/ContextMenu/ContextMenuContext.js +1 -0
  273. package/dist/components/core/ContextMenu/ContextMenuItem.js +18 -8
  274. package/dist/components/core/ContextMenu/ContextMenuLabel.js +1 -0
  275. package/dist/components/core/ContextMenu/ContextMenuSeparator.js +1 -0
  276. package/dist/components/core/ContextMenu/ContextMenuSub.js +4 -3
  277. package/dist/components/core/ContextMenu/ContextMenuSubBody.d.ts +6 -0
  278. package/dist/components/core/ContextMenu/{ContextMenuSubContent.js → ContextMenuSubBody.js} +16 -9
  279. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +3 -2
  280. package/dist/components/core/ContextMenu/ContextMenuTrigger.js +13 -6
  281. package/dist/components/core/ContextMenu/index.d.ts +1 -1
  282. package/dist/components/core/DotSeparator/DotSeparator.d.ts +3 -0
  283. package/dist/components/core/DotSeparator/DotSeparator.js +20 -0
  284. package/dist/components/core/DotSeparator/DotSeparator.theme.d.ts +2 -0
  285. package/dist/components/core/DotSeparator/DotSeparator.theme.js +10 -0
  286. package/dist/components/core/DotSeparator/DotSeparator.types.d.ts +25 -0
  287. package/dist/components/core/DotSeparator/index.d.ts +3 -0
  288. package/dist/components/core/DragDrop/DragDrop.js +189 -17
  289. package/dist/components/core/DragDrop/DragDrop.types.d.ts +6 -0
  290. package/dist/components/core/Drawer/Drawer.animations.js +14 -12
  291. package/dist/components/core/Drawer/Drawer.d.ts +6 -6
  292. package/dist/components/core/Drawer/Drawer.js +63 -20
  293. package/dist/components/core/Drawer/Drawer.theme.d.ts +2 -0
  294. package/dist/components/core/Drawer/Drawer.theme.js +17 -13
  295. package/dist/components/core/Drawer/Drawer.types.d.ts +24 -6
  296. package/dist/components/core/Drawer/DrawerBody.d.ts +5 -0
  297. package/dist/components/core/Drawer/{DrawerContent.js → DrawerBody.js} +5 -4
  298. package/dist/components/core/Drawer/DrawerContext.d.ts +3 -0
  299. package/dist/components/core/Drawer/DrawerContext.js +15 -0
  300. package/dist/components/core/Drawer/DrawerFooter.js +2 -1
  301. package/dist/components/core/Drawer/DrawerHeader.js +4 -2
  302. package/dist/components/core/Drawer/DrawerSubtitle.js +2 -1
  303. package/dist/components/core/Drawer/DrawerTitle.d.ts +1 -1
  304. package/dist/components/core/Drawer/DrawerTitle.js +4 -3
  305. package/dist/components/core/Drawer/index.d.ts +2 -1
  306. package/dist/components/core/Dropdown/Dropdown.d.ts +1 -1
  307. package/dist/components/core/Dropdown/Dropdown.js +28 -10
  308. package/dist/components/core/Dropdown/Dropdown.theme.js +7 -7
  309. package/dist/components/core/Dropdown/Dropdown.types.d.ts +12 -3
  310. package/dist/components/core/Dropdown/DropdownContext.js +1 -0
  311. package/dist/components/core/Dropdown/DropdownItem.js +3 -2
  312. package/dist/components/core/Dropdown/DropdownMenu.js +75 -74
  313. package/dist/components/core/Dropdown/DropdownSection.js +5 -2
  314. package/dist/components/core/Dropdown/DropdownSeparator.js +2 -1
  315. package/dist/components/core/Dropdown/DropdownTrigger.d.ts +6 -1
  316. package/dist/components/core/Dropdown/DropdownTrigger.js +30 -8
  317. package/dist/components/core/Empty/Empty.js +1 -1
  318. package/dist/components/core/Empty/Empty.theme.js +1 -1
  319. package/dist/components/core/HeroCard/HeroCard.d.ts +5 -0
  320. package/dist/components/core/HeroCard/HeroCard.js +100 -0
  321. package/dist/components/core/HeroCard/HeroCard.theme.d.ts +3 -0
  322. package/dist/components/core/HeroCard/HeroCard.theme.js +8 -0
  323. package/dist/components/core/HeroCard/HeroCard.types.d.ts +70 -0
  324. package/dist/components/core/HeroCard/index.d.ts +4 -0
  325. package/dist/components/core/Icon/Icon.d.ts +3 -0
  326. package/dist/components/core/Icon/Icon.js +70 -0
  327. package/dist/components/core/Icon/Icon.theme.d.ts +2 -0
  328. package/dist/components/core/Icon/Icon.theme.js +19 -0
  329. package/dist/components/core/Icon/Icon.types.d.ts +32 -0
  330. package/dist/components/core/Icon/data/fileTypes.d.ts +7 -0
  331. package/dist/components/core/Icon/data/fileTypes.js +30 -0
  332. package/dist/components/core/Icon/data/paymentMethods.d.ts +27 -0
  333. package/dist/components/core/Icon/data/paymentMethods.js +169 -0
  334. package/dist/components/core/Icon/index.d.ts +4 -0
  335. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.d.ts +14 -0
  336. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.js +37 -0
  337. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.d.ts +6 -0
  338. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.js +8 -0
  339. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.types.d.ts +32 -0
  340. package/dist/components/core/ImagePlaceholder/index.d.ts +2 -0
  341. package/dist/components/core/Kbd/Kbd.theme.js +3 -3
  342. package/dist/components/core/Link/Link.d.ts +1 -1
  343. package/dist/components/core/Link/Link.js +60 -29
  344. package/dist/components/core/Link/Link.types.d.ts +26 -9
  345. package/dist/components/core/Masonry/Masonry.js +88 -71
  346. package/dist/components/core/Masonry/Masonry.theme.js +10 -4
  347. package/dist/components/core/MenuItem/MenuItem.js +23 -2
  348. package/dist/components/core/MenuItem/MenuItem.theme.d.ts +6 -0
  349. package/dist/components/core/MenuItem/MenuItem.theme.js +25 -18
  350. package/dist/components/core/MenuItem/MenuItem.types.d.ts +3 -1
  351. package/dist/components/core/Message/Message.d.ts +10 -1
  352. package/dist/components/core/Message/Message.js +49 -7
  353. package/dist/components/core/Message/Message.theme.js +23 -1
  354. package/dist/components/core/Message/Message.types.d.ts +122 -7
  355. package/dist/components/core/Message/MessageActions.js +1 -0
  356. package/dist/components/core/Message/MessageAudio.d.ts +8 -0
  357. package/dist/components/core/Message/MessageAudio.js +12 -0
  358. package/dist/components/core/Message/MessageAvatar.d.ts +2 -2
  359. package/dist/components/core/Message/MessageAvatar.js +4 -3
  360. package/dist/components/core/Message/MessageBody.d.ts +8 -0
  361. package/dist/components/core/Message/{MessageContent.js → MessageBody.js} +4 -3
  362. package/dist/components/core/Message/MessageContext.d.ts +3 -1
  363. package/dist/components/core/Message/MessageContext.js +1 -0
  364. package/dist/components/core/Message/MessageDateDivider.d.ts +6 -0
  365. package/dist/components/core/Message/MessageDateDivider.js +10 -0
  366. package/dist/components/core/Message/MessageFile.d.ts +9 -0
  367. package/dist/components/core/Message/MessageFile.js +16 -0
  368. package/dist/components/core/Message/MessageImage.d.ts +11 -0
  369. package/dist/components/core/Message/MessageImage.js +14 -0
  370. package/dist/components/core/Message/MessageLink.d.ts +10 -0
  371. package/dist/components/core/Message/MessageLink.js +15 -0
  372. package/dist/components/core/Message/MessageList.js +1 -0
  373. package/dist/components/core/Message/MessageReactions.d.ts +8 -0
  374. package/dist/components/core/Message/MessageReactions.js +13 -0
  375. package/dist/components/core/Message/MessageReply.d.ts +8 -0
  376. package/dist/components/core/Message/MessageReply.js +10 -0
  377. package/dist/components/core/Message/MessageSenderName.d.ts +6 -0
  378. package/dist/components/core/Message/MessageSenderName.js +10 -0
  379. package/dist/components/core/Message/MessageStatusIndicator.d.ts +9 -0
  380. package/dist/components/core/Message/MessageStatusIndicator.js +46 -0
  381. package/dist/components/core/Message/MessageTimestamp.js +1 -0
  382. package/dist/components/core/Message/TypeWriter.d.ts +1 -1
  383. package/dist/components/core/Message/TypeWriter.js +74 -9
  384. package/dist/components/core/Message/index.d.ts +21 -1
  385. package/dist/components/core/Modal/Modal.animations.d.ts +1 -0
  386. package/dist/components/core/Modal/Modal.animations.js +20 -30
  387. package/dist/components/core/Modal/Modal.d.ts +4 -6
  388. package/dist/components/core/Modal/Modal.js +21 -22
  389. package/dist/components/core/Modal/Modal.theme.js +9 -11
  390. package/dist/components/core/Modal/Modal.types.d.ts +15 -12
  391. package/dist/components/core/Modal/ModalBody.js +9 -9
  392. package/dist/components/core/Modal/ModalContext.d.ts +3 -0
  393. package/dist/components/core/Modal/ModalContext.js +16 -0
  394. package/dist/components/core/Modal/ModalFooter.js +3 -2
  395. package/dist/components/core/Modal/ModalHeader.js +4 -2
  396. package/dist/components/core/Modal/ModalSubtitle.js +2 -1
  397. package/dist/components/core/Modal/ModalTitle.d.ts +1 -1
  398. package/dist/components/core/Modal/ModalTitle.js +4 -3
  399. package/dist/components/core/Modal/index.d.ts +1 -1
  400. package/dist/components/core/ModalStack/ModalStack.animations.js +1 -0
  401. package/dist/components/core/ModalStack/ModalStack.d.ts +1 -1
  402. package/dist/components/core/ModalStack/ModalStack.js +2 -1
  403. package/dist/components/core/ModalStack/ModalStack.types.d.ts +1 -2
  404. package/dist/components/core/ModalStack/ModalStackModal.d.ts +1 -1
  405. package/dist/components/core/ModalStack/ModalStackModal.js +19 -15
  406. package/dist/components/core/NavItem/NavItem.d.ts +1 -1
  407. package/dist/components/core/NavItem/NavItem.js +272 -78
  408. package/dist/components/core/NavItem/NavItem.theme.js +31 -9
  409. package/dist/components/core/NavItem/NavItem.types.d.ts +51 -59
  410. package/dist/components/core/NavItem/index.d.ts +1 -1
  411. package/dist/components/core/OfflineIndicator/OfflineIndicator.js +1 -0
  412. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +2 -2
  413. package/dist/components/core/PageHeading/PageHeading.js +8 -3
  414. package/dist/components/core/PageHeading/PageHeading.theme.js +3 -3
  415. package/dist/components/core/PageHeading/PageHeading.types.d.ts +13 -2
  416. package/dist/components/core/PageHeading/PageHeadingBackButton.js +5 -2
  417. package/dist/components/core/Pagination/Pagination.js +9 -3
  418. package/dist/components/core/Pagination/Pagination.theme.d.ts +2 -10
  419. package/dist/components/core/Pagination/Pagination.theme.js +4 -4
  420. package/dist/components/core/Pagination/Pagination.types.d.ts +11 -1
  421. package/dist/components/core/Pill/Pill.animations.js +2 -11
  422. package/dist/components/core/Pill/Pill.js +14 -5
  423. package/dist/components/core/Pill/Pill.theme.js +10 -10
  424. package/dist/components/core/Popover/Popover.d.ts +2 -2
  425. package/dist/components/core/Popover/Popover.js +11 -10
  426. package/dist/components/core/Popover/Popover.theme.d.ts +1 -1
  427. package/dist/components/core/Popover/Popover.theme.js +4 -2
  428. package/dist/components/core/Popover/Popover.types.d.ts +21 -3
  429. package/dist/components/core/Popover/PopoverBody.d.ts +7 -0
  430. package/dist/components/core/Popover/PopoverBody.js +134 -0
  431. package/dist/components/core/Popover/PopoverContext.js +1 -0
  432. package/dist/components/core/Popover/PopoverTrigger.d.ts +1 -1
  433. package/dist/components/core/Popover/PopoverTrigger.js +13 -12
  434. package/dist/components/core/Popover/index.d.ts +4 -3
  435. package/dist/components/core/Progress/Progress.d.ts +9 -8
  436. package/dist/components/core/Progress/Progress.js +18 -17
  437. package/dist/components/core/Progress/Progress.theme.js +6 -14
  438. package/dist/components/core/Progress/Progress.types.d.ts +2 -19
  439. package/dist/components/core/Progress/index.d.ts +1 -1
  440. package/dist/components/core/Rating/Rating.js +13 -5
  441. package/dist/components/core/ScrollArea/ScrollArea.js +294 -12
  442. package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
  443. package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +24 -4
  444. package/dist/components/core/ScrollArea/index.d.ts +1 -1
  445. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +5 -0
  446. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +37 -3
  447. package/dist/components/core/ScrollArea/smooth/SnapPointDetector.js +1 -0
  448. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +5 -0
  449. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.types.d.ts +5 -0
  450. package/dist/components/core/Segmented/Segmented.js +21 -19
  451. package/dist/components/core/Segmented/Segmented.theme.js +6 -6
  452. package/dist/components/core/Segmented/SegmentedItem.js +30 -3
  453. package/dist/components/core/Separator/Separator.js +1 -0
  454. package/dist/components/core/Sidebar/Sidebar.d.ts +14 -1
  455. package/dist/components/core/Sidebar/Sidebar.js +95 -21
  456. package/dist/components/core/Sidebar/Sidebar.theme.js +7 -7
  457. package/dist/components/core/Sidebar/Sidebar.types.d.ts +186 -6
  458. package/dist/components/core/Sidebar/SidebarCard.d.ts +25 -0
  459. package/dist/components/core/Sidebar/SidebarCard.js +69 -0
  460. package/dist/components/core/Sidebar/SidebarCard.theme.d.ts +8 -0
  461. package/dist/components/core/Sidebar/SidebarCard.theme.js +18 -0
  462. package/dist/components/core/Sidebar/SidebarContent.js +11 -4
  463. package/dist/components/core/Sidebar/SidebarContext.d.ts +26 -11
  464. package/dist/components/core/Sidebar/SidebarContext.js +87 -11
  465. package/dist/components/core/Sidebar/SidebarFooter.js +5 -4
  466. package/dist/components/core/Sidebar/SidebarHeader.js +15 -4
  467. package/dist/components/core/Sidebar/SidebarLogo.d.ts +3 -0
  468. package/dist/components/core/Sidebar/SidebarLogo.js +49 -0
  469. package/dist/components/core/Sidebar/SidebarMobileTrigger.d.ts +3 -0
  470. package/dist/components/core/Sidebar/SidebarMobileTrigger.js +30 -0
  471. package/dist/components/core/Sidebar/SidebarNav.js +6 -2
  472. package/dist/components/core/Sidebar/SidebarNavGroup.js +6 -5
  473. package/dist/components/core/Sidebar/SidebarSearch.d.ts +22 -0
  474. package/dist/components/core/Sidebar/SidebarSearch.js +136 -0
  475. package/dist/components/core/Sidebar/SidebarToggle.js +9 -4
  476. package/dist/components/core/Sidebar/SidebarUserProfile.d.ts +3 -0
  477. package/dist/components/core/Sidebar/SidebarUserProfile.js +49 -0
  478. package/dist/components/core/Sidebar/index.d.ts +7 -3
  479. package/dist/components/core/Skeleton/Skeleton.js +2 -2
  480. package/dist/components/core/Skeleton/Skeleton.theme.js +1 -1
  481. package/dist/components/core/SlidingNumber/SlidingNumber.js +3 -1
  482. package/dist/components/core/Sortable/Sortable.animations.js +1 -0
  483. package/dist/components/core/Sortable/Sortable.d.ts +1 -1
  484. package/dist/components/core/Sortable/Sortable.js +23 -6
  485. package/dist/components/core/Sortable/Sortable.theme.js +1 -1
  486. package/dist/components/core/Sortable/Sortable.types.d.ts +9 -5
  487. package/dist/components/core/Spinner/Spinner.js +1 -0
  488. package/dist/components/core/Spinner/Spinner.theme.js +4 -6
  489. package/dist/components/core/Spinner/Spinner.types.d.ts +2 -1
  490. package/dist/components/core/Tabs/Tabs.animations.d.ts +2 -2
  491. package/dist/components/core/Tabs/Tabs.animations.js +4 -3
  492. package/dist/components/core/Tabs/Tabs.d.ts +1 -1
  493. package/dist/components/core/Tabs/Tabs.js +15 -7
  494. package/dist/components/core/Tabs/Tabs.theme.d.ts +2 -2
  495. package/dist/components/core/Tabs/Tabs.theme.js +6 -6
  496. package/dist/components/core/Tabs/Tabs.types.d.ts +13 -9
  497. package/dist/components/core/Tabs/TabsBody.d.ts +6 -0
  498. package/dist/components/core/Tabs/{TabsContent.js → TabsBody.js} +15 -12
  499. package/dist/components/core/Tabs/TabsContext.js +1 -0
  500. package/dist/components/core/Tabs/TabsList.js +20 -21
  501. package/dist/components/core/Tabs/TabsTrigger.js +81 -38
  502. package/dist/components/core/Tabs/index.d.ts +2 -2
  503. package/dist/components/core/Tag/Tag.animations.js +0 -13
  504. package/dist/components/core/Tag/Tag.d.ts +2 -2
  505. package/dist/components/core/Tag/Tag.js +47 -5
  506. package/dist/components/core/Tag/Tag.theme.js +19 -6
  507. package/dist/components/core/Tag/Tag.types.d.ts +31 -1
  508. package/dist/components/core/Toast/Toast.animations.d.ts +3 -2
  509. package/dist/components/core/Toast/Toast.animations.js +20 -17
  510. package/dist/components/core/Toast/Toast.d.ts +2 -2
  511. package/dist/components/core/Toast/Toast.js +66 -31
  512. package/dist/components/core/Toast/Toast.theme.js +8 -16
  513. package/dist/components/core/Toast/Toast.types.d.ts +41 -48
  514. package/dist/components/core/Toast/ToastProvider.js +7 -2
  515. package/dist/components/core/Toast/index.d.ts +1 -1
  516. package/dist/components/core/Toast/useToast.js +5 -6
  517. package/dist/components/core/Tooltip/Tooltip.animations.js +19 -53
  518. package/dist/components/core/Tooltip/Tooltip.d.ts +1 -1
  519. package/dist/components/core/Tooltip/Tooltip.js +50 -38
  520. package/dist/components/core/Tooltip/Tooltip.theme.js +4 -3
  521. package/dist/components/core/Tooltip/Tooltip.types.d.ts +13 -1
  522. package/dist/components/core/Tree/Tree.animations.d.ts +1 -2
  523. package/dist/components/core/Tree/Tree.animations.js +20 -58
  524. package/dist/components/core/Tree/Tree.js +183 -11
  525. package/dist/components/core/index.d.ts +4 -2
  526. package/dist/components/core/index.js +29 -6
  527. package/dist/components/data-display/DescriptionList/DescriptionList.js +24 -7
  528. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +10 -3
  529. package/dist/components/data-display/DescriptionList/DescriptionList.types.d.ts +49 -10
  530. package/dist/components/data-display/DescriptionList/index.d.ts +1 -1
  531. package/dist/components/data-display/Feed/Feed.animations.d.ts +40 -0
  532. package/dist/components/data-display/Feed/Feed.animations.js +26 -0
  533. package/dist/components/data-display/Feed/Feed.d.ts +5 -1
  534. package/dist/components/data-display/Feed/Feed.js +114 -55
  535. package/dist/components/data-display/Feed/Feed.theme.js +11 -13
  536. package/dist/components/data-display/Feed/Feed.types.d.ts +66 -34
  537. package/dist/components/data-display/Feed/index.d.ts +1 -1
  538. package/dist/components/data-display/GanttChart/GanttChart.d.ts +3 -4
  539. package/dist/components/data-display/GanttChart/GanttChart.js +36 -25
  540. package/dist/components/data-display/GanttChart/GanttChart.theme.js +19 -17
  541. package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +21 -2
  542. package/dist/components/data-display/GanttChart/GanttChart.utils.js +1 -1
  543. package/dist/components/data-display/GanttChart/GanttChartContext.d.ts +5 -0
  544. package/dist/components/data-display/GanttChart/GanttChartContext.js +26 -0
  545. package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +1 -1
  546. package/dist/components/data-display/GanttChart/GanttChartPanel.js +5 -4
  547. package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +9 -5
  548. package/dist/components/data-display/GanttChart/GanttGroupBar.js +2 -1
  549. package/dist/components/data-display/GanttChart/GanttMilestone.js +8 -7
  550. package/dist/components/data-display/GanttChart/GanttSplitter.js +17 -2
  551. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +3 -2
  552. package/dist/components/data-display/GanttChart/GanttTableHeader.js +2 -1
  553. package/dist/components/data-display/GanttChart/GanttTablePanel.js +3 -2
  554. package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +4 -3
  555. package/dist/components/data-display/GanttChart/GanttTaskBar.js +43 -19
  556. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +3 -2
  557. package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +4 -2
  558. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +37 -12
  559. package/dist/components/data-display/GanttChart/GanttToolbar.js +5 -3
  560. package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +1 -0
  561. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +4 -2
  562. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.js +1 -0
  563. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.js +1 -0
  564. package/dist/components/data-display/GanttChart/index.d.ts +1 -1
  565. package/dist/components/data-display/KPI/KPI.js +14 -3
  566. package/dist/components/data-display/KPI/KPI.theme.js +8 -9
  567. package/dist/components/data-display/KPI/KPI.types.d.ts +5 -4
  568. package/dist/components/data-display/Metric/Metric.js +8 -8
  569. package/dist/components/data-display/Metric/Metric.theme.d.ts +3 -2
  570. package/dist/components/data-display/Metric/Metric.theme.js +39 -65
  571. package/dist/components/data-display/Metric/Metric.types.d.ts +22 -25
  572. package/dist/components/data-display/Table/Table.animations.js +17 -10
  573. package/dist/components/data-display/Table/Table.d.ts +2 -7
  574. package/dist/components/data-display/Table/Table.filterUtils.js +8 -1
  575. package/dist/components/data-display/Table/Table.js +28 -31
  576. package/dist/components/data-display/Table/Table.theme.js +38 -10
  577. package/dist/components/data-display/Table/Table.types.d.ts +37 -8
  578. package/dist/components/data-display/Table/TableActions.js +6 -5
  579. package/dist/components/data-display/Table/TableActionsMenu.js +3 -3
  580. package/dist/components/data-display/Table/TableBody.js +3 -2
  581. package/dist/components/data-display/Table/TableCell.d.ts +1 -1
  582. package/dist/components/data-display/Table/TableCell.js +13 -5
  583. package/dist/components/data-display/Table/TableColumnManager.js +4 -1
  584. package/dist/components/data-display/Table/TableContext.d.ts +11 -0
  585. package/dist/components/data-display/Table/TableContext.js +21 -0
  586. package/dist/components/data-display/Table/TableDeclarative.js +8 -9
  587. package/dist/components/data-display/Table/TableFilter.js +33 -25
  588. package/dist/components/data-display/Table/TableHeader.js +6 -2
  589. package/dist/components/data-display/Table/TablePagination.js +4 -7
  590. package/dist/components/data-display/Table/TableRow.d.ts +1 -1
  591. package/dist/components/data-display/Table/TableRow.js +12 -8
  592. package/dist/components/data-display/Table/TableSelectionHeader.js +5 -3
  593. package/dist/components/data-display/Table/hooks/useTableColumns.js +1 -0
  594. package/dist/components/data-display/Table/hooks/useTableExpansion.js +1 -0
  595. package/dist/components/data-display/Table/hooks/useTableFilter.js +1 -0
  596. package/dist/components/data-display/Table/hooks/useTablePagination.js +1 -0
  597. package/dist/components/data-display/Table/hooks/useTableSelection.js +1 -0
  598. package/dist/components/data-display/Table/index.d.ts +2 -2
  599. package/dist/components/data-display/Table/index.js +2 -2
  600. package/dist/components/data-display/Timeline/Timeline.animations.d.ts +0 -7
  601. package/dist/components/data-display/Timeline/Timeline.animations.js +2 -27
  602. package/dist/components/data-display/Timeline/Timeline.d.ts +2 -2
  603. package/dist/components/data-display/Timeline/Timeline.js +33 -17
  604. package/dist/components/data-display/Timeline/Timeline.theme.d.ts +2 -16
  605. package/dist/components/data-display/Timeline/Timeline.theme.js +14 -8
  606. package/dist/components/data-display/Timeline/Timeline.types.d.ts +70 -27
  607. package/dist/components/data-display/Timeline/Timeline.utils.d.ts +6 -0
  608. package/dist/components/data-display/Timeline/Timeline.utils.js +11 -0
  609. package/dist/components/data-display/Timeline/TimelineContent.js +5 -8
  610. package/dist/components/data-display/Timeline/TimelineContext.d.ts +3 -0
  611. package/dist/components/data-display/Timeline/TimelineContext.js +16 -0
  612. package/dist/components/data-display/Timeline/TimelineItem.js +21 -40
  613. package/dist/components/data-display/Timeline/TimelineMarker.js +12 -9
  614. package/dist/components/data-display/Timeline/index.d.ts +2 -2
  615. package/dist/components/effects/3d/index.d.ts +4 -0
  616. package/dist/components/effects/3d/index.js +2 -0
  617. package/dist/components/effects/AIOrb/AIOrb.d.ts +1 -0
  618. package/dist/components/effects/AIOrb/AIOrb.js +3 -2
  619. package/dist/components/effects/AIOrb/AIOrb.types.d.ts +1 -0
  620. package/dist/components/effects/AIOrb/hooks/index.d.ts +2 -0
  621. package/dist/components/effects/AIOrb/hooks/useOrbState.d.ts +20 -0
  622. package/dist/components/effects/AIOrb/hooks/useOrbState.js +28 -0
  623. package/dist/components/effects/AIOrb/index.d.ts +2 -2
  624. package/dist/components/effects/AIOrb/variants/Aura/Aura.d.ts +3 -0
  625. package/dist/components/effects/AIOrb/variants/Aura/Aura.js +84 -0
  626. package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.d.ts +28 -0
  627. package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.js +191 -0
  628. package/dist/components/effects/AIOrb/variants/Aura/Aura.types.d.ts +53 -0
  629. package/dist/components/effects/AIOrb/variants/Aura/index.d.ts +2 -0
  630. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.d.ts +7 -0
  631. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.impl.d.ts +3 -0
  632. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.impl.js +176 -0
  633. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.js +29 -130
  634. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.types.d.ts +6 -0
  635. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.d.ts +8 -0
  636. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.impl.d.ts +3 -0
  637. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.impl.js +140 -0
  638. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.js +29 -101
  639. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.types.d.ts +6 -0
  640. package/dist/components/effects/AIOrb/variants/index.d.ts +2 -0
  641. package/dist/components/effects/Animated/Animated.animations.js +29 -10
  642. package/dist/components/effects/Animated/Animated.d.ts +4 -4
  643. package/dist/components/effects/Animated/Animated.js +9 -9
  644. package/dist/components/effects/Animated/AnimatedContext.d.ts +3 -0
  645. package/dist/components/effects/Animated/AnimatedContext.js +12 -0
  646. package/dist/components/effects/Animated/AnimatedItem.d.ts +1 -1
  647. package/dist/components/effects/Animated/AnimatedItem.js +7 -5
  648. package/dist/components/effects/Aurora/Aurora.d.ts +6 -17
  649. package/dist/components/effects/Aurora/Aurora.js +332 -105
  650. package/dist/components/effects/Aurora/Aurora.types.d.ts +6 -0
  651. package/dist/components/effects/ColorPanels/ColorPanels.d.ts +8 -0
  652. package/dist/components/effects/ColorPanels/ColorPanels.js +66 -0
  653. package/dist/components/effects/ColorPanels/ColorPanels.shaders.d.ts +12 -0
  654. package/dist/components/effects/ColorPanels/ColorPanels.shaders.js +218 -0
  655. package/dist/components/effects/ColorPanels/ColorPanels.types.d.ts +29 -0
  656. package/dist/components/effects/ColorPanels/ColorPanels.types.js +3 -0
  657. package/dist/components/effects/ColorPanels/index.d.ts +2 -0
  658. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +4 -4
  659. package/dist/components/effects/CustomCursor/CustomCursor.js +54 -54
  660. package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +5 -4
  661. package/dist/components/effects/Dithering/Dithering.d.ts +10 -0
  662. package/dist/components/effects/Dithering/Dithering.js +62 -0
  663. package/dist/components/effects/Dithering/Dithering.shaders.d.ts +11 -0
  664. package/dist/components/effects/Dithering/Dithering.shaders.js +166 -0
  665. package/dist/components/effects/Dithering/Dithering.types.d.ts +31 -0
  666. package/dist/components/effects/Dithering/Dithering.types.js +17 -0
  667. package/dist/components/effects/Dithering/index.d.ts +3 -0
  668. package/dist/components/effects/DotPattern/DotPattern.js +2 -1
  669. package/dist/components/effects/FlutedGlass/FlutedGlass.d.ts +9 -0
  670. package/dist/components/effects/FlutedGlass/FlutedGlass.js +80 -0
  671. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.d.ts +12 -0
  672. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.js +335 -0
  673. package/dist/components/effects/FlutedGlass/FlutedGlass.types.d.ts +61 -0
  674. package/dist/components/effects/FlutedGlass/FlutedGlass.types.js +16 -0
  675. package/dist/components/effects/FlutedGlass/index.d.ts +3 -0
  676. package/dist/components/effects/GemSmoke/GemSmoke.d.ts +8 -0
  677. package/dist/components/effects/GemSmoke/GemSmoke.js +70 -0
  678. package/dist/components/effects/GemSmoke/GemSmoke.shaders.d.ts +18 -0
  679. package/dist/components/effects/GemSmoke/GemSmoke.shaders.js +181 -0
  680. package/dist/components/effects/GemSmoke/GemSmoke.types.d.ts +37 -0
  681. package/dist/components/effects/GemSmoke/GemSmoke.types.js +10 -0
  682. package/dist/components/effects/GemSmoke/index.d.ts +3 -0
  683. package/dist/components/effects/GlassEffect/GlassEffect.js +1 -1
  684. package/dist/components/effects/GlassSurface/GlassSurface.d.ts +1 -1
  685. package/dist/components/effects/GlassSurface/GlassSurface.js +40 -34
  686. package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +14 -0
  687. package/dist/components/effects/GodRays/GodRays.d.ts +8 -0
  688. package/dist/components/effects/GodRays/GodRays.js +68 -0
  689. package/dist/components/effects/GodRays/GodRays.shaders.d.ts +10 -0
  690. package/dist/components/effects/GodRays/GodRays.shaders.js +128 -0
  691. package/dist/components/effects/GodRays/GodRays.types.d.ts +25 -0
  692. package/dist/components/effects/GodRays/GodRays.types.js +3 -0
  693. package/dist/components/effects/GodRays/index.d.ts +2 -0
  694. package/dist/components/effects/GradientMesh/GradientMesh.d.ts +9 -0
  695. package/dist/components/effects/GradientMesh/GradientMesh.js +56 -0
  696. package/dist/components/effects/GradientMesh/GradientMesh.shaders.d.ts +15 -0
  697. package/dist/components/effects/GradientMesh/GradientMesh.shaders.js +127 -0
  698. package/dist/components/effects/GradientMesh/GradientMesh.types.d.ts +17 -0
  699. package/dist/components/effects/GradientMesh/GradientMesh.types.js +3 -0
  700. package/dist/components/effects/GradientMesh/index.d.ts +2 -0
  701. package/dist/components/effects/GrainGradient/GrainGradient.d.ts +9 -0
  702. package/dist/components/effects/GrainGradient/GrainGradient.js +62 -0
  703. package/dist/components/effects/GrainGradient/GrainGradient.shaders.d.ts +17 -0
  704. package/dist/components/effects/GrainGradient/GrainGradient.shaders.js +168 -0
  705. package/dist/components/effects/GrainGradient/GrainGradient.types.d.ts +26 -0
  706. package/dist/components/effects/GrainGradient/GrainGradient.types.js +9 -0
  707. package/dist/components/effects/GrainGradient/index.d.ts +3 -0
  708. package/dist/components/effects/GridPattern/GridPattern.js +1 -0
  709. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.d.ts +10 -0
  710. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.js +78 -0
  711. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.d.ts +22 -0
  712. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.js +239 -0
  713. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.types.d.ts +52 -0
  714. package/dist/components/effects/HalftoneCmyk/index.d.ts +2 -0
  715. package/dist/components/effects/HalftoneDots/HalftoneDots.d.ts +9 -0
  716. package/dist/components/effects/HalftoneDots/HalftoneDots.js +68 -0
  717. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.d.ts +13 -0
  718. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.js +296 -0
  719. package/dist/components/effects/HalftoneDots/HalftoneDots.types.d.ts +43 -0
  720. package/dist/components/effects/HalftoneDots/HalftoneDots.types.js +12 -0
  721. package/dist/components/effects/HalftoneDots/index.d.ts +3 -0
  722. package/dist/components/effects/ImageDithering/ImageDithering.d.ts +9 -0
  723. package/dist/components/effects/ImageDithering/ImageDithering.js +68 -0
  724. package/dist/components/effects/ImageDithering/ImageDithering.shaders.d.ts +12 -0
  725. package/dist/components/effects/ImageDithering/ImageDithering.shaders.js +117 -0
  726. package/dist/components/effects/ImageDithering/ImageDithering.types.d.ts +30 -0
  727. package/dist/components/effects/ImageDithering/ImageDithering.types.js +8 -0
  728. package/dist/components/effects/ImageDithering/index.d.ts +3 -0
  729. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.d.ts +39 -0
  730. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.js +98 -0
  731. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.d.ts +3 -0
  732. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.js +105 -0
  733. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.types.d.ts +30 -0
  734. package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.d.ts +3 -0
  735. package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.js +46 -0
  736. package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.d.ts +3 -0
  737. package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.js +46 -0
  738. package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.d.ts +3 -0
  739. package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.js +48 -0
  740. package/dist/components/effects/InteractiveCharacters/hooks/useBlink.d.ts +14 -0
  741. package/dist/components/effects/InteractiveCharacters/hooks/useBlink.js +42 -0
  742. package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.d.ts +25 -0
  743. package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.js +85 -0
  744. package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.d.ts +18 -0
  745. package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.js +36 -0
  746. package/dist/components/effects/InteractiveCharacters/index.d.ts +2 -0
  747. package/dist/components/effects/LiquidMetal/LiquidMetal.d.ts +9 -0
  748. package/dist/components/effects/LiquidMetal/LiquidMetal.js +61 -0
  749. package/dist/components/effects/LiquidMetal/LiquidMetal.shaders.d.ts +19 -0
  750. package/dist/components/effects/LiquidMetal/LiquidMetal.shaders.js +202 -0
  751. package/dist/components/effects/LiquidMetal/LiquidMetal.types.d.ts +34 -0
  752. package/dist/components/effects/LiquidMetal/LiquidMetal.types.js +9 -0
  753. package/dist/components/effects/LiquidMetal/index.d.ts +3 -0
  754. package/dist/components/effects/MagneticElement/MagneticElement.js +1 -0
  755. package/dist/components/effects/MeshGradient/MeshGradient.d.ts +25 -0
  756. package/dist/components/effects/MeshGradient/MeshGradient.js +47 -0
  757. package/dist/components/effects/MeshGradient/MeshGradient.types.d.ts +40 -0
  758. package/dist/components/effects/MeshGradient/MeshGradient.utils.d.ts +83 -0
  759. package/dist/components/effects/MeshGradient/MeshGradient.utils.js +112 -0
  760. package/dist/components/effects/MeshGradient/index.d.ts +4 -0
  761. package/dist/components/effects/Metaballs/Metaballs.d.ts +8 -0
  762. package/dist/components/effects/Metaballs/Metaballs.js +59 -0
  763. package/dist/components/effects/Metaballs/Metaballs.shaders.d.ts +10 -0
  764. package/dist/components/effects/Metaballs/Metaballs.shaders.js +102 -0
  765. package/dist/components/effects/Metaballs/Metaballs.types.d.ts +16 -0
  766. package/dist/components/effects/Metaballs/Metaballs.types.js +3 -0
  767. package/dist/components/effects/Metaballs/index.d.ts +2 -0
  768. package/dist/components/effects/Neumorphic/InsetCircleButton.d.ts +10 -0
  769. package/dist/components/effects/Neumorphic/InsetCircleButton.js +11 -0
  770. package/dist/components/effects/Neumorphic/InsetPill.d.ts +8 -0
  771. package/dist/components/effects/Neumorphic/InsetPill.js +8 -0
  772. package/dist/components/effects/Neumorphic/index.d.ts +4 -0
  773. package/dist/components/effects/NoiseOverlay/NoiseOverlay.d.ts +1 -1
  774. package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +5 -4
  775. package/dist/components/effects/Overlay/Overlay.js +52 -25
  776. package/dist/components/effects/Overlay/Overlay.theme.js +1 -2
  777. package/dist/components/effects/PaperTexture/PaperTexture.d.ts +9 -0
  778. package/dist/components/effects/PaperTexture/PaperTexture.js +61 -0
  779. package/dist/components/effects/PaperTexture/PaperTexture.shaders.d.ts +22 -0
  780. package/dist/components/effects/PaperTexture/PaperTexture.shaders.js +145 -0
  781. package/dist/components/effects/PaperTexture/PaperTexture.types.d.ts +19 -0
  782. package/dist/components/effects/PaperTexture/index.d.ts +2 -0
  783. package/dist/components/effects/Particles/Particles.js +1 -0
  784. package/dist/components/effects/Particles/Particles.scene.js +1 -0
  785. package/dist/components/effects/Preloader/Preloader.animations.d.ts +23 -0
  786. package/dist/components/effects/Preloader/Preloader.animations.js +150 -0
  787. package/dist/components/effects/Preloader/Preloader.d.ts +3 -0
  788. package/dist/components/effects/Preloader/Preloader.js +120 -0
  789. package/dist/components/effects/Preloader/Preloader.types.d.ts +63 -0
  790. package/dist/components/effects/Preloader/index.d.ts +2 -0
  791. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +26 -14
  792. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +2 -0
  793. package/dist/components/effects/PulsingBorder/PulsingBorder.d.ts +27 -0
  794. package/dist/components/effects/PulsingBorder/PulsingBorder.js +174 -0
  795. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.d.ts +14 -0
  796. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.js +258 -0
  797. package/dist/components/effects/PulsingBorder/PulsingBorder.types.d.ts +75 -0
  798. package/dist/components/effects/PulsingBorder/PulsingBorder.types.js +3 -0
  799. package/dist/components/effects/PulsingBorder/index.d.ts +2 -0
  800. package/dist/components/effects/ScrollReveal/ScrollReveal.js +1 -0
  801. package/dist/components/effects/Shimmer/Shimmer.d.ts +21 -0
  802. package/dist/components/effects/Shimmer/Shimmer.js +44 -0
  803. package/dist/components/effects/Shimmer/Shimmer.types.d.ts +49 -0
  804. package/dist/components/effects/Shimmer/index.d.ts +2 -0
  805. package/dist/components/effects/SmokeRing/SmokeRing.d.ts +8 -0
  806. package/dist/components/effects/SmokeRing/SmokeRing.js +62 -0
  807. package/dist/components/effects/SmokeRing/SmokeRing.shaders.d.ts +14 -0
  808. package/dist/components/effects/SmokeRing/SmokeRing.shaders.js +130 -0
  809. package/dist/components/effects/SmokeRing/SmokeRing.types.d.ts +22 -0
  810. package/dist/components/effects/SmokeRing/SmokeRing.types.js +3 -0
  811. package/dist/components/effects/SmokeRing/index.d.ts +2 -0
  812. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.d.ts +9 -0
  813. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.js +59 -0
  814. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.d.ts +14 -0
  815. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.js +129 -0
  816. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.d.ts +23 -0
  817. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.js +3 -0
  818. package/dist/components/effects/StaticGradientMesh/index.d.ts +2 -0
  819. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.d.ts +9 -0
  820. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.js +66 -0
  821. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.shaders.d.ts +13 -0
  822. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.shaders.js +169 -0
  823. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.types.d.ts +29 -0
  824. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.types.js +3 -0
  825. package/dist/components/effects/StaticRadialGradient/index.d.ts +2 -0
  826. package/dist/components/effects/StripePattern/StripePattern.d.ts +18 -0
  827. package/dist/components/effects/StripePattern/StripePattern.js +55 -0
  828. package/dist/components/effects/StripePattern/StripePattern.types.d.ts +53 -0
  829. package/dist/components/effects/StripePattern/index.d.ts +2 -0
  830. package/dist/components/effects/TiltCard/TiltCard.d.ts +12 -0
  831. package/dist/components/effects/TiltCard/TiltCard.glow.d.ts +28 -0
  832. package/dist/components/effects/TiltCard/TiltCard.glow.js +115 -0
  833. package/dist/components/effects/TiltCard/TiltCard.js +178 -0
  834. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.d.ts → TiltCard/TiltCard.shaders.d.ts} +1 -1
  835. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.js → TiltCard/TiltCard.shaders.js} +1 -1
  836. package/dist/components/effects/TiltCard/TiltCard.types.d.ts +88 -0
  837. package/dist/components/effects/TiltCard/index.d.ts +2 -0
  838. package/dist/components/effects/Water/Water.d.ts +9 -0
  839. package/dist/components/effects/Water/Water.js +65 -0
  840. package/dist/components/effects/Water/Water.shaders.d.ts +11 -0
  841. package/dist/components/effects/Water/Water.shaders.js +123 -0
  842. package/dist/components/effects/Water/Water.types.d.ts +25 -0
  843. package/dist/components/effects/Water/index.d.ts +2 -0
  844. package/dist/components/effects/index.d.ts +57 -16
  845. package/dist/components/effects/index.js +30 -8
  846. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.d.ts +13 -0
  847. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.js +255 -0
  848. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.types.d.ts +18 -0
  849. package/dist/components/effects/shared/ShaderCanvas/index.d.ts +2 -0
  850. package/dist/components/effects/shared/bayerMatrices.glsl.d.ts +10 -0
  851. package/dist/components/effects/shared/bayerMatrices.glsl.js +44 -0
  852. package/dist/components/effects/shared/imageUV.glsl.d.ts +12 -0
  853. package/dist/components/effects/shared/imageUV.glsl.js +26 -0
  854. package/dist/components/effects/shared/index.d.ts +7 -0
  855. package/dist/components/effects/shared/resolveShaderColor.d.ts +13 -0
  856. package/dist/components/effects/shared/resolveShaderColor.js +62 -0
  857. package/dist/components/effects/shared/resolveShaderColor.test.d.ts +1 -0
  858. package/dist/components/effects/shared/shaderNoise.glsl.d.ts +34 -0
  859. package/dist/components/effects/shared/shaderNoise.glsl.js +84 -0
  860. package/dist/components/forms/Checkbox/Checkbox.animations.d.ts +14 -0
  861. package/dist/components/forms/Checkbox/Checkbox.animations.js +54 -0
  862. package/dist/components/forms/Checkbox/Checkbox.d.ts +3 -4
  863. package/dist/components/forms/Checkbox/Checkbox.js +54 -12
  864. package/dist/components/forms/Checkbox/Checkbox.theme.js +13 -7
  865. package/dist/components/forms/Checkbox/Checkbox.types.d.ts +36 -8
  866. package/dist/components/forms/Checkbox/CheckboxContext.d.ts +14 -0
  867. package/dist/components/forms/Checkbox/CheckboxContext.js +13 -0
  868. package/dist/components/forms/Checkbox/CheckboxGroup.d.ts +3 -0
  869. package/dist/components/forms/Checkbox/CheckboxGroup.js +48 -0
  870. package/dist/components/forms/Checkbox/index.d.ts +1 -1
  871. package/dist/components/forms/ColorPicker/ColorPicker.d.ts +6 -10
  872. package/dist/components/forms/ColorPicker/ColorPicker.js +150 -27
  873. package/dist/components/forms/ColorPicker/ColorPicker.theme.js +8 -5
  874. package/dist/components/forms/ColorPicker/ColorPicker.types.d.ts +112 -5
  875. package/dist/components/forms/ColorPicker/ColorPicker2DCanvas.js +44 -6
  876. package/dist/components/forms/ColorPicker/ColorPickerBody.d.ts +7 -0
  877. package/dist/components/forms/ColorPicker/{ColorPickerContent.js → ColorPickerBody.js} +17 -14
  878. package/dist/components/forms/ColorPicker/ColorPickerContext.d.ts +4 -0
  879. package/dist/components/forms/ColorPicker/ColorPickerContext.js +13 -0
  880. package/dist/components/forms/ColorPicker/ColorPickerEyeDropper.js +5 -4
  881. package/dist/components/forms/ColorPicker/ColorPickerFormatSelector.js +2 -1
  882. package/dist/components/forms/ColorPicker/ColorPickerGradient.d.ts +7 -0
  883. package/dist/components/forms/ColorPicker/ColorPickerGradient.js +187 -0
  884. package/dist/components/forms/ColorPicker/ColorPickerHeader.d.ts +14 -0
  885. package/dist/components/forms/ColorPicker/ColorPickerHeader.js +32 -0
  886. package/dist/components/forms/ColorPicker/ColorPickerImage.d.ts +6 -0
  887. package/dist/components/forms/ColorPicker/ColorPickerImage.js +155 -0
  888. package/dist/components/forms/ColorPicker/ColorPickerInput.d.ts +0 -4
  889. package/dist/components/forms/ColorPicker/ColorPickerInput.js +54 -61
  890. package/dist/components/forms/ColorPicker/ColorPickerPresets.js +14 -12
  891. package/dist/components/forms/ColorPicker/ColorPickerSavedColors.d.ts +3 -0
  892. package/dist/components/forms/ColorPicker/ColorPickerSavedColors.js +70 -0
  893. package/dist/components/forms/ColorPicker/ColorPickerSliders.d.ts +1 -2
  894. package/dist/components/forms/ColorPicker/ColorPickerSliders.js +85 -23
  895. package/dist/components/forms/ColorPicker/ColorPickerSwatch.d.ts +1 -1
  896. package/dist/components/forms/ColorPicker/ColorPickerSwatch.js +11 -9
  897. package/dist/components/forms/ColorPicker/ColorPickerTrigger.js +22 -3
  898. package/dist/components/forms/ColorPicker/index.d.ts +9 -3
  899. package/dist/components/forms/Combobox/Combobox.js +92 -71
  900. package/dist/components/forms/Combobox/Combobox.theme.js +2 -4
  901. package/dist/components/forms/Combobox/Combobox.types.d.ts +12 -2
  902. package/dist/components/forms/DatePicker/DatePicker.animations.js +1 -0
  903. package/dist/components/forms/DatePicker/DatePicker.d.ts +6 -26
  904. package/dist/components/forms/DatePicker/DatePicker.js +10 -8
  905. package/dist/components/forms/DatePicker/DatePicker.theme.js +11 -18
  906. package/dist/components/forms/DatePicker/DatePicker.types.d.ts +28 -6
  907. package/dist/components/forms/DatePicker/DatePickerBody.d.ts +7 -0
  908. package/dist/components/forms/DatePicker/{DatePickerContent.js → DatePickerBody.js} +32 -54
  909. package/dist/components/forms/DatePicker/DatePickerContext.d.ts +29 -0
  910. package/dist/components/forms/DatePicker/DatePickerContext.js +6 -0
  911. package/dist/components/forms/DatePicker/DatePickerPresets.js +2 -1
  912. package/dist/components/forms/DatePicker/DatePickerTrigger.js +5 -4
  913. package/dist/components/forms/DatePicker/index.d.ts +2 -2
  914. package/dist/components/forms/DateRangePicker/DateRangePicker.animations.d.ts +1 -0
  915. package/dist/components/forms/DateRangePicker/DateRangePicker.d.ts +17 -0
  916. package/dist/components/forms/DateRangePicker/DateRangePicker.js +121 -0
  917. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.d.ts +5 -0
  918. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +45 -0
  919. package/dist/components/forms/DateRangePicker/DateRangePicker.types.d.ts +177 -0
  920. package/dist/components/forms/DateRangePicker/DateRangePickerBody.d.ts +6 -0
  921. package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +186 -0
  922. package/dist/components/forms/DateRangePicker/DateRangePickerContext.d.ts +24 -0
  923. package/dist/components/forms/DateRangePicker/DateRangePickerContext.js +5 -0
  924. package/dist/components/forms/DateRangePicker/DateRangePickerPresets.d.ts +6 -0
  925. package/dist/components/forms/DateRangePicker/DateRangePickerPresets.js +42 -0
  926. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.d.ts +6 -0
  927. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +33 -0
  928. package/dist/components/forms/DateRangePicker/dateRangePresets.d.ts +5 -0
  929. package/dist/components/forms/DateRangePicker/dateRangePresets.js +59 -0
  930. package/dist/components/forms/DateRangePicker/index.d.ts +4 -0
  931. package/dist/components/forms/FileUpload/FileUpload.animations.d.ts +29 -0
  932. package/dist/components/forms/FileUpload/FileUpload.animations.js +19 -0
  933. package/dist/components/forms/FileUpload/FileUpload.js +95 -132
  934. package/dist/components/forms/FileUpload/FileUpload.theme.d.ts +2 -10
  935. package/dist/components/forms/FileUpload/FileUpload.theme.js +16 -30
  936. package/dist/components/forms/FileUpload/FileUpload.types.d.ts +41 -10
  937. package/dist/components/forms/FileUpload/FileUploadProgress.animations.d.ts +36 -0
  938. package/dist/components/forms/FileUpload/FileUploadProgress.animations.js +22 -0
  939. package/dist/components/forms/FileUpload/FileUploadProgress.d.ts +3 -0
  940. package/dist/components/forms/FileUpload/FileUploadProgress.js +119 -0
  941. package/dist/components/forms/FileUpload/FileUploadProgress.theme.d.ts +19 -0
  942. package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +27 -0
  943. package/dist/components/forms/FileUpload/FileUploadProgress.types.d.ts +33 -0
  944. package/dist/components/forms/FileUpload/index.d.ts +3 -0
  945. package/dist/components/forms/FormLabel/FormLabel.js +2 -2
  946. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  947. package/dist/components/forms/Input/Input.js +16 -15
  948. package/dist/components/forms/Input/Input.theme.js +24 -17
  949. package/dist/components/forms/Input/Input.types.d.ts +20 -4
  950. package/dist/components/forms/Input/index.d.ts +1 -0
  951. package/dist/components/forms/Input/inputMasks.d.ts +24 -0
  952. package/dist/components/forms/Input/inputMasks.js +61 -5
  953. package/dist/components/forms/InputAddress/InputAddress.d.ts +6 -1
  954. package/dist/components/forms/InputAddress/InputAddress.js +101 -20
  955. package/dist/components/forms/InputAddress/InputAddress.theme.js +5 -5
  956. package/dist/components/forms/InputAddress/InputAddress.types.d.ts +8 -2
  957. package/dist/components/forms/InputAddress/index.d.ts +1 -1
  958. package/dist/components/forms/InputCounter/InputCounter.d.ts +1 -1
  959. package/dist/components/forms/InputCounter/InputCounter.js +80 -54
  960. package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
  961. package/dist/components/forms/InputCounter/InputCounter.types.d.ts +17 -3
  962. package/dist/components/forms/InputCreditCard/InputCreditCard.d.ts +1 -1
  963. package/dist/components/forms/InputCreditCard/InputCreditCard.js +33 -9
  964. package/dist/components/forms/InputCreditCard/InputCreditCard.theme.js +5 -5
  965. package/dist/components/forms/InputCreditCard/InputCreditCard.types.d.ts +9 -0
  966. package/dist/components/forms/InputCreditCard/index.d.ts +1 -0
  967. package/dist/components/forms/InputDate/InputDate.js +1 -0
  968. package/dist/components/forms/InputOTP/InputOTP.js +41 -20
  969. package/dist/components/forms/InputOTP/InputOTP.theme.js +1 -1
  970. package/dist/components/forms/InputOTP/InputOTP.types.d.ts +27 -4
  971. package/dist/components/forms/InputTag/InputTag.js +67 -50
  972. package/dist/components/forms/InputTag/InputTag.theme.js +2 -1
  973. package/dist/components/forms/InputTag/InputTag.types.d.ts +10 -2
  974. package/dist/components/forms/Mention/Mention.d.ts +1 -1
  975. package/dist/components/forms/Mention/Mention.js +505 -199
  976. package/dist/components/forms/Mention/Mention.theme.js +20 -27
  977. package/dist/components/forms/Mention/Mention.types.d.ts +75 -18
  978. package/dist/components/forms/Mention/Mention.utils.d.ts +42 -0
  979. package/dist/components/forms/Mention/Mention.utils.js +314 -0
  980. package/dist/components/forms/Mention/index.d.ts +1 -1
  981. package/dist/components/forms/Radio/Radio.animations.d.ts +10 -0
  982. package/dist/components/forms/Radio/Radio.animations.js +38 -0
  983. package/dist/components/forms/Radio/Radio.d.ts +3 -4
  984. package/dist/components/forms/Radio/Radio.js +45 -5
  985. package/dist/components/forms/Radio/Radio.theme.js +23 -11
  986. package/dist/components/forms/Radio/Radio.types.d.ts +39 -10
  987. package/dist/components/forms/Radio/RadioContext.d.ts +14 -0
  988. package/dist/components/forms/Radio/RadioContext.js +13 -0
  989. package/dist/components/forms/Radio/RadioGroup.d.ts +3 -0
  990. package/dist/components/forms/Radio/RadioGroup.js +44 -0
  991. package/dist/components/forms/Radio/index.d.ts +1 -1
  992. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +1 -0
  993. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +18 -0
  994. package/dist/components/forms/RichTextEditor/RichTextEditor.js +1268 -254
  995. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +53 -1
  996. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +100 -25
  997. package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +69 -5
  998. package/dist/components/forms/RichTextEditor/index.d.ts +2 -2
  999. package/dist/components/forms/Select/Select.animations.js +17 -25
  1000. package/dist/components/forms/Select/Select.d.ts +6 -2
  1001. package/dist/components/forms/Select/Select.js +80 -76
  1002. package/dist/components/forms/Select/Select.theme.js +3 -3
  1003. package/dist/components/forms/Select/Select.types.d.ts +49 -8
  1004. package/dist/components/forms/Select/useSelectState.js +7 -0
  1005. package/dist/components/forms/SelectableCard/SelectableCard.d.ts +1 -1
  1006. package/dist/components/forms/SelectableCard/SelectableCard.js +43 -27
  1007. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +15 -25
  1008. package/dist/components/forms/SelectableCard/SelectableCard.types.d.ts +16 -4
  1009. package/dist/components/forms/SelectableCard/SelectableCardContext.d.ts +1 -0
  1010. package/dist/components/forms/SelectableCard/SelectableCardContext.js +5 -7
  1011. package/dist/components/forms/SelectableCard/SelectableCardGroup.js +32 -10
  1012. package/dist/components/forms/SelectableCard/index.d.ts +1 -1
  1013. package/dist/components/forms/Signature/Signature.js +13 -3
  1014. package/dist/components/forms/Signature/Signature.types.d.ts +9 -3
  1015. package/dist/components/forms/Slider/Slider.js +28 -6
  1016. package/dist/components/forms/Slider/Slider.theme.js +3 -3
  1017. package/dist/components/forms/Slider/Slider.types.d.ts +2 -2
  1018. package/dist/components/forms/Switch/Switch.js +41 -21
  1019. package/dist/components/forms/Switch/Switch.theme.d.ts +36 -6
  1020. package/dist/components/forms/Switch/Switch.theme.js +45 -4
  1021. package/dist/components/forms/Switch/Switch.types.d.ts +36 -8
  1022. package/dist/components/forms/Textarea/Textarea.js +12 -3
  1023. package/dist/components/forms/Textarea/Textarea.types.d.ts +12 -4
  1024. package/dist/components/forms/TimePicker/TimePicker.d.ts +2 -12
  1025. package/dist/components/forms/TimePicker/TimePicker.js +8 -5
  1026. package/dist/components/forms/TimePicker/TimePicker.theme.js +6 -8
  1027. package/dist/components/forms/TimePicker/TimePicker.types.d.ts +21 -2
  1028. package/dist/components/forms/TimePicker/TimePickerContent.js +13 -112
  1029. package/dist/components/forms/TimePicker/TimePickerContext.d.ts +15 -0
  1030. package/dist/components/forms/TimePicker/TimePickerContext.js +6 -0
  1031. package/dist/components/forms/TimePicker/TimePickerTrigger.js +20 -6
  1032. package/dist/components/forms/TimePicker/WheelColumn.js +1 -0
  1033. package/dist/components/forms/TimePicker/useWheelPicker.js +1 -0
  1034. package/dist/components/forms/forms.theme.d.ts +1 -0
  1035. package/dist/components/forms/forms.theme.js +75 -33
  1036. package/dist/components/forms/index.d.ts +11 -11
  1037. package/dist/components/forms/index.js +21 -87
  1038. package/dist/components/generative/GenerativeView.d.ts +21 -0
  1039. package/dist/components/generative/GenerativeView.js +117 -0
  1040. package/dist/components/generative/actions.d.ts +26 -0
  1041. package/dist/components/generative/actions.js +51 -0
  1042. package/dist/components/generative/actions.test.d.ts +1 -0
  1043. package/dist/components/generative/index.d.ts +11 -0
  1044. package/dist/components/generative/index.js +9 -0
  1045. package/dist/components/generative/registry.d.ts +43 -0
  1046. package/dist/components/generative/registry.js +132 -0
  1047. package/dist/components/generative/resolvers.d.ts +35 -0
  1048. package/dist/components/generative/resolvers.js +93 -0
  1049. package/dist/components/generative/schema.generated.d.ts +2 -0
  1050. package/dist/components/generative/schema.generated.js +2054 -0
  1051. package/dist/components/generative/schemaTypes.d.ts +30 -0
  1052. package/dist/components/generative/streaming.d.ts +39 -0
  1053. package/dist/components/generative/streaming.js +283 -0
  1054. package/dist/components/generative/streaming.test.d.ts +1 -0
  1055. package/dist/components/generative/tools.d.ts +21 -0
  1056. package/dist/components/generative/tools.js +54 -0
  1057. package/dist/components/generative/tools.test.d.ts +1 -0
  1058. package/dist/components/generative/types.d.ts +41 -0
  1059. package/dist/components/generative/useGenerativeStream.d.ts +37 -0
  1060. package/dist/components/generative/useGenerativeStream.js +37 -0
  1061. package/dist/components/generative/validate.d.ts +24 -0
  1062. package/dist/components/generative/validate.js +351 -0
  1063. package/dist/components/generative/validate.test.d.ts +1 -0
  1064. package/dist/components/layout/AppShell/AppShell.d.ts +10 -0
  1065. package/dist/components/layout/AppShell/AppShell.js +85 -0
  1066. package/dist/components/layout/AppShell/AppShell.theme.d.ts +3 -0
  1067. package/dist/components/layout/AppShell/AppShell.theme.js +42 -0
  1068. package/dist/components/layout/AppShell/AppShell.types.d.ts +127 -0
  1069. package/dist/components/layout/AppShell/AppShellContext.d.ts +14 -0
  1070. package/dist/components/layout/AppShell/AppShellContext.js +20 -0
  1071. package/dist/components/layout/AppShell/AppShellFooter.d.ts +3 -0
  1072. package/dist/components/layout/AppShell/AppShellFooter.js +12 -0
  1073. package/dist/components/layout/AppShell/AppShellHeader.d.ts +3 -0
  1074. package/dist/components/layout/AppShell/AppShellHeader.js +12 -0
  1075. package/dist/components/layout/AppShell/AppShellMain.d.ts +3 -0
  1076. package/dist/components/layout/AppShell/AppShellMain.js +20 -0
  1077. package/dist/components/layout/AppShell/AppShellRightPanel.d.ts +3 -0
  1078. package/dist/components/layout/AppShell/AppShellRightPanel.js +17 -0
  1079. package/dist/components/layout/AppShell/AppShellSidebar.d.ts +3 -0
  1080. package/dist/components/layout/AppShell/AppShellSidebar.js +17 -0
  1081. package/dist/components/layout/AppShell/AppShellTopbar.d.ts +3 -0
  1082. package/dist/components/layout/AppShell/AppShellTopbar.js +12 -0
  1083. package/dist/components/layout/AppShell/index.d.ts +3 -0
  1084. package/dist/components/layout/FormLayout/FormLayout.d.ts +0 -2
  1085. package/dist/components/layout/FormLayout/FormLayout.js +14 -6
  1086. package/dist/components/layout/FormLayout/FormLayout.theme.js +2 -5
  1087. package/dist/components/layout/FormLayout/FormLayout.types.d.ts +9 -27
  1088. package/dist/components/layout/FormLayout/FormLayoutSection.js +9 -2
  1089. package/dist/components/layout/FormLayout/index.d.ts +1 -1
  1090. package/dist/components/layout/Grid/Grid.d.ts +3 -0
  1091. package/dist/components/layout/Grid/Grid.js +58 -0
  1092. package/dist/components/layout/Grid/Grid.theme.d.ts +2 -0
  1093. package/dist/components/layout/Grid/Grid.theme.js +35 -0
  1094. package/dist/components/layout/Grid/Grid.types.d.ts +71 -0
  1095. package/dist/components/layout/Grid/index.d.ts +3 -0
  1096. package/dist/components/layout/Section/Section.d.ts +3 -0
  1097. package/dist/components/layout/Section/Section.js +19 -0
  1098. package/dist/components/layout/Section/Section.theme.d.ts +2 -0
  1099. package/dist/components/layout/Section/Section.theme.js +10 -0
  1100. package/dist/components/layout/Section/Section.types.d.ts +34 -0
  1101. package/dist/components/layout/Section/index.d.ts +3 -0
  1102. package/dist/components/layout/Stack/Stack.d.ts +3 -0
  1103. package/dist/components/layout/Stack/Stack.js +27 -0
  1104. package/dist/components/layout/Stack/Stack.theme.d.ts +2 -0
  1105. package/dist/components/layout/Stack/Stack.theme.js +10 -0
  1106. package/dist/components/layout/Stack/Stack.types.d.ts +46 -0
  1107. package/dist/components/layout/Stack/index.d.ts +3 -0
  1108. package/dist/components/layout/index.d.ts +4 -1
  1109. package/dist/components/layout/index.js +10 -0
  1110. package/dist/generative.schema.json +2052 -0
  1111. package/dist/hooks/index.d.ts +2 -0
  1112. package/dist/hooks/useClickOutside.d.ts +10 -4
  1113. package/dist/hooks/useClickOutside.js +45 -24
  1114. package/dist/hooks/useDarkMode.d.ts +1 -0
  1115. package/dist/hooks/useDarkMode.js +43 -0
  1116. package/dist/hooks/useFocusTrap.js +1 -0
  1117. package/dist/hooks/useFormStateMachine.d.ts +1 -1
  1118. package/dist/hooks/useIsClient.js +1 -0
  1119. package/dist/hooks/useMediaQuery.d.ts +5 -0
  1120. package/dist/hooks/useMediaQuery.js +22 -0
  1121. package/dist/hooks/useNetworkStatus.d.ts +0 -4
  1122. package/dist/hooks/useNetworkStatus.js +2 -5
  1123. package/dist/hooks/useOverlay.d.ts +2 -0
  1124. package/dist/hooks/useOverlay.js +39 -4
  1125. package/dist/hooks/useScaleBackground.js +6 -2
  1126. package/dist/hooks/useSelectPortal.d.ts +12 -2
  1127. package/dist/hooks/useSelectPortal.js +175 -56
  1128. package/dist/hooks/useSlidingNumber.js +1 -0
  1129. package/dist/hooks/useStreamingSSE.d.ts +0 -5
  1130. package/dist/hooks/useStreamingSSE.js +1 -5
  1131. package/dist/hooks/useTypewriter.js +1 -0
  1132. package/dist/index.d.ts +1 -2
  1133. package/dist/index.js +59 -71
  1134. package/dist/registry.json +11469 -0
  1135. package/dist/shadcn-compat.css +80 -0
  1136. package/dist/styles.css +1 -1
  1137. package/dist/test/render.d.ts +11 -0
  1138. package/dist/test/setup.d.ts +1 -0
  1139. package/dist/theme/SurfaceContext.d.ts +98 -0
  1140. package/dist/theme/SurfaceContext.js +114 -0
  1141. package/dist/theme/ThemeContext.js +19 -0
  1142. package/dist/theme/animations.d.ts +75 -0
  1143. package/dist/theme/animations.js +132 -0
  1144. package/dist/theme/index.d.ts +5 -0
  1145. package/dist/theme.css +24 -0
  1146. package/dist/tools.json +2154 -0
  1147. package/dist/utils/actionQueue.d.ts +0 -4
  1148. package/dist/utils/actionQueue.js +1 -4
  1149. package/dist/utils/cn.js +21 -1
  1150. package/dist/utils/colorUtils.d.ts +53 -0
  1151. package/dist/utils/colorUtils.js +90 -0
  1152. package/dist/utils/dateUtils.js +81 -15
  1153. package/dist/utils/formatUtils.d.ts +10 -0
  1154. package/dist/utils/formatUtils.js +24 -0
  1155. package/dist/utils/index.d.ts +3 -1
  1156. package/dist/utils/paletteGenerator.d.ts +46 -0
  1157. package/dist/utils/performanceMonitor.js +1 -0
  1158. package/dist/utils/smoothScrollUtils.js +1 -0
  1159. package/dist/utils/stateMachine.d.ts +4 -4
  1160. package/package.json +83 -32
  1161. package/src/global.scss +1014 -0
  1162. package/src/styles/theme.css +838 -0
  1163. package/tailwind.preset.cjs +32 -3
  1164. package/dist/components/ai/ApprovalCard/ApprovalCard.d.ts +0 -3
  1165. package/dist/components/ai/ApprovalCard/ApprovalCard.js +0 -15
  1166. package/dist/components/ai/ApprovalCard/ApprovalCard.theme.d.ts +0 -13
  1167. package/dist/components/ai/ApprovalCard/ApprovalCard.theme.js +0 -15
  1168. package/dist/components/ai/ApprovalCard/ApprovalCard.types.d.ts +0 -43
  1169. package/dist/components/ai/ApprovalCard/index.d.ts +0 -2
  1170. package/dist/components/ai/MessageHistory/MessageHistory.d.ts +0 -18
  1171. package/dist/components/ai/MessageHistory/MessageHistory.js +0 -97
  1172. package/dist/components/ai/MessageHistory/MessageHistory.theme.d.ts +0 -2
  1173. package/dist/components/ai/MessageHistory/MessageHistory.theme.js +0 -8
  1174. package/dist/components/ai/MessageHistory/MessageHistory.types.d.ts +0 -94
  1175. package/dist/components/ai/MessageHistory/index.d.ts +0 -3
  1176. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.d.ts +0 -10
  1177. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.js +0 -47
  1178. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.d.ts +0 -20
  1179. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.js +0 -55
  1180. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.d.ts +0 -2
  1181. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.js +0 -20
  1182. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.types.d.ts +0 -67
  1183. package/dist/components/ai/ThinkingIndicator/index.d.ts +0 -3
  1184. package/dist/components/charts/shared/BarRenderer/index.d.ts +0 -3
  1185. package/dist/components/charts/shared/ChartContainer/ChartContainer.d.ts +0 -85
  1186. package/dist/components/charts/shared/ChartContainer/index.d.ts +0 -3
  1187. package/dist/components/charts/shared/ChartLegend/ChartLegendContent.d.ts +0 -7
  1188. package/dist/components/charts/shared/ChartLegend/ChartLegendContent.js +0 -18
  1189. package/dist/components/charts/shared/LineRenderer/index.d.ts +0 -2
  1190. package/dist/components/core/Accordion/AccordionContent.d.ts +0 -3
  1191. package/dist/components/core/Button/Button.animations.d.ts +0 -5
  1192. package/dist/components/core/Card/CardContent.d.ts +0 -3
  1193. package/dist/components/core/Card/CardContent.js +0 -11
  1194. package/dist/components/core/Carousel/CarouselContent.d.ts +0 -4
  1195. package/dist/components/core/ContextMenu/ContextMenuContent.d.ts +0 -6
  1196. package/dist/components/core/ContextMenu/ContextMenuSubContent.d.ts +0 -6
  1197. package/dist/components/core/Drawer/DrawerContent.d.ts +0 -5
  1198. package/dist/components/core/Loader/Loader.d.ts +0 -24
  1199. package/dist/components/core/Loader/Loader.js +0 -57
  1200. package/dist/components/core/Loader/Loader.theme.d.ts +0 -27
  1201. package/dist/components/core/Loader/Loader.theme.js +0 -60
  1202. package/dist/components/core/Loader/Loader.types.d.ts +0 -71
  1203. package/dist/components/core/Loader/index.d.ts +0 -2
  1204. package/dist/components/core/Message/MessageContent.d.ts +0 -8
  1205. package/dist/components/core/Popover/Popover.animations.js +0 -13
  1206. package/dist/components/core/Popover/PopoverContent.d.ts +0 -7
  1207. package/dist/components/core/Popover/PopoverContent.js +0 -136
  1208. package/dist/components/core/Sidebar/SidebarSubmenu.d.ts +0 -7
  1209. package/dist/components/core/Sidebar/SidebarSubmenu.js +0 -12
  1210. package/dist/components/core/SocialIcon/SocialIcon.d.ts +0 -3
  1211. package/dist/components/core/SocialIcon/SocialIcon.js +0 -30
  1212. package/dist/components/core/SocialIcon/SocialIcon.theme.d.ts +0 -2
  1213. package/dist/components/core/SocialIcon/SocialIcon.theme.js +0 -12
  1214. package/dist/components/core/SocialIcon/SocialIcon.types.d.ts +0 -18
  1215. package/dist/components/core/SocialIcon/index.d.ts +0 -2
  1216. package/dist/components/core/Tabs/TabsContent.d.ts +0 -6
  1217. package/dist/components/effects/MorphingText/MorphingText.d.ts +0 -17
  1218. package/dist/components/effects/MorphingText/MorphingText.js +0 -91
  1219. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +0 -18
  1220. package/dist/components/effects/MorphingText/index.d.ts +0 -2
  1221. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +0 -26
  1222. package/dist/components/effects/ParallaxSection/ParallaxSection.js +0 -71
  1223. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +0 -11
  1224. package/dist/components/effects/ParallaxSection/index.d.ts +0 -2
  1225. package/dist/components/effects/Spotlight/Spotlight.d.ts +0 -36
  1226. package/dist/components/effects/Spotlight/Spotlight.js +0 -112
  1227. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +0 -29
  1228. package/dist/components/effects/Spotlight/index.d.ts +0 -2
  1229. package/dist/components/effects/SpotlightBorder/SpotlightBorder.d.ts +0 -18
  1230. package/dist/components/effects/SpotlightBorder/SpotlightBorder.js +0 -214
  1231. package/dist/components/effects/SpotlightBorder/SpotlightBorder.types.d.ts +0 -61
  1232. package/dist/components/effects/SpotlightBorder/index.d.ts +0 -2
  1233. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +0 -30
  1234. package/dist/components/effects/StickyScroll/StickyScroll.js +0 -128
  1235. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +0 -19
  1236. package/dist/components/effects/StickyScroll/index.d.ts +0 -2
  1237. package/dist/components/forms/ColorPicker/ColorPickerContent.d.ts +0 -7
  1238. package/dist/components/forms/CronInput/CronInput.d.ts +0 -3
  1239. package/dist/components/forms/CronInput/CronInput.js +0 -107
  1240. package/dist/components/forms/CronInput/CronInput.theme.d.ts +0 -6
  1241. package/dist/components/forms/CronInput/CronInput.theme.js +0 -84
  1242. package/dist/components/forms/CronInput/CronInput.types.d.ts +0 -98
  1243. package/dist/components/forms/CronInput/CronInput.utils.d.ts +0 -67
  1244. package/dist/components/forms/CronInput/CronInput.utils.js +0 -505
  1245. package/dist/components/forms/CronInput/index.d.ts +0 -4
  1246. package/dist/components/forms/DatePicker/DatePickerContent.d.ts +0 -7
  1247. package/dist/components/forms/TransferList/TransferList.animations.d.ts +0 -10
  1248. package/dist/components/forms/TransferList/TransferList.animations.js +0 -32
  1249. package/dist/components/forms/TransferList/TransferList.d.ts +0 -28
  1250. package/dist/components/forms/TransferList/TransferList.js +0 -199
  1251. package/dist/components/forms/TransferList/TransferList.theme.d.ts +0 -6
  1252. package/dist/components/forms/TransferList/TransferList.theme.js +0 -60
  1253. package/dist/components/forms/TransferList/TransferList.types.d.ts +0 -101
  1254. package/dist/components/forms/TransferList/index.d.ts +0 -3
  1255. package/dist/components/layout/FormLayout/FormLayoutBody.d.ts +0 -3
  1256. package/dist/components/layout/FormLayout/FormLayoutBody.js +0 -91
  1257. package/dist/components/layout/FormLayout/FormLayoutHeader.d.ts +0 -3
  1258. package/dist/components/layout/FormLayout/FormLayoutHeader.js +0 -12
  1259. package/dist/components/layout/PageLayout/PageLayout.d.ts +0 -7
  1260. package/dist/components/layout/PageLayout/PageLayout.js +0 -33
  1261. package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +0 -2
  1262. package/dist/components/layout/PageLayout/PageLayout.theme.js +0 -10
  1263. package/dist/components/layout/PageLayout/PageLayout.types.d.ts +0 -39
  1264. package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +0 -3
  1265. package/dist/components/layout/PageLayout/PageLayoutContent.js +0 -12
  1266. package/dist/components/layout/PageLayout/PageLayoutHeader.d.ts +0 -3
  1267. package/dist/components/layout/PageLayout/PageLayoutHeader.js +0 -12
  1268. package/dist/components/layout/PageLayout/PageLayoutSidebar.d.ts +0 -3
  1269. package/dist/components/layout/PageLayout/PageLayoutSidebar.js +0 -12
  1270. package/dist/components/layout/PageLayout/index.d.ts +0 -3
  1271. package/dist/icons/Icon.d.ts +0 -24
  1272. package/dist/icons/Icon.js +0 -30
  1273. package/dist/icons/Index.d.ts +0 -16
  1274. package/dist/icons/core/ChevronUpDown.d.ts +0 -1
  1275. package/dist/icons/core/ChevronUpDown.js +0 -7
  1276. package/dist/icons/core/DollarIcon.d.ts +0 -1
  1277. package/dist/icons/core/DollarIcon.js +0 -5
  1278. package/dist/icons/core/LockIcon.d.ts +0 -1
  1279. package/dist/icons/core/LockIcon.js +0 -5
  1280. package/dist/icons/core/MinusIcon.d.ts +0 -1
  1281. package/dist/icons/core/MinusIcon.js +0 -7
  1282. package/dist/icons/core/PlusIcon.d.ts +0 -1
  1283. package/dist/icons/core/PlusIcon.js +0 -7
  1284. package/dist/icons/core/SearchIcon.d.ts +0 -1
  1285. package/dist/icons/core/SearchIcon.js +0 -7
  1286. package/dist/icons/core/TickIcon.d.ts +0 -1
  1287. package/dist/icons/core/TickIcon.js +0 -5
  1288. package/dist/icons/core/User.d.ts +0 -1
  1289. package/dist/utils/useClickOutside.d.ts +0 -1
  1290. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.d.ts +0 -0
  1291. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.theme.d.ts +0 -0
  1292. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.types.d.ts +0 -0
  1293. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/index.d.ts +0 -0
  1294. /package/dist/components/core/{SocialIcon → Icon/data}/platforms.d.ts +0 -0
  1295. /package/dist/components/core/{SocialIcon → Icon/data}/platforms.js +0 -0
  1296. /package/dist/components/effects/{SpotlightBorder/SpotlightBorder.types.js → TiltCard/TiltCard.types.js} +0 -0
@@ -1,59 +1,38 @@
1
+ "use client";
2
+ import React__default, { useMemo, useId, useState, useRef, useEffect, useCallback, useLayoutEffect, createElement } from 'react';
1
3
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import React__default, { useMemo, useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
3
4
  import { createPortal } from 'react-dom';
4
5
  import { AnimatePresence, motion } from 'motion/react';
5
6
  import { mentionTheme } from './Mention.theme.js';
6
7
  import { cn } from '../../../utils/cn.js';
8
+ import { Avatar } from '../../core/Avatar/Avatar.js';
9
+ import { Tag } from '../../core/Tag/Tag.js';
10
+ import { MenuItem } from '../../core/MenuItem/MenuItem.js';
11
+ import { FormLabel } from '../FormLabel/FormLabel.js';
7
12
  import { useIsClient } from '../../../hooks/useIsClient.js';
13
+ import { useSurfaceElevation, SurfaceProvider, surfaceClasses } from '../../../theme/SurfaceContext.js';
14
+ import { normalizeSegments, setCaretAtOffset, getPlainTextOffset, parseDOMToSegments, serializeSegments, serializeSegmentsMasked, insertMentionIntoSegments, MENTION_ATTR } from './Mention.utils.js';
8
15
 
9
16
  // ---------------------------------------------------------------------------
10
17
  // Helpers
11
18
  // ---------------------------------------------------------------------------
12
- /**
13
- * Extract the first two initials from a label string.
14
- */
15
- const getInitials = (label) => {
16
- const parts = label.trim().split(/\s+/);
17
- if (parts.length === 1)
18
- return parts[0].charAt(0).toUpperCase();
19
- return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase();
20
- };
21
- /**
22
- * Walk backward from the caret and detect if the user is mid-mention.
23
- * Returns the active mention context or null.
24
- */
25
19
  const detectActiveMention = (text, caretPos, triggerChars) => {
26
20
  if (caretPos === 0)
27
21
  return null;
28
- // Scan backward from caret to find a trigger character
29
22
  for (let i = caretPos - 1; i >= 0; i--) {
30
23
  const ch = text[i];
31
- // If we hit a whitespace or newline before finding a trigger, stop
32
- // UNLESS the character is the very first character after a newline/space
33
- // (which means we're looking at a potential trigger at position 0
34
- // or right after whitespace).
35
24
  if (ch === "\n")
36
25
  return null;
37
26
  if (triggerChars.includes(ch)) {
38
- // The trigger must be at the start of the text or preceded by whitespace
39
27
  if (i === 0 || /\s/.test(text[i - 1])) {
40
28
  const query = text.slice(i + 1, caretPos);
41
- // Reject if the query contains whitespace (multi-word queries not supported)
42
- // Actually, allow spaces in the query for multi-word searches
43
- return {
44
- trigger: ch,
45
- query,
46
- startIndex: i,
47
- };
29
+ return { trigger: ch, query, startIndex: i };
48
30
  }
49
31
  return null;
50
32
  }
51
33
  }
52
34
  return null;
53
35
  };
54
- /**
55
- * Filter suggestions by a query string (case-insensitive label match).
56
- */
57
36
  const filterSuggestions = (suggestions, query, max) => {
58
37
  if (!query)
59
38
  return suggestions.slice(0, max);
@@ -63,6 +42,20 @@ const filterSuggestions = (suggestions, query, max) => {
63
42
  (s.description && s.description.toLowerCase().includes(lower)))
64
43
  .slice(0, max);
65
44
  };
45
+ /** Plain-text offset at the start of a given segment index. */
46
+ const getOffsetAtSegment = (segs, segIndex) => {
47
+ let offset = 0;
48
+ for (let i = 0; i < segIndex; i++) {
49
+ const s = segs[i];
50
+ if (s.type === "text") {
51
+ offset += s.text.length;
52
+ }
53
+ else {
54
+ offset += s.data.trigger.length + s.data.label.length;
55
+ }
56
+ }
57
+ return offset;
58
+ };
66
59
  // ---------------------------------------------------------------------------
67
60
  // Dropdown animation
68
61
  // ---------------------------------------------------------------------------
@@ -84,14 +77,18 @@ const dropdownVariants = {
84
77
  // ---------------------------------------------------------------------------
85
78
  // Mention component
86
79
  // ---------------------------------------------------------------------------
87
- const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions: suggestionsProp, onSearch: onSearchProp, value: controlledValue, defaultValue = "", onChange, onMentionSelect, placeholder, size = "md", maxSuggestions = 8, className, wrapperClassName, dropdownClassName, theme: themeOverrides, disabled = false, renderSuggestion, emptyMessage = "No results found", loading = false, rows = 3, ...props }, ref) => {
88
- // Merge theme
80
+ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions: suggestionsProp, onSearch: onSearchProp, value: controlledValue, defaultValue = "", onChange, onMentionSelect, onMentionsChange, placeholder, size = "md", maxSuggestions = 8, className, wrapperClassName, dropdownClassName, theme: themeOverrides, state = "default", disabled = false, helperText, required, label, renderSuggestion, emptyMessage = "No results found", loading = false, mentionTagSize = "sm", mentionTagClassName, mentionTagRemovable = true, rows = 3, style: styleProp, elevation, lift, ...props }, ref) => {
81
+ // Relative elevation: the suggestion dropdown lifts above its host surface
82
+ // (overlay base = 5) so a Mention inside a Popover/Modal still reads higher.
83
+ const surfaceLevel = useSurfaceElevation({ baseRung: 5, offset: 2, elevation, lift });
89
84
  const theme = useMemo(() => ({ ...mentionTheme, ...(themeOverrides || {}) }), [themeOverrides]);
90
- // Normalize triggers from both APIs
85
+ const generatedId = useId();
86
+ const listboxId = `${generatedId}-listbox`;
87
+ const isDisabled = state === "disabled" || disabled;
88
+ const isInvalid = state === "invalid";
91
89
  const triggers = useMemo(() => {
92
90
  if (triggersProp && triggersProp.length > 0)
93
91
  return triggersProp;
94
- // Simple API: wrap suggestions + onSearch into a single '@' trigger
95
92
  return [
96
93
  {
97
94
  trigger: "@",
@@ -101,11 +98,24 @@ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions
101
98
  ];
102
99
  }, [triggersProp, suggestionsProp, onSearchProp]);
103
100
  const triggerChars = useMemo(() => triggers.map((t) => t.trigger), [triggers]);
104
- // Value state (controlled / uncontrolled)
105
- const [internalValue, setInternalValue] = useState(defaultValue);
101
+ // --- Segment model ---
102
+ const [segments, setSegments] = useState(() => normalizeSegments([{ type: "text", text: defaultValue }]));
103
+ const mentionMapRef = useRef(new Map());
104
+ // Controlled mode: if external value diverges, reset segments to plain text
105
+ const lastSerializedRef = useRef(defaultValue);
106
106
  const isControlled = controlledValue !== undefined;
107
- const textValue = isControlled ? controlledValue : internalValue;
108
- // Focus state for input group styling
107
+ useEffect(() => {
108
+ if (isControlled && controlledValue !== lastSerializedRef.current) {
109
+ // External value changed — reset to plain text
110
+ const newSegs = normalizeSegments([
111
+ { type: "text", text: controlledValue },
112
+ ]);
113
+ setSegments(newSegs);
114
+ mentionMapRef.current.clear();
115
+ lastSerializedRef.current = controlledValue;
116
+ }
117
+ }, [isControlled, controlledValue]);
118
+ // Focus state
109
119
  const [isFocused, setIsFocused] = useState(false);
110
120
  // Active mention context
111
121
  const [activeMention, setActiveMention] = useState(null);
@@ -117,29 +127,48 @@ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions
117
127
  width: 280,
118
128
  });
119
129
  // Refs
120
- const textareaRef = useRef(null);
130
+ const editableRef = useRef(null);
121
131
  const wrapperRef = useRef(null);
122
132
  const dropdownRef = useRef(null);
123
- // SSR guard for portal
133
+ const composingRef = useRef(false);
134
+ const caretRestoreRef = useRef(null);
135
+ // Bumped on programmatic structural mutations (mention insert/remove) to
136
+ // remount the contentEditable so React rebuilds it from `segments` instead
137
+ // of diffing against a DOM the browser has already restructured. Editing a
138
+ // contentEditable lets the browser delete/merge/move React-owned nodes
139
+ // (e.g. backspacing the space before a chip removes its text span); the
140
+ // next structural reconcile then calls removeChild on a node that is no
141
+ // longer where React's fiber expects it and throws "removeChild ... not a
142
+ // child of this node". A full remount sidesteps the partial diff entirely.
143
+ // NEVER bump on typing — that path reconciles content-only changes safely
144
+ // and must keep the caret/IME composition stable.
145
+ const [editorKey, setEditorKey] = useState(0);
146
+ const lastEditorKeyRef = useRef(0);
147
+ const remountEditor = useCallback(() => setEditorKey((k) => k + 1), []);
148
+ // Mirrors the mention count React currently has committed to the DOM. Used
149
+ // by updateFromDOM to detect when a *browser-handled* edit (range-selection
150
+ // delete, cut, drag) structurally removed a chip — that desyncs React's
151
+ // fiber from the DOM, so the next reconcile must be a full remount, not a
152
+ // partial diff. Synced from `segments` after each commit (below).
153
+ const renderedMentionCountRef = useRef(0);
154
+ // Track which segment index is "selected" when clicking a mention tag
155
+ const [selectedMentionIndex, setSelectedMentionIndex] = useState(null);
124
156
  const isClient = useIsClient();
125
- // Combine forwarded ref with internal ref
126
- const setTextareaRef = useCallback((el) => {
127
- textareaRef.current = el;
157
+ const setEditableRef = useCallback((el) => {
158
+ editableRef.current = el;
128
159
  if (typeof ref === "function") {
129
160
  ref(el);
130
161
  }
131
162
  else if (ref) {
132
- ref.current =
133
- el;
163
+ ref.current = el;
134
164
  }
135
165
  }, [ref]);
136
- // Get the current trigger config for the active mention
166
+ // --- Derived ---
137
167
  const activeTriggerConfig = useMemo(() => {
138
168
  if (!activeMention)
139
169
  return null;
140
170
  return triggers.find((t) => t.trigger === activeMention.trigger) || null;
141
171
  }, [activeMention, triggers]);
142
- // Filtered suggestions for the current query
143
172
  const filteredSuggestions = useMemo(() => {
144
173
  if (!activeTriggerConfig)
145
174
  return [];
@@ -151,93 +180,44 @@ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions
151
180
  if (!activeMention || !(activeTriggerConfig === null || activeTriggerConfig === void 0 ? void 0 : activeTriggerConfig.onSearch))
152
181
  return;
153
182
  activeTriggerConfig.onSearch(activeMention.query);
154
- }, [activeMention === null || activeMention === void 0 ? void 0 : activeMention.query, activeMention === null || activeMention === void 0 ? void 0 : activeMention.trigger]); // eslint-disable-line react-hooks/exhaustive-deps
183
+ }, [activeMention === null || activeMention === void 0 ? void 0 : activeMention.query, activeMention === null || activeMention === void 0 ? void 0 : activeMention.trigger, activeTriggerConfig]);
155
184
  // Reset highlighted index when suggestions change
156
185
  useEffect(() => {
157
186
  setHighlightedIndex(filteredSuggestions.length > 0 ? 0 : -1);
158
187
  }, [filteredSuggestions.length, activeMention === null || activeMention === void 0 ? void 0 : activeMention.query]);
159
- // -----------------------------------------------------------------------
160
- // Dropdown positioning via caret coordinates
161
- // -----------------------------------------------------------------------
162
- /**
163
- * Calculate the pixel coordinates of the caret inside the textarea using
164
- * a hidden mirror div. This is the standard technique for textarea caret
165
- * positioning since browsers don't expose it natively.
166
- */
167
- const measureCaretPosition = useCallback(() => {
168
- var _a;
169
- const textarea = textareaRef.current;
170
- if (!textarea)
171
- return null;
172
- const mirror = document.createElement("div");
173
- const computed = window.getComputedStyle(textarea);
174
- // Copy all relevant styles so that text wraps identically
175
- const stylesToCopy = [
176
- "fontFamily",
177
- "fontSize",
178
- "fontWeight",
179
- "fontStyle",
180
- "letterSpacing",
181
- "textTransform",
182
- "wordSpacing",
183
- "textIndent",
184
- "whiteSpace",
185
- "wordWrap",
186
- "overflowWrap",
187
- "lineHeight",
188
- "paddingTop",
189
- "paddingRight",
190
- "paddingBottom",
191
- "paddingLeft",
192
- "borderTopWidth",
193
- "borderRightWidth",
194
- "borderBottomWidth",
195
- "borderLeftWidth",
196
- "boxSizing",
197
- ];
198
- mirror.style.position = "absolute";
199
- mirror.style.top = "0";
200
- mirror.style.left = "-9999px";
201
- mirror.style.visibility = "hidden";
202
- mirror.style.overflow = "hidden";
203
- mirror.style.width = `${textarea.offsetWidth}px`;
204
- for (const prop of stylesToCopy) {
205
- mirror.style[prop] = computed.getPropertyValue(prop.replace(/([A-Z])/g, "-$1").toLowerCase());
206
- }
207
- // Text up to the caret
208
- const caretPos = (_a = textarea.selectionStart) !== null && _a !== void 0 ? _a : 0;
209
- const textBefore = textarea.value.substring(0, caretPos);
210
- // Replace spaces with non-breaking spaces so whitespace is preserved
211
- mirror.textContent = textBefore.replace(/ /g, "\u00a0");
212
- // Place a span at the caret position to measure its coordinates
213
- const caretSpan = document.createElement("span");
214
- caretSpan.textContent = "\u200b"; // zero-width space
215
- mirror.appendChild(caretSpan);
216
- document.body.appendChild(mirror);
217
- const spanRect = caretSpan.getBoundingClientRect();
218
- const textareaRect = textarea.getBoundingClientRect();
219
- // The span position is in the mirror; we need to offset by the textarea's
220
- // actual position and account for scrollTop.
221
- const relativeTop = spanRect.top - mirror.getBoundingClientRect().top - textarea.scrollTop;
222
- const relativeLeft = spanRect.left - mirror.getBoundingClientRect().left;
223
- document.body.removeChild(mirror);
224
- return {
225
- top: textareaRect.top + relativeTop,
226
- left: textareaRect.left + relativeLeft,
227
- };
228
- }, []);
188
+ // --- Notify onMentionsChange ---
189
+ const notifyMentionsChange = useCallback((segs) => {
190
+ if (!onMentionsChange)
191
+ return;
192
+ const mentions = segs
193
+ .filter((s) => s.type === "mention")
194
+ .map((s) => s.data);
195
+ onMentionsChange(mentions);
196
+ }, [onMentionsChange]);
197
+ // --- Dropdown positioning via Range API ---
229
198
  const updateDropdownPosition = useCallback(() => {
230
- const pos = measureCaretPosition();
231
- if (!pos)
199
+ const sel = window.getSelection();
200
+ if (!sel || sel.rangeCount === 0 || !editableRef.current)
201
+ return;
202
+ const range = sel.getRangeAt(0).cloneRange();
203
+ range.collapse(true);
204
+ const rect = range.getBoundingClientRect();
205
+ // Fallback if rect is zero (e.g. empty container)
206
+ if (rect.top === 0 && rect.left === 0) {
207
+ const containerRect = editableRef.current.getBoundingClientRect();
208
+ setDropdownPos({
209
+ top: containerRect.bottom + 4,
210
+ left: containerRect.left,
211
+ width: 280,
212
+ });
232
213
  return;
233
- const lineHeight = parseFloat(window.getComputedStyle(textareaRef.current).lineHeight || "20");
214
+ }
234
215
  setDropdownPos({
235
- top: pos.top + lineHeight + 4,
236
- left: pos.left,
216
+ top: rect.bottom + 4,
217
+ left: rect.left,
237
218
  width: 280,
238
219
  });
239
- }, [measureCaretPosition]);
240
- // Reposition dropdown whenever the active mention changes
220
+ }, []);
241
221
  useLayoutEffect(() => {
242
222
  if (activeMention) {
243
223
  updateDropdownPosition();
@@ -258,99 +238,351 @@ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions
258
238
  window.removeEventListener("resize", handleReposition);
259
239
  };
260
240
  }, [isDropdownOpen, updateDropdownPosition]);
261
- // -----------------------------------------------------------------------
262
241
  // Click outside to close dropdown
263
- // -----------------------------------------------------------------------
264
242
  useEffect(() => {
265
243
  if (!isDropdownOpen)
266
244
  return;
267
245
  const handleClickOutside = (e) => {
268
246
  if (dropdownRef.current &&
269
247
  !dropdownRef.current.contains(e.target) &&
270
- textareaRef.current &&
271
- !textareaRef.current.contains(e.target)) {
248
+ editableRef.current &&
249
+ !editableRef.current.contains(e.target)) {
272
250
  setActiveMention(null);
273
251
  }
274
252
  };
275
253
  document.addEventListener("mousedown", handleClickOutside);
276
254
  return () => document.removeEventListener("mousedown", handleClickOutside);
277
255
  }, [isDropdownOpen]);
278
- // -----------------------------------------------------------------------
279
- // Handlers
280
- // -----------------------------------------------------------------------
281
- const setValue = useCallback((newValue) => {
282
- if (!isControlled) {
283
- setInternalValue(newValue);
256
+ // --- DOM cleanup & caret restore after React re-render ---
257
+ useLayoutEffect(() => {
258
+ const el = editableRef.current;
259
+ if (!el || composingRef.current)
260
+ return;
261
+ // Remove stray text nodes that are direct children of the container.
262
+ // Browser contentEditable can insert characters as direct text children
263
+ // instead of inside our React-managed <span> elements. These stray nodes
264
+ // cause text duplication when parseDOMToSegments reads them alongside
265
+ // the span content on the next input event.
266
+ for (let i = el.childNodes.length - 1; i >= 0; i--) {
267
+ const child = el.childNodes[i];
268
+ if (child.nodeType === Node.TEXT_NODE) {
269
+ el.removeChild(child);
270
+ }
284
271
  }
285
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
286
- }, [isControlled, onChange]);
287
- const handleChange = useCallback((e) => {
288
- var _a;
289
- const newValue = e.target.value;
290
- setValue(newValue);
291
- // Detect active mention from the caret position
292
- const caretPos = (_a = e.target.selectionStart) !== null && _a !== void 0 ? _a : newValue.length;
293
- const mention = detectActiveMention(newValue, caretPos, triggerChars);
294
- setActiveMention(mention);
295
- }, [setValue, triggerChars]);
296
- const handleSelect = useCallback((e) => {
297
- var _a;
298
- // When the caret moves (click, arrow keys), recheck for active mention
299
- const textarea = e.currentTarget;
300
- const caretPos = (_a = textarea.selectionStart) !== null && _a !== void 0 ? _a : 0;
301
- const mention = detectActiveMention(textarea.value, caretPos, triggerChars);
302
- setActiveMention(mention);
303
- }, [triggerChars]);
272
+ if (caretRestoreRef.current !== null) {
273
+ // A structural mutation remounts the editable div (see `editorKey`),
274
+ // which drops DOM focus. Re-focus before restoring the caret so the
275
+ // user can keep typing seamlessly after inserting/removing a mention.
276
+ if (editorKey !== lastEditorKeyRef.current && document.activeElement !== el) {
277
+ el.focus({ preventScroll: true });
278
+ }
279
+ setCaretAtOffset(el, caretRestoreRef.current);
280
+ caretRestoreRef.current = null;
281
+ }
282
+ lastEditorKeyRef.current = editorKey;
283
+ });
284
+ // Keep the committed-mention-count ref in sync so updateFromDOM can detect
285
+ // a browser-removed chip on the next edit (see renderedMentionCountRef).
286
+ useEffect(() => {
287
+ renderedMentionCountRef.current = segments.filter((s) => s.type === "mention").length;
288
+ }, [segments]);
289
+ // --- Handlers ---
290
+ const updateFromDOM = useCallback(() => {
291
+ if (!editableRef.current || composingRef.current)
292
+ return;
293
+ // Save caret position BEFORE triggering re-render
294
+ const offset = getPlainTextOffset(editableRef.current);
295
+ const newSegs = parseDOMToSegments(editableRef.current, mentionMapRef.current);
296
+ const serialized = serializeSegments(newSegs);
297
+ // Restore caret after React re-renders the contentEditable
298
+ if (offset !== null) {
299
+ caretRestoreRef.current = offset;
300
+ }
301
+ // If a browser-handled edit (range-selection delete, cut, drag) removed a
302
+ // chip, the DOM no longer matches React's fiber. A content-only reconcile
303
+ // would then call removeChild on an already-gone node and throw, so force
304
+ // a full remount instead. Pure text edits keep the count stable and
305
+ // reconcile normally — preserving caret/IME.
306
+ const newMentionCount = newSegs.filter((s) => s.type === "mention").length;
307
+ if (newMentionCount !== renderedMentionCountRef.current) {
308
+ remountEditor();
309
+ }
310
+ setSegments(newSegs);
311
+ lastSerializedRef.current = serialized;
312
+ onChange === null || onChange === void 0 ? void 0 : onChange(serialized);
313
+ notifyMentionsChange(newSegs);
314
+ // Detect active mention using masked text (hides @ from existing mentions)
315
+ if (offset !== null) {
316
+ const maskedText = serializeSegmentsMasked(newSegs);
317
+ const mention = detectActiveMention(maskedText, offset, triggerChars);
318
+ setActiveMention(mention);
319
+ }
320
+ }, [onChange, triggerChars, notifyMentionsChange, remountEditor]);
321
+ const handleInput = useCallback(() => {
322
+ setSelectedMentionIndex(null);
323
+ updateFromDOM();
324
+ }, [updateFromDOM]);
325
+ const handleSelect = useCallback(() => {
326
+ if (!editableRef.current || composingRef.current)
327
+ return;
328
+ const offset = getPlainTextOffset(editableRef.current);
329
+ if (offset !== null) {
330
+ const maskedText = serializeSegmentsMasked(segments);
331
+ const mention = detectActiveMention(maskedText, offset, triggerChars);
332
+ setActiveMention(mention);
333
+ }
334
+ }, [segments, triggerChars]);
304
335
  const insertMention = useCallback((suggestion) => {
305
- if (!activeMention || !textareaRef.current)
336
+ if (!activeMention || !editableRef.current)
306
337
  return;
307
338
  const { trigger, startIndex, query } = activeMention;
308
- const before = textValue.slice(0, startIndex);
309
- const after = textValue.slice(startIndex + 1 + query.length); // +1 for trigger char
310
- const insertText = `${trigger}${suggestion.label} `;
311
- const newValue = before + insertText + after;
312
- setValue(newValue);
339
+ const replaceLength = 1 + query.length; // trigger + query
340
+ const mentionData = {
341
+ id: suggestion.id,
342
+ label: suggestion.label,
343
+ trigger,
344
+ avatar: suggestion.avatar,
345
+ };
346
+ // Store in mention map for DOM parsing
347
+ mentionMapRef.current.set(suggestion.id, mentionData);
348
+ const newSegs = insertMentionIntoSegments(segments, mentionData, startIndex, replaceLength);
349
+ const serialized = serializeSegments(newSegs);
350
+ lastSerializedRef.current = serialized;
351
+ // Calculate where caret should go: after trigger+label+space
352
+ const caretPos = startIndex + trigger.length + suggestion.label.length + 1;
353
+ caretRestoreRef.current = caretPos;
354
+ setSegments(newSegs);
313
355
  setActiveMention(null);
314
356
  setHighlightedIndex(-1);
357
+ remountEditor();
358
+ onChange === null || onChange === void 0 ? void 0 : onChange(serialized);
359
+ notifyMentionsChange(newSegs);
315
360
  onMentionSelect === null || onMentionSelect === void 0 ? void 0 : onMentionSelect(suggestion, trigger);
316
- // Move the caret to after the inserted mention
317
- const newCaretPos = before.length + insertText.length;
318
- requestAnimationFrame(() => {
319
- if (textareaRef.current) {
320
- textareaRef.current.focus();
321
- textareaRef.current.selectionStart = newCaretPos;
322
- textareaRef.current.selectionEnd = newCaretPos;
361
+ }, [
362
+ activeMention,
363
+ segments,
364
+ onChange,
365
+ onMentionSelect,
366
+ notifyMentionsChange,
367
+ remountEditor,
368
+ ]);
369
+ // Map a mention DOM element back to its segment index. The chips are
370
+ // React-rendered, so we locate the element among all mention nodes and
371
+ // translate that position into the nth "mention" segment.
372
+ const segmentIndexForMentionEl = useCallback((mentionEl) => {
373
+ if (!editableRef.current)
374
+ return -1;
375
+ const allMentions = editableRef.current.querySelectorAll(`[${MENTION_ATTR}]`);
376
+ const domIdx = Array.from(allMentions).indexOf(mentionEl);
377
+ if (domIdx === -1)
378
+ return -1;
379
+ let count = 0;
380
+ for (let i = 0; i < segments.length; i++) {
381
+ if (segments[i].type === "mention") {
382
+ if (count === domIdx)
383
+ return i;
384
+ count++;
323
385
  }
324
- });
325
- }, [activeMention, textValue, setValue, onMentionSelect]);
386
+ }
387
+ return -1;
388
+ }, [segments]);
389
+ // Remove a mention via the segment model — NEVER by mutating the DOM.
390
+ // The chips are React-owned nodes; calling removeChild() on them directly
391
+ // desyncs React's fiber tree from the DOM and makes the next reconcile
392
+ // throw "removeChild ... not a child of this node". Splicing the segment
393
+ // and letting React drop the node keeps React the sole DOM owner. The
394
+ // caret lands at the gap the mention left (its segment start offset).
395
+ const removeMentionSegment = useCallback((segIndex) => {
396
+ const newSegs = normalizeSegments([
397
+ ...segments.slice(0, segIndex),
398
+ ...segments.slice(segIndex + 1),
399
+ ]);
400
+ caretRestoreRef.current = getOffsetAtSegment(segments, segIndex);
401
+ const serialized = serializeSegments(newSegs);
402
+ lastSerializedRef.current = serialized;
403
+ setSegments(newSegs);
404
+ setSelectedMentionIndex(null);
405
+ setActiveMention(null);
406
+ remountEditor();
407
+ onChange === null || onChange === void 0 ? void 0 : onChange(serialized);
408
+ notifyMentionsChange(newSegs);
409
+ }, [segments, onChange, notifyMentionsChange, remountEditor]);
326
410
  const handleKeyDown = useCallback((e) => {
327
- if (!isDropdownOpen)
328
- return;
329
- switch (e.key) {
330
- case "ArrowDown":
411
+ var _a;
412
+ // --- Selected mention: delete / replace / deselect ---
413
+ if (selectedMentionIndex !== null &&
414
+ ((_a = segments[selectedMentionIndex]) === null || _a === void 0 ? void 0 : _a.type) === "mention") {
415
+ if (e.key === "Backspace" || e.key === "Delete") {
331
416
  e.preventDefault();
332
- setHighlightedIndex((prev) => prev >= filteredSuggestions.length - 1 ? 0 : prev + 1);
333
- break;
334
- case "ArrowUp":
417
+ const newSegs = normalizeSegments([
418
+ ...segments.slice(0, selectedMentionIndex),
419
+ ...segments.slice(selectedMentionIndex + 1),
420
+ ]);
421
+ caretRestoreRef.current = getOffsetAtSegment(segments, selectedMentionIndex);
422
+ const serialized = serializeSegments(newSegs);
423
+ lastSerializedRef.current = serialized;
424
+ setSegments(newSegs);
425
+ setSelectedMentionIndex(null);
426
+ remountEditor();
427
+ onChange === null || onChange === void 0 ? void 0 : onChange(serialized);
428
+ notifyMentionsChange(newSegs);
429
+ return;
430
+ }
431
+ // Printable character → remove mention and insert the character
432
+ if (e.key.length === 1 && !e.ctrlKey && !e.metaKey) {
335
433
  e.preventDefault();
336
- setHighlightedIndex((prev) => prev <= 0 ? filteredSuggestions.length - 1 : prev - 1);
337
- break;
338
- case "Enter":
339
- if (highlightedIndex >= 0 && highlightedIndex < filteredSuggestions.length) {
434
+ const newSegs = normalizeSegments([
435
+ ...segments.slice(0, selectedMentionIndex),
436
+ { type: "text", text: e.key },
437
+ ...segments.slice(selectedMentionIndex + 1),
438
+ ]);
439
+ caretRestoreRef.current =
440
+ getOffsetAtSegment(segments, selectedMentionIndex) + 1;
441
+ const serialized = serializeSegments(newSegs);
442
+ lastSerializedRef.current = serialized;
443
+ setSegments(newSegs);
444
+ setSelectedMentionIndex(null);
445
+ remountEditor();
446
+ onChange === null || onChange === void 0 ? void 0 : onChange(serialized);
447
+ notifyMentionsChange(newSegs);
448
+ return;
449
+ }
450
+ // Arrow keys / Escape → just deselect
451
+ if (e.key.startsWith("Arrow") || e.key === "Escape") {
452
+ setSelectedMentionIndex(null);
453
+ return;
454
+ }
455
+ }
456
+ // --- Dropdown navigation ---
457
+ if (isDropdownOpen) {
458
+ switch (e.key) {
459
+ case "ArrowDown":
460
+ e.preventDefault();
461
+ setHighlightedIndex((prev) => prev >= filteredSuggestions.length - 1 ? 0 : prev + 1);
462
+ return;
463
+ case "ArrowUp":
464
+ e.preventDefault();
465
+ setHighlightedIndex((prev) => prev <= 0 ? filteredSuggestions.length - 1 : prev - 1);
466
+ return;
467
+ case "Enter":
468
+ if (highlightedIndex >= 0 &&
469
+ highlightedIndex < filteredSuggestions.length) {
470
+ e.preventDefault();
471
+ insertMention(filteredSuggestions[highlightedIndex]);
472
+ }
473
+ return;
474
+ case "Escape":
340
475
  e.preventDefault();
341
- insertMention(filteredSuggestions[highlightedIndex]);
476
+ setActiveMention(null);
477
+ return;
478
+ case "Tab":
479
+ setActiveMention(null);
480
+ return;
481
+ }
482
+ }
483
+ // --- Backspace into mention (atomic delete) ---
484
+ if (e.key === "Backspace" && editableRef.current) {
485
+ const sel = window.getSelection();
486
+ if (!sel || sel.rangeCount === 0)
487
+ return;
488
+ const range = sel.getRangeAt(0);
489
+ if (!range.collapsed)
490
+ return; // Let browser handle selection delete
491
+ const { startContainer, startOffset } = range;
492
+ // Case 1: Caret in a text node at offset 0, previous sibling is a mention
493
+ if (startContainer.nodeType === Node.TEXT_NODE && startOffset === 0) {
494
+ const prevSibling = startContainer.previousSibling;
495
+ if (prevSibling &&
496
+ prevSibling.nodeType === Node.ELEMENT_NODE &&
497
+ prevSibling.hasAttribute(MENTION_ATTR)) {
498
+ const segIdx = segmentIndexForMentionEl(prevSibling);
499
+ if (segIdx !== -1) {
500
+ e.preventDefault();
501
+ removeMentionSegment(segIdx);
502
+ return;
503
+ }
342
504
  }
343
- break;
344
- case "Escape":
345
- e.preventDefault();
346
- setActiveMention(null);
347
- break;
348
- case "Tab":
349
- // Close dropdown on tab without preventing default
350
- setActiveMention(null);
351
- break;
505
+ }
506
+ // Case 2: Caret in parent element, child before offset is a mention
507
+ if (startContainer.nodeType === Node.ELEMENT_NODE &&
508
+ startOffset > 0) {
509
+ const children = Array.from(startContainer.childNodes);
510
+ const prevChild = children[startOffset - 1];
511
+ if (prevChild &&
512
+ prevChild.nodeType === Node.ELEMENT_NODE &&
513
+ prevChild.hasAttribute(MENTION_ATTR)) {
514
+ const segIdx = segmentIndexForMentionEl(prevChild);
515
+ if (segIdx !== -1) {
516
+ e.preventDefault();
517
+ removeMentionSegment(segIdx);
518
+ return;
519
+ }
520
+ }
521
+ }
522
+ }
523
+ // --- Delete into mention (atomic delete) ---
524
+ if (e.key === "Delete" && editableRef.current) {
525
+ const sel = window.getSelection();
526
+ if (!sel || sel.rangeCount === 0)
527
+ return;
528
+ const range = sel.getRangeAt(0);
529
+ if (!range.collapsed)
530
+ return;
531
+ const { startContainer, startOffset } = range;
532
+ if (startContainer.nodeType === Node.TEXT_NODE) {
533
+ const textLen = (startContainer.textContent || "").length;
534
+ if (startOffset === textLen) {
535
+ const nextSibling = startContainer.nextSibling;
536
+ if (nextSibling &&
537
+ nextSibling.nodeType === Node.ELEMENT_NODE &&
538
+ nextSibling.hasAttribute(MENTION_ATTR)) {
539
+ const segIdx = segmentIndexForMentionEl(nextSibling);
540
+ if (segIdx !== -1) {
541
+ e.preventDefault();
542
+ removeMentionSegment(segIdx);
543
+ return;
544
+ }
545
+ }
546
+ }
547
+ }
548
+ if (startContainer.nodeType === Node.ELEMENT_NODE) {
549
+ const children = Array.from(startContainer.childNodes);
550
+ const nextChild = children[startOffset];
551
+ if (nextChild &&
552
+ nextChild.nodeType === Node.ELEMENT_NODE &&
553
+ nextChild.hasAttribute(MENTION_ATTR)) {
554
+ const segIdx = segmentIndexForMentionEl(nextChild);
555
+ if (segIdx !== -1) {
556
+ e.preventDefault();
557
+ removeMentionSegment(segIdx);
558
+ return;
559
+ }
560
+ }
561
+ }
562
+ }
563
+ // Prevent Enter from creating <div> - insert <br> or \n instead
564
+ if (e.key === "Enter" && !e.shiftKey && !isDropdownOpen) {
565
+ e.preventDefault();
566
+ document.execCommand("insertLineBreak");
352
567
  }
353
- }, [isDropdownOpen, highlightedIndex, filteredSuggestions, insertMention]);
568
+ }, [
569
+ isDropdownOpen,
570
+ highlightedIndex,
571
+ filteredSuggestions,
572
+ insertMention,
573
+ segmentIndexForMentionEl,
574
+ removeMentionSegment,
575
+ remountEditor,
576
+ selectedMentionIndex,
577
+ segments,
578
+ onChange,
579
+ notifyMentionsChange,
580
+ ]);
581
+ const handlePaste = useCallback((e) => {
582
+ e.preventDefault();
583
+ const text = e.clipboardData.getData("text/plain");
584
+ document.execCommand("insertText", false, text);
585
+ }, []);
354
586
  const handleFocus = useCallback((e) => {
355
587
  var _a;
356
588
  setIsFocused(true);
@@ -358,9 +590,29 @@ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions
358
590
  }, [props.onFocus]);
359
591
  const handleBlur = useCallback((e) => {
360
592
  var _a;
593
+ setSelectedMentionIndex(null);
361
594
  setIsFocused(false);
362
595
  (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
363
596
  }, [props.onBlur]);
597
+ const handleCompositionStart = useCallback(() => {
598
+ composingRef.current = true;
599
+ }, []);
600
+ const handleCompositionEnd = useCallback(() => {
601
+ composingRef.current = false;
602
+ updateFromDOM();
603
+ }, [updateFromDOM]);
604
+ // Click on a mention tag → mark its segment index as selected
605
+ const handleClick = useCallback((e) => {
606
+ var _a;
607
+ const target = e.target;
608
+ const mentionEl = (_a = target.closest) === null || _a === void 0 ? void 0 : _a.call(target, `[${MENTION_ATTR}]`);
609
+ if (!mentionEl || !editableRef.current) {
610
+ setSelectedMentionIndex(null);
611
+ return;
612
+ }
613
+ const segIdx = segmentIndexForMentionEl(mentionEl);
614
+ setSelectedMentionIndex(segIdx === -1 ? null : segIdx);
615
+ }, [segmentIndexForMentionEl]);
364
616
  // Scroll highlighted suggestion into view
365
617
  useEffect(() => {
366
618
  if (highlightedIndex >= 0 && dropdownRef.current) {
@@ -370,28 +622,72 @@ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions
370
622
  }
371
623
  }
372
624
  }, [highlightedIndex]);
625
+ // --- Check if content is empty for placeholder ---
626
+ const isContentEmpty = useMemo(() => {
627
+ return segments.every((s) => s.type === "text" && s.text === "");
628
+ }, [segments]);
629
+ // -----------------------------------------------------------------------
630
+ // Render segments as React children
631
+ // -----------------------------------------------------------------------
632
+ const renderedSegments = useMemo(() => {
633
+ return segments.map((seg, i) => {
634
+ if (seg.type === "text") {
635
+ return (jsx("span", { "data-segment": "text", children: seg.text }, `text-${i}`));
636
+ }
637
+ return (jsx(Tag, { size: mentionTagSize, removable: mentionTagRemovable,
638
+ // Route removal through the segment model (same path as keyboard
639
+ // delete) so React stays the DOM owner and the editor remounts
640
+ // cleanly. stopPropagation in Tag keeps this click from also
641
+ // selecting the chip via the editable's onClick.
642
+ onRemove: () => removeMentionSegment(i), animated: false,
643
+ // Always pass the avatar object (src may be undefined) so the chip
644
+ // shows the initials fallback when no photo is available — matching
645
+ // the suggestion dropdown. Avatar renders the first initial at xs.
646
+ avatar: { src: seg.data.avatar, name: seg.data.label }, contentEditable: false, className: cn(
647
+ // align-middle: avatar vs text-only chips have differing intrinsic
648
+ // heights and an inline-flex baseline is ill-defined, so center on
649
+ // the line's middle to keep every chip level when used inline.
650
+ "align-middle", i === selectedMentionIndex &&
651
+ "ring-2 ring-[var(--color-primary)] ring-offset-1", mentionTagClassName), [MENTION_ATTR]: seg.data.id,
652
+ "data-mention-label": seg.data.label,
653
+ "data-mention-trigger": seg.data.trigger, children: seg.data.label }, `mention-${seg.data.id}-${i}`));
654
+ });
655
+ }, [
656
+ segments,
657
+ mentionTagSize,
658
+ mentionTagClassName,
659
+ mentionTagRemovable,
660
+ removeMentionSegment,
661
+ selectedMentionIndex,
662
+ ]);
373
663
  // -----------------------------------------------------------------------
374
664
  // Render suggestion item
375
665
  // -----------------------------------------------------------------------
376
666
  const renderSuggestionItem = (suggestion, index) => {
377
667
  const isHighlighted = index === highlightedIndex;
378
668
  const triggerChar = (activeMention === null || activeMention === void 0 ? void 0 : activeMention.trigger) || "@";
379
- // Custom renderer
380
669
  if (renderSuggestion) {
381
670
  return (jsx("div", { role: "option", "aria-selected": isHighlighted, "data-suggestion-index": index, className: cn(theme.suggestionStyle, isHighlighted && theme.suggestionHighlightedStyle), onMouseEnter: () => setHighlightedIndex(index), onMouseDown: (e) => {
382
- e.preventDefault(); // Prevent textarea blur
671
+ e.preventDefault();
383
672
  insertMention(suggestion);
384
673
  }, children: renderSuggestion(suggestion, isHighlighted, triggerChar) }, suggestion.id));
385
674
  }
386
- return (jsxs("div", { role: "option", "aria-selected": isHighlighted, "data-suggestion-index": index, className: cn(theme.suggestionStyle, isHighlighted && theme.suggestionHighlightedStyle), onMouseEnter: () => setHighlightedIndex(index), onMouseDown: (e) => {
387
- e.preventDefault(); // Prevent textarea blur
675
+ return (jsx(MenuItem, { role: "option", "aria-selected": isHighlighted, "data-suggestion-index": index,
676
+ // Drives MenuItem's selected styling; highlight follows keyboard nav
677
+ // (and hover, via onMouseEnter setting highlightedIndex).
678
+ selected: isHighlighted, startContent: jsx(Avatar, { src: suggestion.avatar, name: suggestion.label, size: "xs", className: "ring-0 border-0" }), subtitle: suggestion.description, onMouseEnter: () => setHighlightedIndex(index),
679
+ // mousedown + preventDefault keeps focus in the contentEditable so
680
+ // selecting a suggestion never blurs the editor (MenuItem's onClick/
681
+ // onActivate path would fire too late, after focus moves).
682
+ onMouseDown: (e) => {
683
+ e.preventDefault();
388
684
  insertMention(suggestion);
389
- }, children: [suggestion.avatar ? (jsx("img", { src: suggestion.avatar, alt: suggestion.label, className: theme.suggestionAvatarStyle })) : (jsx("div", { className: theme.suggestionAvatarFallbackStyle, children: getInitials(suggestion.label) })), jsxs("div", { className: "flex flex-col min-w-0", children: [jsx("span", { className: theme.suggestionLabelStyle, children: suggestion.label }), suggestion.description && (jsx("span", { className: theme.suggestionDescriptionStyle, children: suggestion.description }))] })] }, suggestion.id));
685
+ }, children: suggestion.label }, suggestion.id));
390
686
  };
391
687
  // -----------------------------------------------------------------------
392
688
  // Dropdown portal content
393
689
  // -----------------------------------------------------------------------
394
- const dropdownContent = (jsx(AnimatePresence, { mode: "wait", children: isDropdownOpen && (jsx(motion.div, { ref: dropdownRef, role: "listbox", "aria-label": "Suggestions", className: cn(theme.dropdownStyle, dropdownClassName), style: {
690
+ const dropdownContent = (jsx(AnimatePresence, { mode: "wait", children: isDropdownOpen && (jsx(motion.div, { ref: dropdownRef, id: listboxId, "data-flikkui-portal": "", role: "listbox", "aria-label": "Suggestions", className: cn(surfaceClasses(surfaceLevel, { translucent: true }), theme.dropdownStyle, dropdownClassName), style: {
395
691
  position: "fixed",
396
692
  top: `${dropdownPos.top}px`,
397
693
  left: `${dropdownPos.left}px`,
@@ -399,11 +695,21 @@ const Mention = React__default.forwardRef(({ triggers: triggersProp, suggestions
399
695
  maxWidth: "360px",
400
696
  zIndex: 1000,
401
697
  overscrollBehavior: "contain",
402
- }, variants: dropdownVariants, initial: "initial", animate: "visible", exit: "exit", children: loading ? (jsx("div", { className: theme.loadingStyle, children: "Searching..." })) : filteredSuggestions.length === 0 ? (jsx("div", { className: theme.emptyMessageStyle, children: emptyMessage })) : (filteredSuggestions.map((suggestion, index) => renderSuggestionItem(suggestion, index))) })) }));
698
+ }, variants: dropdownVariants, initial: "initial", animate: "visible", exit: "exit", children: jsx(SurfaceProvider, { level: surfaceLevel, children: loading ? (jsx("div", { className: theme.loadingStyle, children: "Searching..." })) : filteredSuggestions.length === 0 ? (jsx("div", { className: theme.emptyMessageStyle, children: emptyMessage })) : (filteredSuggestions.map((suggestion, index) => renderSuggestionItem(suggestion, index))) }) })) }));
403
699
  // -----------------------------------------------------------------------
404
700
  // Render
405
701
  // -----------------------------------------------------------------------
406
- return (jsxs("div", { className: cn(theme.wrapperStyle, wrapperClassName), children: [jsx("div", { ref: wrapperRef, className: cn(theme.inputGroupStyle, isFocused && theme.inputGroupFocusStyle), children: jsx("textarea", { ref: setTextareaRef, value: textValue, onChange: handleChange, onSelect: handleSelect, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur, placeholder: placeholder, disabled: disabled, rows: rows, role: "textbox", "aria-multiline": "true", "aria-autocomplete": "list", "aria-expanded": isDropdownOpen, "aria-haspopup": "listbox", className: cn(theme.textareaStyle, theme.sizes[size], className), ...props }) }), isClient && createPortal(dropdownContent, document.body)] }));
702
+ const helperId = `${generatedId}-helper`;
703
+ const labelId = `${generatedId}-label`;
704
+ return (jsxs("div", { className: cn(theme.wrapperStyle, wrapperClassName), children: [label && (jsx(FormLabel, { id: labelId, htmlFor: generatedId, state: isDisabled ? "disabled" : isInvalid ? "invalid" : "default", required: required, className: "mb-1.5", children: label })), jsx("div", { ref: wrapperRef, className: cn(theme.inputGroupStyle, isInvalid && theme.invalidStyle, isFocused &&
705
+ (isInvalid ? theme.invalidFocusStyle : theme.inputGroupFocusStyle)), children: createElement("div", { ...props, key: editorKey, ref: setEditableRef, id: generatedId, contentEditable: !isDisabled, suppressContentEditableWarning: true, onInput: handleInput, onKeyDown: handleKeyDown, onClick: handleClick, onFocus: handleFocus, onBlur: handleBlur, onPaste: handlePaste, onSelect: handleSelect, onCompositionStart: handleCompositionStart, onCompositionEnd: handleCompositionEnd, role: "combobox", "aria-autocomplete": "list", "aria-expanded": isDropdownOpen, "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-placeholder": placeholder, "aria-required": required || undefined, "data-placeholder": placeholder, "aria-disabled": isDisabled || undefined, "aria-invalid": isInvalid || undefined, "aria-describedby": helperText ? helperId : undefined, "aria-labelledby": label ? labelId : undefined, className: cn(theme.editableStyle, theme.sizes[size], isContentEmpty &&
706
+ "before:content-[attr(data-placeholder)] before:text-[var(--color-text-placeholder)] before:pointer-events-none before:absolute", isDisabled && "cursor-not-allowed opacity-60", className), style: {
707
+ minHeight: rows ? `${rows * 1.5}em` : undefined,
708
+ ...styleProp,
709
+ position: "relative",
710
+ } }, renderedSegments) }), helperText && (jsx("div", { id: helperId, className: cn("text-sm mt-1", isInvalid
711
+ ? "text-[var(--color-danger)]"
712
+ : "text-[var(--color-text-muted)]"), children: helperText })), isClient && createPortal(dropdownContent, document.body)] }));
407
713
  });
408
714
  Mention.displayName = "Mention";
409
715