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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +2 -3
  3. package/dts/accordion/AccordionHeader.d.ts +16 -18
  4. package/dts/accordion/AccordionHeader.d.ts.map +1 -1
  5. package/dts/accordion/AccordionItem.d.ts +2 -2
  6. package/dts/accordion/AccordionItem.d.ts.map +1 -1
  7. package/dts/accordion/AccordionPanel.d.ts +10 -12
  8. package/dts/accordion/AccordionPanel.d.ts.map +1 -1
  9. package/dts/alpha/carousel/Carousel.d.ts +27 -29
  10. package/dts/alpha/carousel/Carousel.d.ts.map +1 -1
  11. package/dts/alpha/carousel/useCarousel.d.ts +1 -1
  12. package/dts/alpha/carousel/useCarousel.d.ts.map +1 -1
  13. package/dts/alpha/combobox/Combobox.d.ts +1 -1
  14. package/dts/alpha/combobox/Combobox.d.ts.map +1 -1
  15. package/dts/alpha/combobox/DefaultComboboxControl.d.ts +1 -0
  16. package/dts/alpha/combobox/DefaultComboboxControl.d.ts.map +1 -1
  17. package/dts/alpha/data-card/DataCard.d.ts +15 -17
  18. package/dts/alpha/data-card/DataCard.d.ts.map +1 -1
  19. package/dts/alpha/select/DefaultSelectControl.d.ts +45 -49
  20. package/dts/alpha/select/DefaultSelectControl.d.ts.map +1 -1
  21. package/dts/alpha/select/DefaultSelectDropdown.d.ts.map +1 -1
  22. package/dts/alpha/select/DefaultSelectOption.d.ts.map +1 -1
  23. package/dts/alpha/select/types.d.ts +5 -4
  24. package/dts/alpha/select/types.d.ts.map +1 -1
  25. package/dts/animation/Lottie.d.ts +36 -38
  26. package/dts/animation/Lottie.d.ts.map +1 -1
  27. package/dts/animation/LottieStatusAnimation.d.ts +1 -1
  28. package/dts/animation/LottieStatusAnimation.d.ts.map +1 -1
  29. package/dts/animation/createLottie.d.ts +1 -1
  30. package/dts/animation/createLottie.d.ts.map +1 -1
  31. package/dts/banner/Banner.d.ts +120 -51
  32. package/dts/banner/Banner.d.ts.map +1 -1
  33. package/dts/buttons/AvatarButton.d.ts +90 -3
  34. package/dts/buttons/AvatarButton.d.ts.map +1 -1
  35. package/dts/buttons/Button.d.ts +63 -66
  36. package/dts/buttons/Button.d.ts.map +1 -1
  37. package/dts/buttons/DefaultSlideButtonBackground.d.ts +17 -19
  38. package/dts/buttons/DefaultSlideButtonBackground.d.ts.map +1 -1
  39. package/dts/buttons/DefaultSlideButtonHandle.d.ts +36 -28
  40. package/dts/buttons/DefaultSlideButtonHandle.d.ts.map +1 -1
  41. package/dts/buttons/IconButton.d.ts +22 -24
  42. package/dts/buttons/IconButton.d.ts.map +1 -1
  43. package/dts/buttons/IconCounterButton.d.ts +37 -25
  44. package/dts/buttons/IconCounterButton.d.ts.map +1 -1
  45. package/dts/buttons/SlideButton.d.ts +110 -106
  46. package/dts/buttons/SlideButton.d.ts.map +1 -1
  47. package/dts/cards/AnnouncementCard.d.ts +2 -6
  48. package/dts/cards/AnnouncementCard.d.ts.map +1 -1
  49. package/dts/cards/Card.d.ts +4 -0
  50. package/dts/cards/Card.d.ts.map +1 -1
  51. package/dts/cards/CardGroup.d.ts +17 -19
  52. package/dts/cards/CardGroup.d.ts.map +1 -1
  53. package/dts/cards/CardMedia.d.ts.map +1 -1
  54. package/dts/cards/CardRoot.d.ts +5 -7
  55. package/dts/cards/CardRoot.d.ts.map +1 -1
  56. package/dts/cards/ContentCard/ContentCard.d.ts +3 -5
  57. package/dts/cards/ContentCard/ContentCard.d.ts.map +1 -1
  58. package/dts/cards/ContentCard/ContentCardBody.d.ts +62 -65
  59. package/dts/cards/ContentCard/ContentCardBody.d.ts.map +1 -1
  60. package/dts/cards/ContentCard/ContentCardFooter.d.ts +21 -24
  61. package/dts/cards/ContentCard/ContentCardFooter.d.ts.map +1 -1
  62. package/dts/cards/ContentCard/ContentCardHeader.d.ts +50 -53
  63. package/dts/cards/ContentCard/ContentCardHeader.d.ts.map +1 -1
  64. package/dts/cards/DataCard.d.ts.map +1 -1
  65. package/dts/cards/FeatureEntryCard.d.ts +2 -6
  66. package/dts/cards/FeatureEntryCard.d.ts.map +1 -1
  67. package/dts/cards/FeedCard.d.ts +2 -10
  68. package/dts/cards/FeedCard.d.ts.map +1 -1
  69. package/dts/cards/LikeButton.d.ts +1 -1
  70. package/dts/cards/LikeButton.d.ts.map +1 -1
  71. package/dts/cards/MediaCard/index.d.ts +13 -15
  72. package/dts/cards/MediaCard/index.d.ts.map +1 -1
  73. package/dts/cards/MessagingCard/index.d.ts +8 -10
  74. package/dts/cards/MessagingCard/index.d.ts.map +1 -1
  75. package/dts/cards/NudgeCard.d.ts +5 -1
  76. package/dts/cards/NudgeCard.d.ts.map +1 -1
  77. package/dts/cards/UpsellCard.d.ts +6 -2
  78. package/dts/cards/UpsellCard.d.ts.map +1 -1
  79. package/dts/carousel/Carousel.d.ts +156 -167
  80. package/dts/carousel/Carousel.d.ts.map +1 -1
  81. package/dts/carousel/DefaultCarouselPagination.d.ts.map +1 -1
  82. package/dts/cells/Cell.d.ts +3 -2
  83. package/dts/cells/Cell.d.ts.map +1 -1
  84. package/dts/cells/ContentCellFallback.d.ts +4 -0
  85. package/dts/cells/ContentCellFallback.d.ts.map +1 -1
  86. package/dts/cells/ListCell.d.ts.map +1 -1
  87. package/dts/chips/Chip.d.ts +19 -21
  88. package/dts/chips/Chip.d.ts.map +1 -1
  89. package/dts/chips/ChipProps.d.ts +2 -6
  90. package/dts/chips/ChipProps.d.ts.map +1 -1
  91. package/dts/chips/InputChip.d.ts +21 -23
  92. package/dts/chips/InputChip.d.ts.map +1 -1
  93. package/dts/chips/MediaChip.d.ts +19 -21
  94. package/dts/chips/MediaChip.d.ts.map +1 -1
  95. package/dts/chips/SelectChip.d.ts +8 -10
  96. package/dts/chips/SelectChip.d.ts.map +1 -1
  97. package/dts/coachmark/Coachmark.d.ts +56 -59
  98. package/dts/coachmark/Coachmark.d.ts.map +1 -1
  99. package/dts/collapsible/Collapsible.d.ts +30 -32
  100. package/dts/collapsible/Collapsible.d.ts.map +1 -1
  101. package/dts/controls/CheckboxGroup.d.ts +2 -29
  102. package/dts/controls/CheckboxGroup.d.ts.map +1 -1
  103. package/dts/controls/HelperText.d.ts +7 -0
  104. package/dts/controls/HelperText.d.ts.map +1 -1
  105. package/dts/controls/InputIconButton.d.ts +18 -20
  106. package/dts/controls/InputIconButton.d.ts.map +1 -1
  107. package/dts/controls/InputStack.d.ts +10 -1
  108. package/dts/controls/InputStack.d.ts.map +1 -1
  109. package/dts/controls/NativeInput.d.ts +33 -35
  110. package/dts/controls/NativeInput.d.ts.map +1 -1
  111. package/dts/controls/RadioGroup.d.ts +2 -23
  112. package/dts/controls/RadioGroup.d.ts.map +1 -1
  113. package/dts/controls/SearchInput.d.ts +99 -101
  114. package/dts/controls/SearchInput.d.ts.map +1 -1
  115. package/dts/controls/Select.d.ts +23 -25
  116. package/dts/controls/Select.d.ts.map +1 -1
  117. package/dts/controls/SelectContext.d.ts +12 -0
  118. package/dts/controls/SelectContext.d.ts.map +1 -1
  119. package/dts/controls/SelectOption.d.ts +5 -2
  120. package/dts/controls/SelectOption.d.ts.map +1 -1
  121. package/dts/controls/Switch.d.ts +45 -5
  122. package/dts/controls/Switch.d.ts.map +1 -1
  123. package/dts/controls/TextInput.d.ts +82 -81
  124. package/dts/controls/TextInput.d.ts.map +1 -1
  125. package/dts/dates/Calendar.d.ts +63 -65
  126. package/dts/dates/Calendar.d.ts.map +1 -1
  127. package/dts/dates/DateInput.d.ts +8 -10
  128. package/dts/dates/DateInput.d.ts.map +1 -1
  129. package/dts/dates/DatePicker.d.ts +73 -75
  130. package/dts/dates/DatePicker.d.ts.map +1 -1
  131. package/dts/dots/DotCount.d.ts +12 -0
  132. package/dts/dots/DotCount.d.ts.map +1 -1
  133. package/dts/examples/ExampleScreen.d.ts +22 -22
  134. package/dts/examples/ExampleScreen.d.ts.map +1 -1
  135. package/dts/gradients/LinearGradient.d.ts +0 -8
  136. package/dts/gradients/LinearGradient.d.ts.map +1 -1
  137. package/dts/hooks/useA11y.d.ts +1 -1
  138. package/dts/hooks/useA11y.d.ts.map +1 -1
  139. package/dts/hooks/useAppState.d.ts.map +1 -1
  140. package/dts/hooks/useCellSpacing.d.ts +26 -26
  141. package/dts/hooks/useDimensions.d.ts +1 -1
  142. package/dts/hooks/useDimensions.d.ts.map +1 -1
  143. package/dts/hooks/useDotPinStyles.d.ts +24 -0
  144. package/dts/hooks/useDotPinStyles.d.ts.map +1 -1
  145. package/dts/hooks/useHasNotch.d.ts +4 -0
  146. package/dts/hooks/useHasNotch.d.ts.map +1 -1
  147. package/dts/hooks/useHorizontalScrollToTarget.d.ts +1 -1
  148. package/dts/hooks/useHorizontallyScrollingPressables.d.ts +1 -1
  149. package/dts/hooks/useStatusBarHeight.d.ts +2 -1
  150. package/dts/hooks/useStatusBarHeight.d.ts.map +1 -1
  151. package/dts/icons/Icon.d.ts +16 -1
  152. package/dts/icons/Icon.d.ts.map +1 -1
  153. package/dts/icons/TextIcon.d.ts.map +1 -1
  154. package/dts/layout/Box.d.ts +38 -36
  155. package/dts/layout/Box.d.ts.map +1 -1
  156. package/dts/layout/Fallback.d.ts +2 -1
  157. package/dts/layout/Fallback.d.ts.map +1 -1
  158. package/dts/layout/Group.d.ts +36 -38
  159. package/dts/layout/Group.d.ts.map +1 -1
  160. package/dts/layout/HStack.d.ts +3 -5
  161. package/dts/layout/HStack.d.ts.map +1 -1
  162. package/dts/layout/Spacer.d.ts.map +1 -1
  163. package/dts/layout/VStack.d.ts +3 -5
  164. package/dts/layout/VStack.d.ts.map +1 -1
  165. package/dts/media/Avatar.d.ts.map +1 -1
  166. package/dts/media/Carousel/Carousel.d.ts +12 -14
  167. package/dts/media/Carousel/Carousel.d.ts.map +1 -1
  168. package/dts/media/Carousel/useCarousel.d.ts +1 -1
  169. package/dts/media/Carousel/useCarousel.d.ts.map +1 -1
  170. package/dts/media/RemoteImage.d.ts +1 -1
  171. package/dts/media/RemoteImage.d.ts.map +1 -1
  172. package/dts/media/RemoteImageGroup.d.ts.map +1 -1
  173. package/dts/motion/ColorSurge.d.ts +8 -10
  174. package/dts/motion/ColorSurge.d.ts.map +1 -1
  175. package/dts/motion/Pulse.d.ts +21 -23
  176. package/dts/motion/Pulse.d.ts.map +1 -1
  177. package/dts/motion/Shake.d.ts +4 -6
  178. package/dts/motion/Shake.d.ts.map +1 -1
  179. package/dts/motion/convertMotionConfig.d.ts +8 -24
  180. package/dts/motion/convertMotionConfig.d.ts.map +1 -1
  181. package/dts/multi-content-module/MultiContentModule.d.ts +6 -8
  182. package/dts/multi-content-module/MultiContentModule.d.ts.map +1 -1
  183. package/dts/navigation/NavigationTitleSelect.d.ts.map +1 -1
  184. package/dts/numbers/RollingNumber/RollingNumber.d.ts +142 -144
  185. package/dts/numbers/RollingNumber/RollingNumber.d.ts.map +1 -1
  186. package/dts/numpad/Numpad.d.ts +10 -13
  187. package/dts/numpad/Numpad.d.ts.map +1 -1
  188. package/dts/overlays/Alert.d.ts +45 -47
  189. package/dts/overlays/Alert.d.ts.map +1 -1
  190. package/dts/overlays/PortalProvider.d.ts +20 -0
  191. package/dts/overlays/PortalProvider.d.ts.map +1 -1
  192. package/dts/overlays/Toast.d.ts +27 -30
  193. package/dts/overlays/Toast.d.ts.map +1 -1
  194. package/dts/overlays/drawer/Drawer.d.ts +83 -87
  195. package/dts/overlays/drawer/Drawer.d.ts.map +1 -1
  196. package/dts/overlays/drawer/DrawerStatusBar.d.ts +4 -0
  197. package/dts/overlays/drawer/DrawerStatusBar.d.ts.map +1 -1
  198. package/dts/overlays/modal/Modal.d.ts +20 -22
  199. package/dts/overlays/modal/Modal.d.ts.map +1 -1
  200. package/dts/overlays/modal/ModalFooter.d.ts.map +1 -1
  201. package/dts/overlays/overlay/Overlay.d.ts.map +1 -1
  202. package/dts/overlays/tooltip/useTooltipPosition.d.ts.map +1 -1
  203. package/dts/overlays/tray/Tray.d.ts +33 -37
  204. package/dts/overlays/tray/Tray.d.ts.map +1 -1
  205. package/dts/overlays/useModal.d.ts +1 -1
  206. package/dts/page/PageFooter.d.ts +31 -33
  207. package/dts/page/PageFooter.d.ts.map +1 -1
  208. package/dts/page/PageHeader.d.ts +50 -52
  209. package/dts/page/PageHeader.d.ts.map +1 -1
  210. package/dts/section-header/SectionHeader.d.ts +13 -15
  211. package/dts/section-header/SectionHeader.d.ts.map +1 -1
  212. package/dts/stepper/DefaultStepperHeaderHorizontal.d.ts.map +1 -1
  213. package/dts/stepper/DefaultStepperProgressHorizontal.d.ts.map +1 -1
  214. package/dts/stepper/DefaultStepperProgressVertical.d.ts.map +1 -1
  215. package/dts/stepper/Stepper.d.ts +22 -14
  216. package/dts/stepper/Stepper.d.ts.map +1 -1
  217. package/dts/sticky-footer/StickyFooter.d.ts +10 -12
  218. package/dts/sticky-footer/StickyFooter.d.ts.map +1 -1
  219. package/dts/styles/styleProps.d.ts +7 -3
  220. package/dts/styles/styleProps.d.ts.map +1 -1
  221. package/dts/system/AndroidNavigationBar.d.ts +17 -0
  222. package/dts/system/AndroidNavigationBar.d.ts.map +1 -1
  223. package/dts/system/Pressable.d.ts +35 -37
  224. package/dts/system/Pressable.d.ts.map +1 -1
  225. package/dts/system/ThemeProvider.d.ts +14 -8
  226. package/dts/system/ThemeProvider.d.ts.map +1 -1
  227. package/dts/tabs/DefaultTab.d.ts +15 -17
  228. package/dts/tabs/DefaultTab.d.ts.map +1 -1
  229. package/dts/tabs/TabIndicator.d.ts +11 -13
  230. package/dts/tabs/TabIndicator.d.ts.map +1 -1
  231. package/dts/tabs/Tabs.d.ts.map +1 -1
  232. package/dts/tabs/hooks/useDotAnimation.d.ts +30 -0
  233. package/dts/tabs/hooks/useDotAnimation.d.ts.map +1 -1
  234. package/dts/tag/Tag.d.ts +40 -42
  235. package/dts/tag/Tag.d.ts.map +1 -1
  236. package/dts/tour/DefaultTourMask.d.ts.map +1 -1
  237. package/dts/tour/DefaultTourStepArrow.d.ts +2 -2
  238. package/dts/tour/DefaultTourStepArrow.d.ts.map +1 -1
  239. package/dts/tour/Tour.d.ts.map +1 -1
  240. package/dts/tour/TourStep.d.ts.map +1 -1
  241. package/dts/typography/Text.d.ts +74 -64
  242. package/dts/typography/Text.d.ts.map +1 -1
  243. package/dts/typography/TextBody.d.ts +34 -24
  244. package/dts/typography/TextBody.d.ts.map +1 -1
  245. package/dts/typography/TextCaption.d.ts +34 -24
  246. package/dts/typography/TextCaption.d.ts.map +1 -1
  247. package/dts/typography/TextDisplay1.d.ts +34 -24
  248. package/dts/typography/TextDisplay1.d.ts.map +1 -1
  249. package/dts/typography/TextDisplay2.d.ts +34 -24
  250. package/dts/typography/TextDisplay2.d.ts.map +1 -1
  251. package/dts/typography/TextDisplay3.d.ts +34 -24
  252. package/dts/typography/TextDisplay3.d.ts.map +1 -1
  253. package/dts/typography/TextHeadline.d.ts +34 -24
  254. package/dts/typography/TextHeadline.d.ts.map +1 -1
  255. package/dts/typography/TextInherited.d.ts +34 -24
  256. package/dts/typography/TextInherited.d.ts.map +1 -1
  257. package/dts/typography/TextLabel1.d.ts +34 -24
  258. package/dts/typography/TextLabel1.d.ts.map +1 -1
  259. package/dts/typography/TextLabel2.d.ts +34 -24
  260. package/dts/typography/TextLabel2.d.ts.map +1 -1
  261. package/dts/typography/TextLegal.d.ts +34 -24
  262. package/dts/typography/TextLegal.d.ts.map +1 -1
  263. package/dts/typography/TextTitle1.d.ts +34 -24
  264. package/dts/typography/TextTitle1.d.ts.map +1 -1
  265. package/dts/typography/TextTitle2.d.ts +34 -24
  266. package/dts/typography/TextTitle2.d.ts.map +1 -1
  267. package/dts/typography/TextTitle3.d.ts +34 -24
  268. package/dts/typography/TextTitle3.d.ts.map +1 -1
  269. package/dts/typography/TextTitle4.d.ts +34 -24
  270. package/dts/typography/TextTitle4.d.ts.map +1 -1
  271. package/dts/utils/flattenAndJoinNodes.d.ts +13 -1
  272. package/dts/utils/flattenAndJoinNodes.d.ts.map +1 -1
  273. package/dts/utils/testHelpers.d.ts +5 -0
  274. package/dts/utils/testHelpers.d.ts.map +1 -1
  275. package/dts/visualizations/ProgressBar.d.ts +37 -39
  276. package/dts/visualizations/ProgressBar.d.ts.map +1 -1
  277. package/dts/visualizations/ProgressCircle.d.ts +54 -56
  278. package/dts/visualizations/ProgressCircle.d.ts.map +1 -1
  279. package/dts/visualizations/ProgressIndicator.d.ts +25 -28
  280. package/dts/visualizations/ProgressIndicator.d.ts.map +1 -1
  281. package/dts/visualizations/VisualizationContainer.d.ts +1 -1
  282. package/dts/visualizations/VisualizationContainer.d.ts.map +1 -1
  283. package/dts/visualizations/chart/CartesianChart.d.ts +204 -0
  284. package/dts/visualizations/chart/CartesianChart.d.ts.map +1 -0
  285. package/dts/visualizations/chart/ChartContextBridge.d.ts +28 -0
  286. package/dts/visualizations/chart/ChartContextBridge.d.ts.map +1 -0
  287. package/dts/visualizations/chart/ChartProvider.d.ts +9 -0
  288. package/dts/visualizations/chart/ChartProvider.d.ts.map +1 -0
  289. package/dts/visualizations/chart/Path.d.ts +122 -0
  290. package/dts/visualizations/chart/Path.d.ts.map +1 -0
  291. package/dts/visualizations/chart/PeriodSelector.d.ts +93 -0
  292. package/dts/visualizations/chart/PeriodSelector.d.ts.map +1 -0
  293. package/dts/visualizations/chart/area/Area.d.ts +83 -0
  294. package/dts/visualizations/chart/area/Area.d.ts.map +1 -0
  295. package/dts/visualizations/chart/area/AreaChart.d.ts +153 -0
  296. package/dts/visualizations/chart/area/AreaChart.d.ts.map +1 -0
  297. package/dts/visualizations/chart/area/DottedArea.d.ts +46 -0
  298. package/dts/visualizations/chart/area/DottedArea.d.ts.map +1 -0
  299. package/dts/visualizations/chart/area/GradientArea.d.ts +36 -0
  300. package/dts/visualizations/chart/area/GradientArea.d.ts.map +1 -0
  301. package/dts/visualizations/chart/area/SolidArea.d.ts +23 -0
  302. package/dts/visualizations/chart/area/SolidArea.d.ts.map +1 -0
  303. package/dts/visualizations/chart/area/index.d.ts +6 -0
  304. package/dts/visualizations/chart/area/index.d.ts.map +1 -0
  305. package/dts/visualizations/chart/axis/Axis.d.ts +174 -0
  306. package/dts/visualizations/chart/axis/Axis.d.ts.map +1 -0
  307. package/dts/visualizations/chart/axis/DefaultAxisTickLabel.d.ts +8 -0
  308. package/dts/visualizations/chart/axis/DefaultAxisTickLabel.d.ts.map +1 -0
  309. package/dts/visualizations/chart/axis/XAxis.d.ts +22 -0
  310. package/dts/visualizations/chart/axis/XAxis.d.ts.map +1 -0
  311. package/dts/visualizations/chart/axis/YAxis.d.ts +22 -0
  312. package/dts/visualizations/chart/axis/YAxis.d.ts.map +1 -0
  313. package/dts/visualizations/chart/axis/index.d.ts +5 -0
  314. package/dts/visualizations/chart/axis/index.d.ts.map +1 -0
  315. package/dts/visualizations/chart/bar/Bar.d.ts +100 -0
  316. package/dts/visualizations/chart/bar/Bar.d.ts.map +1 -0
  317. package/dts/visualizations/chart/bar/BarChart.d.ts +156 -0
  318. package/dts/visualizations/chart/bar/BarChart.d.ts.map +1 -0
  319. package/dts/visualizations/chart/bar/BarPlot.d.ts +31 -0
  320. package/dts/visualizations/chart/bar/BarPlot.d.ts.map +1 -0
  321. package/dts/visualizations/chart/bar/BarStack.d.ts +127 -0
  322. package/dts/visualizations/chart/bar/BarStack.d.ts.map +1 -0
  323. package/dts/visualizations/chart/bar/BarStackGroup.d.ts +37 -0
  324. package/dts/visualizations/chart/bar/BarStackGroup.d.ts.map +1 -0
  325. package/dts/visualizations/chart/bar/DefaultBar.d.ts +7 -0
  326. package/dts/visualizations/chart/bar/DefaultBar.d.ts.map +1 -0
  327. package/dts/visualizations/chart/bar/DefaultBarStack.d.ts +7 -0
  328. package/dts/visualizations/chart/bar/DefaultBarStack.d.ts.map +1 -0
  329. package/dts/visualizations/chart/bar/PercentageBarChart.d.ts +104 -0
  330. package/dts/visualizations/chart/bar/PercentageBarChart.d.ts.map +1 -0
  331. package/dts/visualizations/chart/bar/index.d.ts +9 -0
  332. package/dts/visualizations/chart/bar/index.d.ts.map +1 -0
  333. package/dts/visualizations/chart/gradient/Gradient.d.ts +41 -0
  334. package/dts/visualizations/chart/gradient/Gradient.d.ts.map +1 -0
  335. package/dts/visualizations/chart/gradient/index.d.ts +2 -0
  336. package/dts/visualizations/chart/gradient/index.d.ts.map +1 -0
  337. package/dts/visualizations/chart/index.d.ts +16 -0
  338. package/dts/visualizations/chart/index.d.ts.map +1 -0
  339. package/dts/visualizations/chart/legend/DefaultLegendEntry.d.ts +5 -0
  340. package/dts/visualizations/chart/legend/DefaultLegendEntry.d.ts.map +1 -0
  341. package/dts/visualizations/chart/legend/DefaultLegendShape.d.ts +5 -0
  342. package/dts/visualizations/chart/legend/DefaultLegendShape.d.ts.map +1 -0
  343. package/dts/visualizations/chart/legend/Legend.d.ts +166 -0
  344. package/dts/visualizations/chart/legend/Legend.d.ts.map +1 -0
  345. package/dts/visualizations/chart/legend/index.d.ts +4 -0
  346. package/dts/visualizations/chart/legend/index.d.ts.map +1 -0
  347. package/dts/visualizations/chart/line/DefaultReferenceLineLabel.d.ts +9 -0
  348. package/dts/visualizations/chart/line/DefaultReferenceLineLabel.d.ts.map +1 -0
  349. package/dts/visualizations/chart/line/DottedLine.d.ts +20 -0
  350. package/dts/visualizations/chart/line/DottedLine.d.ts.map +1 -0
  351. package/dts/visualizations/chart/line/Line.d.ts +122 -0
  352. package/dts/visualizations/chart/line/Line.d.ts.map +1 -0
  353. package/dts/visualizations/chart/line/LineChart.d.ts +133 -0
  354. package/dts/visualizations/chart/line/LineChart.d.ts.map +1 -0
  355. package/dts/visualizations/chart/line/ReferenceLine.d.ts +140 -0
  356. package/dts/visualizations/chart/line/ReferenceLine.d.ts.map +1 -0
  357. package/dts/visualizations/chart/line/SolidLine.d.ts +15 -0
  358. package/dts/visualizations/chart/line/SolidLine.d.ts.map +1 -0
  359. package/dts/visualizations/chart/line/index.d.ts +7 -0
  360. package/dts/visualizations/chart/line/index.d.ts.map +1 -0
  361. package/dts/visualizations/chart/point/DefaultPointLabel.d.ts +10 -0
  362. package/dts/visualizations/chart/point/DefaultPointLabel.d.ts.map +1 -0
  363. package/dts/visualizations/chart/point/Point.d.ts +144 -0
  364. package/dts/visualizations/chart/point/Point.d.ts.map +1 -0
  365. package/dts/visualizations/chart/point/index.d.ts +3 -0
  366. package/dts/visualizations/chart/point/index.d.ts.map +1 -0
  367. package/dts/visualizations/chart/scrubber/DefaultScrubberBeacon.d.ts +36 -0
  368. package/dts/visualizations/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -0
  369. package/dts/visualizations/chart/scrubber/DefaultScrubberBeaconLabel.d.ts +12 -0
  370. package/dts/visualizations/chart/scrubber/DefaultScrubberBeaconLabel.d.ts.map +1 -0
  371. package/dts/visualizations/chart/scrubber/DefaultScrubberLabel.d.ts +12 -0
  372. package/dts/visualizations/chart/scrubber/DefaultScrubberLabel.d.ts.map +1 -0
  373. package/dts/visualizations/chart/scrubber/Scrubber.d.ts +300 -0
  374. package/dts/visualizations/chart/scrubber/Scrubber.d.ts.map +1 -0
  375. package/dts/visualizations/chart/scrubber/ScrubberAccessibilityView.d.ts +12 -0
  376. package/dts/visualizations/chart/scrubber/ScrubberAccessibilityView.d.ts.map +1 -0
  377. package/dts/visualizations/chart/scrubber/ScrubberBeaconGroup.d.ts +52 -0
  378. package/dts/visualizations/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -0
  379. package/dts/visualizations/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +46 -0
  380. package/dts/visualizations/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -0
  381. package/dts/visualizations/chart/scrubber/ScrubberProvider.d.ts +20 -0
  382. package/dts/visualizations/chart/scrubber/ScrubberProvider.d.ts.map +1 -0
  383. package/dts/visualizations/chart/scrubber/index.d.ts +5 -0
  384. package/dts/visualizations/chart/scrubber/index.d.ts.map +1 -0
  385. package/dts/visualizations/chart/text/ChartText.d.ts +164 -0
  386. package/dts/visualizations/chart/text/ChartText.d.ts.map +1 -0
  387. package/dts/visualizations/chart/text/ChartTextGroup.d.ts +61 -0
  388. package/dts/visualizations/chart/text/ChartTextGroup.d.ts.map +1 -0
  389. package/dts/visualizations/chart/text/index.d.ts +3 -0
  390. package/dts/visualizations/chart/text/index.d.ts.map +1 -0
  391. package/dts/visualizations/chart/utils/axis.d.ts +387 -0
  392. package/dts/visualizations/chart/utils/axis.d.ts.map +1 -0
  393. package/dts/visualizations/chart/utils/bar.d.ts +225 -0
  394. package/dts/visualizations/chart/utils/bar.d.ts.map +1 -0
  395. package/dts/visualizations/chart/utils/chart.d.ts +165 -0
  396. package/dts/visualizations/chart/utils/chart.d.ts.map +1 -0
  397. package/dts/visualizations/chart/utils/context.d.ts +131 -0
  398. package/dts/visualizations/chart/utils/context.d.ts.map +1 -0
  399. package/dts/visualizations/chart/utils/gradient.d.ts +129 -0
  400. package/dts/visualizations/chart/utils/gradient.d.ts.map +1 -0
  401. package/dts/visualizations/chart/utils/index.d.ts +11 -0
  402. package/dts/visualizations/chart/utils/index.d.ts.map +1 -0
  403. package/dts/visualizations/chart/utils/path.d.ts +189 -0
  404. package/dts/visualizations/chart/utils/path.d.ts.map +1 -0
  405. package/dts/visualizations/chart/utils/point.d.ts +146 -0
  406. package/dts/visualizations/chart/utils/point.d.ts.map +1 -0
  407. package/dts/visualizations/chart/utils/scale.d.ts +145 -0
  408. package/dts/visualizations/chart/utils/scale.d.ts.map +1 -0
  409. package/dts/visualizations/chart/utils/scrubber.d.ts +40 -0
  410. package/dts/visualizations/chart/utils/scrubber.d.ts.map +1 -0
  411. package/dts/visualizations/chart/utils/transition.d.ts +181 -0
  412. package/dts/visualizations/chart/utils/transition.d.ts.map +1 -0
  413. package/dts/visualizations/index.d.ts +2 -0
  414. package/dts/visualizations/index.d.ts.map +1 -1
  415. package/dts/visualizations/sparkline/Counter.d.ts +8 -0
  416. package/dts/visualizations/sparkline/Counter.d.ts.map +1 -0
  417. package/dts/visualizations/sparkline/Sparkline.d.ts +72 -0
  418. package/dts/visualizations/sparkline/Sparkline.d.ts.map +1 -0
  419. package/dts/visualizations/sparkline/SparklineArea.d.ts +15 -0
  420. package/dts/visualizations/sparkline/SparklineArea.d.ts.map +1 -0
  421. package/dts/visualizations/sparkline/SparklineAreaPattern.d.ts +14 -0
  422. package/dts/visualizations/sparkline/SparklineAreaPattern.d.ts.map +1 -0
  423. package/dts/visualizations/sparkline/SparklineGradient.d.ts +22 -0
  424. package/dts/visualizations/sparkline/SparklineGradient.d.ts.map +1 -0
  425. package/dts/visualizations/sparkline/__figma__/Sparkline.figma.d.ts +2 -0
  426. package/dts/visualizations/sparkline/__figma__/Sparkline.figma.d.ts.map +1 -0
  427. package/dts/visualizations/sparkline/generateSparklineWithId.d.ts +11 -0
  428. package/dts/visualizations/sparkline/generateSparklineWithId.d.ts.map +1 -0
  429. package/dts/visualizations/sparkline/index.d.ts +6 -0
  430. package/dts/visualizations/sparkline/index.d.ts.map +1 -0
  431. package/dts/visualizations/sparkline/sparkline-interactive/SparklineAccessibleView.d.ts +23 -0
  432. package/dts/visualizations/sparkline/sparkline-interactive/SparklineAccessibleView.d.ts.map +1 -0
  433. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractive.d.ts +185 -0
  434. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -0
  435. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.d.ts +25 -0
  436. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.d.ts.map +1 -0
  437. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.d.ts +28 -0
  438. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.d.ts.map +1 -0
  439. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.d.ts +13 -0
  440. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.d.ts.map +1 -0
  441. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.d.ts +17 -0
  442. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.d.ts.map +1 -0
  443. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMinMax.d.ts +11 -0
  444. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMinMax.d.ts.map +1 -0
  445. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePanGestureHandler.d.ts +26 -0
  446. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePanGestureHandler.d.ts.map +1 -0
  447. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePaths.d.ts +25 -0
  448. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePaths.d.ts.map +1 -0
  449. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.d.ts +25 -0
  450. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.d.ts.map +1 -0
  451. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveProvider.d.ts +39 -0
  452. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveProvider.d.ts.map +1 -0
  453. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.d.ts +31 -0
  454. package/dts/visualizations/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.d.ts.map +1 -0
  455. package/dts/visualizations/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.d.ts +2 -0
  456. package/dts/visualizations/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.d.ts.map +1 -0
  457. package/dts/visualizations/sparkline/sparkline-interactive/useInterruptiblePathAnimation.d.ts +13 -0
  458. package/dts/visualizations/sparkline/sparkline-interactive/useInterruptiblePathAnimation.d.ts.map +1 -0
  459. package/dts/visualizations/sparkline/sparkline-interactive/useMinMaxTransform.d.ts +16 -0
  460. package/dts/visualizations/sparkline/sparkline-interactive/useMinMaxTransform.d.ts.map +1 -0
  461. package/dts/visualizations/sparkline/sparkline-interactive/useOpacityAnimation.d.ts +6 -0
  462. package/dts/visualizations/sparkline/sparkline-interactive/useOpacityAnimation.d.ts.map +1 -0
  463. package/dts/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveConstants.d.ts +22 -0
  464. package/dts/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveConstants.d.ts.map +1 -0
  465. package/dts/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveLineStyles.d.ts +34 -0
  466. package/dts/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveLineStyles.d.ts.map +1 -0
  467. package/dts/visualizations/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.d.ts +116 -0
  468. package/dts/visualizations/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.d.ts.map +1 -0
  469. package/dts/visualizations/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.d.ts +2 -0
  470. package/dts/visualizations/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.d.ts.map +1 -0
  471. package/dts/visualizations/sparkline/sparkline-interactive-header/useSparklineInteractiveHeaderStyles.d.ts +29 -0
  472. package/dts/visualizations/sparkline/sparkline-interactive-header/useSparklineInteractiveHeaderStyles.d.ts.map +1 -0
  473. package/esm/alpha/combobox/Combobox.js +5 -7
  474. package/esm/alpha/combobox/DefaultComboboxControl.js +24 -24
  475. package/esm/alpha/data-card/__stories__/DataCard.stories.js +12 -4
  476. package/esm/alpha/select/DefaultSelectControl.js +31 -21
  477. package/esm/alpha/select/DefaultSelectDropdown.js +1 -0
  478. package/esm/alpha/select/DefaultSelectOption.js +0 -2
  479. package/esm/alpha/select/__stories__/AlphaSelect.stories.js +1 -1
  480. package/esm/animation/Lottie.js +10 -6
  481. package/esm/animation/LottieStatusAnimation.js +2 -2
  482. package/esm/banner/Banner.js +106 -86
  483. package/esm/buttons/AvatarButton.js +3 -3
  484. package/esm/buttons/Button.js +11 -24
  485. package/esm/buttons/DefaultSlideButtonBackground.js +8 -7
  486. package/esm/buttons/DefaultSlideButtonHandle.js +44 -34
  487. package/esm/buttons/IconButton.js +20 -41
  488. package/esm/buttons/IconCounterButton.js +21 -7
  489. package/esm/buttons/SlideButton.js +25 -25
  490. package/esm/buttons/__stories__/AvatarButton.stories.js +2 -1
  491. package/esm/buttons/__stories__/Button.stories.js +5 -2
  492. package/esm/buttons/__stories__/IconButton.stories.js +10 -19
  493. package/esm/buttons/__stories__/IconCounterButton.stories.js +6 -2
  494. package/esm/cards/AnnouncementCard.js +0 -5
  495. package/esm/cards/Card.js +5 -0
  496. package/esm/cards/CardMedia.js +6 -10
  497. package/esm/cards/DataCard.js +6 -6
  498. package/esm/cards/FeatureEntryCard.js +0 -5
  499. package/esm/cards/FeedCard.js +0 -10
  500. package/esm/cards/LikeButton.js +11 -5
  501. package/esm/cards/NudgeCard.js +28 -21
  502. package/esm/cards/UpsellCard.js +3 -1
  503. package/esm/cards/__figma__/UpsellCard.figma.js +3 -1
  504. package/esm/cards/__stories__/ContainedAssetCard.stories.js +4 -2
  505. package/esm/cards/__stories__/ContentCard.stories.js +7 -7
  506. package/esm/cards/__stories__/MediaCard.stories.js +6 -4
  507. package/esm/cards/__stories__/UpsellCard.stories.js +39 -13
  508. package/esm/carousel/Carousel.js +5 -3
  509. package/esm/carousel/DefaultCarouselPagination.js +3 -1
  510. package/esm/carousel/__figma__/Carousel.figma.js +0 -1
  511. package/esm/carousel/__stories__/Carousel.stories.js +2 -16
  512. package/esm/cells/Cell.js +49 -9
  513. package/esm/cells/CellAccessory.js +3 -2
  514. package/esm/cells/ContentCellFallback.js +4 -0
  515. package/esm/cells/ListCell.js +5 -2
  516. package/esm/cells/MediaFallback.js +4 -4
  517. package/esm/cells/__stories__/ListCell.stories.js +65 -2
  518. package/esm/chips/Chip.js +1 -0
  519. package/esm/coachmark/Coachmark.js +3 -2
  520. package/esm/controls/CheckboxGroup.js +0 -25
  521. package/esm/controls/HelperText.js +13 -5
  522. package/esm/controls/InputIconButton.js +1 -1
  523. package/esm/controls/InputStack.js +14 -9
  524. package/esm/controls/NativeInput.js +1 -0
  525. package/esm/controls/Radio.js +4 -3
  526. package/esm/controls/RadioGroup.js +0 -24
  527. package/esm/controls/SelectContext.js +14 -0
  528. package/esm/controls/SelectOption.js +5 -1
  529. package/esm/controls/Switch.js +14 -8
  530. package/esm/controls/TextInput.js +2 -1
  531. package/esm/controls/__stories__/InputIconButton.stories.js +4 -4
  532. package/esm/dates/DateInput.js +2 -3
  533. package/esm/dates/DatePicker.js +2 -3
  534. package/esm/dates/__stories__/DatePicker.stories.js +4 -4
  535. package/esm/dots/DotCount.js +14 -14
  536. package/esm/dots/DotSymbol.js +3 -2
  537. package/esm/examples/ExampleScreen.js +1 -1
  538. package/esm/gradients/LinearGradient.js +1 -2
  539. package/esm/gradients/__stories__/LinearGradient.stories.js +0 -14
  540. package/esm/hooks/useDimensions.js +4 -2
  541. package/esm/hooks/useDotPinStyles.js +25 -0
  542. package/esm/hooks/useHasNotch.js +6 -2
  543. package/esm/hooks/useScrollTo.js +1 -1
  544. package/esm/hooks/useStatusBarHeight.js +7 -30
  545. package/esm/icons/Icon.js +3 -1
  546. package/esm/icons/TextIcon.js +3 -1
  547. package/esm/jest.d.js +11 -2
  548. package/esm/layout/Box.js +11 -7
  549. package/esm/layout/Spacer.js +19 -17
  550. package/esm/media/Avatar.js +56 -8
  551. package/esm/media/Carousel/Carousel.js +3 -2
  552. package/esm/media/RemoteImage.js +10 -10
  553. package/esm/media/RemoteImageGroup.js +3 -1
  554. package/esm/media/__stories__/Avatar.stories.js +1 -0
  555. package/esm/navigation/NavigationTitleSelect.js +30 -22
  556. package/esm/navigation/TopNavBar.js +1 -1
  557. package/esm/overlays/Alert.js +1 -1
  558. package/esm/overlays/PortalProvider.js +22 -0
  559. package/esm/overlays/Toast.js +7 -5
  560. package/esm/overlays/__stories__/TrayPromotional.stories.js +3 -1
  561. package/esm/overlays/drawer/Drawer.js +14 -5
  562. package/esm/overlays/drawer/DrawerStatusBar.js +4 -0
  563. package/esm/overlays/modal/Modal.js +2 -1
  564. package/esm/overlays/modal/ModalFooter.js +5 -5
  565. package/esm/overlays/overlay/Overlay.js +7 -4
  566. package/esm/overlays/tooltip/__figma__/Tooltip.figma.js +5 -3
  567. package/esm/overlays/tooltip/useTooltipPosition.js +12 -3
  568. package/esm/overlays/useModal.js +1 -1
  569. package/esm/page/__stories__/PageFooterInPage.stories.js +3 -1
  570. package/esm/page/__stories__/PageHeader.stories.js +3 -1
  571. package/esm/page/__stories__/PageHeaderInErrorEmptyState.stories.js +1 -2
  572. package/esm/page/__stories__/PageHeaderInPage.stories.js +5 -4
  573. package/esm/stepper/DefaultStepperHeaderHorizontal.js +47 -31
  574. package/esm/stepper/DefaultStepperProgressHorizontal.js +18 -5
  575. package/esm/stepper/DefaultStepperProgressVertical.js +26 -22
  576. package/esm/stepper/DefaultStepperStepHorizontal.js +5 -5
  577. package/esm/stepper/DefaultStepperStepVertical.js +4 -4
  578. package/esm/stepper/Stepper.js +60 -70
  579. package/esm/stepper/__stories__/StepperHorizontal.stories.js +23 -0
  580. package/esm/stepper/__stories__/StepperVertical.stories.js +36 -0
  581. package/esm/styles/styleProps.js +5 -3
  582. package/esm/system/AndroidNavigationBar.js +18 -0
  583. package/esm/system/PressableOpacity.js +3 -2
  584. package/esm/system/ThemeProvider.js +32 -13
  585. package/esm/system/__stories__/AndroidNavigationBar.stories.js +61 -0
  586. package/esm/system/__stories__/Palette.stories.js +3 -1
  587. package/esm/system/__stories__/Pressable.stories.js +6 -2
  588. package/esm/system/__stories__/Spectrum.stories.js +6 -2
  589. package/esm/tabs/TabLabel.js +5 -5
  590. package/esm/tabs/Tabs.js +4 -1
  591. package/esm/tabs/__stories__/SegmentedTabs.stories.js +3 -5
  592. package/esm/tabs/hooks/useDotAnimation.js +53 -1
  593. package/esm/tag/Tag.js +6 -2
  594. package/esm/tour/DefaultTourMask.js +22 -7
  595. package/esm/tour/Tour.js +15 -3
  596. package/esm/tour/TourStep.js +5 -1
  597. package/esm/typography/Text.js +8 -3
  598. package/esm/typography/TextBody.js +14 -0
  599. package/esm/typography/TextCaption.js +14 -0
  600. package/esm/typography/TextDisplay1.js +14 -0
  601. package/esm/typography/TextDisplay2.js +14 -0
  602. package/esm/typography/TextDisplay3.js +14 -0
  603. package/esm/typography/TextHeadline.js +14 -0
  604. package/esm/typography/TextInherited.js +14 -0
  605. package/esm/typography/TextLabel1.js +14 -0
  606. package/esm/typography/TextLabel2.js +14 -0
  607. package/esm/typography/TextLegal.js +14 -0
  608. package/esm/typography/TextTitle1.js +14 -0
  609. package/esm/typography/TextTitle2.js +14 -0
  610. package/esm/typography/TextTitle3.js +14 -0
  611. package/esm/typography/TextTitle4.js +14 -0
  612. package/esm/typography/__stories__/Link.stories.js +2 -2
  613. package/esm/typography/__stories__/Text.stories.js +53 -39
  614. package/esm/utils/testHelpers.js +19 -1
  615. package/esm/visualizations/ProgressBar.js +3 -1
  616. package/esm/visualizations/chart/CartesianChart.js +455 -0
  617. package/esm/visualizations/chart/ChartContextBridge.js +159 -0
  618. package/esm/visualizations/chart/ChartProvider.js +10 -0
  619. package/esm/visualizations/chart/Path.js +247 -0
  620. package/esm/visualizations/chart/PeriodSelector.js +140 -0
  621. package/esm/visualizations/chart/__stories__/CartesianChart.stories.js +657 -0
  622. package/esm/visualizations/chart/__stories__/ChartAccessibility.stories.js +720 -0
  623. package/esm/visualizations/chart/__stories__/ChartTransitions.stories.js +693 -0
  624. package/esm/visualizations/chart/__stories__/PeriodSelector.stories.js +422 -0
  625. package/esm/visualizations/chart/area/Area.js +85 -0
  626. package/esm/visualizations/chart/area/AreaChart.js +153 -0
  627. package/esm/visualizations/chart/area/DottedArea.js +92 -0
  628. package/esm/visualizations/chart/area/GradientArea.js +63 -0
  629. package/esm/visualizations/chart/area/SolidArea.js +45 -0
  630. package/esm/visualizations/chart/area/__stories__/AreaChart.stories.js +328 -0
  631. package/esm/visualizations/chart/area/index.js +7 -0
  632. package/esm/visualizations/chart/axis/Axis.js +9 -0
  633. package/esm/visualizations/chart/axis/DefaultAxisTickLabel.js +11 -0
  634. package/esm/visualizations/chart/axis/XAxis.js +256 -0
  635. package/esm/visualizations/chart/axis/YAxis.js +255 -0
  636. package/esm/visualizations/chart/axis/__stories__/Axis.stories.js +552 -0
  637. package/esm/visualizations/chart/axis/index.js +6 -0
  638. package/esm/visualizations/chart/bar/Bar.js +71 -0
  639. package/esm/visualizations/chart/bar/BarChart.js +123 -0
  640. package/esm/visualizations/chart/bar/BarPlot.js +106 -0
  641. package/esm/visualizations/chart/bar/BarStack.js +173 -0
  642. package/esm/visualizations/chart/bar/BarStackGroup.js +89 -0
  643. package/esm/visualizations/chart/bar/DefaultBar.js +79 -0
  644. package/esm/visualizations/chart/bar/DefaultBarStack.js +68 -0
  645. package/esm/visualizations/chart/bar/PercentageBarChart.js +99 -0
  646. package/esm/visualizations/chart/bar/__stories__/BarChart.stories.js +1410 -0
  647. package/esm/visualizations/chart/bar/__stories__/PercentageBarChart.stories.js +832 -0
  648. package/esm/visualizations/chart/bar/index.js +10 -0
  649. package/esm/visualizations/chart/gradient/Gradient.js +147 -0
  650. package/esm/visualizations/chart/gradient/index.js +1 -0
  651. package/esm/visualizations/chart/index.js +17 -0
  652. package/esm/visualizations/chart/legend/DefaultLegendEntry.js +42 -0
  653. package/esm/visualizations/chart/legend/DefaultLegendShape.js +64 -0
  654. package/esm/visualizations/chart/legend/Legend.js +59 -0
  655. package/esm/visualizations/chart/legend/__stories__/Legend.stories.js +574 -0
  656. package/esm/visualizations/chart/legend/index.js +3 -0
  657. package/esm/visualizations/chart/line/DefaultReferenceLineLabel.js +66 -0
  658. package/esm/visualizations/chart/line/DottedLine.js +57 -0
  659. package/esm/visualizations/chart/line/Line.js +180 -0
  660. package/esm/visualizations/chart/line/LineChart.js +150 -0
  661. package/esm/visualizations/chart/line/ReferenceLine.js +132 -0
  662. package/esm/visualizations/chart/line/SolidLine.js +53 -0
  663. package/esm/visualizations/chart/line/__stories__/LineChart.stories.js +2029 -0
  664. package/esm/visualizations/chart/line/__stories__/ReferenceLine.stories.js +226 -0
  665. package/esm/visualizations/chart/line/index.js +8 -0
  666. package/esm/visualizations/chart/point/DefaultPointLabel.js +40 -0
  667. package/esm/visualizations/chart/point/Point.js +187 -0
  668. package/esm/visualizations/chart/point/index.js +2 -0
  669. package/esm/visualizations/chart/scrubber/DefaultScrubberBeacon.js +182 -0
  670. package/esm/visualizations/chart/scrubber/DefaultScrubberBeaconLabel.js +43 -0
  671. package/esm/visualizations/chart/scrubber/DefaultScrubberLabel.js +44 -0
  672. package/esm/visualizations/chart/scrubber/Scrubber.js +200 -0
  673. package/esm/visualizations/chart/scrubber/ScrubberAccessibilityView.js +177 -0
  674. package/esm/visualizations/chart/scrubber/ScrubberBeaconGroup.js +169 -0
  675. package/esm/visualizations/chart/scrubber/ScrubberBeaconLabelGroup.js +231 -0
  676. package/esm/visualizations/chart/scrubber/ScrubberProvider.js +140 -0
  677. package/esm/visualizations/chart/scrubber/__stories__/Scrubber.stories.js +945 -0
  678. package/esm/visualizations/chart/scrubber/index.js +4 -0
  679. package/esm/visualizations/chart/text/ChartText.js +305 -0
  680. package/esm/visualizations/chart/text/ChartTextGroup.js +211 -0
  681. package/esm/visualizations/chart/text/index.js +4 -0
  682. package/esm/visualizations/chart/utils/axis.js +664 -0
  683. package/esm/visualizations/chart/utils/bar.js +906 -0
  684. package/esm/visualizations/chart/utils/chart.js +329 -0
  685. package/esm/visualizations/chart/utils/context.js +22 -0
  686. package/esm/visualizations/chart/utils/gradient.js +319 -0
  687. package/esm/visualizations/chart/utils/index.js +12 -0
  688. package/esm/visualizations/chart/utils/path.js +307 -0
  689. package/esm/visualizations/chart/utils/point.js +282 -0
  690. package/esm/visualizations/chart/utils/scale.js +288 -0
  691. package/esm/visualizations/chart/utils/scrubber.js +146 -0
  692. package/esm/visualizations/chart/utils/transition.js +268 -0
  693. package/esm/visualizations/index.js +3 -1
  694. package/esm/visualizations/sparkline/Counter.js +45 -0
  695. package/esm/visualizations/sparkline/Sparkline.js +165 -0
  696. package/esm/visualizations/sparkline/SparklineArea.js +20 -0
  697. package/esm/visualizations/sparkline/SparklineAreaPattern.js +38 -0
  698. package/esm/visualizations/sparkline/SparklineGradient.js +77 -0
  699. package/esm/visualizations/sparkline/__figma__/Sparkline.figma.js +22 -0
  700. package/esm/visualizations/sparkline/__stories__/Sparkline.stories.js +124 -0
  701. package/esm/visualizations/sparkline/__stories__/SparklineGradient.stories.js +126 -0
  702. package/esm/visualizations/sparkline/generateSparklineWithId.js +7 -0
  703. package/esm/visualizations/sparkline/index.js +5 -0
  704. package/esm/visualizations/sparkline/sparkline-interactive/SparklineAccessibleView.js +75 -0
  705. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractive.js +308 -0
  706. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.js +116 -0
  707. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.js +131 -0
  708. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.js +99 -0
  709. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.js +83 -0
  710. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveMinMax.js +104 -0
  711. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractivePanGestureHandler.js +104 -0
  712. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractivePaths.js +57 -0
  713. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.js +125 -0
  714. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveProvider.js +80 -0
  715. package/esm/visualizations/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.js +109 -0
  716. package/esm/visualizations/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.js +85 -0
  717. package/esm/visualizations/sparkline/sparkline-interactive/__stories__/SparklineInteractive.stories.js +526 -0
  718. package/esm/visualizations/sparkline/sparkline-interactive/useInterruptiblePathAnimation.js +58 -0
  719. package/esm/visualizations/sparkline/sparkline-interactive/useInterruptiblePathAnimation.test.disable.js +37 -0
  720. package/esm/visualizations/sparkline/sparkline-interactive/useMinMaxTransform.js +56 -0
  721. package/esm/visualizations/sparkline/sparkline-interactive/useOpacityAnimation.js +23 -0
  722. package/esm/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveConstants.js +47 -0
  723. package/esm/visualizations/sparkline/sparkline-interactive/useSparklineInteractiveLineStyles.js +34 -0
  724. package/esm/visualizations/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.js +233 -0
  725. package/esm/visualizations/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.js +104 -0
  726. package/esm/visualizations/sparkline/sparkline-interactive-header/__stories__/SparklineInteractiveHeader.stories.js +565 -0
  727. package/esm/visualizations/sparkline/sparkline-interactive-header/useSparklineInteractiveHeaderStyles.js +117 -0
  728. package/package.json +34 -28
  729. package/dts/system/__figma__/AndroidNavigationBar.figma.d.ts +0 -2
  730. package/dts/system/__figma__/AndroidNavigationBar.figma.d.ts.map +0 -1
  731. package/esm/media/__stories__/CarouselAlphaExample.js +0 -93
  732. package/esm/media/__stories__/CarouselMedia.stories.js +0 -180
  733. package/esm/system/__figma__/AndroidNavigationBar.figma.js +0 -24
@@ -0,0 +1,288 @@
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
+ * Type guard to check if a scale is a SerializableScale.
21
+ * This can be used in worklets to differentiate between scale objects and scale functions.
22
+ */
23
+ export const isSerializableScale = scale => {
24
+ 'worklet';
25
+
26
+ return typeof scale === 'object' && scale !== null && 'type' in scale && 'domain' in scale && 'range' in scale;
27
+ };
28
+
29
+ /**
30
+ * Create a numeric scale (linear or logarithmic)
31
+ * @returns A numeric scale function
32
+ */
33
+ export const getNumericScale = _ref => {
34
+ let {
35
+ scaleType,
36
+ domain,
37
+ range
38
+ } = _ref;
39
+ const scale = scaleType === 'log' ? scaleLog() : scaleLinear();
40
+ return scale.domain([domain.min, domain.max]).range([range.min, range.max]);
41
+ };
42
+
43
+ /**
44
+ * Create a categorical scale (band)
45
+ * @returns A categorical scale function
46
+ */
47
+ export const getCategoricalScale = _ref2 => {
48
+ let {
49
+ domain,
50
+ range,
51
+ padding = 0.1
52
+ } = _ref2;
53
+ const domainArray = Array.from({
54
+ length: domain.max - domain.min + 1
55
+ }, (_, i) => i);
56
+ const scale = scaleBand().domain(domainArray).range([range.min, range.max]).paddingInner(padding).paddingOuter(padding / 2);
57
+ return scale;
58
+ };
59
+
60
+ /**
61
+ * Anchor position for points on a scale. Currently used only for band scales.
62
+ *
63
+ * For band scales, this determines where within the band to position a point:
64
+ * - `'stepStart'` - At the start of the step
65
+ * - `'bandStart'` - At the start of the band
66
+ * - `'middle'` - At the center of the band
67
+ * - `'bandEnd'` - At the end of the band
68
+ * - `'stepEnd'` - At the end of the step
69
+ */
70
+
71
+ /**
72
+ * Convert a D3 scale to a serializable scale configuration that can be used in worklets
73
+ */
74
+ export function convertToSerializableScale(d3Scale) {
75
+ if (!d3Scale) return undefined;
76
+ const domain = d3Scale.domain();
77
+ const range = d3Scale.range();
78
+
79
+ // Handle band/categorical scales
80
+ if (isCategoricalScale(d3Scale)) {
81
+ var _step;
82
+ const bandScale = d3Scale;
83
+ const bandwidth = bandScale.bandwidth();
84
+ const step = (_step = bandScale.step == null ? void 0 : bandScale.step()) != null ? _step : (range[1] - range[0]) / domain.length;
85
+ return {
86
+ type: 'band',
87
+ domain: [domain[0], domain[domain.length - 1]],
88
+ range: [range[0], range[range.length - 1]],
89
+ bandwidth,
90
+ step
91
+ };
92
+ }
93
+
94
+ // Handle log scales
95
+ if (isLogScale(d3Scale)) {
96
+ var _base;
97
+ const logScale = d3Scale;
98
+ // D3 log scales default to base 10
99
+ const base = (_base = logScale.base == null ? void 0 : logScale.base()) != null ? _base : 10;
100
+ return {
101
+ type: 'log',
102
+ domain: [domain[0], domain[domain.length - 1]],
103
+ range: [range[0], range[range.length - 1]],
104
+ base
105
+ };
106
+ }
107
+
108
+ // Handle linear scales (default)
109
+ if (isNumericScale(d3Scale)) {
110
+ return {
111
+ type: 'linear',
112
+ domain: [domain[0], domain[domain.length - 1]],
113
+ range: [range[0], range[range.length - 1]]
114
+ };
115
+ }
116
+ return undefined;
117
+ }
118
+
119
+ /**
120
+ * Convert multiple D3 scales to serializable scales
121
+ */
122
+ export function convertScalesToSerializableScales(xScale, yScales) {
123
+ const result = {
124
+ yScales: {}
125
+ };
126
+
127
+ // Convert X scale
128
+ if (xScale) {
129
+ result.xScale = convertToSerializableScale(xScale);
130
+ }
131
+
132
+ // Convert Y scales
133
+ if (yScales) {
134
+ yScales.forEach((scale, id) => {
135
+ const serializableScale = convertToSerializableScale(scale);
136
+ if (serializableScale) {
137
+ result.yScales[id] = serializableScale;
138
+ }
139
+ });
140
+ }
141
+ return result;
142
+ }
143
+
144
+ /**
145
+ * Serializable scale implementations based on D3 scale concepts.
146
+ * These scales can be used directly on the UI thread in Reanimated worklets.
147
+ */
148
+
149
+ /**
150
+ * Serializable linear scale function
151
+ */
152
+ export function applyLinearScale(value, scale) {
153
+ 'worklet';
154
+
155
+ const [d0, d1] = scale.domain;
156
+ const [r0, r1] = scale.range;
157
+ const t = (value - d0) / (d1 - d0); // normalize to [0, 1]
158
+ return r0 + t * (r1 - r0); // interpolate in range
159
+ }
160
+
161
+ /**
162
+ * Serializable log scale function
163
+ */
164
+ export function applyLogScale(value, scale) {
165
+ 'worklet';
166
+
167
+ var _scale$base;
168
+ const [d0, d1] = scale.domain;
169
+ const [r0, r1] = scale.range;
170
+ const base = (_scale$base = scale.base) != null ? _scale$base : 10;
171
+ const logBase = base === 10 ? Math.log10 : base === Math.E ? Math.log : x => Math.log(x) / Math.log(base);
172
+ const t = (logBase(value) - logBase(d0)) / (logBase(d1) - logBase(d0));
173
+ return r0 + t * (r1 - r0);
174
+ }
175
+
176
+ /**
177
+ * Serializable band scale function
178
+ */
179
+ export function applyBandScale(value, scale) {
180
+ 'worklet';
181
+
182
+ const [r0, r1] = scale.range;
183
+ const [domainMin, domainMax] = scale.domain;
184
+ const n = domainMax - domainMin + 1;
185
+ const step = scale.step;
186
+ const index = value - domainMin;
187
+ if (index < 0 || index >= n) {
188
+ return r0;
189
+ }
190
+ const paddingOffset = (step - scale.bandwidth) / 2;
191
+ const bandStart = r0 + step * index + paddingOffset;
192
+ return bandStart;
193
+ }
194
+
195
+ /**
196
+ * Universal serializable scale function that handles any scale type
197
+ */
198
+ export function applySerializableScale(value, scale) {
199
+ 'worklet';
200
+
201
+ switch (scale.type) {
202
+ case 'linear':
203
+ return applyLinearScale(value, scale);
204
+ case 'log':
205
+ return applyLogScale(value, scale);
206
+ case 'band':
207
+ return applyBandScale(value, scale);
208
+ default:
209
+ return 0;
210
+ }
211
+ }
212
+
213
+ /**
214
+ * Get bandwidth for band scales (returns 0 for other scale types)
215
+ */
216
+ export function getScaleBandwidth(scale) {
217
+ 'worklet';
218
+
219
+ if (scale.type === 'band') {
220
+ return scale.bandwidth;
221
+ }
222
+ return 0;
223
+ }
224
+
225
+ /**
226
+ * Invert a linear scale - convert from range value back to domain value
227
+ */
228
+ export function invertLinearScale(rangeValue, scale) {
229
+ 'worklet';
230
+
231
+ const [d0, d1] = scale.domain;
232
+ const [r0, r1] = scale.range;
233
+ const t = (rangeValue - r0) / (r1 - r0); // normalize to [0, 1]
234
+ return d0 + t * (d1 - d0); // interpolate in domain
235
+ }
236
+
237
+ /**
238
+ * Invert a log scale - convert from range value back to domain value
239
+ */
240
+ export function invertLogScale(rangeValue, scale) {
241
+ 'worklet';
242
+
243
+ var _scale$base2;
244
+ const [d0, d1] = scale.domain;
245
+ const [r0, r1] = scale.range;
246
+ const base = (_scale$base2 = scale.base) != null ? _scale$base2 : 10;
247
+ const logBase = base === 10 ? Math.log10 : base === Math.E ? Math.log : x => Math.log(x) / Math.log(base);
248
+ const t = (rangeValue - r0) / (r1 - r0); // normalize to [0, 1]
249
+ const logValue = logBase(d0) + t * (logBase(d1) - logBase(d0));
250
+
251
+ // Convert back from log space
252
+ return base === 10 ? Math.pow(10, logValue) : base === Math.E ? Math.exp(logValue) : Math.pow(base, logValue);
253
+ }
254
+
255
+ /**
256
+ * Invert a band scale - convert from range value back to domain index
257
+ */
258
+ export function invertBandScale(rangeValue, scale) {
259
+ 'worklet';
260
+
261
+ const [r0, r1] = scale.range;
262
+ const n = scale.domain.length;
263
+ const step = (r1 - r0) / n;
264
+
265
+ // Find which band this range value falls into
266
+ const index = Math.floor((rangeValue - r0) / step);
267
+
268
+ // Clamp to valid range
269
+ return Math.max(0, Math.min(index, n - 1));
270
+ }
271
+
272
+ /**
273
+ * Universal serializable scale invert function that handles any scale type
274
+ */
275
+ export function invertSerializableScale(rangeValue, scale) {
276
+ 'worklet';
277
+
278
+ switch (scale.type) {
279
+ case 'linear':
280
+ return invertLinearScale(rangeValue, scale);
281
+ case 'log':
282
+ return invertLogScale(rangeValue, scale);
283
+ case 'band':
284
+ return invertBandScale(rangeValue, scale);
285
+ default:
286
+ return 0;
287
+ }
288
+ }
@@ -0,0 +1,146 @@
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, xOffset, preferredSide) {
6
+ 'worklet';
7
+
8
+ // any regular functions in ui thread must be marked with 'worklet'
9
+ if (xOffset === void 0) {
10
+ xOffset = 16;
11
+ }
12
+ if (preferredSide === void 0) {
13
+ preferredSide = 'right';
14
+ }
15
+ if (drawingArea.width <= 0 || drawingArea.height <= 0) {
16
+ return preferredSide;
17
+ }
18
+ const requiredSpace = maxLabelWidth + xOffset;
19
+ if (preferredSide === 'right') {
20
+ const availableSpace = drawingArea.x + drawingArea.width - beaconX;
21
+ return requiredSpace <= availableSpace ? 'right' : 'left';
22
+ }
23
+ const availableSpace = beaconX - drawingArea.x;
24
+ return requiredSpace <= availableSpace ? 'left' : 'right';
25
+ };
26
+ /**
27
+ * Calculates Y positions for all labels avoiding overlaps while maintaining order.
28
+ */
29
+ export const calculateLabelYPositions = (dimensions, drawingArea, labelHeight, minGap) => {
30
+ 'worklet';
31
+
32
+ if (dimensions.length === 0) {
33
+ return new Map();
34
+ }
35
+
36
+ // Sort by preferred Y values and create working labels
37
+ const sortedLabels = [...dimensions].sort((a, b) => a.preferredY - b.preferredY).map(dim => ({
38
+ seriesId: dim.seriesId,
39
+ preferredY: dim.preferredY,
40
+ finalY: dim.preferredY
41
+ }));
42
+
43
+ // Initial bounds fitting
44
+ const minY = drawingArea.y + labelHeight / 2;
45
+ const maxY = drawingArea.y + drawingArea.height - labelHeight / 2;
46
+ const requiredDistance = labelHeight + minGap;
47
+ for (const label of sortedLabels) {
48
+ // Clamp each label to the drawing area
49
+ label.finalY = Math.max(minY, Math.min(maxY, label.preferredY));
50
+ }
51
+
52
+ // First pass: push down any overlapping labels
53
+ for (let i = 1; i < sortedLabels.length; i++) {
54
+ const prev = sortedLabels[i - 1];
55
+ const current = sortedLabels[i];
56
+ const minAllowedY = prev.finalY + requiredDistance;
57
+ if (current.finalY < minAllowedY) {
58
+ current.finalY = minAllowedY;
59
+ }
60
+ }
61
+
62
+ // Find collision groups - groups of labels that are tightly packed (gap < minGap between them)
63
+ const collisionGroups = [];
64
+ let currentGroup = [sortedLabels[0]];
65
+ for (let i = 1; i < sortedLabels.length; i++) {
66
+ const prev = sortedLabels[i - 1];
67
+ const current = sortedLabels[i];
68
+ const gap = current.finalY - prev.finalY - labelHeight;
69
+ if (gap < minGap + 0.01) {
70
+ // Labels are touching or very close - part of same collision group
71
+ currentGroup.push(current);
72
+ } else {
73
+ // Gap is large enough - start new group
74
+ collisionGroups.push(currentGroup);
75
+ currentGroup = [current];
76
+ }
77
+ }
78
+ collisionGroups.push(currentGroup);
79
+
80
+ // Process each collision group - optimize positioning to minimize displacement
81
+ for (const group of collisionGroups) {
82
+ if (group.length === 1) {
83
+ // Single label, already at best position
84
+ continue;
85
+ }
86
+ const groupLastLabel = group[group.length - 1];
87
+ const groupFirstLabel = group[0];
88
+ const groupOverflow = groupLastLabel.finalY + labelHeight / 2 - (drawingArea.y + drawingArea.height);
89
+
90
+ // Calculate the ideal center point for this group
91
+ const groupPreferredCenter = group.reduce((sum, label) => sum + label.preferredY, 0) / group.length;
92
+ const groupTotalNeeded = group.length * labelHeight + (group.length - 1) * minGap;
93
+ if (groupOverflow <= 0) {
94
+ // Group fits, but let's center it better if possible
95
+ // Calculate how much we can shift up/down to center around preferred positions
96
+ const currentCenter = (groupFirstLabel.finalY + groupLastLabel.finalY) / 2;
97
+ const desiredShift = groupPreferredCenter - currentCenter;
98
+
99
+ // Calculate max shift in each direction
100
+ const maxShiftUp = groupFirstLabel.finalY - minY;
101
+ const maxShiftDown = maxY - groupLastLabel.finalY;
102
+
103
+ // Apply the shift, constrained by boundaries
104
+ const actualShift = Math.max(-maxShiftUp, Math.min(maxShiftDown, desiredShift));
105
+ if (Math.abs(actualShift) > 0.01) {
106
+ for (const label of group) {
107
+ label.finalY += actualShift;
108
+ }
109
+ }
110
+ } else {
111
+ // Group overflows - need to adjust
112
+ const groupStartY = groupFirstLabel.finalY - labelHeight / 2;
113
+ const availableSpace = drawingArea.y + drawingArea.height - groupStartY;
114
+ const maxShiftUp = groupFirstLabel.finalY - minY;
115
+ if (maxShiftUp >= groupOverflow) {
116
+ // Can shift entire group up to fit
117
+ for (const label of group) {
118
+ label.finalY -= groupOverflow;
119
+ }
120
+ } else if (groupTotalNeeded <= availableSpace) {
121
+ // Can't shift enough, but there's room - redistribute with proper spacing
122
+ let currentY = Math.max(minY, groupFirstLabel.finalY - maxShiftUp);
123
+ const gap = (availableSpace - group.length * labelHeight) / Math.max(1, group.length - 1);
124
+ for (const label of group) {
125
+ label.finalY = currentY;
126
+ currentY += labelHeight + gap;
127
+ }
128
+ } else {
129
+ // Not enough space even with compression - compress gaps and fit to bottom
130
+ const compressedGap = Math.max(1, (availableSpace - group.length * labelHeight) / Math.max(1, group.length - 1));
131
+ // Position so last label is at maxY
132
+ let currentY = maxY - (group.length - 1) * (labelHeight + compressedGap);
133
+ currentY = Math.max(minY, currentY);
134
+ for (const label of group) {
135
+ label.finalY = currentY;
136
+ currentY += labelHeight + compressedGap;
137
+ }
138
+ }
139
+ }
140
+ }
141
+ const result = new Map();
142
+ for (const label of sortedLabels) {
143
+ result.set(label.seriesId, label.finalY);
144
+ }
145
+ return result;
146
+ };
@@ -0,0 +1,268 @@
1
+ import { useEffect, useMemo, useRef } from 'react';
2
+ import { useAnimatedReaction, useSharedValue, withDelay, withSpring, withTiming } from 'react-native-reanimated';
3
+ import { notifyChange, Skia } from '@shopify/react-native-skia';
4
+ import { interpolatePath } from 'd3-interpolate-path';
5
+
6
+ /**
7
+ * Transition for animations.
8
+ * Supports timing and spring animation types.
9
+ * Used for paths, positions, opacity, and any other animated properties.
10
+ *
11
+ * @example
12
+ * // Spring animation
13
+ * { type: 'spring', damping: 10, stiffness: 100 }
14
+ *
15
+ * @example
16
+ * // Timing animation
17
+ * { type: 'timing', duration: 500, easing: Easing.inOut(Easing.ease) }
18
+ */
19
+
20
+ /**
21
+ * Default update transition used across all chart components.
22
+ * `{ type: 'spring', stiffness: 900, damping: 120 }`
23
+ */
24
+ export const defaultTransition = {
25
+ type: 'spring',
26
+ stiffness: 900,
27
+ damping: 120
28
+ };
29
+
30
+ /**
31
+ * Instant transition that completes immediately with no animation.
32
+ * Used when a transition is set to `null`.
33
+ */
34
+ export const instantTransition = {
35
+ type: 'timing',
36
+ duration: 0
37
+ };
38
+
39
+ /**
40
+ * Duration in milliseconds for accessory elements to fade in.
41
+ */
42
+ export const accessoryFadeTransitionDuration = 150;
43
+
44
+ /**
45
+ * Delay in milliseconds before accessory elements fade in.
46
+ */
47
+ export const accessoryFadeTransitionDelay = 350;
48
+
49
+ /**
50
+ * Default enter transition for accessory elements (Point, Scrubber beacons).
51
+ * `{ type: 'timing', duration: 150, delay: 350 }`
52
+ */
53
+ export const defaultAccessoryEnterTransition = {
54
+ type: 'timing',
55
+ duration: accessoryFadeTransitionDuration,
56
+ delay: accessoryFadeTransitionDelay
57
+ };
58
+
59
+ // Avoid exact endpoint samples, which can intermittently produce non-interpolatable
60
+ // path pairs for SkPath.interpolate on complex morphs.
61
+ // See https://github.com/wcandillon/can-it-be-done-in-react-native/blob/db8d6ee7024e37e8f8d2cb237c0b953b5fc766fe/season5/src/Headspace/Play.tsx
62
+ const pathInterpolationEpsilon = 1e-3;
63
+
64
+ /**
65
+ * Resolves a transition value based on the animation state and a default.
66
+ * @note Passing in null will disable an animation.
67
+ * @note Passing in undefined will use the provided default.
68
+ */
69
+ export const getTransition = (value, animate, defaultValue) => {
70
+ if (!animate || value === null) return null;
71
+ return value != null ? value : defaultValue;
72
+ };
73
+
74
+ // Interpolator and useInterpolator are brought over from non exported code in @shopify/react-native-skia
75
+ /**
76
+ * @worklet
77
+ */
78
+
79
+ export const useInterpolator = (factory, value, interpolator, input, output, options) => {
80
+ // eslint-disable-next-line react-hooks/exhaustive-deps
81
+ const init = useMemo(() => factory(), []);
82
+ const result = useSharedValue(init);
83
+ useAnimatedReaction(() => value.value, val => {
84
+ result.value = interpolator(val, input, output, options, result.value);
85
+ notifyChange(result);
86
+ }, [input, output, options]);
87
+ return result;
88
+ };
89
+
90
+ /**
91
+ * Builds a react-native-reanimated animation based on the configuration.
92
+ *
93
+ * @param targetValue - The target value to animate to
94
+ * @param config - The transition configuration
95
+ * @returns The animation value to assign to a shared value
96
+ *
97
+ * @example
98
+ * // Use directly for animation
99
+ * progress.value = 0;
100
+ * progress.value = buildTransition(1, { type: 'spring', damping: 10, stiffness: 100 });
101
+ *
102
+ * @example
103
+ * // Coordinate animations
104
+ * animatedX.value = buildTransition(100, { type: 'spring', damping: 10, stiffness: 100 });
105
+ * animatedY.value = buildTransition(200, { type: 'spring', damping: 10, stiffness: 100 });
106
+ *
107
+ * @example
108
+ * // Timing animation
109
+ * progress.value = buildTransition(1, { type: 'timing', duration: 500 });
110
+ */
111
+ export const buildTransition = (targetValue, transition) => {
112
+ 'worklet';
113
+
114
+ if (transition === null) return targetValue;
115
+ const delayMs = transition.delay;
116
+ let animation;
117
+ switch (transition.type) {
118
+ case 'timing':
119
+ {
120
+ animation = withTiming(targetValue, transition);
121
+ break;
122
+ }
123
+ case 'spring':
124
+ {
125
+ animation = withSpring(targetValue, transition);
126
+ break;
127
+ }
128
+ default:
129
+ {
130
+ animation = withSpring(targetValue, defaultTransition);
131
+ break;
132
+ }
133
+ }
134
+ if (delayMs && delayMs > 0) {
135
+ return withDelay(delayMs, animation);
136
+ }
137
+ return animation;
138
+ };
139
+
140
+ /**
141
+ * Hook for path animation state and transitions.
142
+ *
143
+ * @param currentPath - Current target path to animate to
144
+ * @param initialPath - Initial path for enter animation. When provided, the first animation will go from initialPath to currentPath.
145
+ * @param transitions - Transition configuration for enter and update animations
146
+ * @returns Animated SkPath as a shared value
147
+ *
148
+ * @example
149
+ * // Simple path transition
150
+ * const path = usePathTransition({
151
+ * currentPath: d ?? '',
152
+ * transitions: {
153
+ * update: { type: 'timing', duration: 3000 },
154
+ * },
155
+ * });
156
+ *
157
+ * @example
158
+ * // Enter animation with different initial config (like DefaultBar)
159
+ * const path = usePathTransition({
160
+ * currentPath: targetPath,
161
+ * initialPath: baselinePath,
162
+ * transitions: {
163
+ * enter: { type: 'tween', duration: 500 },
164
+ * update: { type: 'spring', stiffness: 900, damping: 120 },
165
+ * },
166
+ * });
167
+ */
168
+ export const usePathTransition = _ref => {
169
+ var _Skia$Path$MakeFromSV;
170
+ let {
171
+ currentPath,
172
+ initialPath,
173
+ transitions,
174
+ transition = defaultTransition
175
+ } = _ref;
176
+ const transitionRef = useRef({
177
+ enter: transitions == null ? void 0 : transitions.enter,
178
+ update: (transitions == null ? void 0 : transitions.update) !== undefined ? transitions.update : transition
179
+ });
180
+ transitionRef.current.enter = transitions == null ? void 0 : transitions.enter;
181
+ transitionRef.current.update = (transitions == null ? void 0 : transitions.update) !== undefined ? transitions.update : transition;
182
+ const targetPathRef = useRef(initialPath != null ? initialPath : currentPath);
183
+ const isFirstAnimation = useRef(!!initialPath);
184
+ const interpolatorRef = useRef(null);
185
+ const progress = useSharedValue(0);
186
+ const initialSkiaPath = (_Skia$Path$MakeFromSV = Skia.Path.MakeFromSVGString(initialPath != null ? initialPath : currentPath)) != null ? _Skia$Path$MakeFromSV : Skia.Path.Make();
187
+ const normalizedStartShared = useSharedValue(initialSkiaPath);
188
+ const normalizedEndShared = useSharedValue(initialSkiaPath);
189
+ const fallbackPathShared = useSharedValue(initialSkiaPath);
190
+ const result = useSharedValue(initialSkiaPath);
191
+ const animationFrameRef = useRef(null);
192
+ useEffect(() => {
193
+ var _Skia$Path$MakeFromSV3, _Skia$Path$MakeFromSV4, _Skia$Path$MakeFromSV5;
194
+ if (targetPathRef.current === currentPath) {
195
+ return;
196
+ }
197
+ let fromPath = targetPathRef.current;
198
+ if (interpolatorRef.current) {
199
+ const p = Math.min(Math.max(progress.value, 0), 1);
200
+ fromPath = interpolatorRef.current(p);
201
+ }
202
+ targetPathRef.current = currentPath;
203
+ const {
204
+ enter,
205
+ update
206
+ } = transitionRef.current;
207
+ const isFirstAnim = isFirstAnimation.current;
208
+ const activeTransition = isFirstAnim && enter !== undefined ? enter : update;
209
+ isFirstAnimation.current = false;
210
+ if (activeTransition === null) {
211
+ var _Skia$Path$MakeFromSV2;
212
+ const targetPath = (_Skia$Path$MakeFromSV2 = Skia.Path.MakeFromSVGString(currentPath)) != null ? _Skia$Path$MakeFromSV2 : Skia.Path.Make();
213
+ interpolatorRef.current = null;
214
+ normalizedStartShared.value = targetPath;
215
+ normalizedEndShared.value = targetPath;
216
+ fallbackPathShared.value = targetPath;
217
+ progress.value = 1;
218
+ result.value = targetPath;
219
+ notifyChange(result);
220
+ return;
221
+ }
222
+ const pathInterpolator = interpolatePath(fromPath, currentPath);
223
+ interpolatorRef.current = pathInterpolator;
224
+ normalizedStartShared.value = (_Skia$Path$MakeFromSV3 = Skia.Path.MakeFromSVGString(pathInterpolator(pathInterpolationEpsilon))) != null ? _Skia$Path$MakeFromSV3 : Skia.Path.Make();
225
+ normalizedEndShared.value = (_Skia$Path$MakeFromSV4 = Skia.Path.MakeFromSVGString(pathInterpolator(1 - pathInterpolationEpsilon))) != null ? _Skia$Path$MakeFromSV4 : Skia.Path.Make();
226
+ fallbackPathShared.value = (_Skia$Path$MakeFromSV5 = Skia.Path.MakeFromSVGString(currentPath)) != null ? _Skia$Path$MakeFromSV5 : Skia.Path.Make();
227
+ const kickoff = () => {
228
+ progress.value = 0;
229
+ progress.value = buildTransition(1, activeTransition);
230
+ };
231
+
232
+ // Initial enter: defer the kickoff one frame. In Reanimated v4 / worklets
233
+ // v0.5.2, valueSetter's rAF chain doesn't advance for animation builders
234
+ // assigned during the first React commit — the animation is set up but
235
+ // never ticks. Deferring to the next frame puts us in the "warm" state
236
+ // that updates already enjoy, and the rAF chain runs.
237
+ if (isFirstAnim) {
238
+ animationFrameRef.current = requestAnimationFrame(kickoff);
239
+ return;
240
+ }
241
+
242
+ // Cancel any deferred initial kickoff that hasn't fired yet so its stale
243
+ // enter transition doesn't overwrite this update animation.
244
+ if (animationFrameRef.current) {
245
+ cancelAnimationFrame(animationFrameRef.current);
246
+ animationFrameRef.current = null;
247
+ }
248
+
249
+ // Subsequent kickoff (data update or post-layout-settle re-render) — runs
250
+ // synchronously since the cold-state window only applies to the very first
251
+ // React commit.
252
+ kickoff();
253
+ }, [currentPath, progress, normalizedStartShared, normalizedEndShared, fallbackPathShared, result]);
254
+ useAnimatedReaction(() => ({
255
+ p: progress.value,
256
+ to: fallbackPathShared.value
257
+ }), _ref2 => {
258
+ 'worklet';
259
+
260
+ var _normalizedEndShared$;
261
+ let {
262
+ p
263
+ } = _ref2;
264
+ result.value = (_normalizedEndShared$ = normalizedEndShared.value.interpolate(normalizedStartShared.value, p)) != null ? _normalizedEndShared$ : fallbackPathShared.value;
265
+ notifyChange(result);
266
+ }, []);
267
+ return result;
268
+ };