@coinbase/cds-web 8.66.2 → 9.0.0-rc.2

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 (682) hide show
  1. package/CHANGELOG.md +10 -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/TabLabel.js +7 -9
  558. package/esm/tabs/TabNavigation.js +8 -7
  559. package/esm/tabs/Tabs.js +3 -1
  560. package/esm/tour/Tour.js +4 -1
  561. package/esm/tour/TourStep.js +5 -1
  562. package/esm/typography/TextBody.js +15 -0
  563. package/esm/typography/TextCaption.js +15 -0
  564. package/esm/typography/TextDisplay1.js +15 -0
  565. package/esm/typography/TextDisplay2.js +15 -0
  566. package/esm/typography/TextDisplay3.js +15 -0
  567. package/esm/typography/TextHeadline.js +15 -0
  568. package/esm/typography/TextInherited.js +15 -0
  569. package/esm/typography/TextLabel1.js +15 -0
  570. package/esm/typography/TextLabel2.js +15 -0
  571. package/esm/typography/TextLegal.js +15 -0
  572. package/esm/typography/TextTitle1.js +15 -0
  573. package/esm/typography/TextTitle2.js +15 -0
  574. package/esm/typography/TextTitle3.js +15 -0
  575. package/esm/typography/TextTitle4.js +15 -0
  576. package/esm/visualizations/chart/CartesianChart.css +1 -0
  577. package/esm/visualizations/chart/CartesianChart.js +379 -0
  578. package/esm/visualizations/chart/ChartProvider.js +10 -0
  579. package/esm/visualizations/chart/Path.js +125 -0
  580. package/esm/visualizations/chart/PeriodSelector.css +1 -0
  581. package/esm/visualizations/chart/PeriodSelector.js +130 -0
  582. package/esm/visualizations/chart/area/Area.js +85 -0
  583. package/esm/visualizations/chart/area/AreaChart.js +173 -0
  584. package/esm/visualizations/chart/area/DottedArea.js +95 -0
  585. package/esm/visualizations/chart/area/GradientArea.js +72 -0
  586. package/esm/visualizations/chart/area/SolidArea.js +52 -0
  587. package/esm/visualizations/chart/area/index.js +7 -0
  588. package/esm/visualizations/chart/axis/Axis.js +11 -0
  589. package/esm/visualizations/chart/axis/DefaultAxisTickLabel.js +15 -0
  590. package/esm/visualizations/chart/axis/XAxis.css +2 -0
  591. package/esm/visualizations/chart/axis/XAxis.js +315 -0
  592. package/esm/visualizations/chart/axis/YAxis.css +2 -0
  593. package/esm/visualizations/chart/axis/YAxis.js +316 -0
  594. package/esm/visualizations/chart/axis/index.js +6 -0
  595. package/esm/visualizations/chart/bar/Bar.js +69 -0
  596. package/esm/visualizations/chart/bar/BarChart.js +128 -0
  597. package/esm/visualizations/chart/bar/BarPlot.js +92 -0
  598. package/esm/visualizations/chart/bar/BarStack.js +173 -0
  599. package/esm/visualizations/chart/bar/BarStackGroup.js +95 -0
  600. package/esm/visualizations/chart/bar/DefaultBar.js +82 -0
  601. package/esm/visualizations/chart/bar/DefaultBarStack.js +71 -0
  602. package/esm/visualizations/chart/bar/PercentageBarChart.js +102 -0
  603. package/esm/visualizations/chart/bar/index.js +10 -0
  604. package/esm/visualizations/chart/gradient/Gradient.js +106 -0
  605. package/esm/visualizations/chart/gradient/index.js +1 -0
  606. package/esm/visualizations/chart/index.js +16 -0
  607. package/esm/visualizations/chart/legend/DefaultLegendEntry.css +1 -0
  608. package/esm/visualizations/chart/legend/DefaultLegendEntry.js +50 -0
  609. package/esm/visualizations/chart/legend/DefaultLegendShape.css +5 -0
  610. package/esm/visualizations/chart/legend/DefaultLegendShape.js +47 -0
  611. package/esm/visualizations/chart/legend/Legend.js +76 -0
  612. package/esm/visualizations/chart/legend/index.js +3 -0
  613. package/esm/visualizations/chart/line/DefaultReferenceLineLabel.js +81 -0
  614. package/esm/visualizations/chart/line/DottedLine.js +64 -0
  615. package/esm/visualizations/chart/line/Line.js +183 -0
  616. package/esm/visualizations/chart/line/LineChart.js +142 -0
  617. package/esm/visualizations/chart/line/ReferenceLine.js +144 -0
  618. package/esm/visualizations/chart/line/SolidLine.js +60 -0
  619. package/esm/visualizations/chart/line/index.js +8 -0
  620. package/esm/visualizations/chart/point/DefaultPointLabel.js +45 -0
  621. package/esm/visualizations/chart/point/Point.css +2 -0
  622. package/esm/visualizations/chart/point/Point.js +201 -0
  623. package/esm/visualizations/chart/point/index.js +2 -0
  624. package/esm/visualizations/chart/scrubber/DefaultScrubberBeacon.js +154 -0
  625. package/esm/visualizations/chart/scrubber/DefaultScrubberBeaconLabel.js +57 -0
  626. package/esm/visualizations/chart/scrubber/DefaultScrubberLabel.js +48 -0
  627. package/esm/visualizations/chart/scrubber/Scrubber.js +200 -0
  628. package/esm/visualizations/chart/scrubber/ScrubberBeaconGroup.js +190 -0
  629. package/esm/visualizations/chart/scrubber/ScrubberBeaconLabelGroup.js +209 -0
  630. package/esm/visualizations/chart/scrubber/ScrubberProvider.js +233 -0
  631. package/esm/visualizations/chart/scrubber/index.js +4 -0
  632. package/esm/visualizations/chart/text/ChartText.js +231 -0
  633. package/esm/visualizations/chart/text/ChartTextGroup.js +227 -0
  634. package/esm/visualizations/chart/text/index.js +4 -0
  635. package/esm/visualizations/chart/utils/axis.js +666 -0
  636. package/esm/visualizations/chart/utils/bar.js +952 -0
  637. package/esm/visualizations/chart/utils/chart.js +314 -0
  638. package/esm/visualizations/chart/utils/context.js +22 -0
  639. package/esm/visualizations/chart/utils/gradient.js +270 -0
  640. package/esm/visualizations/chart/utils/index.js +13 -0
  641. package/esm/visualizations/chart/utils/interpolate.js +644 -0
  642. package/esm/visualizations/chart/utils/path.js +254 -0
  643. package/esm/visualizations/chart/utils/point.js +214 -0
  644. package/esm/visualizations/chart/utils/scale.js +59 -0
  645. package/esm/visualizations/chart/utils/scrubber.js +137 -0
  646. package/esm/visualizations/chart/utils/transition.js +132 -0
  647. package/esm/visualizations/index.js +3 -1
  648. package/esm/visualizations/sparkline/Counter.css +3 -0
  649. package/esm/visualizations/sparkline/Counter.js +35 -0
  650. package/esm/visualizations/sparkline/Sparkline.js +165 -0
  651. package/esm/visualizations/sparkline/SparklineArea.js +19 -0
  652. package/esm/visualizations/sparkline/SparklineAreaPattern.js +37 -0
  653. package/esm/visualizations/sparkline/SparklineGradient.js +31 -0
  654. package/esm/visualizations/sparkline/SparklinePath.js +19 -0
  655. package/esm/visualizations/sparkline/__figma__/Sparkline.figma.js +24 -0
  656. package/esm/visualizations/sparkline/generateSparklineWithId.js +7 -0
  657. package/esm/visualizations/sparkline/index.js +5 -0
  658. package/esm/visualizations/sparkline/sparkline-interactive/InnerSparklineInteractiveProvider.js +21 -0
  659. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractive.js +318 -0
  660. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.js +108 -0
  661. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.css +2 -0
  662. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.js +27 -0
  663. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverPrice.css +2 -0
  664. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverPrice.js +25 -0
  665. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.css +4 -0
  666. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.js +65 -0
  667. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.css +1 -0
  668. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.js +85 -0
  669. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractivePaths.js +56 -0
  670. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.js +71 -0
  671. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveProvider.js +45 -0
  672. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubHandler.css +5 -0
  673. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubHandler.js +201 -0
  674. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveScrubProvider.js +39 -0
  675. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.js +92 -0
  676. package/esm/visualizations/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.js +89 -0
  677. package/esm/visualizations/sparkline/sparkline-interactive/fade.css +2 -0
  678. package/esm/visualizations/sparkline/sparkline-interactive/fade.js +15 -0
  679. package/esm/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveConstants.js +28 -0
  680. package/esm/visualizations/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.js +226 -0
  681. package/esm/visualizations/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.js +108 -0
  682. package/package.json +23 -10
@@ -0,0 +1,379 @@
1
+ const _excluded = ["series", "children", "layout", "animate", "xAxis", "yAxis", "inset", "enableScrubbing", "onScrubberPositionChange", "legend", "legendPosition", "legendAccessibilityLabel", "width", "height", "className", "classNames", "style", "styles", "accessibilityLabel"];
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
9
+ import React, { forwardRef, memo, useCallback, useMemo, useRef } from 'react';
10
+ import { useDimensions } from '../../hooks/useDimensions';
11
+ import { cx } from '../../index';
12
+ import { Box } from '../../layout';
13
+ import { ScrubberProvider } from './scrubber/ScrubberProvider';
14
+ import { CartesianChartProvider } from './ChartProvider';
15
+ import { Legend } from './legend';
16
+ import { defaultAxisId, defaultHorizontalLayoutChartInset, defaultVerticalLayoutChartInset, getAxisConfig, getAxisRange, getCartesianAxisDomain, getCartesianAxisScale, getChartInset, getStackedSeriesData as calculateStackedSeriesData, useTotalAxisPadding } from './utils';
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ const focusStylesCss = "focusStylesCss-fm8hd7g";
19
+ export const CartesianChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
20
+ let {
21
+ series,
22
+ children,
23
+ layout = 'vertical',
24
+ animate = true,
25
+ xAxis: xAxisConfigProp,
26
+ yAxis: yAxisConfigProp,
27
+ inset,
28
+ enableScrubbing,
29
+ onScrubberPositionChange,
30
+ legend,
31
+ legendPosition = 'bottom',
32
+ legendAccessibilityLabel,
33
+ width = '100%',
34
+ height = '100%',
35
+ className,
36
+ classNames,
37
+ style,
38
+ styles,
39
+ accessibilityLabel
40
+ } = _ref,
41
+ props = _objectWithoutProperties(_ref, _excluded);
42
+ const {
43
+ observe,
44
+ width: chartWidth,
45
+ height: chartHeight
46
+ } = useDimensions();
47
+ const svgRef = useRef(null);
48
+ const calculatedInset = useMemo(() => getChartInset(inset, layout === 'horizontal' ? defaultHorizontalLayoutChartInset : defaultVerticalLayoutChartInset), [inset, layout]);
49
+
50
+ // Axis configs store the properties of each axis, such as id, scale type, domain limit, etc.
51
+ const xAxisConfig = useMemo(() => getAxisConfig('x', xAxisConfigProp), [xAxisConfigProp]);
52
+ const yAxisConfig = useMemo(() => getAxisConfig('y', yAxisConfigProp), [yAxisConfigProp]);
53
+
54
+ // Horizontal layout supports multiple value axes on x, but only a single category axis on y.
55
+ // Vertical layout keeps a single x-axis to preserve existing behavior.
56
+ if (layout === 'horizontal' && yAxisConfig.length > 1) {
57
+ throw new Error('When layout="horizontal", only one y-axis is supported. See https://cds.coinbase.com/components/charts/CartesianChart.');
58
+ }
59
+ if (layout !== 'horizontal' && xAxisConfig.length > 1) {
60
+ throw new Error('Multiple x-axes are only supported when layout="horizontal". See https://cds.coinbase.com/components/charts/CartesianChart.');
61
+ }
62
+ const {
63
+ renderedAxes,
64
+ registerAxis,
65
+ unregisterAxis,
66
+ axisPadding
67
+ } = useTotalAxisPadding();
68
+ const chartRect = useMemo(() => {
69
+ if (chartWidth <= 0 || chartHeight <= 0) return {
70
+ x: 0,
71
+ y: 0,
72
+ width: 0,
73
+ height: 0
74
+ };
75
+ const totalInset = {
76
+ top: calculatedInset.top + axisPadding.top,
77
+ right: calculatedInset.right + axisPadding.right,
78
+ bottom: calculatedInset.bottom + axisPadding.bottom,
79
+ left: calculatedInset.left + axisPadding.left
80
+ };
81
+ const availableWidth = chartWidth - totalInset.left - totalInset.right;
82
+ const availableHeight = chartHeight - totalInset.top - totalInset.bottom;
83
+ return {
84
+ x: totalInset.left,
85
+ y: totalInset.top,
86
+ width: availableWidth > 0 ? availableWidth : 0,
87
+ height: availableHeight > 0 ? availableHeight : 0
88
+ };
89
+ }, [chartHeight, chartWidth, calculatedInset, axisPadding]);
90
+ const {
91
+ xAxes,
92
+ xScales
93
+ } = useMemo(() => {
94
+ const axes = new Map();
95
+ const scales = new Map();
96
+ if (!chartRect || chartRect.width <= 0 || chartRect.height <= 0) return {
97
+ xAxes: axes,
98
+ xScales: scales
99
+ };
100
+ xAxisConfig.forEach(axisParam => {
101
+ var _axisParam$id, _series$filter, _axisParam$domainLimi;
102
+ const axisId = (_axisParam$id = axisParam.id) !== null && _axisParam$id !== void 0 ? _axisParam$id : defaultAxisId;
103
+
104
+ // Get relevant series data
105
+ const relevantSeries = xAxisConfig.length > 1 ? (_series$filter = series === null || series === void 0 ? void 0 : series.filter(s => {
106
+ var _s$xAxisId;
107
+ return ((_s$xAxisId = s.xAxisId) !== null && _s$xAxisId !== void 0 ? _s$xAxisId : defaultAxisId) === axisId;
108
+ })) !== null && _series$filter !== void 0 ? _series$filter : [] : series !== null && series !== void 0 ? series : [];
109
+
110
+ // Calculate domain and range
111
+ const dataDomain = getCartesianAxisDomain(axisParam, relevantSeries, 'x', layout);
112
+ const range = getAxisRange(axisParam, chartRect, 'x');
113
+ const axisConfig = {
114
+ scaleType: axisParam.scaleType,
115
+ domain: dataDomain,
116
+ range,
117
+ data: axisParam.data,
118
+ categoryPadding: axisParam.categoryPadding,
119
+ domainLimit: (_axisParam$domainLimi = axisParam.domainLimit) !== null && _axisParam$domainLimi !== void 0 ? _axisParam$domainLimi : layout === 'horizontal' ? 'nice' : 'strict',
120
+ baseline: axisParam.baseline
121
+ };
122
+
123
+ // Create the scale
124
+ const scale = getCartesianAxisScale({
125
+ config: axisConfig,
126
+ type: 'x',
127
+ range: axisConfig.range,
128
+ dataDomain: axisConfig.domain,
129
+ layout
130
+ });
131
+ if (scale) {
132
+ scales.set(axisId, scale);
133
+
134
+ // Update axis config with actual scale domain (after .nice() or other adjustments)
135
+ const scaleDomain = scale.domain();
136
+ const actualDomain = Array.isArray(scaleDomain) && scaleDomain.length === 2 ? {
137
+ min: scaleDomain[0],
138
+ max: scaleDomain[1]
139
+ } : axisConfig.domain;
140
+ axes.set(axisId, _objectSpread(_objectSpread({}, axisConfig), {}, {
141
+ domain: actualDomain
142
+ }));
143
+ }
144
+ });
145
+ return {
146
+ xAxes: axes,
147
+ xScales: scales
148
+ };
149
+ }, [xAxisConfig, series, chartRect, layout]);
150
+ const {
151
+ yAxes,
152
+ yScales
153
+ } = useMemo(() => {
154
+ const axes = new Map();
155
+ const scales = new Map();
156
+ if (!chartRect || chartRect.width <= 0 || chartRect.height <= 0) return {
157
+ yAxes: axes,
158
+ yScales: scales
159
+ };
160
+ yAxisConfig.forEach(axisParam => {
161
+ var _axisParam$id2, _series$filter2, _axisParam$domainLimi2;
162
+ const axisId = (_axisParam$id2 = axisParam.id) !== null && _axisParam$id2 !== void 0 ? _axisParam$id2 : defaultAxisId;
163
+
164
+ // Get relevant series data
165
+ const relevantSeries = yAxisConfig.length > 1 ? (_series$filter2 = series === null || series === void 0 ? void 0 : series.filter(s => {
166
+ var _s$yAxisId;
167
+ return ((_s$yAxisId = s.yAxisId) !== null && _s$yAxisId !== void 0 ? _s$yAxisId : defaultAxisId) === axisId;
168
+ })) !== null && _series$filter2 !== void 0 ? _series$filter2 : [] : series !== null && series !== void 0 ? series : [];
169
+
170
+ // Calculate domain and range
171
+ const dataDomain = getCartesianAxisDomain(axisParam, relevantSeries, 'y', layout);
172
+ const range = getAxisRange(axisParam, chartRect, 'y');
173
+ const axisConfig = {
174
+ scaleType: axisParam.scaleType,
175
+ domain: dataDomain,
176
+ range,
177
+ data: axisParam.data,
178
+ categoryPadding: axisParam.categoryPadding,
179
+ domainLimit: (_axisParam$domainLimi2 = axisParam.domainLimit) !== null && _axisParam$domainLimi2 !== void 0 ? _axisParam$domainLimi2 : layout === 'horizontal' ? 'strict' : 'nice',
180
+ baseline: axisParam.baseline
181
+ };
182
+
183
+ // Create the scale
184
+ const scale = getCartesianAxisScale({
185
+ config: axisConfig,
186
+ type: 'y',
187
+ range: axisConfig.range,
188
+ dataDomain: axisConfig.domain,
189
+ layout
190
+ });
191
+ if (scale) {
192
+ scales.set(axisId, scale);
193
+
194
+ // Update axis config with actual scale domain (after .nice() or other adjustments)
195
+ const scaleDomain = scale.domain();
196
+ const actualDomain = Array.isArray(scaleDomain) && scaleDomain.length === 2 ? {
197
+ min: scaleDomain[0],
198
+ max: scaleDomain[1]
199
+ } : axisConfig.domain;
200
+ axes.set(axisId, _objectSpread(_objectSpread({}, axisConfig), {}, {
201
+ domain: actualDomain
202
+ }));
203
+ }
204
+ });
205
+ return {
206
+ yAxes: axes,
207
+ yScales: scales
208
+ };
209
+ }, [yAxisConfig, series, chartRect, layout]);
210
+ const getXAxis = useCallback(id => xAxes.get(id !== null && id !== void 0 ? id : defaultAxisId), [xAxes]);
211
+ const getYAxis = useCallback(id => yAxes.get(id !== null && id !== void 0 ? id : defaultAxisId), [yAxes]);
212
+ const getXScale = useCallback(id => xScales.get(id !== null && id !== void 0 ? id : defaultAxisId), [xScales]);
213
+ const getYScale = useCallback(id => yScales.get(id !== null && id !== void 0 ? id : defaultAxisId), [yScales]);
214
+ const getSeries = useCallback(seriesId => series === null || series === void 0 ? void 0 : series.find(s => s.id === seriesId), [series]);
215
+ const stackedDataMap = useMemo(() => {
216
+ if (!series) return new Map();
217
+ return calculateStackedSeriesData(series, layout, xAxisConfig, yAxisConfig);
218
+ }, [series, layout, xAxisConfig, yAxisConfig]);
219
+ const getStackedSeriesData = useCallback(seriesId => {
220
+ if (!seriesId) return undefined;
221
+ return stackedDataMap.get(seriesId);
222
+ }, [stackedDataMap]);
223
+ const categoryAxisIsX = useMemo(() => {
224
+ return layout !== 'horizontal';
225
+ }, [layout]);
226
+ const categoryAxisConfig = useMemo(() => {
227
+ var _xAxisConfig$, _yAxisConfig$;
228
+ return categoryAxisIsX ? (_xAxisConfig$ = xAxisConfig[0]) !== null && _xAxisConfig$ !== void 0 ? _xAxisConfig$ : yAxisConfig[0] : (_yAxisConfig$ = yAxisConfig[0]) !== null && _yAxisConfig$ !== void 0 ? _yAxisConfig$ : xAxisConfig[0];
229
+ }, [categoryAxisIsX, xAxisConfig, yAxisConfig]);
230
+ const dataLength = useMemo(() => {
231
+ // If category axis has categorical data, use that length
232
+ if (categoryAxisConfig.data && categoryAxisConfig.data.length > 0) {
233
+ return categoryAxisConfig.data.length;
234
+ }
235
+
236
+ // Otherwise, find the longest series
237
+ if (!series || series.length === 0) return 0;
238
+ return series.reduce((max, s) => {
239
+ var _seriesData$length;
240
+ const seriesData = getStackedSeriesData(s.id);
241
+ return Math.max(max, (_seriesData$length = seriesData === null || seriesData === void 0 ? void 0 : seriesData.length) !== null && _seriesData$length !== void 0 ? _seriesData$length : 0);
242
+ }, 0);
243
+ }, [categoryAxisConfig, series, getStackedSeriesData]);
244
+ const getAxisBounds = useCallback(axisId => {
245
+ const axis = renderedAxes.get(axisId);
246
+ if (!axis || !chartRect) return;
247
+ const axesAtPosition = Array.from(renderedAxes.values()).filter(a => a.position === axis.position).sort((a, b) => a.id.localeCompare(b.id));
248
+ const axisIndex = axesAtPosition.findIndex(a => a.id === axisId);
249
+ if (axisIndex === -1) return;
250
+
251
+ // Calculate offset from previous axes at the same position
252
+ const offsetFromPreviousAxes = axesAtPosition.slice(0, axisIndex).reduce((sum, a) => sum + a.size, 0);
253
+ if (axis.position === 'top') {
254
+ // Position above the chart rect, accounting for user inset
255
+ const startY = calculatedInset.top + offsetFromPreviousAxes;
256
+ return {
257
+ x: chartRect.x,
258
+ y: startY,
259
+ width: chartRect.width,
260
+ height: axis.size
261
+ };
262
+ } else if (axis.position === 'bottom') {
263
+ // Position below the chart rect, accounting for user inset
264
+ const startY = chartRect.y + chartRect.height + offsetFromPreviousAxes;
265
+ return {
266
+ x: chartRect.x,
267
+ y: startY,
268
+ width: chartRect.width,
269
+ height: axis.size
270
+ };
271
+ } else if (axis.position === 'left') {
272
+ // Position to the left of the chart rect, accounting for user inset
273
+ const startX = calculatedInset.left + offsetFromPreviousAxes;
274
+ return {
275
+ x: startX,
276
+ y: chartRect.y,
277
+ width: axis.size,
278
+ height: chartRect.height
279
+ };
280
+ } else {
281
+ // right - position to the right of the chart rect, accounting for user inset
282
+ const startX = chartRect.x + chartRect.width + offsetFromPreviousAxes;
283
+ return {
284
+ x: startX,
285
+ y: chartRect.y,
286
+ width: axis.size,
287
+ height: chartRect.height
288
+ };
289
+ }
290
+ }, [renderedAxes, chartRect, calculatedInset]);
291
+ const contextValue = useMemo(() => ({
292
+ layout,
293
+ series: series !== null && series !== void 0 ? series : [],
294
+ getSeries,
295
+ getSeriesData: getStackedSeriesData,
296
+ animate,
297
+ width: chartWidth,
298
+ height: chartHeight,
299
+ getXAxis,
300
+ getYAxis,
301
+ getXScale,
302
+ getYScale,
303
+ drawingArea: chartRect,
304
+ dataLength,
305
+ registerAxis,
306
+ unregisterAxis,
307
+ getAxisBounds
308
+ }), [layout, series, getSeries, getStackedSeriesData, animate, chartWidth, chartHeight, getXAxis, getYAxis, getXScale, getYScale, chartRect, dataLength, registerAxis, unregisterAxis, getAxisBounds]);
309
+ const rootClassNames = useMemo(() => cx(className, classNames === null || classNames === void 0 ? void 0 : classNames.root), [className, classNames]);
310
+ const rootStyles = useMemo(() => _objectSpread(_objectSpread({}, style), styles === null || styles === void 0 ? void 0 : styles.root), [style, styles === null || styles === void 0 ? void 0 : styles.root]);
311
+ const legendElement = useMemo(() => {
312
+ if (!legend) return;
313
+ if (legend === true) {
314
+ const isHorizontal = legendPosition === 'top' || legendPosition === 'bottom';
315
+ const flexDirection = isHorizontal ? 'row' : 'column';
316
+ return /*#__PURE__*/_jsx(Legend, {
317
+ accessibilityLabel: legendAccessibilityLabel,
318
+ flexDirection: flexDirection
319
+ });
320
+ }
321
+ return legend;
322
+ }, [legend, legendAccessibilityLabel, legendPosition]);
323
+ const rootBoxProps = useMemo(() => _objectSpread({
324
+ className: rootClassNames,
325
+ height,
326
+ style: rootStyles,
327
+ width
328
+ }, props), [rootClassNames, height, rootStyles, width, props]);
329
+ const chartContent = /*#__PURE__*/_jsx(Box, {
330
+ ref: node => {
331
+ observe(node);
332
+ },
333
+ height: legend ? undefined : height,
334
+ style: {
335
+ flex: 1,
336
+ minHeight: 0,
337
+ minWidth: 0
338
+ },
339
+ width: legend ? undefined : width,
340
+ children: /*#__PURE__*/_jsx(Box, {
341
+ ref: node => {
342
+ const svgElement = node;
343
+ svgRef.current = svgElement;
344
+ // Forward the ref to the user
345
+ if (ref) {
346
+ if (typeof ref === 'function') {
347
+ ref(svgElement);
348
+ } else {
349
+ ref.current = svgElement;
350
+ }
351
+ }
352
+ },
353
+ accessibilityLabel: accessibilityLabel,
354
+ "aria-live": "polite",
355
+ as: "svg",
356
+ className: cx(enableScrubbing && focusStylesCss, classNames === null || classNames === void 0 ? void 0 : classNames.chart),
357
+ height: "100%",
358
+ style: styles === null || styles === void 0 ? void 0 : styles.chart,
359
+ tabIndex: enableScrubbing ? 0 : undefined,
360
+ width: "100%",
361
+ children: children
362
+ })
363
+ });
364
+ return /*#__PURE__*/_jsx(CartesianChartProvider, {
365
+ value: contextValue,
366
+ children: /*#__PURE__*/_jsx(ScrubberProvider, {
367
+ enableScrubbing: !!enableScrubbing,
368
+ onScrubberPositionChange: onScrubberPositionChange,
369
+ svgRef: svgRef,
370
+ children: legend ? /*#__PURE__*/_jsxs(Box, _objectSpread(_objectSpread({}, rootBoxProps), {}, {
371
+ flexDirection: legendPosition === 'top' || legendPosition === 'bottom' ? 'column' : 'row',
372
+ children: [(legendPosition === 'top' || legendPosition === 'left') && legendElement, chartContent, (legendPosition === 'bottom' || legendPosition === 'right') && legendElement]
373
+ })) : /*#__PURE__*/_jsx(Box, _objectSpread(_objectSpread({}, rootBoxProps), {}, {
374
+ children: chartContent
375
+ }))
376
+ })
377
+ });
378
+ }));
379
+ import "./CartesianChart.css";
@@ -0,0 +1,10 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const CartesianChartContext = /*#__PURE__*/createContext(undefined);
3
+ export const useCartesianChartContext = () => {
4
+ const context = useContext(CartesianChartContext);
5
+ if (!context) {
6
+ throw new Error('useCartesianChartContext must be used within a CartesianChart component. See https://cds.coinbase.com/components/charts/CartesianChart.');
7
+ }
8
+ return context;
9
+ };
10
+ export const CartesianChartProvider = CartesianChartContext.Provider;
@@ -0,0 +1,125 @@
1
+ const _excluded = ["d", "initialPath", "transitions"],
2
+ _excluded2 = ["animate", "clipRect", "clipOffset", "d", "transitions", "transition"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
9
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
10
+ import { memo, useId, useMemo } from 'react';
11
+ import { m as motion } from 'framer-motion';
12
+ import { defaultPathEnterTransition } from './utils/path';
13
+ import { defaultTransition, getTransition, usePathTransition } from './utils/transition';
14
+ import { useCartesianChartContext } from './ChartProvider';
15
+
16
+ /**
17
+ * Duration in seconds for path enter transition.
18
+ * @deprecated Use `transitions.enter` on the Path component instead. This will be removed in a future major release.
19
+ * @deprecationExpectedRemoval v4
20
+ */
21
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
22
+ export const pathEnterTransitionDuration = 0.5;
23
+ const AnimatedPath = /*#__PURE__*/memo(_ref => {
24
+ let {
25
+ d = '',
26
+ initialPath,
27
+ transitions
28
+ } = _ref,
29
+ pathProps = _objectWithoutProperties(_ref, _excluded);
30
+ const interpolatedPath = usePathTransition({
31
+ currentPath: d,
32
+ initialPath,
33
+ transitions
34
+ });
35
+ const animateEnterOpacity = Boolean(transitions === null || transitions === void 0 ? void 0 : transitions.enterOpacity);
36
+ return /*#__PURE__*/_jsx(motion.path, _objectSpread({}, _objectSpread({
37
+ animate: animateEnterOpacity ? {
38
+ opacity: 1
39
+ } : undefined,
40
+ initial: animateEnterOpacity ? {
41
+ opacity: 0
42
+ } : false,
43
+ transition: animateEnterOpacity ? {
44
+ opacity: transitions === null || transitions === void 0 ? void 0 : transitions.enterOpacity
45
+ } : undefined,
46
+ d: interpolatedPath
47
+ }, pathProps)));
48
+ });
49
+ export const Path = /*#__PURE__*/memo(_ref2 => {
50
+ let {
51
+ animate: animateProp,
52
+ clipRect,
53
+ clipOffset = 0,
54
+ d = '',
55
+ transitions,
56
+ transition
57
+ } = _ref2,
58
+ pathProps = _objectWithoutProperties(_ref2, _excluded2);
59
+ const clipPathId = useId();
60
+ const context = useCartesianChartContext();
61
+ const rect = clipRect !== undefined ? clipRect : context.drawingArea;
62
+ const animate = animateProp !== null && animateProp !== void 0 ? animateProp : context.animate;
63
+ const clipPath = rect !== null ? "url(#".concat(clipPathId, ")") : undefined;
64
+ const enterTransition = useMemo(() => getTransition(transitions === null || transitions === void 0 ? void 0 : transitions.enter, animate, defaultPathEnterTransition), [animate, transitions === null || transitions === void 0 ? void 0 : transitions.enter]);
65
+ const updateTransition = useMemo(() => getTransition((transitions === null || transitions === void 0 ? void 0 : transitions.update) !== undefined ? transitions.update : transition, animate, defaultTransition), [animate, transitions === null || transitions === void 0 ? void 0 : transitions.update, transition]);
66
+ const enterOpacityTransition = useMemo(() => {
67
+ if (!animate) return null;
68
+ return transitions === null || transitions === void 0 ? void 0 : transitions.enterOpacity;
69
+ }, [animate, transitions === null || transitions === void 0 ? void 0 : transitions.enterOpacity]);
70
+ const animateClip = animate && enterTransition !== null;
71
+
72
+ // The clip offset provides extra padding to prevent path from being cut off
73
+ // Area charts typically use offset=0 for exact clipping, while lines use offset=2 for breathing room
74
+ const totalOffset = clipOffset * 2; // Applied on both sides
75
+
76
+ const clipPathAnimation = useMemo(() => {
77
+ if (rect === null) return;
78
+ const categoryAxisIsX = context.layout !== 'horizontal';
79
+ const fullWidth = rect.width + totalOffset;
80
+ const fullHeight = rect.height + totalOffset;
81
+ return {
82
+ hidden: {
83
+ width: categoryAxisIsX ? 0 : fullWidth,
84
+ height: categoryAxisIsX ? fullHeight : 0
85
+ },
86
+ visible: {
87
+ width: fullWidth,
88
+ height: fullHeight,
89
+ transition: {
90
+ type: 'timing',
91
+ duration: pathEnterTransitionDuration
92
+ }
93
+ }
94
+ };
95
+ }, [rect, totalOffset, context.layout]);
96
+ return /*#__PURE__*/_jsxs(_Fragment, {
97
+ children: [rect !== null && /*#__PURE__*/_jsx("defs", {
98
+ children: /*#__PURE__*/_jsx("clipPath", {
99
+ id: clipPathId,
100
+ children: animateClip ? /*#__PURE__*/_jsx(motion.rect, {
101
+ animate: "visible",
102
+ height: rect.height + totalOffset,
103
+ initial: "hidden",
104
+ variants: clipPathAnimation,
105
+ width: rect.width + totalOffset,
106
+ x: rect.x - clipOffset,
107
+ y: rect.y - clipOffset
108
+ }) : /*#__PURE__*/_jsx("rect", {
109
+ height: rect.height + totalOffset,
110
+ width: rect.width + totalOffset,
111
+ x: rect.x - clipOffset,
112
+ y: rect.y - clipOffset
113
+ })
114
+ })
115
+ }), /*#__PURE__*/_jsx(AnimatedPath, _objectSpread({
116
+ clipPath: clipPath,
117
+ d: d,
118
+ transitions: {
119
+ enter: enterTransition,
120
+ enterOpacity: enterOpacityTransition,
121
+ update: updateTransition
122
+ }
123
+ }, pathProps))]
124
+ });
125
+ });
@@ -0,0 +1 @@
1
+ @layer cds{.dotBaseCss-dg0k9xb{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:var(--space-1);height:var(--space-1);background:currentColor;border-radius:1000px;margin-inline-end:var(--space-0_75);}}
@@ -0,0 +1,130 @@
1
+ const _excluded = ["activeTabRect", "background", "position", "borderRadius", "style"],
2
+ _excluded2 = ["as", "color", "label", "display", "alignItems", "font", "hideDot"],
3
+ _excluded3 = ["background", "activeBackground", "width", "justifyContent", "TabComponent", "TabsActiveIndicatorComponent", "className", "classNames", "style", "styles"];
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
10
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
11
+ import React, { forwardRef, memo, useMemo } from 'react';
12
+ import { m as motion } from 'framer-motion';
13
+ import { cx } from '../../index';
14
+ import { Box } from '../../layout';
15
+ import { SegmentedTabs, tabsTransitionConfig } from '../../tabs';
16
+ import { SegmentedTab } from '../../tabs/SegmentedTab';
17
+ import { Text } from '../../typography';
18
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
+ const MotionBox = motion(Box);
20
+
21
+ // Animated active indicator to support smooth transition of background color
22
+ export const PeriodSelectorActiveIndicator = /*#__PURE__*/memo(_ref => {
23
+ let {
24
+ activeTabRect,
25
+ background = 'bgPrimaryWash',
26
+ position = 'absolute',
27
+ borderRadius = 1000,
28
+ style
29
+ } = _ref,
30
+ props = _objectWithoutProperties(_ref, _excluded);
31
+ const {
32
+ width,
33
+ height,
34
+ x
35
+ } = activeTabRect;
36
+ const activeAnimation = useMemo(() => ({
37
+ width,
38
+ x
39
+ }), [width, x]);
40
+ if (!width) return null;
41
+ return /*#__PURE__*/_jsx(MotionBox, _objectSpread({
42
+ animate: activeAnimation,
43
+ borderRadius: borderRadius,
44
+ "data-testid": "period-selector-active-indicator",
45
+ height: height,
46
+ initial: false,
47
+ left: 0,
48
+ position: position,
49
+ role: "none",
50
+ style: _objectSpread({
51
+ backgroundColor: "var(--color-".concat(background, ")"),
52
+ transition: 'background-color 0.2s ease'
53
+ }, style),
54
+ transition: tabsTransitionConfig
55
+ }, props));
56
+ });
57
+ export const liveTabLabelDefaultElement = 'span';
58
+ // is this bad to use var(--space-1) for height and width?
59
+ const dotBaseCss = "dotBaseCss-dg0k9xb";
60
+ export const LiveTabLabel = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2, ref) => {
61
+ let {
62
+ as,
63
+ color = 'fgNegative',
64
+ label = 'LIVE',
65
+ display = 'inline-flex',
66
+ alignItems = 'center',
67
+ font = 'label1',
68
+ hideDot
69
+ } = _ref2,
70
+ props = _objectWithoutProperties(_ref2, _excluded2);
71
+ const Component = as !== null && as !== void 0 ? as : liveTabLabelDefaultElement;
72
+ return /*#__PURE__*/_jsxs(Text, _objectSpread(_objectSpread({
73
+ ref: ref,
74
+ alignItems: alignItems,
75
+ as: Component,
76
+ color: color,
77
+ display: display,
78
+ font: font
79
+ }, props), {}, {
80
+ children: [!hideDot && /*#__PURE__*/_jsx("span", {
81
+ className: dotBaseCss
82
+ }), label]
83
+ }));
84
+ }));
85
+
86
+ // Custom tab component with primary color for active state
87
+ const PeriodSelectorTab = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(SegmentedTab, _objectSpread({
88
+ ref: ref,
89
+ activeColor: "fgPrimary",
90
+ font: "label1"
91
+ }, props))));
92
+ /**
93
+ * PeriodSelector is a specialized version of SegmentedTabs optimized for chart period selection.
94
+ * It provides transparent background, primary wash active state, and full-width layout by default.
95
+ */
96
+ export const PeriodSelector = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3, ref) => {
97
+ let {
98
+ background = 'transparent',
99
+ activeBackground = 'bgPrimaryWash',
100
+ width = '100%',
101
+ justifyContent = 'space-between',
102
+ TabComponent = PeriodSelectorTab,
103
+ TabsActiveIndicatorComponent = PeriodSelectorActiveIndicator,
104
+ className,
105
+ classNames,
106
+ style,
107
+ styles
108
+ } = _ref3,
109
+ props = _objectWithoutProperties(_ref3, _excluded3);
110
+ return /*#__PURE__*/_jsx(SegmentedTabs, _objectSpread({
111
+ ref: ref,
112
+ TabComponent: TabComponent,
113
+ TabsActiveIndicatorComponent: TabsActiveIndicatorComponent,
114
+ activeBackground: activeBackground,
115
+ background: background,
116
+ className: cx(className, classNames === null || classNames === void 0 ? void 0 : classNames.root),
117
+ classNames: {
118
+ tab: classNames === null || classNames === void 0 ? void 0 : classNames.tab,
119
+ activeIndicator: classNames === null || classNames === void 0 ? void 0 : classNames.activeIndicator
120
+ },
121
+ justifyContent: justifyContent,
122
+ style: styles !== null && styles !== void 0 && styles.root ? _objectSpread(_objectSpread({}, style), styles.root) : style,
123
+ styles: {
124
+ tab: styles === null || styles === void 0 ? void 0 : styles.tab,
125
+ activeIndicator: styles === null || styles === void 0 ? void 0 : styles.activeIndicator
126
+ },
127
+ width: width
128
+ }, props));
129
+ }));
130
+ import "./PeriodSelector.css";