@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,329 @@
1
+ import { isSharedValue } from 'react-native-reanimated';
2
+ import { stack as d3Stack, stackOffsetDiverging, stackOrderNone } from 'd3-shape';
3
+ import { defaultAxisId } from './axis';
4
+ export const defaultStackId = 'DEFAULT_STACK_ID';
5
+
6
+ /**
7
+ * Shape variants available for legend items.
8
+ */
9
+
10
+ /**
11
+ * Shape for legend items. Can be a preset variant or a custom ReactNode.
12
+ */
13
+
14
+ /**
15
+ * Position of the legend relative to the chart.
16
+ */
17
+
18
+ /**
19
+ * Type guard to check if bounds are complete with both min and max values.
20
+ * @param bounds - The bounds to validate
21
+ * @returns True if bounds has both min and max defined
22
+ */
23
+ export const isValidBounds = bounds => bounds.min !== undefined && bounds.max !== undefined;
24
+ /**
25
+ * Calculates the domain of a chart from series data.
26
+ * Domain represents the range of x-values from the data.
27
+ */
28
+ export const getChartDomain = (series, min, max) => {
29
+ const domain = {
30
+ min,
31
+ max
32
+ };
33
+ if (domain.min !== undefined && domain.max !== undefined) {
34
+ return domain;
35
+ }
36
+ if (series.length > 0) {
37
+ const dataLength = Math.max(...series.map(s => {
38
+ var _s$data;
39
+ return ((_s$data = s.data) == null ? void 0 : _s$data.length) || 0;
40
+ }));
41
+ if (dataLength > 0) {
42
+ if (domain.min === undefined) domain.min = 0;
43
+ if (domain.max === undefined) domain.max = dataLength - 1;
44
+ }
45
+ }
46
+ return domain;
47
+ };
48
+
49
+ /**
50
+ * Creates a composite stack key that includes stack ID and axis IDs.
51
+ * This ensures series with different scales don't get stacked together.
52
+ */
53
+ const createStackKey = series => {
54
+ if (series.stackId === undefined) return undefined;
55
+
56
+ // Include axis IDs to prevent cross-scale stacking
57
+ const xAxisId = series.xAxisId || 'default';
58
+ const yAxisId = series.yAxisId || 'default';
59
+ return series.stackId + ":" + xAxisId + ":" + yAxisId;
60
+ };
61
+
62
+ /**
63
+ * Get the baseline for a series on the value axis for a series (stacking and plain numeric points).
64
+ * @returns The baseline for the series on the value axis, or `0` if none.
65
+ */
66
+ const getValueAxisBaselineForSeries = (layout, series, xAxisConfigs, yAxisConfigs) => {
67
+ var _series$yAxisId, _yAxisConfigs$find$ba, _yAxisConfigs$find;
68
+ if (layout === 'horizontal') {
69
+ var _series$xAxisId, _xAxisConfigs$find$ba, _xAxisConfigs$find;
70
+ const seriesAxisId = (_series$xAxisId = series.xAxisId) != null ? _series$xAxisId : defaultAxisId;
71
+ return (_xAxisConfigs$find$ba = (_xAxisConfigs$find = xAxisConfigs.find(a => a.id === seriesAxisId)) == null ? void 0 : _xAxisConfigs$find.baseline) != null ? _xAxisConfigs$find$ba : 0;
72
+ }
73
+ const seriesAxisId = (_series$yAxisId = series.yAxisId) != null ? _series$yAxisId : defaultAxisId;
74
+ return (_yAxisConfigs$find$ba = (_yAxisConfigs$find = yAxisConfigs.find(a => a.id === seriesAxisId)) == null ? void 0 : _yAxisConfigs$find.baseline) != null ? _yAxisConfigs$find$ba : 0;
75
+ };
76
+
77
+ /**
78
+ * Transforms series data into stacked data using D3's stack algorithm.
79
+ * Returns a map of series ID to transformed [baseline, value] tuples.
80
+ *
81
+ * @param series - Array of series with potential stack properties
82
+ * @param layout - When set with axis configs, value-axis baselines are resolved for stacking
83
+ * @returns Map of series ID to stacked data arrays
84
+ */
85
+ export const getStackedSeriesData = (series, layout, xAxisConfigs, yAxisConfigs) => {
86
+ const stackedDataMap = new Map();
87
+ const numericStackGroups = new Map();
88
+ const individualSeries = [];
89
+ const normalizeSeriesData = seriesItem => {
90
+ if (!seriesItem.data) return;
91
+ const baseline = getValueAxisBaselineForSeries(layout, seriesItem, xAxisConfigs, yAxisConfigs);
92
+ return seriesItem.data.map(val => {
93
+ if (val === null) return null;
94
+ if (Array.isArray(val)) {
95
+ return val;
96
+ }
97
+ if (typeof val === 'number') return [baseline, val];
98
+ return null;
99
+ });
100
+ };
101
+ series.forEach(s => {
102
+ var _s$data2;
103
+ const stackKey = createStackKey(s);
104
+ const hasTupleData = (_s$data2 = s.data) == null ? void 0 : _s$data2.some(val => Array.isArray(val));
105
+ if (hasTupleData || stackKey === undefined) {
106
+ individualSeries.push(s);
107
+ } else {
108
+ if (!numericStackGroups.has(stackKey)) {
109
+ numericStackGroups.set(stackKey, []);
110
+ }
111
+ numericStackGroups.get(stackKey).push(s);
112
+ }
113
+ });
114
+ individualSeries.forEach(s => {
115
+ const normalizedData = normalizeSeriesData(s);
116
+ if (!normalizedData) return;
117
+ stackedDataMap.set(s.id, normalizedData);
118
+ });
119
+ numericStackGroups.forEach(groupSeries => {
120
+ // A lone series with stackId should still behave like a non-stacked series.
121
+ if (groupSeries.length < 2) {
122
+ groupSeries.forEach(singleSeries => {
123
+ const normalizedData = normalizeSeriesData(singleSeries);
124
+ if (!normalizedData) return;
125
+ stackedDataMap.set(singleSeries.id, normalizedData);
126
+ });
127
+ return;
128
+ }
129
+ const maxLength = Math.max(...groupSeries.map(s => {
130
+ var _s$data3;
131
+ return ((_s$data3 = s.data) == null ? void 0 : _s$data3.length) || 0;
132
+ }));
133
+ if (maxLength === 0) return;
134
+ const first = groupSeries[0];
135
+ const groupBaseline = getValueAxisBaselineForSeries(layout, first, xAxisConfigs, yAxisConfigs);
136
+ const dataset = new Array(maxLength).fill(undefined).map((_, i) => {
137
+ const row = {};
138
+ for (const s of groupSeries) {
139
+ var _s$data4;
140
+ const val = (_s$data4 = s.data) == null ? void 0 : _s$data4[i];
141
+ // Stack around baseline by translating values into baseline-relative deltas.
142
+ const num = typeof val === 'number' ? val - groupBaseline : 0;
143
+ row[s.id] = num;
144
+ }
145
+ return row;
146
+ });
147
+ const keys = groupSeries.map(s => s.id);
148
+ const stackedSeries = d3Stack().keys(keys).order(stackOrderNone).offset(stackOffsetDiverging)(dataset);
149
+ stackedSeries.forEach((layer, layerIndex) => {
150
+ const seriesId = keys[layerIndex];
151
+ const stackedData = layer.map(_ref => {
152
+ let [bottom, top] = _ref;
153
+ return [bottom + groupBaseline, top + groupBaseline];
154
+ });
155
+ stackedDataMap.set(seriesId, stackedData);
156
+ });
157
+ });
158
+ return stackedDataMap;
159
+ };
160
+
161
+ /**
162
+ * Extracts line data values from series data that may contain tuples.
163
+ * For tuple data [[baseline, value]], extracts the last value.
164
+ * For numeric data [value], returns as-is.
165
+ *
166
+ * @param data - Array of numbers, tuples, or null values
167
+ * @returns Array of numbers or null values
168
+ */
169
+ export const getLineData = data => {
170
+ if (!data) return [];
171
+
172
+ // Check if this is tuple data by finding first non-null entry
173
+ const firstNonNull = data.find(d => d !== null);
174
+ if (Array.isArray(firstNonNull)) {
175
+ return data.map(d => {
176
+ var _d;
177
+ if (d === null) return null;
178
+ if (Array.isArray(d)) return (_d = d[d.length - 1]) != null ? _d : null;
179
+ return d;
180
+ });
181
+ }
182
+
183
+ // Already numeric data
184
+ return data;
185
+ };
186
+
187
+ /**
188
+ * Calculates the range of a chart from series data.
189
+ * Range represents the range of y-values from the data.
190
+ * Handles stacking by transforming data when series have stack properties.
191
+ */
192
+ export const getChartRange = (series, layout, xAxisConfigs, yAxisConfigs, min, max) => {
193
+ const range = {
194
+ min,
195
+ max
196
+ };
197
+ if (range.min !== undefined && range.max !== undefined) {
198
+ return range;
199
+ }
200
+ if (series.length === 0) {
201
+ return range;
202
+ }
203
+
204
+ // Group series by composite stack key for proper calculation
205
+ const stackGroups = new Map();
206
+ series.forEach(s => {
207
+ const stackKey = createStackKey(s);
208
+ if (!stackGroups.has(stackKey)) {
209
+ stackGroups.set(stackKey, []);
210
+ }
211
+ stackGroups.get(stackKey).push(s);
212
+ });
213
+
214
+ // Check if we have any stacked series
215
+ const hasStacks = Array.from(stackGroups.keys()).some(k => k !== undefined);
216
+ if (hasStacks) {
217
+ // Get stacked data using the shared function
218
+ const stackedDataMap = getStackedSeriesData(series, layout, xAxisConfigs, yAxisConfigs);
219
+
220
+ // Find the extreme values from the stacked data
221
+ let stackedMax = -Infinity;
222
+ let stackedMin = Infinity;
223
+ stackedDataMap.forEach(stackedData => {
224
+ stackedData.forEach(point => {
225
+ if (point !== null) {
226
+ const [bottom, top] = point;
227
+ if (top > stackedMax) stackedMax = top;
228
+ if (bottom < stackedMin) stackedMin = bottom;
229
+ }
230
+ });
231
+ });
232
+
233
+ // Don't add padding - let D3's nice() function handle axis padding
234
+ if (range.min === undefined) range.min = stackedMin === Infinity ? 0 : stackedMin;
235
+ if (range.max === undefined) range.max = stackedMax === -Infinity ? 0 : stackedMax;
236
+ } else {
237
+ // No stacking, calculate range from raw values
238
+ const allValues = [];
239
+ series.forEach(s => {
240
+ if (s.data) {
241
+ s.data.forEach(point => {
242
+ if (typeof point === 'number') {
243
+ allValues.push(point);
244
+ } else if (Array.isArray(point)) {
245
+ // Filter out null values from tuples
246
+ const validValues = point.filter(val => val !== null);
247
+ allValues.push(...validValues);
248
+ }
249
+ });
250
+ }
251
+ });
252
+ if (allValues.length > 0) {
253
+ const minValue = Math.min(...allValues);
254
+ const maxValue = Math.max(...allValues);
255
+ if (range.min === undefined) range.min = minValue;
256
+ if (range.max === undefined) range.max = maxValue;
257
+ }
258
+ }
259
+ return range;
260
+ };
261
+ export const defaultVerticalLayoutChartInset = {
262
+ top: 32,
263
+ left: 16,
264
+ bottom: 16,
265
+ right: 16
266
+ };
267
+ export const defaultHorizontalLayoutChartInset = {
268
+ top: 16,
269
+ left: 16,
270
+ bottom: 16,
271
+ right: 48
272
+ };
273
+
274
+ /**
275
+ * @deprecated Use `defaultVerticalLayoutChartInset` for vertical layout charts or. This will be removed in a future major release.
276
+ * @deprecationExpectedRemoval v4
277
+ * `defaultHorizontalLayoutChartInset` for horizontal layout charts.
278
+ */
279
+ export const defaultChartInset = defaultVerticalLayoutChartInset;
280
+
281
+ /**
282
+ * Normalize padding to include all sides with a value.
283
+ * @param padding - The padding to get.
284
+ * @param defaults - Optional complete default values to use instead of 0.
285
+ * @returns The calculated padding.
286
+ */
287
+ /**
288
+ * Normalize inset to include all sides with a value.
289
+ * @param inset - The inset to get.
290
+ * @param defaults - Optional complete default values to use instead of 0.
291
+ * @returns The calculated inset.
292
+ */
293
+ export const getChartInset = (inset, defaults) => {
294
+ var _inset$top, _inset$left, _inset$bottom, _inset$right;
295
+ const baseDefaults = defaults != null ? defaults : {
296
+ top: 0,
297
+ left: 0,
298
+ bottom: 0,
299
+ right: 0
300
+ };
301
+ if (typeof inset === 'number') {
302
+ return {
303
+ top: inset,
304
+ left: inset,
305
+ bottom: inset,
306
+ right: inset
307
+ };
308
+ }
309
+ return {
310
+ top: (_inset$top = inset == null ? void 0 : inset.top) != null ? _inset$top : baseDefaults.top,
311
+ left: (_inset$left = inset == null ? void 0 : inset.left) != null ? _inset$left : baseDefaults.left,
312
+ bottom: (_inset$bottom = inset == null ? void 0 : inset.bottom) != null ? _inset$bottom : baseDefaults.bottom,
313
+ right: (_inset$right = inset == null ? void 0 : inset.right) != null ? _inset$right : baseDefaults.right
314
+ };
315
+ };
316
+
317
+ /**
318
+ * Unwraps an optionally animated value to get the raw value.
319
+ * @param value - The value to unwrap.
320
+ * @returns The raw value.
321
+ */
322
+ export const unwrapAnimatedValue = value => {
323
+ 'worklet';
324
+
325
+ if (isSharedValue(value)) {
326
+ return value.value;
327
+ }
328
+ return value;
329
+ };
@@ -0,0 +1,22 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ /**
4
+ * Chart layout for Cartesian charts.
5
+ * Describes the direction bars/areas grow.
6
+ * - 'vertical': Bars grow vertically (up/down). X is category axis, Y is value axis.
7
+ * - 'horizontal': Bars grow horizontally (left/right). Y is category axis, X is value axis.
8
+ */
9
+
10
+ /**
11
+ * Context value for Cartesian (X/Y) coordinate charts.
12
+ * Contains axis-specific methods and properties for rectangular coordinate systems.
13
+ */
14
+
15
+ export const ScrubberContext = /*#__PURE__*/createContext(undefined);
16
+ export const useScrubberContext = () => {
17
+ const context = useContext(ScrubberContext);
18
+ if (!context) {
19
+ throw new Error('useScrubberContext must be used within a Chart component');
20
+ }
21
+ return context;
22
+ };
@@ -0,0 +1,319 @@
1
+ import { Skia } from '@shopify/react-native-skia';
2
+ import { applySerializableScale, isCategoricalScale, isSerializableScale } from './scale';
3
+
4
+ /**
5
+ * Defines a color transition point in the gradient
6
+ */
7
+
8
+ /**
9
+ * Defines a gradient.
10
+ */
11
+
12
+ /**
13
+ * Resolves the axis used for gradient processing.
14
+ */
15
+ export const getGradientAxis = (gradient, layout) => {
16
+ var _gradient$axis;
17
+ return (_gradient$axis = gradient.axis) != null ? _gradient$axis : layout === 'horizontal' ? 'x' : 'y';
18
+ };
19
+
20
+ /**
21
+ * Resolves gradient stops, handling both static arrays and function forms.
22
+ * When stops is a function, calls it with the domain bounds.
23
+ */
24
+ export const getGradientStops = (stops, domain) => {
25
+ if (typeof stops === 'function') {
26
+ return stops(domain);
27
+ }
28
+ return stops;
29
+ };
30
+
31
+ /**
32
+ * Processes Gradient to gradient configuration for SVG linearGradient.
33
+ * Colors are smoothly interpolated between stops by the browser.
34
+ * Multiple stops at the same offset create hard color transitions.
35
+ */
36
+ const processGradientStops = (stops, scale) => {
37
+ if (stops.length === 0) {
38
+ console.warn('Gradient has no stops - falling back to default');
39
+ return;
40
+ }
41
+
42
+ // Check if stops are in ascending order
43
+ const isOutOfOrder = stops.some((stop, i) => {
44
+ return i > 0 && stop.offset < stops[i - 1].offset;
45
+ });
46
+ if (isOutOfOrder) {
47
+ console.warn("Gradient: stop offsets must be in ascending order");
48
+ return;
49
+ }
50
+ const [rangeMin, rangeMax] = scale.range();
51
+ const rangeSpan = Math.abs(rangeMax - rangeMin);
52
+
53
+ // Convert data value offsets to normalized positions (0-1) using scale
54
+ const normalizedStops = stops.map(stop => {
55
+ var _stop$opacity;
56
+ const stopPosition = scale(stop.offset);
57
+ const normalized = stopPosition === undefined ? 0 : Math.max(0, Math.min(1, Math.abs(stopPosition - rangeMin) / rangeSpan));
58
+ return {
59
+ offset: normalized,
60
+ // Now 0-1 normalized (not data space)
61
+ color: stop.color,
62
+ opacity: (_stop$opacity = stop.opacity) != null ? _stop$opacity : 1
63
+ };
64
+ }).sort((a, b) => a.offset - b.offset);
65
+ return normalizedStops;
66
+ };
67
+
68
+ /**
69
+ * Interpolates between two colors using linear interpolation.
70
+ * Returns an rgba string.
71
+ */
72
+ const interpolateColor = (color1, color2, t) => {
73
+ 'worklet';
74
+
75
+ const c1 = Skia.Color(color1);
76
+ const c2 = Skia.Color(color2);
77
+ const r = Math.round((c1[0] + (c2[0] - c1[0]) * t) * 255);
78
+ const g = Math.round((c1[1] + (c2[1] - c1[1]) * t) * 255);
79
+ const b = Math.round((c1[2] + (c2[2] - c1[2]) * t) * 255);
80
+ const a = c1[3] + (c2[3] - c1[3]) * t;
81
+ return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
82
+ };
83
+
84
+ /**
85
+ * Adds an opacity to a color
86
+ * Returns an rgba string.
87
+ */
88
+ export const getColorWithOpacity = (color1, opacity) => {
89
+ const c = Skia.Color(color1);
90
+ return "rgba(" + c[0] * 255 + ", " + c[1] * 255 + ", " + c[2] * 255 + ", " + opacity + ")";
91
+ };
92
+
93
+ /**
94
+ * Creates a gradient configuration for SVG components.
95
+ * Processes a GradientDefinition into a renderable GradientConfig.
96
+ * Supports both numeric scales (linear, log) and categorical scales (band).
97
+ *
98
+ * @param gradient - GradientDefinition configuration
99
+ * @param xScale - X-axis scale
100
+ * @param yScale - Y-axis scale
101
+ * @param layout - Chart layout
102
+ * @returns GradientConfig or null if gradient processing fails
103
+ *
104
+ * @example
105
+ * const gradientConfig = useMemo(() => {
106
+ * if (!gradient || !xScale || !yScale) return;
107
+ * return getGradientConfig(gradient, xScale, yScale);
108
+ * }, [gradient, xScale, yScale]);
109
+ *
110
+ * if (gradientConfig) {
111
+ * return (
112
+ * <defs>
113
+ * <Gradient
114
+ * config={gradientConfig}
115
+ * direction={gradient.axis === 'x' ? 'horizontal' : 'vertical'}
116
+ * id={gradientId}
117
+ * />
118
+ * </defs>
119
+ * );
120
+ * }
121
+ */
122
+ export const getGradientConfig = (gradient, xScale, yScale, layout) => {
123
+ if (!gradient) return;
124
+
125
+ // Get the scale based on axis
126
+ const axis = getGradientAxis(gradient, layout);
127
+ const scale = axis === 'x' ? xScale : yScale;
128
+ if (!scale) return;
129
+
130
+ // Extract domain from scale
131
+ const scaleDomain = scale.domain();
132
+ let domain;
133
+ if (isCategoricalScale(scale)) {
134
+ const domainArray = scaleDomain;
135
+ domain = {
136
+ min: domainArray[0],
137
+ max: domainArray[domainArray.length - 1]
138
+ };
139
+ } else {
140
+ const [min, max] = scaleDomain;
141
+ domain = {
142
+ min,
143
+ max
144
+ };
145
+ }
146
+ const resolvedStops = getGradientStops(gradient.stops, domain);
147
+ return processGradientStops(resolvedStops, scale);
148
+ };
149
+
150
+ /**
151
+ * Evaluates the color at a specific data value based on the gradient stops, ignoring opacity.
152
+ * @param stops - The gradient stops configuration
153
+ * @param dataValue - The data value to evaluate (for band scales, this is the index)
154
+ * @param scale - The scale to use for value mapping (handles log scales correctly)
155
+ * @returns The color string at this data value, or undefined if invalid
156
+ */
157
+ export const evaluateGradientAtValue = (stops, dataValue, scale) => {
158
+ 'worklet';
159
+
160
+ if (stops.length === 0) return;
161
+
162
+ // Determine range based on scale type
163
+ let rangeMin;
164
+ let rangeMax;
165
+ if (isSerializableScale(scale)) {
166
+ // SerializableScale has range as [number, number]
167
+ [rangeMin, rangeMax] = scale.range;
168
+ } else {
169
+ // ChartScaleFunction has range() method
170
+ const scaleRange = scale.range();
171
+ [rangeMin, rangeMax] = Array.isArray(scaleRange) ? scaleRange : [scaleRange, scaleRange]; // fallback for band scales
172
+ }
173
+ const rangeSpan = Math.abs(rangeMax - rangeMin);
174
+ if (rangeSpan === 0) return stops[0].color;
175
+
176
+ // Map dataValue through scale to get position
177
+ let dataPosition;
178
+ if (isSerializableScale(scale)) {
179
+ dataPosition = applySerializableScale(dataValue, scale);
180
+ } else {
181
+ const result = scale(dataValue);
182
+ if (result === undefined) return stops[0].color;
183
+ dataPosition = result;
184
+ }
185
+
186
+ // Normalize to 0-1 based on range
187
+ const normalizedValue = Math.max(0, Math.min(1, Math.abs(dataPosition - rangeMin) / rangeSpan));
188
+
189
+ // Map stop offsets through scale and normalize to 0-1
190
+ const positions = stops.map(stop => {
191
+ let stopPosition;
192
+ if (isSerializableScale(scale)) {
193
+ stopPosition = applySerializableScale(stop.offset, scale);
194
+ } else {
195
+ const result = scale(stop.offset);
196
+ if (result === undefined) return 0;
197
+ stopPosition = result;
198
+ }
199
+ return Math.max(0, Math.min(1, Math.abs(stopPosition - rangeMin) / rangeSpan));
200
+ });
201
+
202
+ // Find which segment we're in
203
+ if (normalizedValue < positions[0]) {
204
+ return stops[0].color;
205
+ }
206
+ if (normalizedValue >= positions[positions.length - 1]) {
207
+ return stops[stops.length - 1].color;
208
+ }
209
+
210
+ // Check if dataValue matches any stop offset exactly (for hard transitions)
211
+ for (let i = 0; i < stops.length; i++) {
212
+ if (dataValue === stops[i].offset) {
213
+ // Found exact match - check if there are multiple stops at this offset (hard transition)
214
+ // Use the LAST color at this offset for hard transitions
215
+ let lastIndexAtOffset = i;
216
+ while (lastIndexAtOffset + 1 < stops.length && stops[lastIndexAtOffset + 1].offset === stops[i].offset) {
217
+ lastIndexAtOffset++;
218
+ }
219
+ return stops[lastIndexAtOffset].color;
220
+ }
221
+ }
222
+
223
+ // Find the segment to interpolate between
224
+ for (let i = 0; i < positions.length - 1; i++) {
225
+ if (normalizedValue >= positions[i] && normalizedValue <= positions[i + 1]) {
226
+ const segmentStart = positions[i];
227
+ const segmentEnd = positions[i + 1];
228
+ if (segmentEnd === segmentStart) {
229
+ return stops[i].color;
230
+ }
231
+ const t = (normalizedValue - segmentStart) / (segmentEnd - segmentStart);
232
+ return interpolateColor(stops[i].color, stops[i + 1].color, t);
233
+ }
234
+ }
235
+ return stops[0].color;
236
+ };
237
+
238
+ /**
239
+ * Determines the baseline value for the gradient area by finding the value
240
+ * within the axis bounds that is closest to the target baseline.
241
+ *
242
+ * @param axisBounds - The min and max bounds of the axis
243
+ * @param baseline - The target baseline value (defaults to 0)
244
+ * @returns The value within bounds closest to the baseline
245
+ */
246
+ export const getBaseline = function (axisBounds, baseline) {
247
+ if (baseline === void 0) {
248
+ baseline = 0;
249
+ }
250
+ const {
251
+ min,
252
+ max
253
+ } = axisBounds;
254
+
255
+ // Normalize to ensure lowerBound <= upperBound
256
+ const lowerBound = Math.min(min, max);
257
+ const upperBound = Math.max(min, max);
258
+
259
+ // If baseline is within the range, use it
260
+ if (lowerBound <= baseline && baseline <= upperBound) return baseline;
261
+
262
+ // Otherwise, return the bound closest to baseline
263
+ return Math.abs(lowerBound - baseline) < Math.abs(upperBound - baseline) ? lowerBound : upperBound;
264
+ };
265
+
266
+ /**
267
+ * Generates a gradient definition for the area chart based on the axis bounds
268
+ * and styling parameters. Ensures gradient stops are in ascending order.
269
+ *
270
+ * @param axisBounds - The min and max bounds of the axis
271
+ * @param baselineValue - The baseline value for the gradient
272
+ * @param fill - The color to use for the gradient
273
+ * @param peakOpacity - Opacity at the peak of the gradient
274
+ * @param baselineOpacity - Opacity at the baseline
275
+ * @param axis - The axis the gradient maps to ('y' for vertical, 'x' for horizontal layout)
276
+ * @returns A gradient definition with stops in ascending order
277
+ */
278
+ export const createGradient = function (axisBounds, baselineValue, fill, peakOpacity, baselineOpacity, axis) {
279
+ if (axis === void 0) {
280
+ axis = 'y';
281
+ }
282
+ const {
283
+ min,
284
+ max
285
+ } = axisBounds;
286
+ const lowerBound = Math.min(min, max);
287
+ const upperBound = Math.max(min, max);
288
+ if (lowerBound < baselineValue && baselineValue < upperBound) {
289
+ return {
290
+ axis,
291
+ stops: [{
292
+ offset: lowerBound,
293
+ color: fill,
294
+ opacity: peakOpacity
295
+ }, {
296
+ offset: baselineValue,
297
+ color: fill,
298
+ opacity: baselineOpacity
299
+ }, {
300
+ offset: upperBound,
301
+ color: fill,
302
+ opacity: peakOpacity
303
+ }]
304
+ };
305
+ }
306
+ const peakValue = Math.abs(min - baselineValue) > Math.abs(max - baselineValue) ? min : max;
307
+ return {
308
+ axis,
309
+ stops: [{
310
+ offset: peakValue,
311
+ color: fill,
312
+ opacity: peakOpacity
313
+ }, {
314
+ offset: baselineValue,
315
+ color: fill,
316
+ opacity: baselineOpacity
317
+ }].sort((a, b) => a.offset - b.offset)
318
+ };
319
+ };
@@ -0,0 +1,12 @@
1
+ // codegen:start {preset: barrel, include: ./*.ts, exclude: ./__tests__/*.ts}
2
+ export * from './axis';
3
+ export * from './bar';
4
+ export * from './chart';
5
+ export * from './context';
6
+ export * from './gradient';
7
+ export * from './path';
8
+ export * from './point';
9
+ export * from './scale';
10
+ export * from './scrubber';
11
+ export * from './transition';
12
+ // codegen:end