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

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 (1373) hide show
  1. package/CHANGELOG.md +1281 -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/AgentStatus/AgentStatus.d.ts +3 -0
  26. package/dist/components/ai/AgentStatus/AgentStatus.js +144 -0
  27. package/dist/components/ai/AgentStatus/AgentStatus.theme.d.ts +2 -0
  28. package/dist/components/ai/AgentStatus/AgentStatus.theme.js +37 -0
  29. package/dist/components/ai/AgentStatus/AgentStatus.types.d.ts +116 -0
  30. package/dist/components/ai/AgentStatus/index.d.ts +3 -0
  31. package/dist/components/ai/CodeBlock/CodeBlock.js +24 -7
  32. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +3 -4
  33. package/dist/components/ai/CodeBlock/CodeBlock.types.d.ts +0 -2
  34. package/dist/components/ai/CodeBlock/LanguageIcon.js +1 -0
  35. package/dist/components/ai/PromptInput/PromptInput.animations.d.ts +25 -0
  36. package/dist/components/ai/PromptInput/PromptInput.animations.js +61 -0
  37. package/dist/components/ai/PromptInput/PromptInput.js +110 -150
  38. package/dist/components/ai/PromptInput/PromptInput.theme.js +24 -3
  39. package/dist/components/ai/PromptInput/PromptInput.types.d.ts +49 -1
  40. package/dist/components/ai/PromptInput/VoiceRecorder.d.ts +11 -0
  41. package/dist/components/ai/PromptInput/VoiceRecorder.js +328 -0
  42. package/dist/components/ai/PromptInput/VoiceRecorder.types.d.ts +17 -0
  43. package/dist/components/ai/PromptInput/index.d.ts +1 -0
  44. package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.js +1 -0
  45. package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.theme.js +4 -4
  46. package/dist/components/ai/Reasoning/Reasoning.d.ts +5 -0
  47. package/dist/components/ai/Reasoning/Reasoning.js +16 -0
  48. package/dist/components/ai/Reasoning/Reasoning.types.d.ts +20 -0
  49. package/dist/components/ai/Reasoning/index.d.ts +2 -0
  50. package/dist/components/ai/SourceCitation/SourceCitation.d.ts +4 -0
  51. package/dist/components/ai/SourceCitation/SourceCitation.js +29 -0
  52. package/dist/components/ai/SourceCitation/SourceCitation.theme.d.ts +2 -0
  53. package/dist/components/ai/SourceCitation/SourceCitation.theme.js +23 -0
  54. package/dist/components/ai/SourceCitation/SourceCitation.types.d.ts +55 -0
  55. package/dist/components/ai/SourceCitation/index.d.ts +3 -0
  56. package/dist/components/ai/StreamingResponse/AnimatedText.js +4 -3
  57. package/dist/components/ai/StreamingResponse/ErrorDisplay.js +3 -2
  58. package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -2
  59. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +60 -35
  60. package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +4 -5
  61. package/dist/components/ai/StreamingResponse/StreamingCursor.js +14 -10
  62. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +9 -2
  63. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +37 -12
  64. package/dist/components/ai/StreamingResponse/StreamingResponse.js +9 -4
  65. package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +3 -1
  66. package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +9 -7
  67. package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +27 -0
  68. package/dist/components/ai/StreamingResponse/WordAnimationContext.js +136 -0
  69. package/dist/components/ai/StreamingResponse/index.d.ts +3 -1
  70. package/dist/components/ai/TokenCounter/TokenCounter.js +3 -2
  71. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  72. package/dist/components/ai/index.d.ts +5 -9
  73. package/dist/components/ai/index.js +14 -8
  74. package/dist/components/ai/shared/StatusIndicator.d.ts +8 -0
  75. package/dist/components/ai/shared/StatusIndicator.js +34 -0
  76. package/dist/components/canvas/Background.d.ts +19 -0
  77. package/dist/components/canvas/Background.js +24 -0
  78. package/dist/components/canvas/BaseNode.d.ts +15 -0
  79. package/dist/components/canvas/BaseNode.js +20 -0
  80. package/dist/components/canvas/CanvasToolbar.d.ts +34 -0
  81. package/dist/components/canvas/CanvasToolbar.js +35 -0
  82. package/dist/components/canvas/Edge.d.ts +32 -0
  83. package/dist/components/canvas/Edge.js +113 -0
  84. package/dist/components/canvas/EdgeLayer.d.ts +19 -0
  85. package/dist/components/canvas/EdgeLayer.js +121 -0
  86. package/dist/components/canvas/Handle.d.ts +11 -0
  87. package/dist/components/canvas/Handle.js +64 -0
  88. package/dist/components/canvas/MiniMap.d.ts +22 -0
  89. package/dist/components/canvas/MiniMap.js +106 -0
  90. package/dist/components/canvas/NodeCanvas.d.ts +10 -0
  91. package/dist/components/canvas/NodeCanvas.js +481 -0
  92. package/dist/components/canvas/NodeCanvas.theme.d.ts +7 -0
  93. package/dist/components/canvas/NodeCanvas.theme.js +9 -0
  94. package/dist/components/canvas/NodeCanvas.types.d.ts +191 -0
  95. package/dist/components/canvas/NodeControls.d.ts +25 -0
  96. package/dist/components/canvas/NodeControls.js +41 -0
  97. package/dist/components/canvas/NodeRenderer.d.ts +22 -0
  98. package/dist/components/canvas/NodeRenderer.js +126 -0
  99. package/dist/components/canvas/changes.d.ts +11 -0
  100. package/dist/components/canvas/changes.js +76 -0
  101. package/dist/components/canvas/changes.test.d.ts +1 -0
  102. package/dist/components/canvas/context/CanvasContext.d.ts +41 -0
  103. package/dist/components/canvas/context/CanvasContext.js +34 -0
  104. package/dist/components/canvas/context/ConnectionContext.d.ts +33 -0
  105. package/dist/components/canvas/context/ConnectionContext.js +14 -0
  106. package/dist/components/canvas/context/HandleRegistry.d.ts +24 -0
  107. package/dist/components/canvas/context/HandleRegistry.js +16 -0
  108. package/dist/components/canvas/context/InteractionContext.d.ts +18 -0
  109. package/dist/components/canvas/context/InteractionContext.js +15 -0
  110. package/dist/components/canvas/context/NodeIdContext.d.ts +3 -0
  111. package/dist/components/canvas/context/NodeIdContext.js +16 -0
  112. package/dist/components/canvas/hooks/useConnection.d.ts +17 -0
  113. package/dist/components/canvas/hooks/useConnection.js +30 -0
  114. package/dist/components/canvas/hooks/useMarquee.d.ts +25 -0
  115. package/dist/components/canvas/hooks/useMarquee.js +92 -0
  116. package/dist/components/canvas/hooks/useNodeDrag.d.ts +23 -0
  117. package/dist/components/canvas/hooks/useNodeDrag.js +111 -0
  118. package/dist/components/canvas/hooks/usePanZoom.d.ts +30 -0
  119. package/dist/components/canvas/hooks/usePanZoom.js +195 -0
  120. package/dist/components/canvas/hooks/useViewport.d.ts +21 -0
  121. package/dist/components/canvas/hooks/useViewport.js +36 -0
  122. package/dist/components/canvas/index.d.ts +14 -0
  123. package/dist/components/canvas/index.js +12 -0
  124. package/dist/components/canvas/layout.d.ts +22 -0
  125. package/dist/components/canvas/layout.js +67 -0
  126. package/dist/components/canvas/layout.test.d.ts +1 -0
  127. package/dist/components/canvas/utils.d.ts +4 -0
  128. package/dist/components/canvas/utils.js +16 -0
  129. package/dist/components/canvas/utils.test.d.ts +1 -0
  130. package/dist/components/charts/ActivityRings/ActivityRings.js +29 -18
  131. package/dist/components/charts/ActivityRings/ActivityRings.types.d.ts +2 -3
  132. package/dist/components/charts/ActivityRings/ActivityRings.types.js +2 -1
  133. package/dist/components/charts/AreaChart/AreaChart.js +213 -176
  134. package/dist/components/charts/AreaChart/AreaChart.theme.d.ts +1 -6
  135. package/dist/components/charts/AreaChart/AreaChart.theme.js +7 -19
  136. package/dist/components/charts/AreaChart/AreaChart.types.d.ts +23 -16
  137. package/dist/components/charts/AreaChart/AreaChart.types.js +11 -3
  138. package/dist/components/charts/AreaChart/index.d.ts +1 -1
  139. package/dist/components/charts/BarChart/BarChart.js +220 -185
  140. package/dist/components/charts/BarChart/BarChart.types.d.ts +22 -18
  141. package/dist/components/charts/BarChart/BarChart.types.js +12 -4
  142. package/dist/components/charts/ChartContainer.d.ts +7 -0
  143. package/dist/components/charts/ChartContainer.js +11 -8
  144. package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.d.ts +3 -1
  145. package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.js +145 -107
  146. package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.types.d.ts +17 -5
  147. package/dist/components/charts/ComboChart/ComboChart.js +29 -25
  148. package/dist/components/charts/ComboChart/ComboChart.types.d.ts +18 -16
  149. package/dist/components/charts/ComboChart/ComboChart.types.js +18 -2
  150. package/dist/components/charts/ComboChart/ComboChartCanvas.d.ts +98 -0
  151. package/dist/components/charts/{shared/ChartContainer/ChartContainer.js → ComboChart/ComboChartCanvas.js} +41 -44
  152. package/dist/components/charts/{shared/ChartContainer/ChartContainer.types.d.ts → ComboChart/ComboChartCanvas.types.d.ts} +23 -3
  153. package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.d.ts +3 -1
  154. package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.js +42 -24
  155. package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.types.d.ts +11 -5
  156. package/dist/components/charts/DonutChart/DonutChart.js +3 -2
  157. package/dist/components/charts/DonutChart/DonutChart.theme.js +1 -1
  158. package/dist/components/charts/DonutChart/DonutChart.types.d.ts +1 -2
  159. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.js +10 -24
  160. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.types.d.ts +1 -2
  161. package/dist/components/charts/DonutChart/donut-utils.js +1 -0
  162. package/dist/components/charts/FunnelChart/FunnelChart.animations.js +1 -48
  163. package/dist/components/charts/FunnelChart/FunnelChart.d.ts +3 -4
  164. package/dist/components/charts/FunnelChart/FunnelChart.js +306 -358
  165. package/dist/components/charts/Heatmap/Heatmap.js +29 -36
  166. package/dist/components/charts/Heatmap/HeatmapCell.js +2 -1
  167. package/dist/components/charts/Heatmap/HeatmapLegend.js +1 -1
  168. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.d.ts +16 -0
  169. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +237 -0
  170. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.d.ts +62 -0
  171. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.js +21 -0
  172. package/dist/components/charts/HorizontalBarChart/index.d.ts +3 -0
  173. package/dist/components/charts/LineChart/LineChart.js +197 -167
  174. package/dist/components/charts/LineChart/LineChart.types.d.ts +14 -17
  175. package/dist/components/charts/LineChart/LineChart.types.js +11 -3
  176. package/dist/components/charts/LollipopChart/LollipopChart.d.ts +3 -0
  177. package/dist/components/charts/LollipopChart/LollipopChart.js +361 -0
  178. package/dist/components/charts/LollipopChart/LollipopChart.types.d.ts +42 -0
  179. package/dist/components/charts/LollipopChart/LollipopChart.types.js +12 -0
  180. package/dist/components/charts/LollipopChart/index.d.ts +3 -0
  181. package/dist/components/charts/RadarChart/RadarChart.js +10 -2
  182. package/dist/components/charts/RadarChart/RadarChart.theme.js +5 -10
  183. package/dist/components/charts/RadarChart/RadarChart.types.d.ts +0 -8
  184. package/dist/components/charts/ScatterPlot/ScatterPlot.js +72 -72
  185. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -4
  186. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +10 -6
  187. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +15 -26
  188. package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +9 -2
  189. package/dist/components/charts/StackedBarChart/StackedBarChart.js +209 -154
  190. package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +22 -20
  191. package/dist/components/charts/StackedBarChart/StackedBarChart.types.js +13 -4
  192. package/dist/components/charts/hooks/index.d.ts +3 -1
  193. package/dist/components/charts/hooks/useChartAccessibility.d.ts +1 -1
  194. package/dist/components/charts/hooks/useChartAccessibility.js +4 -0
  195. package/dist/components/charts/hooks/useChartDimensions.d.ts +29 -0
  196. package/dist/components/charts/hooks/useChartDimensions.js +43 -0
  197. package/dist/components/charts/hooks/useChartScales.js +1 -1
  198. package/dist/components/charts/hooks/useChartTheme.js +1 -0
  199. package/dist/components/charts/hooks/useChartValidation.d.ts +0 -8
  200. package/dist/components/charts/hooks/useChartValidation.js +1 -0
  201. package/dist/components/charts/hooks/useTooltipPosition.js +19 -6
  202. package/dist/components/charts/index.d.ts +9 -3
  203. package/dist/components/charts/index.js +7 -3
  204. package/dist/components/charts/shared/ChartAxis/CategoryYAxis.d.ts +14 -0
  205. package/dist/components/charts/shared/ChartAxis/CategoryYAxis.js +35 -0
  206. package/dist/components/charts/shared/ChartAxis/ChartAxis.types.d.ts +69 -8
  207. package/dist/components/charts/shared/ChartAxis/ValueXAxis.d.ts +14 -0
  208. package/dist/components/charts/shared/ChartAxis/ValueXAxis.js +64 -0
  209. package/dist/components/charts/shared/ChartAxis/XAxis.js +1 -1
  210. package/dist/components/charts/shared/ChartAxis/YAxis.js +2 -2
  211. package/dist/components/charts/shared/ChartAxis/index.d.ts +3 -1
  212. package/dist/components/charts/shared/ChartCrosshair/ChartCrosshair.js +5 -12
  213. package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +2 -1
  214. package/dist/components/charts/shared/ChartGrid/HorizontalGrid.d.ts +0 -2
  215. package/dist/components/charts/shared/ChartGrid/HorizontalGrid.js +1 -1
  216. package/dist/components/charts/shared/ChartGrid/VerticalGrid.d.ts +29 -0
  217. package/dist/components/charts/shared/ChartGrid/VerticalGrid.js +26 -0
  218. package/dist/components/charts/shared/ChartGrid/index.d.ts +2 -0
  219. package/dist/components/charts/shared/ChartLegend/ChartLegend.d.ts +5 -2
  220. package/dist/components/charts/shared/ChartLegend/ChartLegend.js +15 -22
  221. package/dist/components/charts/shared/ChartLegend/ChartLegend.types.d.ts +7 -12
  222. package/dist/components/charts/shared/ChartLegend/index.d.ts +2 -3
  223. package/dist/components/charts/shared/ChartMarker/ChartMarker.js +8 -1
  224. package/dist/components/charts/shared/ChartText/ChartText.js +2 -1
  225. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.js +4 -13
  226. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +1 -1
  227. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.types.d.ts +13 -2
  228. package/dist/components/charts/shared/index.d.ts +0 -7
  229. package/dist/components/charts/theme/chart.theme.js +24 -23
  230. package/dist/components/charts/types/chart.types.d.ts +35 -7
  231. package/dist/components/charts/types/chart.types.js +11 -10
  232. package/dist/components/charts/utils/animation-utils.d.ts +95 -0
  233. package/dist/components/charts/utils/animation-utils.js +148 -2
  234. package/dist/components/charts/utils/bar-emphasis.d.ts +109 -0
  235. package/dist/components/charts/utils/bar-emphasis.js +85 -0
  236. package/dist/components/charts/utils/chart-validation.js +7 -0
  237. package/dist/components/charts/utils/index.d.ts +1 -0
  238. package/dist/components/charts/utils/series-color.d.ts +7 -0
  239. package/dist/components/charts/utils/series-color.js +20 -0
  240. package/dist/components/core/Accordion/Accordion.animations.d.ts +6 -1
  241. package/dist/components/core/Accordion/Accordion.animations.js +15 -1
  242. package/dist/components/core/Accordion/Accordion.d.ts +4 -4
  243. package/dist/components/core/Accordion/Accordion.js +23 -19
  244. package/dist/components/core/Accordion/Accordion.theme.d.ts +2 -2
  245. package/dist/components/core/Accordion/Accordion.theme.js +7 -7
  246. package/dist/components/core/Accordion/Accordion.types.d.ts +63 -5
  247. package/dist/components/core/Accordion/AccordionBody.d.ts +3 -0
  248. package/dist/components/core/Accordion/{AccordionContent.js → AccordionBody.js} +6 -5
  249. package/dist/components/core/Accordion/AccordionContext.d.ts +3 -0
  250. package/dist/components/core/Accordion/AccordionContext.js +15 -0
  251. package/dist/components/core/Accordion/AccordionItem.js +14 -10
  252. package/dist/components/core/Accordion/AccordionTrigger.js +52 -10
  253. package/dist/components/core/Accordion/index.d.ts +2 -2
  254. package/dist/components/core/Alert/Alert.animations.d.ts +12 -0
  255. package/dist/components/core/Alert/Alert.animations.js +60 -0
  256. package/dist/components/core/Alert/Alert.js +29 -10
  257. package/dist/components/core/Alert/Alert.theme.js +3 -12
  258. package/dist/components/core/Alert/Alert.types.d.ts +6 -13
  259. package/dist/components/core/Alert/index.d.ts +1 -1
  260. package/dist/components/core/AlertDialog/AlertDialog.js +15 -1
  261. package/dist/components/core/Avatar/Avatar.js +104 -39
  262. package/dist/components/core/Avatar/Avatar.theme.d.ts +10 -8
  263. package/dist/components/core/Avatar/Avatar.theme.js +80 -14
  264. package/dist/components/core/Avatar/Avatar.types.d.ts +55 -9
  265. package/dist/components/core/Avatar/index.d.ts +1 -1
  266. package/dist/components/core/AvatarGroup/AvatarGroup.animations.js +3 -2
  267. package/dist/components/core/AvatarGroup/AvatarGroup.js +12 -10
  268. package/dist/components/core/AvatarGroup/AvatarGroup.theme.d.ts +1 -2
  269. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +6 -8
  270. package/dist/components/core/AvatarGroup/AvatarGroup.types.d.ts +0 -6
  271. package/dist/components/core/AvatarGroup/index.d.ts +1 -1
  272. package/dist/components/core/Badge/Badge.animations.js +6 -3
  273. package/dist/components/core/Badge/Badge.d.ts +1 -1
  274. package/dist/components/core/Badge/Badge.js +36 -74
  275. package/dist/components/core/Badge/Badge.theme.js +75 -66
  276. package/dist/components/core/Badge/Badge.types.d.ts +21 -34
  277. package/dist/components/core/Breadcrumbs/Breadcrumbs.js +24 -25
  278. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.d.ts +1 -4
  279. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +4 -4
  280. package/dist/components/core/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
  281. package/dist/components/core/Button/Button.d.ts +1 -1
  282. package/dist/components/core/Button/Button.js +49 -53
  283. package/dist/components/core/Button/Button.ripple.d.ts +5 -1
  284. package/dist/components/core/Button/Button.ripple.js +31 -24
  285. package/dist/components/core/Button/Button.theme.d.ts +4 -4
  286. package/dist/components/core/Button/Button.theme.js +63 -92
  287. package/dist/components/core/Button/Button.types.d.ts +23 -7
  288. package/dist/components/core/Button/index.d.ts +2 -0
  289. package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +6 -6
  290. package/dist/components/core/ButtonGroup/ButtonGroupText.js +1 -3
  291. package/dist/components/core/Calendar/Calendar.animations.js +1 -0
  292. package/dist/components/core/Calendar/Calendar.js +134 -10
  293. package/dist/components/core/Calendar/Calendar.theme.js +22 -26
  294. package/dist/components/core/Calendar/Calendar.types.d.ts +4 -2
  295. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +5 -6
  296. package/dist/components/core/Calendar/CalendarMini/CalendarMini.animations.js +1 -0
  297. package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +9 -5
  298. package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +2 -2
  299. package/dist/components/core/Card/Card.d.ts +2 -2
  300. package/dist/components/core/Card/Card.js +17 -6
  301. package/dist/components/core/Card/Card.theme.js +16 -6
  302. package/dist/components/core/Card/Card.types.d.ts +43 -15
  303. package/dist/components/core/Card/CardBody.d.ts +3 -0
  304. package/dist/components/core/Card/CardBody.js +11 -0
  305. package/dist/components/core/Card/CardFooter.js +1 -1
  306. package/dist/components/core/Card/CardHeader.js +1 -1
  307. package/dist/components/core/Card/CardSubtitle.d.ts +1 -1
  308. package/dist/components/core/Card/CardTitle.d.ts +1 -1
  309. package/dist/components/core/Card/index.d.ts +2 -2
  310. package/dist/components/core/CardStack/CardStack.js +1 -0
  311. package/dist/components/core/Carousel/Carousel.js +5 -4
  312. package/dist/components/core/Carousel/Carousel.types.d.ts +4 -4
  313. package/dist/components/core/Carousel/CarouselBody.d.ts +4 -0
  314. package/dist/components/core/Carousel/{CarouselContent.js → CarouselBody.js} +12 -5
  315. package/dist/components/core/Carousel/CarouselContext.js +1 -0
  316. package/dist/components/core/Carousel/CarouselNext.js +3 -2
  317. package/dist/components/core/Carousel/CarouselPrevious.js +3 -2
  318. package/dist/components/core/Carousel/index.d.ts +2 -1
  319. package/dist/components/core/CommandPalette/CommandItem.js +5 -5
  320. package/dist/components/core/CommandPalette/CommandPalette.animations.js +1 -0
  321. package/dist/components/core/CommandPalette/CommandPalette.js +61 -14
  322. package/dist/components/core/CommandPalette/CommandPalette.theme.js +15 -18
  323. package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +16 -2
  324. package/dist/components/core/ContextMenu/ContextMenu.d.ts +2 -2
  325. package/dist/components/core/ContextMenu/ContextMenu.js +38 -15
  326. package/dist/components/core/ContextMenu/ContextMenu.theme.js +15 -15
  327. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +19 -2
  328. package/dist/components/core/ContextMenu/ContextMenuBody.d.ts +6 -0
  329. package/dist/components/core/ContextMenu/{ContextMenuContent.js → ContextMenuBody.js} +20 -11
  330. package/dist/components/core/ContextMenu/ContextMenuContext.js +1 -0
  331. package/dist/components/core/ContextMenu/ContextMenuItem.js +19 -9
  332. package/dist/components/core/ContextMenu/ContextMenuLabel.js +1 -0
  333. package/dist/components/core/ContextMenu/ContextMenuSeparator.js +1 -0
  334. package/dist/components/core/ContextMenu/ContextMenuSub.js +4 -3
  335. package/dist/components/core/ContextMenu/ContextMenuSubBody.d.ts +6 -0
  336. package/dist/components/core/ContextMenu/{ContextMenuSubContent.js → ContextMenuSubBody.js} +16 -9
  337. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +4 -3
  338. package/dist/components/core/ContextMenu/ContextMenuTrigger.js +13 -6
  339. package/dist/components/core/ContextMenu/index.d.ts +1 -1
  340. package/dist/components/core/DotSeparator/DotSeparator.d.ts +3 -0
  341. package/dist/components/core/DotSeparator/DotSeparator.js +20 -0
  342. package/dist/components/core/DotSeparator/DotSeparator.theme.d.ts +2 -0
  343. package/dist/components/core/DotSeparator/DotSeparator.theme.js +10 -0
  344. package/dist/components/core/DotSeparator/DotSeparator.types.d.ts +25 -0
  345. package/dist/components/core/DotSeparator/index.d.ts +3 -0
  346. package/dist/components/core/DragDrop/DragDrop.js +189 -17
  347. package/dist/components/core/DragDrop/DragDrop.types.d.ts +6 -0
  348. package/dist/components/core/Drawer/Drawer.animations.js +14 -12
  349. package/dist/components/core/Drawer/Drawer.d.ts +6 -6
  350. package/dist/components/core/Drawer/Drawer.js +63 -20
  351. package/dist/components/core/Drawer/Drawer.theme.d.ts +2 -0
  352. package/dist/components/core/Drawer/Drawer.theme.js +23 -16
  353. package/dist/components/core/Drawer/Drawer.types.d.ts +24 -6
  354. package/dist/components/core/Drawer/DrawerBody.d.ts +5 -0
  355. package/dist/components/core/Drawer/{DrawerContent.js → DrawerBody.js} +5 -4
  356. package/dist/components/core/Drawer/DrawerContext.d.ts +3 -0
  357. package/dist/components/core/Drawer/DrawerContext.js +15 -0
  358. package/dist/components/core/Drawer/DrawerFooter.js +2 -1
  359. package/dist/components/core/Drawer/DrawerHeader.js +5 -3
  360. package/dist/components/core/Drawer/DrawerSubtitle.js +2 -1
  361. package/dist/components/core/Drawer/DrawerTitle.d.ts +1 -1
  362. package/dist/components/core/Drawer/DrawerTitle.js +4 -3
  363. package/dist/components/core/Drawer/index.d.ts +2 -1
  364. package/dist/components/core/Dropdown/Dropdown.d.ts +1 -1
  365. package/dist/components/core/Dropdown/Dropdown.js +28 -10
  366. package/dist/components/core/Dropdown/Dropdown.theme.js +9 -7
  367. package/dist/components/core/Dropdown/Dropdown.types.d.ts +12 -3
  368. package/dist/components/core/Dropdown/DropdownContext.js +1 -0
  369. package/dist/components/core/Dropdown/DropdownItem.js +5 -4
  370. package/dist/components/core/Dropdown/DropdownMenu.js +75 -74
  371. package/dist/components/core/Dropdown/DropdownSection.js +5 -2
  372. package/dist/components/core/Dropdown/DropdownSeparator.js +2 -1
  373. package/dist/components/core/Dropdown/DropdownTrigger.d.ts +6 -1
  374. package/dist/components/core/Dropdown/DropdownTrigger.js +42 -9
  375. package/dist/components/core/Empty/Empty.js +1 -1
  376. package/dist/components/core/Empty/Empty.theme.js +1 -1
  377. package/dist/components/core/HeroCard/HeroCard.d.ts +5 -0
  378. package/dist/components/core/HeroCard/HeroCard.js +100 -0
  379. package/dist/components/core/HeroCard/HeroCard.theme.d.ts +3 -0
  380. package/dist/components/core/HeroCard/HeroCard.theme.js +11 -0
  381. package/dist/components/core/HeroCard/HeroCard.types.d.ts +70 -0
  382. package/dist/components/core/HeroCard/index.d.ts +4 -0
  383. package/dist/components/core/Icon/Icon.d.ts +3 -0
  384. package/dist/components/core/Icon/Icon.js +70 -0
  385. package/dist/components/core/Icon/Icon.theme.d.ts +2 -0
  386. package/dist/components/core/Icon/Icon.theme.js +19 -0
  387. package/dist/components/core/Icon/Icon.types.d.ts +32 -0
  388. package/dist/components/core/Icon/data/fileTypes.d.ts +7 -0
  389. package/dist/components/core/Icon/data/fileTypes.js +30 -0
  390. package/dist/components/core/Icon/data/paymentMethods.d.ts +27 -0
  391. package/dist/components/core/Icon/data/paymentMethods.js +169 -0
  392. package/dist/components/core/Icon/index.d.ts +4 -0
  393. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.d.ts +14 -0
  394. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.js +37 -0
  395. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.d.ts +6 -0
  396. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.js +8 -0
  397. package/dist/components/core/ImagePlaceholder/ImagePlaceholder.types.d.ts +32 -0
  398. package/dist/components/core/ImagePlaceholder/index.d.ts +2 -0
  399. package/dist/components/core/Kbd/Kbd.theme.js +5 -3
  400. package/dist/components/core/Link/Link.d.ts +1 -1
  401. package/dist/components/core/Link/Link.js +62 -29
  402. package/dist/components/core/Link/Link.types.d.ts +26 -9
  403. package/dist/components/core/Masonry/Masonry.js +88 -71
  404. package/dist/components/core/Masonry/Masonry.theme.js +10 -4
  405. package/dist/components/core/MenuItem/MenuItem.js +23 -2
  406. package/dist/components/core/MenuItem/MenuItem.theme.d.ts +6 -0
  407. package/dist/components/core/MenuItem/MenuItem.theme.js +25 -18
  408. package/dist/components/core/MenuItem/MenuItem.types.d.ts +3 -1
  409. package/dist/components/core/Message/Message.d.ts +10 -1
  410. package/dist/components/core/Message/Message.js +50 -8
  411. package/dist/components/core/Message/Message.theme.js +27 -7
  412. package/dist/components/core/Message/Message.types.d.ts +122 -7
  413. package/dist/components/core/Message/MessageActions.js +1 -0
  414. package/dist/components/core/Message/MessageAudio.d.ts +8 -0
  415. package/dist/components/core/Message/MessageAudio.js +12 -0
  416. package/dist/components/core/Message/MessageAvatar.d.ts +2 -2
  417. package/dist/components/core/Message/MessageAvatar.js +4 -3
  418. package/dist/components/core/Message/MessageBody.d.ts +8 -0
  419. package/dist/components/core/Message/{MessageContent.js → MessageBody.js} +4 -3
  420. package/dist/components/core/Message/MessageContext.d.ts +3 -1
  421. package/dist/components/core/Message/MessageContext.js +1 -0
  422. package/dist/components/core/Message/MessageDateDivider.d.ts +6 -0
  423. package/dist/components/core/Message/MessageDateDivider.js +10 -0
  424. package/dist/components/core/Message/MessageFile.d.ts +9 -0
  425. package/dist/components/core/Message/MessageFile.js +16 -0
  426. package/dist/components/core/Message/MessageImage.d.ts +11 -0
  427. package/dist/components/core/Message/MessageImage.js +14 -0
  428. package/dist/components/core/Message/MessageLink.d.ts +10 -0
  429. package/dist/components/core/Message/MessageLink.js +15 -0
  430. package/dist/components/core/Message/MessageList.js +1 -0
  431. package/dist/components/core/Message/MessageReactions.d.ts +8 -0
  432. package/dist/components/core/Message/MessageReactions.js +13 -0
  433. package/dist/components/core/Message/MessageReply.d.ts +8 -0
  434. package/dist/components/core/Message/MessageReply.js +10 -0
  435. package/dist/components/core/Message/MessageSenderName.d.ts +6 -0
  436. package/dist/components/core/Message/MessageSenderName.js +10 -0
  437. package/dist/components/core/Message/MessageStatusIndicator.d.ts +9 -0
  438. package/dist/components/core/Message/MessageStatusIndicator.js +46 -0
  439. package/dist/components/core/Message/MessageTimestamp.js +1 -0
  440. package/dist/components/core/Message/TypeWriter.d.ts +1 -1
  441. package/dist/components/core/Message/TypeWriter.js +74 -9
  442. package/dist/components/core/Message/index.d.ts +21 -1
  443. package/dist/components/core/Modal/Modal.animations.d.ts +1 -0
  444. package/dist/components/core/Modal/Modal.animations.js +20 -30
  445. package/dist/components/core/Modal/Modal.d.ts +4 -6
  446. package/dist/components/core/Modal/Modal.js +21 -22
  447. package/dist/components/core/Modal/Modal.theme.js +15 -12
  448. package/dist/components/core/Modal/Modal.types.d.ts +15 -12
  449. package/dist/components/core/Modal/ModalBody.js +9 -9
  450. package/dist/components/core/Modal/ModalContext.d.ts +3 -0
  451. package/dist/components/core/Modal/ModalContext.js +16 -0
  452. package/dist/components/core/Modal/ModalFooter.js +3 -2
  453. package/dist/components/core/Modal/ModalHeader.js +5 -3
  454. package/dist/components/core/Modal/ModalSubtitle.js +2 -1
  455. package/dist/components/core/Modal/ModalTitle.d.ts +1 -1
  456. package/dist/components/core/Modal/ModalTitle.js +4 -3
  457. package/dist/components/core/Modal/index.d.ts +1 -1
  458. package/dist/components/core/ModalStack/ModalStack.animations.js +1 -0
  459. package/dist/components/core/ModalStack/ModalStack.d.ts +1 -1
  460. package/dist/components/core/ModalStack/ModalStack.js +2 -1
  461. package/dist/components/core/ModalStack/ModalStack.types.d.ts +1 -2
  462. package/dist/components/core/ModalStack/ModalStackModal.d.ts +1 -1
  463. package/dist/components/core/ModalStack/ModalStackModal.js +20 -16
  464. package/dist/components/core/NavItem/NavItem.d.ts +1 -1
  465. package/dist/components/core/NavItem/NavItem.js +273 -79
  466. package/dist/components/core/NavItem/NavItem.theme.js +31 -9
  467. package/dist/components/core/NavItem/NavItem.types.d.ts +51 -59
  468. package/dist/components/core/NavItem/index.d.ts +1 -1
  469. package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.d.ts +22 -0
  470. package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.js +54 -0
  471. package/dist/components/core/OfflineIndicator/OfflineIndicator.js +24 -24
  472. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +26 -7
  473. package/dist/components/core/OfflineIndicator/OfflineIndicator.types.d.ts +17 -0
  474. package/dist/components/core/PageHeading/PageHeading.js +8 -3
  475. package/dist/components/core/PageHeading/PageHeading.theme.js +3 -3
  476. package/dist/components/core/PageHeading/PageHeading.types.d.ts +13 -2
  477. package/dist/components/core/PageHeading/PageHeadingBackButton.js +6 -3
  478. package/dist/components/core/Pagination/Pagination.js +10 -4
  479. package/dist/components/core/Pagination/Pagination.theme.d.ts +2 -10
  480. package/dist/components/core/Pagination/Pagination.theme.js +6 -6
  481. package/dist/components/core/Pagination/Pagination.types.d.ts +11 -1
  482. package/dist/components/core/Pill/Pill.js +17 -6
  483. package/dist/components/core/Pill/Pill.theme.js +13 -11
  484. package/dist/components/core/Popover/Popover.d.ts +2 -2
  485. package/dist/components/core/Popover/Popover.js +11 -10
  486. package/dist/components/core/Popover/Popover.theme.d.ts +1 -1
  487. package/dist/components/core/Popover/Popover.theme.js +4 -2
  488. package/dist/components/core/Popover/Popover.types.d.ts +21 -3
  489. package/dist/components/core/Popover/PopoverBody.d.ts +7 -0
  490. package/dist/components/core/Popover/PopoverBody.js +134 -0
  491. package/dist/components/core/Popover/PopoverContext.js +1 -0
  492. package/dist/components/core/Popover/PopoverTrigger.d.ts +1 -1
  493. package/dist/components/core/Popover/PopoverTrigger.js +13 -12
  494. package/dist/components/core/Popover/index.d.ts +4 -3
  495. package/dist/components/core/Progress/Progress.d.ts +9 -8
  496. package/dist/components/core/Progress/Progress.js +18 -17
  497. package/dist/components/core/Progress/Progress.theme.js +6 -14
  498. package/dist/components/core/Progress/Progress.types.d.ts +2 -19
  499. package/dist/components/core/Progress/index.d.ts +1 -1
  500. package/dist/components/core/Rating/Rating.js +17 -10
  501. package/dist/components/core/Rating/Rating.theme.js +1 -1
  502. package/dist/components/core/ScrollArea/ScrollArea.js +294 -12
  503. package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
  504. package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +24 -4
  505. package/dist/components/core/ScrollArea/index.d.ts +1 -1
  506. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +5 -0
  507. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +37 -3
  508. package/dist/components/core/ScrollArea/smooth/SnapPointDetector.js +1 -0
  509. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +5 -0
  510. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.types.d.ts +5 -0
  511. package/dist/components/core/Segmented/Segmented.js +21 -19
  512. package/dist/components/core/Segmented/Segmented.theme.js +10 -7
  513. package/dist/components/core/Segmented/SegmentedItem.js +30 -3
  514. package/dist/components/core/Separator/Separator.js +1 -0
  515. package/dist/components/core/Sidebar/Sidebar.d.ts +14 -1
  516. package/dist/components/core/Sidebar/Sidebar.js +95 -21
  517. package/dist/components/core/Sidebar/Sidebar.theme.js +7 -7
  518. package/dist/components/core/Sidebar/Sidebar.types.d.ts +190 -8
  519. package/dist/components/core/Sidebar/SidebarCard.d.ts +25 -0
  520. package/dist/components/core/Sidebar/SidebarCard.js +69 -0
  521. package/dist/components/core/Sidebar/SidebarCard.theme.d.ts +8 -0
  522. package/dist/components/core/Sidebar/SidebarCard.theme.js +18 -0
  523. package/dist/components/core/Sidebar/SidebarContent.js +11 -4
  524. package/dist/components/core/Sidebar/SidebarContext.d.ts +26 -11
  525. package/dist/components/core/Sidebar/SidebarContext.js +87 -11
  526. package/dist/components/core/Sidebar/SidebarFooter.js +5 -4
  527. package/dist/components/core/Sidebar/SidebarHeader.js +15 -4
  528. package/dist/components/core/Sidebar/SidebarLogo.d.ts +3 -0
  529. package/dist/components/core/Sidebar/SidebarLogo.js +49 -0
  530. package/dist/components/core/Sidebar/SidebarMobileTrigger.d.ts +3 -0
  531. package/dist/components/core/Sidebar/SidebarMobileTrigger.js +30 -0
  532. package/dist/components/core/Sidebar/SidebarNav.js +6 -2
  533. package/dist/components/core/Sidebar/SidebarNavGroup.js +6 -5
  534. package/dist/components/core/Sidebar/SidebarSearch.d.ts +22 -0
  535. package/dist/components/core/Sidebar/SidebarSearch.js +136 -0
  536. package/dist/components/core/Sidebar/SidebarToggle.js +9 -4
  537. package/dist/components/core/Sidebar/SidebarUserProfile.d.ts +3 -0
  538. package/dist/components/core/Sidebar/SidebarUserProfile.js +49 -0
  539. package/dist/components/core/Sidebar/index.d.ts +7 -3
  540. package/dist/components/core/Skeleton/Skeleton.js +2 -2
  541. package/dist/components/core/Skeleton/Skeleton.theme.js +1 -1
  542. package/dist/components/core/SlidingNumber/SlidingNumber.js +3 -1
  543. package/dist/components/core/Sortable/Sortable.animations.js +1 -0
  544. package/dist/components/core/Sortable/Sortable.d.ts +1 -1
  545. package/dist/components/core/Sortable/Sortable.js +25 -8
  546. package/dist/components/core/Sortable/Sortable.theme.js +1 -1
  547. package/dist/components/core/Sortable/Sortable.types.d.ts +9 -5
  548. package/dist/components/core/Spinner/Spinner.js +1 -0
  549. package/dist/components/core/Spinner/Spinner.theme.js +4 -6
  550. package/dist/components/core/Spinner/Spinner.types.d.ts +2 -1
  551. package/dist/components/core/Tabs/Tabs.animations.d.ts +2 -2
  552. package/dist/components/core/Tabs/Tabs.animations.js +4 -3
  553. package/dist/components/core/Tabs/Tabs.d.ts +1 -1
  554. package/dist/components/core/Tabs/Tabs.js +15 -7
  555. package/dist/components/core/Tabs/Tabs.theme.d.ts +2 -2
  556. package/dist/components/core/Tabs/Tabs.theme.js +6 -6
  557. package/dist/components/core/Tabs/Tabs.types.d.ts +13 -9
  558. package/dist/components/core/Tabs/TabsBody.d.ts +6 -0
  559. package/dist/components/core/Tabs/{TabsContent.js → TabsBody.js} +15 -12
  560. package/dist/components/core/Tabs/TabsContext.js +1 -0
  561. package/dist/components/core/Tabs/TabsList.js +20 -21
  562. package/dist/components/core/Tabs/TabsTrigger.js +81 -38
  563. package/dist/components/core/Tabs/index.d.ts +2 -2
  564. package/dist/components/core/Tag/Tag.animations.js +0 -13
  565. package/dist/components/core/Tag/Tag.d.ts +2 -2
  566. package/dist/components/core/Tag/Tag.js +48 -6
  567. package/dist/components/core/Tag/Tag.theme.js +21 -6
  568. package/dist/components/core/Tag/Tag.types.d.ts +31 -1
  569. package/dist/components/core/Toast/Toast.animations.d.ts +3 -2
  570. package/dist/components/core/Toast/Toast.animations.js +20 -17
  571. package/dist/components/core/Toast/Toast.d.ts +2 -2
  572. package/dist/components/core/Toast/Toast.js +67 -32
  573. package/dist/components/core/Toast/Toast.theme.js +8 -16
  574. package/dist/components/core/Toast/Toast.types.d.ts +41 -48
  575. package/dist/components/core/Toast/ToastProvider.js +7 -2
  576. package/dist/components/core/Toast/index.d.ts +1 -1
  577. package/dist/components/core/Toast/useToast.js +10 -11
  578. package/dist/components/core/Tooltip/Tooltip.animations.js +19 -53
  579. package/dist/components/core/Tooltip/Tooltip.d.ts +1 -1
  580. package/dist/components/core/Tooltip/Tooltip.js +89 -45
  581. package/dist/components/core/Tooltip/Tooltip.theme.js +4 -3
  582. package/dist/components/core/Tooltip/Tooltip.types.d.ts +38 -1
  583. package/dist/components/core/Tree/Tree.animations.d.ts +1 -2
  584. package/dist/components/core/Tree/Tree.animations.js +20 -58
  585. package/dist/components/core/Tree/Tree.js +184 -12
  586. package/dist/components/core/index.d.ts +4 -2
  587. package/dist/components/core/index.js +29 -6
  588. package/dist/components/core/shared/interaction.animations.d.ts +51 -0
  589. package/dist/components/core/shared/interaction.animations.js +59 -0
  590. package/dist/components/data-display/DescriptionList/DescriptionList.js +24 -7
  591. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +10 -3
  592. package/dist/components/data-display/DescriptionList/DescriptionList.types.d.ts +49 -10
  593. package/dist/components/data-display/DescriptionList/index.d.ts +1 -1
  594. package/dist/components/data-display/Feed/Feed.animations.d.ts +40 -0
  595. package/dist/components/data-display/Feed/Feed.animations.js +26 -0
  596. package/dist/components/data-display/Feed/Feed.d.ts +5 -1
  597. package/dist/components/data-display/Feed/Feed.js +114 -55
  598. package/dist/components/data-display/Feed/Feed.theme.js +11 -13
  599. package/dist/components/data-display/Feed/Feed.types.d.ts +66 -34
  600. package/dist/components/data-display/Feed/index.d.ts +1 -1
  601. package/dist/components/data-display/GanttChart/GanttChart.d.ts +3 -4
  602. package/dist/components/data-display/GanttChart/GanttChart.js +36 -25
  603. package/dist/components/data-display/GanttChart/GanttChart.theme.js +19 -17
  604. package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +21 -2
  605. package/dist/components/data-display/GanttChart/GanttChart.utils.js +1 -1
  606. package/dist/components/data-display/GanttChart/GanttChartContext.d.ts +5 -0
  607. package/dist/components/data-display/GanttChart/GanttChartContext.js +26 -0
  608. package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +1 -1
  609. package/dist/components/data-display/GanttChart/GanttChartPanel.js +6 -5
  610. package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +9 -5
  611. package/dist/components/data-display/GanttChart/GanttGroupBar.js +2 -1
  612. package/dist/components/data-display/GanttChart/GanttMilestone.js +8 -7
  613. package/dist/components/data-display/GanttChart/GanttSplitter.js +17 -2
  614. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +5 -4
  615. package/dist/components/data-display/GanttChart/GanttTableHeader.js +2 -1
  616. package/dist/components/data-display/GanttChart/GanttTablePanel.js +3 -2
  617. package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +4 -3
  618. package/dist/components/data-display/GanttChart/GanttTaskBar.js +43 -19
  619. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +4 -3
  620. package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +4 -2
  621. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +37 -12
  622. package/dist/components/data-display/GanttChart/GanttToolbar.js +6 -4
  623. package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +1 -0
  624. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +4 -2
  625. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.js +1 -0
  626. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.js +1 -0
  627. package/dist/components/data-display/GanttChart/index.d.ts +1 -1
  628. package/dist/components/data-display/KPI/KPI.js +15 -4
  629. package/dist/components/data-display/KPI/KPI.theme.js +10 -11
  630. package/dist/components/data-display/KPI/KPI.types.d.ts +5 -4
  631. package/dist/components/data-display/Metric/Metric.js +9 -9
  632. package/dist/components/data-display/Metric/Metric.theme.d.ts +3 -2
  633. package/dist/components/data-display/Metric/Metric.theme.js +55 -64
  634. package/dist/components/data-display/Metric/Metric.types.d.ts +22 -25
  635. package/dist/components/data-display/Table/Table.animations.js +17 -10
  636. package/dist/components/data-display/Table/Table.d.ts +2 -7
  637. package/dist/components/data-display/Table/Table.filterUtils.js +8 -1
  638. package/dist/components/data-display/Table/Table.js +28 -31
  639. package/dist/components/data-display/Table/Table.theme.js +47 -19
  640. package/dist/components/data-display/Table/Table.types.d.ts +37 -8
  641. package/dist/components/data-display/Table/TableActions.js +7 -6
  642. package/dist/components/data-display/Table/TableActionsMenu.js +3 -3
  643. package/dist/components/data-display/Table/TableBody.js +3 -2
  644. package/dist/components/data-display/Table/TableCell.d.ts +1 -1
  645. package/dist/components/data-display/Table/TableCell.js +13 -5
  646. package/dist/components/data-display/Table/TableColumnManager.js +5 -2
  647. package/dist/components/data-display/Table/TableContext.d.ts +11 -0
  648. package/dist/components/data-display/Table/TableContext.js +21 -0
  649. package/dist/components/data-display/Table/TableDeclarative.js +8 -9
  650. package/dist/components/data-display/Table/TableFilter.js +34 -26
  651. package/dist/components/data-display/Table/TableHeader.js +6 -2
  652. package/dist/components/data-display/Table/TablePagination.js +4 -7
  653. package/dist/components/data-display/Table/TableRow.d.ts +1 -1
  654. package/dist/components/data-display/Table/TableRow.js +14 -10
  655. package/dist/components/data-display/Table/TableSelectionHeader.js +7 -5
  656. package/dist/components/data-display/Table/hooks/useTableColumns.js +1 -0
  657. package/dist/components/data-display/Table/hooks/useTableExpansion.js +1 -0
  658. package/dist/components/data-display/Table/hooks/useTableFilter.js +1 -0
  659. package/dist/components/data-display/Table/hooks/useTablePagination.js +1 -0
  660. package/dist/components/data-display/Table/hooks/useTableSelection.js +1 -0
  661. package/dist/components/data-display/Table/index.d.ts +2 -2
  662. package/dist/components/data-display/Table/index.js +2 -2
  663. package/dist/components/data-display/Timeline/Timeline.animations.d.ts +0 -7
  664. package/dist/components/data-display/Timeline/Timeline.animations.js +2 -27
  665. package/dist/components/data-display/Timeline/Timeline.d.ts +2 -2
  666. package/dist/components/data-display/Timeline/Timeline.js +33 -17
  667. package/dist/components/data-display/Timeline/Timeline.theme.d.ts +2 -16
  668. package/dist/components/data-display/Timeline/Timeline.theme.js +14 -8
  669. package/dist/components/data-display/Timeline/Timeline.types.d.ts +70 -27
  670. package/dist/components/data-display/Timeline/Timeline.utils.d.ts +6 -0
  671. package/dist/components/data-display/Timeline/Timeline.utils.js +11 -0
  672. package/dist/components/data-display/Timeline/TimelineContent.js +5 -8
  673. package/dist/components/data-display/Timeline/TimelineContext.d.ts +3 -0
  674. package/dist/components/data-display/Timeline/TimelineContext.js +16 -0
  675. package/dist/components/data-display/Timeline/TimelineItem.js +21 -40
  676. package/dist/components/data-display/Timeline/TimelineMarker.js +14 -11
  677. package/dist/components/data-display/Timeline/index.d.ts +2 -2
  678. package/dist/components/effects/3d/index.d.ts +4 -0
  679. package/dist/components/effects/3d/index.js +2 -0
  680. package/dist/components/effects/AIOrb/AIOrb.d.ts +1 -0
  681. package/dist/components/effects/AIOrb/AIOrb.js +3 -2
  682. package/dist/components/effects/AIOrb/AIOrb.types.d.ts +1 -0
  683. package/dist/components/effects/AIOrb/hooks/index.d.ts +2 -0
  684. package/dist/components/effects/AIOrb/hooks/useOrbState.d.ts +20 -0
  685. package/dist/components/effects/AIOrb/hooks/useOrbState.js +28 -0
  686. package/dist/components/effects/AIOrb/index.d.ts +2 -2
  687. package/dist/components/effects/AIOrb/variants/Aura/Aura.d.ts +3 -0
  688. package/dist/components/effects/AIOrb/variants/Aura/Aura.js +84 -0
  689. package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.d.ts +28 -0
  690. package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.js +191 -0
  691. package/dist/components/effects/AIOrb/variants/Aura/Aura.types.d.ts +53 -0
  692. package/dist/components/effects/AIOrb/variants/Aura/index.d.ts +2 -0
  693. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.d.ts +7 -0
  694. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.impl.d.ts +3 -0
  695. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.impl.js +176 -0
  696. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.js +29 -130
  697. package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.types.d.ts +6 -0
  698. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.d.ts +8 -0
  699. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.impl.d.ts +3 -0
  700. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.impl.js +140 -0
  701. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.js +29 -101
  702. package/dist/components/effects/AIOrb/variants/Liquid/Liquid.types.d.ts +6 -0
  703. package/dist/components/effects/AIOrb/variants/index.d.ts +2 -0
  704. package/dist/components/effects/Animated/Animated.animations.js +29 -10
  705. package/dist/components/effects/Animated/Animated.d.ts +4 -4
  706. package/dist/components/effects/Animated/Animated.js +9 -9
  707. package/dist/components/effects/Animated/AnimatedContext.d.ts +3 -0
  708. package/dist/components/effects/Animated/AnimatedContext.js +12 -0
  709. package/dist/components/effects/Animated/AnimatedItem.d.ts +1 -1
  710. package/dist/components/effects/Animated/AnimatedItem.js +7 -5
  711. package/dist/components/effects/Aurora/Aurora.d.ts +6 -17
  712. package/dist/components/effects/Aurora/Aurora.js +332 -105
  713. package/dist/components/effects/Aurora/Aurora.types.d.ts +6 -0
  714. package/dist/components/effects/ColorPanels/ColorPanels.d.ts +8 -0
  715. package/dist/components/effects/ColorPanels/ColorPanels.js +66 -0
  716. package/dist/components/effects/ColorPanels/ColorPanels.shaders.d.ts +12 -0
  717. package/dist/components/effects/ColorPanels/ColorPanels.shaders.js +218 -0
  718. package/dist/components/effects/ColorPanels/ColorPanels.types.d.ts +29 -0
  719. package/dist/components/effects/ColorPanels/ColorPanels.types.js +3 -0
  720. package/dist/components/effects/ColorPanels/index.d.ts +2 -0
  721. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +4 -4
  722. package/dist/components/effects/CustomCursor/CustomCursor.js +55 -55
  723. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +2 -2
  724. package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +5 -4
  725. package/dist/components/effects/Dithering/Dithering.d.ts +10 -0
  726. package/dist/components/effects/Dithering/Dithering.js +62 -0
  727. package/dist/components/effects/Dithering/Dithering.shaders.d.ts +11 -0
  728. package/dist/components/effects/Dithering/Dithering.shaders.js +166 -0
  729. package/dist/components/effects/Dithering/Dithering.types.d.ts +31 -0
  730. package/dist/components/effects/Dithering/Dithering.types.js +17 -0
  731. package/dist/components/effects/Dithering/index.d.ts +3 -0
  732. package/dist/components/effects/DotPattern/DotPattern.js +8 -1
  733. package/dist/components/effects/DotPattern/DotPattern.types.d.ts +4 -2
  734. package/dist/components/effects/FlutedGlass/FlutedGlass.d.ts +9 -0
  735. package/dist/components/effects/FlutedGlass/FlutedGlass.js +80 -0
  736. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.d.ts +12 -0
  737. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.js +335 -0
  738. package/dist/components/effects/FlutedGlass/FlutedGlass.types.d.ts +61 -0
  739. package/dist/components/effects/FlutedGlass/FlutedGlass.types.js +16 -0
  740. package/dist/components/effects/FlutedGlass/index.d.ts +3 -0
  741. package/dist/components/effects/GemSmoke/GemSmoke.d.ts +8 -0
  742. package/dist/components/effects/GemSmoke/GemSmoke.js +70 -0
  743. package/dist/components/effects/GemSmoke/GemSmoke.shaders.d.ts +18 -0
  744. package/dist/components/effects/GemSmoke/GemSmoke.shaders.js +181 -0
  745. package/dist/components/effects/GemSmoke/GemSmoke.types.d.ts +37 -0
  746. package/dist/components/effects/GemSmoke/GemSmoke.types.js +10 -0
  747. package/dist/components/effects/GemSmoke/index.d.ts +3 -0
  748. package/dist/components/effects/GlassEffect/GlassEffect.js +1 -1
  749. package/dist/components/effects/GlassSurface/GlassSurface.d.ts +1 -1
  750. package/dist/components/effects/GlassSurface/GlassSurface.js +40 -34
  751. package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +14 -0
  752. package/dist/components/effects/GodRays/GodRays.d.ts +8 -0
  753. package/dist/components/effects/GodRays/GodRays.js +68 -0
  754. package/dist/components/effects/GodRays/GodRays.shaders.d.ts +10 -0
  755. package/dist/components/effects/GodRays/GodRays.shaders.js +128 -0
  756. package/dist/components/effects/GodRays/GodRays.types.d.ts +25 -0
  757. package/dist/components/effects/GodRays/GodRays.types.js +3 -0
  758. package/dist/components/effects/GodRays/index.d.ts +2 -0
  759. package/dist/components/effects/GradientMesh/GradientMesh.d.ts +9 -0
  760. package/dist/components/effects/GradientMesh/GradientMesh.js +56 -0
  761. package/dist/components/effects/GradientMesh/GradientMesh.shaders.d.ts +15 -0
  762. package/dist/components/effects/GradientMesh/GradientMesh.shaders.js +127 -0
  763. package/dist/components/effects/GradientMesh/GradientMesh.types.d.ts +17 -0
  764. package/dist/components/effects/GradientMesh/GradientMesh.types.js +3 -0
  765. package/dist/components/effects/GradientMesh/index.d.ts +2 -0
  766. package/dist/components/effects/GrainGradient/GrainGradient.d.ts +9 -0
  767. package/dist/components/effects/GrainGradient/GrainGradient.js +62 -0
  768. package/dist/components/effects/GrainGradient/GrainGradient.shaders.d.ts +17 -0
  769. package/dist/components/effects/GrainGradient/GrainGradient.shaders.js +168 -0
  770. package/dist/components/effects/GrainGradient/GrainGradient.types.d.ts +26 -0
  771. package/dist/components/effects/GrainGradient/GrainGradient.types.js +9 -0
  772. package/dist/components/effects/GrainGradient/index.d.ts +3 -0
  773. package/dist/components/effects/GridPattern/GridPattern.js +1 -0
  774. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.d.ts +10 -0
  775. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.js +78 -0
  776. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.d.ts +22 -0
  777. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.js +239 -0
  778. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.types.d.ts +52 -0
  779. package/dist/components/effects/HalftoneCmyk/index.d.ts +2 -0
  780. package/dist/components/effects/HalftoneDots/HalftoneDots.d.ts +9 -0
  781. package/dist/components/effects/HalftoneDots/HalftoneDots.js +68 -0
  782. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.d.ts +13 -0
  783. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.js +296 -0
  784. package/dist/components/effects/HalftoneDots/HalftoneDots.types.d.ts +43 -0
  785. package/dist/components/effects/HalftoneDots/HalftoneDots.types.js +12 -0
  786. package/dist/components/effects/HalftoneDots/index.d.ts +3 -0
  787. package/dist/components/effects/ImageDithering/ImageDithering.d.ts +9 -0
  788. package/dist/components/effects/ImageDithering/ImageDithering.js +68 -0
  789. package/dist/components/effects/ImageDithering/ImageDithering.shaders.d.ts +12 -0
  790. package/dist/components/effects/ImageDithering/ImageDithering.shaders.js +117 -0
  791. package/dist/components/effects/ImageDithering/ImageDithering.types.d.ts +30 -0
  792. package/dist/components/effects/ImageDithering/ImageDithering.types.js +8 -0
  793. package/dist/components/effects/ImageDithering/index.d.ts +3 -0
  794. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.d.ts +39 -0
  795. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.js +98 -0
  796. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.d.ts +3 -0
  797. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.js +105 -0
  798. package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.types.d.ts +30 -0
  799. package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.d.ts +3 -0
  800. package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.js +46 -0
  801. package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.d.ts +3 -0
  802. package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.js +46 -0
  803. package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.d.ts +3 -0
  804. package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.js +48 -0
  805. package/dist/components/effects/InteractiveCharacters/hooks/useBlink.d.ts +14 -0
  806. package/dist/components/effects/InteractiveCharacters/hooks/useBlink.js +42 -0
  807. package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.d.ts +25 -0
  808. package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.js +85 -0
  809. package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.d.ts +18 -0
  810. package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.js +36 -0
  811. package/dist/components/effects/InteractiveCharacters/index.d.ts +2 -0
  812. package/dist/components/effects/LiquidMetal/LiquidMetal.d.ts +9 -0
  813. package/dist/components/effects/LiquidMetal/LiquidMetal.js +61 -0
  814. package/dist/components/effects/LiquidMetal/LiquidMetal.shaders.d.ts +19 -0
  815. package/dist/components/effects/LiquidMetal/LiquidMetal.shaders.js +202 -0
  816. package/dist/components/effects/LiquidMetal/LiquidMetal.types.d.ts +34 -0
  817. package/dist/components/effects/LiquidMetal/LiquidMetal.types.js +9 -0
  818. package/dist/components/effects/LiquidMetal/index.d.ts +3 -0
  819. package/dist/components/effects/MagneticElement/MagneticElement.js +1 -0
  820. package/dist/components/effects/MeshGradient/MeshGradient.d.ts +25 -0
  821. package/dist/components/effects/MeshGradient/MeshGradient.js +47 -0
  822. package/dist/components/effects/MeshGradient/MeshGradient.types.d.ts +40 -0
  823. package/dist/components/effects/MeshGradient/MeshGradient.utils.d.ts +83 -0
  824. package/dist/components/effects/MeshGradient/MeshGradient.utils.js +112 -0
  825. package/dist/components/effects/MeshGradient/index.d.ts +4 -0
  826. package/dist/components/effects/Metaballs/Metaballs.d.ts +8 -0
  827. package/dist/components/effects/Metaballs/Metaballs.js +59 -0
  828. package/dist/components/effects/Metaballs/Metaballs.shaders.d.ts +10 -0
  829. package/dist/components/effects/Metaballs/Metaballs.shaders.js +102 -0
  830. package/dist/components/effects/Metaballs/Metaballs.types.d.ts +16 -0
  831. package/dist/components/effects/Metaballs/Metaballs.types.js +3 -0
  832. package/dist/components/effects/Metaballs/index.d.ts +2 -0
  833. package/dist/components/effects/Neumorphic/InsetCircleButton.d.ts +10 -0
  834. package/dist/components/effects/Neumorphic/InsetCircleButton.js +11 -0
  835. package/dist/components/effects/Neumorphic/InsetPill.d.ts +8 -0
  836. package/dist/components/effects/Neumorphic/InsetPill.js +8 -0
  837. package/dist/components/effects/Neumorphic/index.d.ts +4 -0
  838. package/dist/components/effects/NoiseOverlay/NoiseOverlay.d.ts +1 -1
  839. package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +5 -4
  840. package/dist/components/effects/Overlay/Overlay.js +52 -25
  841. package/dist/components/effects/Overlay/Overlay.theme.js +1 -2
  842. package/dist/components/effects/PaperTexture/PaperTexture.d.ts +9 -0
  843. package/dist/components/effects/PaperTexture/PaperTexture.js +61 -0
  844. package/dist/components/effects/PaperTexture/PaperTexture.shaders.d.ts +22 -0
  845. package/dist/components/effects/PaperTexture/PaperTexture.shaders.js +145 -0
  846. package/dist/components/effects/PaperTexture/PaperTexture.types.d.ts +19 -0
  847. package/dist/components/effects/PaperTexture/index.d.ts +2 -0
  848. package/dist/components/effects/Particles/Particles.js +1 -0
  849. package/dist/components/effects/Particles/Particles.scene.js +1 -0
  850. package/dist/components/effects/Preloader/Preloader.animations.d.ts +23 -0
  851. package/dist/components/effects/Preloader/Preloader.animations.js +150 -0
  852. package/dist/components/effects/Preloader/Preloader.d.ts +3 -0
  853. package/dist/components/effects/Preloader/Preloader.js +120 -0
  854. package/dist/components/effects/Preloader/Preloader.types.d.ts +63 -0
  855. package/dist/components/effects/Preloader/index.d.ts +2 -0
  856. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +26 -14
  857. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +2 -0
  858. package/dist/components/effects/PulsingBorder/PulsingBorder.d.ts +27 -0
  859. package/dist/components/effects/PulsingBorder/PulsingBorder.js +174 -0
  860. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.d.ts +14 -0
  861. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.js +258 -0
  862. package/dist/components/effects/PulsingBorder/PulsingBorder.types.d.ts +75 -0
  863. package/dist/components/effects/PulsingBorder/PulsingBorder.types.js +3 -0
  864. package/dist/components/effects/PulsingBorder/index.d.ts +2 -0
  865. package/dist/components/effects/ScrollReveal/ScrollReveal.js +1 -0
  866. package/dist/components/effects/Shimmer/Shimmer.d.ts +21 -0
  867. package/dist/components/effects/Shimmer/Shimmer.js +44 -0
  868. package/dist/components/effects/Shimmer/Shimmer.types.d.ts +49 -0
  869. package/dist/components/effects/Shimmer/index.d.ts +2 -0
  870. package/dist/components/effects/SmokeRing/SmokeRing.d.ts +8 -0
  871. package/dist/components/effects/SmokeRing/SmokeRing.js +62 -0
  872. package/dist/components/effects/SmokeRing/SmokeRing.shaders.d.ts +14 -0
  873. package/dist/components/effects/SmokeRing/SmokeRing.shaders.js +130 -0
  874. package/dist/components/effects/SmokeRing/SmokeRing.types.d.ts +22 -0
  875. package/dist/components/effects/SmokeRing/SmokeRing.types.js +3 -0
  876. package/dist/components/effects/SmokeRing/index.d.ts +2 -0
  877. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.d.ts +9 -0
  878. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.js +59 -0
  879. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.d.ts +14 -0
  880. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.js +129 -0
  881. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.d.ts +23 -0
  882. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.js +3 -0
  883. package/dist/components/effects/StaticGradientMesh/index.d.ts +2 -0
  884. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.d.ts +9 -0
  885. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.js +66 -0
  886. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.shaders.d.ts +13 -0
  887. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.shaders.js +169 -0
  888. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.types.d.ts +29 -0
  889. package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.types.js +3 -0
  890. package/dist/components/effects/StaticRadialGradient/index.d.ts +2 -0
  891. package/dist/components/effects/StripePattern/StripePattern.d.ts +18 -0
  892. package/dist/components/effects/StripePattern/StripePattern.js +55 -0
  893. package/dist/components/effects/StripePattern/StripePattern.types.d.ts +53 -0
  894. package/dist/components/effects/StripePattern/index.d.ts +2 -0
  895. package/dist/components/effects/TiltCard/TiltCard.d.ts +12 -0
  896. package/dist/components/effects/TiltCard/TiltCard.glow.d.ts +28 -0
  897. package/dist/components/effects/TiltCard/TiltCard.glow.js +115 -0
  898. package/dist/components/effects/TiltCard/TiltCard.js +178 -0
  899. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.d.ts → TiltCard/TiltCard.shaders.d.ts} +1 -1
  900. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.js → TiltCard/TiltCard.shaders.js} +1 -1
  901. package/dist/components/effects/TiltCard/TiltCard.types.d.ts +88 -0
  902. package/dist/components/effects/TiltCard/index.d.ts +2 -0
  903. package/dist/components/effects/Water/Water.d.ts +9 -0
  904. package/dist/components/effects/Water/Water.js +65 -0
  905. package/dist/components/effects/Water/Water.shaders.d.ts +11 -0
  906. package/dist/components/effects/Water/Water.shaders.js +123 -0
  907. package/dist/components/effects/Water/Water.types.d.ts +25 -0
  908. package/dist/components/effects/Water/index.d.ts +2 -0
  909. package/dist/components/effects/index.d.ts +57 -16
  910. package/dist/components/effects/index.js +30 -8
  911. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.d.ts +13 -0
  912. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.js +255 -0
  913. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.types.d.ts +18 -0
  914. package/dist/components/effects/shared/ShaderCanvas/index.d.ts +2 -0
  915. package/dist/components/effects/shared/bayerMatrices.glsl.d.ts +10 -0
  916. package/dist/components/effects/shared/bayerMatrices.glsl.js +44 -0
  917. package/dist/components/effects/shared/imageUV.glsl.d.ts +12 -0
  918. package/dist/components/effects/shared/imageUV.glsl.js +26 -0
  919. package/dist/components/effects/shared/index.d.ts +7 -0
  920. package/dist/components/effects/shared/resolveShaderColor.d.ts +13 -0
  921. package/dist/components/effects/shared/resolveShaderColor.js +62 -0
  922. package/dist/components/effects/shared/resolveShaderColor.test.d.ts +1 -0
  923. package/dist/components/effects/shared/shaderNoise.glsl.d.ts +34 -0
  924. package/dist/components/effects/shared/shaderNoise.glsl.js +84 -0
  925. package/dist/components/forms/Checkbox/Checkbox.animations.d.ts +14 -0
  926. package/dist/components/forms/Checkbox/Checkbox.animations.js +54 -0
  927. package/dist/components/forms/Checkbox/Checkbox.d.ts +3 -4
  928. package/dist/components/forms/Checkbox/Checkbox.js +55 -12
  929. package/dist/components/forms/Checkbox/Checkbox.theme.js +14 -8
  930. package/dist/components/forms/Checkbox/Checkbox.types.d.ts +36 -8
  931. package/dist/components/forms/Checkbox/CheckboxContext.d.ts +14 -0
  932. package/dist/components/forms/Checkbox/CheckboxContext.js +13 -0
  933. package/dist/components/forms/Checkbox/CheckboxGroup.d.ts +3 -0
  934. package/dist/components/forms/Checkbox/CheckboxGroup.js +48 -0
  935. package/dist/components/forms/Checkbox/index.d.ts +1 -1
  936. package/dist/components/forms/ColorPicker/ColorPicker.d.ts +6 -10
  937. package/dist/components/forms/ColorPicker/ColorPicker.js +150 -27
  938. package/dist/components/forms/ColorPicker/ColorPicker.theme.js +8 -5
  939. package/dist/components/forms/ColorPicker/ColorPicker.types.d.ts +112 -5
  940. package/dist/components/forms/ColorPicker/ColorPicker2DCanvas.js +44 -6
  941. package/dist/components/forms/ColorPicker/ColorPickerBody.d.ts +7 -0
  942. package/dist/components/forms/ColorPicker/{ColorPickerContent.js → ColorPickerBody.js} +17 -14
  943. package/dist/components/forms/ColorPicker/ColorPickerContext.d.ts +4 -0
  944. package/dist/components/forms/ColorPicker/ColorPickerContext.js +13 -0
  945. package/dist/components/forms/ColorPicker/ColorPickerEyeDropper.js +7 -6
  946. package/dist/components/forms/ColorPicker/ColorPickerFormatSelector.js +2 -1
  947. package/dist/components/forms/ColorPicker/ColorPickerGradient.d.ts +7 -0
  948. package/dist/components/forms/ColorPicker/ColorPickerGradient.js +187 -0
  949. package/dist/components/forms/ColorPicker/ColorPickerHeader.d.ts +14 -0
  950. package/dist/components/forms/ColorPicker/ColorPickerHeader.js +32 -0
  951. package/dist/components/forms/ColorPicker/ColorPickerImage.d.ts +6 -0
  952. package/dist/components/forms/ColorPicker/ColorPickerImage.js +155 -0
  953. package/dist/components/forms/ColorPicker/ColorPickerInput.d.ts +0 -4
  954. package/dist/components/forms/ColorPicker/ColorPickerInput.js +54 -61
  955. package/dist/components/forms/ColorPicker/ColorPickerPresets.js +14 -12
  956. package/dist/components/forms/ColorPicker/ColorPickerSavedColors.d.ts +3 -0
  957. package/dist/components/forms/ColorPicker/ColorPickerSavedColors.js +70 -0
  958. package/dist/components/forms/ColorPicker/ColorPickerSliders.d.ts +1 -2
  959. package/dist/components/forms/ColorPicker/ColorPickerSliders.js +85 -23
  960. package/dist/components/forms/ColorPicker/ColorPickerSwatch.d.ts +1 -1
  961. package/dist/components/forms/ColorPicker/ColorPickerSwatch.js +11 -9
  962. package/dist/components/forms/ColorPicker/ColorPickerTrigger.js +22 -3
  963. package/dist/components/forms/ColorPicker/index.d.ts +9 -3
  964. package/dist/components/forms/Combobox/Combobox.js +92 -71
  965. package/dist/components/forms/Combobox/Combobox.theme.js +4 -6
  966. package/dist/components/forms/Combobox/Combobox.types.d.ts +12 -2
  967. package/dist/components/forms/DatePicker/DatePicker.animations.js +17 -25
  968. package/dist/components/forms/DatePicker/DatePicker.d.ts +6 -26
  969. package/dist/components/forms/DatePicker/DatePicker.js +10 -8
  970. package/dist/components/forms/DatePicker/DatePicker.theme.js +13 -20
  971. package/dist/components/forms/DatePicker/DatePicker.types.d.ts +28 -6
  972. package/dist/components/forms/DatePicker/DatePickerBody.d.ts +7 -0
  973. package/dist/components/forms/DatePicker/{DatePickerContent.js → DatePickerBody.js} +32 -54
  974. package/dist/components/forms/DatePicker/DatePickerContext.d.ts +29 -0
  975. package/dist/components/forms/DatePicker/DatePickerContext.js +6 -0
  976. package/dist/components/forms/DatePicker/DatePickerPresets.js +2 -1
  977. package/dist/components/forms/DatePicker/DatePickerTrigger.js +6 -5
  978. package/dist/components/forms/DatePicker/index.d.ts +2 -2
  979. package/dist/components/forms/DateRangePicker/DateRangePicker.animations.d.ts +1 -0
  980. package/dist/components/forms/DateRangePicker/DateRangePicker.d.ts +17 -0
  981. package/dist/components/forms/DateRangePicker/DateRangePicker.js +121 -0
  982. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.d.ts +5 -0
  983. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +45 -0
  984. package/dist/components/forms/DateRangePicker/DateRangePicker.types.d.ts +177 -0
  985. package/dist/components/forms/DateRangePicker/DateRangePickerBody.d.ts +6 -0
  986. package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +186 -0
  987. package/dist/components/forms/DateRangePicker/DateRangePickerContext.d.ts +24 -0
  988. package/dist/components/forms/DateRangePicker/DateRangePickerContext.js +5 -0
  989. package/dist/components/forms/DateRangePicker/DateRangePickerPresets.d.ts +6 -0
  990. package/dist/components/forms/DateRangePicker/DateRangePickerPresets.js +42 -0
  991. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.d.ts +6 -0
  992. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +33 -0
  993. package/dist/components/forms/DateRangePicker/dateRangePresets.d.ts +5 -0
  994. package/dist/components/forms/DateRangePicker/dateRangePresets.js +59 -0
  995. package/dist/components/forms/DateRangePicker/index.d.ts +4 -0
  996. package/dist/components/forms/FileUpload/FileUpload.animations.d.ts +29 -0
  997. package/dist/components/forms/FileUpload/FileUpload.animations.js +19 -0
  998. package/dist/components/forms/FileUpload/FileUpload.js +96 -133
  999. package/dist/components/forms/FileUpload/FileUpload.theme.d.ts +2 -10
  1000. package/dist/components/forms/FileUpload/FileUpload.theme.js +20 -30
  1001. package/dist/components/forms/FileUpload/FileUpload.types.d.ts +41 -10
  1002. package/dist/components/forms/FileUpload/FileUploadProgress.animations.d.ts +36 -0
  1003. package/dist/components/forms/FileUpload/FileUploadProgress.animations.js +22 -0
  1004. package/dist/components/forms/FileUpload/FileUploadProgress.d.ts +3 -0
  1005. package/dist/components/forms/FileUpload/FileUploadProgress.js +119 -0
  1006. package/dist/components/forms/FileUpload/FileUploadProgress.theme.d.ts +19 -0
  1007. package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +27 -0
  1008. package/dist/components/forms/FileUpload/FileUploadProgress.types.d.ts +33 -0
  1009. package/dist/components/forms/FileUpload/index.d.ts +3 -0
  1010. package/dist/components/forms/FormLabel/FormLabel.js +2 -2
  1011. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  1012. package/dist/components/forms/Input/Input.js +17 -17
  1013. package/dist/components/forms/Input/Input.theme.js +42 -31
  1014. package/dist/components/forms/Input/Input.types.d.ts +20 -4
  1015. package/dist/components/forms/Input/index.d.ts +1 -0
  1016. package/dist/components/forms/Input/inputMasks.d.ts +24 -0
  1017. package/dist/components/forms/Input/inputMasks.js +61 -5
  1018. package/dist/components/forms/InputAddress/InputAddress.d.ts +6 -1
  1019. package/dist/components/forms/InputAddress/InputAddress.js +108 -20
  1020. package/dist/components/forms/InputAddress/InputAddress.theme.js +5 -5
  1021. package/dist/components/forms/InputAddress/InputAddress.types.d.ts +8 -2
  1022. package/dist/components/forms/InputAddress/index.d.ts +1 -1
  1023. package/dist/components/forms/InputCounter/InputCounter.d.ts +1 -1
  1024. package/dist/components/forms/InputCounter/InputCounter.js +81 -55
  1025. package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
  1026. package/dist/components/forms/InputCounter/InputCounter.types.d.ts +17 -3
  1027. package/dist/components/forms/InputCreditCard/InputCreditCard.d.ts +1 -1
  1028. package/dist/components/forms/InputCreditCard/InputCreditCard.js +33 -9
  1029. package/dist/components/forms/InputCreditCard/InputCreditCard.theme.js +5 -5
  1030. package/dist/components/forms/InputCreditCard/InputCreditCard.types.d.ts +9 -0
  1031. package/dist/components/forms/InputCreditCard/index.d.ts +1 -0
  1032. package/dist/components/forms/InputDate/InputDate.js +1 -0
  1033. package/dist/components/forms/InputOTP/InputOTP.d.ts +3 -12
  1034. package/dist/components/forms/InputOTP/InputOTP.js +160 -150
  1035. package/dist/components/forms/InputOTP/InputOTP.theme.d.ts +5 -1
  1036. package/dist/components/forms/InputOTP/InputOTP.theme.js +40 -5
  1037. package/dist/components/forms/InputOTP/InputOTP.types.d.ts +72 -6
  1038. package/dist/components/forms/InputOTP/index.d.ts +1 -1
  1039. package/dist/components/forms/InputTag/InputTag.js +71 -54
  1040. package/dist/components/forms/InputTag/InputTag.theme.js +1 -1
  1041. package/dist/components/forms/InputTag/InputTag.types.d.ts +10 -2
  1042. package/dist/components/forms/Mention/Mention.d.ts +1 -1
  1043. package/dist/components/forms/Mention/Mention.js +505 -199
  1044. package/dist/components/forms/Mention/Mention.theme.js +19 -28
  1045. package/dist/components/forms/Mention/Mention.types.d.ts +75 -18
  1046. package/dist/components/forms/Mention/Mention.utils.d.ts +42 -0
  1047. package/dist/components/forms/Mention/Mention.utils.js +314 -0
  1048. package/dist/components/forms/Mention/index.d.ts +1 -1
  1049. package/dist/components/forms/Radio/Radio.animations.d.ts +10 -0
  1050. package/dist/components/forms/Radio/Radio.animations.js +38 -0
  1051. package/dist/components/forms/Radio/Radio.d.ts +3 -4
  1052. package/dist/components/forms/Radio/Radio.js +46 -5
  1053. package/dist/components/forms/Radio/Radio.theme.js +25 -13
  1054. package/dist/components/forms/Radio/Radio.types.d.ts +39 -10
  1055. package/dist/components/forms/Radio/RadioContext.d.ts +14 -0
  1056. package/dist/components/forms/Radio/RadioContext.js +13 -0
  1057. package/dist/components/forms/Radio/RadioGroup.d.ts +3 -0
  1058. package/dist/components/forms/Radio/RadioGroup.js +44 -0
  1059. package/dist/components/forms/Radio/index.d.ts +1 -1
  1060. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +1 -0
  1061. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +18 -0
  1062. package/dist/components/forms/RichTextEditor/RichTextEditor.js +1268 -255
  1063. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +53 -1
  1064. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +100 -25
  1065. package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +69 -5
  1066. package/dist/components/forms/RichTextEditor/index.d.ts +2 -2
  1067. package/dist/components/forms/Select/Select.animations.js +17 -25
  1068. package/dist/components/forms/Select/Select.d.ts +11 -3
  1069. package/dist/components/forms/Select/Select.js +84 -79
  1070. package/dist/components/forms/Select/Select.theme.js +7 -7
  1071. package/dist/components/forms/Select/Select.types.d.ts +53 -9
  1072. package/dist/components/forms/Select/useSelectState.js +7 -0
  1073. package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +1 -2
  1074. package/dist/components/forms/SelectableCard/SelectableCard.animations.js +6 -7
  1075. package/dist/components/forms/SelectableCard/SelectableCard.d.ts +1 -1
  1076. package/dist/components/forms/SelectableCard/SelectableCard.js +43 -27
  1077. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +15 -25
  1078. package/dist/components/forms/SelectableCard/SelectableCard.types.d.ts +16 -4
  1079. package/dist/components/forms/SelectableCard/SelectableCardContext.d.ts +1 -0
  1080. package/dist/components/forms/SelectableCard/SelectableCardContext.js +5 -7
  1081. package/dist/components/forms/SelectableCard/SelectableCardGroup.js +32 -10
  1082. package/dist/components/forms/SelectableCard/index.d.ts +1 -1
  1083. package/dist/components/forms/Signature/Signature.js +13 -3
  1084. package/dist/components/forms/Signature/Signature.types.d.ts +9 -3
  1085. package/dist/components/forms/Slider/Slider.js +42 -7
  1086. package/dist/components/forms/Slider/Slider.theme.js +11 -5
  1087. package/dist/components/forms/Slider/Slider.types.d.ts +2 -2
  1088. package/dist/components/forms/Switch/Switch.js +41 -21
  1089. package/dist/components/forms/Switch/Switch.theme.d.ts +36 -6
  1090. package/dist/components/forms/Switch/Switch.theme.js +45 -4
  1091. package/dist/components/forms/Switch/Switch.types.d.ts +36 -8
  1092. package/dist/components/forms/Textarea/Textarea.js +12 -3
  1093. package/dist/components/forms/Textarea/Textarea.types.d.ts +12 -4
  1094. package/dist/components/forms/TimePicker/TimePicker.d.ts +2 -12
  1095. package/dist/components/forms/TimePicker/TimePicker.js +8 -5
  1096. package/dist/components/forms/TimePicker/TimePicker.theme.js +11 -14
  1097. package/dist/components/forms/TimePicker/TimePicker.types.d.ts +21 -2
  1098. package/dist/components/forms/TimePicker/TimePickerContent.js +13 -112
  1099. package/dist/components/forms/TimePicker/TimePickerContext.d.ts +15 -0
  1100. package/dist/components/forms/TimePicker/TimePickerContext.js +6 -0
  1101. package/dist/components/forms/TimePicker/TimePickerTrigger.js +22 -8
  1102. package/dist/components/forms/TimePicker/WheelColumn.js +1 -0
  1103. package/dist/components/forms/TimePicker/useWheelPicker.js +1 -0
  1104. package/dist/components/forms/forms.theme.d.ts +1 -0
  1105. package/dist/components/forms/forms.theme.js +98 -45
  1106. package/dist/components/forms/index.d.ts +11 -11
  1107. package/dist/components/forms/index.js +22 -88
  1108. package/dist/components/generative/GenerativeView.d.ts +21 -0
  1109. package/dist/components/generative/GenerativeView.js +117 -0
  1110. package/dist/components/generative/actions.d.ts +26 -0
  1111. package/dist/components/generative/actions.js +51 -0
  1112. package/dist/components/generative/actions.test.d.ts +1 -0
  1113. package/dist/components/generative/index.d.ts +11 -0
  1114. package/dist/components/generative/index.js +9 -0
  1115. package/dist/components/generative/registry.d.ts +43 -0
  1116. package/dist/components/generative/registry.js +325 -0
  1117. package/dist/components/generative/resolvers.d.ts +35 -0
  1118. package/dist/components/generative/resolvers.js +93 -0
  1119. package/dist/components/generative/schema.generated.d.ts +2 -0
  1120. package/dist/components/generative/schema.generated.js +4362 -0
  1121. package/dist/components/generative/schemaTypes.d.ts +30 -0
  1122. package/dist/components/generative/streaming.d.ts +39 -0
  1123. package/dist/components/generative/streaming.js +283 -0
  1124. package/dist/components/generative/streaming.test.d.ts +1 -0
  1125. package/dist/components/generative/tools.d.ts +21 -0
  1126. package/dist/components/generative/tools.js +54 -0
  1127. package/dist/components/generative/tools.test.d.ts +1 -0
  1128. package/dist/components/generative/types.d.ts +41 -0
  1129. package/dist/components/generative/useGenerativeStream.d.ts +37 -0
  1130. package/dist/components/generative/useGenerativeStream.js +37 -0
  1131. package/dist/components/generative/validate.d.ts +24 -0
  1132. package/dist/components/generative/validate.js +351 -0
  1133. package/dist/components/generative/validate.test.d.ts +1 -0
  1134. package/dist/components/layout/AppShell/AppShell.d.ts +10 -0
  1135. package/dist/components/layout/AppShell/AppShell.js +85 -0
  1136. package/dist/components/layout/AppShell/AppShell.theme.d.ts +3 -0
  1137. package/dist/components/layout/AppShell/AppShell.theme.js +42 -0
  1138. package/dist/components/layout/AppShell/AppShell.types.d.ts +127 -0
  1139. package/dist/components/layout/AppShell/AppShellContext.d.ts +14 -0
  1140. package/dist/components/layout/AppShell/AppShellContext.js +20 -0
  1141. package/dist/components/layout/AppShell/AppShellFooter.d.ts +3 -0
  1142. package/dist/components/layout/AppShell/AppShellFooter.js +12 -0
  1143. package/dist/components/layout/AppShell/AppShellHeader.d.ts +3 -0
  1144. package/dist/components/layout/AppShell/AppShellHeader.js +12 -0
  1145. package/dist/components/layout/AppShell/AppShellMain.d.ts +3 -0
  1146. package/dist/components/layout/AppShell/AppShellMain.js +20 -0
  1147. package/dist/components/layout/AppShell/AppShellRightPanel.d.ts +3 -0
  1148. package/dist/components/layout/AppShell/AppShellRightPanel.js +17 -0
  1149. package/dist/components/layout/AppShell/AppShellSidebar.d.ts +3 -0
  1150. package/dist/components/layout/AppShell/AppShellSidebar.js +17 -0
  1151. package/dist/components/layout/AppShell/AppShellTopbar.d.ts +3 -0
  1152. package/dist/components/layout/AppShell/AppShellTopbar.js +12 -0
  1153. package/dist/components/layout/AppShell/index.d.ts +3 -0
  1154. package/dist/components/layout/FormLayout/FormLayout.d.ts +0 -2
  1155. package/dist/components/layout/FormLayout/FormLayout.js +14 -6
  1156. package/dist/components/layout/FormLayout/FormLayout.theme.js +2 -5
  1157. package/dist/components/layout/FormLayout/FormLayout.types.d.ts +9 -27
  1158. package/dist/components/layout/FormLayout/FormLayoutSection.js +9 -2
  1159. package/dist/components/layout/FormLayout/index.d.ts +1 -1
  1160. package/dist/components/layout/Grid/Grid.d.ts +3 -0
  1161. package/dist/components/layout/Grid/Grid.js +58 -0
  1162. package/dist/components/layout/Grid/Grid.theme.d.ts +2 -0
  1163. package/dist/components/layout/Grid/Grid.theme.js +35 -0
  1164. package/dist/components/layout/Grid/Grid.types.d.ts +71 -0
  1165. package/dist/components/layout/Grid/index.d.ts +3 -0
  1166. package/dist/components/layout/Section/Section.d.ts +3 -0
  1167. package/dist/components/layout/Section/Section.js +19 -0
  1168. package/dist/components/layout/Section/Section.theme.d.ts +2 -0
  1169. package/dist/components/layout/Section/Section.theme.js +10 -0
  1170. package/dist/components/layout/Section/Section.types.d.ts +34 -0
  1171. package/dist/components/layout/Section/index.d.ts +3 -0
  1172. package/dist/components/layout/Stack/Stack.d.ts +3 -0
  1173. package/dist/components/layout/Stack/Stack.js +27 -0
  1174. package/dist/components/layout/Stack/Stack.theme.d.ts +2 -0
  1175. package/dist/components/layout/Stack/Stack.theme.js +10 -0
  1176. package/dist/components/layout/Stack/Stack.types.d.ts +46 -0
  1177. package/dist/components/layout/Stack/index.d.ts +3 -0
  1178. package/dist/components/layout/index.d.ts +4 -1
  1179. package/dist/components/layout/index.js +10 -0
  1180. package/dist/generative.schema.json +4360 -0
  1181. package/dist/hooks/index.d.ts +4 -0
  1182. package/dist/hooks/useClickOutside.d.ts +10 -4
  1183. package/dist/hooks/useClickOutside.js +45 -24
  1184. package/dist/hooks/useDarkMode.d.ts +1 -0
  1185. package/dist/hooks/useDarkMode.js +43 -0
  1186. package/dist/hooks/useElapsedTime.d.ts +28 -0
  1187. package/dist/hooks/useElapsedTime.js +37 -0
  1188. package/dist/hooks/useFocusTrap.js +1 -0
  1189. package/dist/hooks/useFormStateMachine.d.ts +1 -1
  1190. package/dist/hooks/useIsClient.js +1 -0
  1191. package/dist/hooks/useMediaQuery.d.ts +5 -0
  1192. package/dist/hooks/useMediaQuery.js +22 -0
  1193. package/dist/hooks/useNetworkStatus.d.ts +0 -4
  1194. package/dist/hooks/useNetworkStatus.js +2 -5
  1195. package/dist/hooks/useOverlay.d.ts +2 -0
  1196. package/dist/hooks/useOverlay.js +39 -4
  1197. package/dist/hooks/useScaleBackground.js +6 -2
  1198. package/dist/hooks/useSelectPortal.d.ts +20 -2
  1199. package/dist/hooks/useSelectPortal.js +180 -58
  1200. package/dist/hooks/useSlidingNumber.js +1 -0
  1201. package/dist/hooks/useStreamingSSE.d.ts +0 -5
  1202. package/dist/hooks/useStreamingSSE.js +1 -5
  1203. package/dist/hooks/useTypewriter.js +1 -0
  1204. package/dist/index.d.ts +1 -2
  1205. package/dist/index.js +60 -72
  1206. package/dist/registry.json +12043 -0
  1207. package/dist/shadcn-compat.css +80 -0
  1208. package/dist/styles.css +1 -1
  1209. package/dist/test/render.d.ts +11 -0
  1210. package/dist/test/setup.d.ts +1 -0
  1211. package/dist/theme/SurfaceContext.d.ts +98 -0
  1212. package/dist/theme/SurfaceContext.js +114 -0
  1213. package/dist/theme/ThemeContext.js +19 -0
  1214. package/dist/theme/animations.d.ts +75 -0
  1215. package/dist/theme/animations.js +132 -0
  1216. package/dist/theme/index.d.ts +5 -0
  1217. package/dist/theme.css +28 -0
  1218. package/dist/themes/ember.css +131 -0
  1219. package/dist/themes/iris.css +94 -0
  1220. package/dist/themes/jade.css +139 -0
  1221. package/dist/tools.json +4498 -0
  1222. package/dist/utils/actionQueue.d.ts +0 -4
  1223. package/dist/utils/actionQueue.js +1 -4
  1224. package/dist/utils/cn.js +21 -1
  1225. package/dist/utils/colorUtils.d.ts +53 -0
  1226. package/dist/utils/colorUtils.js +90 -0
  1227. package/dist/utils/dateUtils.js +81 -15
  1228. package/dist/utils/formatUtils.d.ts +10 -0
  1229. package/dist/utils/formatUtils.js +24 -0
  1230. package/dist/utils/index.d.ts +3 -1
  1231. package/dist/utils/paletteGenerator.d.ts +46 -0
  1232. package/dist/utils/performanceMonitor.js +1 -0
  1233. package/dist/utils/smoothScrollUtils.js +1 -0
  1234. package/dist/utils/stateMachine.d.ts +4 -4
  1235. package/package.json +87 -33
  1236. package/src/global.scss +1025 -0
  1237. package/src/styles/theme.css +1126 -0
  1238. package/tailwind.preset.cjs +60 -13
  1239. package/dist/components/ai/ApprovalCard/ApprovalCard.d.ts +0 -3
  1240. package/dist/components/ai/ApprovalCard/ApprovalCard.js +0 -15
  1241. package/dist/components/ai/ApprovalCard/ApprovalCard.theme.d.ts +0 -13
  1242. package/dist/components/ai/ApprovalCard/ApprovalCard.theme.js +0 -15
  1243. package/dist/components/ai/ApprovalCard/ApprovalCard.types.d.ts +0 -43
  1244. package/dist/components/ai/ApprovalCard/index.d.ts +0 -2
  1245. package/dist/components/ai/MessageHistory/MessageHistory.d.ts +0 -18
  1246. package/dist/components/ai/MessageHistory/MessageHistory.js +0 -97
  1247. package/dist/components/ai/MessageHistory/MessageHistory.theme.d.ts +0 -2
  1248. package/dist/components/ai/MessageHistory/MessageHistory.theme.js +0 -8
  1249. package/dist/components/ai/MessageHistory/MessageHistory.types.d.ts +0 -94
  1250. package/dist/components/ai/MessageHistory/index.d.ts +0 -3
  1251. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.d.ts +0 -10
  1252. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.js +0 -47
  1253. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.d.ts +0 -20
  1254. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.js +0 -55
  1255. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.d.ts +0 -2
  1256. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.js +0 -20
  1257. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.types.d.ts +0 -67
  1258. package/dist/components/ai/ThinkingIndicator/index.d.ts +0 -3
  1259. package/dist/components/charts/shared/BarRenderer/index.d.ts +0 -3
  1260. package/dist/components/charts/shared/ChartContainer/ChartContainer.d.ts +0 -85
  1261. package/dist/components/charts/shared/ChartContainer/index.d.ts +0 -3
  1262. package/dist/components/charts/shared/ChartLegend/ChartLegendContent.d.ts +0 -7
  1263. package/dist/components/charts/shared/ChartLegend/ChartLegendContent.js +0 -18
  1264. package/dist/components/charts/shared/LineRenderer/index.d.ts +0 -2
  1265. package/dist/components/core/Accordion/AccordionContent.d.ts +0 -3
  1266. package/dist/components/core/Button/Button.animations.d.ts +0 -5
  1267. package/dist/components/core/Card/CardContent.d.ts +0 -3
  1268. package/dist/components/core/Card/CardContent.js +0 -11
  1269. package/dist/components/core/Carousel/CarouselContent.d.ts +0 -4
  1270. package/dist/components/core/ContextMenu/ContextMenuContent.d.ts +0 -6
  1271. package/dist/components/core/ContextMenu/ContextMenuSubContent.d.ts +0 -6
  1272. package/dist/components/core/Drawer/DrawerContent.d.ts +0 -5
  1273. package/dist/components/core/Loader/Loader.d.ts +0 -24
  1274. package/dist/components/core/Loader/Loader.js +0 -57
  1275. package/dist/components/core/Loader/Loader.theme.d.ts +0 -27
  1276. package/dist/components/core/Loader/Loader.theme.js +0 -60
  1277. package/dist/components/core/Loader/Loader.types.d.ts +0 -71
  1278. package/dist/components/core/Loader/index.d.ts +0 -2
  1279. package/dist/components/core/Message/MessageContent.d.ts +0 -8
  1280. package/dist/components/core/Pill/Pill.animations.d.ts +0 -32
  1281. package/dist/components/core/Pill/Pill.animations.js +0 -25
  1282. package/dist/components/core/Popover/Popover.animations.js +0 -13
  1283. package/dist/components/core/Popover/PopoverContent.d.ts +0 -7
  1284. package/dist/components/core/Popover/PopoverContent.js +0 -136
  1285. package/dist/components/core/Sidebar/SidebarSubmenu.d.ts +0 -7
  1286. package/dist/components/core/Sidebar/SidebarSubmenu.js +0 -12
  1287. package/dist/components/core/SocialIcon/SocialIcon.d.ts +0 -3
  1288. package/dist/components/core/SocialIcon/SocialIcon.js +0 -30
  1289. package/dist/components/core/SocialIcon/SocialIcon.theme.d.ts +0 -2
  1290. package/dist/components/core/SocialIcon/SocialIcon.theme.js +0 -12
  1291. package/dist/components/core/SocialIcon/SocialIcon.types.d.ts +0 -18
  1292. package/dist/components/core/SocialIcon/index.d.ts +0 -2
  1293. package/dist/components/core/Tabs/TabsContent.d.ts +0 -6
  1294. package/dist/components/effects/MorphingText/MorphingText.d.ts +0 -17
  1295. package/dist/components/effects/MorphingText/MorphingText.js +0 -91
  1296. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +0 -18
  1297. package/dist/components/effects/MorphingText/index.d.ts +0 -2
  1298. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +0 -26
  1299. package/dist/components/effects/ParallaxSection/ParallaxSection.js +0 -71
  1300. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +0 -11
  1301. package/dist/components/effects/ParallaxSection/index.d.ts +0 -2
  1302. package/dist/components/effects/Spotlight/Spotlight.d.ts +0 -36
  1303. package/dist/components/effects/Spotlight/Spotlight.js +0 -112
  1304. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +0 -29
  1305. package/dist/components/effects/Spotlight/index.d.ts +0 -2
  1306. package/dist/components/effects/SpotlightBorder/SpotlightBorder.d.ts +0 -18
  1307. package/dist/components/effects/SpotlightBorder/SpotlightBorder.js +0 -214
  1308. package/dist/components/effects/SpotlightBorder/SpotlightBorder.types.d.ts +0 -61
  1309. package/dist/components/effects/SpotlightBorder/index.d.ts +0 -2
  1310. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +0 -30
  1311. package/dist/components/effects/StickyScroll/StickyScroll.js +0 -128
  1312. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +0 -19
  1313. package/dist/components/effects/StickyScroll/index.d.ts +0 -2
  1314. package/dist/components/forms/ColorPicker/ColorPickerContent.d.ts +0 -7
  1315. package/dist/components/forms/CronInput/CronInput.d.ts +0 -3
  1316. package/dist/components/forms/CronInput/CronInput.js +0 -107
  1317. package/dist/components/forms/CronInput/CronInput.theme.d.ts +0 -6
  1318. package/dist/components/forms/CronInput/CronInput.theme.js +0 -84
  1319. package/dist/components/forms/CronInput/CronInput.types.d.ts +0 -98
  1320. package/dist/components/forms/CronInput/CronInput.utils.d.ts +0 -67
  1321. package/dist/components/forms/CronInput/CronInput.utils.js +0 -505
  1322. package/dist/components/forms/CronInput/index.d.ts +0 -4
  1323. package/dist/components/forms/DatePicker/DatePickerContent.d.ts +0 -7
  1324. package/dist/components/forms/TransferList/TransferList.animations.d.ts +0 -10
  1325. package/dist/components/forms/TransferList/TransferList.animations.js +0 -32
  1326. package/dist/components/forms/TransferList/TransferList.d.ts +0 -28
  1327. package/dist/components/forms/TransferList/TransferList.js +0 -199
  1328. package/dist/components/forms/TransferList/TransferList.theme.d.ts +0 -6
  1329. package/dist/components/forms/TransferList/TransferList.theme.js +0 -60
  1330. package/dist/components/forms/TransferList/TransferList.types.d.ts +0 -101
  1331. package/dist/components/forms/TransferList/index.d.ts +0 -3
  1332. package/dist/components/layout/FormLayout/FormLayoutBody.d.ts +0 -3
  1333. package/dist/components/layout/FormLayout/FormLayoutBody.js +0 -91
  1334. package/dist/components/layout/FormLayout/FormLayoutHeader.d.ts +0 -3
  1335. package/dist/components/layout/FormLayout/FormLayoutHeader.js +0 -12
  1336. package/dist/components/layout/PageLayout/PageLayout.d.ts +0 -7
  1337. package/dist/components/layout/PageLayout/PageLayout.js +0 -33
  1338. package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +0 -2
  1339. package/dist/components/layout/PageLayout/PageLayout.theme.js +0 -10
  1340. package/dist/components/layout/PageLayout/PageLayout.types.d.ts +0 -39
  1341. package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +0 -3
  1342. package/dist/components/layout/PageLayout/PageLayoutContent.js +0 -12
  1343. package/dist/components/layout/PageLayout/PageLayoutHeader.d.ts +0 -3
  1344. package/dist/components/layout/PageLayout/PageLayoutHeader.js +0 -12
  1345. package/dist/components/layout/PageLayout/PageLayoutSidebar.d.ts +0 -3
  1346. package/dist/components/layout/PageLayout/PageLayoutSidebar.js +0 -12
  1347. package/dist/components/layout/PageLayout/index.d.ts +0 -3
  1348. package/dist/icons/Icon.d.ts +0 -24
  1349. package/dist/icons/Icon.js +0 -30
  1350. package/dist/icons/Index.d.ts +0 -16
  1351. package/dist/icons/core/ChevronUpDown.d.ts +0 -1
  1352. package/dist/icons/core/ChevronUpDown.js +0 -7
  1353. package/dist/icons/core/DollarIcon.d.ts +0 -1
  1354. package/dist/icons/core/DollarIcon.js +0 -5
  1355. package/dist/icons/core/LockIcon.d.ts +0 -1
  1356. package/dist/icons/core/LockIcon.js +0 -5
  1357. package/dist/icons/core/MinusIcon.d.ts +0 -1
  1358. package/dist/icons/core/MinusIcon.js +0 -7
  1359. package/dist/icons/core/PlusIcon.d.ts +0 -1
  1360. package/dist/icons/core/PlusIcon.js +0 -7
  1361. package/dist/icons/core/SearchIcon.d.ts +0 -1
  1362. package/dist/icons/core/SearchIcon.js +0 -7
  1363. package/dist/icons/core/TickIcon.d.ts +0 -1
  1364. package/dist/icons/core/TickIcon.js +0 -5
  1365. package/dist/icons/core/User.d.ts +0 -1
  1366. package/dist/utils/useClickOutside.d.ts +0 -1
  1367. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.d.ts +0 -0
  1368. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.theme.d.ts +0 -0
  1369. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.types.d.ts +0 -0
  1370. /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/index.d.ts +0 -0
  1371. /package/dist/components/core/{SocialIcon → Icon/data}/platforms.d.ts +0 -0
  1372. /package/dist/components/core/{SocialIcon → Icon/data}/platforms.js +0 -0
  1373. /package/dist/components/effects/{SpotlightBorder/SpotlightBorder.types.js → TiltCard/TiltCard.types.js} +0 -0
@@ -1,152 +1,214 @@
1
+ "use client";
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useId, useRef, useState, useCallback, useMemo } from 'react';
3
- import { AnimatePresence, motion } from 'motion/react';
3
+ import { useRef, useId, useState, useCallback, useMemo } from 'react';
4
+ import { useReducedMotion, AnimatePresence, motion } from 'motion/react';
4
5
  import { cn } from '../../../utils/cn.js';
5
6
  import { funnelChartTheme } from './FunnelChart.theme.js';
6
- import { labelVariants, badgeVariants, summaryVariants, segmentVariants, verticalSegmentVariants } from './FunnelChart.animations.js';
7
+ import { summaryVariants, labelVariants, badgeVariants } from './FunnelChart.animations.js';
7
8
  import { ChartTooltip } from '../shared/ChartTooltip/ChartTooltip.js';
8
9
  import { Badge } from '../../core/Badge/Badge.js';
9
10
  import { useTooltipPosition } from '../hooks/useTooltipPosition.js';
11
+ import { useChartDimensions } from '../hooks/useChartDimensions.js';
10
12
 
13
+ const sanitizeSvgId = (value) => value.replace(/[^a-zA-Z0-9_-]/g, "");
14
+ const resolveColor = (color, fallback) => {
15
+ if (!color)
16
+ return fallback;
17
+ if (!color.startsWith("var(") &&
18
+ !color.startsWith("#") &&
19
+ !color.startsWith("rgb") &&
20
+ !color.startsWith("hsl") &&
21
+ color.includes("-")) {
22
+ return `var(--color-${color})`;
23
+ }
24
+ return color;
25
+ };
11
26
  /**
12
- * FunnelChart Component
13
- *
14
- * Displays conversion funnel data with trapezoid shapes showing progressive dropoff.
15
- * Features animations, keyboard navigation, and accessibility support.
27
+ * Displays conversion funnel data with trapezoid shapes showing progressive
28
+ * dropoff. The render keeps the chart surface focused: stage-level detail lives
29
+ * in labels/tooltips while conversion and dropoff badges appear on focus.
16
30
  */
17
- const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true, showValues = true, showLabels = true, showDropoff = false, showConversionRate = true, showSummary = true, colors, theme: themeOverrides, className, orientation = "horizontal", curved = true, useGradient = true, fillOpacity = 0.8, onStageClick, formatValue, labelPosition = "top", summaryPosition = "top-right", animate = true, onStageFocus, ...props }) => {
31
+ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true, showValues = true, showLabels = true, showDropoff = false, showConversionRate = true, showSummary = true, colors, theme: themeOverrides, className, orientation = "horizontal", curved = true, useGradient = true, fillOpacity = 0.85, onStageClick, formatValue, labelPosition = "top", summaryPosition = "top-right", animate = true, onStageFocus, ...props }) => {
18
32
  const theme = { ...funnelChartTheme, ...(themeOverrides || {}) };
19
33
  const chartColors = colors || theme.colors || funnelChartTheme.colors;
20
- const chartId = useId();
21
- const containerRef = useRef(null);
22
- // Use the shared tooltip positioning hook
34
+ const rootRef = useRef(null);
35
+ const chartRef = useRef(null);
36
+ const { dimensions, measured } = useChartDimensions(chartRef);
37
+ const shouldReduceMotion = useReducedMotion();
38
+ const shouldAnimate = animate && !shouldReduceMotion;
39
+ const chartId = sanitizeSvgId(useId());
23
40
  const { tooltipData, tooltipRef, handleMouseEnter: tooltipMouseEnter, handleMouseMove: tooltipMouseMove, handleMouseLeave: tooltipMouseLeave, } = useTooltipPosition({
24
- containerRef,
41
+ containerRef: rootRef,
25
42
  });
26
- // Hover state for dimming non-hovered segments
27
43
  const [hoveredIndex, setHoveredIndex] = useState(null);
28
- // Keyboard focus state
29
- const [focusedIndex, setFocusedIndex] = useState(null);
30
- // Format value helper
44
+ const [focusedIndex, setFocusedIndex] = useState(0);
45
+ const activeIndex = hoveredIndex !== null && hoveredIndex !== void 0 ? hoveredIndex : focusedIndex;
31
46
  const formatDisplayValue = useCallback((value) => {
32
- if (formatValue) {
47
+ if (formatValue)
33
48
  return formatValue(value);
34
- }
35
49
  return value.toLocaleString();
36
50
  }, [formatValue]);
37
51
  const maxValue = useMemo(() => {
38
- if (data.length === 0)
52
+ if (!data.length)
39
53
  return 0;
40
- return Math.max(...data.map((d) => d.value));
54
+ return Math.max(...data.map((d) => Number.isFinite(d.value) ? d.value : 0));
41
55
  }, [data]);
42
56
  const stages = useMemo(() => {
43
- var _a;
44
- if (data.length === 0 || maxValue === 0) {
57
+ if (!data.length || maxValue <= 0)
45
58
  return [];
46
- }
47
- const baseColor = ((_a = data[0]) === null || _a === void 0 ? void 0 : _a.color) || chartColors[0];
48
59
  return data.map((item, index) => {
49
- const percentage = (item.value / maxValue) * 100;
50
- const prevValue = index > 0 ? data[index - 1].value : 0;
60
+ const safeValue = Number.isFinite(item.value) ? Math.max(0, item.value) : 0;
61
+ const percentage = (safeValue / maxValue) * 100;
62
+ const prevValue = index > 0 ? Math.max(0, data[index - 1].value) : 0;
51
63
  const dropoff = index > 0 && prevValue > 0
52
- ? ((prevValue - item.value) / prevValue) * 100
64
+ ? ((prevValue - safeValue) / prevValue) * 100
53
65
  : 0;
54
- const conversionRate = index > 0 && prevValue > 0 ? (item.value / prevValue) * 100 : 100;
55
- const usersLost = index > 0 ? prevValue - item.value : 0;
56
- const opacityRange = 0.8;
57
- const minOpacity = 0.4;
58
- const stageOpacity = minOpacity + opacityRange * (index / Math.max(1, data.length - 1));
66
+ const conversionRate = index > 0 && prevValue > 0 ? (safeValue / prevValue) * 100 : 100;
67
+ const usersLost = index > 0 ? Math.max(0, prevValue - safeValue) : 0;
68
+ const color = resolveColor(item.color, chartColors[index % chartColors.length] || "var(--color-primary)");
59
69
  return {
60
70
  ...item,
71
+ value: safeValue,
61
72
  percentage,
62
73
  dropoff,
63
74
  conversionRate,
64
75
  usersLost,
65
- color: baseColor,
66
- opacity: stageOpacity,
76
+ color,
77
+ opacity: Math.max(0.54, 0.96 - index * 0.08),
67
78
  gradientId: `funnel-gradient-${chartId}-${index}`,
68
79
  };
69
80
  });
70
81
  }, [data, maxValue, chartColors, chartId]);
71
82
  const containerHeight = typeof height === "number" ? `${height}px` : height;
72
83
  const containerWidth = typeof width === "number" ? `${width}px` : width;
73
- // Return empty state if no valid data
74
84
  if (stages.length === 0) {
75
- return (jsx("div", { className: cn(theme.baseStyle, className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": "Empty funnel chart - no data available", ...props, children: jsx("div", { className: "flex items-center justify-center h-full text-[var(--color-text-muted)] text-sm", children: "No data available" }) }));
85
+ return (jsx("div", { className: cn(theme.baseStyle, "justify-center text-[var(--color-text-muted)]", className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": "Empty funnel chart - no data available", ...props, children: jsx("span", { children: "No data available" }) }));
76
86
  }
77
- const viewBoxWidth = 150;
78
- const viewBoxHeight = 100;
79
- const stageHeight = viewBoxHeight / stages.length;
80
- const stageWidth = viewBoxWidth / stages.length;
81
- const verticalPadding = 5;
82
- const availableThickness = viewBoxHeight - verticalPadding * 2;
83
- const minThickness = 3;
87
+ const hasTopSummary = showSummary && summaryPosition !== "none" && summaryPosition.startsWith("top");
88
+ const hasBottomSummary = showSummary && summaryPosition !== "none" && summaryPosition.startsWith("bottom");
89
+ const plotMargin = {
90
+ top: orientation === "horizontal" && labelPosition === "top" ? 46 : 18,
91
+ right: orientation === "vertical" && (showConversionRate || showDropoff) ? 82 : 24,
92
+ bottom: orientation === "horizontal" && labelPosition === "bottom" ? 46 : 18,
93
+ left: orientation === "vertical" && (showConversionRate || showDropoff) ? 82 : 24,
94
+ };
95
+ const innerWidth = Math.max(0, dimensions.width - plotMargin.left - plotMargin.right);
96
+ const innerHeight = Math.max(0, dimensions.height - plotMargin.top - plotMargin.bottom);
97
+ const stageWidth = stages.length > 0 ? innerWidth / stages.length : 0;
98
+ const stageHeight = stages.length > 0 ? innerHeight / stages.length : 0;
99
+ const minThickness = orientation === "horizontal" ? 18 : 24;
100
+ const availableThickness = orientation === "horizontal" ? innerHeight : innerWidth;
84
101
  const getThickness = (percentage) => {
85
102
  if (!percentage)
86
103
  return minThickness;
87
104
  return Math.max(minThickness, (percentage / 100) * availableThickness);
88
105
  };
89
- const generateHorizontalFunnelPath = (index) => {
106
+ const getHorizontalBoundaryPoint = (boundaryIndex, edge) => {
107
+ const boundedIndex = Math.max(0, Math.min(stages.length, boundaryIndex));
108
+ const stageIndex = Math.min(boundedIndex, stages.length - 1);
109
+ const thickness = getThickness(stages[stageIndex].percentage);
110
+ const centerY = plotMargin.top + innerHeight / 2;
111
+ return {
112
+ x: plotMargin.left + boundedIndex * stageWidth,
113
+ y: edge === "top" ? centerY - thickness / 2 : centerY + thickness / 2,
114
+ };
115
+ };
116
+ const getSmoothHorizontalCurve = (index, edge) => {
117
+ const p0 = getHorizontalBoundaryPoint(index - 1, edge);
118
+ const p1 = getHorizontalBoundaryPoint(index, edge);
119
+ const p2 = getHorizontalBoundaryPoint(index + 1, edge);
120
+ const p3 = getHorizontalBoundaryPoint(index + 2, edge);
121
+ const smoothing = 0.22;
122
+ return {
123
+ start: p1,
124
+ end: p2,
125
+ cp1: {
126
+ x: p1.x + (p2.x - p0.x) * smoothing,
127
+ y: p1.y + (p2.y - p0.y) * smoothing,
128
+ },
129
+ cp2: {
130
+ x: p2.x - (p3.x - p1.x) * smoothing,
131
+ y: p2.y - (p3.y - p1.y) * smoothing,
132
+ },
133
+ };
134
+ };
135
+ const getHorizontalGeometry = (index) => {
90
136
  const stage = stages[index];
91
137
  const nextStage = stages[index + 1] || stage;
92
- const xStart = index * stageWidth;
138
+ const xStart = plotMargin.left + index * stageWidth;
93
139
  const xEnd = xStart + stageWidth;
94
140
  const startThickness = getThickness(stage.percentage);
95
141
  const endThickness = getThickness(nextStage.percentage);
96
- const centerY = viewBoxHeight / 2;
142
+ const centerY = plotMargin.top + innerHeight / 2;
97
143
  const startTop = centerY - startThickness / 2;
98
144
  const startBottom = centerY + startThickness / 2;
99
145
  const endTop = centerY - endThickness / 2;
100
146
  const endBottom = centerY + endThickness / 2;
101
- if (!curved) {
102
- return `
103
- M ${xStart} ${startTop}
104
- L ${xEnd} ${endTop}
105
- L ${xEnd} ${endBottom}
106
- L ${xStart} ${startBottom}
107
- Z
108
- `;
109
- }
110
- const dx = xEnd - xStart;
111
- const controlDistance = dx * 0.025;
112
- const topCp1x = xStart + controlDistance;
113
- const topCp1y = startTop;
114
- const topCp2x = xEnd - controlDistance;
115
- const topCp2y = endTop;
116
- const bottomCp1x = xEnd - controlDistance;
117
- const bottomCp1y = endBottom;
118
- const bottomCp2x = xStart + controlDistance;
119
- const bottomCp2y = startBottom;
120
- return `
121
- M ${xStart} ${startTop}
122
- C ${topCp1x} ${topCp1y}, ${topCp2x} ${topCp2y}, ${xEnd} ${endTop}
123
- L ${xEnd} ${endBottom}
124
- C ${bottomCp1x} ${bottomCp1y}, ${bottomCp2x} ${bottomCp2y}, ${xStart} ${startBottom}
125
- Z
126
- `;
147
+ const path = curved
148
+ ? (() => {
149
+ const topCurve = getSmoothHorizontalCurve(index, "top");
150
+ const bottomCurve = getSmoothHorizontalCurve(index, "bottom");
151
+ return `
152
+ M ${topCurve.start.x} ${topCurve.start.y}
153
+ C ${topCurve.cp1.x} ${topCurve.cp1.y}, ${topCurve.cp2.x} ${topCurve.cp2.y}, ${topCurve.end.x} ${topCurve.end.y}
154
+ L ${bottomCurve.end.x} ${bottomCurve.end.y}
155
+ C ${bottomCurve.cp2.x} ${bottomCurve.cp2.y}, ${bottomCurve.cp1.x} ${bottomCurve.cp1.y}, ${bottomCurve.start.x} ${bottomCurve.start.y}
156
+ Z
157
+ `;
158
+ })()
159
+ : `
160
+ M ${xStart} ${startTop}
161
+ L ${xEnd} ${endTop}
162
+ L ${xEnd} ${endBottom}
163
+ L ${xStart} ${startBottom}
164
+ Z
165
+ `;
166
+ return {
167
+ path,
168
+ centerX: xStart + stageWidth / 2,
169
+ centerY,
170
+ boundaryX: xStart,
171
+ boundaryY: centerY,
172
+ labelWidth: Math.max(72, stageWidth - 16),
173
+ labelFitsInside: Math.min(startThickness, endThickness) >= 48 && stageWidth >= 92,
174
+ };
127
175
  };
128
- const generateVerticalFunnelPath = (index) => {
176
+ const getVerticalGeometry = (index) => {
129
177
  const stage = stages[index];
130
178
  const nextStage = stages[index + 1] || stage;
131
- const y = index * stageHeight;
132
- const topWidth = stage.percentage;
133
- const bottomWidth = nextStage.percentage;
134
- const leftOffset = (100 - topWidth) / 2;
135
- const rightOffset = 100 - leftOffset;
136
- const nextLeftOffset = (100 - bottomWidth) / 2;
137
- const nextRightOffset = 100 - nextLeftOffset;
138
- return `
139
- M ${leftOffset} ${y}
140
- L ${rightOffset} ${y}
141
- L ${nextRightOffset} ${y + stageHeight}
142
- L ${nextLeftOffset} ${y + stageHeight}
143
- Z
144
- `;
179
+ const yStart = plotMargin.top + index * stageHeight;
180
+ const yEnd = yStart + stageHeight;
181
+ const topWidth = getThickness(stage.percentage);
182
+ const bottomWidth = getThickness(nextStage.percentage);
183
+ const centerX = plotMargin.left + innerWidth / 2;
184
+ const topLeft = centerX - topWidth / 2;
185
+ const topRight = centerX + topWidth / 2;
186
+ const bottomLeft = centerX - bottomWidth / 2;
187
+ const bottomRight = centerX + bottomWidth / 2;
188
+ return {
189
+ path: `
190
+ M ${topLeft} ${yStart}
191
+ L ${topRight} ${yStart}
192
+ L ${bottomRight} ${yEnd}
193
+ L ${bottomLeft} ${yEnd}
194
+ Z
195
+ `,
196
+ centerX,
197
+ centerY: yStart + stageHeight / 2,
198
+ boundaryX: centerX,
199
+ boundaryY: yStart,
200
+ labelWidth: Math.max(96, Math.min(topWidth, bottomWidth) - 18),
201
+ labelFitsInside: Math.min(topWidth, bottomWidth) >= 132 && stageHeight >= 56,
202
+ };
145
203
  };
146
- // Tooltip handlers
147
- const handleMouseEnter = (e, stage, index) => {
148
- // Build series data for the tooltip
149
- const seriesItems = [
204
+ const geometries = stages.map((_, index) => orientation === "horizontal"
205
+ ? getHorizontalGeometry(index)
206
+ : getVerticalGeometry(index));
207
+ const overallConversion = stages.length > 1 && stages[0].value > 0
208
+ ? ((stages[stages.length - 1].value / stages[0].value) * 100).toFixed(1)
209
+ : "100";
210
+ const buildTooltipContent = (stage, index) => {
211
+ const series = [
150
212
  {
151
213
  key: "value",
152
214
  label: "Value",
@@ -155,13 +217,12 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
155
217
  },
156
218
  {
157
219
  key: "percentage",
158
- label: "Of Total",
220
+ label: "Of total",
159
221
  value: `${stage.percentage.toFixed(1)}%`,
160
222
  },
161
223
  ];
162
- // Add conversion and lost info for non-first stages
163
224
  if (index > 0) {
164
- seriesItems.push({
225
+ series.push({
165
226
  key: "conversion",
166
227
  label: "Conversion",
167
228
  value: `${stage.conversionRate.toFixed(1)}%`,
@@ -169,293 +230,180 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
169
230
  ? "var(--color-success)"
170
231
  : "var(--color-warning)",
171
232
  });
172
- seriesItems.push({
233
+ series.push({
173
234
  key: "lost",
174
235
  label: "Lost",
175
236
  value: formatDisplayValue(stage.usersLost),
176
237
  color: "var(--color-danger)",
177
238
  });
178
239
  }
179
- const tooltipContent = {
240
+ return {
180
241
  category: stage.name,
181
- series: seriesItems,
242
+ series,
182
243
  };
183
- tooltipMouseEnter(e, tooltipContent);
184
- setHoveredIndex(index);
185
244
  };
186
- const handleMouseMove = (e) => {
187
- tooltipMouseMove(e);
245
+ const handleMouseEnter = (e, stage, index) => {
246
+ const geometry = geometries[index];
247
+ tooltipMouseEnter(e, buildTooltipContent(stage, index), {
248
+ x: geometry.centerX,
249
+ y: geometry.centerY,
250
+ dimensions,
251
+ });
252
+ setHoveredIndex(index);
188
253
  };
189
254
  const handleMouseLeave = () => {
190
255
  tooltipMouseLeave();
191
256
  setHoveredIndex(null);
192
257
  };
193
258
  const handleClick = (stage, index) => {
194
- if (onStageClick) {
195
- onStageClick(stage, index);
196
- }
259
+ onStageClick === null || onStageClick === void 0 ? void 0 : onStageClick(stage, index);
197
260
  };
198
- // Keyboard navigation handlers
199
- const handleKeyDown = (e, stage, index) => {
200
- var _a, _b, _c, _d;
201
- const isHorizontal = orientation === "horizontal";
202
- const nextKey = isHorizontal ? "ArrowRight" : "ArrowDown";
203
- const prevKey = isHorizontal ? "ArrowLeft" : "ArrowUp";
204
- switch (e.key) {
205
- case nextKey:
206
- e.preventDefault();
207
- if (index < stages.length - 1) {
208
- setFocusedIndex(index + 1);
209
- const nextButton = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-stage-index="${index + 1}"]`);
210
- nextButton === null || nextButton === void 0 ? void 0 : nextButton.focus();
211
- }
212
- break;
213
- case prevKey:
214
- e.preventDefault();
215
- if (index > 0) {
216
- setFocusedIndex(index - 1);
217
- const prevButton = (_b = containerRef.current) === null || _b === void 0 ? void 0 : _b.querySelector(`[data-stage-index="${index - 1}"]`);
218
- prevButton === null || prevButton === void 0 ? void 0 : prevButton.focus();
219
- }
220
- break;
221
- case "Enter":
222
- case " ":
223
- e.preventDefault();
224
- handleClick(stage, index);
225
- break;
226
- case "Home":
227
- e.preventDefault();
228
- setFocusedIndex(0);
229
- const firstButton = (_c = containerRef.current) === null || _c === void 0 ? void 0 : _c.querySelector('[data-stage-index="0"]');
230
- firstButton === null || firstButton === void 0 ? void 0 : firstButton.focus();
231
- break;
232
- case "End":
233
- e.preventDefault();
234
- const lastIndex = stages.length - 1;
235
- setFocusedIndex(lastIndex);
236
- const lastButton = (_d = containerRef.current) === null || _d === void 0 ? void 0 : _d.querySelector(`[data-stage-index="${lastIndex}"]`);
237
- lastButton === null || lastButton === void 0 ? void 0 : lastButton.focus();
238
- break;
261
+ const handleKeyDown = (e) => {
262
+ const nextKey = orientation === "horizontal" ? "ArrowRight" : "ArrowDown";
263
+ const prevKey = orientation === "horizontal" ? "ArrowLeft" : "ArrowUp";
264
+ if (e.key === nextKey) {
265
+ e.preventDefault();
266
+ setFocusedIndex((index) => Math.min(stages.length - 1, index + 1));
267
+ return;
239
268
  }
240
- };
241
- const handleFocus = (stage, index) => {
242
- setFocusedIndex(index);
243
- setHoveredIndex(index);
244
- onStageFocus === null || onStageFocus === void 0 ? void 0 : onStageFocus(stage, index);
245
- };
246
- const handleBlur = () => {
247
- setFocusedIndex(null);
248
- setHoveredIndex(null);
249
- };
250
- // Get summary position classes
251
- const getSummaryPositionClasses = (position) => {
252
- switch (position) {
253
- case "top-right":
254
- return "top-2 right-2";
255
- case "top-left":
256
- return "top-2 left-2";
257
- case "bottom-right":
258
- return "bottom-2 right-2";
259
- case "bottom-left":
260
- return "bottom-2 left-2";
261
- default:
262
- return "top-2 right-2";
269
+ if (e.key === prevKey) {
270
+ e.preventDefault();
271
+ setFocusedIndex((index) => Math.max(0, index - 1));
272
+ return;
263
273
  }
264
- };
265
- // Get label vertical position
266
- const getLabelTopPosition = (position) => {
267
- switch (position) {
268
- case "top":
269
- return "0";
270
- case "bottom":
271
- return "auto";
272
- case "inside":
273
- return "50%";
274
- default:
275
- return "0";
274
+ if (e.key === "Home") {
275
+ e.preventDefault();
276
+ setFocusedIndex(0);
277
+ return;
276
278
  }
277
- };
278
- const getLabelBottomPosition = (position) => {
279
- switch (position) {
280
- case "bottom":
281
- return "0";
282
- default:
283
- return "auto";
279
+ if (e.key === "End") {
280
+ e.preventDefault();
281
+ setFocusedIndex(stages.length - 1);
282
+ return;
283
+ }
284
+ if (e.key === "Enter" || e.key === " ") {
285
+ e.preventDefault();
286
+ handleClick(stages[focusedIndex], focusedIndex);
284
287
  }
285
288
  };
286
- // Calculate overall conversion
287
- const overallConversion = stages.length > 1
288
- ? ((stages[stages.length - 1].value / stages[0].value) * 100).toFixed(1)
289
- : "100";
290
- // Animation props based on animate flag
291
- const getAnimationProps = (index) => {
292
- if (!animate) {
293
- return {};
289
+ const renderSummary = () => {
290
+ if (!showSummary || summaryPosition === "none" || stages.length <= 1) {
291
+ return null;
294
292
  }
295
- return {
296
- variants: orientation === "horizontal"
297
- ? segmentVariants
298
- : verticalSegmentVariants,
299
- initial: "hidden",
300
- animate: "visible",
301
- exit: "exit",
302
- custom: index,
303
- };
293
+ return (jsxs(motion.div, { className: cn("flex w-full items-center justify-between gap-4 rounded-md border border-[var(--color-border)] bg-[var(--color-background)] px-3 py-2 shadow-sm", summaryPosition.endsWith("left") ? "text-left" : "text-right"), ...(shouldAnimate
294
+ ? {
295
+ variants: summaryVariants,
296
+ initial: "hidden",
297
+ animate: "visible",
298
+ }
299
+ : {}), children: [jsxs("div", { children: [jsx("div", { className: "text-sm text-[var(--color-text-secondary)]", children: "Overall conversion" }), jsxs("div", { className: "text-lg font-semibold text-[var(--color-text-primary)]", children: [overallConversion, "%"] })] }), jsxs("div", { className: "text-sm text-[var(--color-text-muted)]", children: [formatDisplayValue(stages[0].value), " to", " ", formatDisplayValue(stages[stages.length - 1].value)] })] }));
300
+ };
301
+ const renderStageLabel = (stage, index) => {
302
+ if (!showLabels || labelPosition === "tooltip-only" || !measured)
303
+ return null;
304
+ const geometry = geometries[index];
305
+ const isInside = labelPosition === "inside" ||
306
+ (orientation === "vertical" && geometry.labelFitsInside);
307
+ const shouldShowInside = isInside && geometry.labelFitsInside;
308
+ const top = orientation === "horizontal"
309
+ ? shouldShowInside
310
+ ? geometry.centerY
311
+ : labelPosition === "bottom"
312
+ ? dimensions.height - 30
313
+ : 12
314
+ : geometry.centerY;
315
+ const left = orientation === "vertical" && !shouldShowInside
316
+ ? plotMargin.left + innerWidth + 14
317
+ : geometry.centerX;
318
+ return (jsxs(motion.div, { className: "absolute pointer-events-none text-center", style: {
319
+ left,
320
+ top,
321
+ width: Math.min(geometry.labelWidth, 180),
322
+ transform: shouldShowInside
323
+ ? "translate(-50%, -50%)"
324
+ : orientation === "vertical"
325
+ ? "translateY(-50%)"
326
+ : "translateX(-50%)",
327
+ }, ...(shouldAnimate
328
+ ? {
329
+ variants: labelVariants,
330
+ initial: "hidden",
331
+ animate: "visible",
332
+ custom: index,
333
+ }
334
+ : {}), children: [jsx("div", { className: cn("truncate text-sm font-semibold leading-5", shouldShowInside
335
+ ? "text-white drop-shadow-md"
336
+ : "text-[var(--color-text-primary)]"), title: stage.name, children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: cn("truncate text-xs leading-4", shouldShowInside
337
+ ? "text-white/90 drop-shadow-md"
338
+ : "text-[var(--color-text-secondary)]"), children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " / ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
339
+ };
340
+ const renderActiveBadge = () => {
341
+ const index = activeIndex;
342
+ if (!measured || index <= 0 || index >= stages.length)
343
+ return null;
344
+ const stage = stages[index];
345
+ const geometry = geometries[index];
346
+ const isGoodConversion = stage.conversionRate >= 50;
347
+ return (jsxs(motion.div, { className: "absolute pointer-events-none", style: {
348
+ left: orientation === "horizontal"
349
+ ? geometry.boundaryX
350
+ : plotMargin.left + 8,
351
+ top: orientation === "horizontal"
352
+ ? geometry.boundaryY
353
+ : geometry.boundaryY,
354
+ transform: orientation === "horizontal"
355
+ ? "translate(-50%, -50%)"
356
+ : "translateY(-50%)",
357
+ }, ...(shouldAnimate
358
+ ? {
359
+ variants: badgeVariants,
360
+ initial: "hidden",
361
+ animate: "visible",
362
+ custom: index,
363
+ }
364
+ : {}), children: [showConversionRate && (jsxs(Badge, { color: isGoodConversion ? "success" : "warning", variant: "soft", size: "sm", pill: true, children: [stage.conversionRate.toFixed(1), "%"] })), showDropoff && (jsxs("div", { className: "mt-1 text-center text-xs font-medium text-[var(--color-danger)]", children: ["-", Math.max(0, stage.dropoff).toFixed(1), "%"] }))] }, `active-badge-${stage.name}`));
304
365
  };
305
- return (jsxs("div", { ref: containerRef, className: cn(theme.baseStyle, "relative", className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": `Conversion funnel chart with ${stages.length} stages. Overall conversion: ${overallConversion}%`, ...props, children: [jsxs("svg", { viewBox: `0 0 ${viewBoxWidth} ${viewBoxHeight}`, width: "100%", height: "100%", preserveAspectRatio: "none", "aria-hidden": "true", children: [useGradient && (jsx("defs", { children: stages.map((stage) => {
306
- const centerOpacity = stage.opacity || 0.5;
307
- const edgeOpacity = Math.max(0.2, centerOpacity - 0.3);
308
- return (jsxs("linearGradient", { id: stage.gradientId, x1: "0%", y1: "0%", x2: "0%", y2: "100%", children: [jsx("stop", { offset: "0%", stopColor: stage.color, stopOpacity: edgeOpacity }), jsx("stop", { offset: "50%", stopColor: stage.color, stopOpacity: centerOpacity }), jsx("stop", { offset: "100%", stopColor: stage.color, stopOpacity: edgeOpacity })] }, stage.gradientId));
309
- }) })), jsx(AnimatePresence, { children: stages.map((stage, index) => {
310
- const path = orientation === "horizontal"
311
- ? generateHorizontalFunnelPath(index)
312
- : generateVerticalFunnelPath(index);
313
- const fill = useGradient
314
- ? `url(#${stage.gradientId})`
315
- : stage.color;
316
- const computedFillOpacity = useGradient ? 1 : fillOpacity;
317
- // Dim non-hovered segments when one is hovered
318
- const isDimmed = hoveredIndex !== null && hoveredIndex !== index;
319
- const segmentOpacity = isDimmed ? 0.4 : computedFillOpacity;
320
- const transformOrigin = orientation === "horizontal"
321
- ? `${((index * stageWidth + stageWidth / 2) / viewBoxWidth) * 100}% 50%`
322
- : `50% ${((index * stageHeight + stageHeight / 2) / viewBoxHeight) *
323
- 100}%`;
324
- return (jsx(motion.path, { d: path, fill: fill, fillOpacity: segmentOpacity, stroke: "rgba(255, 255, 255, 0.8)", strokeWidth: "0.5", className: "cursor-pointer outline-none", style: { transformOrigin }, ...getAnimationProps(index), whileHover: animate ? { scale: 1.02 } : undefined, transition: { duration: 0.2 } }, stage.name));
325
- }) })] }), stages.map((stage, index) => {
326
- const widthPercent = (stageWidth / viewBoxWidth) * 100;
327
- const heightPercent = (stageHeight / viewBoxHeight) * 100;
328
- return (jsx("button", { "data-stage-index": index, className: "absolute bg-transparent border-0 cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-2 rounded", style: {
329
- left: orientation === "horizontal"
330
- ? `${((index * stageWidth) / viewBoxWidth) * 100}%`
331
- : "10%",
332
- top: orientation === "vertical"
333
- ? `${((index * stageHeight) / viewBoxHeight) * 100}%`
334
- : "20%",
335
- width: orientation === "horizontal" ? `${widthPercent}%` : "80%",
336
- height: orientation === "horizontal" ? "60%" : `${heightPercent}%`,
337
- }, onMouseEnter: (e) => handleMouseEnter(e, stage, index), onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, onClick: () => handleClick(stage, index), onKeyDown: (e) => handleKeyDown(e, stage, index), onFocus: () => handleFocus(stage, index), onBlur: handleBlur, "aria-label": `${stage.name}: ${formatDisplayValue(stage.value)} (${stage.percentage.toFixed(0)}% of total)${index > 0
338
- ? `. Conversion from previous: ${stage.conversionRate.toFixed(1)}%`
339
- : ""}`, tabIndex: index === 0 ? 0 : -1 }, `interactive-${stage.name}`));
340
- }), orientation === "horizontal" &&
341
- showLabels &&
342
- labelPosition !== "tooltip-only" &&
343
- stages.map((stage, index) => {
344
- const leftPercent = ((index * stageWidth + stageWidth / 2) / viewBoxWidth) * 100;
345
- return (jsxs(motion.div, { className: "absolute pointer-events-none", style: {
346
- left: `${leftPercent}%`,
347
- top: getLabelTopPosition(labelPosition),
348
- bottom: getLabelBottomPosition(labelPosition),
349
- transform: labelPosition === "inside"
350
- ? "translate(-50%, -50%)"
351
- : "translateX(-50%)",
352
- }, ...(animate
353
- ? {
354
- variants: labelVariants,
355
- initial: "hidden",
356
- animate: "visible",
357
- custom: index,
358
- }
359
- : {}), children: [jsx("div", { className: cn("text-sm font-semibold whitespace-nowrap", labelPosition === "inside"
360
- ? "text-white drop-shadow-md"
361
- : "text-[var(--color-text-primary)]"), children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: cn("text-xs whitespace-nowrap", labelPosition === "inside"
362
- ? "text-white/90 drop-shadow-md"
363
- : "text-[var(--color-text-secondary)]"), children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " • ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
364
- }), orientation === "vertical" &&
365
- showLabels &&
366
- labelPosition !== "tooltip-only" &&
367
- stages.map((stage, index) => {
368
- const topPercent = ((index * stageHeight + stageHeight / 2) / viewBoxHeight) * 100;
369
- return (jsxs(motion.div, { className: "absolute left-1/2 pointer-events-none", style: {
370
- top: `${topPercent}%`,
371
- transform: "translate(-50%, -50%)",
372
- }, ...(animate
373
- ? {
374
- variants: labelVariants,
375
- initial: "hidden",
376
- animate: "visible",
377
- custom: index,
378
- }
379
- : {}), children: [jsx("div", { className: "text-sm font-semibold text-white drop-shadow-md whitespace-nowrap text-center", children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: "text-xs text-white/90 drop-shadow-md whitespace-nowrap text-center", children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " • ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
380
- }), orientation === "horizontal" &&
381
- showDropoff &&
382
- stages.map((stage, index) => {
383
- if (index === 0)
384
- return null;
385
- const leftPercent = ((index * stageWidth) / viewBoxWidth) * 100;
386
- return (jsx(motion.div, { className: "absolute pointer-events-none", style: {
387
- left: `${leftPercent}%`,
388
- bottom: "4px",
389
- transform: "translateX(-50%)",
390
- }, ...(animate
391
- ? {
392
- variants: badgeVariants,
393
- initial: "hidden",
394
- animate: "visible",
395
- custom: index,
396
- }
397
- : {}), children: jsxs("span", { className: "text-xs text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
398
- }), orientation === "vertical" &&
399
- showDropoff &&
400
- stages.map((stage, index) => {
401
- if (index === 0)
402
- return null;
403
- const topPercent = ((index * stageHeight) / viewBoxHeight) * 100;
404
- return (jsx(motion.div, { className: "absolute right-2 pointer-events-none", style: {
405
- top: `${topPercent}%`,
406
- transform: "translateY(-50%)",
407
- }, ...(animate
408
- ? {
409
- variants: badgeVariants,
410
- initial: "hidden",
411
- animate: "visible",
412
- custom: index,
413
- }
414
- : {}), children: jsxs("span", { className: "text-xs text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
415
- }), orientation === "horizontal" &&
416
- showConversionRate &&
417
- stages.map((stage, index) => {
418
- if (index === 0)
419
- return null;
420
- const leftPercent = ((index * stageWidth) / viewBoxWidth) * 100;
421
- const isGoodConversion = stage.conversionRate >= 50;
422
- return (jsx(motion.div, { className: "absolute pointer-events-none", style: {
423
- left: `${leftPercent}%`,
424
- top: "50%",
425
- transform: "translate(-50%, -50%)",
426
- }, ...(animate
427
- ? {
428
- variants: badgeVariants,
429
- initial: "hidden",
430
- animate: "visible",
431
- custom: index,
432
- }
433
- : {}), children: jsxs(Badge, { color: isGoodConversion ? "success" : "warning", variant: "ghost", size: "sm", pill: true, children: ["\u2193 ", stage.conversionRate.toFixed(1), "%"] }) }, `conversion-${stage.name}`));
434
- }), orientation === "vertical" &&
435
- showConversionRate &&
436
- stages.map((stage, index) => {
437
- if (index === 0)
438
- return null;
439
- const topPercent = ((index * stageHeight) / viewBoxHeight) * 100;
440
- const isGoodConversion = stage.conversionRate >= 50;
441
- return (jsx(motion.div, { className: "absolute left-2 pointer-events-none", style: {
442
- top: `${topPercent}%`,
443
- transform: "translateY(-50%)",
444
- }, ...(animate
445
- ? {
446
- variants: badgeVariants,
447
- initial: "hidden",
448
- animate: "visible",
449
- custom: index,
450
- }
451
- : {}), children: jsxs(Badge, { color: isGoodConversion ? "success" : "warning", variant: "ghost", size: "sm", pill: true, children: [stage.conversionRate.toFixed(0), "%"] }) }, `conversion-${stage.name}`));
452
- }), showSummary && summaryPosition !== "none" && stages.length > 1 && (jsxs(motion.div, { className: cn("absolute bg-[var(--color-background)] rounded-lg shadow-sm border border-[var(--color-border)] px-3 py-2 pointer-events-none", getSummaryPositionClasses(summaryPosition)), ...(animate
453
- ? {
454
- variants: summaryVariants,
455
- initial: "hidden",
456
- animate: "visible",
457
- }
458
- : {}), children: [jsx("div", { className: "text-xs text-[var(--color-text-secondary)] mb-1", children: "Overall Conversion" }), jsxs("div", { className: "text-lg font-bold text-[var(--color-text-primary)]", children: [overallConversion, "%"] }), jsxs("div", { className: "text-xs text-[var(--color-text-muted)] mt-1", children: [formatDisplayValue(stages[0].value), " \u2192", " ", formatDisplayValue(stages[stages.length - 1].value)] })] })), jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content, chartType: "area" })] }));
366
+ return (jsxs("div", { ref: rootRef, className: cn(theme.baseStyle, "gap-3", className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": `Conversion funnel chart with ${stages.length} stages. Overall conversion: ${overallConversion}%`, tabIndex: 0, onKeyDown: handleKeyDown, ...props, children: [hasTopSummary && renderSummary(), jsxs("div", { ref: chartRef, className: "relative min-h-0 w-full flex-1", children: [jsxs("svg", { viewBox: `0 0 ${dimensions.width} ${dimensions.height}`, width: "100%", height: "100%", "aria-hidden": "true", className: "block overflow-visible", children: [jsx("defs", { children: useGradient &&
367
+ stages.map((stage) => {
368
+ const centerOpacity = Math.min(0.98, stage.opacity);
369
+ const edgeOpacity = Math.max(0.26, centerOpacity - 0.34);
370
+ return (jsxs("linearGradient", { id: stage.gradientId, gradientUnits: "objectBoundingBox", x1: orientation === "horizontal" ? "0" : "0.5", y1: orientation === "horizontal" ? "0.5" : "0", x2: orientation === "horizontal" ? "1" : "0.5", y2: orientation === "horizontal" ? "0.5" : "1", children: [jsx("stop", { offset: "0%", stopColor: stage.color, stopOpacity: centerOpacity }), jsx("stop", { offset: "70%", stopColor: stage.color, stopOpacity: Math.max(edgeOpacity, centerOpacity - 0.12) }), jsx("stop", { offset: "100%", stopColor: stage.color, stopOpacity: edgeOpacity })] }, stage.gradientId));
371
+ }) }), jsx(AnimatePresence, { children: measured &&
372
+ stages.map((stage, index) => {
373
+ const geometry = geometries[index];
374
+ const fill = useGradient
375
+ ? `url(#${stage.gradientId})`
376
+ : stage.color;
377
+ const isActive = activeIndex === index;
378
+ const isDimmed = hoveredIndex !== null && hoveredIndex !== index;
379
+ return (jsx(motion.path, { d: geometry.path, fill: fill, fillOpacity: useGradient ? 1 : fillOpacity, stroke: isActive
380
+ ? stage.color
381
+ : "var(--color-surface)", strokeWidth: isActive ? 1.5 : 1, strokeLinejoin: "round", vectorEffect: "non-scaling-stroke", className: "cursor-pointer outline-none transition-colors duration-200", initial: shouldAnimate
382
+ ? {
383
+ opacity: 0,
384
+ scaleX: orientation === "horizontal" ? 0.84 : 1,
385
+ scaleY: orientation === "vertical" ? 0.84 : 1,
386
+ }
387
+ : false, animate: {
388
+ opacity: isDimmed ? 0.36 : 1,
389
+ scaleX: 1,
390
+ scaleY: 1,
391
+ }, exit: shouldAnimate ? { opacity: 0 } : undefined, transition: {
392
+ delay: shouldAnimate ? index * 0.06 : 0,
393
+ duration: shouldAnimate ? 0.36 : 0,
394
+ ease: "easeOut",
395
+ }, style: {
396
+ transformOrigin: orientation === "horizontal"
397
+ ? `${geometry.centerX}px ${geometry.centerY}px`
398
+ : `${geometry.centerX}px ${geometry.centerY}px`,
399
+ filter: isActive
400
+ ? "drop-shadow(0 8px 14px rgb(0 0 0 / 0.14))"
401
+ : undefined,
402
+ }, onMouseEnter: (e) => handleMouseEnter(e, stage, index), onMouseMove: tooltipMouseMove, onMouseLeave: handleMouseLeave, onFocus: () => {
403
+ setFocusedIndex(index);
404
+ onStageFocus === null || onStageFocus === void 0 ? void 0 : onStageFocus(stage, index);
405
+ }, onClick: () => handleClick(stage, index) }, stage.name));
406
+ }) })] }), stages.map(renderStageLabel), renderActiveBadge()] }), hasBottomSummary && renderSummary(), jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content })] }));
459
407
  };
460
408
  FunnelChart.displayName = "FunnelChart";
461
409