@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,318 @@
1
+ const _excluded = ["compact"];
2
+ 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; }
3
+ 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; }
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
+ import React, { memo, useCallback, useEffect, useMemo, useState } from 'react';
10
+ import { gutter } from '@coinbase/cds-common/tokens/sizing';
11
+ import { chartCompactHeight, chartHeight } from '@coinbase/cds-common/tokens/sparkline';
12
+ import { debounce } from '@coinbase/cds-common/utils/debounce';
13
+ import { getAccessibleColor } from '@coinbase/cds-common/utils/getAccessibleColor';
14
+ import { useSparklineCoordinates } from '@coinbase/cds-common/visualizations/useSparklineCoordinates';
15
+ import { chartFallbackNegative, chartFallbackPositive } from '@coinbase/cds-lottie-files';
16
+ import { emptyArray, isStorybook, noop } from '@coinbase/cds-utils';
17
+ import isEqual from 'lodash/isEqual';
18
+ import isObject from 'lodash/isObject';
19
+ import { Lottie } from '../../../animation';
20
+ import { useDimensions } from '../../../hooks/useDimensions';
21
+ import { cx, useTheme } from '../../../index';
22
+ import { HStack, VStack } from '../../../layout';
23
+ import { Box } from '../../../layout/Box';
24
+ import { getBrowserGlobals } from '../../../utils/browser';
25
+ import { VisualizationContainer } from '../../VisualizationContainer';
26
+ import { InnerSparklineInteractiveProvider } from './InnerSparklineInteractiveProvider';
27
+ import { SparklineInteractiveHoverDate } from './SparklineInteractiveHoverDate';
28
+ import { SparklineInteractiveHoverPrice } from './SparklineInteractiveHoverPrice';
29
+ import { SparklineInteractiveLineVertical } from './SparklineInteractiveLineVertical';
30
+ import { SparklineInteractiveMarkerDates } from './SparklineInteractiveMarkerDates';
31
+ import { SparklineInteractivePaths } from './SparklineInteractivePaths';
32
+ import { SparklineInteractivePeriodSelector } from './SparklineInteractivePeriodSelector';
33
+ import { SparklineInteractiveProvider, useSparklineInteractiveContext } from './SparklineInteractiveProvider';
34
+ import { SparklineInteractiveScrubHandler } from './SparklineInteractiveScrubHandler';
35
+ import { SparklineInteractiveScrubProvider } from './SparklineInteractiveScrubProvider';
36
+ import { useSparklineInteractiveConstants } from './useSparklineInteractiveConstants';
37
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
38
+ export * from '@coinbase/cds-common/types/Chart';
39
+ const DefaultFallback = /*#__PURE__*/memo(_ref => {
40
+ let {
41
+ fallbackType
42
+ } = _ref;
43
+ // don't show lottie animation in story book
44
+ const skipLottie = isStorybook();
45
+ const source = fallbackType === 'negative' ? chartFallbackNegative : chartFallbackPositive;
46
+ return !skipLottie && /*#__PURE__*/_jsx(Lottie, {
47
+ autoplay: true,
48
+ loop: true,
49
+ height: "100%",
50
+ source: source,
51
+ width: "100%"
52
+ });
53
+ });
54
+ const mobileLayoutBreakpoint = 650;
55
+ function SparklineInteractiveContentWithGeneric(_ref2) {
56
+ let {
57
+ data,
58
+ periods,
59
+ defaultPeriod,
60
+ onPeriodChanged,
61
+ strokeColor,
62
+ onScrub = noop,
63
+ onScrubStart = noop,
64
+ onScrubEnd = noop,
65
+ formatDate,
66
+ fallback = null,
67
+ hidePeriodSelector = false,
68
+ disableScrubbing = false,
69
+ fill = true,
70
+ fillType = 'gradient',
71
+ yAxisScalingFactor = 1.0,
72
+ compact,
73
+ formatHoverDate,
74
+ formatHoverPrice,
75
+ headerNode,
76
+ fallbackType = 'positive',
77
+ timePeriodGutter,
78
+ hoverData,
79
+ periodSelectorPlacement = 'above',
80
+ className,
81
+ classNames,
82
+ style,
83
+ styles,
84
+ headerTestID
85
+ } = _ref2;
86
+ const [isScrubbing, setIsScrubbing] = useState(false);
87
+ const [isMarkerDateVisible, setIsMarkerDateVisible] = useState(false);
88
+ const innerSparklineInteractiveHeight = compact ? chartCompactHeight : chartHeight;
89
+ const {
90
+ isFallbackVisible,
91
+ showFallback
92
+ } = useSparklineInteractiveContext();
93
+ const {
94
+ observe: containerRef,
95
+ width: containerWidth
96
+ } = useDimensions();
97
+ const isMobileLayout = containerWidth > 0 && containerWidth < mobileLayoutBreakpoint;
98
+ const showHeaderPeriodSelector = periodSelectorPlacement === 'above' && !hidePeriodSelector;
99
+ const showBottomMarkerDates = useMemo(() => periodSelectorPlacement === 'above' || periodSelectorPlacement === 'below' && hidePeriodSelector || isMarkerDateVisible, [isMarkerDateVisible, periodSelectorPlacement, hidePeriodSelector]);
100
+ const color = strokeColor;
101
+ const [selectedPeriod, setSelectedPeriod] = useState(defaultPeriod);
102
+ const theme = useTheme();
103
+ const lineVerticalColor = useMemo(() => {
104
+ const lineColor = color !== 'auto' ? color : getAccessibleColor({
105
+ background: theme.color.bg,
106
+ foreground: 'auto',
107
+ usage: 'graphic'
108
+ });
109
+ return hoverData ? 'var(--color-bgLineHeavy)' : lineColor;
110
+ }, [hoverData, color, theme.color.bg]);
111
+ const dataForPeriod = useMemo(() => {
112
+ var _data$selectedPeriod;
113
+ if (!data) {
114
+ return emptyArray;
115
+ }
116
+ return (_data$selectedPeriod = data[selectedPeriod]) !== null && _data$selectedPeriod !== void 0 ? _data$selectedPeriod : emptyArray;
117
+ }, [data, selectedPeriod]);
118
+ const handleScrubStart = useCallback(() => {
119
+ if (hoverData) {
120
+ setIsScrubbing(true);
121
+ }
122
+ setIsMarkerDateVisible(true);
123
+ onScrubStart === null || onScrubStart === void 0 || onScrubStart();
124
+ }, [hoverData, onScrubStart]);
125
+ const handleScrubEnd = useCallback(() => {
126
+ if (hoverData) {
127
+ setIsScrubbing(false);
128
+ }
129
+ setIsMarkerDateVisible(false);
130
+ onScrubEnd === null || onScrubEnd === void 0 || onScrubEnd();
131
+ }, [hoverData, onScrubEnd]);
132
+
133
+ // If dataForPeriod is empty we know that we are either loading
134
+ // or backend returned bad data and we should show fallback UI.
135
+ const hasData = dataForPeriod.length > 0;
136
+ useEffect(() => {
137
+ var _data$selectedPeriod2;
138
+ // If there is no data for selected period show fallback loader
139
+ if (isObject(data) && !((_data$selectedPeriod2 = data[selectedPeriod]) !== null && _data$selectedPeriod2 !== void 0 && _data$selectedPeriod2.length) && !isFallbackVisible) {
140
+ showFallback();
141
+ }
142
+ }, [data, isFallbackVisible, selectedPeriod, showFallback]);
143
+ const updatePeriod = useCallback(period => {
144
+ if (isObject(data) && period !== selectedPeriod) {
145
+ // This can sometimes happen for newer assets which
146
+ // will have their 'all' chart data be the same as
147
+ // their 'year' chart data. In those cases we don't
148
+ // want to animate out the min/max since we rely on
149
+ // AnimatedSparklineInteractivePath to animate those components back in -
150
+ // and AnimatedSparklineInteractivePath will not trigger an animation
151
+ // if it's chartData is the same between re-renders
152
+ if (!isEqual(data[period], data[selectedPeriod])) {
153
+ // minMaxOpacity.setValue(0);
154
+ }
155
+ setSelectedPeriod(period);
156
+ onPeriodChanged === null || onPeriodChanged === void 0 || onPeriodChanged(period);
157
+ }
158
+ }, [data, selectedPeriod, onPeriodChanged /* , minMaxOpacity */]);
159
+ const {
160
+ chartWidth
161
+ } = useSparklineInteractiveConstants();
162
+ const {
163
+ path,
164
+ area,
165
+ getMarker
166
+ } = useSparklineCoordinates({
167
+ data: dataForPeriod,
168
+ width: chartWidth,
169
+ height: innerSparklineInteractiveHeight,
170
+ yAxisScalingFactor
171
+ });
172
+ let header;
173
+ if (headerNode) {
174
+ header = /*#__PURE__*/_jsx(Box, {
175
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.header,
176
+ flexGrow: 1,
177
+ paddingX: !isMobileLayout ? gutter : 0,
178
+ style: styles === null || styles === void 0 ? void 0 : styles.header,
179
+ testID: headerTestID,
180
+ children: headerNode
181
+ });
182
+ }
183
+ const periodSelector = /*#__PURE__*/_jsx(SparklineInteractivePeriodSelector, {
184
+ color: color,
185
+ periods: periods,
186
+ selectedPeriod: selectedPeriod,
187
+ setSelectedPeriod: updatePeriod
188
+ });
189
+ const rootStyles = useMemo(() => _objectSpread(_objectSpread({
190
+ width: '100%'
191
+ }, style), styles === null || styles === void 0 ? void 0 : styles.root), [style, styles === null || styles === void 0 ? void 0 : styles.root]);
192
+ return /*#__PURE__*/_jsxs("div", {
193
+ ref: containerRef,
194
+ className: cx(className, classNames === null || classNames === void 0 ? void 0 : classNames.root),
195
+ style: rootStyles,
196
+ children: [isMobileLayout && showHeaderPeriodSelector && /*#__PURE__*/_jsx(Box, {
197
+ paddingBottom: 2,
198
+ width: "100%",
199
+ children: periodSelector
200
+ }), (!!headerNode || !isMobileLayout && showHeaderPeriodSelector) && /*#__PURE__*/_jsxs(Box, {
201
+ alignItems: "center",
202
+ justifyContent: "space-between",
203
+ paddingBottom: 2,
204
+ children: [header !== null && header !== void 0 ? header : /*#__PURE__*/_jsx("div", {}), !isMobileLayout && showHeaderPeriodSelector && /*#__PURE__*/_jsx(Box, {
205
+ flexGrow: 0,
206
+ children: periodSelector
207
+ })]
208
+ }), /*#__PURE__*/_jsxs(SparklineInteractiveScrubProvider, {
209
+ children: [/*#__PURE__*/_jsxs(VStack, {
210
+ paddingBottom: (formatHoverDate || formatHoverPrice) && 1,
211
+ children: [!!formatHoverDate && /*#__PURE__*/_jsx(SparklineInteractiveHoverDate, {}), !!formatHoverPrice && /*#__PURE__*/_jsx(SparklineInteractiveHoverPrice, {})]
212
+ }), /*#__PURE__*/_jsx(VisualizationContainer, {
213
+ height: innerSparklineInteractiveHeight,
214
+ width: "100%",
215
+ children: _ref3 => {
216
+ let {
217
+ width,
218
+ height
219
+ } = _ref3;
220
+ return /*#__PURE__*/_jsx(InnerSparklineInteractiveProvider, {
221
+ height: height,
222
+ width: width,
223
+ children: /*#__PURE__*/_jsx(SparklineInteractiveScrubHandler, {
224
+ disabled: disableScrubbing,
225
+ formatHoverDate: formatHoverDate,
226
+ formatHoverPrice: formatHoverPrice,
227
+ getMarker: getMarker,
228
+ onScrub: onScrub,
229
+ onScrubEnd: handleScrubEnd,
230
+ onScrubStart: handleScrubStart,
231
+ selectedPeriod: selectedPeriod,
232
+ children: /*#__PURE__*/_jsxs(Box, {
233
+ height: height,
234
+ position: "relative",
235
+ width: width,
236
+ children: [!!isFallbackVisible && /*#__PURE__*/_jsx(Box, {
237
+ height: "100%",
238
+ justifyContent: "center",
239
+ position: "absolute",
240
+ width: "100%",
241
+ children: fallback !== null && fallback !== void 0 ? fallback : /*#__PURE__*/_jsx(DefaultFallback, {
242
+ fallbackType: fallbackType
243
+ })
244
+ }), /*#__PURE__*/_jsx(Box, {
245
+ height: "100%",
246
+ width: "100%",
247
+ children: !!hasData && !!path && /*#__PURE__*/_jsxs(_Fragment, {
248
+ children: [/*#__PURE__*/_jsx(SparklineInteractivePaths, {
249
+ area: area,
250
+ compact: compact,
251
+ fill: fill,
252
+ fillType: fillType,
253
+ hoverData: hoverData,
254
+ path: path,
255
+ selectedPeriod: selectedPeriod,
256
+ showHoverData: isScrubbing,
257
+ strokeColor: color,
258
+ yAxisScalingFactor: yAxisScalingFactor
259
+ }), /*#__PURE__*/_jsx(SparklineInteractiveLineVertical, {
260
+ color: lineVerticalColor
261
+ })]
262
+ })
263
+ })]
264
+ })
265
+ })
266
+ });
267
+ }
268
+ })]
269
+ }), /*#__PURE__*/_jsxs(HStack, {
270
+ alignItems: "flex-end",
271
+ minHeight: 50,
272
+ width: "100%",
273
+ children: [showBottomMarkerDates && /*#__PURE__*/_jsx(SparklineInteractiveMarkerDates, {
274
+ formatDate: formatDate,
275
+ getMarker: getMarker,
276
+ selectedPeriod: selectedPeriod,
277
+ timePeriodGutter: timePeriodGutter
278
+ }), periodSelectorPlacement === 'below' && !isMarkerDateVisible && !hidePeriodSelector && periodSelector]
279
+ })]
280
+ });
281
+ }
282
+
283
+ // typescript doesn't understand the memo with the generic so it gets casted to a base react component
284
+ export const SparklineInteractiveContent = /*#__PURE__*/memo(SparklineInteractiveContentWithGeneric);
285
+ function SparklineInteractiveWithGeneric(_ref4) {
286
+ let {
287
+ compact
288
+ } = _ref4,
289
+ props = _objectWithoutProperties(_ref4, _excluded);
290
+ const [resizeKey, setResizeKey] = useState(0);
291
+ // eslint-disable-next-line react-hooks/exhaustive-deps
292
+ const resizeHandler = useCallback(debounce(() => {
293
+ // no resizing on percy
294
+ if (!isStorybook()) {
295
+ setResizeKey(prev => prev + 1);
296
+ }
297
+ }, 300), []);
298
+ useEffect(() => {
299
+ var _getBrowserGlobals;
300
+ (_getBrowserGlobals = getBrowserGlobals()) === null || _getBrowserGlobals === void 0 || (_getBrowserGlobals = _getBrowserGlobals.window) === null || _getBrowserGlobals === void 0 || _getBrowserGlobals.addEventListener('resize', resizeHandler);
301
+ return () => {
302
+ var _getBrowserGlobals2;
303
+ (_getBrowserGlobals2 = getBrowserGlobals()) === null || _getBrowserGlobals2 === void 0 || (_getBrowserGlobals2 = _getBrowserGlobals2.window) === null || _getBrowserGlobals2 === void 0 || _getBrowserGlobals2.removeEventListener('resize', resizeHandler);
304
+ };
305
+ }, [resizeHandler]);
306
+ return /*#__PURE__*/_jsx(SparklineInteractiveProvider, {
307
+ compact: compact,
308
+ children: /*#__PURE__*/_jsx(SparklineInteractiveContent, _objectSpread({
309
+ compact: compact
310
+ }, props))
311
+ }, resizeKey);
312
+ }
313
+
314
+ /**
315
+ * @deprecated Use LineChart instead. This will be removed in a future major release.
316
+ * @deprecationExpectedRemoval v4
317
+ */
318
+ export const SparklineInteractive = /*#__PURE__*/memo(SparklineInteractiveWithGeneric);
@@ -0,0 +1,108 @@
1
+ import 'd3-transition'; // Important! do not remove this, it sets up the linkage so you can use select().transition()
2
+
3
+ import React, { memo, useCallback, useEffect, useMemo, useRef } from 'react';
4
+ import { animatedPathConfig } from '@coinbase/cds-common/animation/sparkline';
5
+ import { useValueChanges } from '@coinbase/cds-common/hooks/useValueChanges';
6
+ import { interpolatePath } from 'd3-interpolate-path';
7
+ import { select } from 'd3-selection';
8
+ import { Sparkline } from '../Sparkline';
9
+ import { SparklineArea } from '../SparklineArea';
10
+ import { useSparklineInteractiveContext } from './SparklineInteractiveProvider';
11
+ import { useSparklineInteractiveConstants } from './useSparklineInteractiveConstants';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ const {
14
+ duration,
15
+ easing
16
+ } = animatedPathConfig;
17
+ export const SparklineInteractiveAnimatedPath = /*#__PURE__*/memo(_ref => {
18
+ let {
19
+ d = '',
20
+ color,
21
+ selectedPeriod,
22
+ area,
23
+ fillType = 'gradient',
24
+ yAxisScalingFactor,
25
+ initialPath,
26
+ initialArea
27
+ } = _ref;
28
+ const pathRef = useRef(null);
29
+ const areaRef = useRef(null);
30
+ const {
31
+ chartWidth,
32
+ chartHeight
33
+ } = useSparklineInteractiveConstants();
34
+ const {
35
+ isFallbackVisible,
36
+ hideFallback
37
+ } = useSparklineInteractiveContext();
38
+
39
+ // Only tween animation on period changes
40
+ const {
41
+ hasNotChanged: skipAnimation,
42
+ addPreviousValue: addPreviousPeriod
43
+ } = useValueChanges(selectedPeriod);
44
+ const {
45
+ previousValue: previousPath,
46
+ newValue: newPath,
47
+ hasChanged: shouldUpdatePath,
48
+ addPreviousValue: addPreviousPath
49
+ } = useValueChanges(d);
50
+ const {
51
+ previousValue: previousArea,
52
+ newValue: newArea,
53
+ hasChanged: shouldUpdateArea,
54
+ addPreviousValue: addPreviousArea
55
+ } = useValueChanges(area !== null && area !== void 0 ? area : '');
56
+ const pathInterpolator = useMemo(() => interpolatePath(previousPath !== null && previousPath !== void 0 ? previousPath : initialPath, newPath), [previousPath, initialPath, newPath]);
57
+ const areaInterpolator = useMemo(() => interpolatePath(previousArea !== null && previousArea !== void 0 ? previousArea : initialArea, newArea), [previousArea, initialArea, newArea]);
58
+ const updatePathWithoutAnimation = useCallback(() => {
59
+ select(pathRef.current).attr('d', pathInterpolator(1));
60
+ select(areaRef.current).attr('d', areaInterpolator(1));
61
+ }, [areaInterpolator, pathInterpolator]);
62
+ const playAnimation = useCallback(() => {
63
+ select(pathRef.current).transition().duration(duration).ease(easing).attrTween('d', function tween() {
64
+ const previous = select(this).attr('d');
65
+ const current = d;
66
+ return interpolatePath(previous !== null && previous !== void 0 ? previous : initialPath, current);
67
+ });
68
+ if (area) {
69
+ select(areaRef.current).transition().duration(duration).ease(easing).attrTween('d', function tween() {
70
+ const previous = select(this).attr('d');
71
+ const current = area;
72
+ return interpolatePath(previous !== null && previous !== void 0 ? previous : initialArea, current);
73
+ });
74
+ }
75
+ }, [area, d, initialArea, initialPath]);
76
+ useEffect(() => {
77
+ addPreviousPeriod(selectedPeriod);
78
+ }, [addPreviousPeriod, selectedPeriod]);
79
+ useEffect(() => {
80
+ // only update these values when they are used
81
+ addPreviousArea(newArea);
82
+ addPreviousPath(newPath);
83
+ if (shouldUpdatePath) {
84
+ if (isFallbackVisible) {
85
+ hideFallback();
86
+ updatePathWithoutAnimation();
87
+ } else if (skipAnimation) {
88
+ updatePathWithoutAnimation();
89
+ } else {
90
+ playAnimation();
91
+ }
92
+ } else if (shouldUpdateArea) {
93
+ updatePathWithoutAnimation();
94
+ }
95
+ }, [addPreviousArea, addPreviousPath, hideFallback, isFallbackVisible, newArea, newPath, playAnimation, shouldUpdateArea, shouldUpdatePath, skipAnimation, updatePathWithoutAnimation]);
96
+ return /*#__PURE__*/_jsx(Sparkline, {
97
+ ref: pathRef,
98
+ color: color,
99
+ fillType: fillType,
100
+ height: chartHeight,
101
+ strokeType: "solid",
102
+ width: chartWidth,
103
+ yAxisScalingFactor: yAxisScalingFactor,
104
+ children: !!area && /*#__PURE__*/_jsx(SparklineArea, {
105
+ ref: areaRef
106
+ })
107
+ });
108
+ });
@@ -0,0 +1,2 @@
1
+ @layer cds{.resetFadeCss-ruh142w{opacity:0;}
2
+ .textCss-t2lq08e{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}
@@ -0,0 +1,27 @@
1
+ import React, { memo, useCallback } from 'react';
2
+ import { cx } from '../../../index';
3
+ import { Text } from '../../../typography/Text';
4
+ import { useSparklineInteractiveScrubContext } from './SparklineInteractiveScrubProvider';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const resetFadeCss = "resetFadeCss-ruh142w";
7
+ const textCss = "textCss-t2lq08e";
8
+ export const SparklineInteractiveHoverDate = /*#__PURE__*/memo(() => {
9
+ const {
10
+ setHoverDateDOMNode
11
+ } = useSparklineInteractiveScrubContext();
12
+ const dateString = new Date().toLocaleString();
13
+ const setupDateRef = useCallback(ref => {
14
+ setHoverDateDOMNode(ref !== null && ref !== void 0 ? ref : null);
15
+ }, [setHoverDateDOMNode]);
16
+ return /*#__PURE__*/_jsx(Text, {
17
+ tabularNumbers: true,
18
+ as: "div",
19
+ font: "label2",
20
+ children: /*#__PURE__*/_jsx("span", {
21
+ ref: setupDateRef,
22
+ className: cx(resetFadeCss, textCss),
23
+ children: dateString
24
+ })
25
+ });
26
+ });
27
+ import "./SparklineInteractiveHoverDate.css";
@@ -0,0 +1,2 @@
1
+ @layer cds{.resetFadeCss-r5crmz9{opacity:0;}
2
+ .textCss-t1grvzun{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}
@@ -0,0 +1,25 @@
1
+ import React, { memo, useCallback } from 'react';
2
+ import { cx } from '../../../index';
3
+ import { Text } from '../../../typography/Text';
4
+ import { useSparklineInteractiveScrubContext } from './SparklineInteractiveScrubProvider';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const resetFadeCss = "resetFadeCss-r5crmz9";
7
+ const textCss = "textCss-t1grvzun";
8
+ export const SparklineInteractiveHoverPrice = /*#__PURE__*/memo(() => {
9
+ const {
10
+ setHoverPriceDOMNode
11
+ } = useSparklineInteractiveScrubContext();
12
+ const setupPriceRef = useCallback(ref => {
13
+ setHoverPriceDOMNode(ref !== null && ref !== void 0 ? ref : null);
14
+ }, [setHoverPriceDOMNode]);
15
+ return /*#__PURE__*/_jsx(Text, {
16
+ tabularNumbers: true,
17
+ as: "div",
18
+ font: "label2",
19
+ children: /*#__PURE__*/_jsx("span", {
20
+ ref: setupPriceRef,
21
+ className: cx(resetFadeCss, textCss)
22
+ })
23
+ });
24
+ });
25
+ import "./SparklineInteractiveHoverPrice.css";
@@ -0,0 +1,4 @@
1
+ @layer cds{.resetFadeCss-r1ueub74{opacity:0;}
2
+ .verticalLineCss-v1c0vx7z{position:absolute;pointer-events:none;width:100%;height:100%;overflow:hidden;}
3
+ .lineContainerCss-l1tzo2w{width:2px;height:100%;}
4
+ .maskCss-mvpqoje{width:100%;height:100%;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;}}
@@ -0,0 +1,65 @@
1
+ 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; }
2
+ 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; }
3
+ 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; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
+ 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); }
6
+ import React, { memo, useCallback } from 'react';
7
+ import { borderWidth, lineDashArray } from '@coinbase/cds-common/tokens/sparkline';
8
+ import { cx } from '../../../index';
9
+ import { useSparklineInteractiveContext } from './SparklineInteractiveProvider';
10
+ import { useSparklineInteractiveScrubContext } from './SparklineInteractiveScrubProvider';
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ const resetFadeCss = "resetFadeCss-r1ueub74";
13
+ const verticalLineCss = "verticalLineCss-v1c0vx7z";
14
+ const lineContainerCss = "lineContainerCss-l1tzo2w";
15
+ const maskCss = "maskCss-mvpqoje";
16
+ const lineProps = {
17
+ x1: 0,
18
+ x2: 0,
19
+ y1: 0,
20
+ y2: 0,
21
+ strokeDasharray: lineDashArray.join(','),
22
+ strokeWidth: borderWidth
23
+ };
24
+ export const SparklineInteractiveLineVertical = /*#__PURE__*/memo(_ref => {
25
+ let {
26
+ color
27
+ } = _ref;
28
+ const {
29
+ setLineDOMNode,
30
+ setMaskDOMNode
31
+ } = useSparklineInteractiveScrubContext();
32
+ const {
33
+ height
34
+ } = useSparklineInteractiveContext();
35
+ const setupLineRef = useCallback(ref => {
36
+ setLineDOMNode(ref !== null && ref !== void 0 ? ref : null);
37
+ }, [setLineDOMNode]);
38
+ const setupMaskRef = useCallback(ref => {
39
+ setMaskDOMNode(ref !== null && ref !== void 0 ? ref : null);
40
+ }, [setMaskDOMNode]);
41
+ const maskStyle = {
42
+ backgroundColor: 'var(--color-bg)'
43
+ };
44
+
45
+ // hook up the line and mask
46
+ return /*#__PURE__*/_jsxs("div", {
47
+ className: verticalLineCss,
48
+ children: [/*#__PURE__*/_jsx("div", {
49
+ ref: setupMaskRef,
50
+ className: cx(maskCss, resetFadeCss),
51
+ style: maskStyle
52
+ }), /*#__PURE__*/_jsx("div", {
53
+ ref: setupLineRef,
54
+ className: cx(lineContainerCss, resetFadeCss),
55
+ children: /*#__PURE__*/_jsx("svg", {
56
+ className: lineContainerCss,
57
+ children: /*#__PURE__*/_jsx("line", _objectSpread(_objectSpread({}, lineProps), {}, {
58
+ stroke: color,
59
+ y2: height
60
+ }))
61
+ })
62
+ })]
63
+ });
64
+ });
65
+ import "./SparklineInteractiveLineVertical.css";
@@ -0,0 +1 @@
1
+ @layer cds{.fadeInCss-f128m5n3.fadeInCss-f128m5n3{-webkit-animation:cdsSparklineInteractiveFadeIn-fadeInCss-f128m5n3 200ms cubic-bezier(0.6,0,0.15,1);animation:cdsSparklineInteractiveFadeIn-fadeInCss-f128m5n3 200ms cubic-bezier(0.6,0,0.15,1);opacity:1;}@-webkit-keyframes cdsSparklineInteractiveFadeIn-fadeInCss-f128m5n3{0%{opacity:0;}100%{opacity:1;}}@keyframes cdsSparklineInteractiveFadeIn-fadeInCss-f128m5n3{0%{opacity:0;}100%{opacity:1;}}}
@@ -0,0 +1,85 @@
1
+ import React, { memo, useCallback, useMemo, useState } from 'react';
2
+ import { fadeDuration } from '@coinbase/cds-common/tokens/sparkline';
3
+ import { useDateLookup } from '@coinbase/cds-common/visualizations/useDateLookup';
4
+ import times from 'lodash/times';
5
+ import { cubicBezier } from '../../../animation/convertMotionConfig';
6
+ import { HStack } from '../../../layout';
7
+ import { Text } from '../../../typography/Text';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const fadeInCss = "fadeInCss-f128m5n3";
10
+ const labelWidth = 125;
11
+ const noPointerEvents = {
12
+ pointerEvents: 'none'
13
+ };
14
+ const SparklineInteractiveMarkerDate = /*#__PURE__*/memo(_ref => {
15
+ let {
16
+ getFormattedDate,
17
+ containerOffsetLeft
18
+ } = _ref;
19
+ const [xPos, setXPos] = useState(0);
20
+ const setupRef = useCallback(ref => {
21
+ if (ref) {
22
+ setXPos(ref.offsetLeft + ref.offsetWidth / 2 - containerOffsetLeft);
23
+ }
24
+ }, [containerOffsetLeft]);
25
+ const dateStr = getFormattedDate(xPos);
26
+
27
+ // take up space while loading so when it finishes loading there is no jump
28
+ const fallback = /*#__PURE__*/_jsx("span", {
29
+ style: {
30
+ visibility: 'hidden'
31
+ },
32
+ children: "-"
33
+ });
34
+ return /*#__PURE__*/_jsx("span", {
35
+ ref: setupRef,
36
+ children: /*#__PURE__*/_jsx(Text, {
37
+ as: "span",
38
+ color: "fgMuted",
39
+ font: "label2",
40
+ textAlign: "center",
41
+ children: dateStr || fallback
42
+ })
43
+ });
44
+ });
45
+ function SparklineInteractiveMarkerDatesWithGeneric(_ref2) {
46
+ let {
47
+ formatDate,
48
+ selectedPeriod,
49
+ getMarker,
50
+ timePeriodGutter = 2
51
+ } = _ref2;
52
+ const [numberOfLabels, setNumberOfLabels] = useState(0);
53
+ const [containerOffsetLeft, setContainerOffsetLeft] = useState(0);
54
+ const getFormattedDate = useDateLookup({
55
+ getMarker,
56
+ formatDate,
57
+ selectedPeriod
58
+ });
59
+ const setupRef = useCallback(ref => {
60
+ if (ref) {
61
+ const numberOfLabelsFromWidth = Math.floor(ref.offsetWidth / labelWidth);
62
+ setNumberOfLabels(Math.max(numberOfLabelsFromWidth, 4));
63
+ setContainerOffsetLeft(ref.offsetLeft);
64
+ }
65
+ }, []);
66
+ const markers = useMemo(() => {
67
+ return times(numberOfLabels).map((_, i) => {
68
+ return /*#__PURE__*/_jsx(SparklineInteractiveMarkerDate, {
69
+ containerOffsetLeft: containerOffsetLeft,
70
+ getFormattedDate: getFormattedDate
71
+ }, i);
72
+ });
73
+ }, [containerOffsetLeft, getFormattedDate, numberOfLabels]);
74
+ return /*#__PURE__*/_jsx(HStack, {
75
+ ref: setupRef,
76
+ className: fadeInCss,
77
+ justifyContent: "space-between",
78
+ paddingX: timePeriodGutter,
79
+ style: noPointerEvents,
80
+ width: "100%",
81
+ children: markers
82
+ }, selectedPeriod);
83
+ }
84
+ export const SparklineInteractiveMarkerDates = /*#__PURE__*/memo(SparklineInteractiveMarkerDatesWithGeneric);
85
+ import "./SparklineInteractiveMarkerDates.css";