@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,254 @@
1
+ import { area as d3Area, curveBumpX, curveBumpY, curveCatmullRom, curveLinear, curveLinearClosed, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore, line as d3Line } from 'd3-shape';
2
+ import { getPointOnScale, projectPoints } from './point';
3
+ import { isCategoricalScale } from './scale';
4
+
5
+ /**
6
+ * Default enter transition for path-based components (Line, Area).
7
+ * `{ type: 'tween', duration: 0.5 }`
8
+ */
9
+ export const defaultPathEnterTransition = {
10
+ type: 'tween',
11
+ duration: 0.5
12
+ };
13
+ /**
14
+ * Get the d3 curve function for a path.
15
+ * See https://d3js.org/d3-shape/curve
16
+ * @param curve - The curve type. Defaults to 'linear'.
17
+ * @param layout - The chart layout. Defaults to 'vertical'.
18
+ * @returns The d3 curve function.
19
+ */
20
+ export const getPathCurveFunction = function () {
21
+ let curve = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'linear';
22
+ let layout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'vertical';
23
+ switch (curve) {
24
+ case 'catmullRom':
25
+ return curveCatmullRom;
26
+ case 'monotone':
27
+ // For vertical layout, X is the independent axis (category/index), so use MonotoneX
28
+ // For horizontal layout, Y is the independent axis (category/index), so use MonotoneY
29
+ return layout !== 'horizontal' ? curveMonotoneX : curveMonotoneY;
30
+ case 'natural':
31
+ return curveNatural;
32
+ case 'step':
33
+ return curveStep;
34
+ case 'stepBefore':
35
+ return curveStepBefore;
36
+ case 'stepAfter':
37
+ return curveStepAfter;
38
+ case 'bump':
39
+ // For vertical layout, X is the independent axis (category/index), so use BumpX
40
+ // For horizontal layout, Y is the independent axis (category/index), so use BumpY
41
+ return layout !== 'horizontal' ? curveBumpX : curveBumpY;
42
+ case 'linearClosed':
43
+ return curveLinearClosed;
44
+ case 'linear':
45
+ default:
46
+ return curveLinear;
47
+ }
48
+ };
49
+
50
+ /**
51
+ * Generates an SVG line path string from data using chart scale functions.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const chartScale = getChartScale({ chartRect, domain, range, xScale, yScale });
56
+ * const path = getLinePath({ data: [1, 2, 3], chartScale, curve: 'bump' });
57
+ * ```
58
+ */
59
+ export const getLinePath = _ref => {
60
+ var _pathGenerator;
61
+ let {
62
+ data,
63
+ curve = 'bump',
64
+ xScale,
65
+ yScale,
66
+ xData,
67
+ yData,
68
+ connectNulls,
69
+ layout = 'vertical'
70
+ } = _ref;
71
+ if (data.length === 0) {
72
+ return '';
73
+ }
74
+ const curveFunction = getPathCurveFunction(curve, layout);
75
+ const dataPoints = projectPoints({
76
+ data,
77
+ xScale,
78
+ yScale,
79
+ xData,
80
+ yData,
81
+ layout
82
+ });
83
+
84
+ // When connectNulls is true, filter out null values before rendering
85
+ // When false, use defined() to create gaps in the line
86
+ const filteredPoints = connectNulls ? dataPoints.filter(d => d !== null) : dataPoints;
87
+ const pathGenerator = d3Line().x(d => d.x).y(d => d.y).curve(curveFunction).defined(d => connectNulls || d !== null);
88
+ return (_pathGenerator = pathGenerator(filteredPoints)) !== null && _pathGenerator !== void 0 ? _pathGenerator : '';
89
+ };
90
+
91
+ /**
92
+ * Generates an SVG area path string from data using chart scale functions.
93
+ * Supports both single values (area from baseline to value) and tuples ([baseline, value]).
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * // Single values - area from baseline to value
98
+ * const area = getAreaPath({
99
+ * data: [1, 2, 3],
100
+ * xScale,
101
+ * yScale,
102
+ * });
103
+ *
104
+ * // Range values - area from low to high
105
+ * const rangeArea = getAreaPath({
106
+ * data: [[0, 3], [2, 4], [1, 5]],
107
+ * xScale,
108
+ * yScale,
109
+ * curve: 'monotone'
110
+ * });
111
+ * ```
112
+ */
113
+ export const getAreaPath = _ref2 => {
114
+ let {
115
+ data,
116
+ curve = 'bump',
117
+ xScale,
118
+ yScale,
119
+ xData,
120
+ yData,
121
+ connectNulls,
122
+ layout = 'vertical'
123
+ } = _ref2;
124
+ if (data.length === 0) {
125
+ return '';
126
+ }
127
+ const curveFunction = getPathCurveFunction(curve, layout);
128
+ const categoryAxisIsX = layout !== 'horizontal';
129
+
130
+ // Determine baseline from the value scale
131
+ const valueScale = categoryAxisIsX ? yScale : xScale;
132
+ const domain = valueScale.domain();
133
+ const min = Math.min(...domain);
134
+ const normalizedData = data.map(item => {
135
+ if (item === null) {
136
+ return null;
137
+ }
138
+ if (Array.isArray(item)) {
139
+ if (item.length >= 2 && typeof item[0] === 'number' && typeof item[1] === 'number') {
140
+ return [item[0], item[1]];
141
+ }
142
+ return null;
143
+ }
144
+ if (typeof item === 'number') {
145
+ return [min, item];
146
+ }
147
+ return null;
148
+ });
149
+ const dataPoints = normalizedData.map((range, index) => {
150
+ if (range === null) {
151
+ return {
152
+ x: 0,
153
+ y: 0,
154
+ low: null,
155
+ high: null,
156
+ isValid: false
157
+ };
158
+ }
159
+
160
+ // Determine the position along the independent (index) axis
161
+ let indexValue = index;
162
+ const indexScale = categoryAxisIsX ? xScale : yScale;
163
+ const indexData = categoryAxisIsX ? xData : yData;
164
+ if (!isCategoricalScale(indexScale) && indexData && indexData[index] !== undefined) {
165
+ indexValue = indexData[index];
166
+ }
167
+ const pos = getPointOnScale(indexValue, indexScale);
168
+ const low = getPointOnScale(range[0], valueScale);
169
+ const high = getPointOnScale(range[1], valueScale);
170
+ return {
171
+ x: categoryAxisIsX ? pos : 0,
172
+ y: !categoryAxisIsX ? pos : 0,
173
+ low,
174
+ high,
175
+ isValid: true
176
+ };
177
+ });
178
+
179
+ // When connectNulls is true, filter out invalid points before rendering
180
+ // When false, use defined() to create gaps in the area
181
+ const filteredPoints = connectNulls ? dataPoints.filter(d => d.isValid) : dataPoints;
182
+ const areaGenerator = d3Area();
183
+ if (categoryAxisIsX) {
184
+ areaGenerator.x(d => d.x).y0(d => {
185
+ var _d$low;
186
+ return (_d$low = d.low) !== null && _d$low !== void 0 ? _d$low : 0;
187
+ }).y1(d => {
188
+ var _d$high;
189
+ return (_d$high = d.high) !== null && _d$high !== void 0 ? _d$high : 0;
190
+ });
191
+ } else {
192
+ areaGenerator.y(d => d.y).x0(d => {
193
+ var _d$low2;
194
+ return (_d$low2 = d.low) !== null && _d$low2 !== void 0 ? _d$low2 : 0;
195
+ }).x1(d => {
196
+ var _d$high2;
197
+ return (_d$high2 = d.high) !== null && _d$high2 !== void 0 ? _d$high2 : 0;
198
+ });
199
+ }
200
+ areaGenerator.curve(curveFunction).defined(d => connectNulls || d.isValid && d.low != null && d.high != null);
201
+ const result = areaGenerator(filteredPoints);
202
+ return result !== null && result !== void 0 ? result : '';
203
+ };
204
+
205
+ /**
206
+ * Converts line coordinates to an SVG path string.
207
+ * Useful for rendering axis lines and tick marks.
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * const path = lineToPath(0, 0, 100, 100);
212
+ * // Returns: "M 0 0 L 100 100"
213
+ * ```
214
+ */
215
+ export const lineToPath = (x1, y1, x2, y2) => {
216
+ return "M".concat(x1, ",").concat(y1, " L").concat(x2, ",").concat(y2);
217
+ };
218
+
219
+ /**
220
+ * Creates an SVG path string for a rectangle with selective corner rounding.
221
+ * Useful for creating bars in charts with optional rounded corners.
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * // Simple rectangle bar
226
+ * const barPath = getBarPath(10, 20, 50, 100, 0, false, false);
227
+ *
228
+ * // Bar with rounded top corners
229
+ * const roundedPath = getBarPath(10, 20, 50, 100, 8, true, false);
230
+ * ```
231
+ */
232
+ export const getBarPath = function (x, y, width, height, radius, roundTop, roundBottom) {
233
+ let layout = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 'vertical';
234
+ const isVerticalLayout = layout === 'vertical';
235
+ const roundBothSides = roundTop && roundBottom;
236
+ const r = Math.min(radius, width / 2, roundBothSides ? height / 2 : height);
237
+ const rTL = isVerticalLayout ? roundTop ? r : 0 : roundBottom ? r : 0;
238
+ const rTR = isVerticalLayout ? roundTop ? r : 0 : roundTop ? r : 0;
239
+ const rBR = isVerticalLayout ? roundBottom ? r : 0 : roundTop ? r : 0;
240
+ const rBL = isVerticalLayout ? roundBottom ? r : 0 : roundBottom ? r : 0;
241
+
242
+ // Build path with selective rounding
243
+ let path = "M ".concat(x + rTL, " ").concat(y);
244
+ path += " L ".concat(x + width - rTR, " ").concat(y);
245
+ path += " A ".concat(rTR, " ").concat(rTR, " 0 0 1 ").concat(x + width, " ").concat(y + rTR);
246
+ path += " L ".concat(x + width, " ").concat(y + height - rBR);
247
+ path += " A ".concat(rBR, " ").concat(rBR, " 0 0 1 ").concat(x + width - rBR, " ").concat(y + height);
248
+ path += " L ".concat(x + rBL, " ").concat(y + height);
249
+ path += " A ".concat(rBL, " ").concat(rBL, " 0 0 1 ").concat(x, " ").concat(y + height - rBL);
250
+ path += " L ".concat(x, " ").concat(y + rTL);
251
+ path += " A ".concat(rTL, " ").concat(rTL, " 0 0 1 ").concat(x + rTL, " ").concat(y);
252
+ path += ' Z';
253
+ return path;
254
+ };
@@ -0,0 +1,214 @@
1
+ import { isCategoricalScale, isLogScale } from './scale';
2
+
3
+ /**
4
+ * Position a label should be placed relative to the point
5
+ *
6
+ * @example
7
+ * 'top' would have the label be located above the point itself,
8
+ * and thus the vertical alignment of that text would be bottom.
9
+ */
10
+
11
+ /**
12
+ * Get a point from a data value and a scale.
13
+ *
14
+ * @param dataValue - The data value to convert to a pixel position.
15
+ * @param scale - The scale function.
16
+ * @param anchor (@default 'middle') - For band scales, where to anchor the point within the band.
17
+ * @returns The pixel value (@default 0 if data value is not defined in scale).
18
+ */
19
+ export const getPointOnScale = function (dataValue, scale) {
20
+ var _scale;
21
+ let anchor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'middle';
22
+ if (isCategoricalScale(scale)) {
23
+ var _bandScale$bandwidth, _bandScale$bandwidth2, _bandScale$step, _bandScale$step2;
24
+ const bandScale = scale;
25
+ const bandStart = bandScale(dataValue);
26
+ if (bandStart === undefined) return 0;
27
+ const bandwidth = (_bandScale$bandwidth = (_bandScale$bandwidth2 = bandScale.bandwidth) === null || _bandScale$bandwidth2 === void 0 ? void 0 : _bandScale$bandwidth2.call(bandScale)) !== null && _bandScale$bandwidth !== void 0 ? _bandScale$bandwidth : 0;
28
+ const step = (_bandScale$step = (_bandScale$step2 = bandScale.step) === null || _bandScale$step2 === void 0 ? void 0 : _bandScale$step2.call(bandScale)) !== null && _bandScale$step !== void 0 ? _bandScale$step : bandwidth;
29
+ const paddingOffset = (step - bandwidth) / 2;
30
+ const stepStart = bandStart - paddingOffset;
31
+ switch (anchor) {
32
+ case 'stepStart':
33
+ return stepStart;
34
+ case 'bandStart':
35
+ return bandStart;
36
+ case 'middle':
37
+ return bandStart + bandwidth / 2;
38
+ case 'bandEnd':
39
+ return bandStart + bandwidth;
40
+ case 'stepEnd':
41
+ return stepStart + step;
42
+ }
43
+ }
44
+
45
+ // For log scales, ensure the value is positive
46
+ let adjustedValue = dataValue;
47
+ if (isLogScale(scale) && dataValue <= 0) {
48
+ adjustedValue = 0.001; // Use a small positive value for log scales
49
+ }
50
+ return (_scale = scale(adjustedValue)) !== null && _scale !== void 0 ? _scale : 0;
51
+ };
52
+
53
+ /**
54
+ * Projects a data point to pixel coordinates using the chart scale.
55
+ * Automatically handles log scale transformations for zero/negative values.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const chartScale = getChartScale({ chartRect, domain, range, xScale, yScale });
60
+ * const pixelCoord = projectPoint({ x: 5, y: 10, chartScale });
61
+ * ```
62
+ * @example
63
+ * ```typescript
64
+ * const chartScale = getChartScale({ chartRect, domain, range, xScale, yScale });
65
+ * const pixelCoord = projectPoint({ x: 2, y: 10, chartScale, xData: ['Jan', 'Feb', 'Mar'] });
66
+ * ```
67
+ */
68
+ export const projectPoint = _ref => {
69
+ let {
70
+ x,
71
+ y,
72
+ xScale,
73
+ yScale
74
+ } = _ref;
75
+ return {
76
+ x: getPointOnScale(x, xScale),
77
+ y: getPointOnScale(y, yScale)
78
+ };
79
+ };
80
+
81
+ /**
82
+ * Projects multiple data points to pixel coordinates using chart scale functions.
83
+ * Handles both numeric and band scales automatically.
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const chartScale = getChartScale({ chartRect, domain, range, xScale, yScale });
88
+ * const pixelPoints = projectPoints({ data, chartScale });
89
+ * // For mixed scales
90
+ * const pixelPoints = projectPoints({ data, chartScale, xData: ['Jan', 'Feb', 'Mar'] });
91
+ * ```
92
+ */
93
+ export const projectPoints = _ref2 => {
94
+ let {
95
+ data,
96
+ xScale,
97
+ yScale,
98
+ xData,
99
+ yData,
100
+ layout = 'vertical'
101
+ } = _ref2;
102
+ if (data.length === 0) {
103
+ return [];
104
+ }
105
+ return data.map((value, index) => {
106
+ if (value === null) {
107
+ return null;
108
+ }
109
+ if (typeof value === 'object' && 'x' in value && 'y' in value) {
110
+ return projectPoint({
111
+ x: value.x,
112
+ y: value.y,
113
+ xScale,
114
+ yScale
115
+ });
116
+ }
117
+
118
+ // Determine values/scales based on role (index vs value) and layout.
119
+ const categoryAxisIsX = layout !== 'horizontal';
120
+ const indexScale = categoryAxisIsX ? xScale : yScale;
121
+ const indexData = categoryAxisIsX ? xData : yData;
122
+
123
+ // 1. Calculate position along the index axis (categorical or numeric domain).
124
+ let indexValue = index;
125
+ if (!isCategoricalScale(indexScale)) {
126
+ if (indexData && Array.isArray(indexData) && indexData.length > 0) {
127
+ if (typeof indexData[0] === 'number') {
128
+ var _index;
129
+ indexValue = (_index = indexData[index]) !== null && _index !== void 0 ? _index : index;
130
+ }
131
+ }
132
+ }
133
+
134
+ // 2. Calculate position along the value axis (measured magnitude).
135
+ const valueAsNumber = value;
136
+
137
+ // 3. Project final coordinates based on layout.
138
+ if (categoryAxisIsX) {
139
+ return projectPoint({
140
+ x: indexValue,
141
+ y: valueAsNumber,
142
+ xScale,
143
+ yScale
144
+ });
145
+ }
146
+ return projectPoint({
147
+ x: valueAsNumber,
148
+ y: indexValue,
149
+ xScale,
150
+ yScale
151
+ });
152
+ });
153
+ };
154
+
155
+ /**
156
+ * Determines text alignment based on label position.
157
+ * For example, a 'top' position needs the text aligned to the 'bottom' so it appears above the point.
158
+ */
159
+ export const getAlignmentFromPosition = position => {
160
+ let horizontalAlignment = 'center';
161
+ let verticalAlignment = 'middle';
162
+ switch (position) {
163
+ case 'top':
164
+ verticalAlignment = 'bottom';
165
+ break;
166
+ case 'bottom':
167
+ verticalAlignment = 'top';
168
+ break;
169
+ case 'left':
170
+ horizontalAlignment = 'right';
171
+ break;
172
+ case 'right':
173
+ horizontalAlignment = 'left';
174
+ break;
175
+ case 'center':
176
+ default:
177
+ horizontalAlignment = 'center';
178
+ verticalAlignment = 'middle';
179
+ break;
180
+ }
181
+ return {
182
+ horizontalAlignment,
183
+ verticalAlignment
184
+ };
185
+ };
186
+
187
+ /**
188
+ * Calculates the final label coordinates by applying offset based on position.
189
+ */
190
+ export const getLabelCoordinates = (x, y, position, offset) => {
191
+ let dx = 0;
192
+ let dy = 0;
193
+ switch (position) {
194
+ case 'top':
195
+ dy = -offset;
196
+ break;
197
+ case 'bottom':
198
+ dy = offset;
199
+ break;
200
+ case 'left':
201
+ dx = -offset;
202
+ break;
203
+ case 'right':
204
+ dx = offset;
205
+ break;
206
+ case 'center':
207
+ default:
208
+ break;
209
+ }
210
+ return {
211
+ x: x + dx,
212
+ y: y + dy
213
+ };
214
+ };
@@ -0,0 +1,59 @@
1
+ import { scaleBand, scaleLinear, scaleLog } from 'd3-scale';
2
+
3
+ // https://d3js.org/d3-scale - ideal next scale would be time
4
+
5
+ export const isCategoricalScale = scale => {
6
+ return scale !== undefined && 'bandwidth' in scale && typeof scale.bandwidth === 'function';
7
+ };
8
+ export const isNumericScale = scale => {
9
+ return scale !== undefined && !isCategoricalScale(scale);
10
+ };
11
+
12
+ /**
13
+ * Type guard to check if a scale is logarithmic.
14
+ */
15
+ export const isLogScale = scale => {
16
+ return scale !== undefined && 'base' in scale && typeof scale.base === 'function';
17
+ };
18
+
19
+ /**
20
+ * Create a numeric scale (linear or logarithmic)
21
+ * @returns A numeric scale function
22
+ */
23
+ export const getNumericScale = _ref => {
24
+ let {
25
+ scaleType,
26
+ domain,
27
+ range
28
+ } = _ref;
29
+ const scale = scaleType === 'log' ? scaleLog() : scaleLinear();
30
+ return scale.domain([domain.min, domain.max]).range([range.min, range.max]);
31
+ };
32
+
33
+ /**
34
+ * Create a categorical scale (band)
35
+ * @returns A categorical scale function
36
+ */
37
+ export const getCategoricalScale = _ref2 => {
38
+ let {
39
+ domain,
40
+ range,
41
+ padding = 0.1
42
+ } = _ref2;
43
+ const domainArray = Array.from({
44
+ length: domain.max - domain.min + 1
45
+ }, (_, i) => i);
46
+ const scale = scaleBand().domain(domainArray).range([range.min, range.max]).paddingInner(padding).paddingOuter(padding / 2);
47
+ return scale;
48
+ };
49
+
50
+ /**
51
+ * Anchor position for points on a scale. Currently used only for band scales.
52
+ *
53
+ * For band scales, this determines where within the band to position a point:
54
+ * - `'stepStart'` - At the start of the step
55
+ * - `'bandStart'` - At the start of the band
56
+ * - `'middle'` - At the center of the band
57
+ * - `'bandEnd'` - At the end of the band
58
+ * - `'stepEnd'` - At the end of the step
59
+ */
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Determines which side (left/right) to place scrubber labels based on available space.
3
+ * Honors the preferred side when there's enough space, otherwise switches to the opposite side.
4
+ */
5
+ export const getLabelPosition = function (beaconX, maxLabelWidth, drawingArea) {
6
+ let xOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 16;
7
+ let preferredSide = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'right';
8
+ if (drawingArea.width <= 0 || drawingArea.height <= 0) {
9
+ return preferredSide;
10
+ }
11
+ const requiredSpace = maxLabelWidth + xOffset;
12
+ if (preferredSide === 'right') {
13
+ const availableSpace = drawingArea.x + drawingArea.width - beaconX;
14
+ return requiredSpace <= availableSpace ? 'right' : 'left';
15
+ }
16
+ const availableSpace = beaconX - drawingArea.x;
17
+ return requiredSpace <= availableSpace ? 'left' : 'right';
18
+ };
19
+ /**
20
+ * Calculates Y positions for all labels avoiding overlaps while maintaining order.
21
+ */
22
+ export const calculateLabelYPositions = (dimensions, drawingArea, labelHeight, minGap) => {
23
+ if (dimensions.length === 0) {
24
+ return new Map();
25
+ }
26
+
27
+ // Sort by preferred Y values and create working labels
28
+ const sortedLabels = [...dimensions].sort((a, b) => a.preferredY - b.preferredY).map(dim => ({
29
+ seriesId: dim.seriesId,
30
+ preferredY: dim.preferredY,
31
+ finalY: dim.preferredY
32
+ }));
33
+
34
+ // Initial bounds fitting
35
+ const minY = drawingArea.y + labelHeight / 2;
36
+ const maxY = drawingArea.y + drawingArea.height - labelHeight / 2;
37
+ const requiredDistance = labelHeight + minGap;
38
+ for (const label of sortedLabels) {
39
+ // Clamp each label to the drawing area
40
+ label.finalY = Math.max(minY, Math.min(maxY, label.preferredY));
41
+ }
42
+
43
+ // First pass: push down any overlapping labels
44
+ for (let i = 1; i < sortedLabels.length; i++) {
45
+ const prev = sortedLabels[i - 1];
46
+ const current = sortedLabels[i];
47
+ const minAllowedY = prev.finalY + requiredDistance;
48
+ if (current.finalY < minAllowedY) {
49
+ current.finalY = minAllowedY;
50
+ }
51
+ }
52
+
53
+ // Find collision groups - groups of labels that are tightly packed (gap < minGap between them)
54
+ const collisionGroups = [];
55
+ let currentGroup = [sortedLabels[0]];
56
+ for (let i = 1; i < sortedLabels.length; i++) {
57
+ const prev = sortedLabels[i - 1];
58
+ const current = sortedLabels[i];
59
+ const gap = current.finalY - prev.finalY - labelHeight;
60
+ if (gap < minGap + 0.01) {
61
+ // Labels are touching or very close - part of same collision group
62
+ currentGroup.push(current);
63
+ } else {
64
+ // Gap is large enough - start new group
65
+ collisionGroups.push(currentGroup);
66
+ currentGroup = [current];
67
+ }
68
+ }
69
+ collisionGroups.push(currentGroup);
70
+
71
+ // Process each collision group - optimize positioning to minimize displacement
72
+ for (const group of collisionGroups) {
73
+ if (group.length === 1) {
74
+ // Single label, already at best position
75
+ continue;
76
+ }
77
+ const groupLastLabel = group[group.length - 1];
78
+ const groupFirstLabel = group[0];
79
+ const groupOverflow = groupLastLabel.finalY + labelHeight / 2 - (drawingArea.y + drawingArea.height);
80
+
81
+ // Calculate the ideal center point for this group
82
+ const groupPreferredCenter = group.reduce((sum, label) => sum + label.preferredY, 0) / group.length;
83
+ const groupTotalNeeded = group.length * labelHeight + (group.length - 1) * minGap;
84
+ if (groupOverflow <= 0) {
85
+ // Group fits, but let's center it better if possible
86
+ // Calculate how much we can shift up/down to center around preferred positions
87
+ const currentCenter = (groupFirstLabel.finalY + groupLastLabel.finalY) / 2;
88
+ const desiredShift = groupPreferredCenter - currentCenter;
89
+
90
+ // Calculate max shift in each direction
91
+ const maxShiftUp = groupFirstLabel.finalY - minY;
92
+ const maxShiftDown = maxY - groupLastLabel.finalY;
93
+
94
+ // Apply the shift, constrained by boundaries
95
+ const actualShift = Math.max(-maxShiftUp, Math.min(maxShiftDown, desiredShift));
96
+ if (Math.abs(actualShift) > 0.01) {
97
+ for (const label of group) {
98
+ label.finalY += actualShift;
99
+ }
100
+ }
101
+ } else {
102
+ // Group overflows - need to adjust
103
+ const groupStartY = groupFirstLabel.finalY - labelHeight / 2;
104
+ const availableSpace = drawingArea.y + drawingArea.height - groupStartY;
105
+ const maxShiftUp = groupFirstLabel.finalY - minY;
106
+ if (maxShiftUp >= groupOverflow) {
107
+ // Can shift entire group up to fit
108
+ for (const label of group) {
109
+ label.finalY -= groupOverflow;
110
+ }
111
+ } else if (groupTotalNeeded <= availableSpace) {
112
+ // Can't shift enough, but there's room - redistribute with proper spacing
113
+ let currentY = Math.max(minY, groupFirstLabel.finalY - maxShiftUp);
114
+ const gap = (availableSpace - group.length * labelHeight) / Math.max(1, group.length - 1);
115
+ for (const label of group) {
116
+ label.finalY = currentY;
117
+ currentY += labelHeight + gap;
118
+ }
119
+ } else {
120
+ // Not enough space even with compression - compress gaps and fit to bottom
121
+ const compressedGap = Math.max(1, (availableSpace - group.length * labelHeight) / Math.max(1, group.length - 1));
122
+ // Position so last label is at maxY
123
+ let currentY = maxY - (group.length - 1) * (labelHeight + compressedGap);
124
+ currentY = Math.max(minY, currentY);
125
+ for (const label of group) {
126
+ label.finalY = currentY;
127
+ currentY += labelHeight + compressedGap;
128
+ }
129
+ }
130
+ }
131
+ }
132
+ const result = new Map();
133
+ for (const label of sortedLabels) {
134
+ result.set(label.seriesId, label.finalY);
135
+ }
136
+ return result;
137
+ };