@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,56 @@
1
+ import React, { memo, useCallback, useRef } from 'react';
2
+ import { chartCompactHeight, chartHeight } from '@coinbase/cds-common/tokens/sparkline';
3
+ import { SparklineInteractiveAnimatedPath } from './SparklineInteractiveAnimatedPath';
4
+ import { SparklineInteractiveTimeseriesPaths } from './SparklineInteractiveTimeseriesPaths';
5
+ import { useSparklineInteractiveConstants } from './useSparklineInteractiveConstants';
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ function SparklineInteractivePathsWithGeneric(_ref) {
8
+ let {
9
+ showHoverData,
10
+ fill,
11
+ fillType = 'gradient',
12
+ path,
13
+ area,
14
+ selectedPeriod,
15
+ yAxisScalingFactor,
16
+ strokeColor,
17
+ hoverData,
18
+ compact
19
+ } = _ref;
20
+ // Map 'dotted' to 'gradientDotted' for Sparkline
21
+ const sparklineFillType = fillType === 'dotted' ? 'gradientDotted' : 'gradient';
22
+ const hoverPathRef = useRef(undefined);
23
+ const hoverAreaRef = useRef(undefined);
24
+ const shouldShowFill = !!fill;
25
+ const {
26
+ chartWidth
27
+ } = useSparklineInteractiveConstants();
28
+ const innerSparklineInteractiveHeight = compact ? chartCompactHeight : chartHeight;
29
+ const handleMultiTimeseriesRender = useCallback(_ref2 => {
30
+ let {
31
+ area: timeseriesArea,
32
+ path: timeseriesPath
33
+ } = _ref2;
34
+ hoverPathRef.current = timeseriesPath;
35
+ hoverAreaRef.current = timeseriesArea;
36
+ }, []);
37
+ return /*#__PURE__*/_jsxs(_Fragment, {
38
+ children: [!showHoverData && /*#__PURE__*/_jsx(SparklineInteractiveAnimatedPath, {
39
+ area: shouldShowFill ? area : undefined,
40
+ color: strokeColor,
41
+ d: path,
42
+ fillType: sparklineFillType,
43
+ initialArea: hoverAreaRef.current,
44
+ initialPath: hoverPathRef.current,
45
+ selectedPeriod: selectedPeriod,
46
+ yAxisScalingFactor: yAxisScalingFactor
47
+ }), !!showHoverData && /*#__PURE__*/_jsx(SparklineInteractiveTimeseriesPaths, {
48
+ data: hoverData === null || hoverData === void 0 ? void 0 : hoverData[selectedPeriod],
49
+ height: innerSparklineInteractiveHeight,
50
+ initialPath: path,
51
+ onRender: handleMultiTimeseriesRender,
52
+ width: chartWidth
53
+ })]
54
+ });
55
+ }
56
+ export const SparklineInteractivePaths = /*#__PURE__*/memo(SparklineInteractivePathsWithGeneric);
@@ -0,0 +1,71 @@
1
+ import React, { memo, useCallback, useMemo } from 'react';
2
+ import { periodLabelMap } from '@coinbase/cds-common/tokens/sparkline';
3
+ import { getAccessibleColor } from '@coinbase/cds-common/utils/getAccessibleColor';
4
+ import { useTheme } from '../../../hooks/useTheme';
5
+ import { Box, HStack } from '../../../layout';
6
+ import { Pressable } from '../../../system/Pressable';
7
+ import { Text } from '../../../typography/Text';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ function SparklineInteractivePeriodWithGeneric(_ref) {
10
+ var _periodLabelMap$perio;
11
+ let {
12
+ period,
13
+ selectedPeriod,
14
+ setSelectedPeriod,
15
+ color
16
+ } = _ref;
17
+ const periodLabel = (_periodLabelMap$perio = periodLabelMap[period.label]) !== null && _periodLabelMap$perio !== void 0 ? _periodLabelMap$perio : period.label;
18
+ const isSelected = period.value === selectedPeriod;
19
+ const handleOnClick = useCallback(() => {
20
+ setSelectedPeriod(period.value);
21
+ }, [period, setSelectedPeriod]);
22
+ const background = useMemo(() => isSelected ? 'bgPrimaryWash' : 'transparent', [isSelected]);
23
+ return /*#__PURE__*/_jsx(Box, {
24
+ alignItems: "center",
25
+ height: "fit-content",
26
+ justifyContent: "center",
27
+ children: /*#__PURE__*/_jsx(Pressable, {
28
+ accessibilityLabel: periodLabel,
29
+ "aria-pressed": isSelected,
30
+ background: background,
31
+ borderRadius: 200,
32
+ onClick: handleOnClick,
33
+ children: /*#__PURE__*/_jsx(Text, {
34
+ noWrap: true,
35
+ as: "span",
36
+ dangerouslySetColor: isSelected ? color : 'var(--color-fgMuted)',
37
+ display: "block",
38
+ font: "label1",
39
+ paddingX: 2,
40
+ paddingY: 1,
41
+ children: period.label
42
+ })
43
+ })
44
+ });
45
+ }
46
+ const SparklineInteractivePeriod = /*#__PURE__*/memo(SparklineInteractivePeriodWithGeneric);
47
+ export const SparklineInteractivePeriodSelector = _ref2 => {
48
+ let {
49
+ selectedPeriod,
50
+ setSelectedPeriod,
51
+ periods,
52
+ color
53
+ } = _ref2;
54
+ const theme = useTheme();
55
+ const accessibleForeground = color !== 'auto' ? color : getAccessibleColor({
56
+ background: theme.color.bg,
57
+ foreground: 'auto',
58
+ enhanced: true
59
+ });
60
+ return /*#__PURE__*/_jsx(HStack, {
61
+ justifyContent: "space-between",
62
+ paddingX: 1,
63
+ width: "100%",
64
+ children: periods.map(period => /*#__PURE__*/_jsx(SparklineInteractivePeriod, {
65
+ color: accessibleForeground,
66
+ period: period,
67
+ selectedPeriod: selectedPeriod,
68
+ setSelectedPeriod: setSelectedPeriod
69
+ }, period.value))
70
+ });
71
+ };
@@ -0,0 +1,45 @@
1
+ import React, { createContext, memo, useCallback, useContext, useMemo, useState } from 'react';
2
+ import { noop } from '@coinbase/cds-utils';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ const SparklineInteractiveContext = /*#__PURE__*/createContext({
5
+ isFallbackVisible: true,
6
+ compact: false,
7
+ width: 0,
8
+ height: 0,
9
+ showFallback: noop,
10
+ hideFallback: noop,
11
+ setWidth: noop,
12
+ setHeight: noop
13
+ });
14
+ export const SparklineInteractiveProvider = /*#__PURE__*/memo(_ref => {
15
+ let {
16
+ children,
17
+ compact = false
18
+ } = _ref;
19
+ const [isFallbackVisible, setIsFallbackVisible] = useState(true);
20
+ const [width, setWidth] = useState(0);
21
+ const [height, setHeight] = useState(0);
22
+ const showFallback = useCallback(() => {
23
+ setIsFallbackVisible(true);
24
+ }, [setIsFallbackVisible]);
25
+ const hideFallback = useCallback(() => {
26
+ setIsFallbackVisible(false);
27
+ }, [setIsFallbackVisible]);
28
+ const value = useMemo(() => ({
29
+ compact,
30
+ width,
31
+ height,
32
+ showFallback,
33
+ hideFallback,
34
+ isFallbackVisible,
35
+ setHeight,
36
+ setWidth
37
+ }), [compact, height, hideFallback, isFallbackVisible, showFallback, width]);
38
+ return /*#__PURE__*/_jsx(SparklineInteractiveContext.Provider, {
39
+ value: value,
40
+ children: children
41
+ });
42
+ });
43
+ export function useSparklineInteractiveContext() {
44
+ return useContext(SparklineInteractiveContext);
45
+ }
@@ -0,0 +1,5 @@
1
+ @layer cds{.insetFocusRingCss-i1i8rbea{position:relative;}.insetFocusRingCss-i1i8rbea:focus{outline:none;}.insetFocusRingCss-i1i8rbea:focus-visible{outline-style:solid;outline-width:2px;outline-color:var(--color-bgPrimary);outline-offset:0;}
2
+ .scrubHandlerContainerCss-s1b6sasl{position:relative;width:100%;height:100%;}
3
+ .scrubHandlerCss-s1vgyxo6.cds-sparkline--scrubhandler{position:absolute;width:100%;height:100%;top:0;left:0;}
4
+ .fadeInMaskCss-f1jemchj.fadeInMaskCss-f1jemchj{-webkit-animation:cdsSparklineInteractiveScrubFadeInMask-fadeInMaskCss-f1jemchj 200ms cubic-bezier(0.6,0,0.15,1);animation:cdsSparklineInteractiveScrubFadeInMask-fadeInMaskCss-f1jemchj 200ms cubic-bezier(0.6,0,0.15,1);opacity:0.8;}@-webkit-keyframes cdsSparklineInteractiveScrubFadeInMask-fadeInMaskCss-f1jemchj{0%{opacity:0;}100%{opacity:0.8;}}@keyframes cdsSparklineInteractiveScrubFadeInMask-fadeInMaskCss-f1jemchj{0%{opacity:0;}100%{opacity:0.8;}}
5
+ .fadeOutMaskCss-f1s7f7a7.fadeOutMaskCss-f1s7f7a7{-webkit-animation:cdsSparklineInteractiveScrubFadeOutMask-fadeOutMaskCss-f1s7f7a7 200ms cubic-bezier(0.6,0,0.15,1);animation:cdsSparklineInteractiveScrubFadeOutMask-fadeOutMaskCss-f1s7f7a7 200ms cubic-bezier(0.6,0,0.15,1);opacity:0;}@-webkit-keyframes cdsSparklineInteractiveScrubFadeOutMask-fadeOutMaskCss-f1s7f7a7{0%{opacity:0.8;}100%{opacity:0;}}@keyframes cdsSparklineInteractiveScrubFadeOutMask-fadeOutMaskCss-f1s7f7a7{0%{opacity:0.8;}100%{opacity:0;}}}
@@ -0,0 +1,201 @@
1
+ import React, { memo, useCallback, useMemo, useRef, useState } from 'react';
2
+ import { fadeDuration, maskOpacity } from '@coinbase/cds-common/tokens/sparkline';
3
+ import { debounce } from '@coinbase/cds-common/utils/debounce';
4
+ import { noop } from '@coinbase/cds-utils';
5
+ import { cubicBezier } from '../../../animation/convertMotionConfig';
6
+ import { useDimensions } from '../../../hooks/useDimensions';
7
+ import { cx } from '../../../index';
8
+ import { fadeIn, fadeOut } from './fade';
9
+ import { useSparklineInteractiveContext } from './SparklineInteractiveProvider';
10
+ import { useSparklineInteractiveScrubContext } from './SparklineInteractiveScrubProvider';
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ export const scrubHandlerStaticClassName = 'cds-sparkline--scrubhandler';
13
+ const insetFocusRingCss = "insetFocusRingCss-i1i8rbea";
14
+ const scrubHandlerContainerCss = "scrubHandlerContainerCss-s1b6sasl";
15
+ const scrubHandlerCss = "scrubHandlerCss-s1vgyxo6";
16
+ const fadeInMaskCss = "fadeInMaskCss-f1jemchj";
17
+ const fadeOutMaskCss = "fadeOutMaskCss-f1s7f7a7";
18
+
19
+ // Number of steps for keyboard users to navigate through the sparkline
20
+ const STEPS = 100;
21
+ const STEPS_ARRAY = Array.from(Array(STEPS).keys());
22
+ const padding = 8;
23
+ function fadeOutMask(domNode) {
24
+ domNode === null || domNode === void 0 || domNode.classList.remove(fadeInMaskCss);
25
+ domNode === null || domNode === void 0 || domNode.classList.add(fadeOutMaskCss);
26
+ }
27
+ export function fadeInMask(domNode) {
28
+ domNode === null || domNode === void 0 || domNode.classList.add(fadeInMaskCss);
29
+ domNode === null || domNode === void 0 || domNode.classList.remove(fadeOutMaskCss);
30
+ }
31
+ const SparklineInteractiveScrubHandlerWithGeneric = _ref => {
32
+ let {
33
+ onScrubEnd = noop,
34
+ onScrubStart = noop,
35
+ children,
36
+ disabled,
37
+ onScrub,
38
+ getMarker,
39
+ selectedPeriod,
40
+ formatHoverDate,
41
+ formatHoverPrice
42
+ } = _ref;
43
+ const containerRef = useRef(null);
44
+ const {
45
+ lineDOMNode,
46
+ maskDOMNode,
47
+ hoverDateDOMNode,
48
+ hoverPriceDOMNode
49
+ } = useSparklineInteractiveScrubContext();
50
+ const {
51
+ width: chartWidth
52
+ } = useSparklineInteractiveContext();
53
+ const scrubHandlerCssWithFocus = cx(scrubHandlerStaticClassName, scrubHandlerCss, insetFocusRingCss);
54
+ const [xPos, setXPos] = useState(0);
55
+ const {
56
+ width,
57
+ observe
58
+ } = useDimensions();
59
+ const steps = useMemo(() => {
60
+ const sparklineSteps = STEPS_ARRAY.map(step => {
61
+ return Math.floor(Number(width) / STEPS * step) || 1;
62
+ });
63
+
64
+ // Make sure each step is within the sparkline container
65
+ sparklineSteps[0] = 1;
66
+ sparklineSteps[STEPS] = Math.floor(width) - 1;
67
+ return sparklineSteps;
68
+ }, [width]);
69
+ const debouncedUpdatePositionHandler = useMemo(() => debounce(position => {
70
+ setXPos(position);
71
+ }, 20), [setXPos]);
72
+
73
+ // eslint-disable-next-line react-hooks/use-memo
74
+ const safelyUpdatePosition = useCallback(debouncedUpdatePositionHandler, [debouncedUpdatePositionHandler]);
75
+
76
+ // This method is used by mouseMove and keyboard events
77
+ const updateScrubber = useCallback(position => {
78
+ const dataPoint = getMarker(position);
79
+ if (dataPoint) {
80
+ onScrub === null || onScrub === void 0 || onScrub({
81
+ point: dataPoint,
82
+ period: selectedPeriod
83
+ });
84
+ if (lineDOMNode) {
85
+ lineDOMNode.style.transform = "translateX(".concat(position, "px)");
86
+ }
87
+ if (maskDOMNode) {
88
+ maskDOMNode.style.transform = "translateX(".concat(position, "px)");
89
+ }
90
+ if (hoverDateDOMNode && formatHoverDate) {
91
+ fadeIn(hoverDateDOMNode);
92
+ hoverDateDOMNode.innerText = formatHoverDate(dataPoint.date, selectedPeriod);
93
+ const textWidth = hoverDateDOMNode.offsetWidth;
94
+ const halfTextWidth = textWidth / 2;
95
+ let textPos = position - halfTextWidth;
96
+ textPos = Math.max(padding, textPos);
97
+ textPos = Math.min(textPos, chartWidth - textWidth - padding);
98
+ hoverDateDOMNode.style.transform = "translateX(".concat(textPos, "px)");
99
+ }
100
+ if (hoverPriceDOMNode && formatHoverPrice) {
101
+ fadeIn(hoverPriceDOMNode);
102
+ hoverPriceDOMNode.innerText = formatHoverPrice(dataPoint.value);
103
+ const textWidth = hoverPriceDOMNode.offsetWidth;
104
+ const halfTextWidth = textWidth / 2;
105
+ let textPos = position - halfTextWidth;
106
+ textPos = Math.max(padding, textPos);
107
+ textPos = Math.min(textPos, chartWidth - textWidth - padding);
108
+ hoverPriceDOMNode.style.transform = "translateX(".concat(textPos, "px)");
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Keep track of the position for a seamless
114
+ * transition from MouseMove to Keyboard interaction
115
+ */
116
+ safelyUpdatePosition(position);
117
+ }, [getMarker, safelyUpdatePosition, onScrub, selectedPeriod, lineDOMNode, maskDOMNode, hoverDateDOMNode, formatHoverDate, formatHoverPrice, hoverPriceDOMNode, chartWidth]);
118
+
119
+ // Show the scrub UI
120
+ const handleMouseEnter = useCallback(() => {
121
+ onScrubStart === null || onScrubStart === void 0 || onScrubStart();
122
+ fadeIn(lineDOMNode);
123
+ fadeInMask(maskDOMNode);
124
+ }, [lineDOMNode, maskDOMNode, onScrubStart]);
125
+ const handleMouseMove = useCallback(event => {
126
+ var _containerRef$current, _containerRef$current2;
127
+ const xPosition = Math.max(0, event.clientX - ((_containerRef$current = (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.getBoundingClientRect().left) !== null && _containerRef$current !== void 0 ? _containerRef$current : 0));
128
+
129
+ // Update UI
130
+ updateScrubber(xPosition);
131
+ }, [updateScrubber]);
132
+ const getPosition = useCallback((direction, multiSkip) => {
133
+ // Use the xPos to find the nearest step
134
+ const closestStep = steps.reduce((prev, curr) => {
135
+ return Math.abs(curr - xPos) < Math.abs(prev - xPos) ? curr : prev;
136
+ });
137
+ // The index of the closest step
138
+ const currentIndex = steps.findIndex(pos => pos === closestStep);
139
+ // Holding the shift key allows users to jump 10 steps
140
+ const stepIncrement = multiSkip ? 10 : 1;
141
+
142
+ // The location to move to
143
+ const nextLocation = currentIndex + (direction === 'next' ? stepIncrement : -stepIncrement);
144
+
145
+ // return the location if we're within bounds of the chart
146
+ return nextLocation > 0 && nextLocation < STEPS ? nextLocation : null;
147
+ }, [steps, xPos]);
148
+ const handleKeyDown = useCallback(e => {
149
+ const multiSkip = !!e.shiftKey;
150
+
151
+ // Go to the correct step
152
+ if (e.key === 'ArrowRight') {
153
+ var _getPosition;
154
+ e.preventDefault();
155
+ const nextStep = (_getPosition = getPosition('next', multiSkip)) !== null && _getPosition !== void 0 ? _getPosition : STEPS;
156
+ updateScrubber(steps[nextStep] - 1);
157
+ }
158
+ if (e.key === 'ArrowLeft') {
159
+ var _getPosition2;
160
+ e.preventDefault();
161
+ const previousStep = (_getPosition2 = getPosition('previous', multiSkip)) !== null && _getPosition2 !== void 0 ? _getPosition2 : 0;
162
+ updateScrubber(steps[previousStep]);
163
+ }
164
+
165
+ // Jump to beginning or end
166
+ if (e.key === 'ArrowDown') {
167
+ e.preventDefault();
168
+ updateScrubber(steps[STEPS] - 1);
169
+ }
170
+ if (e.key === 'ArrowUp') {
171
+ e.preventDefault();
172
+ updateScrubber(0);
173
+ }
174
+ }, [getPosition, updateScrubber, steps]);
175
+ const handleMouseLeave = useCallback(() => {
176
+ onScrubEnd === null || onScrubEnd === void 0 || onScrubEnd();
177
+ fadeOut(lineDOMNode);
178
+ fadeOutMask(maskDOMNode);
179
+ fadeOut(hoverDateDOMNode);
180
+ fadeOut(hoverPriceDOMNode);
181
+ }, [hoverDateDOMNode, lineDOMNode, maskDOMNode, hoverPriceDOMNode, onScrubEnd]);
182
+ return /*#__PURE__*/_jsxs("div", {
183
+ ref: containerRef,
184
+ className: scrubHandlerContainerCss,
185
+ children: [children, !disabled && /*#__PURE__*/_jsx("div", {
186
+ ref: observe,
187
+ "aria-label": "Price chart (use arrow keys to adjust view)",
188
+ className: scrubHandlerCssWithFocus,
189
+ onBlur: handleMouseLeave,
190
+ onFocus: handleMouseEnter,
191
+ onKeyDown: handleKeyDown,
192
+ onMouseEnter: handleMouseEnter,
193
+ onMouseLeave: handleMouseLeave,
194
+ onMouseMove: handleMouseMove,
195
+ role: "button",
196
+ tabIndex: 0
197
+ })]
198
+ });
199
+ };
200
+ export const SparklineInteractiveScrubHandler = /*#__PURE__*/memo(SparklineInteractiveScrubHandlerWithGeneric);
201
+ import "./SparklineInteractiveScrubHandler.css";
@@ -0,0 +1,39 @@
1
+ import React, { createContext, memo, useContext, useMemo, useState } from 'react';
2
+ import { noop } from '@coinbase/cds-utils';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ const SparklineInteractiveScrubContext = /*#__PURE__*/createContext({
5
+ setLineDOMNode: noop,
6
+ setMaskDOMNode: noop,
7
+ setHoverDateDOMNode: noop,
8
+ setHoverPriceDOMNode: noop,
9
+ lineDOMNode: null,
10
+ maskDOMNode: null,
11
+ hoverDateDOMNode: null,
12
+ hoverPriceDOMNode: null
13
+ });
14
+ export const SparklineInteractiveScrubProvider = /*#__PURE__*/memo(_ref => {
15
+ let {
16
+ children
17
+ } = _ref;
18
+ const [lineDOMNode, setLineDOMNode] = useState(null);
19
+ const [maskDOMNode, setMaskDOMNode] = useState(null);
20
+ const [hoverDateDOMNode, setHoverDateDOMNode] = useState(null);
21
+ const [hoverPriceDOMNode, setHoverPriceDOMNode] = useState(null);
22
+ const value = useMemo(() => ({
23
+ setLineDOMNode,
24
+ setMaskDOMNode,
25
+ lineDOMNode,
26
+ maskDOMNode,
27
+ hoverDateDOMNode,
28
+ setHoverDateDOMNode,
29
+ setHoverPriceDOMNode,
30
+ hoverPriceDOMNode
31
+ }), [hoverDateDOMNode, lineDOMNode, maskDOMNode, hoverPriceDOMNode]);
32
+ return /*#__PURE__*/_jsx(SparklineInteractiveScrubContext.Provider, {
33
+ value: value,
34
+ children: children
35
+ });
36
+ });
37
+ export function useSparklineInteractiveScrubContext() {
38
+ return useContext(SparklineInteractiveScrubContext);
39
+ }
@@ -0,0 +1,92 @@
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, useEffect, useMemo, useRef } from 'react';
7
+ import { animatedPathConfig } from '@coinbase/cds-common/animation/sparkline';
8
+ import { getAccessibleColor } from '@coinbase/cds-common/utils/getAccessibleColor';
9
+ import { getSparklineTransform } from '@coinbase/cds-common/visualizations/getSparklineTransform';
10
+ import { useTimeseriesPaths } from '@coinbase/cds-common/visualizations/useTimeseriesPaths';
11
+ import { interpolatePath } from 'd3-interpolate-path';
12
+ import { select } from 'd3-selection';
13
+ import { useTheme } from '../../../hooks/useTheme';
14
+ import { SparklinePath } from '../SparklinePath';
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ const {
17
+ duration,
18
+ easing
19
+ } = animatedPathConfig;
20
+ const TimeseriesPath = /*#__PURE__*/memo(_ref => {
21
+ let {
22
+ timeseries,
23
+ lineFn,
24
+ initialPath,
25
+ onRender,
26
+ areaFn
27
+ } = _ref;
28
+ const theme = useTheme();
29
+ const pathRef = useRef(null);
30
+ const {
31
+ strokeColor
32
+ } = timeseries;
33
+ const lineColor = strokeColor !== 'auto' ? strokeColor : getAccessibleColor({
34
+ background: theme.color.bg,
35
+ foreground: 'auto',
36
+ usage: 'graphic'
37
+ });
38
+ const newPath = useMemo(() => lineFn(timeseries.points), [lineFn, timeseries.points]);
39
+ const newArea = useMemo(() => onRender ? areaFn(timeseries.points) : null, [areaFn, onRender, timeseries.points]);
40
+ const playAnimation = useCallback(() => {
41
+ select(pathRef.current).transition().duration(duration).ease(easing).attrTween('d', function tween() {
42
+ const current = newPath;
43
+ return interpolatePath(initialPath, current);
44
+ });
45
+ }, [initialPath, newPath]);
46
+ useEffect(() => {
47
+ playAnimation();
48
+ onRender === null || onRender === void 0 || onRender({
49
+ path: newPath,
50
+ area: newArea
51
+ });
52
+ }, [newArea, newPath, onRender, playAnimation]);
53
+ return /*#__PURE__*/_jsx(SparklinePath, {
54
+ ref: pathRef,
55
+ path: initialPath,
56
+ stroke: lineColor
57
+ });
58
+ });
59
+ export const SparklineInteractiveTimeseriesPaths = /*#__PURE__*/memo(_ref2 => {
60
+ let {
61
+ data,
62
+ width,
63
+ height,
64
+ initialPath,
65
+ onRender
66
+ } = _ref2;
67
+ const {
68
+ lineFn,
69
+ areaFn
70
+ } = useTimeseriesPaths({
71
+ data,
72
+ width,
73
+ height
74
+ });
75
+ const translateProps = useMemo(() => getSparklineTransform(width, height), [width, height]);
76
+ const paths = data.map((timeseries, index) => {
77
+ return /*#__PURE__*/_jsx(TimeseriesPath, {
78
+ areaFn: areaFn,
79
+ initialPath: initialPath,
80
+ lineFn: lineFn,
81
+ onRender: index === 0 ? onRender : undefined,
82
+ timeseries: timeseries
83
+ }, timeseries.id);
84
+ });
85
+ return /*#__PURE__*/_jsx("svg", {
86
+ height: height,
87
+ width: width,
88
+ children: /*#__PURE__*/_jsx("g", _objectSpread(_objectSpread({}, translateProps), {}, {
89
+ children: paths
90
+ }))
91
+ });
92
+ });
@@ -0,0 +1,89 @@
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 from 'react';
7
+ import { figma } from '@figma/code-connect';
8
+ import { SparklineInteractive } from '../SparklineInteractive';
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ figma.connect(SparklineInteractive, 'https://www.figma.com/design/k5CtyJccNQUGMI5bI4lJ2g/✨-CDS-Components?node-id=320-14858&m=dev', {
11
+ imports: ["import { SparklineInteractive } from '@coinbase/cds-web/visualizations/sparkline'"],
12
+ props: {
13
+ compact: figma.boolean('compact'),
14
+ disableScrubbing: figma.boolean('scrubbing', {
15
+ false: true,
16
+ true: false
17
+ })
18
+ },
19
+ example: props => {
20
+ const periods = [{
21
+ label: '1H',
22
+ value: 'hour'
23
+ }, {
24
+ label: '1D',
25
+ value: 'day'
26
+ }, {
27
+ label: '1W',
28
+ value: 'week'
29
+ }, {
30
+ label: '1M',
31
+ value: 'month'
32
+ }, {
33
+ label: '1Y',
34
+ value: 'year'
35
+ }, {
36
+ label: 'All',
37
+ value: 'all'
38
+ }];
39
+ const data = {
40
+ hour: [],
41
+ day: [{
42
+ value: 49259.38,
43
+ date: new Date('2021-12-05T04:00:00.000Z')
44
+ }, {
45
+ value: 49163.79,
46
+ date: new Date('2021-12-05T04:05:00.000Z')
47
+ }, {
48
+ value: 49146.66,
49
+ date: new Date('2021-12-05T04:10:00.000Z')
50
+ }, {
51
+ value: 49083.92,
52
+ date: new Date('2021-12-05T04:15:00.000Z')
53
+ }, {
54
+ value: 49115.3,
55
+ date: new Date('2021-12-05T04:20:00.000Z')
56
+ }, {
57
+ value: 48992.14,
58
+ date: new Date('2021-12-05T04:25:00.000Z')
59
+ }, {
60
+ value: 49075.75,
61
+ date: new Date('2021-12-05T04:30:00.000Z')
62
+ }, {
63
+ value: 49025.78,
64
+ date: new Date('2021-12-05T04:35:00.000Z')
65
+ }, {
66
+ value: 49066.23,
67
+ date: new Date('2021-12-05T04:40:00.000Z')
68
+ }, {
69
+ value: 49247.82,
70
+ date: new Date('2021-12-05T04:45:00.000Z')
71
+ }],
72
+ week: [],
73
+ month: [],
74
+ year: [],
75
+ all: []
76
+ };
77
+ return /*#__PURE__*/_jsx(SparklineInteractive, _objectSpread({
78
+ data: data,
79
+ defaultPeriod: "day",
80
+ formatDate: date => date.toLocaleString('en-US', {
81
+ timeZone: 'America/New_York',
82
+ hour: 'numeric',
83
+ minute: 'numeric'
84
+ }),
85
+ periods: periods,
86
+ strokeColor: "#cb51bb"
87
+ }, props));
88
+ }
89
+ });
@@ -0,0 +1,2 @@
1
+ @layer cds{.fadeInCss-f5f0xq8.fadeInCss-f5f0xq8{-webkit-animation:cdsSparklineInteractiveFadeIn-fadeInCss-f5f0xq8 200ms cubic-bezier(0.6,0,0.15,1);animation:cdsSparklineInteractiveFadeIn-fadeInCss-f5f0xq8 200ms cubic-bezier(0.6,0,0.15,1);opacity:1;}@-webkit-keyframes cdsSparklineInteractiveFadeIn-fadeInCss-f5f0xq8{0%{opacity:0;}100%{opacity:1;}}@keyframes cdsSparklineInteractiveFadeIn-fadeInCss-f5f0xq8{0%{opacity:0;}100%{opacity:1;}}
2
+ .fadeOutCss-f1c3trwc.fadeOutCss-f1c3trwc{-webkit-animation:cdsSparklineInteractiveFadeOut-fadeOutCss-f1c3trwc 200ms cubic-bezier(0.6,0,0.15,1);animation:cdsSparklineInteractiveFadeOut-fadeOutCss-f1c3trwc 200ms cubic-bezier(0.6,0,0.15,1);opacity:0;}@-webkit-keyframes cdsSparklineInteractiveFadeOut-fadeOutCss-f1c3trwc{0%{opacity:1;}100%{opacity:0;}}@keyframes cdsSparklineInteractiveFadeOut-fadeOutCss-f1c3trwc{0%{opacity:1;}100%{opacity:0;}}}
@@ -0,0 +1,15 @@
1
+ import { fadeDuration } from '@coinbase/cds-common/tokens/sparkline';
2
+ import { cubicBezier } from '../../../animation/convertMotionConfig';
3
+
4
+ // keyframes are global so they should be namespaced
5
+ const fadeInCss = "fadeInCss-f5f0xq8";
6
+ const fadeOutCss = "fadeOutCss-f1c3trwc";
7
+ export function fadeOut(domNode) {
8
+ domNode === null || domNode === void 0 || domNode.classList.remove(fadeInCss);
9
+ domNode === null || domNode === void 0 || domNode.classList.add(fadeOutCss);
10
+ }
11
+ export function fadeIn(domNode) {
12
+ domNode === null || domNode === void 0 || domNode.classList.add(fadeInCss);
13
+ domNode === null || domNode === void 0 || domNode.classList.remove(fadeOutCss);
14
+ }
15
+ import "./fade.css";
@@ -0,0 +1,28 @@
1
+ import { useMemo } from 'react';
2
+ import { borderWidth, chartCompactHeight, chartHeight as chartHeightToken } from '@coinbase/cds-common/tokens/sparkline';
3
+ import { useSparklineInteractiveContext } from './SparklineInteractiveProvider';
4
+ export function useSparklineInteractiveConstants() {
5
+ const {
6
+ width: chartWidth,
7
+ compact
8
+ } = useSparklineInteractiveContext();
9
+ return useMemo(() => {
10
+ const chartHeight = compact ? chartCompactHeight : chartHeightToken;
11
+ const xRange = [borderWidth, chartWidth - borderWidth];
12
+ const yRange = [chartHeight - borderWidth, borderWidth];
13
+ const startX = 0;
14
+ const endX = xRange[1];
15
+ return {
16
+ chartWidth,
17
+ chartHeight,
18
+ chartDimensionStyles: {
19
+ height: chartHeight,
20
+ width: chartWidth
21
+ },
22
+ xRange,
23
+ yRange,
24
+ startX,
25
+ endX
26
+ };
27
+ }, [chartWidth, compact]);
28
+ }