@coinbase/cds-web 8.66.1 → 9.0.0-rc.1

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 (683) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dts/AccessibilityAnnouncer/AccessibilityAnnouncer.d.ts +14 -16
  3. package/dts/AccessibilityAnnouncer/AccessibilityAnnouncer.d.ts.map +1 -1
  4. package/dts/accordion/AccordionHeader.d.ts +16 -18
  5. package/dts/accordion/AccordionHeader.d.ts.map +1 -1
  6. package/dts/accordion/AccordionItem.d.ts +2 -2
  7. package/dts/accordion/AccordionItem.d.ts.map +1 -1
  8. package/dts/accordion/AccordionPanel.d.ts +11 -13
  9. package/dts/accordion/AccordionPanel.d.ts.map +1 -1
  10. package/dts/alpha/combobox/DefaultComboboxControl.d.ts.map +1 -1
  11. package/dts/alpha/select/DefaultSelectControl.d.ts.map +1 -1
  12. package/dts/alpha/select/DefaultSelectDropdown.d.ts.map +1 -1
  13. package/dts/alpha/select/DefaultSelectOption.d.ts.map +1 -1
  14. package/dts/alpha/select/DefaultSelectOptionGroup.d.ts.map +1 -1
  15. package/dts/alpha/select/types.d.ts +6 -1
  16. package/dts/alpha/select/types.d.ts.map +1 -1
  17. package/dts/animation/Lottie.d.ts +3 -5
  18. package/dts/animation/Lottie.d.ts.map +1 -1
  19. package/dts/animation/LottieStatusAnimation.d.ts +2 -3
  20. package/dts/animation/LottieStatusAnimation.d.ts.map +1 -1
  21. package/dts/animation/useLottieLoader.d.ts +1 -1
  22. package/dts/banner/Banner.d.ts +26 -2
  23. package/dts/banner/Banner.d.ts.map +1 -1
  24. package/dts/buttons/AvatarButton.d.ts +89 -1
  25. package/dts/buttons/AvatarButton.d.ts.map +1 -1
  26. package/dts/buttons/Button.d.ts.map +1 -1
  27. package/dts/buttons/IconButton.d.ts.map +1 -1
  28. package/dts/buttons/IconCounterButton.d.ts +22 -11
  29. package/dts/buttons/IconCounterButton.d.ts.map +1 -1
  30. package/dts/buttons/Tile.d.ts +1 -1
  31. package/dts/buttons/Tile.d.ts.map +1 -1
  32. package/dts/cards/AnnouncementCard.d.ts +2 -2
  33. package/dts/cards/AnnouncementCard.d.ts.map +1 -1
  34. package/dts/cards/Card.d.ts +4 -0
  35. package/dts/cards/Card.d.ts.map +1 -1
  36. package/dts/cards/CardGroup.d.ts +2 -4
  37. package/dts/cards/CardGroup.d.ts.map +1 -1
  38. package/dts/cards/CardMedia.d.ts.map +1 -1
  39. package/dts/cards/FeatureEntryCard.d.ts +2 -6
  40. package/dts/cards/FeatureEntryCard.d.ts.map +1 -1
  41. package/dts/cards/FeedCard.d.ts +2 -6
  42. package/dts/cards/FeedCard.d.ts.map +1 -1
  43. package/dts/cards/LikeButton.d.ts +2 -3
  44. package/dts/cards/LikeButton.d.ts.map +1 -1
  45. package/dts/cards/UpsellCard.d.ts +7 -2
  46. package/dts/cards/UpsellCard.d.ts.map +1 -1
  47. package/dts/carousel/Carousel.d.ts +12 -19
  48. package/dts/carousel/Carousel.d.ts.map +1 -1
  49. package/dts/carousel/DefaultCarouselPagination.d.ts.map +1 -1
  50. package/dts/cells/Cell.d.ts.map +1 -1
  51. package/dts/cells/CellAccessory.d.ts +2 -4
  52. package/dts/cells/CellAccessory.d.ts.map +1 -1
  53. package/dts/cells/CellHelperText.d.ts +2 -4
  54. package/dts/cells/CellHelperText.d.ts.map +1 -1
  55. package/dts/cells/ContentCellFallback.d.ts +4 -0
  56. package/dts/cells/ContentCellFallback.d.ts.map +1 -1
  57. package/dts/cells/ListCell.d.ts.map +1 -1
  58. package/dts/cells/MediaFallback.d.ts +1 -2
  59. package/dts/cells/MediaFallback.d.ts.map +1 -1
  60. package/dts/chips/Chip.d.ts +3 -5
  61. package/dts/chips/Chip.d.ts.map +1 -1
  62. package/dts/chips/ChipProps.d.ts.map +1 -1
  63. package/dts/chips/InputChip.d.ts +2 -4
  64. package/dts/chips/InputChip.d.ts.map +1 -1
  65. package/dts/chips/MediaChip.d.ts +2 -4
  66. package/dts/chips/MediaChip.d.ts.map +1 -1
  67. package/dts/chips/SelectChip.d.ts +2 -2
  68. package/dts/chips/SelectChip.d.ts.map +1 -1
  69. package/dts/coachmark/Coachmark.d.ts +4 -4
  70. package/dts/coachmark/Coachmark.d.ts.map +1 -1
  71. package/dts/collapsible/Collapsible.d.ts +32 -34
  72. package/dts/collapsible/Collapsible.d.ts.map +1 -1
  73. package/dts/collapsible/useCollapsibleMotionProps.d.ts +328 -288
  74. package/dts/collapsible/useCollapsibleMotionProps.d.ts.map +1 -1
  75. package/dts/controls/CheckboxGroup.d.ts +2 -26
  76. package/dts/controls/CheckboxGroup.d.ts.map +1 -1
  77. package/dts/controls/Control.d.ts +28 -6
  78. package/dts/controls/Control.d.ts.map +1 -1
  79. package/dts/controls/HelperText.d.ts +14 -0
  80. package/dts/controls/HelperText.d.ts.map +1 -1
  81. package/dts/controls/InputIcon.d.ts +2 -2
  82. package/dts/controls/InputIcon.d.ts.map +1 -1
  83. package/dts/controls/InputIconButton.d.ts +2 -4
  84. package/dts/controls/InputIconButton.d.ts.map +1 -1
  85. package/dts/controls/InputStack.d.ts +23 -3
  86. package/dts/controls/InputStack.d.ts.map +1 -1
  87. package/dts/controls/NativeInput.d.ts +6 -4
  88. package/dts/controls/NativeInput.d.ts.map +1 -1
  89. package/dts/controls/NativeTextArea.d.ts +2 -4
  90. package/dts/controls/NativeTextArea.d.ts.map +1 -1
  91. package/dts/controls/RadioGroup.d.ts +2 -24
  92. package/dts/controls/RadioGroup.d.ts.map +1 -1
  93. package/dts/controls/SearchInput.d.ts +8 -6
  94. package/dts/controls/SearchInput.d.ts.map +1 -1
  95. package/dts/controls/SegmentedControl.d.ts +2 -2
  96. package/dts/controls/SegmentedControl.d.ts.map +1 -1
  97. package/dts/controls/Select.d.ts +21 -23
  98. package/dts/controls/Select.d.ts.map +1 -1
  99. package/dts/controls/SelectOption.d.ts +4 -0
  100. package/dts/controls/SelectOption.d.ts.map +1 -1
  101. package/dts/controls/SelectStack.d.ts +10 -12
  102. package/dts/controls/SelectStack.d.ts.map +1 -1
  103. package/dts/controls/SelectTrigger.d.ts +8 -10
  104. package/dts/controls/SelectTrigger.d.ts.map +1 -1
  105. package/dts/controls/Switch.d.ts +80 -30
  106. package/dts/controls/Switch.d.ts.map +1 -1
  107. package/dts/controls/TextInput.d.ts +8 -7
  108. package/dts/controls/TextInput.d.ts.map +1 -1
  109. package/dts/controls/selectContext.d.ts +16 -0
  110. package/dts/controls/selectContext.d.ts.map +1 -1
  111. package/dts/controls/useRefocusTrigger.d.ts +1 -1
  112. package/dts/controls/useRefocusTrigger.d.ts.map +1 -1
  113. package/dts/dates/Calendar.d.ts +58 -60
  114. package/dts/dates/Calendar.d.ts.map +1 -1
  115. package/dts/dates/DateInput.d.ts +2 -4
  116. package/dts/dates/DateInput.d.ts.map +1 -1
  117. package/dts/dates/DatePicker.d.ts +2 -4
  118. package/dts/dates/DatePicker.d.ts.map +1 -1
  119. package/dts/dots/DotCount.d.ts +12 -0
  120. package/dts/dots/DotCount.d.ts.map +1 -1
  121. package/dts/dropdown/Dropdown.d.ts +33 -35
  122. package/dts/dropdown/Dropdown.d.ts.map +1 -1
  123. package/dts/dropdown/DropdownContent.d.ts +7 -10
  124. package/dts/dropdown/DropdownContent.d.ts.map +1 -1
  125. package/dts/dropdown/useResponsiveHeight.d.ts +2 -2
  126. package/dts/dropdown/useResponsiveHeight.d.ts.map +1 -1
  127. package/dts/hooks/useCellSpacing.d.ts +48 -164
  128. package/dts/hooks/useCellSpacing.d.ts.map +1 -1
  129. package/dts/hooks/useClickOutside.d.ts +1 -3
  130. package/dts/hooks/useClickOutside.d.ts.map +1 -1
  131. package/dts/hooks/useDimensions.d.ts +2 -2
  132. package/dts/hooks/useDimensions.d.ts.map +1 -1
  133. package/dts/hooks/useHorizontalScrollToTarget.d.ts +1 -1
  134. package/dts/hooks/useResolveResponsiveProp.d.ts +19 -0
  135. package/dts/hooks/useResolveResponsiveProp.d.ts.map +1 -0
  136. package/dts/icons/Icon.d.ts +6 -3
  137. package/dts/icons/Icon.d.ts.map +1 -1
  138. package/dts/layout/Box.d.ts +4 -1
  139. package/dts/layout/Box.d.ts.map +1 -1
  140. package/dts/layout/Grid.d.ts +2 -3
  141. package/dts/layout/Grid.d.ts.map +1 -1
  142. package/dts/layout/Group.d.ts +4 -4
  143. package/dts/layout/Group.d.ts.map +1 -1
  144. package/dts/loaders/Spinner.d.ts +2 -1
  145. package/dts/loaders/Spinner.d.ts.map +1 -1
  146. package/dts/media/Hexagon.d.ts.map +1 -1
  147. package/dts/media/RemoteImageGroup.d.ts.map +1 -1
  148. package/dts/motion/ColorSurge.d.ts +8 -10
  149. package/dts/motion/ColorSurge.d.ts.map +1 -1
  150. package/dts/motion/Pulse.d.ts +21 -23
  151. package/dts/motion/Pulse.d.ts.map +1 -1
  152. package/dts/motion/Shake.d.ts +4 -6
  153. package/dts/motion/Shake.d.ts.map +1 -1
  154. package/dts/motion/useMotionProps.d.ts +710 -630
  155. package/dts/motion/useMotionProps.d.ts.map +1 -1
  156. package/dts/motion/utils.d.ts +326 -286
  157. package/dts/motion/utils.d.ts.map +1 -1
  158. package/dts/navigation/NavigationTitleSelect.d.ts.map +1 -1
  159. package/dts/navigation/SidebarItem.d.ts +22 -5
  160. package/dts/navigation/SidebarItem.d.ts.map +1 -1
  161. package/dts/numbers/RollingNumber/DefaultRollingNumberDigit.d.ts.map +1 -1
  162. package/dts/numbers/RollingNumber/RollingNumber.d.ts.map +1 -1
  163. package/dts/overlays/Alert.d.ts +56 -58
  164. package/dts/overlays/Alert.d.ts.map +1 -1
  165. package/dts/overlays/Portal.d.ts +8 -6
  166. package/dts/overlays/Portal.d.ts.map +1 -1
  167. package/dts/overlays/PortalProvider.d.ts +17 -0
  168. package/dts/overlays/PortalProvider.d.ts.map +1 -1
  169. package/dts/overlays/Toast.d.ts +2 -2
  170. package/dts/overlays/Toast.d.ts.map +1 -1
  171. package/dts/overlays/modal/FullscreenModalHeader.d.ts +2 -4
  172. package/dts/overlays/modal/FullscreenModalHeader.d.ts.map +1 -1
  173. package/dts/overlays/modal/FullscreenModalLayout.d.ts +20 -22
  174. package/dts/overlays/modal/FullscreenModalLayout.d.ts.map +1 -1
  175. package/dts/overlays/modal/Modal.d.ts +6 -8
  176. package/dts/overlays/modal/Modal.d.ts.map +1 -1
  177. package/dts/overlays/modal/ModalBody.d.ts +2 -4
  178. package/dts/overlays/modal/ModalBody.d.ts.map +1 -1
  179. package/dts/overlays/modal/ModalHeader.d.ts.map +1 -1
  180. package/dts/overlays/modal/ModalWrapper.d.ts +2 -4
  181. package/dts/overlays/modal/ModalWrapper.d.ts.map +1 -1
  182. package/dts/overlays/overlay/Overlay.d.ts +2 -2
  183. package/dts/overlays/overlay/Overlay.d.ts.map +1 -1
  184. package/dts/overlays/popover/Popover.d.ts +38 -40
  185. package/dts/overlays/popover/Popover.d.ts.map +1 -1
  186. package/dts/overlays/popover/PopoverPanelContent.d.ts +18 -20
  187. package/dts/overlays/popover/PopoverPanelContent.d.ts.map +1 -1
  188. package/dts/overlays/popover/usePopper.d.ts +4 -0
  189. package/dts/overlays/popover/usePopper.d.ts.map +1 -1
  190. package/dts/overlays/tooltip/Tooltip.d.ts.map +1 -1
  191. package/dts/overlays/tooltip/TooltipContent.d.ts +10 -12
  192. package/dts/overlays/tooltip/TooltipContent.d.ts.map +1 -1
  193. package/dts/overlays/tooltip/TooltipProps.d.ts +1 -2
  194. package/dts/overlays/tooltip/TooltipProps.d.ts.map +1 -1
  195. package/dts/overlays/tray/Tray.d.ts +114 -118
  196. package/dts/overlays/tray/Tray.d.ts.map +1 -1
  197. package/dts/overlays/useModal.d.ts +1 -1
  198. package/dts/page/PageFooter.d.ts +4 -6
  199. package/dts/page/PageFooter.d.ts.map +1 -1
  200. package/dts/page/PageHeader.d.ts +4 -6
  201. package/dts/page/PageHeader.d.ts.map +1 -1
  202. package/dts/section-header/SectionHeader.d.ts +2 -4
  203. package/dts/section-header/SectionHeader.d.ts.map +1 -1
  204. package/dts/stepper/DefaultStepperHeaderHorizontal.d.ts.map +1 -1
  205. package/dts/stepper/DefaultStepperLabelHorizontal.d.ts +1 -1
  206. package/dts/stepper/DefaultStepperLabelHorizontal.d.ts.map +1 -1
  207. package/dts/stepper/DefaultStepperProgressHorizontal.d.ts +1 -1
  208. package/dts/stepper/DefaultStepperProgressHorizontal.d.ts.map +1 -1
  209. package/dts/stepper/DefaultStepperProgressVertical.d.ts +1 -1
  210. package/dts/stepper/DefaultStepperProgressVertical.d.ts.map +1 -1
  211. package/dts/stepper/DefaultStepperStepHorizontal.d.ts.map +1 -1
  212. package/dts/stepper/Stepper.d.ts +25 -14
  213. package/dts/stepper/Stepper.d.ts.map +1 -1
  214. package/dts/styles/styleProps.d.ts +12 -8
  215. package/dts/styles/styleProps.d.ts.map +1 -1
  216. package/dts/system/BrowserOnly.d.ts +1 -1
  217. package/dts/system/BrowserOnly.d.ts.map +1 -1
  218. package/dts/system/ButtonOrLink.d.ts +5 -7
  219. package/dts/system/ButtonOrLink.d.ts.map +1 -1
  220. package/dts/system/Interactable.d.ts +10 -12
  221. package/dts/system/Interactable.d.ts.map +1 -1
  222. package/dts/system/ThemeProvider.d.ts +48 -26
  223. package/dts/system/ThemeProvider.d.ts.map +1 -1
  224. package/dts/system/interactableCSSProperties.d.ts +11 -11
  225. package/dts/system/interactableCSSProperties.d.ts.map +1 -1
  226. package/dts/tables/Table.d.ts +40 -43
  227. package/dts/tables/Table.d.ts.map +1 -1
  228. package/dts/tables/TableCell.d.ts +2 -1
  229. package/dts/tables/TableCell.d.ts.map +1 -1
  230. package/dts/tabs/DefaultTab.d.ts +17 -19
  231. package/dts/tabs/DefaultTab.d.ts.map +1 -1
  232. package/dts/tabs/Paddle.d.ts.map +1 -1
  233. package/dts/tabs/SegmentedTab.d.ts +25 -27
  234. package/dts/tabs/SegmentedTab.d.ts.map +1 -1
  235. package/dts/tabs/TabIndicator.d.ts +11 -13
  236. package/dts/tabs/TabIndicator.d.ts.map +1 -1
  237. package/dts/tabs/TabNavigation.d.ts +6 -0
  238. package/dts/tabs/TabNavigation.d.ts.map +1 -1
  239. package/dts/tabs/Tabs.d.ts.map +1 -1
  240. package/dts/tabs/hooks/useAnimateTabIndicator.d.ts +710 -630
  241. package/dts/tabs/hooks/useAnimateTabIndicator.d.ts.map +1 -1
  242. package/dts/tag/Tag.d.ts +2 -2
  243. package/dts/tag/Tag.d.ts.map +1 -1
  244. package/dts/tour/DefaultTourStepArrow.d.ts +2 -2
  245. package/dts/tour/DefaultTourStepArrow.d.ts.map +1 -1
  246. package/dts/tour/Tour.d.ts.map +1 -1
  247. package/dts/tour/TourStep.d.ts.map +1 -1
  248. package/dts/typography/Text.d.ts +4 -1
  249. package/dts/typography/Text.d.ts.map +1 -1
  250. package/dts/typography/TextBody.d.ts +12 -0
  251. package/dts/typography/TextBody.d.ts.map +1 -1
  252. package/dts/typography/TextCaption.d.ts +12 -0
  253. package/dts/typography/TextCaption.d.ts.map +1 -1
  254. package/dts/typography/TextDisplay1.d.ts +12 -0
  255. package/dts/typography/TextDisplay1.d.ts.map +1 -1
  256. package/dts/typography/TextDisplay2.d.ts +12 -0
  257. package/dts/typography/TextDisplay2.d.ts.map +1 -1
  258. package/dts/typography/TextDisplay3.d.ts +12 -0
  259. package/dts/typography/TextDisplay3.d.ts.map +1 -1
  260. package/dts/typography/TextHeadline.d.ts +12 -0
  261. package/dts/typography/TextHeadline.d.ts.map +1 -1
  262. package/dts/typography/TextInherited.d.ts +12 -0
  263. package/dts/typography/TextInherited.d.ts.map +1 -1
  264. package/dts/typography/TextLabel1.d.ts +12 -0
  265. package/dts/typography/TextLabel1.d.ts.map +1 -1
  266. package/dts/typography/TextLabel2.d.ts +12 -0
  267. package/dts/typography/TextLabel2.d.ts.map +1 -1
  268. package/dts/typography/TextLegal.d.ts +12 -0
  269. package/dts/typography/TextLegal.d.ts.map +1 -1
  270. package/dts/typography/TextTitle1.d.ts +12 -0
  271. package/dts/typography/TextTitle1.d.ts.map +1 -1
  272. package/dts/typography/TextTitle2.d.ts +12 -0
  273. package/dts/typography/TextTitle2.d.ts.map +1 -1
  274. package/dts/typography/TextTitle3.d.ts +12 -0
  275. package/dts/typography/TextTitle3.d.ts.map +1 -1
  276. package/dts/typography/TextTitle4.d.ts +12 -0
  277. package/dts/typography/TextTitle4.d.ts.map +1 -1
  278. package/dts/utils/flattenAndJoinNodes.d.ts +13 -1
  279. package/dts/utils/flattenAndJoinNodes.d.ts.map +1 -1
  280. package/dts/visualizations/ProgressBar.d.ts +45 -47
  281. package/dts/visualizations/ProgressBar.d.ts.map +1 -1
  282. package/dts/visualizations/ProgressCircle.d.ts +63 -65
  283. package/dts/visualizations/ProgressCircle.d.ts.map +1 -1
  284. package/dts/visualizations/VisualizationContainer.d.ts +3 -4
  285. package/dts/visualizations/VisualizationContainer.d.ts.map +1 -1
  286. package/dts/visualizations/chart/CartesianChart.d.ts +104 -0
  287. package/dts/visualizations/chart/CartesianChart.d.ts.map +1 -0
  288. package/dts/visualizations/chart/ChartProvider.d.ts +9 -0
  289. package/dts/visualizations/chart/ChartProvider.d.ts.map +1 -0
  290. package/dts/visualizations/chart/Path.d.ts +100 -0
  291. package/dts/visualizations/chart/Path.d.ts.map +1 -0
  292. package/dts/visualizations/chart/PeriodSelector.d.ts +73 -0
  293. package/dts/visualizations/chart/PeriodSelector.d.ts.map +1 -0
  294. package/dts/visualizations/chart/area/Area.d.ts +83 -0
  295. package/dts/visualizations/chart/area/Area.d.ts.map +1 -0
  296. package/dts/visualizations/chart/area/AreaChart.d.ts +90 -0
  297. package/dts/visualizations/chart/area/AreaChart.d.ts.map +1 -0
  298. package/dts/visualizations/chart/area/DottedArea.d.ts +45 -0
  299. package/dts/visualizations/chart/area/DottedArea.d.ts.map +1 -0
  300. package/dts/visualizations/chart/area/GradientArea.d.ts +39 -0
  301. package/dts/visualizations/chart/area/GradientArea.d.ts.map +1 -0
  302. package/dts/visualizations/chart/area/SolidArea.d.ts +23 -0
  303. package/dts/visualizations/chart/area/SolidArea.d.ts.map +1 -0
  304. package/dts/visualizations/chart/area/index.d.ts +6 -0
  305. package/dts/visualizations/chart/area/index.d.ts.map +1 -0
  306. package/dts/visualizations/chart/axis/Axis.d.ts +254 -0
  307. package/dts/visualizations/chart/axis/Axis.d.ts.map +1 -0
  308. package/dts/visualizations/chart/axis/DefaultAxisTickLabel.d.ts +8 -0
  309. package/dts/visualizations/chart/axis/DefaultAxisTickLabel.d.ts.map +1 -0
  310. package/dts/visualizations/chart/axis/XAxis.d.ts +22 -0
  311. package/dts/visualizations/chart/axis/XAxis.d.ts.map +1 -0
  312. package/dts/visualizations/chart/axis/YAxis.d.ts +22 -0
  313. package/dts/visualizations/chart/axis/YAxis.d.ts.map +1 -0
  314. package/dts/visualizations/chart/axis/index.d.ts +5 -0
  315. package/dts/visualizations/chart/axis/index.d.ts.map +1 -0
  316. package/dts/visualizations/chart/bar/Bar.d.ts +102 -0
  317. package/dts/visualizations/chart/bar/Bar.d.ts.map +1 -0
  318. package/dts/visualizations/chart/bar/BarChart.d.ts +83 -0
  319. package/dts/visualizations/chart/bar/BarChart.d.ts.map +1 -0
  320. package/dts/visualizations/chart/bar/BarPlot.d.ts +31 -0
  321. package/dts/visualizations/chart/bar/BarPlot.d.ts.map +1 -0
  322. package/dts/visualizations/chart/bar/BarStack.d.ts +141 -0
  323. package/dts/visualizations/chart/bar/BarStack.d.ts.map +1 -0
  324. package/dts/visualizations/chart/bar/BarStackGroup.d.ts +37 -0
  325. package/dts/visualizations/chart/bar/BarStackGroup.d.ts.map +1 -0
  326. package/dts/visualizations/chart/bar/DefaultBar.d.ts +17 -0
  327. package/dts/visualizations/chart/bar/DefaultBar.d.ts.map +1 -0
  328. package/dts/visualizations/chart/bar/DefaultBarStack.d.ts +16 -0
  329. package/dts/visualizations/chart/bar/DefaultBarStack.d.ts.map +1 -0
  330. package/dts/visualizations/chart/bar/PercentageBarChart.d.ts +61 -0
  331. package/dts/visualizations/chart/bar/PercentageBarChart.d.ts.map +1 -0
  332. package/dts/visualizations/chart/bar/index.d.ts +9 -0
  333. package/dts/visualizations/chart/bar/index.d.ts.map +1 -0
  334. package/dts/visualizations/chart/gradient/Gradient.d.ts +43 -0
  335. package/dts/visualizations/chart/gradient/Gradient.d.ts.map +1 -0
  336. package/dts/visualizations/chart/gradient/index.d.ts +2 -0
  337. package/dts/visualizations/chart/gradient/index.d.ts.map +1 -0
  338. package/dts/visualizations/chart/index.d.ts +15 -0
  339. package/dts/visualizations/chart/index.d.ts.map +1 -0
  340. package/dts/visualizations/chart/legend/DefaultLegendEntry.d.ts +21 -0
  341. package/dts/visualizations/chart/legend/DefaultLegendEntry.d.ts.map +1 -0
  342. package/dts/visualizations/chart/legend/DefaultLegendShape.d.ts +7 -0
  343. package/dts/visualizations/chart/legend/DefaultLegendShape.d.ts.map +1 -0
  344. package/dts/visualizations/chart/legend/Legend.d.ts +139 -0
  345. package/dts/visualizations/chart/legend/Legend.d.ts.map +1 -0
  346. package/dts/visualizations/chart/legend/index.d.ts +4 -0
  347. package/dts/visualizations/chart/legend/index.d.ts.map +1 -0
  348. package/dts/visualizations/chart/line/DefaultReferenceLineLabel.d.ts +9 -0
  349. package/dts/visualizations/chart/line/DefaultReferenceLineLabel.d.ts.map +1 -0
  350. package/dts/visualizations/chart/line/DottedLine.d.ts +26 -0
  351. package/dts/visualizations/chart/line/DottedLine.d.ts.map +1 -0
  352. package/dts/visualizations/chart/line/Line.d.ts +146 -0
  353. package/dts/visualizations/chart/line/Line.d.ts.map +1 -0
  354. package/dts/visualizations/chart/line/LineChart.d.ts +77 -0
  355. package/dts/visualizations/chart/line/LineChart.d.ts.map +1 -0
  356. package/dts/visualizations/chart/line/ReferenceLine.d.ts +187 -0
  357. package/dts/visualizations/chart/line/ReferenceLine.d.ts.map +1 -0
  358. package/dts/visualizations/chart/line/SolidLine.d.ts +25 -0
  359. package/dts/visualizations/chart/line/SolidLine.d.ts.map +1 -0
  360. package/dts/visualizations/chart/line/index.d.ts +7 -0
  361. package/dts/visualizations/chart/line/index.d.ts.map +1 -0
  362. package/dts/visualizations/chart/point/DefaultPointLabel.d.ts +10 -0
  363. package/dts/visualizations/chart/point/DefaultPointLabel.d.ts.map +1 -0
  364. package/dts/visualizations/chart/point/Point.d.ts +225 -0
  365. package/dts/visualizations/chart/point/Point.d.ts.map +1 -0
  366. package/dts/visualizations/chart/point/index.d.ts +3 -0
  367. package/dts/visualizations/chart/point/index.d.ts.map +1 -0
  368. package/dts/visualizations/chart/scrubber/DefaultScrubberBeacon.d.ts +39 -0
  369. package/dts/visualizations/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -0
  370. package/dts/visualizations/chart/scrubber/DefaultScrubberBeaconLabel.d.ts +12 -0
  371. package/dts/visualizations/chart/scrubber/DefaultScrubberBeaconLabel.d.ts.map +1 -0
  372. package/dts/visualizations/chart/scrubber/DefaultScrubberLabel.d.ts +11 -0
  373. package/dts/visualizations/chart/scrubber/DefaultScrubberLabel.d.ts.map +1 -0
  374. package/dts/visualizations/chart/scrubber/Scrubber.d.ts +390 -0
  375. package/dts/visualizations/chart/scrubber/Scrubber.d.ts.map +1 -0
  376. package/dts/visualizations/chart/scrubber/ScrubberBeaconGroup.d.ts +78 -0
  377. package/dts/visualizations/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -0
  378. package/dts/visualizations/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +56 -0
  379. package/dts/visualizations/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -0
  380. package/dts/visualizations/chart/scrubber/ScrubberProvider.d.ts +17 -0
  381. package/dts/visualizations/chart/scrubber/ScrubberProvider.d.ts.map +1 -0
  382. package/dts/visualizations/chart/scrubber/index.d.ts +5 -0
  383. package/dts/visualizations/chart/scrubber/index.d.ts.map +1 -0
  384. package/dts/visualizations/chart/text/ChartText.d.ts +117 -0
  385. package/dts/visualizations/chart/text/ChartText.d.ts.map +1 -0
  386. package/dts/visualizations/chart/text/ChartTextGroup.d.ts +61 -0
  387. package/dts/visualizations/chart/text/ChartTextGroup.d.ts.map +1 -0
  388. package/dts/visualizations/chart/text/index.d.ts +3 -0
  389. package/dts/visualizations/chart/text/index.d.ts.map +1 -0
  390. package/dts/visualizations/chart/utils/axis.d.ts +391 -0
  391. package/dts/visualizations/chart/utils/axis.d.ts.map +1 -0
  392. package/dts/visualizations/chart/utils/bar.d.ts +223 -0
  393. package/dts/visualizations/chart/utils/bar.d.ts.map +1 -0
  394. package/dts/visualizations/chart/utils/chart.d.ts +158 -0
  395. package/dts/visualizations/chart/utils/chart.d.ts.map +1 -0
  396. package/dts/visualizations/chart/utils/context.d.ts +117 -0
  397. package/dts/visualizations/chart/utils/context.d.ts.map +1 -0
  398. package/dts/visualizations/chart/utils/gradient.d.ts +116 -0
  399. package/dts/visualizations/chart/utils/gradient.d.ts.map +1 -0
  400. package/dts/visualizations/chart/utils/index.d.ts +12 -0
  401. package/dts/visualizations/chart/utils/index.d.ts.map +1 -0
  402. package/dts/visualizations/chart/utils/interpolate.d.ts +112 -0
  403. package/dts/visualizations/chart/utils/interpolate.d.ts.map +1 -0
  404. package/dts/visualizations/chart/utils/path.d.ts +156 -0
  405. package/dts/visualizations/chart/utils/path.d.ts.map +1 -0
  406. package/dts/visualizations/chart/utils/point.d.ts +115 -0
  407. package/dts/visualizations/chart/utils/point.d.ts.map +1 -0
  408. package/dts/visualizations/chart/utils/scale.d.ts +54 -0
  409. package/dts/visualizations/chart/utils/scale.d.ts.map +1 -0
  410. package/dts/visualizations/chart/utils/scrubber.d.ts +40 -0
  411. package/dts/visualizations/chart/utils/scrubber.d.ts.map +1 -0
  412. package/dts/visualizations/chart/utils/transition.d.ts +101 -0
  413. package/dts/visualizations/chart/utils/transition.d.ts.map +1 -0
  414. package/dts/visualizations/index.d.ts +2 -0
  415. package/dts/visualizations/index.d.ts.map +1 -1
  416. package/dts/visualizations/sparkline/Counter.d.ts +8 -0
  417. package/dts/visualizations/sparkline/Counter.d.ts.map +1 -0
  418. package/dts/visualizations/sparkline/Sparkline.d.ts +66 -0
  419. package/dts/visualizations/sparkline/Sparkline.d.ts.map +1 -0
  420. package/dts/visualizations/sparkline/SparklineArea.d.ts +14 -0
  421. package/dts/visualizations/sparkline/SparklineArea.d.ts.map +1 -0
  422. package/dts/visualizations/sparkline/SparklineAreaPattern.d.ts +14 -0
  423. package/dts/visualizations/sparkline/SparklineAreaPattern.d.ts.map +1 -0
  424. package/dts/visualizations/sparkline/SparklineGradient.d.ts +22 -0
  425. package/dts/visualizations/sparkline/SparklineGradient.d.ts.map +1 -0
  426. package/dts/visualizations/sparkline/SparklinePath.d.ts +12 -0
  427. package/dts/visualizations/sparkline/SparklinePath.d.ts.map +1 -0
  428. package/dts/visualizations/sparkline/__figma__/Sparkline.figma.d.ts +2 -0
  429. package/dts/visualizations/sparkline/__figma__/Sparkline.figma.d.ts.map +1 -0
  430. package/dts/visualizations/sparkline/generateSparklineWithId.d.ts +11 -0
  431. package/dts/visualizations/sparkline/generateSparklineWithId.d.ts.map +1 -0
  432. package/dts/visualizations/sparkline/index.d.ts +6 -0
  433. package/dts/visualizations/sparkline/index.d.ts.map +1 -0
  434. package/dts/visualizations/sparkline/sparkline-interactive/InnerSparklineInteractiveProvider.d.ts +13 -0
  435. package/dts/visualizations/sparkline/sparkline-interactive/InnerSparklineInteractiveProvider.d.ts.map +1 -0
  436. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractive.d.ts +200 -0
  437. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -0
  438. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.d.ts +26 -0
  439. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.d.ts.map +1 -0
  440. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.d.ts +5 -0
  441. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.d.ts.map +1 -0
  442. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverPrice.d.ts +5 -0
  443. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverPrice.d.ts.map +1 -0
  444. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.d.ts +8 -0
  445. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.d.ts.map +1 -0
  446. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.d.ts +17 -0
  447. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.d.ts.map +1 -0
  448. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePaths.d.ts +25 -0
  449. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePaths.d.ts.map +1 -0
  450. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.d.ts +25 -0
  451. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.d.ts.map +1 -0
  452. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveProvider.d.ts +25 -0
  453. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveProvider.d.ts.map +1 -0
  454. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubHandler.d.ts +30 -0
  455. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubHandler.d.ts.map +1 -0
  456. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubProvider.d.ts +18 -0
  457. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubProvider.d.ts.map +1 -0
  458. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.d.ts +31 -0
  459. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.d.ts.map +1 -0
  460. package/dts/visualizations/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.d.ts +2 -0
  461. package/dts/visualizations/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.d.ts.map +1 -0
  462. package/dts/visualizations/sparkline/sparkline-interactive/fade.d.ts +3 -0
  463. package/dts/visualizations/sparkline/sparkline-interactive/fade.d.ts.map +1 -0
  464. package/dts/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveConstants.d.ts +13 -0
  465. package/dts/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveConstants.d.ts.map +1 -0
  466. package/dts/visualizations/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.d.ts +110 -0
  467. package/dts/visualizations/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.d.ts.map +1 -0
  468. package/dts/visualizations/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.d.ts +2 -0
  469. package/dts/visualizations/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.d.ts.map +1 -0
  470. package/esm/alpha/combobox/DefaultComboboxControl.js +6 -6
  471. package/esm/alpha/select/DefaultSelectControl.js +26 -21
  472. package/esm/alpha/select/DefaultSelectDropdown.js +9 -4
  473. package/esm/alpha/select/DefaultSelectOption.css +1 -1
  474. package/esm/alpha/select/DefaultSelectOption.js +0 -1
  475. package/esm/animation/LottieStatusAnimation.js +1 -1
  476. package/esm/animation/useLottieLoader.js +1 -1
  477. package/esm/banner/Banner.js +119 -86
  478. package/esm/buttons/AvatarButton.css +1 -1
  479. package/esm/buttons/AvatarButton.js +8 -10
  480. package/esm/buttons/Button.css +1 -3
  481. package/esm/buttons/Button.js +26 -12
  482. package/esm/buttons/IconButton.css +1 -3
  483. package/esm/buttons/IconButton.js +23 -13
  484. package/esm/buttons/IconCounterButton.js +14 -6
  485. package/esm/cards/Card.js +5 -0
  486. package/esm/cards/CardMedia.js +6 -10
  487. package/esm/cards/FeatureEntryCard.js +0 -5
  488. package/esm/cards/FeedCard.js +0 -5
  489. package/esm/cards/LikeButton.js +14 -8
  490. package/esm/cards/UpsellCard.js +11 -3
  491. package/esm/cards/__figma__/UpsellCard.figma.js +3 -1
  492. package/esm/carousel/Carousel.js +4 -3
  493. package/esm/carousel/DefaultCarouselPagination.js +10 -4
  494. package/esm/carousel/__figma__/Carousel.figma.js +0 -1
  495. package/esm/cells/Cell.js +48 -9
  496. package/esm/cells/CellAccessory.js +3 -2
  497. package/esm/cells/ContentCellFallback.js +5 -0
  498. package/esm/cells/ListCell.js +8 -3
  499. package/esm/cells/MediaFallback.js +5 -5
  500. package/esm/coachmark/Coachmark.js +3 -2
  501. package/esm/collapsible/Collapsible.js +30 -25
  502. package/esm/controls/CheckboxGroup.js +0 -26
  503. package/esm/controls/Control.js +36 -12
  504. package/esm/controls/HelperText.js +18 -2
  505. package/esm/controls/InputIcon.js +3 -4
  506. package/esm/controls/InputIconButton.js +1 -1
  507. package/esm/controls/InputStack.js +15 -5
  508. package/esm/controls/Radio.css +1 -1
  509. package/esm/controls/Radio.js +1 -1
  510. package/esm/controls/RadioGroup.js +0 -25
  511. package/esm/controls/SearchInput.js +5 -0
  512. package/esm/controls/SegmentedControl.css +1 -1
  513. package/esm/controls/SegmentedControl.js +2 -1
  514. package/esm/controls/SelectOption.js +4 -0
  515. package/esm/controls/Switch.js +34 -10
  516. package/esm/controls/TextInput.js +5 -5
  517. package/esm/controls/selectContext.js +21 -0
  518. package/esm/dates/DateInput.js +3 -4
  519. package/esm/dates/DatePicker.js +2 -2
  520. package/esm/dots/DotCount.css +1 -1
  521. package/esm/dots/DotCount.js +14 -5
  522. package/esm/dots/DotSymbol.js +2 -2
  523. package/esm/hooks/useDimensions.js +1 -1
  524. package/esm/hooks/useResolveResponsiveProp.js +31 -0
  525. package/esm/media/Avatar.js +2 -2
  526. package/esm/media/Hexagon.js +3 -2
  527. package/esm/navigation/NavigationTitleSelect.js +25 -6
  528. package/esm/navigation/SidebarItem.js +43 -13
  529. package/esm/numbers/RollingNumber/DefaultRollingNumberDigit.js +3 -1
  530. package/esm/numbers/RollingNumber/RollingNumber.js +1 -1
  531. package/esm/overlays/Alert.js +3 -3
  532. package/esm/overlays/FocusTrap.js +2 -3
  533. package/esm/overlays/Portal.js +7 -0
  534. package/esm/overlays/PortalProvider.js +20 -0
  535. package/esm/overlays/Toast.js +5 -4
  536. package/esm/overlays/modal/FullscreenModalLayout.js +3 -2
  537. package/esm/overlays/modal/ModalHeader.js +10 -5
  538. package/esm/overlays/overlay/OverlayContent.js +3 -4
  539. package/esm/overlays/popover/usePopper.js +7 -0
  540. package/esm/overlays/tooltip/__figma__/Tooltip.figma.js +5 -3
  541. package/esm/overlays/useModal.js +1 -1
  542. package/esm/stepper/DefaultStepperHeaderHorizontal.js +20 -16
  543. package/esm/stepper/DefaultStepperLabelHorizontal.js +18 -14
  544. package/esm/stepper/DefaultStepperProgressHorizontal.js +19 -7
  545. package/esm/stepper/DefaultStepperProgressVertical.js +50 -38
  546. package/esm/stepper/DefaultStepperStepHorizontal.js +6 -4
  547. package/esm/stepper/DefaultStepperStepVertical.js +5 -5
  548. package/esm/stepper/Stepper.js +59 -66
  549. package/esm/styles/styleProps.js +3 -0
  550. package/esm/system/Interactable.css +1 -1
  551. package/esm/system/Interactable.js +4 -2
  552. package/esm/system/Pressable.css +1 -1
  553. package/esm/system/PressableOpacity.js +2 -2
  554. package/esm/system/ThemeProvider.js +43 -15
  555. package/esm/system/interactableCSSProperties.js +11 -11
  556. package/esm/tabs/Paddle.js +4 -4
  557. package/esm/tabs/SegmentedTab.js +5 -15
  558. package/esm/tabs/TabLabel.js +7 -9
  559. package/esm/tabs/TabNavigation.js +8 -7
  560. package/esm/tabs/Tabs.js +3 -1
  561. package/esm/tour/Tour.js +4 -1
  562. package/esm/tour/TourStep.js +5 -1
  563. package/esm/typography/TextBody.js +15 -0
  564. package/esm/typography/TextCaption.js +15 -0
  565. package/esm/typography/TextDisplay1.js +15 -0
  566. package/esm/typography/TextDisplay2.js +15 -0
  567. package/esm/typography/TextDisplay3.js +15 -0
  568. package/esm/typography/TextHeadline.js +15 -0
  569. package/esm/typography/TextInherited.js +15 -0
  570. package/esm/typography/TextLabel1.js +15 -0
  571. package/esm/typography/TextLabel2.js +15 -0
  572. package/esm/typography/TextLegal.js +15 -0
  573. package/esm/typography/TextTitle1.js +15 -0
  574. package/esm/typography/TextTitle2.js +15 -0
  575. package/esm/typography/TextTitle3.js +15 -0
  576. package/esm/typography/TextTitle4.js +15 -0
  577. package/esm/visualizations/chart/CartesianChart.css +1 -0
  578. package/esm/visualizations/chart/CartesianChart.js +379 -0
  579. package/esm/visualizations/chart/ChartProvider.js +10 -0
  580. package/esm/visualizations/chart/Path.js +125 -0
  581. package/esm/visualizations/chart/PeriodSelector.css +1 -0
  582. package/esm/visualizations/chart/PeriodSelector.js +130 -0
  583. package/esm/visualizations/chart/area/Area.js +85 -0
  584. package/esm/visualizations/chart/area/AreaChart.js +173 -0
  585. package/esm/visualizations/chart/area/DottedArea.js +95 -0
  586. package/esm/visualizations/chart/area/GradientArea.js +72 -0
  587. package/esm/visualizations/chart/area/SolidArea.js +52 -0
  588. package/esm/visualizations/chart/area/index.js +7 -0
  589. package/esm/visualizations/chart/axis/Axis.js +11 -0
  590. package/esm/visualizations/chart/axis/DefaultAxisTickLabel.js +15 -0
  591. package/esm/visualizations/chart/axis/XAxis.css +2 -0
  592. package/esm/visualizations/chart/axis/XAxis.js +315 -0
  593. package/esm/visualizations/chart/axis/YAxis.css +2 -0
  594. package/esm/visualizations/chart/axis/YAxis.js +316 -0
  595. package/esm/visualizations/chart/axis/index.js +6 -0
  596. package/esm/visualizations/chart/bar/Bar.js +69 -0
  597. package/esm/visualizations/chart/bar/BarChart.js +128 -0
  598. package/esm/visualizations/chart/bar/BarPlot.js +92 -0
  599. package/esm/visualizations/chart/bar/BarStack.js +173 -0
  600. package/esm/visualizations/chart/bar/BarStackGroup.js +95 -0
  601. package/esm/visualizations/chart/bar/DefaultBar.js +82 -0
  602. package/esm/visualizations/chart/bar/DefaultBarStack.js +71 -0
  603. package/esm/visualizations/chart/bar/PercentageBarChart.js +102 -0
  604. package/esm/visualizations/chart/bar/index.js +10 -0
  605. package/esm/visualizations/chart/gradient/Gradient.js +106 -0
  606. package/esm/visualizations/chart/gradient/index.js +1 -0
  607. package/esm/visualizations/chart/index.js +16 -0
  608. package/esm/visualizations/chart/legend/DefaultLegendEntry.css +1 -0
  609. package/esm/visualizations/chart/legend/DefaultLegendEntry.js +50 -0
  610. package/esm/visualizations/chart/legend/DefaultLegendShape.css +5 -0
  611. package/esm/visualizations/chart/legend/DefaultLegendShape.js +47 -0
  612. package/esm/visualizations/chart/legend/Legend.js +76 -0
  613. package/esm/visualizations/chart/legend/index.js +3 -0
  614. package/esm/visualizations/chart/line/DefaultReferenceLineLabel.js +81 -0
  615. package/esm/visualizations/chart/line/DottedLine.js +64 -0
  616. package/esm/visualizations/chart/line/Line.js +183 -0
  617. package/esm/visualizations/chart/line/LineChart.js +142 -0
  618. package/esm/visualizations/chart/line/ReferenceLine.js +144 -0
  619. package/esm/visualizations/chart/line/SolidLine.js +60 -0
  620. package/esm/visualizations/chart/line/index.js +8 -0
  621. package/esm/visualizations/chart/point/DefaultPointLabel.js +45 -0
  622. package/esm/visualizations/chart/point/Point.css +2 -0
  623. package/esm/visualizations/chart/point/Point.js +201 -0
  624. package/esm/visualizations/chart/point/index.js +2 -0
  625. package/esm/visualizations/chart/scrubber/DefaultScrubberBeacon.js +154 -0
  626. package/esm/visualizations/chart/scrubber/DefaultScrubberBeaconLabel.js +57 -0
  627. package/esm/visualizations/chart/scrubber/DefaultScrubberLabel.js +48 -0
  628. package/esm/visualizations/chart/scrubber/Scrubber.js +200 -0
  629. package/esm/visualizations/chart/scrubber/ScrubberBeaconGroup.js +190 -0
  630. package/esm/visualizations/chart/scrubber/ScrubberBeaconLabelGroup.js +209 -0
  631. package/esm/visualizations/chart/scrubber/ScrubberProvider.js +233 -0
  632. package/esm/visualizations/chart/scrubber/index.js +4 -0
  633. package/esm/visualizations/chart/text/ChartText.js +231 -0
  634. package/esm/visualizations/chart/text/ChartTextGroup.js +227 -0
  635. package/esm/visualizations/chart/text/index.js +4 -0
  636. package/esm/visualizations/chart/utils/axis.js +666 -0
  637. package/esm/visualizations/chart/utils/bar.js +952 -0
  638. package/esm/visualizations/chart/utils/chart.js +314 -0
  639. package/esm/visualizations/chart/utils/context.js +22 -0
  640. package/esm/visualizations/chart/utils/gradient.js +270 -0
  641. package/esm/visualizations/chart/utils/index.js +13 -0
  642. package/esm/visualizations/chart/utils/interpolate.js +644 -0
  643. package/esm/visualizations/chart/utils/path.js +254 -0
  644. package/esm/visualizations/chart/utils/point.js +214 -0
  645. package/esm/visualizations/chart/utils/scale.js +59 -0
  646. package/esm/visualizations/chart/utils/scrubber.js +137 -0
  647. package/esm/visualizations/chart/utils/transition.js +132 -0
  648. package/esm/visualizations/index.js +3 -1
  649. package/esm/visualizations/sparkline/Counter.css +3 -0
  650. package/esm/visualizations/sparkline/Counter.js +35 -0
  651. package/esm/visualizations/sparkline/Sparkline.js +165 -0
  652. package/esm/visualizations/sparkline/SparklineArea.js +19 -0
  653. package/esm/visualizations/sparkline/SparklineAreaPattern.js +37 -0
  654. package/esm/visualizations/sparkline/SparklineGradient.js +31 -0
  655. package/esm/visualizations/sparkline/SparklinePath.js +19 -0
  656. package/esm/visualizations/sparkline/__figma__/Sparkline.figma.js +24 -0
  657. package/esm/visualizations/sparkline/generateSparklineWithId.js +7 -0
  658. package/esm/visualizations/sparkline/index.js +5 -0
  659. package/esm/visualizations/sparkline/sparkline-interactive/InnerSparklineInteractiveProvider.js +21 -0
  660. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractive.js +318 -0
  661. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.js +108 -0
  662. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.css +2 -0
  663. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.js +27 -0
  664. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverPrice.css +2 -0
  665. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverPrice.js +25 -0
  666. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.css +4 -0
  667. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.js +65 -0
  668. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.css +1 -0
  669. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.js +85 -0
  670. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractivePaths.js +56 -0
  671. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.js +71 -0
  672. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveProvider.js +45 -0
  673. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubHandler.css +5 -0
  674. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubHandler.js +201 -0
  675. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubProvider.js +39 -0
  676. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.js +92 -0
  677. package/esm/visualizations/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.js +89 -0
  678. package/esm/visualizations/sparkline/sparkline-interactive/fade.css +2 -0
  679. package/esm/visualizations/sparkline/sparkline-interactive/fade.js +15 -0
  680. package/esm/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveConstants.js +28 -0
  681. package/esm/visualizations/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.js +226 -0
  682. package/esm/visualizations/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.js +108 -0
  683. package/package.json +23 -10
@@ -0,0 +1,314 @@
1
+ import { stack as d3Stack, stackOffsetDiverging, stackOrderNone } from 'd3-shape';
2
+ import { defaultAxisId } from './axis';
3
+ export const defaultStackId = 'DEFAULT_STACK_ID';
4
+
5
+ /**
6
+ * Shape variants available for legend items.
7
+ */
8
+
9
+ /**
10
+ * Shape for legend items. Can be a preset variant or a custom ReactNode.
11
+ */
12
+
13
+ /**
14
+ * Position of the legend relative to the chart.
15
+ */
16
+
17
+ /**
18
+ * Type guard to check if bounds are complete with both min and max values.
19
+ * @param bounds - The bounds to validate
20
+ * @returns True if bounds has both min and max defined
21
+ */
22
+ export const isValidBounds = bounds => bounds.min !== undefined && bounds.max !== undefined;
23
+ /**
24
+ * Calculates the domain of a chart from series data.
25
+ * Domain represents the range of x-values from the data.
26
+ */
27
+ export const getChartDomain = (series, min, max) => {
28
+ const domain = {
29
+ min,
30
+ max
31
+ };
32
+ if (domain.min !== undefined && domain.max !== undefined) {
33
+ return domain;
34
+ }
35
+ if (series.length > 0) {
36
+ const dataLength = Math.max(...series.map(s => {
37
+ var _s$data;
38
+ return ((_s$data = s.data) === null || _s$data === void 0 ? void 0 : _s$data.length) || 0;
39
+ }));
40
+ if (dataLength > 0) {
41
+ if (domain.min === undefined) domain.min = 0;
42
+ if (domain.max === undefined) domain.max = dataLength - 1;
43
+ }
44
+ }
45
+ return domain;
46
+ };
47
+
48
+ /**
49
+ * Creates a composite stack key that includes stack ID and axis IDs.
50
+ * This ensures series with different scales don't get stacked together.
51
+ */
52
+ const createStackKey = series => {
53
+ if (series.stackId === undefined) return undefined;
54
+
55
+ // Include axis IDs to prevent cross-scale stacking
56
+ const xAxisId = series.xAxisId || 'default';
57
+ const yAxisId = series.yAxisId || 'default';
58
+ return "".concat(series.stackId, ":").concat(xAxisId, ":").concat(yAxisId);
59
+ };
60
+
61
+ /**
62
+ * Get the baseline for a series on the value axis for a series (stacking and plain numeric points).
63
+ * @returns The baseline for the series on the value axis, or `0` if none.
64
+ */
65
+ const getValueAxisBaselineForSeries = (layout, series, xAxisConfigs, yAxisConfigs) => {
66
+ var _series$yAxisId, _yAxisConfigs$find$ba, _yAxisConfigs$find;
67
+ if (layout === 'horizontal') {
68
+ var _series$xAxisId, _xAxisConfigs$find$ba, _xAxisConfigs$find;
69
+ const seriesAxisId = (_series$xAxisId = series.xAxisId) !== null && _series$xAxisId !== void 0 ? _series$xAxisId : defaultAxisId;
70
+ return (_xAxisConfigs$find$ba = (_xAxisConfigs$find = xAxisConfigs.find(a => a.id === seriesAxisId)) === null || _xAxisConfigs$find === void 0 ? void 0 : _xAxisConfigs$find.baseline) !== null && _xAxisConfigs$find$ba !== void 0 ? _xAxisConfigs$find$ba : 0;
71
+ }
72
+ const seriesAxisId = (_series$yAxisId = series.yAxisId) !== null && _series$yAxisId !== void 0 ? _series$yAxisId : defaultAxisId;
73
+ return (_yAxisConfigs$find$ba = (_yAxisConfigs$find = yAxisConfigs.find(a => a.id === seriesAxisId)) === null || _yAxisConfigs$find === void 0 ? void 0 : _yAxisConfigs$find.baseline) !== null && _yAxisConfigs$find$ba !== void 0 ? _yAxisConfigs$find$ba : 0;
74
+ };
75
+
76
+ /**
77
+ * Transforms series data into stacked data using D3's stack algorithm.
78
+ * Returns a map of series ID to transformed [baseline, value] tuples.
79
+ *
80
+ * @param series - Array of series with potential stack properties
81
+ * @param layout - When set with axis configs, value-axis baselines are resolved for stacking
82
+ * @returns Map of series ID to stacked data arrays
83
+ */
84
+ export const getStackedSeriesData = (series, layout, xAxisConfigs, yAxisConfigs) => {
85
+ const stackedDataMap = new Map();
86
+ const numericStackGroups = new Map();
87
+ const individualSeries = [];
88
+ const normalizeSeriesData = seriesItem => {
89
+ if (!seriesItem.data) return;
90
+ const baseline = getValueAxisBaselineForSeries(layout, seriesItem, xAxisConfigs, yAxisConfigs);
91
+ return seriesItem.data.map(val => {
92
+ if (val === null) return null;
93
+ if (Array.isArray(val)) {
94
+ return val;
95
+ }
96
+ if (typeof val === 'number') return [baseline, val];
97
+ return null;
98
+ });
99
+ };
100
+ series.forEach(s => {
101
+ var _s$data2;
102
+ const stackKey = createStackKey(s);
103
+ const hasTupleData = (_s$data2 = s.data) === null || _s$data2 === void 0 ? void 0 : _s$data2.some(val => Array.isArray(val));
104
+ if (hasTupleData || stackKey === undefined) {
105
+ individualSeries.push(s);
106
+ } else {
107
+ if (!numericStackGroups.has(stackKey)) {
108
+ numericStackGroups.set(stackKey, []);
109
+ }
110
+ numericStackGroups.get(stackKey).push(s);
111
+ }
112
+ });
113
+ individualSeries.forEach(s => {
114
+ const normalizedData = normalizeSeriesData(s);
115
+ if (!normalizedData) return;
116
+ stackedDataMap.set(s.id, normalizedData);
117
+ });
118
+ numericStackGroups.forEach(groupSeries => {
119
+ // A lone series with stackId should still behave like a non-stacked series.
120
+ if (groupSeries.length < 2) {
121
+ groupSeries.forEach(singleSeries => {
122
+ const normalizedData = normalizeSeriesData(singleSeries);
123
+ if (!normalizedData) return;
124
+ stackedDataMap.set(singleSeries.id, normalizedData);
125
+ });
126
+ return;
127
+ }
128
+ const maxLength = Math.max(...groupSeries.map(s => {
129
+ var _s$data3;
130
+ return ((_s$data3 = s.data) === null || _s$data3 === void 0 ? void 0 : _s$data3.length) || 0;
131
+ }));
132
+ if (maxLength === 0) return;
133
+ const first = groupSeries[0];
134
+ const groupBaseline = getValueAxisBaselineForSeries(layout, first, xAxisConfigs, yAxisConfigs);
135
+ const dataset = new Array(maxLength).fill(undefined).map((_, i) => {
136
+ const row = {};
137
+ for (const s of groupSeries) {
138
+ var _s$data4;
139
+ const val = (_s$data4 = s.data) === null || _s$data4 === void 0 ? void 0 : _s$data4[i];
140
+ // Stack around baseline by translating values into baseline-relative deltas.
141
+ const num = typeof val === 'number' ? val - groupBaseline : 0;
142
+ row[s.id] = num;
143
+ }
144
+ return row;
145
+ });
146
+ const keys = groupSeries.map(s => s.id);
147
+ const stackedSeries = d3Stack().keys(keys).order(stackOrderNone).offset(stackOffsetDiverging)(dataset);
148
+ stackedSeries.forEach((layer, layerIndex) => {
149
+ const seriesId = keys[layerIndex];
150
+ const stackedData = layer.map(_ref => {
151
+ let [bottom, top] = _ref;
152
+ return [bottom + groupBaseline, top + groupBaseline];
153
+ });
154
+ stackedDataMap.set(seriesId, stackedData);
155
+ });
156
+ });
157
+ return stackedDataMap;
158
+ };
159
+
160
+ /**
161
+ * Extracts line data values from series data that may contain tuples.
162
+ * For tuple data [[baseline, value]], extracts the last value.
163
+ * For numeric data [value], returns as-is.
164
+ *
165
+ * @param data - Array of numbers, tuples, or null values
166
+ * @returns Array of numbers or null values
167
+ */
168
+ export const getLineData = data => {
169
+ if (!data) return [];
170
+
171
+ // Check if this is tuple data by finding first non-null entry
172
+ const firstNonNull = data.find(d => d !== null);
173
+ if (Array.isArray(firstNonNull)) {
174
+ return data.map(d => {
175
+ var _d;
176
+ if (d === null) return null;
177
+ if (Array.isArray(d)) return (_d = d[d.length - 1]) !== null && _d !== void 0 ? _d : null;
178
+ return d;
179
+ });
180
+ }
181
+
182
+ // Already numeric data
183
+ return data;
184
+ };
185
+
186
+ /**
187
+ * Calculates the range of a chart from series data.
188
+ * Range represents the range of y-values from the data.
189
+ * Handles stacking by transforming data when series have stack properties.
190
+ */
191
+ export const getChartRange = (series, layout, xAxisConfigs, yAxisConfigs, min, max) => {
192
+ const range = {
193
+ min,
194
+ max
195
+ };
196
+ if (range.min !== undefined && range.max !== undefined) {
197
+ return range;
198
+ }
199
+ if (series.length === 0) {
200
+ return range;
201
+ }
202
+
203
+ // Group series by composite stack key for proper calculation
204
+ const stackGroups = new Map();
205
+ series.forEach(s => {
206
+ const stackKey = createStackKey(s);
207
+ if (!stackGroups.has(stackKey)) {
208
+ stackGroups.set(stackKey, []);
209
+ }
210
+ stackGroups.get(stackKey).push(s);
211
+ });
212
+
213
+ // Check if we have any stacked series
214
+ const hasStacks = Array.from(stackGroups.keys()).some(k => k !== undefined);
215
+ if (hasStacks) {
216
+ // Get stacked data using the shared function
217
+ const stackedDataMap = getStackedSeriesData(series, layout, xAxisConfigs, yAxisConfigs);
218
+
219
+ // Find the extreme values from the stacked data
220
+ let stackedMax = -Infinity;
221
+ let stackedMin = Infinity;
222
+ stackedDataMap.forEach(stackedData => {
223
+ stackedData.forEach(point => {
224
+ if (point !== null) {
225
+ const [bottom, top] = point;
226
+ if (top > stackedMax) stackedMax = top;
227
+ if (bottom < stackedMin) stackedMin = bottom;
228
+ }
229
+ });
230
+ });
231
+
232
+ // Don't add padding - let D3's nice() function handle axis padding
233
+ if (range.min === undefined) range.min = stackedMin === Infinity ? 0 : stackedMin;
234
+ if (range.max === undefined) range.max = stackedMax === -Infinity ? 0 : stackedMax;
235
+ } else {
236
+ // No stacking, calculate range from raw values
237
+ const allValues = [];
238
+ series.forEach(s => {
239
+ if (s.data) {
240
+ s.data.forEach(point => {
241
+ if (typeof point === 'number') {
242
+ allValues.push(point);
243
+ } else if (Array.isArray(point)) {
244
+ // Filter out null values from tuples
245
+ const validValues = point.filter(val => val !== null);
246
+ allValues.push(...validValues);
247
+ }
248
+ });
249
+ }
250
+ });
251
+ if (allValues.length > 0) {
252
+ const minValue = Math.min(...allValues);
253
+ const maxValue = Math.max(...allValues);
254
+ if (range.min === undefined) range.min = minValue;
255
+ if (range.max === undefined) range.max = maxValue;
256
+ }
257
+ }
258
+ return range;
259
+ };
260
+ export const defaultVerticalLayoutChartInset = {
261
+ top: 32,
262
+ left: 16,
263
+ bottom: 16,
264
+ right: 16
265
+ };
266
+ export const defaultHorizontalLayoutChartInset = {
267
+ top: 16,
268
+ left: 16,
269
+ bottom: 16,
270
+ right: 48
271
+ };
272
+
273
+ /**
274
+ * @deprecated Use `defaultVerticalLayoutChartInset` for vertical layout charts or. This will be removed in a future major release.
275
+ * @deprecationExpectedRemoval v4
276
+ * `defaultHorizontalLayoutChartInset` for horizontal layout charts.
277
+ */
278
+ export const defaultChartInset = defaultVerticalLayoutChartInset;
279
+
280
+ /**
281
+ * Normalize padding to include all sides with a value.
282
+ * @param padding - The padding to get.
283
+ * @param defaults - Optional complete default values to use instead of 0.
284
+ * @returns The calculated padding.
285
+ */
286
+ /**
287
+ * Normalize inset to include all sides with a value.
288
+ * @param inset - The inset to get.
289
+ * @param defaults - Optional complete default values to use instead of 0.
290
+ * @returns The calculated inset.
291
+ */
292
+ export const getChartInset = (inset, defaults) => {
293
+ var _inset$top, _inset$left, _inset$bottom, _inset$right;
294
+ const baseDefaults = defaults !== null && defaults !== void 0 ? defaults : {
295
+ top: 0,
296
+ left: 0,
297
+ bottom: 0,
298
+ right: 0
299
+ };
300
+ if (typeof inset === 'number') {
301
+ return {
302
+ top: inset,
303
+ left: inset,
304
+ bottom: inset,
305
+ right: inset
306
+ };
307
+ }
308
+ return {
309
+ top: (_inset$top = inset === null || inset === void 0 ? void 0 : inset.top) !== null && _inset$top !== void 0 ? _inset$top : baseDefaults.top,
310
+ left: (_inset$left = inset === null || inset === void 0 ? void 0 : inset.left) !== null && _inset$left !== void 0 ? _inset$left : baseDefaults.left,
311
+ bottom: (_inset$bottom = inset === null || inset === void 0 ? void 0 : inset.bottom) !== null && _inset$bottom !== void 0 ? _inset$bottom : baseDefaults.bottom,
312
+ right: (_inset$right = inset === null || inset === void 0 ? void 0 : inset.right) !== null && _inset$right !== void 0 ? _inset$right : baseDefaults.right
313
+ };
314
+ };
@@ -0,0 +1,22 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ /**
4
+ * Chart layout for Cartesian charts.
5
+ * Describes the direction bars/areas grow.
6
+ * - 'vertical': Bars grow vertically (up/down). X is category axis, Y is value axis.
7
+ * - 'horizontal': Bars grow horizontally (left/right). Y is category axis, X is value axis.
8
+ */
9
+
10
+ /**
11
+ * Context value for Cartesian (X/Y) coordinate charts.
12
+ * Contains axis-specific methods and properties for rectangular coordinate systems.
13
+ */
14
+
15
+ export const ScrubberContext = /*#__PURE__*/createContext(undefined);
16
+ export const useScrubberContext = () => {
17
+ const context = useContext(ScrubberContext);
18
+ if (!context) {
19
+ throw new Error('useScrubberContext must be used within a Chart component');
20
+ }
21
+ return context;
22
+ };
@@ -0,0 +1,270 @@
1
+ import { isCategoricalScale } from './scale';
2
+
3
+ /**
4
+ * Defines a color transition point in the gradient
5
+ */
6
+
7
+ /**
8
+ * Defines a gradient.
9
+ */
10
+
11
+ /**
12
+ * Resolves the axis used for gradient processing.
13
+ */
14
+ export const getGradientAxis = (gradient, layout) => {
15
+ var _gradient$axis;
16
+ return (_gradient$axis = gradient.axis) !== null && _gradient$axis !== void 0 ? _gradient$axis : layout === 'horizontal' ? 'x' : 'y';
17
+ };
18
+
19
+ /**
20
+ * Resolves gradient stops, handling both static arrays and function forms.
21
+ * When stops is a function, calls it with the domain bounds.
22
+ */
23
+ const getGradientStops = (stops, domain) => {
24
+ if (typeof stops === 'function') {
25
+ return stops(domain);
26
+ }
27
+ return stops;
28
+ };
29
+
30
+ /**
31
+ * Processes Gradient to gradient configuration for SVG linearGradient.
32
+ * Colors are smoothly interpolated between stops by the browser.
33
+ * Multiple stops at the same offset create hard color transitions.
34
+ */
35
+ const processGradientStops = (stops, scale) => {
36
+ if (stops.length === 0) {
37
+ console.warn('Gradient has no stops - falling back to default');
38
+ return;
39
+ }
40
+
41
+ // Check if stops are in ascending order
42
+ const isOutOfOrder = stops.some((stop, i) => {
43
+ return i > 0 && stop.offset < stops[i - 1].offset;
44
+ });
45
+ if (isOutOfOrder) {
46
+ console.warn("Gradient: stop offsets must be in ascending order");
47
+ return;
48
+ }
49
+ const [rangeMin, rangeMax] = scale.range();
50
+ const rangeSpan = Math.abs(rangeMax - rangeMin);
51
+
52
+ // Convert data value offsets to normalized positions (0-1) using scale
53
+ const normalizedStops = stops.map(stop => {
54
+ var _stop$opacity;
55
+ const stopPosition = scale(stop.offset);
56
+ const normalized = stopPosition === undefined ? 0 : Math.max(0, Math.min(1, Math.abs(stopPosition - rangeMin) / rangeSpan));
57
+ return {
58
+ offset: normalized,
59
+ // Now 0-1 normalized (not data space)
60
+ color: stop.color,
61
+ opacity: (_stop$opacity = stop.opacity) !== null && _stop$opacity !== void 0 ? _stop$opacity : 1
62
+ };
63
+ }).sort((a, b) => a.offset - b.offset);
64
+ return normalizedStops;
65
+ };
66
+
67
+ /**
68
+ * Evaluates the color at a specific data value based on the gradient stops, ignoring opacity.
69
+ * @param stops - The gradient stops configuration
70
+ * @param dataValue - The data value to evaluate (for band scales, this is the index)
71
+ * @param scale - The scale to use for value mapping (handles log scales correctly)
72
+ * @returns The color string at this data value, or undefined if invalid
73
+ */
74
+ export const evaluateGradientAtValue = (stops, dataValue, scale) => {
75
+ if (stops.length === 0) return;
76
+
77
+ // Use srgb color space to match our linearGradient which uses srgb color space
78
+ // https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty
79
+ const colorSpace = 'srgb';
80
+
81
+ // Use scale to map values to positions (handles log scales correctly)
82
+ // For numeric scales: scale(value) returns pixel position
83
+ // We normalize these positions to 0-1 based on the range
84
+ const scaleRange = scale.range();
85
+ const [rangeMin, rangeMax] = Array.isArray(scaleRange) ? scaleRange : [scaleRange, scaleRange]; // fallback for band scales
86
+
87
+ const rangeSpan = Math.abs(rangeMax - rangeMin);
88
+ if (rangeSpan === 0) return stops[0].color;
89
+
90
+ // Map dataValue through scale to get position
91
+ const dataPosition = scale(dataValue);
92
+ if (dataPosition === undefined) return stops[0].color;
93
+
94
+ // Normalize to 0-1 based on range
95
+ const normalizedValue = Math.max(0, Math.min(1, Math.abs(dataPosition - rangeMin) / rangeSpan));
96
+
97
+ // stops already have normalized offsets (0-1), use them directly
98
+ const positions = stops.map(stop => stop.offset);
99
+
100
+ // Find which segment we're in
101
+ if (normalizedValue < positions[0]) {
102
+ return stops[0].color;
103
+ }
104
+ if (normalizedValue >= positions[positions.length - 1]) {
105
+ return stops[stops.length - 1].color;
106
+ }
107
+
108
+ // Check if normalizedValue matches any stop offset exactly (for hard transitions)
109
+ for (let i = 0; i < stops.length; i++) {
110
+ if (Math.abs(normalizedValue - stops[i].offset) < 1e-10) {
111
+ // Found exact match - check if there are multiple stops at this offset (hard transition)
112
+ // Use the LAST color at this offset for hard transitions
113
+ let lastIndexAtOffset = i;
114
+ while (lastIndexAtOffset + 1 < stops.length && Math.abs(stops[lastIndexAtOffset + 1].offset - stops[i].offset) < 1e-10) {
115
+ lastIndexAtOffset++;
116
+ }
117
+ return stops[lastIndexAtOffset].color;
118
+ }
119
+ }
120
+
121
+ // Find the two colors to mix based on normalized positions
122
+ for (let i = 0; i < positions.length - 1; i++) {
123
+ const start = positions[i];
124
+ const end = positions[i + 1];
125
+ if (normalizedValue >= start && normalizedValue <= end) {
126
+ const segmentProgress = (normalizedValue - start) / (end - start);
127
+ return "color-mix(in ".concat(colorSpace, ", ").concat(stops[i + 1].color, " ").concat(segmentProgress * 100, "%, ").concat(stops[i].color, ")");
128
+ }
129
+ }
130
+
131
+ // If we didn't reach any to be mixed, return the last color
132
+ return stops[stops.length - 1].color;
133
+ };
134
+
135
+ /**
136
+ * Creates a gradient configuration for SVG components.
137
+ * Processes a GradientDefinition into a renderable GradientConfig.
138
+ * Supports both numeric scales (linear, log) and categorical scales (band).
139
+ *
140
+ * @param gradient - GradientDefinition configuration
141
+ * @param xScale - X-axis scale
142
+ * @param yScale - Y-axis scale
143
+ * @param layout - Chart layout
144
+ * @returns GradientConfig or null if gradient processing fails
145
+ *
146
+ * @example
147
+ * const gradientConfig = useMemo(() => {
148
+ * if (!gradient || !xScale || !yScale) return;
149
+ * return getGradientConfig(gradient, xScale, yScale);
150
+ * }, [gradient, xScale, yScale]);
151
+ *
152
+ * if (gradientConfig) {
153
+ * return (
154
+ * <defs>
155
+ * <Gradient
156
+ * config={gradientConfig}
157
+ * direction={gradient.axis === 'x' ? 'horizontal' : 'vertical'}
158
+ * id={gradientId}
159
+ * />
160
+ * </defs>
161
+ * );
162
+ * }
163
+ */
164
+ export const getGradientConfig = function (gradient, xScale, yScale) {
165
+ let layout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'vertical';
166
+ if (!gradient) return;
167
+
168
+ // Get the scale based on axis
169
+ const axis = getGradientAxis(gradient, layout);
170
+ const scale = axis === 'x' ? xScale : yScale;
171
+ if (!scale) return;
172
+
173
+ // Extract domain from scale
174
+ const scaleDomain = scale.domain();
175
+ let domain;
176
+ if (isCategoricalScale(scale)) {
177
+ const domainArray = scaleDomain;
178
+ domain = {
179
+ min: domainArray[0],
180
+ max: domainArray[domainArray.length - 1]
181
+ };
182
+ } else {
183
+ const [min, max] = scaleDomain;
184
+ domain = {
185
+ min,
186
+ max
187
+ };
188
+ }
189
+ const resolvedStops = getGradientStops(gradient.stops, domain);
190
+ return processGradientStops(resolvedStops, scale);
191
+ };
192
+
193
+ /**
194
+ * Determines the baseline value for the gradient area by finding the value
195
+ * within the axis bounds that is closest to the target baseline.
196
+ *
197
+ * @param axisBounds - The min and max bounds of the axis
198
+ * @param baseline - The target baseline value (defaults to 0)
199
+ * @returns The value within bounds closest to the baseline
200
+ */
201
+ export const getBaseline = function (axisBounds) {
202
+ let baseline = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
203
+ const {
204
+ min,
205
+ max
206
+ } = axisBounds;
207
+
208
+ // Normalize to ensure lowerBound <= upperBound
209
+ const lowerBound = Math.min(min, max);
210
+ const upperBound = Math.max(min, max);
211
+
212
+ // If baseline is within the range, use it
213
+ if (lowerBound <= baseline && baseline <= upperBound) return baseline;
214
+
215
+ // Otherwise, return the bound closest to baseline
216
+ return Math.abs(lowerBound - baseline) < Math.abs(upperBound - baseline) ? lowerBound : upperBound;
217
+ };
218
+
219
+ /**
220
+ * Generates a gradient definition for the area chart based on the axis bounds
221
+ * and styling parameters. Ensures gradient stops are in ascending order.
222
+ *
223
+ * @param axisBounds - The min and max bounds of the axis
224
+ * @param baselineValue - The baseline value for the gradient
225
+ * @param fill - The color to use for the gradient
226
+ * @param peakOpacity - Opacity at the peak of the gradient
227
+ * @param baselineOpacity - Opacity at the baseline
228
+ * @param axis - The axis the gradient maps to ('y' for vertical, 'x' for horizontal layout)
229
+ * @returns A gradient definition with stops in ascending order
230
+ */
231
+ export const createGradient = function (axisBounds, baselineValue, fill, peakOpacity, baselineOpacity) {
232
+ let axis = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'y';
233
+ const {
234
+ min,
235
+ max
236
+ } = axisBounds;
237
+ const lowerBound = Math.min(min, max);
238
+ const upperBound = Math.max(min, max);
239
+ if (lowerBound < baselineValue && baselineValue < upperBound) {
240
+ return {
241
+ axis,
242
+ stops: [{
243
+ offset: lowerBound,
244
+ color: fill,
245
+ opacity: peakOpacity
246
+ }, {
247
+ offset: baselineValue,
248
+ color: fill,
249
+ opacity: baselineOpacity
250
+ }, {
251
+ offset: upperBound,
252
+ color: fill,
253
+ opacity: peakOpacity
254
+ }]
255
+ };
256
+ }
257
+ const peakValue = Math.abs(min - baselineValue) > Math.abs(max - baselineValue) ? min : max;
258
+ return {
259
+ axis,
260
+ stops: [{
261
+ offset: peakValue,
262
+ color: fill,
263
+ opacity: peakOpacity
264
+ }, {
265
+ offset: baselineValue,
266
+ color: fill,
267
+ opacity: baselineOpacity
268
+ }].sort((a, b) => a.offset - b.offset)
269
+ };
270
+ };
@@ -0,0 +1,13 @@
1
+ // codegen:start {preset: barrel, include: ./*.ts, exclude: ./__tests__/*.ts}
2
+ export * from './axis';
3
+ export * from './bar';
4
+ export * from './chart';
5
+ export * from './context';
6
+ export * from './gradient';
7
+ export * from './interpolate';
8
+ export * from './path';
9
+ export * from './point';
10
+ export * from './scale';
11
+ export * from './scrubber';
12
+ export * from './transition';
13
+ // codegen:end