@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,565 @@
1
+ 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); }
2
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
3
+ import { TextInput } from 'react-native';
4
+ import { sparklineInteractiveData } from '@coinbase/cds-common/internal/visualizations/SparklineInteractiveData';
5
+ import { IconButton } from '../../../../buttons';
6
+ import { Example, ExampleScreen } from '../../../../examples/ExampleScreen';
7
+ import { Icon } from '../../../../icons';
8
+ import { Box, HStack } from '../../../../layout';
9
+ import { Text } from '../../../../typography';
10
+ import { SparklineInteractive } from '../../sparkline-interactive/SparklineInteractive';
11
+ import { SparklineInteractiveHeader } from '../SparklineInteractiveHeader';
12
+ import { useSparklineInteractiveHeaderStyles } from '../useSparklineInteractiveHeaderStyles';
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const DEFAULT_PERIOD = 'day';
15
+ const periods = [{
16
+ label: '1H',
17
+ value: 'hour'
18
+ }, {
19
+ label: '1D',
20
+ value: 'day'
21
+ }, {
22
+ label: '1W',
23
+ value: 'week'
24
+ }, {
25
+ label: '1M',
26
+ value: 'month'
27
+ }, {
28
+ label: '1Y',
29
+ value: 'year'
30
+ }, {
31
+ label: 'All',
32
+ value: 'all'
33
+ }];
34
+ const periodsAlt = [{
35
+ label: '1 Std.',
36
+ value: 'hour'
37
+ }, {
38
+ label: '1 Tag',
39
+ value: 'day'
40
+ }, {
41
+ label: '1 Wo.',
42
+ value: 'week'
43
+ }, {
44
+ label: '1 Mon.',
45
+ value: 'month'
46
+ }, {
47
+ label: '1 Jahr',
48
+ value: 'year'
49
+ }, {
50
+ label: 'All',
51
+ value: 'all'
52
+ }];
53
+ const subsetOfPeriods = [{
54
+ label: '1D',
55
+ value: 'day'
56
+ }, {
57
+ label: '1M',
58
+ value: 'month'
59
+ }, {
60
+ label: '1Y',
61
+ value: 'year'
62
+ }];
63
+ function numToLocaleString(num) {
64
+ return num.toLocaleString('en-US', {
65
+ maximumFractionDigits: 2
66
+ });
67
+ }
68
+ const getFormattingConfigForPeriod = period => {
69
+ switch (period) {
70
+ case 'hour':
71
+ case 'day':
72
+ return {
73
+ hour: 'numeric',
74
+ minute: 'numeric'
75
+ };
76
+ case 'week':
77
+ case 'month':
78
+ return {
79
+ month: 'numeric',
80
+ day: 'numeric'
81
+ };
82
+ case 'year':
83
+ case 'all':
84
+ return {
85
+ month: 'numeric',
86
+ year: 'numeric'
87
+ };
88
+ }
89
+ };
90
+ const getDateHoverOptions = period => {
91
+ switch (period) {
92
+ case 'hour':
93
+ case 'day':
94
+ case 'week':
95
+ case 'month':
96
+ return {
97
+ weekday: 'short',
98
+ month: 'short',
99
+ day: 'numeric',
100
+ hour: 'numeric',
101
+ minute: 'numeric'
102
+ };
103
+ default:
104
+ return {
105
+ weekday: 'short',
106
+ year: 'numeric',
107
+ month: 'short',
108
+ day: 'numeric'
109
+ };
110
+ }
111
+ };
112
+ const generateSubHead = (point, period, sparklineInteractiveData) => {
113
+ const data = sparklineInteractiveData[period];
114
+ const firstPoint = data[0];
115
+ const increase = point.value > firstPoint.value;
116
+ return {
117
+ percent: numToLocaleString(Math.abs((point.value - firstPoint.value) / firstPoint.value) * 100) + "%",
118
+ sign: increase ? 'upwardTrend' : 'downwardTrend',
119
+ variant: increase ? 'positive' : 'negative',
120
+ accessibilityLabel: "" + (increase ? 'up' : 'down'),
121
+ priceChange: "$" + numToLocaleString(Math.abs(point.value - firstPoint.value))
122
+ };
123
+ };
124
+ const SparklineInteractiveBuild = /*#__PURE__*/React.memo(props => {
125
+ const formatDateWithConfig = useCallback((value, period) => {
126
+ const config = getFormattingConfigForPeriod(period);
127
+ return value.toLocaleString('en-US', _extends({}, config));
128
+ }, []);
129
+ const formatHoverDate = useCallback((date, period) => {
130
+ return date.toLocaleString('en-US', _extends({}, getDateHoverOptions(period)));
131
+ }, []);
132
+ const formatMinMaxLabel = useCallback(amount => {
133
+ return "$" + numToLocaleString(parseInt(amount, 10));
134
+ }, []);
135
+ return /*#__PURE__*/_jsx(SparklineInteractive, _extends({
136
+ disableScrubbing: !__DEV__
137
+ }, props, {
138
+ defaultPeriod: props.defaultPeriod || DEFAULT_PERIOD,
139
+ formatDate: formatDateWithConfig,
140
+ formatHoverDate: !props.hideHoverDate ? formatHoverDate : undefined,
141
+ formatMinMaxLabel: formatMinMaxLabel,
142
+ periods: periods,
143
+ strokeColor: props.strokeColor
144
+ }));
145
+ });
146
+ function handlePress() {
147
+ // do nothing
148
+ }
149
+ const HeaderLabel = () => {
150
+ return /*#__PURE__*/_jsxs(HStack, {
151
+ alignItems: "center",
152
+ gap: 1,
153
+ paddingBottom: 0,
154
+ children: [/*#__PURE__*/_jsx(Icon, {
155
+ active: true,
156
+ name: "wallet",
157
+ size: "s"
158
+ }), /*#__PURE__*/_jsx(Text, {
159
+ font: "title3",
160
+ children: "CustomHeader"
161
+ })]
162
+ });
163
+ };
164
+ const SparklineInteractiveWithHeaderBuild = /*#__PURE__*/React.memo(props => {
165
+ var _props$defaultPeriod;
166
+ const {
167
+ data: sparklineData,
168
+ trailing,
169
+ labelNode,
170
+ compact
171
+ } = props;
172
+ const sparklineInteractiveData = sparklineData;
173
+ const headerRef = useRef(null);
174
+ const [currentPeriod, setCurrentPeriod] = useState((_props$defaultPeriod = props.defaultPeriod) != null ? _props$defaultPeriod : DEFAULT_PERIOD);
175
+ const data = sparklineInteractiveData[currentPeriod];
176
+ const lastPoint = data[data.length - 1];
177
+ const handleScrub = useCallback(_ref => {
178
+ var _headerRef$current;
179
+ let {
180
+ point,
181
+ period
182
+ } = _ref;
183
+ (_headerRef$current = headerRef.current) == null || _headerRef$current.update({
184
+ title: "$" + point.value.toLocaleString('en-US'),
185
+ subHead: generateSubHead(point, period, sparklineInteractiveData)
186
+ });
187
+ }, [sparklineInteractiveData]);
188
+ const handleScrubEnd = useCallback(() => {
189
+ var _headerRef$current2;
190
+ (_headerRef$current2 = headerRef.current) == null || _headerRef$current2.update({
191
+ title: "$" + numToLocaleString(lastPoint.value),
192
+ subHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData)
193
+ });
194
+ }, [currentPeriod, sparklineInteractiveData, lastPoint]);
195
+ const handleOnPeriodChanged = useCallback(period => {
196
+ var _headerRef$current3;
197
+ setCurrentPeriod(period);
198
+ const newData = sparklineInteractiveData[period];
199
+ const newLastPoint = newData[newData.length - 1];
200
+ (_headerRef$current3 = headerRef.current) == null || _headerRef$current3.update({
201
+ title: "$" + numToLocaleString(newLastPoint.value),
202
+ subHead: generateSubHead(newLastPoint, period, sparklineInteractiveData)
203
+ });
204
+ }, [sparklineInteractiveData]);
205
+ const header = /*#__PURE__*/_jsx(SparklineInteractiveHeader, {
206
+ ref: headerRef,
207
+ compact: compact,
208
+ defaultLabel: labelNode ? 'CustomHeader' : 'Bitcoin Price',
209
+ defaultSubHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData),
210
+ defaultTitle: "$" + numToLocaleString(lastPoint.value),
211
+ labelNode: labelNode,
212
+ trailing: trailing
213
+ });
214
+ return /*#__PURE__*/_jsx(SparklineInteractiveBuild, _extends({}, props, {
215
+ headerNode: header,
216
+ onPeriodChanged: handleOnPeriodChanged,
217
+ onScrub: handleScrub,
218
+ onScrubEnd: handleScrubEnd
219
+ }));
220
+ });
221
+ const SparklineInteractiveWithAltHeader = /*#__PURE__*/React.memo(props => {
222
+ var _props$defaultPeriod2;
223
+ const {
224
+ data: sparklineData,
225
+ trailing,
226
+ labelNode,
227
+ compact
228
+ } = props;
229
+ const sparklineInteractiveData = sparklineData;
230
+ const headerRef = useRef(null);
231
+ const [currentPeriod, setCurrentPeriod] = useState((_props$defaultPeriod2 = props.defaultPeriod) != null ? _props$defaultPeriod2 : DEFAULT_PERIOD);
232
+ const data = sparklineInteractiveData[currentPeriod];
233
+ const lastPoint = data[data.length - 1];
234
+ const handleScrub = useCallback(_ref2 => {
235
+ var _headerRef$current4;
236
+ let {
237
+ point,
238
+ period
239
+ } = _ref2;
240
+ (_headerRef$current4 = headerRef.current) == null || _headerRef$current4.update({
241
+ title: "$" + point.value.toLocaleString('en-US'),
242
+ subHead: generateSubHead(point, period, sparklineInteractiveData)
243
+ });
244
+ }, [sparklineInteractiveData]);
245
+ const handleScrubEnd = useCallback(() => {
246
+ var _headerRef$current5;
247
+ (_headerRef$current5 = headerRef.current) == null || _headerRef$current5.update({
248
+ title: "$" + numToLocaleString(lastPoint.value),
249
+ subHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData)
250
+ });
251
+ }, [currentPeriod, sparklineInteractiveData, lastPoint]);
252
+ const handleOnPeriodChanged = useCallback(period => {
253
+ var _headerRef$current6;
254
+ setCurrentPeriod(period);
255
+ const newData = sparklineInteractiveData[period];
256
+ const newLastPoint = newData[newData.length - 1];
257
+ (_headerRef$current6 = headerRef.current) == null || _headerRef$current6.update({
258
+ title: "$" + numToLocaleString(newLastPoint.value),
259
+ subHead: generateSubHead(newLastPoint, period, sparklineInteractiveData)
260
+ });
261
+ }, [sparklineInteractiveData]);
262
+ const header = /*#__PURE__*/_jsx(SparklineInteractiveHeader, {
263
+ ref: headerRef,
264
+ compact: compact,
265
+ defaultLabel: labelNode ? 'CustomHeader' : 'Bitcoin Price',
266
+ defaultSubHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData),
267
+ defaultTitle: "$" + numToLocaleString(lastPoint.value),
268
+ labelNode: labelNode,
269
+ trailing: trailing
270
+ });
271
+ const formatDateWithConfig = useCallback((value, period) => {
272
+ const config = getFormattingConfigForPeriod(period);
273
+ return value.toLocaleString('en-US', _extends({}, config));
274
+ }, []);
275
+ const formatHoverDate = useCallback((date, period) => {
276
+ return date.toLocaleString('en-US', _extends({}, getDateHoverOptions(period)));
277
+ }, []);
278
+ const formatMinMaxLabel = useCallback(amount => {
279
+ return "$" + numToLocaleString(parseInt(amount, 10));
280
+ }, []);
281
+ return /*#__PURE__*/_jsx(SparklineInteractive, _extends({
282
+ disableScrubbing: !__DEV__
283
+ }, props, {
284
+ defaultPeriod: props.defaultPeriod || DEFAULT_PERIOD,
285
+ formatDate: formatDateWithConfig,
286
+ formatHoverDate: !props.hideHoverDate ? formatHoverDate : undefined,
287
+ formatMinMaxLabel: formatMinMaxLabel,
288
+ headerNode: header,
289
+ onPeriodChanged: handleOnPeriodChanged,
290
+ onScrub: handleScrub,
291
+ onScrubEnd: handleScrubEnd,
292
+ periods: periodsAlt,
293
+ strokeColor: props.strokeColor
294
+ }));
295
+ });
296
+ const SparklineInteractiveWithSmallerPeriodSet = /*#__PURE__*/React.memo(props => {
297
+ var _props$defaultPeriod3;
298
+ const {
299
+ data: sparklineData,
300
+ trailing,
301
+ labelNode,
302
+ compact
303
+ } = props;
304
+ const sparklineInteractiveData = sparklineData;
305
+ const headerRef = useRef(null);
306
+ const [currentPeriod, setCurrentPeriod] = useState((_props$defaultPeriod3 = props.defaultPeriod) != null ? _props$defaultPeriod3 : DEFAULT_PERIOD);
307
+ const data = sparklineInteractiveData[currentPeriod];
308
+ const lastPoint = data[data.length - 1];
309
+ const handleScrub = useCallback(_ref3 => {
310
+ var _headerRef$current7;
311
+ let {
312
+ point,
313
+ period
314
+ } = _ref3;
315
+ (_headerRef$current7 = headerRef.current) == null || _headerRef$current7.update({
316
+ title: "$" + point.value.toLocaleString('en-US'),
317
+ subHead: generateSubHead(point, period, sparklineInteractiveData)
318
+ });
319
+ }, [sparklineInteractiveData]);
320
+ const handleScrubEnd = useCallback(() => {
321
+ var _headerRef$current8;
322
+ (_headerRef$current8 = headerRef.current) == null || _headerRef$current8.update({
323
+ title: "$" + numToLocaleString(lastPoint.value),
324
+ subHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData)
325
+ });
326
+ }, [currentPeriod, sparklineInteractiveData, lastPoint]);
327
+ const handleOnPeriodChanged = useCallback(period => {
328
+ var _headerRef$current9;
329
+ setCurrentPeriod(period);
330
+ const newData = sparklineInteractiveData[period];
331
+ const newLastPoint = newData[newData.length - 1];
332
+ (_headerRef$current9 = headerRef.current) == null || _headerRef$current9.update({
333
+ title: "$" + numToLocaleString(newLastPoint.value),
334
+ subHead: generateSubHead(newLastPoint, period, sparklineInteractiveData)
335
+ });
336
+ }, [sparklineInteractiveData]);
337
+ const header = /*#__PURE__*/_jsx(SparklineInteractiveHeader, {
338
+ ref: headerRef,
339
+ compact: compact,
340
+ defaultLabel: labelNode ? 'CustomHeader' : 'Bitcoin Price',
341
+ defaultSubHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData),
342
+ defaultTitle: "$" + numToLocaleString(lastPoint.value),
343
+ labelNode: labelNode,
344
+ trailing: trailing
345
+ });
346
+ const formatDateWithConfig = useCallback((value, period) => {
347
+ const config = getFormattingConfigForPeriod(period);
348
+ return value.toLocaleString('en-US', _extends({}, config));
349
+ }, []);
350
+ const formatHoverDate = useCallback((date, period) => {
351
+ return date.toLocaleString('en-US', _extends({}, getDateHoverOptions(period)));
352
+ }, []);
353
+ const formatMinMaxLabel = useCallback(amount => {
354
+ return "$" + numToLocaleString(parseInt(amount, 10));
355
+ }, []);
356
+ return /*#__PURE__*/_jsx(SparklineInteractive, _extends({
357
+ disableScrubbing: !__DEV__
358
+ }, props, {
359
+ defaultPeriod: props.defaultPeriod || DEFAULT_PERIOD,
360
+ formatDate: formatDateWithConfig,
361
+ formatHoverDate: !props.hideHoverDate ? formatHoverDate : undefined,
362
+ formatMinMaxLabel: formatMinMaxLabel,
363
+ headerNode: header,
364
+ onPeriodChanged: handleOnPeriodChanged,
365
+ onScrub: handleScrub,
366
+ onScrubEnd: handleScrubEnd,
367
+ periods: subsetOfPeriods,
368
+ strokeColor: props.strokeColor
369
+ }));
370
+ });
371
+ export const SparklineInteractiveHeaderWithCustomTitle = () => {
372
+ const headerRef = useRef(null);
373
+ const [currentPeriod, setCurrentPeriod] = useState('day');
374
+ const data = sparklineInteractiveData[currentPeriod];
375
+ const lastPoint = data[data.length - 1];
376
+ const titleRef = useRef(null);
377
+ const styles = useSparklineInteractiveHeaderStyles();
378
+ const handleScrub = useCallback(_ref4 => {
379
+ var _headerRef$current0, _titleRef$current;
380
+ let {
381
+ point,
382
+ period
383
+ } = _ref4;
384
+ const newTitle = "$" + point.value.toLocaleString('en-US');
385
+ (_headerRef$current0 = headerRef.current) == null || _headerRef$current0.update({
386
+ subHead: generateSubHead(point, period, sparklineInteractiveData)
387
+ });
388
+ (_titleRef$current = titleRef.current) == null || _titleRef$current.setNativeProps({
389
+ text: newTitle,
390
+ style: [styles.title(newTitle), {
391
+ color: 'green'
392
+ }]
393
+ });
394
+ }, [styles]);
395
+ const handleScrubEnd = useCallback(() => {
396
+ var _headerRef$current1, _titleRef$current2;
397
+ const newTitle = "$" + numToLocaleString(lastPoint.value);
398
+ (_headerRef$current1 = headerRef.current) == null || _headerRef$current1.update({
399
+ subHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData)
400
+ });
401
+ (_titleRef$current2 = titleRef.current) == null || _titleRef$current2.setNativeProps({
402
+ text: newTitle,
403
+ style: [styles.title(newTitle), {
404
+ color: 'green'
405
+ }]
406
+ });
407
+ }, [currentPeriod, lastPoint, styles]);
408
+ const handleOnPeriodChanged = useCallback(period => {
409
+ var _headerRef$current10, _titleRef$current3;
410
+ setCurrentPeriod(period);
411
+ const newData = sparklineInteractiveData[period];
412
+ const newLastPoint = newData[newData.length - 1];
413
+ const newTitle = "$" + numToLocaleString(newLastPoint.value);
414
+ (_headerRef$current10 = headerRef.current) == null || _headerRef$current10.update({
415
+ subHead: generateSubHead(newLastPoint, period, sparklineInteractiveData)
416
+ });
417
+ (_titleRef$current3 = titleRef.current) == null || _titleRef$current3.setNativeProps({
418
+ text: newTitle,
419
+ style: [styles.title(newTitle), {
420
+ color: 'green'
421
+ }]
422
+ });
423
+ }, [styles]);
424
+ const defaultTitleStyle = useMemo(() => [styles.title("$" + numToLocaleString(lastPoint.value)), {
425
+ color: 'green'
426
+ }], [lastPoint.value, styles]);
427
+ const RenderedDefaultTitle = /*#__PURE__*/_jsx(TextInput, {
428
+ ref: titleRef,
429
+ defaultValue: "$" + numToLocaleString(lastPoint.value),
430
+ editable: false,
431
+ pointerEvents: "none",
432
+ style: defaultTitleStyle,
433
+ testID: "SparklineInteractiveHeaderTitle"
434
+ });
435
+ const header = /*#__PURE__*/_jsx(SparklineInteractiveHeader, {
436
+ ref: headerRef,
437
+ defaultLabel: "Bitcoin Price",
438
+ defaultSubHead: generateSubHead(lastPoint, currentPeriod, sparklineInteractiveData),
439
+ defaultTitle: RenderedDefaultTitle
440
+ });
441
+ return /*#__PURE__*/_jsx(SparklineInteractiveBuild, {
442
+ data: sparklineInteractiveData,
443
+ headerNode: header,
444
+ onPeriodChanged: handleOnPeriodChanged,
445
+ onScrub: handleScrub,
446
+ onScrubEnd: handleScrubEnd,
447
+ strokeColor: "#F7931A"
448
+ });
449
+ };
450
+ const SparklineInteractiveHeaderScreen = () => {
451
+ const trailing = useMemo(() => {
452
+ return /*#__PURE__*/_jsxs(HStack, {
453
+ gap: 1,
454
+ children: [/*#__PURE__*/_jsx(IconButton, {
455
+ active: true,
456
+ accessibilityLabel: "Star",
457
+ feedback: "heavy",
458
+ name: "star",
459
+ onPress: handlePress,
460
+ variant: "secondary"
461
+ }), /*#__PURE__*/_jsx(IconButton, {
462
+ accessibilityLabel: "Share",
463
+ feedback: "heavy",
464
+ name: "share",
465
+ onPress: handlePress,
466
+ variant: "secondary"
467
+ })]
468
+ });
469
+ }, []);
470
+ return /*#__PURE__*/_jsxs(ExampleScreen, {
471
+ children: [/*#__PURE__*/_jsx(Example, {
472
+ padding: 0,
473
+ children: /*#__PURE__*/_jsxs(Box, {
474
+ children: [/*#__PURE__*/_jsx(Text, {
475
+ font: "title3",
476
+ paddingX: 3,
477
+ paddingY: 3,
478
+ children: "SparklineInteractive Header Example"
479
+ }), /*#__PURE__*/_jsx(SparklineInteractiveWithHeaderBuild, {
480
+ data: sparklineInteractiveData,
481
+ strokeColor: "#F7931A"
482
+ })]
483
+ })
484
+ }), /*#__PURE__*/_jsx(Example, {
485
+ padding: 0,
486
+ children: /*#__PURE__*/_jsxs(Box, {
487
+ children: [/*#__PURE__*/_jsx(Text, {
488
+ font: "title3",
489
+ paddingX: 3,
490
+ paddingY: 3,
491
+ children: "SparklineInteractive Header Trailing"
492
+ }), /*#__PURE__*/_jsx(SparklineInteractiveWithHeaderBuild, {
493
+ data: sparklineInteractiveData,
494
+ strokeColor: "#F7931A",
495
+ trailing: trailing
496
+ })]
497
+ })
498
+ }), /*#__PURE__*/_jsx(Example, {
499
+ padding: 0,
500
+ children: /*#__PURE__*/_jsxs(Box, {
501
+ children: [/*#__PURE__*/_jsx(Text, {
502
+ font: "title3",
503
+ paddingX: 3,
504
+ paddingY: 3,
505
+ children: "SparklineInteractive Header Custom Label"
506
+ }), /*#__PURE__*/_jsx(SparklineInteractiveWithHeaderBuild, {
507
+ data: sparklineInteractiveData,
508
+ labelNode: /*#__PURE__*/_jsx(HeaderLabel, {}),
509
+ strokeColor: "#F7931A"
510
+ })]
511
+ })
512
+ }), /*#__PURE__*/_jsx(Example, {
513
+ padding: 0,
514
+ children: /*#__PURE__*/_jsxs(Box, {
515
+ children: [/*#__PURE__*/_jsx(Text, {
516
+ font: "title3",
517
+ paddingX: 3,
518
+ paddingY: 3,
519
+ children: "SparklineInteractive Header Example with AltHeader"
520
+ }), /*#__PURE__*/_jsx(SparklineInteractiveWithAltHeader, {
521
+ data: sparklineInteractiveData,
522
+ strokeColor: "#F7931A"
523
+ })]
524
+ })
525
+ }), /*#__PURE__*/_jsx(Example, {
526
+ padding: 0,
527
+ children: /*#__PURE__*/_jsxs(Box, {
528
+ children: [/*#__PURE__*/_jsx(Text, {
529
+ font: "title3",
530
+ paddingX: 3,
531
+ paddingY: 3,
532
+ children: "SparklineInteractive Header Example with Smaller Period Set"
533
+ }), /*#__PURE__*/_jsx(SparklineInteractiveWithSmallerPeriodSet, {
534
+ data: sparklineInteractiveData,
535
+ strokeColor: "#F7931A"
536
+ })]
537
+ })
538
+ }), /*#__PURE__*/_jsx(Example, {
539
+ padding: 0,
540
+ children: /*#__PURE__*/_jsxs(Box, {
541
+ children: [/*#__PURE__*/_jsx(Text, {
542
+ font: "title3",
543
+ paddingX: 3,
544
+ paddingY: 3,
545
+ children: "SparklineInteractive Header Example with No Period Set"
546
+ }), /*#__PURE__*/_jsx(SparklineInteractiveWithHeaderBuild, {
547
+ hidePeriodSelector: true,
548
+ data: sparklineInteractiveData,
549
+ strokeColor: "#F7931A"
550
+ })]
551
+ })
552
+ }), /*#__PURE__*/_jsx(Example, {
553
+ padding: 0,
554
+ children: /*#__PURE__*/_jsxs(Box, {
555
+ children: [/*#__PURE__*/_jsx(Text, {
556
+ font: "title3",
557
+ paddingX: 3,
558
+ paddingY: 3,
559
+ children: "SparklineInteractive Header Custom Title"
560
+ }), /*#__PURE__*/_jsx(SparklineInteractiveHeaderWithCustomTitle, {})]
561
+ })
562
+ })]
563
+ });
564
+ };
565
+ export default SparklineInteractiveHeaderScreen;
@@ -0,0 +1,117 @@
1
+ import { useCallback, useMemo } from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import { useTheme } from '../../../hooks/useTheme';
4
+ import { getAdjustedFontScale } from '../../../utils/getAdjustedFontScale';
5
+ // The – character width is larger than the width of the + character.
6
+ // To prevent layout jank and jumping around we set a fixed width for
7
+ // this component. Because of accessible font scaling we first get the
8
+ // active font size and then calculate the character width, which for the –
9
+ // character is 0.6em.
10
+ const useSubIconWidth = () => {
11
+ const theme = useTheme();
12
+ const label1FontSize = theme.fontSize.label1;
13
+ return useCallback(color => {
14
+ const activeWidth = label1FontSize * 0.6;
15
+ // Hide if color is muted aka 0% change so icon is flushed to far left
16
+ return color === 'foregroundMuted' ? 0 : activeWidth;
17
+ }, [label1FontSize]);
18
+ };
19
+ const variantColorMap = {
20
+ positive: 'fgPositive',
21
+ negative: 'fgNegative',
22
+ foregroundMuted: 'fgMuted'
23
+ };
24
+ export const styles = StyleSheet.create({
25
+ // Inputs need to have these styles to make it appear as Text component
26
+ inputReset: {
27
+ padding: 0,
28
+ margin: 0,
29
+ backgroundColor: 'transparent',
30
+ overflow: 'visible',
31
+ lineHeight: undefined
32
+ },
33
+ fullWidth: {
34
+ width: '100%'
35
+ },
36
+ tabularNumbers: {
37
+ fontVariant: ['tabular-nums']
38
+ }
39
+ });
40
+ export function useSparklineInteractiveHeaderStyles() {
41
+ const theme = useTheme();
42
+ const typography = {
43
+ title1: {
44
+ fontSize: theme.fontSize.title1,
45
+ lineHeight: theme.lineHeight.title1,
46
+ fontFamily: theme.fontFamily.title1
47
+ },
48
+ label1: {
49
+ fontSize: theme.fontSize.label1,
50
+ lineHeight: theme.lineHeight.label1,
51
+ fontFamily: theme.fontFamily.label1
52
+ },
53
+ label2: {
54
+ fontSize: theme.fontSize.label2,
55
+ lineHeight: theme.lineHeight.label2,
56
+ fontFamily: theme.fontFamily.label2
57
+ }
58
+ };
59
+ const fontSize = {
60
+ title1: typography.title1.fontSize
61
+ };
62
+ const lineHeight = {
63
+ title1: typography.title1.lineHeight,
64
+ label1: typography.label1.lineHeight
65
+ };
66
+ const getSubIconWidth = useSubIconWidth();
67
+ return useMemo(() => {
68
+ return {
69
+ // TITLE STYLES - the large price text
70
+ title: text => {
71
+ const {
72
+ length
73
+ } = text;
74
+ // We manually decrease fontSize if length of new value
75
+ // is greater than 12 characters long
76
+ const {
77
+ fontSize: titleFontSize
78
+ } = getAdjustedFontScale({
79
+ fontSize: fontSize.title1
80
+ }, length, 12);
81
+ return [typography.title1, styles.tabularNumbers, styles.inputReset, styles.fullWidth, {
82
+ fontSize: titleFontSize,
83
+ color: theme.color.fg,
84
+ height: lineHeight.title1
85
+ }];
86
+ },
87
+ // LABEL STYLES - the small text above price
88
+ label: [typography.label1, styles.inputReset, styles.fullWidth, {
89
+ height: lineHeight.label1,
90
+ color: theme.color.fgMuted
91
+ }],
92
+ // SUBHEAD ICON STYLES - the + or - after price and in front of percent change)
93
+ subHeadIcon: color => [typography.label1, styles.inputReset, {
94
+ color: theme.color[variantColorMap[color]],
95
+ width: getSubIconWidth(color),
96
+ marginRight: theme.space[0.5] / 2,
97
+ textAlign: 'left'
98
+ }],
99
+ // SUBHEAD STYLES - the percent change text
100
+ subHead: function (color, useFullWidth) {
101
+ if (useFullWidth === void 0) {
102
+ useFullWidth = true;
103
+ }
104
+ return [typography.label1, styles.tabularNumbers, ...(useFullWidth ? [styles.fullWidth] : [{
105
+ width: 'auto'
106
+ }]), styles.inputReset, {
107
+ color: theme.color[variantColorMap[color]]
108
+ }];
109
+ },
110
+ subHeadAccessory: () => [typography.label2, styles.inputReset, {
111
+ color: theme.color.fgMuted,
112
+ marginLeft: theme.space[0.5],
113
+ textAlign: 'left'
114
+ }]
115
+ };
116
+ }, [typography.label1, typography.title1, typography.label2, lineHeight.label1, lineHeight.title1, theme.color, theme.space, fontSize.title1, getSubIconWidth]);
117
+ }