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

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 (428) hide show
  1. package/CHANGELOG.md +295 -22
  2. package/dist/components/ai/AgentRequest/AgentRequest.animations.d.ts +25 -0
  3. package/dist/components/ai/AgentRequest/AgentRequest.animations.js +81 -0
  4. package/dist/components/ai/AgentRequest/AgentRequest.d.ts +3 -0
  5. package/dist/components/ai/AgentRequest/AgentRequest.js +435 -0
  6. package/dist/components/ai/AgentRequest/AgentRequest.theme.d.ts +2 -0
  7. package/dist/components/ai/AgentRequest/AgentRequest.theme.js +106 -0
  8. package/dist/components/ai/AgentRequest/AgentRequest.types.d.ts +241 -0
  9. package/dist/components/ai/AgentRequest/index.d.ts +3 -0
  10. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
  11. package/dist/components/ai/PromptInput/PromptInput.js +2 -2
  12. package/dist/components/ai/PromptInput/PromptInput.theme.js +2 -2
  13. package/dist/components/ai/PromptSuggestion/PromptSuggestion.theme.js +2 -2
  14. package/dist/components/ai/Reasoning/Reasoning.js +27 -3
  15. package/dist/components/ai/Reasoning/Reasoning.theme.d.ts +6 -0
  16. package/dist/components/ai/Reasoning/Reasoning.theme.js +36 -0
  17. package/dist/components/ai/Reasoning/Reasoning.types.d.ts +58 -5
  18. package/dist/components/ai/Reasoning/ReasoningTrace.d.ts +11 -0
  19. package/dist/components/ai/Reasoning/ReasoningTrace.js +84 -0
  20. package/dist/components/ai/Reasoning/index.d.ts +2 -1
  21. package/dist/components/ai/StreamingResponse/AnimatedText.d.ts +7 -0
  22. package/dist/components/ai/StreamingResponse/AnimatedText.js +8 -7
  23. package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -0
  24. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +4 -4
  25. package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +2 -2
  26. package/dist/components/ai/StreamingResponse/StreamingCursor.js +10 -7
  27. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +10 -0
  28. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +59 -33
  29. package/dist/components/ai/StreamingResponse/StreamingResponse.js +13 -7
  30. package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +33 -2
  31. package/dist/components/ai/StreamingResponse/StreamingSurface.d.ts +13 -0
  32. package/dist/components/ai/StreamingResponse/StreamingSurface.js +38 -0
  33. package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +5 -0
  34. package/dist/components/ai/StreamingResponse/WordAnimationContext.js +5 -4
  35. package/dist/components/ai/StreamingResponse/index.d.ts +4 -2
  36. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  37. package/dist/components/ai/index.d.ts +3 -2
  38. package/dist/components/ai/index.js +4 -0
  39. package/dist/components/canvas/BaseNode.js +1 -1
  40. package/dist/components/canvas/CanvasToolbar.js +0 -1
  41. package/dist/components/canvas/Edge.js +2 -2
  42. package/dist/components/canvas/NodeControls.js +0 -1
  43. package/dist/components/canvas/NodeRenderer.js +2 -2
  44. package/dist/components/charts/ActivityRings/ActivityRings.js +2 -2
  45. package/dist/components/charts/ActivityRings/ActivityRings.theme.js +1 -1
  46. package/dist/components/charts/AreaChart/AreaChart.js +3 -3
  47. package/dist/components/charts/AreaChart/AreaChart.theme.js +3 -3
  48. package/dist/components/charts/BarChart/BarChart.js +4 -4
  49. package/dist/components/charts/ComboChart/BarRenderer.js +2 -2
  50. package/dist/components/charts/ComboChart/BarRenderer.types.d.ts +1 -1
  51. package/dist/components/charts/ComboChart/ComboChartCanvas.js +1 -1
  52. package/dist/components/charts/ComboChart/LineRenderer.js +1 -1
  53. package/dist/components/charts/ComboChart/LineRenderer.types.d.ts +1 -1
  54. package/dist/components/charts/DonutChart/DonutChart.theme.js +4 -4
  55. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
  56. package/dist/components/charts/Heatmap/Heatmap.js +49 -42
  57. package/dist/components/charts/Heatmap/Heatmap.theme.d.ts +6 -2
  58. package/dist/components/charts/Heatmap/Heatmap.theme.js +20 -8
  59. package/dist/components/charts/Heatmap/Heatmap.types.d.ts +49 -82
  60. package/dist/components/charts/Heatmap/HeatmapCell.js +30 -81
  61. package/dist/components/charts/Heatmap/HeatmapLegend.d.ts +7 -6
  62. package/dist/components/charts/Heatmap/HeatmapLegend.js +6 -6
  63. package/dist/components/charts/Heatmap/index.d.ts +1 -1
  64. package/dist/components/charts/Heatmap/utils/heatmapUtils.d.ts +7 -12
  65. package/dist/components/charts/Heatmap/utils/heatmapUtils.js +16 -61
  66. package/dist/components/charts/Heatmap/utils/heatmapUtils.test.d.ts +1 -0
  67. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +1 -1
  68. package/dist/components/charts/LineChart/LineChart.js +2 -2
  69. package/dist/components/charts/LollipopChart/LollipopChart.js +1 -1
  70. package/dist/components/charts/RadarChart/RadarChart.js +1 -1
  71. package/dist/components/charts/StackedBarChart/StackedBarChart.js +3 -3
  72. package/dist/components/charts/hooks/useChartAccessibility.js +9 -6
  73. package/dist/components/charts/index.d.ts +4 -8
  74. package/dist/components/charts/index.js +2 -4
  75. package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
  76. package/dist/components/charts/shared/index.d.ts +1 -1
  77. package/dist/components/charts/theme/chart.theme.js +3 -3
  78. package/dist/components/charts/utils/animation-utils.d.ts +12 -7
  79. package/dist/components/charts/utils/animation-utils.js +19 -19
  80. package/dist/components/core/Accordion/Accordion.theme.js +1 -1
  81. package/dist/components/core/Alert/Alert.animations.d.ts +11 -4
  82. package/dist/components/core/Alert/Alert.animations.js +11 -4
  83. package/dist/components/core/Alert/Alert.js +16 -2
  84. package/dist/components/core/Alert/Alert.theme.js +1 -1
  85. package/dist/components/core/Alert/Alert.types.d.ts +4 -2
  86. package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
  87. package/dist/components/core/Avatar/Avatar.theme.js +1 -1
  88. package/dist/components/core/Badge/Badge.animations.d.ts +0 -5
  89. package/dist/components/core/Badge/Badge.animations.js +5 -84
  90. package/dist/components/core/Badge/Badge.d.ts +7 -4
  91. package/dist/components/core/Badge/Badge.js +27 -64
  92. package/dist/components/core/Badge/Badge.theme.js +8 -12
  93. package/dist/components/core/Badge/Badge.types.d.ts +18 -34
  94. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +4 -4
  95. package/dist/components/core/Button/Button.js +7 -43
  96. package/dist/components/core/Button/Button.theme.js +2 -2
  97. package/dist/components/core/Button/Button.types.d.ts +8 -12
  98. package/dist/components/core/Button/index.d.ts +0 -2
  99. package/dist/components/core/Calendar/Calendar.theme.js +1 -1
  100. package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +2 -2
  101. package/dist/components/core/Card/Card.js +7 -2
  102. package/dist/components/core/Card/Card.theme.js +29 -1
  103. package/dist/components/core/Card/Card.types.d.ts +20 -0
  104. package/dist/components/core/Card/CardBody.js +9 -1
  105. package/dist/components/core/Card/CardContext.d.ts +13 -0
  106. package/dist/components/core/Card/CardContext.js +14 -0
  107. package/dist/components/core/Card/CardHeader.js +4 -1
  108. package/dist/components/core/ContextMenu/ContextMenu.theme.js +4 -3
  109. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +8 -1
  110. package/dist/components/core/ContextMenu/ContextMenuSub.d.ts +11 -1
  111. package/dist/components/core/ContextMenu/ContextMenuSub.js +35 -22
  112. package/dist/components/core/ContextMenu/ContextMenuSubBody.js +14 -3
  113. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +21 -8
  114. package/dist/components/core/DragDrop/DragDrop.theme.js +2 -2
  115. package/dist/components/core/Drawer/Drawer.theme.js +1 -1
  116. package/dist/components/core/Drawer/DrawerHeader.js +0 -1
  117. package/dist/components/core/Dropdown/DropdownMenu.js +22 -7
  118. package/dist/components/core/Link/Link.js +1 -1
  119. package/dist/components/core/Masonry/Masonry.theme.js +1 -1
  120. package/dist/components/core/MenuItem/MenuItem.js +2 -1
  121. package/dist/components/core/MenuItem/MenuItem.theme.js +13 -1
  122. package/dist/components/core/Message/Message.js +2 -0
  123. package/dist/components/core/Message/Message.theme.js +3 -3
  124. package/dist/components/core/Modal/Modal.animations.d.ts +1 -1
  125. package/dist/components/core/Modal/Modal.animations.js +50 -11
  126. package/dist/components/core/Modal/Modal.js +5 -1
  127. package/dist/components/core/Modal/Modal.theme.js +1 -1
  128. package/dist/components/core/Modal/ModalHeader.js +0 -1
  129. package/dist/components/core/ModalStack/ModalStackModal.js +3 -1
  130. package/dist/components/core/NavItem/NavItem.js +3 -2
  131. package/dist/components/core/NavItem/NavItem.theme.js +1 -1
  132. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +4 -2
  133. package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
  134. package/dist/components/core/Pagination/Pagination.theme.js +2 -2
  135. package/dist/components/core/Pill/Pill.js +2 -1
  136. package/dist/components/core/Pill/Pill.theme.js +4 -2
  137. package/dist/components/core/Popover/PopoverBody.js +16 -5
  138. package/dist/components/core/Progress/Progress.d.ts +0 -25
  139. package/dist/components/core/Progress/Progress.js +79 -11
  140. package/dist/components/core/Progress/Progress.theme.js +17 -0
  141. package/dist/components/core/Progress/Progress.types.d.ts +47 -1
  142. package/dist/components/core/Rating/Rating.theme.js +1 -1
  143. package/dist/components/core/Rating/Rating.types.d.ts +3 -2
  144. package/dist/components/core/ScrollArea/ScrollArea.js +1 -1
  145. package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
  146. package/dist/components/core/Segmented/Segmented.theme.js +3 -3
  147. package/dist/components/core/Segmented/SegmentedContext.js +1 -0
  148. package/dist/components/core/Sidebar/Sidebar.js +5 -2
  149. package/dist/components/core/Sidebar/Sidebar.theme.js +2 -2
  150. package/dist/components/core/Sidebar/SidebarContent.js +1 -1
  151. package/dist/components/core/Sidebar/SidebarHeader.js +1 -1
  152. package/dist/components/core/Sidebar/SidebarSearch.js +2 -2
  153. package/dist/components/core/Sidebar/SidebarToggle.js +1 -1
  154. package/dist/components/core/Sidebar/SidebarUserProfile.js +1 -1
  155. package/dist/components/core/Sortable/Sortable.theme.js +1 -1
  156. package/dist/components/core/Tabs/Tabs.theme.js +1 -1
  157. package/dist/components/core/Tag/Tag.theme.js +1 -1
  158. package/dist/components/core/Toast/ToastProvider.js +1 -1
  159. package/dist/components/core/Tree/Tree.theme.js +1 -1
  160. package/dist/components/core/index.d.ts +0 -2
  161. package/dist/components/core/index.js +0 -4
  162. package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.d.ts +4 -0
  163. package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.js +20 -0
  164. package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.js +1 -1
  165. package/dist/components/core/shared/Ripple.d.ts +16 -0
  166. package/dist/components/core/shared/Ripple.js +141 -0
  167. package/dist/components/data-display/GanttChart/GanttChart.theme.js +6 -6
  168. package/dist/components/data-display/GanttChart/GanttTaskBar.js +1 -1
  169. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +1 -1
  170. package/dist/components/data-display/GanttChart/GanttToolbar.js +0 -1
  171. package/dist/components/data-display/KPI/KPI.js +11 -20
  172. package/dist/components/data-display/KPI/KPI.theme.js +8 -4
  173. package/dist/components/data-display/Metric/Metric.theme.js +4 -4
  174. package/dist/components/data-display/Table/Table.theme.js +2 -2
  175. package/dist/components/data-display/Table/TableColumnManager.js +1 -2
  176. package/dist/components/data-display/Table/TableContext.js +1 -0
  177. package/dist/components/data-display/Table/TableFilter.js +9 -2
  178. package/dist/components/data-display/Table/TableSelectionHeader.js +1 -1
  179. package/dist/components/data-display/Timeline/Timeline.theme.js +1 -1
  180. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +1 -1
  181. package/dist/components/effects/CustomCursor/CustomCursor.js +1 -1
  182. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +4 -4
  183. package/dist/components/effects/Neumorphic/InsetCircleButton.js +1 -1
  184. package/dist/components/effects/Overlay/Overlay.js +7 -3
  185. package/dist/components/effects/index.d.ts +0 -32
  186. package/dist/components/effects/index.js +0 -16
  187. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.d.ts +0 -2
  188. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.js +1 -93
  189. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.types.d.ts +0 -10
  190. package/dist/components/effects/shared/ShaderCanvas/index.d.ts +1 -1
  191. package/dist/components/effects/shared/index.d.ts +1 -3
  192. package/dist/components/effects/shared/shaderNoise.glsl.d.ts +1 -1
  193. package/dist/components/effects/shared/shaderNoise.glsl.js +2 -11
  194. package/dist/components/forms/Checkbox/Checkbox.theme.js +1 -1
  195. package/dist/components/forms/ColorPicker/ColorPickerHeader.js +1 -1
  196. package/dist/components/forms/ColorPicker/ColorPickerImage.js +1 -1
  197. package/dist/components/forms/Combobox/Combobox.js +2 -0
  198. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +1 -1
  199. package/dist/components/forms/DateRangePicker/DateRangePickerContext.js +1 -0
  200. package/dist/components/forms/FileUpload/FileUpload.theme.js +2 -2
  201. package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +1 -1
  202. package/dist/components/forms/InputAddress/InputAddress.types.d.ts +2 -2
  203. package/dist/components/forms/Radio/Radio.theme.js +1 -1
  204. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +12 -16
  205. package/dist/components/forms/RichTextEditor/RichTextEditor.js +165 -1680
  206. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +12 -56
  207. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +60 -118
  208. package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +62 -126
  209. package/dist/components/forms/RichTextEditor/RichTextLinkField.d.ts +18 -0
  210. package/dist/components/forms/RichTextEditor/RichTextLinkField.js +46 -0
  211. package/dist/components/forms/RichTextEditor/RichTextToolbar.d.ts +15 -0
  212. package/dist/components/forms/RichTextEditor/RichTextToolbar.js +93 -0
  213. package/dist/components/forms/RichTextEditor/editorCommands.d.ts +50 -0
  214. package/dist/components/forms/RichTextEditor/editorCommands.js +58 -0
  215. package/dist/components/forms/RichTextEditor/editorState.d.ts +19 -0
  216. package/dist/components/forms/RichTextEditor/editorState.js +103 -0
  217. package/dist/components/forms/RichTextEditor/index.d.ts +5 -3
  218. package/dist/components/forms/RichTextEditor/sanitizeHtml.d.ts +38 -0
  219. package/dist/components/forms/RichTextEditor/sanitizeHtml.js +179 -0
  220. package/dist/components/forms/RichTextEditor/sanitizeHtml.test.d.ts +1 -0
  221. package/dist/components/forms/Select/Select.js +4 -4
  222. package/dist/components/forms/Select/Select.types.d.ts +70 -7
  223. package/dist/components/forms/Select/useSelectState.d.ts +9 -3
  224. package/dist/components/forms/Select/useSelectState.js +4 -1
  225. package/dist/components/forms/SelectableCard/SelectableCard.js +2 -1
  226. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +1 -1
  227. package/dist/components/forms/Switch/Switch.theme.js +2 -2
  228. package/dist/components/forms/TimePicker/TimePicker.theme.js +1 -1
  229. package/dist/components/forms/TimePicker/TimePickerTrigger.js +1 -1
  230. package/dist/components/forms/forms.theme.js +19 -5
  231. package/dist/components/forms/index.js +1 -0
  232. package/dist/components/generative/FormShell.d.ts +22 -0
  233. package/dist/components/generative/FormShell.js +102 -0
  234. package/dist/components/generative/GenerativeView.d.ts +52 -1
  235. package/dist/components/generative/GenerativeView.js +203 -11
  236. package/dist/components/generative/actions.d.ts +5 -0
  237. package/dist/components/generative/ai-sdk/index.d.ts +1 -0
  238. package/dist/components/generative/ai-sdk/index.js +1 -0
  239. package/dist/components/generative/ai-sdk/useGenerativeChat.d.ts +52 -0
  240. package/dist/components/generative/ai-sdk/useGenerativeChat.js +73 -0
  241. package/dist/components/generative/ai-sdk/useGenerativeChat.test.d.ts +1 -0
  242. package/dist/components/generative/fieldBinding.d.ts +31 -0
  243. package/dist/components/generative/fieldBinding.js +33 -0
  244. package/dist/components/generative/fieldBinding.test.d.ts +1 -0
  245. package/dist/components/generative/formScope.d.ts +71 -0
  246. package/dist/components/generative/formScope.js +135 -0
  247. package/dist/components/generative/index.d.ts +4 -0
  248. package/dist/components/generative/index.js +4 -0
  249. package/dist/components/generative/registry.d.ts +2 -0
  250. package/dist/components/generative/registry.js +10 -10
  251. package/dist/components/generative/schema.generated.js +178 -292
  252. package/dist/components/generative/toToolResult.d.ts +21 -0
  253. package/dist/components/generative/toToolResult.js +15 -0
  254. package/dist/components/generative/toToolResult.test.d.ts +1 -0
  255. package/dist/components/generative/validate.d.ts +10 -1
  256. package/dist/components/generative/validate.js +126 -11
  257. package/dist/components/layout/Grid/Grid.js +1 -0
  258. package/dist/components/layout/Section/Section.theme.js +1 -1
  259. package/dist/components/layout/Stack/Stack.js +1 -0
  260. package/dist/generative.schema.json +178 -292
  261. package/dist/index.js +1 -4
  262. package/dist/registry.json +2599 -2375
  263. package/dist/shadcn-compat.css +5 -5
  264. package/dist/styles/theme.test.d.ts +1 -0
  265. package/dist/styles.css +1 -1
  266. package/dist/test/render.d.ts +17 -0
  267. package/dist/themes/precision.css +232 -0
  268. package/dist/tools.json +179 -294
  269. package/dist/utils/index.d.ts +0 -1
  270. package/package.json +31 -1
  271. package/src/global.scss +21 -28
  272. package/src/styles/theme.css +124 -41
  273. package/src/styles/theme.test.ts +119 -0
  274. package/tailwind.preset.cjs +30 -20
  275. package/dist/components/charts/FunnelChart/FunnelChart.animations.d.ts +0 -35
  276. package/dist/components/charts/FunnelChart/FunnelChart.animations.js +0 -59
  277. package/dist/components/charts/FunnelChart/FunnelChart.d.ts +0 -8
  278. package/dist/components/charts/FunnelChart/FunnelChart.js +0 -410
  279. package/dist/components/charts/FunnelChart/FunnelChart.theme.d.ts +0 -2
  280. package/dist/components/charts/FunnelChart/FunnelChart.theme.js +0 -12
  281. package/dist/components/charts/FunnelChart/FunnelChart.types.d.ts +0 -105
  282. package/dist/components/charts/FunnelChart/index.d.ts +0 -4
  283. package/dist/components/charts/ScatterPlot/ScatterPlot.d.ts +0 -9
  284. package/dist/components/charts/ScatterPlot/ScatterPlot.js +0 -208
  285. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -18
  286. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +0 -42
  287. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +0 -60
  288. package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +0 -19
  289. package/dist/components/charts/ScatterPlot/index.d.ts +0 -3
  290. package/dist/components/core/Button/Button.ripple.d.ts +0 -71
  291. package/dist/components/core/Button/Button.ripple.js +0 -236
  292. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.d.ts +0 -4
  293. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.theme.d.ts +0 -12
  294. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +0 -23
  295. package/dist/components/core/Calendar/CalendarEvent/index.d.ts +0 -2
  296. package/dist/components/core/CardStack/CardStack.animations.d.ts +0 -47
  297. package/dist/components/core/CardStack/CardStack.d.ts +0 -3
  298. package/dist/components/core/CardStack/CardStack.js +0 -187
  299. package/dist/components/core/CardStack/CardStack.theme.d.ts +0 -6
  300. package/dist/components/core/CardStack/CardStack.theme.js +0 -33
  301. package/dist/components/core/CardStack/CardStack.types.d.ts +0 -139
  302. package/dist/components/core/CardStack/index.d.ts +0 -7
  303. package/dist/components/core/Carousel/Carousel.d.ts +0 -3
  304. package/dist/components/core/Carousel/Carousel.js +0 -83
  305. package/dist/components/core/Carousel/Carousel.theme.d.ts +0 -10
  306. package/dist/components/core/Carousel/Carousel.theme.js +0 -20
  307. package/dist/components/core/Carousel/Carousel.types.d.ts +0 -113
  308. package/dist/components/core/Carousel/CarouselBody.d.ts +0 -4
  309. package/dist/components/core/Carousel/CarouselBody.js +0 -59
  310. package/dist/components/core/Carousel/CarouselContext.d.ts +0 -3
  311. package/dist/components/core/Carousel/CarouselContext.js +0 -13
  312. package/dist/components/core/Carousel/CarouselItem.d.ts +0 -4
  313. package/dist/components/core/Carousel/CarouselItem.js +0 -11
  314. package/dist/components/core/Carousel/CarouselNext.d.ts +0 -4
  315. package/dist/components/core/Carousel/CarouselNext.js +0 -16
  316. package/dist/components/core/Carousel/CarouselPrevious.d.ts +0 -4
  317. package/dist/components/core/Carousel/CarouselPrevious.js +0 -16
  318. package/dist/components/core/Carousel/index.d.ts +0 -3
  319. package/dist/components/effects/ColorPanels/ColorPanels.d.ts +0 -8
  320. package/dist/components/effects/ColorPanels/ColorPanels.js +0 -66
  321. package/dist/components/effects/ColorPanels/ColorPanels.shaders.d.ts +0 -12
  322. package/dist/components/effects/ColorPanels/ColorPanels.shaders.js +0 -218
  323. package/dist/components/effects/ColorPanels/ColorPanels.types.d.ts +0 -29
  324. package/dist/components/effects/ColorPanels/ColorPanels.types.js +0 -3
  325. package/dist/components/effects/ColorPanels/index.d.ts +0 -2
  326. package/dist/components/effects/FlutedGlass/FlutedGlass.d.ts +0 -9
  327. package/dist/components/effects/FlutedGlass/FlutedGlass.js +0 -80
  328. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.d.ts +0 -12
  329. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.js +0 -335
  330. package/dist/components/effects/FlutedGlass/FlutedGlass.types.d.ts +0 -61
  331. package/dist/components/effects/FlutedGlass/FlutedGlass.types.js +0 -16
  332. package/dist/components/effects/FlutedGlass/index.d.ts +0 -3
  333. package/dist/components/effects/GlassEffect/GlassEffect.d.ts +0 -15
  334. package/dist/components/effects/GlassEffect/GlassEffect.js +0 -38
  335. package/dist/components/effects/GlassEffect/GlassEffect.types.d.ts +0 -19
  336. package/dist/components/effects/GlassEffect/index.d.ts +0 -2
  337. package/dist/components/effects/GlassSurface/GlassSurface.d.ts +0 -8
  338. package/dist/components/effects/GlassSurface/GlassSurface.js +0 -250
  339. package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +0 -66
  340. package/dist/components/effects/GlassSurface/index.d.ts +0 -2
  341. package/dist/components/effects/GodRays/GodRays.d.ts +0 -8
  342. package/dist/components/effects/GodRays/GodRays.js +0 -68
  343. package/dist/components/effects/GodRays/GodRays.shaders.d.ts +0 -10
  344. package/dist/components/effects/GodRays/GodRays.shaders.js +0 -128
  345. package/dist/components/effects/GodRays/GodRays.types.d.ts +0 -25
  346. package/dist/components/effects/GodRays/GodRays.types.js +0 -3
  347. package/dist/components/effects/GodRays/index.d.ts +0 -2
  348. package/dist/components/effects/GridPattern/GridPattern.d.ts +0 -18
  349. package/dist/components/effects/GridPattern/GridPattern.js +0 -65
  350. package/dist/components/effects/GridPattern/GridPattern.types.d.ts +0 -47
  351. package/dist/components/effects/GridPattern/index.d.ts +0 -2
  352. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.d.ts +0 -10
  353. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.js +0 -78
  354. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.d.ts +0 -22
  355. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.js +0 -239
  356. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.types.d.ts +0 -52
  357. package/dist/components/effects/HalftoneCmyk/index.d.ts +0 -2
  358. package/dist/components/effects/HalftoneDots/HalftoneDots.d.ts +0 -9
  359. package/dist/components/effects/HalftoneDots/HalftoneDots.js +0 -68
  360. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.d.ts +0 -13
  361. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.js +0 -296
  362. package/dist/components/effects/HalftoneDots/HalftoneDots.types.d.ts +0 -43
  363. package/dist/components/effects/HalftoneDots/HalftoneDots.types.js +0 -12
  364. package/dist/components/effects/HalftoneDots/index.d.ts +0 -3
  365. package/dist/components/effects/ImageDithering/ImageDithering.d.ts +0 -9
  366. package/dist/components/effects/ImageDithering/ImageDithering.js +0 -68
  367. package/dist/components/effects/ImageDithering/ImageDithering.shaders.d.ts +0 -12
  368. package/dist/components/effects/ImageDithering/ImageDithering.shaders.js +0 -117
  369. package/dist/components/effects/ImageDithering/ImageDithering.types.d.ts +0 -30
  370. package/dist/components/effects/ImageDithering/ImageDithering.types.js +0 -8
  371. package/dist/components/effects/ImageDithering/index.d.ts +0 -3
  372. package/dist/components/effects/MagneticElement/MagneticElement.d.ts +0 -30
  373. package/dist/components/effects/MagneticElement/MagneticElement.js +0 -111
  374. package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +0 -44
  375. package/dist/components/effects/MagneticElement/index.d.ts +0 -2
  376. package/dist/components/effects/Metaballs/Metaballs.d.ts +0 -8
  377. package/dist/components/effects/Metaballs/Metaballs.js +0 -59
  378. package/dist/components/effects/Metaballs/Metaballs.shaders.d.ts +0 -10
  379. package/dist/components/effects/Metaballs/Metaballs.shaders.js +0 -102
  380. package/dist/components/effects/Metaballs/Metaballs.types.d.ts +0 -16
  381. package/dist/components/effects/Metaballs/Metaballs.types.js +0 -3
  382. package/dist/components/effects/Metaballs/index.d.ts +0 -2
  383. package/dist/components/effects/PaperTexture/PaperTexture.d.ts +0 -9
  384. package/dist/components/effects/PaperTexture/PaperTexture.js +0 -61
  385. package/dist/components/effects/PaperTexture/PaperTexture.shaders.d.ts +0 -22
  386. package/dist/components/effects/PaperTexture/PaperTexture.shaders.js +0 -145
  387. package/dist/components/effects/PaperTexture/PaperTexture.types.d.ts +0 -19
  388. package/dist/components/effects/PaperTexture/index.d.ts +0 -2
  389. package/dist/components/effects/PulsingBorder/PulsingBorder.d.ts +0 -27
  390. package/dist/components/effects/PulsingBorder/PulsingBorder.js +0 -174
  391. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.d.ts +0 -14
  392. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.js +0 -258
  393. package/dist/components/effects/PulsingBorder/PulsingBorder.types.d.ts +0 -75
  394. package/dist/components/effects/PulsingBorder/PulsingBorder.types.js +0 -3
  395. package/dist/components/effects/PulsingBorder/index.d.ts +0 -2
  396. package/dist/components/effects/SmokeRing/SmokeRing.d.ts +0 -8
  397. package/dist/components/effects/SmokeRing/SmokeRing.js +0 -62
  398. package/dist/components/effects/SmokeRing/SmokeRing.shaders.d.ts +0 -14
  399. package/dist/components/effects/SmokeRing/SmokeRing.shaders.js +0 -130
  400. package/dist/components/effects/SmokeRing/SmokeRing.types.d.ts +0 -22
  401. package/dist/components/effects/SmokeRing/SmokeRing.types.js +0 -3
  402. package/dist/components/effects/SmokeRing/index.d.ts +0 -2
  403. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.d.ts +0 -9
  404. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.js +0 -59
  405. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.d.ts +0 -14
  406. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.js +0 -129
  407. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.d.ts +0 -23
  408. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.js +0 -3
  409. package/dist/components/effects/StaticGradientMesh/index.d.ts +0 -2
  410. package/dist/components/effects/Water/Water.d.ts +0 -9
  411. package/dist/components/effects/Water/Water.js +0 -65
  412. package/dist/components/effects/Water/Water.shaders.d.ts +0 -11
  413. package/dist/components/effects/Water/Water.shaders.js +0 -123
  414. package/dist/components/effects/Water/Water.types.d.ts +0 -25
  415. package/dist/components/effects/Water/index.d.ts +0 -2
  416. package/dist/components/effects/shared/bayerMatrices.glsl.d.ts +0 -10
  417. package/dist/components/effects/shared/bayerMatrices.glsl.js +0 -44
  418. package/dist/components/effects/shared/imageUV.glsl.d.ts +0 -12
  419. package/dist/components/effects/shared/imageUV.glsl.js +0 -26
  420. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.d.ts +0 -7
  421. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +0 -32
  422. package/dist/utils/calendarUtils.d.ts +0 -60
  423. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.d.ts +0 -0
  424. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.d.ts +0 -0
  425. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.js +0 -0
  426. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.types.d.ts +0 -0
  427. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltipContent.d.ts +0 -0
  428. /package/dist/components/{charts → core}/shared/ChartTooltip/index.d.ts +0 -0
@@ -1,95 +1,44 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import React__default, { useRef } from 'react';
4
- import { motion } from 'motion/react';
3
+ import React__default from 'react';
4
+ import { useReducedMotion, motion } from 'motion/react';
5
5
  import { cn } from '../../../utils/cn.js';
6
6
  import { heatmapTheme } from './Heatmap.theme.js';
7
+ import { HEATMAP_CELL_TAP_TRANSITION, HEATMAP_CELL_HOVER_TRANSITION, HEATMAP_CELL_FADE_DURATION } from '../utils/animation-utils.js';
7
8
 
8
9
  /**
9
- * Individual heatmap cell component with hover animations and color intensity
10
+ * Individual heatmap cell colour intensity plus a deterministic fade-in.
11
+ *
12
+ * The resting opacity is the animation target (not an inline style), so motion
13
+ * owns it end to end; `data-intensity-opacity` publishes the resolved value for
14
+ * consumers and tests.
10
15
  */
11
- const HeatmapCellInner = ({ data, intensity, minOpacity = 0.1, color = 'var(--color-primary)', // Default to primary color (correct CSS variable)
12
- className, onClick, onHover, onMouseMove, onLeave, children, }) => {
13
- // Calculate cell color and opacity based on intensity
14
- const getColorStyle = (intensity) => {
15
- // Only return empty object for null values (will use CSS class)
16
- if (data.value === null) {
17
- return {};
18
- }
19
- // Calculate base opacity from intensity
20
- let baseOpacity;
21
- // For 0 values, use minOpacity
22
- if (data.value === 0) {
23
- baseOpacity = minOpacity;
24
- }
25
- else {
26
- // Map intensity (0-1) to opacity levels (minOpacity-1.0) in 10% increments
27
- const opacityStep = Math.ceil(intensity * 10) / 10; // Round up to nearest 10%
28
- baseOpacity = Math.max(minOpacity, Math.min(1.0, opacityStep));
29
- }
30
- // Use the passed color prop with calculated opacity
31
- return {
32
- backgroundColor: color,
33
- opacity: baseOpacity
34
- };
35
- };
36
- const getColorClass = (intensity) => {
37
- // Only use gray colors for null values (missing data)
38
- if (data.value === null) {
39
- return 'bg-transparent border border-gray-200/80';
40
- }
41
- // For non-null values, we'll use inline styles
42
- return '';
43
- };
44
- const handleClick = () => {
45
- if (onClick) {
46
- onClick(data);
47
- }
48
- };
49
- const handleMouseEnter = (event) => {
50
- if (onHover) {
51
- onHover(data, event);
52
- }
53
- };
54
- const handleMouseMove = (event) => {
55
- if (onMouseMove) {
56
- onMouseMove(data, event);
57
- }
58
- };
59
- const handleMouseLeave = () => {
60
- if (onLeave) {
61
- onLeave();
62
- }
63
- };
64
- const handleAnimationEnd = () => {
65
- // Remove animation class after flicker completes to prevent interference with opacity
66
- if (containerRef.current) {
67
- containerRef.current.classList.remove('animate-[flicker_0.6s_ease-out_forwards]');
68
- }
69
- };
70
- const containerRef = useRef(null);
71
- const flickerDelayRef = useRef(`${Math.random() * 0.3}s`);
72
- return (jsx(motion.div, { ref: containerRef, className: cn(heatmapTheme.cellBaseStyle, getColorClass(), onClick && 'cursor-pointer', className), style: {
73
- ...getColorStyle(intensity),
74
- // CSS custom properties for the animation
75
- '--flicker-delay': flickerDelayRef.current,
76
- animationDelay: `var(--flicker-delay)`,
77
- }, onAnimationEnd: handleAnimationEnd, onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave,
78
- // Framer Motion animations (just for hover/tap, not initial load)
79
- whileHover: {
80
- scale: 1.025,
81
- transition: { duration: 0.15, ease: 'easeOut' }
82
- }, whileTap: {
83
- scale: 0.95,
84
- transition: { duration: 0.1, ease: 'easeOut' }
85
- },
86
- // Accessibility
87
- role: "gridcell", tabIndex: onClick ? 0 : -1, "aria-label": `Value: ${data.value}, X: ${data.x}, Y: ${data.y}`, onKeyDown: (e) => {
16
+ const HeatmapCellInner = ({ data, intensity, minOpacity = 0.1, color = 'var(--color-primary)', delay = 0, className, onClick, onHover, onMouseMove, onLeave, children, }) => {
17
+ const shouldReduceMotion = useReducedMotion();
18
+ const isNull = data.value === null;
19
+ // Map intensity (0-1) onto [minOpacity, 1] in 10% steps; a 0 value pins to
20
+ // minOpacity so an empty cell still reads as "measured, but nothing here".
21
+ const resolvedOpacity = isNull
22
+ ? 0
23
+ : data.value === 0
24
+ ? minOpacity
25
+ : Math.max(minOpacity, Math.min(1, Math.ceil(intensity * 10) / 10));
26
+ const handleClick = () => onClick === null || onClick === void 0 ? void 0 : onClick(data);
27
+ const handleMouseEnter = (event) => onHover === null || onHover === void 0 ? void 0 : onHover(data, event);
28
+ const handleMouseMove = (event) => onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(data, event);
29
+ const handleMouseLeave = () => onLeave === null || onLeave === void 0 ? void 0 : onLeave();
30
+ return (jsx(motion.div, { "data-heatmap-cell": "", "data-intensity-opacity": resolvedOpacity, className: cn(heatmapTheme.cellBaseStyle, isNull && heatmapTheme.cellNullStyle, onClick && 'cursor-pointer', className), style: isNull ? undefined : { backgroundColor: color }, initial: shouldReduceMotion ? false : { opacity: 0 }, animate: { opacity: resolvedOpacity }, transition: shouldReduceMotion
31
+ ? { duration: 0 }
32
+ : { duration: HEATMAP_CELL_FADE_DURATION, delay, ease: 'easeOut' }, onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, whileHover: shouldReduceMotion
33
+ ? undefined
34
+ : { scale: 1.025, transition: HEATMAP_CELL_HOVER_TRANSITION }, whileTap: shouldReduceMotion
35
+ ? undefined
36
+ : { scale: 0.95, transition: HEATMAP_CELL_TAP_TRANSITION }, role: "gridcell", tabIndex: onClick ? 0 : -1, "aria-label": `Value: ${data.value}, X: ${data.x}, Y: ${data.y}`, onKeyDown: (e) => {
88
37
  if ((e.key === 'Enter' || e.key === ' ') && onClick) {
89
38
  e.preventDefault();
90
39
  onClick(data);
91
40
  }
92
- }, children: children && (jsx("div", { className: "absolute inset-0 flex items-center justify-center text-sm font-medium text-gray-700 dark:text-gray-300", children: children })) }));
41
+ }, children: children && (jsx("div", { className: heatmapTheme.cellOverlayStyle, children: children })) }));
93
42
  };
94
43
  const HeatmapCell = React__default.memo(HeatmapCellInner);
95
44
 
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
+ /**
3
+ * The ramp is a purely visual scale: it renders the two end captions, never the
4
+ * numeric bounds. `minValue`/`maxValue` used to sit here and were never read —
5
+ * the same advertise-a-prop-you-ignore trap the flat-API refactor removed from
6
+ * `HeatmapProps`. If the numbers are ever wanted beside the ramp, that is a
7
+ * deliberate feature with its own rendering, not two dormant props.
8
+ */
2
9
  export interface HeatmapLegendProps {
3
- /** Base color key from chart config (e.g., 'value', 'activity') */
4
- colorKey?: string;
5
10
  /** Color to use for the gradient */
6
11
  color?: string;
7
- /** Minimum value for the legend */
8
- minValue?: number;
9
- /** Maximum value for the legend */
10
- maxValue?: number;
11
12
  /** Custom labels for min and max */
12
13
  labels?: {
13
14
  min?: string;
@@ -2,16 +2,16 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { cn } from '../../../utils/cn.js';
3
3
  import { heatmapTheme } from './Heatmap.theme.js';
4
4
 
5
- const HeatmapLegend = ({ colorKey = 'value', color = 'var(--color-primary)', // Correct CSS variable
6
- minValue = 0, maxValue = 100, labels = {
7
- min: 'Low activity',
8
- max: 'High activity'
9
- }, className }) => {
5
+ const HeatmapLegend = ({ color = 'var(--color-primary)', // Correct CSS variable
6
+ labels, className }) => {
7
+ var _a, _b;
8
+ const min = (_a = labels === null || labels === void 0 ? void 0 : labels.min) !== null && _a !== void 0 ? _a : 'Low activity';
9
+ const max = (_b = labels === null || labels === void 0 ? void 0 : labels.max) !== null && _b !== void 0 ? _b : 'High activity';
10
10
  // Create gradient using passed color (supports CSS variables and hex)
11
11
  const gradientStyle = {
12
12
  background: `linear-gradient(to right, color-mix(in srgb, ${color} 20%, transparent), ${color})`
13
13
  };
14
- return (jsxs("div", { className: cn(heatmapTheme.legendStyle, className), children: [jsx("div", { className: "w-full h-1.5 rounded-full", style: gradientStyle }), jsxs("div", { className: "flex items-center justify-between text-sm font-medium text-[var(--color-text-secondary)]", children: [jsx("div", { children: labels.min }), jsx("div", { children: labels.max })] })] }));
14
+ return (jsxs("div", { className: cn(heatmapTheme.legendStyle, className), children: [jsx("div", { className: "w-full h-1.5 rounded-full", style: gradientStyle }), jsxs("div", { className: "flex items-center justify-between text-xs font-medium text-[var(--color-text-secondary)]", children: [jsx("div", { children: min }), jsx("div", { children: max })] })] }));
15
15
  };
16
16
 
17
17
  export { HeatmapLegend };
@@ -2,6 +2,6 @@ export { Heatmap } from './Heatmap';
2
2
  export { HeatmapCell } from './HeatmapCell';
3
3
  export { HeatmapLegend } from './HeatmapLegend';
4
4
  export { heatmapTheme } from './Heatmap.theme';
5
- export type { HeatmapProps, HeatmapDataPoint, HeatmapCellProps, SemanticColor } from './Heatmap.types';
5
+ export type { HeatmapProps, HeatmapDataPoint, HeatmapCellProps, HeatmapVariant } from './Heatmap.types';
6
6
  export * from './Heatmap.types';
7
7
  export * from './utils/heatmapUtils';
@@ -1,8 +1,10 @@
1
1
  import type { HeatmapDataPoint, ProcessedHeatmapData } from '../Heatmap.types';
2
2
  /**
3
- * Process raw heatmap data and calculate necessary values
3
+ * Process raw heatmap data and calculate necessary values.
4
+ * `minValue`/`maxValue` are the flat family-standard bounds; either may be
5
+ * omitted, in which case it is derived from the data.
4
6
  */
5
- export declare function processHeatmapData(data: HeatmapDataPoint[], valueRange?: [number, number]): ProcessedHeatmapData;
7
+ export declare function processHeatmapData(data: HeatmapDataPoint[], minValue?: number, maxValue?: number): ProcessedHeatmapData;
6
8
  /**
7
9
  * Calculate intensity (0-1) for a given value within the range
8
10
  */
@@ -13,18 +15,11 @@ export declare function calculateIntensity(value: number | null, minValue: numbe
13
15
  */
14
16
  export declare function createGridMatrix(data: HeatmapDataPoint[], xCategories: (string | number)[], yCategories: (string | number)[]): HeatmapDataPoint[][];
15
17
  /**
16
- * Generate default tooltip content for a data point
18
+ * Default tooltip content for a data point. `label` is the series label from
19
+ * `config[key].label` — the family contract every other chart already honours.
17
20
  */
18
- export declare function getDefaultTooltipContent(data: HeatmapDataPoint): string;
21
+ export declare function getDefaultTooltipContent(data: HeatmapDataPoint, label?: string): string;
19
22
  /**
20
23
  * Format axis labels with common patterns
21
24
  */
22
25
  export declare function formatAxisLabel(value: string | number, type?: 'day' | 'month' | 'hour' | 'date' | 'number' | 'default'): string;
23
- /**
24
- * Calculate responsive cell size based on container dimensions
25
- */
26
- export declare function calculateCellSize(containerWidth: number, containerHeight: number, xCount: number, yCount: number, gap?: number, minSize?: number, maxSize?: number): number;
27
- /**
28
- * Generate sample heatmap data for testing/examples
29
- */
30
- export declare function generateSampleData(type?: 'weekly' | 'monthly' | 'hourly'): HeatmapDataPoint[];
@@ -1,11 +1,12 @@
1
1
  /**
2
- * Process raw heatmap data and calculate necessary values
2
+ * Process raw heatmap data and calculate necessary values.
3
+ * `minValue`/`maxValue` are the flat family-standard bounds; either may be
4
+ * omitted, in which case it is derived from the data.
3
5
  */
4
- function processHeatmapData(data, valueRange) {
6
+ function processHeatmapData(data, minValue, maxValue) {
5
7
  // Extract unique categories preserving the order they appear in the data
6
8
  const xCategories = [];
7
9
  const yCategories = [];
8
- // Preserve order by iterating through data and collecting unique values
9
10
  data.forEach(point => {
10
11
  if (!xCategories.includes(point.x)) {
11
12
  xCategories.push(point.x);
@@ -14,18 +15,18 @@ function processHeatmapData(data, valueRange) {
14
15
  yCategories.push(point.y);
15
16
  }
16
17
  });
17
- // Calculate value range if not provided
18
18
  const values = data.map(d => d.value).filter(v => v !== null);
19
19
  const calculatedMin = Math.min(...values);
20
20
  const calculatedMax = Math.max(...values);
21
- const finalValueRange = valueRange || [calculatedMin, calculatedMax];
21
+ const resolvedMin = minValue !== null && minValue !== void 0 ? minValue : calculatedMin;
22
+ const resolvedMax = maxValue !== null && maxValue !== void 0 ? maxValue : calculatedMax;
22
23
  return {
23
24
  data,
24
25
  xCategories,
25
26
  yCategories,
26
- valueRange: finalValueRange,
27
- minValue: finalValueRange[0],
28
- maxValue: finalValueRange[1],
27
+ valueRange: [resolvedMin, resolvedMax],
28
+ minValue: resolvedMin,
29
+ maxValue: resolvedMax,
29
30
  };
30
31
  }
31
32
  /**
@@ -56,11 +57,14 @@ function createGridMatrix(data, xCategories, yCategories) {
56
57
  }));
57
58
  }
58
59
  /**
59
- * Generate default tooltip content for a data point
60
+ * Default tooltip content for a data point. `label` is the series label from
61
+ * `config[key].label` — the family contract every other chart already honours.
60
62
  */
61
- function getDefaultTooltipContent(data) {
63
+ function getDefaultTooltipContent(data, label) {
62
64
  const value = data.value !== null ? data.value.toString() : 'No data';
63
- return `${data.x}, ${data.y}: ${value}`;
65
+ return label
66
+ ? `${data.x} · ${data.y} — ${label}: ${value}`
67
+ : `${data.x}, ${data.y}: ${value}`;
64
68
  }
65
69
  /**
66
70
  * Format axis labels with common patterns
@@ -117,54 +121,5 @@ function formatAxisLabel(value, type = 'default') {
117
121
  }
118
122
  return String(value);
119
123
  }
120
- /**
121
- * Generate sample heatmap data for testing/examples
122
- */
123
- function generateSampleData(type = 'weekly') {
124
- const data = [];
125
- switch (type) {
126
- case 'weekly':
127
- const days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
128
- const weeks = Array.from({ length: 12 }, (_, i) => `Week ${i + 1}`);
129
- weeks.forEach(week => {
130
- days.forEach(day => {
131
- data.push({
132
- x: day,
133
- y: week,
134
- value: Math.floor(Math.random() * 20),
135
- });
136
- });
137
- });
138
- break;
139
- case 'monthly':
140
- const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
141
- 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
142
- const years = ['2022', '2023', '2024'];
143
- years.forEach(year => {
144
- months.forEach(month => {
145
- data.push({
146
- x: month,
147
- y: year,
148
- value: Math.floor(Math.random() * 100),
149
- });
150
- });
151
- });
152
- break;
153
- case 'hourly':
154
- const hours = Array.from({ length: 24 }, (_, i) => i);
155
- const daysOfWeek = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
156
- daysOfWeek.forEach(day => {
157
- hours.forEach(hour => {
158
- data.push({
159
- x: hour,
160
- y: day,
161
- value: Math.floor(Math.random() * 50),
162
- });
163
- });
164
- });
165
- break;
166
- }
167
- return data;
168
- }
169
124
 
170
- export { calculateIntensity, createGridMatrix, formatAxisLabel, generateSampleData, getDefaultTooltipContent, processHeatmapData };
125
+ export { calculateIntensity, createGridMatrix, formatAxisLabel, getDefaultTooltipContent, processHeatmapData };
@@ -11,7 +11,7 @@ import { ChartErrorBoundary } from '../shared/ChartErrorBoundary/ChartErrorBound
11
11
  import { CategoryYAxis } from '../shared/ChartAxis/CategoryYAxis.js';
12
12
  import { ValueXAxis } from '../shared/ChartAxis/ValueXAxis.js';
13
13
  import { VerticalGrid } from '../shared/ChartGrid/VerticalGrid.js';
14
- import { ChartTooltip } from '../shared/ChartTooltip/ChartTooltip.js';
14
+ import { ChartTooltip } from '../../core/shared/ChartTooltip/ChartTooltip.js';
15
15
  import { resolveLegendPosition, ChartLegend } from '../shared/ChartLegend/ChartLegend.js';
16
16
  import { HORIZONTAL_BAR_CHART_DEFAULTS } from './HorizontalBarChart.types.js';
17
17
  import { X_AXIS_MARGIN } from '../types/chart.types.js';
@@ -9,7 +9,7 @@ import { useChartDimensions } from '../hooks/useChartDimensions.js';
9
9
  import { XAxis } from '../shared/ChartAxis/XAxis.js';
10
10
  import { YAxis } from '../shared/ChartAxis/YAxis.js';
11
11
  import { HorizontalGrid } from '../shared/ChartGrid/HorizontalGrid.js';
12
- import { ChartTooltip } from '../shared/ChartTooltip/ChartTooltip.js';
12
+ import { ChartTooltip } from '../../core/shared/ChartTooltip/ChartTooltip.js';
13
13
  import { resolveLegendPosition, ChartLegend } from '../shared/ChartLegend/ChartLegend.js';
14
14
  import { ChartMarker } from '../shared/ChartMarker/ChartMarker.js';
15
15
  import { ChartCrosshair } from '../shared/ChartCrosshair/ChartCrosshair.js';
@@ -285,7 +285,7 @@ className, title, description, enableKeyboardNavigation = LINE_CHART_DEFAULTS.en
285
285
  // lowest point), so the line grows UP from the x-axis.
286
286
  style: RISE_FROM_BASELINE, children: [jsx("rect", { x: margin.left, y: margin.top, width: innerWidth, height: innerHeight, fill: "none", stroke: "none", style: { pointerEvents: "none" } }), jsx("path", { d: targetPath, fill: "none", strokeWidth: strokeWidth, strokeLinecap: "round",
287
287
  // Constant stroke width through the scaleY rise (no squash).
288
- vectorEffect: "non-scaling-stroke", className: cn("transition-all duration-200", colorClass), style: { stroke: (_a = config[key]) === null || _a === void 0 ? void 0 : _a.color },
288
+ vectorEffect: "non-scaling-stroke", className: cn("transition-all duration-[var(--motion-duration-base)]", colorClass), style: { stroke: (_a = config[key]) === null || _a === void 0 ? void 0 : _a.color },
289
289
  // Soft series-colored glow instead of a hard black drop shadow.
290
290
  filter: `url(#${getSeriesGlowId(keyIndex)})` })] }, shouldReduceMotion ? "line-static" : dataSignature), showDots &&
291
291
  data.map((item, dataIndex) => {
@@ -9,7 +9,7 @@ import { useChartValidation } from '../hooks/useChartValidation.js';
9
9
  import { useChartAccessibility } from '../hooks/useChartAccessibility.js';
10
10
  import { useTooltipPosition } from '../hooks/useTooltipPosition.js';
11
11
  import { ChartErrorBoundary } from '../shared/ChartErrorBoundary/ChartErrorBoundary.js';
12
- import { ChartTooltip } from '../shared/ChartTooltip/ChartTooltip.js';
12
+ import { ChartTooltip } from '../../core/shared/ChartTooltip/ChartTooltip.js';
13
13
  import { HorizontalGrid } from '../shared/ChartGrid/HorizontalGrid.js';
14
14
  import { YAxis } from '../shared/ChartAxis/YAxis.js';
15
15
  import { XAxis } from '../shared/ChartAxis/XAxis.js';
@@ -6,7 +6,7 @@ import { cn } from '../../../utils/cn.js';
6
6
  import { radarChartTheme } from './RadarChart.theme.js';
7
7
  import { RADAR_CHART_ANIMATIONS } from './RadarChart.animations.js';
8
8
  import { getSpringAnimation, getStaggerDelay } from '../utils/animation-utils.js';
9
- import { ChartTooltip } from '../shared/ChartTooltip/ChartTooltip.js';
9
+ import { ChartTooltip } from '../../core/shared/ChartTooltip/ChartTooltip.js';
10
10
  import { ChartLegend } from '../shared/ChartLegend/ChartLegend.js';
11
11
  import { useTooltipPosition } from '../hooks/useTooltipPosition.js';
12
12
 
@@ -11,7 +11,7 @@ import { ChartErrorBoundary } from '../shared/ChartErrorBoundary/ChartErrorBound
11
11
  import { XAxis } from '../shared/ChartAxis/XAxis.js';
12
12
  import { YAxis } from '../shared/ChartAxis/YAxis.js';
13
13
  import { HorizontalGrid } from '../shared/ChartGrid/HorizontalGrid.js';
14
- import { ChartTooltip } from '../shared/ChartTooltip/ChartTooltip.js';
14
+ import { ChartTooltip } from '../../core/shared/ChartTooltip/ChartTooltip.js';
15
15
  import { resolveLegendPosition, ChartLegend } from '../shared/ChartLegend/ChartLegend.js';
16
16
  import { STACKED_BAR_CHART_DEFAULTS } from './StackedBarChart.types.js';
17
17
  import { X_AXIS_MARGIN } from '../types/chart.types.js';
@@ -245,8 +245,8 @@ className, title, description, enableKeyboardNavigation = STACKED_BAR_CHART_DEFA
245
245
  // plain style values at mount and ignores re-render changes.
246
246
  opacity: shouldReduceOpacity ? (isGradientVariant ? 0.42 : 0.9) : 1,
247
247
  }, transition: stackedSegmentTransition(delay, hasAnimated), className: cn(isGradientVariant
248
- ? "transition-all duration-300 ease-out cursor-pointer"
249
- : "transition-colors duration-200 cursor-pointer", isFocused && "stroke-2"), style: {
248
+ ? "transition-all duration-[var(--motion-duration-slow)] ease-out cursor-pointer"
249
+ : "transition-colors duration-[var(--motion-duration-base)] cursor-pointer", isFocused && "stroke-2"), style: {
250
250
  ...RISE_FROM_BASELINE,
251
251
  fill: isGradientVariant
252
252
  ? `url(#${stackGradientId(keyIndex)})`
@@ -1,10 +1,13 @@
1
1
  "use client";
2
- import { useState, useRef, useCallback, useMemo } from 'react';
2
+ import { useState, useId, useCallback, useMemo } from 'react';
3
3
 
4
4
  function useChartAccessibility({ chartType, data, config, title, description, enableKeyboardNavigation = true, }) {
5
5
  const [focusedElementIndex, setFocusedElementIndex] = useState(-1);
6
6
  const [isKeyboardMode, setIsKeyboardMode] = useState(false);
7
- const descriptionId = useRef(`chart-description-${Math.random().toString(36).substr(2, 9)}`);
7
+ // useId() (never Math.random()) — the id is rendered into markup on both the
8
+ // sr-only element and the container's aria-describedby, so a per-render
9
+ // random value mismatches across hydration.
10
+ const descriptionId = useId();
8
11
  // Generate chart summary for screen readers
9
12
  const generateChartSummary = useCallback(() => {
10
13
  var _a;
@@ -102,16 +105,16 @@ function useChartAccessibility({ chartType, data, config, title, description, en
102
105
  const chartAccessibilityProps = useMemo(() => ({
103
106
  role: 'img',
104
107
  'aria-label': ariaLabel,
105
- 'aria-describedby': description ? descriptionId.current : undefined,
108
+ 'aria-describedby': description ? descriptionId : undefined,
106
109
  tabIndex: enableKeyboardNavigation ? 0 : -1,
107
110
  onKeyDown: handleKeyDown,
108
- }), [ariaLabel, description, enableKeyboardNavigation, handleKeyDown]);
111
+ }), [ariaLabel, description, descriptionId, enableKeyboardNavigation, handleKeyDown]);
109
112
  // Description element props
110
113
  const descriptionProps = useMemo(() => description ? {
111
- id: descriptionId.current,
114
+ id: descriptionId,
112
115
  className: 'sr-only',
113
116
  children: description,
114
- } : null, [description]);
117
+ } : null, [description, descriptionId]);
115
118
  return {
116
119
  chartAccessibilityProps,
117
120
  descriptionProps,
@@ -7,13 +7,11 @@ export { AreaChart } from "./AreaChart";
7
7
  export { DonutChart } from "./DonutChart/DonutChart";
8
8
  export { MultiSegmentDonutChart } from "./DonutChart/MultiSegmentDonutChart";
9
9
  export { Heatmap } from "./Heatmap";
10
- export { FunnelChart } from "./FunnelChart";
11
- export { ScatterPlot } from "./ScatterPlot";
12
10
  export { RadarChart } from "./RadarChart";
13
11
  export { ComboChart } from "./ComboChart";
14
12
  export { ActivityRings } from "./ActivityRings";
15
13
  export { LollipopChart } from "./LollipopChart";
16
- export { ChartTooltip } from "./shared/ChartTooltip";
14
+ export { ChartTooltip } from "../core/shared/ChartTooltip";
17
15
  export { ChartLegend } from "./shared/ChartLegend";
18
16
  export { XAxis, YAxis } from "./shared/ChartAxis";
19
17
  export { ChartText } from "./shared/ChartText";
@@ -25,9 +23,9 @@ export { useTooltipPosition } from "./hooks/useTooltipPosition";
25
23
  export { useChartAccessibility } from "./hooks/useChartAccessibility";
26
24
  export { useChartValidation } from "./hooks/useChartValidation";
27
25
  export { generateColorPalette, getContrastColor } from "./utils/color-utils";
28
- export { processHeatmapData, calculateIntensity, createGridMatrix, getDefaultTooltipContent, formatAxisLabel, generateSampleData, } from "./Heatmap/utils/heatmapUtils";
26
+ export { processHeatmapData, calculateIntensity, createGridMatrix, getDefaultTooltipContent, formatAxisLabel, } from "./Heatmap/utils/heatmapUtils";
29
27
  export type { ChartDataPoint, ChartConfig, ChartVariant, CurveType, ChartLegendPosition, BaseChartProps, StandardChartDisplayProps, StandardVisualProps, BarChartSpecificProps, StandardAxisConfig, ChartThemeOverrides, CHART_DEFAULTS, } from "./types/chart.types";
30
- export type { ChartTooltipProps, ChartTooltipContentProps, } from "./shared/ChartTooltip/ChartTooltip.types";
28
+ export type { ChartTooltipProps, ChartTooltipContentProps, } from "../core/shared/ChartTooltip/ChartTooltip.types";
31
29
  export type { ChartLegendProps, ChartLegendItem, } from "./shared/ChartLegend/ChartLegend.types";
32
30
  export type { BaseAxisProps, XAxisProps, YAxisProps, AxisTickProps, } from "./shared/ChartAxis/ChartAxis.types";
33
31
  export type { ChartTextProps, ChartTextTheme, } from "./shared/ChartText/ChartText.types";
@@ -41,9 +39,7 @@ export type { LineChartProps } from "./LineChart/LineChart.types";
41
39
  export type { AreaChartProps } from "./AreaChart/AreaChart.types";
42
40
  export type { DonutChartProps } from "./DonutChart/DonutChart.types";
43
41
  export type { MultiSegmentDonutChartProps, DonutSegment, } from "./DonutChart/MultiSegmentDonutChart.types";
44
- export type { HeatmapProps } from "./Heatmap/Heatmap.types";
45
- export type { FunnelChartProps, FunnelChartDataPoint, } from "./FunnelChart/FunnelChart.types";
46
- export type { ScatterPlotProps, ScatterPlotDataPoint, } from "./ScatterPlot/ScatterPlot.types";
42
+ export type { HeatmapProps, HeatmapVariant } from "./Heatmap/Heatmap.types";
47
43
  export type { RadarChartProps, RadarChartSeries, } from "./RadarChart/RadarChart.types";
48
44
  export type { ComboChartProps, ComboChartConfig, SeriesType, } from "./ComboChart/ComboChart.types";
49
45
  export type { ActivityRingsProps, RingData, ActivityRingsThemeOverrides, } from "./ActivityRings/ActivityRings.types";
@@ -12,15 +12,13 @@ export { Heatmap } from './Heatmap/Heatmap.js';
12
12
  import './Heatmap/HeatmapCell.js';
13
13
  import 'react/jsx-runtime';
14
14
  import '../../utils/cn.js';
15
- export { calculateIntensity, createGridMatrix, formatAxisLabel, generateSampleData, getDefaultTooltipContent, processHeatmapData } from './Heatmap/utils/heatmapUtils.js';
16
- export { FunnelChart } from './FunnelChart/FunnelChart.js';
17
- export { ScatterPlot } from './ScatterPlot/ScatterPlot.js';
15
+ export { calculateIntensity, createGridMatrix, formatAxisLabel, getDefaultTooltipContent, processHeatmapData } from './Heatmap/utils/heatmapUtils.js';
18
16
  export { RadarChart } from './RadarChart/RadarChart.js';
19
17
  export { ComboChart } from './ComboChart/ComboChart.js';
20
18
  export { ActivityRings } from './ActivityRings/ActivityRings.js';
21
19
  export { LollipopChart } from './LollipopChart/LollipopChart.js';
22
20
  export { LOLLIPOP_CHART_DEFAULTS } from './LollipopChart/LollipopChart.types.js';
23
- export { ChartTooltip } from './shared/ChartTooltip/ChartTooltip.js';
21
+ export { ChartTooltip } from '../core/shared/ChartTooltip/ChartTooltip.js';
24
22
  export { ChartLegend } from './shared/ChartLegend/ChartLegend.js';
25
23
  export { XAxis } from './shared/ChartAxis/XAxis.js';
26
24
  export { YAxis } from './shared/ChartAxis/YAxis.js';
@@ -3,7 +3,7 @@
3
3
  * Uses fixed Tailwind styling for consistency across charts
4
4
  */
5
5
  const chartTextTheme = {
6
- baseStyle: "transition-all duration-200 text-xs text-[var(--color-text-secondary)]/80 fill-[var(--color-text-secondary)]/80 font-medium select-none",
6
+ baseStyle: "transition-all duration-[var(--motion-duration-base)] text-xs text-[var(--color-text-secondary)]/80 fill-[var(--color-text-secondary)]/80 font-medium select-none",
7
7
  };
8
8
 
9
9
  export { chartTextTheme };
@@ -4,4 +4,4 @@ export { ChartMarker } from './ChartMarker';
4
4
  export { HorizontalGrid } from './ChartGrid';
5
5
  export { ChartText } from './ChartText';
6
6
  export { XAxis, YAxis } from './ChartAxis';
7
- export { ChartTooltip } from './ChartTooltip';
7
+ export { ChartTooltip } from '../../core/shared/ChartTooltip';
@@ -19,7 +19,7 @@ const chartTheme = {
19
19
  axis: "stroke-[var(--color-border)]",
20
20
  text: "fill-[var(--color-text-secondary)]",
21
21
  background: "fill-[var(--color-background)]",
22
- hover: "fill-[var(--color-background-secondary)]",
22
+ hover: "fill-[var(--color-surface)]",
23
23
  disabled: "fill-[var(--color-background-disabled)]",
24
24
  },
25
25
  opacity: {
@@ -28,8 +28,8 @@ const chartTheme = {
28
28
  disabled: "opacity-50",
29
29
  },
30
30
  transitions: {
31
- default: "transition-all duration-200",
32
- hover: "transition-all duration-150",
31
+ default: "transition-all duration-[var(--motion-duration-base)]",
32
+ hover: "transition-all duration-[var(--motion-duration-fast)]",
33
33
  },
34
34
  },
35
35
  variants: {
@@ -132,10 +132,6 @@ export declare const CIRCULAR_CHART_ANIMATIONS: {
132
132
  export declare const CROSSHAIR_FADE_TRANSITION: Transition;
133
133
  /** Crosshair line tracking the pointer between data points. */
134
134
  export declare const CROSSHAIR_FOLLOW_TRANSITION: Transition;
135
- /** Tooltip pop-in: springy position/scale with a quick opacity/scale settle. */
136
- export declare const TOOLTIP_ENTER_TRANSITION: Transition;
137
- /** Tooltip pop-out. */
138
- export declare const TOOLTIP_EXIT_TRANSITION: Transition;
139
135
  /** Circular-chart segment hover dim/lift (opacity fade + scale pop). */
140
136
  export declare const SEGMENT_HOVER_TRANSITION: Transition;
141
137
  /** Rise/draw duration for line & area entrances (and the shared LineRenderer). */
@@ -150,9 +146,6 @@ export declare const STACKED_BAR_STAGGER = 0.08;
150
146
  export declare const BAR_STACK_CATEGORY_DELAY = 0.25;
151
147
  /** Shared BarRenderer stacked-mode per-segment stagger. */
152
148
  export declare const BAR_STACK_SEGMENT_STAGGER = 0.12;
153
- /** ScatterPlot per-point stagger + grow duration. */
154
- export declare const SCATTER_POINT_STAGGER = 0.01;
155
- export declare const SCATTER_POINT_DURATION = 0.3;
156
149
  /** Marker pop-in spring (line/area dots). */
157
150
  export declare const DOT_SPRING: {
158
151
  type: "spring";
@@ -204,3 +197,15 @@ export declare function barEntranceTransition(delay: number, hasAnimated: boolea
204
197
  * `barEntranceTransition`.
205
198
  */
206
199
  export declare function stackedSegmentTransition(delay: number, hasAnimated: boolean): Transition;
200
+ /** Heatmap cell fade-in duration (seconds). */
201
+ export declare const HEATMAP_CELL_FADE_DURATION = 0.35;
202
+ /** Per-diagonal stagger for the heatmap cell entrance (seconds). */
203
+ export declare const HEATMAP_CELL_STAGGER = 0.02;
204
+ /** Cap on the entrance stagger, so a large grid still settles quickly (seconds). */
205
+ export declare const HEATMAP_CELL_MAX_DELAY = 0.3;
206
+ /** Deterministic entrance delay for the cell at (row, col). */
207
+ export declare function heatmapCellDelay(row: number, col: number): number;
208
+ /** Cell hover scale-up (`whileHover`). */
209
+ export declare const HEATMAP_CELL_HOVER_TRANSITION: Transition;
210
+ /** Cell press scale-down (`whileTap`). */
211
+ export declare const HEATMAP_CELL_TAP_TRANSITION: Transition;