@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,1410 @@
1
+ const _excluded = ["children"],
2
+ _excluded2 = ["x", "y", "width", "height", "dataX"],
3
+ _excluded3 = ["data", "height"],
4
+ _excluded4 = ["buy", "sell", "animate", "borderRadius", "height", "inset", "layout", "stackGap", "xAxis", "yAxis", "barMinSize"];
5
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
6
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
7
+ import { memo, useCallback, useEffect, useId, useMemo, useState } from 'react';
8
+ import { useDerivedValue } from 'react-native-reanimated';
9
+ import { assets } from '@coinbase/cds-common/internal/data/assets';
10
+ import { candles as btcCandles } from '@coinbase/cds-common/internal/data/candles';
11
+ import { Line as SkiaLine, Rect } from '@shopify/react-native-skia';
12
+ import { Button, IconButton } from '../../../../buttons';
13
+ import { Example, ExampleScreen } from '../../../../examples/ExampleScreen';
14
+ import { useTheme } from '../../../../hooks/useTheme';
15
+ import { HStack, VStack } from '../../../../layout';
16
+ import { Text } from '../../../../typography';
17
+ import { XAxis, YAxis } from '../../axis';
18
+ import { CartesianChart } from '../../CartesianChart';
19
+ import { useCartesianChartContext } from '../../ChartProvider';
20
+ import { DefaultLegendEntry } from '../../legend';
21
+ import { ReferenceLine, SolidLine } from '../../line';
22
+ import { Scrubber } from '../../scrubber';
23
+ import { getPointOnSerializableScale, unwrapAnimatedValue, useScrubberContext } from '../../utils';
24
+ import { Bar } from '../Bar';
25
+ import { BarChart } from '../BarChart';
26
+ import { BarPlot } from '../BarPlot';
27
+ import { DefaultBarStack } from '../DefaultBarStack';
28
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
29
+ const ThinSolidLine = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(SolidLine, _extends({}, props, {
30
+ strokeWidth: 1
31
+ })));
32
+ const defaultChartHeight = 250;
33
+ const baselineThresholdData = [40, 28, 21, 5, 48, 5, 28, 2, 29, 48, 18, 30, 29, 8].map(value => value + 50);
34
+ const PositiveAndNegativeCashFlow = () => {
35
+ const theme = useTheme();
36
+ const categories = Array.from({
37
+ length: 31
38
+ }, (_, i) => "3/" + (i + 1));
39
+ const gains = [5, 0, 6, 18, 0, 5, 12, 0, 12, 22, 28, 18, 0, 12, 6, 0, 0, 24, 0, 0, 4, 0, 18, 0, 0, 14, 10, 16, 0, 0, 0];
40
+ const losses = [-4, 0, -8, -12, -6, 0, 0, 0, -18, 0, -12, 0, -9, -6, 0, 0, 0, 0, -22, -8, 0, 0, -10, -14, 0, 0, 0, 0, 0, -12, -10];
41
+ const series = [{
42
+ id: 'gains',
43
+ data: gains,
44
+ color: theme.color.fgPositive,
45
+ stackId: 'bars'
46
+ }, {
47
+ id: 'losses',
48
+ data: losses,
49
+ color: theme.color.fgNegative,
50
+ stackId: 'bars'
51
+ }];
52
+ return /*#__PURE__*/_jsxs(CartesianChart, {
53
+ height: 420,
54
+ inset: 32,
55
+ series: series,
56
+ xAxis: {
57
+ data: categories,
58
+ scaleType: 'band'
59
+ },
60
+ children: [/*#__PURE__*/_jsx(XAxis, {}), /*#__PURE__*/_jsx(YAxis, {
61
+ showGrid: true,
62
+ GridLineComponent: ThinSolidLine,
63
+ tickLabelFormatter: value => "$" + value + "M"
64
+ }), /*#__PURE__*/_jsx(BarPlot, {}), /*#__PURE__*/_jsx(ReferenceLine, {
65
+ LineComponent: SolidLine,
66
+ dataY: 0
67
+ })]
68
+ });
69
+ };
70
+ const FiatAndStablecoinBalance = () => {
71
+ const theme = useTheme();
72
+ const categories = Array.from({
73
+ length: 31
74
+ }, (_, i) => "3/" + (i + 1));
75
+ const usd = [20, 20, 20, 20, 20, 40, 60, 60, 80, 120, 200, 240, 240, 240, 240, 240, 240, 240, 240, 60, 30, 20, 25, 5, 0, 0, 0, 0, 80, 120, 150];
76
+ const usdc = [0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 260, 260, 240, 220, 180, 160, 200, 240, 220, 0, 0, 0, 0, 0, 0, 250, 250, 250, 250, 250, 250];
77
+ const brl = [0, 0, 0, 0, 0, 0, 0, 20, 40, 100, 60, 60, 60, 0, 0, 0, 0, 0, 0, 160, 40, 80, 140, 180, 120, 0, 0, 0, 30, 30, 40];
78
+ const series = [{
79
+ id: 'BRL',
80
+ data: brl,
81
+ color: theme.color.accentBoldGreen
82
+ }, {
83
+ id: 'USDC',
84
+ data: usdc,
85
+ color: theme.color.accentBoldBlue
86
+ }, {
87
+ id: 'USD',
88
+ data: usd,
89
+ color: '#5b6cff'
90
+ }];
91
+ return /*#__PURE__*/_jsx(BarChart, {
92
+ showXAxis: true,
93
+ stacked: true,
94
+ barMinSize: 8,
95
+ height: 420,
96
+ inset: 32,
97
+ series: series,
98
+ stackGap: 2,
99
+ stackMinSize: 16,
100
+ xAxis: {
101
+ data: categories
102
+ }
103
+ });
104
+ };
105
+ const CustomBarStackComponent = /*#__PURE__*/memo(_ref => {
106
+ let {
107
+ children
108
+ } = _ref,
109
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
110
+ const theme = useTheme();
111
+ if (props.height === 0) {
112
+ const diameter = props.width;
113
+ return /*#__PURE__*/_jsx(Bar, {
114
+ roundBottom: true,
115
+ roundTop: true,
116
+ borderRadius: 1000,
117
+ fill: theme.color.bgTertiary,
118
+ height: diameter,
119
+ origin: props.y,
120
+ width: diameter,
121
+ x: props.x,
122
+ y: props.y - diameter
123
+ });
124
+ }
125
+ return /*#__PURE__*/_jsx(DefaultBarStack, _extends({}, props, {
126
+ children: children
127
+ }));
128
+ });
129
+ const MonthlyRewards = () => {
130
+ const theme = useTheme();
131
+ const months = ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'];
132
+ const purple = [null, 6, 8, 10, 7, 6, 6, 8, null, null, null, null];
133
+ const blue = [null, 10, 12, 11, 10, 9, 10, 11, null, null, null, null];
134
+ const cyan = [null, 7, 10, 12, 11, 10, 8, 11, null, null, null, null];
135
+ const green = [10, null, null, null, 1, null, null, 6, null, null, null, null];
136
+ const [roundBaseline, setRoundBaseline] = useState(true);
137
+ const series = [{
138
+ id: 'purple',
139
+ data: purple,
140
+ color: "rgb(" + theme.spectrum.purple30 + ")"
141
+ }, {
142
+ id: 'blue',
143
+ data: blue,
144
+ color: "rgb(" + theme.spectrum.blue30 + ")"
145
+ }, {
146
+ id: 'cyan',
147
+ data: cyan,
148
+ color: "rgb(" + theme.spectrum.teal30 + ")"
149
+ }, {
150
+ id: 'green',
151
+ data: green,
152
+ color: "rgb(" + theme.spectrum.green30 + ")"
153
+ }];
154
+ return /*#__PURE__*/_jsxs(VStack, {
155
+ gap: 2,
156
+ children: [/*#__PURE__*/_jsx(BarChart, {
157
+ showXAxis: true,
158
+ stacked: true,
159
+ BarStackComponent: CustomBarStackComponent,
160
+ borderRadius: 1000,
161
+ height: 300,
162
+ inset: 0,
163
+ roundBaseline: roundBaseline,
164
+ series: series,
165
+ showYAxis: false,
166
+ stackMinSize: 24,
167
+ xAxis: {
168
+ tickLabelFormatter: index => {
169
+ return months[index];
170
+ },
171
+ categoryPadding: 0.25
172
+ }
173
+ }), /*#__PURE__*/_jsx(Button, {
174
+ onPress: () => setRoundBaseline(!roundBaseline),
175
+ children: "Toggle Round Baseline"
176
+ })]
177
+ });
178
+ };
179
+ const MultipleYAxes = () => {
180
+ const theme = useTheme();
181
+ return /*#__PURE__*/_jsxs(CartesianChart, {
182
+ height: defaultChartHeight,
183
+ series: [{
184
+ id: 'revenue',
185
+ data: [455, 520, 380, 455, 190, 235],
186
+ yAxisId: 'revenue',
187
+ color: theme.color.accentBoldYellow
188
+ }, {
189
+ id: 'profit',
190
+ data: [23, 15, 30, 56, 4, 12],
191
+ yAxisId: 'profit',
192
+ color: theme.color.fgPositive
193
+ }],
194
+ xAxis: {
195
+ data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
196
+ scaleType: 'band'
197
+ },
198
+ yAxis: [{
199
+ id: 'revenue'
200
+ }, {
201
+ id: 'profit'
202
+ }],
203
+ children: [/*#__PURE__*/_jsx(XAxis, {
204
+ showLine: true,
205
+ showTickMarks: true,
206
+ label: "Month"
207
+ }), /*#__PURE__*/_jsx(YAxis, {
208
+ showGrid: true,
209
+ showLine: true,
210
+ showTickMarks: true,
211
+ axisId: "revenue",
212
+ label: "Revenue",
213
+ position: "left",
214
+ requestedTickCount: 5,
215
+ tickLabelFormatter: value => "$" + value + "k",
216
+ width: 80
217
+ }), /*#__PURE__*/_jsx(YAxis, {
218
+ showLine: true,
219
+ showTickMarks: true,
220
+ axisId: "profit",
221
+ label: "Profit",
222
+ requestedTickCount: 5,
223
+ tickLabelFormatter: value => "$" + value + "k",
224
+ width: 70
225
+ }), /*#__PURE__*/_jsx(BarPlot, {})]
226
+ });
227
+ };
228
+ const initialData = [45, 52, 38, 45, 19, 23, 32];
229
+ const UpdatingChartValues = () => {
230
+ const [data, setData] = useState(initialData);
231
+ return /*#__PURE__*/_jsxs(VStack, {
232
+ gap: 2,
233
+ children: [/*#__PURE__*/_jsx(BarChart, {
234
+ height: 100,
235
+ series: [{
236
+ id: 'weekly-data',
237
+ data: data
238
+ }],
239
+ xAxis: {
240
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
241
+ showTickMarks: true,
242
+ showLine: true
243
+ },
244
+ yAxis: {
245
+ requestedTickCount: 5,
246
+ tickLabelFormatter: value => "$" + value + "k",
247
+ showGrid: true,
248
+ showTickMarks: true,
249
+ showLine: true,
250
+ tickMarkSize: 12,
251
+ domain: {
252
+ max: 250
253
+ }
254
+ }
255
+ }), /*#__PURE__*/_jsx(BarChart, {
256
+ height: 100,
257
+ series: [{
258
+ id: 'weekly-data',
259
+ data: data
260
+ }],
261
+ transition: {
262
+ type: 'timing',
263
+ duration: 300
264
+ },
265
+ xAxis: {
266
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
267
+ showTickMarks: true,
268
+ showLine: true
269
+ },
270
+ yAxis: {
271
+ requestedTickCount: 5,
272
+ tickLabelFormatter: value => "$" + value + "k",
273
+ showGrid: true,
274
+ showTickMarks: true,
275
+ showLine: true,
276
+ tickMarkSize: 12,
277
+ domain: {
278
+ max: 250
279
+ }
280
+ }
281
+ }), /*#__PURE__*/_jsx(BarChart, {
282
+ height: 100,
283
+ series: [{
284
+ id: 'weekly-data',
285
+ data: data.map((d, i) => i % 2 === 0 ? d : -d)
286
+ }],
287
+ xAxis: {
288
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
289
+ showTickMarks: true,
290
+ showLine: true
291
+ },
292
+ yAxis: {
293
+ requestedTickCount: 5,
294
+ tickLabelFormatter: value => "$" + value + "k",
295
+ showGrid: true,
296
+ showTickMarks: true,
297
+ showLine: true,
298
+ tickMarkSize: 12,
299
+ domain: {
300
+ max: 250
301
+ }
302
+ },
303
+ children: /*#__PURE__*/_jsx(ReferenceLine, {
304
+ LineComponent: SolidLine,
305
+ dataY: 0
306
+ })
307
+ }), /*#__PURE__*/_jsx(Button, {
308
+ onPress: () => setData(data => data[0] > 200 ? initialData : data.map(d => d + 50)),
309
+ children: "Update Data"
310
+ })]
311
+ });
312
+ };
313
+ const AnimatedUpdatingChartValues = () => {
314
+ const [data, setData] = useState([45, 52, 38, 45, 19, 23, 32]);
315
+ useEffect(() => {
316
+ const interval = setInterval(() => {
317
+ setData(prevData => prevData.map(value => {
318
+ // Generate random change between -15 and +15
319
+ const change = Math.floor(Math.random() * 31) - 15;
320
+ // Ensure values stay between 10 and 200
321
+ return Math.max(10, Math.min(200, value + change));
322
+ }));
323
+ }, 1000);
324
+ return () => clearInterval(interval);
325
+ }, []);
326
+ return /*#__PURE__*/_jsx(BarChart, {
327
+ showXAxis: true,
328
+ showYAxis: true,
329
+ height: defaultChartHeight,
330
+ series: [{
331
+ id: 'weekly-data',
332
+ data: data
333
+ }],
334
+ xAxis: {
335
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
336
+ showTickMarks: true,
337
+ showLine: true
338
+ },
339
+ yAxis: {
340
+ requestedTickCount: 5,
341
+ tickLabelFormatter: value => "$" + value + "k",
342
+ showGrid: true,
343
+ showTickMarks: true,
344
+ showLine: true,
345
+ tickMarkSize: 12,
346
+ domain: {
347
+ max: 250
348
+ }
349
+ }
350
+ });
351
+ };
352
+ const NegativeValuesWithTopAxis = () => {
353
+ const theme = useTheme();
354
+ return /*#__PURE__*/_jsxs(CartesianChart, {
355
+ height: defaultChartHeight,
356
+ series: [{
357
+ id: 'losses',
358
+ data: [-45, -52, -38, -45, -19, -23, -32],
359
+ color: theme.color.fgNegative
360
+ }],
361
+ xAxis: {
362
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
363
+ scaleType: 'band'
364
+ },
365
+ children: [/*#__PURE__*/_jsx(XAxis, {
366
+ showLine: true,
367
+ showTickMarks: true,
368
+ label: "Day of Week",
369
+ position: "top"
370
+ }), /*#__PURE__*/_jsx(YAxis, {
371
+ showGrid: true,
372
+ showLine: true,
373
+ showTickMarks: true,
374
+ label: "Loss",
375
+ requestedTickCount: 5,
376
+ tickLabelFormatter: value => "$" + value + "k"
377
+ }), /*#__PURE__*/_jsx(BarPlot, {})]
378
+ });
379
+ };
380
+ const tabs = [{
381
+ id: 'week',
382
+ label: '1W'
383
+ }, {
384
+ id: 'month',
385
+ label: '1M'
386
+ }, {
387
+ id: 'year',
388
+ label: '1Y'
389
+ }];
390
+ const YAxisContinuousColorMap = () => {
391
+ const theme = useTheme();
392
+ return /*#__PURE__*/_jsx(BarChart, {
393
+ showXAxis: true,
394
+ showYAxis: true,
395
+ height: defaultChartHeight,
396
+ series: [{
397
+ id: 'temperature',
398
+ data: [12, 25, 38, 52, 45, 30, 18],
399
+ // Continuous gradient from blue (cold) to red (hot)
400
+ gradient: {
401
+ axis: 'y',
402
+ stops: _ref2 => {
403
+ let {
404
+ min,
405
+ max
406
+ } = _ref2;
407
+ return [{
408
+ offset: min,
409
+ color: theme.color.accentBoldGreen
410
+ }, {
411
+ offset: (min + max) / 2,
412
+ color: theme.color.accentBoldYellow
413
+ }, {
414
+ offset: max,
415
+ color: theme.color.accentBoldRed
416
+ }];
417
+ }
418
+ }
419
+ }],
420
+ xAxis: {
421
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
422
+ },
423
+ yAxis: {
424
+ requestedTickCount: 5,
425
+ tickLabelFormatter: value => value + "\xB0C",
426
+ showGrid: true
427
+ }
428
+ });
429
+ };
430
+ const YAxisDiscreteColorMap = () => {
431
+ const theme = useTheme();
432
+ return /*#__PURE__*/_jsx(BarChart, {
433
+ showXAxis: true,
434
+ showYAxis: true,
435
+ height: defaultChartHeight,
436
+ series: [{
437
+ id: 'temperature',
438
+ data: [12, 25, 38, 52, 45, 30, 18],
439
+ // Hard transitions based on performance thresholds
440
+ gradient: {
441
+ axis: 'y',
442
+ stops: [{
443
+ offset: 20,
444
+ color: theme.color.accentBoldGreen
445
+ }, {
446
+ offset: 20,
447
+ color: theme.color.accentBoldYellow
448
+ }, {
449
+ offset: 40,
450
+ color: theme.color.accentBoldYellow
451
+ }, {
452
+ offset: 40,
453
+ color: theme.color.accentBoldRed
454
+ }, {
455
+ offset: 60,
456
+ color: theme.color.accentBoldRed
457
+ }] // Hard transitions at 20, 40
458
+ }
459
+ }],
460
+ xAxis: {
461
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
462
+ },
463
+ yAxis: {
464
+ requestedTickCount: 5,
465
+ tickLabelFormatter: value => value + "\xB0C",
466
+ showGrid: true
467
+ }
468
+ });
469
+ };
470
+ const XAxisContinuousColorMap = () => {
471
+ const theme = useTheme();
472
+ return /*#__PURE__*/_jsx(BarChart, {
473
+ showXAxis: true,
474
+ showYAxis: true,
475
+ height: defaultChartHeight,
476
+ series: [{
477
+ id: 'weekly-trend',
478
+ data: [45, 52, 38, 45, 48, 50, 55],
479
+ // Gradient from left (start of week) to right (end of week)
480
+ gradient: {
481
+ axis: 'x',
482
+ stops: _ref3 => {
483
+ let {
484
+ min,
485
+ max
486
+ } = _ref3;
487
+ return [{
488
+ offset: min,
489
+ color: theme.color.accentBoldPurple
490
+ }, {
491
+ offset: max,
492
+ color: theme.color.accentBoldBlue
493
+ }];
494
+ }
495
+ }
496
+ }],
497
+ xAxis: {
498
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
499
+ },
500
+ yAxis: {
501
+ requestedTickCount: 5,
502
+ tickLabelFormatter: value => "" + value,
503
+ showGrid: true
504
+ }
505
+ });
506
+ };
507
+ const XAxisDiscreteColorMap = () => {
508
+ const theme = useTheme();
509
+ return /*#__PURE__*/_jsx(BarChart, {
510
+ showXAxis: true,
511
+ showYAxis: true,
512
+ height: defaultChartHeight,
513
+ series: [{
514
+ id: 'weekly-trend',
515
+ data: [45, 52, 38, 45, 48, 50, 55],
516
+ // Hard color transition from purple to blue at midweek
517
+ gradient: {
518
+ axis: 'x',
519
+ stops: [{
520
+ offset: 4,
521
+ color: theme.color.accentBoldPurple
522
+ },
523
+ // First half of week
524
+ {
525
+ offset: 4,
526
+ color: theme.color.accentBoldBlue
527
+ } // Second half of week - hard transition at index 4 (Thursday)
528
+ ]
529
+ }
530
+ }],
531
+ xAxis: {
532
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
533
+ },
534
+ yAxis: {
535
+ requestedTickCount: 5,
536
+ tickLabelFormatter: value => "" + value,
537
+ showGrid: true
538
+ }
539
+ });
540
+ };
541
+ const XAxisMultiSegmentColorMap = () => {
542
+ const theme = useTheme();
543
+ return /*#__PURE__*/_jsx(BarChart, {
544
+ showXAxis: true,
545
+ showYAxis: true,
546
+ height: defaultChartHeight,
547
+ series: [{
548
+ id: 'quarters',
549
+ data: [120, 135, 142, 128, 145, 158, 162, 155, 168, 175, 182, 190],
550
+ // Different color for each quarter
551
+ gradient: {
552
+ axis: 'x',
553
+ stops: [{
554
+ offset: 3,
555
+ color: theme.color.accentBoldBlue
556
+ },
557
+ // Q1 (Jan-Mar)
558
+ {
559
+ offset: 3,
560
+ color: theme.color.accentBoldGreen
561
+ },
562
+ // Q2 (Apr-Jun)
563
+ {
564
+ offset: 6,
565
+ color: theme.color.accentBoldGreen
566
+ }, {
567
+ offset: 6,
568
+ color: theme.color.accentBoldYellow
569
+ },
570
+ // Q3 (Jul-Sep)
571
+ {
572
+ offset: 9,
573
+ color: theme.color.accentBoldYellow
574
+ }, {
575
+ offset: 9,
576
+ color: theme.color.accentBoldPurple
577
+ } // Q4 (Oct-Dec)
578
+ ] // Hard transitions at indices 3, 6, 9
579
+ }
580
+ }],
581
+ xAxis: {
582
+ data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
583
+ },
584
+ yAxis: {
585
+ requestedTickCount: 5,
586
+ tickLabelFormatter: value => "$" + value + "k",
587
+ showGrid: true
588
+ }
589
+ });
590
+ };
591
+ const ColorMapWithOpacity = () => {
592
+ const theme = useTheme();
593
+ return /*#__PURE__*/_jsx(BarChart, {
594
+ showXAxis: true,
595
+ showYAxis: true,
596
+ height: defaultChartHeight,
597
+ series: [{
598
+ id: 'confidence',
599
+ data: [25, 35, 45, 55, 65, 75, 85],
600
+ // Gradient with opacity changes
601
+ gradient: {
602
+ axis: 'y',
603
+ stops: _ref4 => {
604
+ let {
605
+ min,
606
+ max
607
+ } = _ref4;
608
+ return [{
609
+ offset: min,
610
+ color: theme.color.accentBoldBlue,
611
+ opacity: 0
612
+ },
613
+ // Low values - more transparent
614
+ {
615
+ offset: max,
616
+ color: theme.color.accentBoldBlue,
617
+ opacity: 1.0
618
+ } // High values - more opaque
619
+ ];
620
+ }
621
+ }
622
+ }],
623
+ xAxis: {
624
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
625
+ },
626
+ yAxis: {
627
+ requestedTickCount: 5,
628
+ tickLabelFormatter: value => value + "%",
629
+ showGrid: true
630
+ }
631
+ });
632
+ };
633
+ const BandGridPositionExample = _ref5 => {
634
+ let {
635
+ position
636
+ } = _ref5;
637
+ return /*#__PURE__*/_jsxs(CartesianChart, {
638
+ height: 180,
639
+ inset: 4,
640
+ series: [{
641
+ id: 'data',
642
+ data: [30, 50, 40, 60, 35]
643
+ }],
644
+ xAxis: {
645
+ scaleType: 'band',
646
+ data: ['A', 'B', 'C', 'D', 'E']
647
+ },
648
+ yAxis: {
649
+ domain: {
650
+ min: 0
651
+ }
652
+ },
653
+ children: [/*#__PURE__*/_jsx(XAxis, {
654
+ showGrid: true,
655
+ showLine: true,
656
+ bandGridLinePlacement: position,
657
+ label: position
658
+ }), /*#__PURE__*/_jsx(BarPlot, {})]
659
+ });
660
+ };
661
+
662
+ // --- Composed Examples ---
663
+
664
+ const candlestickStockData = [...btcCandles].reverse().slice(0, 90);
665
+ const CandlesticksHeader = /*#__PURE__*/memo(_ref6 => {
666
+ let {
667
+ currentIndex
668
+ } = _ref6;
669
+ const formatPrice = useCallback(price => {
670
+ return new Intl.NumberFormat('en-US', {
671
+ style: 'currency',
672
+ currency: 'USD'
673
+ }).format(parseFloat(price));
674
+ }, []);
675
+ const formatThousandsPriceNumber = useCallback(price => {
676
+ const formattedPrice = new Intl.NumberFormat('en-US', {
677
+ style: 'currency',
678
+ currency: 'USD',
679
+ minimumFractionDigits: 0,
680
+ maximumFractionDigits: 0
681
+ }).format(price / 1000);
682
+ return formattedPrice + "k";
683
+ }, []);
684
+ const currentText = useMemo(() => {
685
+ if (currentIndex !== undefined) {
686
+ return "Open: " + formatThousandsPriceNumber(parseFloat(candlestickStockData[currentIndex].open)) + ", Close: " + formatThousandsPriceNumber(parseFloat(candlestickStockData[currentIndex].close)) + ", Volume: " + (parseFloat(candlestickStockData[currentIndex].volume) / 1000).toFixed(2) + "k";
687
+ }
688
+ return formatPrice(candlestickStockData[candlestickStockData.length - 1].close);
689
+ }, [currentIndex, formatThousandsPriceNumber, formatPrice]);
690
+ return /*#__PURE__*/_jsx(Text, {
691
+ "aria-live": "polite",
692
+ font: "headline",
693
+ children: currentText
694
+ });
695
+ });
696
+ const CandlesticksChart = /*#__PURE__*/memo(_ref7 => {
697
+ let {
698
+ infoTextId,
699
+ onScrubberPositionChange
700
+ } = _ref7;
701
+ const theme = useTheme();
702
+ const min = useMemo(() => Math.min(...candlestickStockData.map(data => parseFloat(data.low))), []);
703
+ const CandleThinSolidLine = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(SolidLine, _extends({}, props, {
704
+ strokeWidth: 1
705
+ })));
706
+ const BandwidthHighlight = /*#__PURE__*/memo(_ref8 => {
707
+ let {
708
+ stroke
709
+ } = _ref8;
710
+ const {
711
+ getXSerializableScale,
712
+ drawingArea
713
+ } = useCartesianChartContext();
714
+ const {
715
+ scrubberPosition
716
+ } = useScrubberContext();
717
+ const xScale = useMemo(() => getXSerializableScale(), [getXSerializableScale]);
718
+ const rectWidth = useMemo(() => {
719
+ if (xScale !== undefined && xScale.type === 'band') {
720
+ return xScale.bandwidth;
721
+ }
722
+ return 0;
723
+ }, [xScale]);
724
+ const xPos = useDerivedValue(() => {
725
+ const position = unwrapAnimatedValue(scrubberPosition);
726
+ const xPos = position !== undefined && xScale ? getPointOnSerializableScale(position, xScale) : undefined;
727
+ return xPos !== undefined ? xPos - rectWidth / 2 : 0;
728
+ }, [scrubberPosition, xScale]);
729
+ const opacity = useDerivedValue(() => xPos.value !== undefined ? 1 : 0, [xPos]);
730
+ return /*#__PURE__*/_jsx(Rect, {
731
+ color: stroke,
732
+ height: drawingArea.height,
733
+ opacity: opacity,
734
+ width: rectWidth,
735
+ x: xPos,
736
+ y: drawingArea.y
737
+ });
738
+ });
739
+ const candlesData = useMemo(() => candlestickStockData.map(data => [parseFloat(data.low), parseFloat(data.high)]), []);
740
+ const CandlestickBarComponent = /*#__PURE__*/memo(_ref9 => {
741
+ var _yScale, _yScale2;
742
+ let {
743
+ x,
744
+ y,
745
+ width,
746
+ height,
747
+ dataX
748
+ } = _ref9,
749
+ props = _objectWithoutPropertiesLoose(_ref9, _excluded2);
750
+ const {
751
+ getYScale
752
+ } = useCartesianChartContext();
753
+ const yScale = getYScale();
754
+ const wickX = x + width / 2;
755
+ const timePeriodValue = candlestickStockData[dataX];
756
+ const open = parseFloat(timePeriodValue.open);
757
+ const close = parseFloat(timePeriodValue.close);
758
+ const bullish = open < close;
759
+ const theme = useTheme();
760
+ const color = bullish ? theme.color.fgPositive : theme.color.fgNegative;
761
+ const openY = (_yScale = yScale == null ? void 0 : yScale(open)) != null ? _yScale : 0;
762
+ const closeY = (_yScale2 = yScale == null ? void 0 : yScale(close)) != null ? _yScale2 : 0;
763
+ const bodyHeight = Math.abs(openY - closeY);
764
+ const bodyY = openY < closeY ? openY : closeY;
765
+ return /*#__PURE__*/_jsxs(_Fragment, {
766
+ children: [/*#__PURE__*/_jsx(SkiaLine, {
767
+ color: color,
768
+ p1: {
769
+ x: wickX,
770
+ y
771
+ },
772
+ p2: {
773
+ x: wickX,
774
+ y: y + height
775
+ },
776
+ strokeWidth: 1
777
+ }), /*#__PURE__*/_jsx(Rect, {
778
+ color: color,
779
+ height: bodyHeight,
780
+ width: width,
781
+ x: x,
782
+ y: bodyY
783
+ })]
784
+ });
785
+ });
786
+ const formatThousandsPriceNumber = useCallback(price => {
787
+ const formattedPrice = new Intl.NumberFormat('en-US', {
788
+ style: 'currency',
789
+ currency: 'USD',
790
+ minimumFractionDigits: 0,
791
+ maximumFractionDigits: 0
792
+ }).format(price / 1000);
793
+ return formattedPrice + "k";
794
+ }, []);
795
+ const formatTime = useCallback(index => {
796
+ if (index === null || index === undefined || index >= candlestickStockData.length) return '';
797
+ const ts = parseInt(candlestickStockData[index].start);
798
+ return new Date(ts * 1000).toLocaleDateString('en-US', {
799
+ month: 'short',
800
+ day: 'numeric'
801
+ });
802
+ }, []);
803
+ const getScrubberAccessibilityLabel = useCallback(index => {
804
+ const candle = candlestickStockData[index];
805
+ return formatTime(index) + ": O " + formatThousandsPriceNumber(parseFloat(candle.open)) + " H " + formatThousandsPriceNumber(parseFloat(candle.high)) + " L " + formatThousandsPriceNumber(parseFloat(candle.low)) + " C " + formatThousandsPriceNumber(parseFloat(candle.close));
806
+ }, [formatTime, formatThousandsPriceNumber]);
807
+ return /*#__PURE__*/_jsxs(CartesianChart, {
808
+ enableScrubbing: true,
809
+ accessibilityLabel: "Candlestick chart with " + candlesData.length + " data points. Swipe to navigate.",
810
+ animate: false,
811
+ "aria-labelledby": infoTextId,
812
+ borderRadius: 0,
813
+ getScrubberAccessibilityLabel: getScrubberAccessibilityLabel,
814
+ height: 150,
815
+ inset: {
816
+ top: 8,
817
+ bottom: 8,
818
+ left: 0,
819
+ right: 0
820
+ },
821
+ onScrubberPositionChange: onScrubberPositionChange,
822
+ series: [{
823
+ id: 'stock-prices',
824
+ data: candlesData
825
+ }],
826
+ xAxis: {
827
+ scaleType: 'band'
828
+ },
829
+ yAxis: {
830
+ domain: {
831
+ min
832
+ }
833
+ },
834
+ children: [/*#__PURE__*/_jsx(XAxis, {
835
+ tickLabelFormatter: formatTime
836
+ }), /*#__PURE__*/_jsx(YAxis, {
837
+ showGrid: true,
838
+ GridLineComponent: CandleThinSolidLine,
839
+ tickLabelFormatter: formatThousandsPriceNumber,
840
+ width: 40
841
+ }), /*#__PURE__*/_jsx(Scrubber, {
842
+ hideOverlay: true,
843
+ LineComponent: BandwidthHighlight,
844
+ lineStroke: theme.color.fgMuted,
845
+ seriesIds: []
846
+ }), /*#__PURE__*/_jsx(BarPlot, {
847
+ BarComponent: CandlestickBarComponent,
848
+ BarStackComponent: _ref0 => {
849
+ let {
850
+ children
851
+ } = _ref0;
852
+ return /*#__PURE__*/_jsx(_Fragment, {
853
+ children: children
854
+ });
855
+ }
856
+ })]
857
+ });
858
+ });
859
+ const Candlesticks = () => {
860
+ const infoTextId = useId();
861
+ const [currentIndex, setCurrentIndex] = useState();
862
+ return /*#__PURE__*/_jsxs(VStack, {
863
+ gap: 2,
864
+ children: [/*#__PURE__*/_jsx(CandlesticksHeader, {
865
+ currentIndex: currentIndex
866
+ }), /*#__PURE__*/_jsx(CandlesticksChart, {
867
+ infoTextId: infoTextId,
868
+ onScrubberPositionChange: setCurrentIndex
869
+ })]
870
+ });
871
+ };
872
+ const DAY_LENGTH_MINUTES = 1440;
873
+ const sunlightData = [{
874
+ label: 'Jan',
875
+ value: 598
876
+ }, {
877
+ label: 'Feb',
878
+ value: 635
879
+ }, {
880
+ label: 'Mar',
881
+ value: 688
882
+ }, {
883
+ label: 'Apr',
884
+ value: 753
885
+ }, {
886
+ label: 'May',
887
+ value: 812
888
+ }, {
889
+ label: 'Jun',
890
+ value: 855
891
+ }, {
892
+ label: 'Jul',
893
+ value: 861
894
+ }, {
895
+ label: 'Aug',
896
+ value: 828
897
+ }, {
898
+ label: 'Sep',
899
+ value: 772
900
+ }, {
901
+ label: 'Oct',
902
+ value: 710
903
+ }, {
904
+ label: 'Nov',
905
+ value: 648
906
+ }, {
907
+ label: 'Dec',
908
+ value: 605
909
+ }];
910
+ const SunlightChartInner = /*#__PURE__*/memo(_ref1 => {
911
+ let {
912
+ data,
913
+ height = 300
914
+ } = _ref1,
915
+ props = _objectWithoutPropertiesLoose(_ref1, _excluded3);
916
+ const theme = useTheme();
917
+ const SunlightThinSolidLine = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(SolidLine, _extends({}, props, {
918
+ strokeWidth: 1
919
+ })));
920
+ return /*#__PURE__*/_jsxs(CartesianChart, _extends({}, props, {
921
+ height: height,
922
+ series: [{
923
+ id: 'sunlight',
924
+ data: data.map(_ref10 => {
925
+ let {
926
+ value
927
+ } = _ref10;
928
+ return value;
929
+ }),
930
+ yAxisId: 'sunlight',
931
+ color: "rgb(" + theme.spectrum.yellow40 + ")"
932
+ }, {
933
+ id: 'day',
934
+ data: data.map(() => DAY_LENGTH_MINUTES),
935
+ yAxisId: 'day',
936
+ color: "rgb(" + theme.spectrum.blue100 + ")"
937
+ }],
938
+ xAxis: _extends({}, props.xAxis, {
939
+ scaleType: 'band',
940
+ data: data.map(_ref11 => {
941
+ let {
942
+ label
943
+ } = _ref11;
944
+ return label;
945
+ })
946
+ }),
947
+ yAxis: [{
948
+ id: 'day',
949
+ domain: {
950
+ min: 0,
951
+ max: DAY_LENGTH_MINUTES
952
+ },
953
+ domainLimit: 'strict'
954
+ }, {
955
+ id: 'sunlight',
956
+ domain: {
957
+ min: 0,
958
+ max: DAY_LENGTH_MINUTES
959
+ },
960
+ domainLimit: 'strict'
961
+ }],
962
+ children: [/*#__PURE__*/_jsx(YAxis, {
963
+ showGrid: true,
964
+ showLine: true,
965
+ GridLineComponent: SunlightThinSolidLine,
966
+ axisId: "day",
967
+ position: "left"
968
+ }), /*#__PURE__*/_jsx(XAxis, {
969
+ showLine: true
970
+ }), /*#__PURE__*/_jsx(BarPlot, {
971
+ seriesIds: ['day'],
972
+ transitions: {
973
+ enter: null
974
+ }
975
+ }), /*#__PURE__*/_jsx(BarPlot, {
976
+ borderRadius: 0,
977
+ seriesIds: ['sunlight'],
978
+ transitions: {
979
+ enter: {
980
+ type: 'spring',
981
+ stiffness: 700,
982
+ damping: 40,
983
+ staggerDelay: 1000
984
+ }
985
+ }
986
+ })]
987
+ }));
988
+ });
989
+ const SunlightChart = () => {
990
+ return /*#__PURE__*/_jsxs(VStack, {
991
+ gap: 2,
992
+ children: [/*#__PURE__*/_jsx(SunlightChartInner, {
993
+ data: sunlightData
994
+ }), /*#__PURE__*/_jsx(Text, {
995
+ color: "fgMuted",
996
+ font: "caption",
997
+ textAlign: "center",
998
+ children: "2026 Sunlight data for the first day of each month in Atlanta, Georgia, provided by NOAA."
999
+ })]
1000
+ });
1001
+ };
1002
+ const PriceRange = () => {
1003
+ const candles = [...btcCandles].reverse().slice(0, 180);
1004
+ const data = useMemo(() => candles.map(candle => [parseFloat(candle.low), parseFloat(candle.high)]), [candles]);
1005
+ const min = useMemo(() => Math.min(...data.map(_ref12 => {
1006
+ let [low] = _ref12;
1007
+ return low;
1008
+ })), [data]);
1009
+ const max = useMemo(() => Math.max(...data.map(_ref13 => {
1010
+ let [, high] = _ref13;
1011
+ return high;
1012
+ })), [data]);
1013
+ const tickFormatter = useCallback(value => new Intl.NumberFormat('en-US', {
1014
+ style: 'currency',
1015
+ currency: 'USD',
1016
+ notation: 'compact',
1017
+ maximumFractionDigits: 0
1018
+ }).format(value), []);
1019
+ return /*#__PURE__*/_jsx(BarChart, {
1020
+ showYAxis: true,
1021
+ height: 150,
1022
+ series: [{
1023
+ id: 'prices',
1024
+ data,
1025
+ color: assets.btc.color
1026
+ }],
1027
+ yAxis: {
1028
+ domain: {
1029
+ min,
1030
+ max
1031
+ },
1032
+ showGrid: true,
1033
+ tickLabelFormatter: tickFormatter
1034
+ }
1035
+ });
1036
+ };
1037
+ const HorizontalBarChart = () => {
1038
+ const labels = ['BTC', 'ETH', 'SOL', 'ADA'];
1039
+ const allocation = [42, 28, 18, 12];
1040
+ return /*#__PURE__*/_jsx(BarChart, {
1041
+ showXAxis: true,
1042
+ showYAxis: true,
1043
+ height: 220,
1044
+ layout: "horizontal",
1045
+ series: [{
1046
+ id: 'allocation',
1047
+ data: allocation,
1048
+ color: assets.btc.color
1049
+ }],
1050
+ xAxis: {
1051
+ domain: {
1052
+ min: 0,
1053
+ max: 50
1054
+ },
1055
+ tickLabelFormatter: value => value + "%"
1056
+ },
1057
+ yAxis: {
1058
+ data: labels,
1059
+ scaleType: 'band'
1060
+ }
1061
+ });
1062
+ };
1063
+ const AxisBaselineExample = () => {
1064
+ return /*#__PURE__*/_jsx(BarChart, {
1065
+ showXAxis: true,
1066
+ showYAxis: true,
1067
+ accessibilityLabel: "Bar chart with custom axis baseline at 100.",
1068
+ height: defaultChartHeight,
1069
+ series: [{
1070
+ id: 'net-flow',
1071
+ data: [112, 97, 121, 103, 129, 118, 94]
1072
+ }],
1073
+ xAxis: {
1074
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
1075
+ },
1076
+ yAxis: {
1077
+ baseline: 100,
1078
+ domain: {
1079
+ min: 80,
1080
+ max: 140
1081
+ },
1082
+ showGrid: true
1083
+ }
1084
+ });
1085
+ };
1086
+ const AxisBaselineThresholdExample = () => {
1087
+ const theme = useTheme();
1088
+ return /*#__PURE__*/_jsxs(VStack, {
1089
+ gap: 2,
1090
+ children: [/*#__PURE__*/_jsx(BarChart, {
1091
+ showYAxis: true,
1092
+ accessibilityLabel: "Bar chart with threshold baseline at 30.",
1093
+ height: 220,
1094
+ inset: 0,
1095
+ series: [{
1096
+ id: 'axis-baseline-threshold-vertical',
1097
+ data: baselineThresholdData,
1098
+ gradient: {
1099
+ stops: [{
1100
+ offset: 30,
1101
+ color: theme.color.fgNegative
1102
+ }, {
1103
+ offset: 30,
1104
+ color: theme.color.fgPositive
1105
+ }]
1106
+ }
1107
+ }],
1108
+ yAxis: {
1109
+ showGrid: true,
1110
+ baseline: 30
1111
+ }
1112
+ }), /*#__PURE__*/_jsx(BarChart, {
1113
+ showXAxis: true,
1114
+ accessibilityLabel: "Horizontal bar chart with threshold baseline at 30.",
1115
+ height: 220,
1116
+ inset: 0,
1117
+ layout: "horizontal",
1118
+ series: [{
1119
+ id: 'axis-baseline-threshold-horizontal',
1120
+ data: baselineThresholdData,
1121
+ gradient: {
1122
+ stops: [{
1123
+ offset: 30,
1124
+ color: theme.color.fgNegative
1125
+ }, {
1126
+ offset: 30,
1127
+ color: theme.color.fgPositive
1128
+ }]
1129
+ }
1130
+ }],
1131
+ xAxis: {
1132
+ showGrid: true,
1133
+ baseline: 30
1134
+ }
1135
+ })]
1136
+ });
1137
+ };
1138
+ function BuyVsSellExample() {
1139
+ function BuyVsSellLegend(_ref14) {
1140
+ let {
1141
+ buy,
1142
+ sell
1143
+ } = _ref14;
1144
+ const theme = useTheme();
1145
+ return /*#__PURE__*/_jsxs(HStack, {
1146
+ gap: 1,
1147
+ justifyContent: "space-between",
1148
+ children: [/*#__PURE__*/_jsx(DefaultLegendEntry, {
1149
+ color: theme.color.fgPositive,
1150
+ label: /*#__PURE__*/_jsxs(Text, {
1151
+ color: "fgMuted",
1152
+ font: "legal",
1153
+ children: [buy, "% bought"]
1154
+ }),
1155
+ seriesId: "buy"
1156
+ }), /*#__PURE__*/_jsx(DefaultLegendEntry, {
1157
+ color: theme.color.fgNegative,
1158
+ label: /*#__PURE__*/_jsxs(Text, {
1159
+ color: "fgMuted",
1160
+ font: "legal",
1161
+ children: [sell, "% sold"]
1162
+ }),
1163
+ seriesId: "sell"
1164
+ })]
1165
+ });
1166
+ }
1167
+ function BuyVsSellChart(_ref15) {
1168
+ let {
1169
+ buy,
1170
+ sell,
1171
+ animate = true,
1172
+ borderRadius = 3,
1173
+ height = 6,
1174
+ inset = 0,
1175
+ layout = 'horizontal',
1176
+ stackGap = 4,
1177
+ xAxis,
1178
+ yAxis,
1179
+ barMinSize = height
1180
+ } = _ref15,
1181
+ props = _objectWithoutPropertiesLoose(_ref15, _excluded4);
1182
+ const theme = useTheme();
1183
+ return /*#__PURE__*/_jsxs(VStack, {
1184
+ gap: 1.5,
1185
+ children: [/*#__PURE__*/_jsx(BarChart, _extends({
1186
+ roundBaseline: true,
1187
+ stacked: true,
1188
+ animate: animate,
1189
+ barMinSize: barMinSize,
1190
+ borderRadius: borderRadius,
1191
+ height: height,
1192
+ inset: inset,
1193
+ layout: layout,
1194
+ series: [{
1195
+ id: 'buy',
1196
+ data: [buy],
1197
+ color: theme.color.fgPositive,
1198
+ legendShape: 'circle'
1199
+ }, {
1200
+ id: 'sell',
1201
+ data: [sell],
1202
+ color: theme.color.fgNegative,
1203
+ legendShape: 'circle'
1204
+ }],
1205
+ stackGap: stackGap,
1206
+ xAxis: _extends({
1207
+ domainLimit: 'strict'
1208
+ }, xAxis),
1209
+ yAxis: _extends({
1210
+ categoryPadding: 0
1211
+ }, yAxis)
1212
+ }, props)), /*#__PURE__*/_jsx(BuyVsSellLegend, {
1213
+ buy: buy,
1214
+ sell: sell
1215
+ })]
1216
+ });
1217
+ }
1218
+ return /*#__PURE__*/_jsx(BuyVsSellChart, {
1219
+ buy: 76,
1220
+ sell: 24
1221
+ });
1222
+ }
1223
+ const PopulationPyramid = () => {
1224
+ const theme = useTheme();
1225
+ const ageGroups = ['100+ yrs', '95-99 yrs', '90-94 yrs', '85-89 yrs', '80-84 yrs', '75-79 yrs', '70-74 yrs', '65-69 yrs', '60-64 yrs', '55-59 yrs', '50-54 yrs', '45-49 yrs', '40-44 yrs', '35-39 yrs', '30-34 yrs', '25-29 yrs', '20-24 yrs', '15-19 yrs', '10-14 yrs', '5-9 yrs', '0-4 yrs'];
1226
+ const malePopulation = [14587, 48604, 83560, 128957, 184152, 248505, 498683, 706420, 852333, 939629, 1002195, 1001264, 960282, 1161371, 1105023, 1061755, 1019343, 1023264, 1026330, 984773, 944071];
1227
+ const femalePopulation = [14122, 46974, 80768, 124663, 178043, 240293, 482271, 683270, 824525, 909115, 969807, 969070, 929571, 1122380, 1068050, 1026356, 985483, 989404, 992505, 952453, 913222];
1228
+ const numberWithSuffixFormatter = useMemo(() => new Intl.NumberFormat('en-US', {
1229
+ notation: 'compact'
1230
+ }), []);
1231
+ const tickLabelFormatter = useCallback(value => numberWithSuffixFormatter.format(Math.abs(value)), [numberWithSuffixFormatter]);
1232
+ const domainSymmetric = useCallback(bounds => {
1233
+ const extremum = Math.max(-bounds.min, bounds.max);
1234
+ const roundedExtremum = Math.ceil(extremum / 100000) * 100000;
1235
+ return {
1236
+ min: -roundedExtremum,
1237
+ max: roundedExtremum
1238
+ };
1239
+ }, []);
1240
+ const series = [{
1241
+ id: 'male',
1242
+ label: 'Male',
1243
+ data: malePopulation.map(population => -population),
1244
+ color: "rgb(" + theme.spectrum.blue40 + ")",
1245
+ stackId: 'population'
1246
+ }, {
1247
+ id: 'female',
1248
+ label: 'Female',
1249
+ data: femalePopulation,
1250
+ color: "rgb(" + theme.spectrum.pink40 + ")",
1251
+ stackId: 'population'
1252
+ }];
1253
+ return /*#__PURE__*/_jsx(VStack, {
1254
+ gap: 2,
1255
+ children: /*#__PURE__*/_jsx(BarChart, {
1256
+ showXAxis: true,
1257
+ showYAxis: true,
1258
+ stacked: true,
1259
+ borderRadius: 2,
1260
+ height: 550,
1261
+ inset: 0,
1262
+ layout: "horizontal",
1263
+ series: series,
1264
+ xAxis: {
1265
+ domain: domainSymmetric,
1266
+ GridLineComponent: ThinSolidLine,
1267
+ showGrid: true,
1268
+ showLine: true,
1269
+ showTickMarks: true,
1270
+ tickLabelFormatter
1271
+ },
1272
+ yAxis: {
1273
+ bandTickMarkPlacement: 'edges',
1274
+ data: ageGroups,
1275
+ position: 'left',
1276
+ showLine: true,
1277
+ showTickMarks: true,
1278
+ width: 80
1279
+ },
1280
+ children: /*#__PURE__*/_jsx(ReferenceLine, {
1281
+ LineComponent: SolidLine,
1282
+ dataX: 0
1283
+ })
1284
+ })
1285
+ });
1286
+ };
1287
+ function ExampleNavigator() {
1288
+ const [currentIndex, setCurrentIndex] = useState(0);
1289
+ const examples = useMemo(() => [{
1290
+ title: 'Basic',
1291
+ component: /*#__PURE__*/_jsx(UpdatingChartValues, {})
1292
+ }, {
1293
+ title: 'Animated Auto-Updating',
1294
+ component: /*#__PURE__*/_jsx(AnimatedUpdatingChartValues, {})
1295
+ }, {
1296
+ title: 'Negative Values with Top Axis',
1297
+ component: /*#__PURE__*/_jsx(NegativeValuesWithTopAxis, {})
1298
+ }, {
1299
+ title: 'Axis Baseline',
1300
+ component: /*#__PURE__*/_jsx(AxisBaselineExample, {})
1301
+ }, {
1302
+ title: 'Axis Baseline Threshold',
1303
+ component: /*#__PURE__*/_jsx(AxisBaselineThresholdExample, {})
1304
+ }, {
1305
+ title: 'Positive and Negative Cash Flow',
1306
+ component: /*#__PURE__*/_jsx(PositiveAndNegativeCashFlow, {})
1307
+ }, {
1308
+ title: 'Fiat & Stablecoin Balance',
1309
+ component: /*#__PURE__*/_jsx(FiatAndStablecoinBalance, {})
1310
+ }, {
1311
+ title: 'Monthly Rewards',
1312
+ component: /*#__PURE__*/_jsx(MonthlyRewards, {})
1313
+ }, {
1314
+ title: 'Multiple Y Axes',
1315
+ component: /*#__PURE__*/_jsx(MultipleYAxes, {})
1316
+ }, {
1317
+ title: 'Y-Axis Continuous ColorMap',
1318
+ component: /*#__PURE__*/_jsx(YAxisContinuousColorMap, {})
1319
+ }, {
1320
+ title: 'Y-Axis Discrete ColorMap',
1321
+ component: /*#__PURE__*/_jsx(YAxisDiscreteColorMap, {})
1322
+ }, {
1323
+ title: 'X-Axis Continuous ColorMap',
1324
+ component: /*#__PURE__*/_jsx(XAxisContinuousColorMap, {})
1325
+ }, {
1326
+ title: 'X-Axis Discrete ColorMap',
1327
+ component: /*#__PURE__*/_jsx(XAxisDiscreteColorMap, {})
1328
+ }, {
1329
+ title: 'X-Axis Multi-Segment ColorMap',
1330
+ component: /*#__PURE__*/_jsx(XAxisMultiSegmentColorMap, {})
1331
+ }, {
1332
+ title: 'ColorMap with Opacity',
1333
+ component: /*#__PURE__*/_jsx(ColorMapWithOpacity, {})
1334
+ }, {
1335
+ title: 'Band Grid Position',
1336
+ component: /*#__PURE__*/_jsxs(VStack, {
1337
+ gap: 2,
1338
+ children: [/*#__PURE__*/_jsx(BandGridPositionExample, {
1339
+ position: "edges"
1340
+ }), /*#__PURE__*/_jsx(BandGridPositionExample, {
1341
+ position: "start"
1342
+ }), /*#__PURE__*/_jsx(BandGridPositionExample, {
1343
+ position: "middle"
1344
+ }), /*#__PURE__*/_jsx(BandGridPositionExample, {
1345
+ position: "end"
1346
+ })]
1347
+ })
1348
+ }, {
1349
+ title: 'Candlesticks',
1350
+ component: /*#__PURE__*/_jsx(Candlesticks, {})
1351
+ }, {
1352
+ title: 'Monthly Sunlight',
1353
+ component: /*#__PURE__*/_jsx(SunlightChart, {})
1354
+ }, {
1355
+ title: 'Price Range',
1356
+ component: /*#__PURE__*/_jsx(PriceRange, {})
1357
+ }, {
1358
+ title: 'Horizontal Layout',
1359
+ component: /*#__PURE__*/_jsx(HorizontalBarChart, {})
1360
+ }, {
1361
+ title: 'Buy vs Sell',
1362
+ component: /*#__PURE__*/_jsx(BuyVsSellExample, {})
1363
+ }, {
1364
+ title: 'Population Pyramid',
1365
+ component: /*#__PURE__*/_jsx(PopulationPyramid, {})
1366
+ }], []);
1367
+ const currentExample = examples[currentIndex];
1368
+ const handlePrevious = useCallback(() => {
1369
+ setCurrentIndex(prev => (prev - 1 + examples.length) % examples.length);
1370
+ }, [examples.length]);
1371
+ const handleNext = useCallback(() => {
1372
+ setCurrentIndex(prev => (prev + 1 + examples.length) % examples.length);
1373
+ }, [examples.length]);
1374
+ return /*#__PURE__*/_jsx(ExampleScreen, {
1375
+ children: /*#__PURE__*/_jsxs(VStack, {
1376
+ gap: 4,
1377
+ children: [/*#__PURE__*/_jsxs(HStack, {
1378
+ alignItems: "center",
1379
+ justifyContent: "space-between",
1380
+ padding: 2,
1381
+ children: [/*#__PURE__*/_jsx(IconButton, {
1382
+ accessibilityHint: "Navigate to previous example",
1383
+ accessibilityLabel: "Previous",
1384
+ name: "arrowLeft",
1385
+ onPress: handlePrevious,
1386
+ variant: "secondary"
1387
+ }), /*#__PURE__*/_jsxs(VStack, {
1388
+ alignItems: "center",
1389
+ children: [/*#__PURE__*/_jsx(Text, {
1390
+ font: "title3",
1391
+ children: currentExample.title
1392
+ }), /*#__PURE__*/_jsxs(Text, {
1393
+ color: "fgMuted",
1394
+ font: "label1",
1395
+ children: [currentIndex + 1, " / ", examples.length]
1396
+ })]
1397
+ }), /*#__PURE__*/_jsx(IconButton, {
1398
+ accessibilityHint: "Navigate to next example",
1399
+ accessibilityLabel: "Next",
1400
+ name: "arrowRight",
1401
+ onPress: handleNext,
1402
+ variant: "secondary"
1403
+ })]
1404
+ }), /*#__PURE__*/_jsx(Example, {
1405
+ children: currentExample.component
1406
+ })]
1407
+ })
1408
+ });
1409
+ }
1410
+ export default ExampleNavigator;