@coinbase/cds-mobile-visualization 3.3.0 → 3.4.0-beta.10

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 (265) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dts/chart/CartesianChart.d.ts +125 -0
  3. package/dts/chart/CartesianChart.d.ts.map +1 -0
  4. package/dts/chart/ChartContextBridge.d.ts +28 -0
  5. package/dts/chart/ChartContextBridge.d.ts.map +1 -0
  6. package/dts/chart/ChartProvider.d.ts +6 -0
  7. package/dts/chart/ChartProvider.d.ts.map +1 -0
  8. package/dts/chart/Path.d.ts +91 -0
  9. package/dts/chart/Path.d.ts.map +1 -0
  10. package/dts/chart/PeriodSelector.d.ts +85 -0
  11. package/dts/chart/PeriodSelector.d.ts.map +1 -0
  12. package/dts/chart/area/Area.d.ts +77 -0
  13. package/dts/chart/area/Area.d.ts.map +1 -0
  14. package/dts/chart/area/AreaChart.d.ts +131 -0
  15. package/dts/chart/area/AreaChart.d.ts.map +1 -0
  16. package/dts/chart/area/DottedArea.d.ts +46 -0
  17. package/dts/chart/area/DottedArea.d.ts.map +1 -0
  18. package/dts/chart/area/GradientArea.d.ts +36 -0
  19. package/dts/chart/area/GradientArea.d.ts.map +1 -0
  20. package/dts/chart/area/SolidArea.d.ts +23 -0
  21. package/dts/chart/area/SolidArea.d.ts.map +1 -0
  22. package/dts/chart/area/index.d.ts +6 -0
  23. package/dts/chart/area/index.d.ts.map +1 -0
  24. package/dts/chart/axis/Axis.d.ts +194 -0
  25. package/dts/chart/axis/Axis.d.ts.map +1 -0
  26. package/dts/chart/axis/DefaultAxisTickLabel.d.ts +8 -0
  27. package/dts/chart/axis/DefaultAxisTickLabel.d.ts.map +1 -0
  28. package/dts/chart/axis/XAxis.d.ts +16 -0
  29. package/dts/chart/axis/XAxis.d.ts.map +1 -0
  30. package/dts/chart/axis/YAxis.d.ts +21 -0
  31. package/dts/chart/axis/YAxis.d.ts.map +1 -0
  32. package/dts/chart/axis/index.d.ts +5 -0
  33. package/dts/chart/axis/index.d.ts.map +1 -0
  34. package/dts/chart/bar/Bar.d.ts +92 -0
  35. package/dts/chart/bar/Bar.d.ts.map +1 -0
  36. package/dts/chart/bar/BarChart.d.ts +113 -0
  37. package/dts/chart/bar/BarChart.d.ts.map +1 -0
  38. package/dts/chart/bar/BarPlot.d.ts +30 -0
  39. package/dts/chart/bar/BarPlot.d.ts.map +1 -0
  40. package/dts/chart/bar/BarStack.d.ts +102 -0
  41. package/dts/chart/bar/BarStack.d.ts.map +1 -0
  42. package/dts/chart/bar/BarStackGroup.d.ts +36 -0
  43. package/dts/chart/bar/BarStackGroup.d.ts.map +1 -0
  44. package/dts/chart/bar/DefaultBar.d.ts +7 -0
  45. package/dts/chart/bar/DefaultBar.d.ts.map +1 -0
  46. package/dts/chart/bar/DefaultBarStack.d.ts +7 -0
  47. package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -0
  48. package/dts/chart/bar/index.d.ts +8 -0
  49. package/dts/chart/bar/index.d.ts.map +1 -0
  50. package/dts/chart/gradient/Gradient.d.ts +25 -0
  51. package/dts/chart/gradient/Gradient.d.ts.map +1 -0
  52. package/dts/chart/gradient/index.d.ts +2 -0
  53. package/dts/chart/gradient/index.d.ts.map +1 -0
  54. package/dts/chart/index.d.ts +15 -0
  55. package/dts/chart/index.d.ts.map +1 -0
  56. package/dts/chart/line/DefaultReferenceLineLabel.d.ts +9 -0
  57. package/dts/chart/line/DefaultReferenceLineLabel.d.ts.map +1 -0
  58. package/dts/chart/line/DottedLine.d.ts +20 -0
  59. package/dts/chart/line/DottedLine.d.ts.map +1 -0
  60. package/dts/chart/line/Line.d.ts +115 -0
  61. package/dts/chart/line/Line.d.ts.map +1 -0
  62. package/dts/chart/line/LineChart.d.ts +118 -0
  63. package/dts/chart/line/LineChart.d.ts.map +1 -0
  64. package/dts/chart/line/ReferenceLine.d.ts +139 -0
  65. package/dts/chart/line/ReferenceLine.d.ts.map +1 -0
  66. package/dts/chart/line/SolidLine.d.ts +15 -0
  67. package/dts/chart/line/SolidLine.d.ts.map +1 -0
  68. package/dts/chart/line/index.d.ts +7 -0
  69. package/dts/chart/line/index.d.ts.map +1 -0
  70. package/dts/chart/point/DefaultPointLabel.d.ts +10 -0
  71. package/dts/chart/point/DefaultPointLabel.d.ts.map +1 -0
  72. package/dts/chart/point/Point.d.ts +120 -0
  73. package/dts/chart/point/Point.d.ts.map +1 -0
  74. package/dts/chart/point/index.d.ts +3 -0
  75. package/dts/chart/point/index.d.ts.map +1 -0
  76. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts +8 -0
  77. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -0
  78. package/dts/chart/scrubber/DefaultScrubberBeaconLabel.d.ts +12 -0
  79. package/dts/chart/scrubber/DefaultScrubberBeaconLabel.d.ts.map +1 -0
  80. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts +11 -0
  81. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts.map +1 -0
  82. package/dts/chart/scrubber/Scrubber.d.ts +233 -0
  83. package/dts/chart/scrubber/Scrubber.d.ts.map +1 -0
  84. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts +44 -0
  85. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -0
  86. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +31 -0
  87. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -0
  88. package/dts/chart/scrubber/ScrubberProvider.d.ts +20 -0
  89. package/dts/chart/scrubber/ScrubberProvider.d.ts.map +1 -0
  90. package/dts/chart/scrubber/index.d.ts +5 -0
  91. package/dts/chart/scrubber/index.d.ts.map +1 -0
  92. package/dts/chart/text/ChartText.d.ts +164 -0
  93. package/dts/chart/text/ChartText.d.ts.map +1 -0
  94. package/dts/chart/text/ChartTextGroup.d.ts +61 -0
  95. package/dts/chart/text/ChartTextGroup.d.ts.map +1 -0
  96. package/dts/chart/text/index.d.ts +3 -0
  97. package/dts/chart/text/index.d.ts.map +1 -0
  98. package/dts/chart/utils/axis.d.ts +342 -0
  99. package/dts/chart/utils/axis.d.ts.map +1 -0
  100. package/dts/chart/utils/bar.d.ts +20 -0
  101. package/dts/chart/utils/bar.d.ts.map +1 -0
  102. package/dts/chart/utils/chart.d.ts +124 -0
  103. package/dts/chart/utils/chart.d.ts.map +1 -0
  104. package/dts/chart/utils/context.d.ts +116 -0
  105. package/dts/chart/utils/context.d.ts.map +1 -0
  106. package/dts/chart/utils/gradient.d.ts +117 -0
  107. package/dts/chart/utils/gradient.d.ts.map +1 -0
  108. package/dts/chart/utils/index.d.ts +11 -0
  109. package/dts/chart/utils/index.d.ts.map +1 -0
  110. package/dts/chart/utils/path.d.ts +160 -0
  111. package/dts/chart/utils/path.d.ts.map +1 -0
  112. package/dts/chart/utils/point.d.ts +134 -0
  113. package/dts/chart/utils/point.d.ts.map +1 -0
  114. package/dts/chart/utils/scale.d.ts +134 -0
  115. package/dts/chart/utils/scale.d.ts.map +1 -0
  116. package/dts/chart/utils/scrubber.d.ts +39 -0
  117. package/dts/chart/utils/scrubber.d.ts.map +1 -0
  118. package/dts/chart/utils/transition.d.ts +140 -0
  119. package/dts/chart/utils/transition.d.ts.map +1 -0
  120. package/dts/index.d.ts +2 -1
  121. package/dts/index.d.ts.map +1 -1
  122. package/dts/sparkline/Counter.d.ts +7 -2
  123. package/dts/sparkline/Sparkline.d.ts +67 -16
  124. package/dts/sparkline/Sparkline.d.ts.map +1 -1
  125. package/dts/sparkline/SparklineArea.d.ts +10 -4
  126. package/dts/sparkline/SparklineArea.d.ts.map +1 -1
  127. package/dts/sparkline/SparklineAreaPattern.d.ts +12 -4
  128. package/dts/sparkline/SparklineAreaPattern.d.ts.map +1 -1
  129. package/dts/sparkline/SparklineGradient.d.ts +21 -10
  130. package/dts/sparkline/SparklineGradient.d.ts.map +1 -1
  131. package/dts/sparkline/__figma__/Sparkline.figma.d.ts +1 -1
  132. package/dts/sparkline/generateSparklineWithId.d.ts +8 -2
  133. package/dts/sparkline/generateSparklineWithId.d.ts.map +1 -1
  134. package/dts/sparkline/index.d.ts +1 -1
  135. package/dts/sparkline/sparkline-interactive/SparklineAccessibleView.d.ts +8 -3
  136. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts +132 -110
  137. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -1
  138. package/dts/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.d.ts +22 -9
  139. package/dts/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.d.ts.map +1 -1
  140. package/dts/sparkline/sparkline-interactive/SparklineInteractiveHoverDate.d.ts +18 -7
  141. package/dts/sparkline/sparkline-interactive/SparklineInteractiveLineVertical.d.ts +9 -4
  142. package/dts/sparkline/sparkline-interactive/SparklineInteractiveMarkerDates.d.ts +11 -6
  143. package/dts/sparkline/sparkline-interactive/SparklineInteractiveMinMax.d.ts +7 -5
  144. package/dts/sparkline/sparkline-interactive/SparklineInteractivePanGestureHandler.d.ts +22 -10
  145. package/dts/sparkline/sparkline-interactive/SparklineInteractivePaths.d.ts +21 -7
  146. package/dts/sparkline/sparkline-interactive/SparklineInteractivePaths.d.ts.map +1 -1
  147. package/dts/sparkline/sparkline-interactive/SparklineInteractivePeriodSelector.d.ts +21 -16
  148. package/dts/sparkline/sparkline-interactive/SparklineInteractiveProvider.d.ts +29 -23
  149. package/dts/sparkline/sparkline-interactive/SparklineInteractiveTimeseriesPaths.d.ts +22 -14
  150. package/dts/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.d.ts +1 -1
  151. package/dts/sparkline/sparkline-interactive/useInterruptiblePathAnimation.d.ts +9 -5
  152. package/dts/sparkline/sparkline-interactive/useMinMaxTransform.d.ts +11 -6
  153. package/dts/sparkline/sparkline-interactive/useOpacityAnimation.d.ts +5 -2
  154. package/dts/sparkline/sparkline-interactive/useSparklineInteractiveConstants.d.ts +17 -17
  155. package/dts/sparkline/sparkline-interactive/useSparklineInteractiveLineStyles.d.ts +16 -13
  156. package/dts/sparkline/sparkline-interactive-header/SparklineInteractiveHeader.d.ts +106 -98
  157. package/dts/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.d.ts +1 -1
  158. package/dts/sparkline/sparkline-interactive-header/useSparklineInteractiveHeaderStyles.d.ts +22 -19
  159. package/esm/chart/CartesianChart.js +335 -0
  160. package/esm/chart/ChartContextBridge.js +148 -0
  161. package/esm/chart/ChartProvider.js +10 -0
  162. package/esm/chart/Path.js +218 -0
  163. package/esm/chart/PeriodSelector.js +136 -0
  164. package/esm/chart/__stories__/CartesianChart.stories.js +723 -0
  165. package/esm/chart/__stories__/Chart.stories.js +77 -0
  166. package/esm/chart/__stories__/PeriodSelector.stories.js +322 -0
  167. package/esm/chart/area/Area.js +75 -0
  168. package/esm/chart/area/AreaChart.js +151 -0
  169. package/esm/chart/area/DottedArea.js +80 -0
  170. package/esm/chart/area/GradientArea.js +54 -0
  171. package/esm/chart/area/SolidArea.js +38 -0
  172. package/esm/chart/area/__stories__/AreaChart.stories.js +100 -0
  173. package/esm/chart/area/index.js +7 -0
  174. package/esm/chart/axis/Axis.js +45 -0
  175. package/esm/chart/axis/DefaultAxisTickLabel.js +11 -0
  176. package/esm/chart/axis/XAxis.js +188 -0
  177. package/esm/chart/axis/YAxis.js +177 -0
  178. package/esm/chart/axis/__stories__/Axis.stories.js +276 -0
  179. package/esm/chart/axis/index.js +6 -0
  180. package/esm/chart/bar/Bar.js +69 -0
  181. package/esm/chart/bar/BarChart.js +125 -0
  182. package/esm/chart/bar/BarPlot.js +102 -0
  183. package/esm/chart/bar/BarStack.js +551 -0
  184. package/esm/chart/bar/BarStackGroup.js +79 -0
  185. package/esm/chart/bar/DefaultBar.js +56 -0
  186. package/esm/chart/bar/DefaultBarStack.js +47 -0
  187. package/esm/chart/bar/__stories__/BarChart.stories.js +668 -0
  188. package/esm/chart/bar/index.js +9 -0
  189. package/esm/chart/gradient/Gradient.js +53 -0
  190. package/esm/chart/gradient/index.js +1 -0
  191. package/esm/chart/index.js +16 -0
  192. package/esm/chart/line/DefaultReferenceLineLabel.js +66 -0
  193. package/esm/chart/line/DottedLine.js +50 -0
  194. package/esm/chart/line/Line.js +178 -0
  195. package/esm/chart/line/LineChart.js +121 -0
  196. package/esm/chart/line/ReferenceLine.js +132 -0
  197. package/esm/chart/line/SolidLine.js +46 -0
  198. package/esm/chart/line/__stories__/LineChart.stories.js +2372 -0
  199. package/esm/chart/line/__stories__/ReferenceLine.stories.js +132 -0
  200. package/esm/chart/line/index.js +8 -0
  201. package/esm/chart/point/DefaultPointLabel.js +39 -0
  202. package/esm/chart/point/Point.js +188 -0
  203. package/esm/chart/point/index.js +2 -0
  204. package/esm/chart/scrubber/DefaultScrubberBeacon.js +179 -0
  205. package/esm/chart/scrubber/DefaultScrubberBeaconLabel.js +43 -0
  206. package/esm/chart/scrubber/DefaultScrubberLabel.js +28 -0
  207. package/esm/chart/scrubber/Scrubber.js +166 -0
  208. package/esm/chart/scrubber/ScrubberBeaconGroup.js +161 -0
  209. package/esm/chart/scrubber/ScrubberBeaconLabelGroup.js +185 -0
  210. package/esm/chart/scrubber/ScrubberProvider.js +135 -0
  211. package/esm/chart/scrubber/index.js +4 -0
  212. package/esm/chart/text/ChartText.js +305 -0
  213. package/esm/chart/text/ChartTextGroup.js +211 -0
  214. package/esm/chart/text/index.js +4 -0
  215. package/esm/chart/utils/axis.js +592 -0
  216. package/esm/chart/utils/bar.js +24 -0
  217. package/esm/chart/utils/chart.js +270 -0
  218. package/esm/chart/utils/context.js +15 -0
  219. package/esm/chart/utils/gradient.js +305 -0
  220. package/esm/chart/utils/index.js +12 -0
  221. package/esm/chart/utils/path.js +274 -0
  222. package/esm/chart/utils/point.js +229 -0
  223. package/esm/chart/utils/scale.js +277 -0
  224. package/esm/chart/utils/scrubber.js +139 -0
  225. package/esm/chart/utils/transition.js +185 -0
  226. package/esm/index.js +4 -1
  227. package/esm/sparkline/Sparkline.js +129 -16
  228. package/esm/sparkline/SparklineArea.js +7 -2
  229. package/esm/sparkline/SparklineAreaPattern.js +4 -2
  230. package/esm/sparkline/SparklineGradient.js +4 -0
  231. package/esm/sparkline/__stories__/Sparkline.stories.js +11 -7
  232. package/esm/sparkline/__stories__/SparklineGradient.stories.js +7 -4
  233. package/esm/sparkline/generateSparklineWithId.js +3 -2
  234. package/esm/sparkline/sparkline-interactive/SparklineInteractive.js +5 -1
  235. package/esm/sparkline/sparkline-interactive/SparklineInteractiveAnimatedPath.js +5 -2
  236. package/esm/sparkline/sparkline-interactive/SparklineInteractivePaths.js +4 -0
  237. package/esm/sparkline/sparkline-interactive/__stories__/SparklineInteractive.stories.js +76 -24
  238. package/esm/sparkline/sparkline-interactive-header/__stories__/SparklineInteractiveHeader.stories.js +17 -9
  239. package/package.json +17 -11
  240. package/dts/sparkline/__stories__/Sparkline.stories.d.ts +0 -3
  241. package/dts/sparkline/__stories__/Sparkline.stories.d.ts.map +0 -1
  242. package/dts/sparkline/__stories__/SparklineGradient.stories.d.ts +0 -3
  243. package/dts/sparkline/__stories__/SparklineGradient.stories.d.ts.map +0 -1
  244. package/dts/sparkline/sparkline-interactive/__stories__/SparklineInteractive.stories.d.ts +0 -3
  245. package/dts/sparkline/sparkline-interactive/__stories__/SparklineInteractive.stories.d.ts.map +0 -1
  246. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractive.test.d.ts +0 -2
  247. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractive.test.d.ts.map +0 -1
  248. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractiveHoverDate.test.d.ts +0 -2
  249. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractiveHoverDate.test.d.ts.map +0 -1
  250. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractivePanGestureHandler.test.d.ts +0 -2
  251. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractivePanGestureHandler.test.d.ts.map +0 -1
  252. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractivePeriodSelector.test.d.ts +0 -2
  253. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractivePeriodSelector.test.d.ts.map +0 -1
  254. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractiveTimeseriesPaths.test.d.ts +0 -2
  255. package/dts/sparkline/sparkline-interactive/__tests__/SparklineInteractiveTimeseriesPaths.test.d.ts.map +0 -1
  256. package/dts/sparkline/sparkline-interactive/__tests__/useMinMaxTransform.test.d.ts +0 -2
  257. package/dts/sparkline/sparkline-interactive/__tests__/useMinMaxTransform.test.d.ts.map +0 -1
  258. package/dts/sparkline/sparkline-interactive/useInterruptiblePathAnimation.test.disable.d.ts +0 -2
  259. package/dts/sparkline/sparkline-interactive/useInterruptiblePathAnimation.test.disable.d.ts.map +0 -1
  260. package/dts/sparkline/sparkline-interactive-header/__stories__/SparklineInteractiveHeader.stories.d.ts +0 -4
  261. package/dts/sparkline/sparkline-interactive-header/__stories__/SparklineInteractiveHeader.stories.d.ts.map +0 -1
  262. package/dts/sparkline/sparkline-interactive-header/__tests__/SparklineInteractiveHeader.test.d.ts +0 -2
  263. package/dts/sparkline/sparkline-interactive-header/__tests__/SparklineInteractiveHeader.test.d.ts.map +0 -1
  264. package/dts/sparkline/sparkline-interactive-header/__tests__/useSparklineInteractiveHeaderStyles.test.d.ts +0 -2
  265. package/dts/sparkline/sparkline-interactive-header/__tests__/useSparklineInteractiveHeaderStyles.test.d.ts.map +0 -1
@@ -0,0 +1,668 @@
1
+ const _excluded = ["children"],
2
+ _excluded2 = ["animate"];
3
+ 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; }
4
+ 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); }
5
+ import { memo, useEffect, useState } from 'react';
6
+ import { Button } from '@coinbase/cds-mobile/buttons';
7
+ import { Example, ExampleScreen } from '@coinbase/cds-mobile/examples/ExampleScreen';
8
+ import { useTheme } from '@coinbase/cds-mobile/hooks/useTheme';
9
+ import { VStack } from '@coinbase/cds-mobile/layout';
10
+ import { XAxis, YAxis } from '../../axis';
11
+ import { CartesianChart } from '../../CartesianChart';
12
+ import { ReferenceLine, SolidLine } from '../../line';
13
+ import { Bar } from '../Bar';
14
+ import { BarChart } from '../BarChart';
15
+ import { BarPlot } from '../BarPlot';
16
+ import { DefaultBarStack } from '../DefaultBarStack';
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ const ThinSolidLine = /*#__PURE__*/memo(props => /*#__PURE__*/_jsx(SolidLine, _extends({}, props, {
19
+ strokeWidth: 1
20
+ })));
21
+ const defaultChartHeight = 250;
22
+ const PositiveAndNegativeCashFlow = () => {
23
+ const theme = useTheme();
24
+ const categories = Array.from({
25
+ length: 31
26
+ }, (_, i) => "3/" + (i + 1));
27
+ 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];
28
+ 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];
29
+ const series = [{
30
+ id: 'gains',
31
+ data: gains,
32
+ color: theme.color.fgPositive,
33
+ stackId: 'bars'
34
+ }, {
35
+ id: 'losses',
36
+ data: losses,
37
+ color: theme.color.fgNegative,
38
+ stackId: 'bars'
39
+ }];
40
+ return /*#__PURE__*/_jsxs(CartesianChart, {
41
+ height: 420,
42
+ inset: 32,
43
+ series: series,
44
+ xAxis: {
45
+ data: categories,
46
+ scaleType: 'band'
47
+ },
48
+ children: [/*#__PURE__*/_jsx(XAxis, {}), /*#__PURE__*/_jsx(YAxis, {
49
+ showGrid: true,
50
+ GridLineComponent: ThinSolidLine,
51
+ tickLabelFormatter: value => "$" + value + "M"
52
+ }), /*#__PURE__*/_jsx(BarPlot, {}), /*#__PURE__*/_jsx(ReferenceLine, {
53
+ LineComponent: SolidLine,
54
+ dataY: 0
55
+ })]
56
+ });
57
+ };
58
+ const FiatAndStablecoinBalance = () => {
59
+ const theme = useTheme();
60
+ const categories = Array.from({
61
+ length: 31
62
+ }, (_, i) => "3/" + (i + 1));
63
+ 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];
64
+ 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];
65
+ 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];
66
+ const series = [{
67
+ id: 'BRL',
68
+ data: brl,
69
+ color: theme.color.accentBoldGreen
70
+ }, {
71
+ id: 'USDC',
72
+ data: usdc,
73
+ color: theme.color.accentBoldBlue
74
+ }, {
75
+ id: 'USD',
76
+ data: usd,
77
+ color: '#5b6cff'
78
+ }];
79
+ return /*#__PURE__*/_jsx(BarChart, {
80
+ showXAxis: true,
81
+ stacked: true,
82
+ barMinSize: 8,
83
+ height: 420,
84
+ inset: 32,
85
+ series: series,
86
+ stackGap: 2,
87
+ stackMinSize: 16,
88
+ xAxis: {
89
+ data: categories
90
+ }
91
+ });
92
+ };
93
+ const CustomBarStackComponent = /*#__PURE__*/memo(_ref => {
94
+ let {
95
+ children
96
+ } = _ref,
97
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
98
+ const theme = useTheme();
99
+ if (props.height === 0) {
100
+ const diameter = props.width;
101
+ return /*#__PURE__*/_jsx(Bar, {
102
+ roundBottom: true,
103
+ roundTop: true,
104
+ borderRadius: 1000,
105
+ fill: theme.color.bgTertiary,
106
+ height: diameter,
107
+ originY: props.y,
108
+ width: diameter,
109
+ x: props.x,
110
+ y: props.y - diameter
111
+ });
112
+ }
113
+ return /*#__PURE__*/_jsx(DefaultBarStack, _extends({}, props, {
114
+ children: children
115
+ }));
116
+ });
117
+ const MonthlyRewards = () => {
118
+ const months = ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'];
119
+ const purple = [null, 6, 8, 10, 7, 6, 6, 8, null, null, null, null];
120
+ const blue = [null, 10, 12, 11, 10, 9, 10, 11, null, null, null, null];
121
+ const cyan = [null, 7, 10, 12, 11, 10, 8, 11, null, null, null, null];
122
+ const green = [10, null, null, null, 1, null, null, 6, null, null, null, null];
123
+ const [roundBaseline, setRoundBaseline] = useState(true);
124
+ const series = [{
125
+ id: 'purple',
126
+ data: purple,
127
+ color: '#b399ff'
128
+ }, {
129
+ id: 'blue',
130
+ data: blue,
131
+ color: '#4f7cff'
132
+ }, {
133
+ id: 'cyan',
134
+ data: cyan,
135
+ color: '#00c2df'
136
+ }, {
137
+ id: 'green',
138
+ data: green,
139
+ color: '#33c481'
140
+ }];
141
+ return /*#__PURE__*/_jsxs(VStack, {
142
+ gap: 2,
143
+ children: [/*#__PURE__*/_jsx(BarChart, {
144
+ showXAxis: true,
145
+ stacked: true,
146
+ BarStackComponent: CustomBarStackComponent,
147
+ borderRadius: 1000,
148
+ height: 300,
149
+ inset: 0,
150
+ roundBaseline: roundBaseline,
151
+ series: series,
152
+ showYAxis: false,
153
+ stackMinSize: 24,
154
+ xAxis: {
155
+ tickLabelFormatter: index => {
156
+ return months[index];
157
+ },
158
+ categoryPadding: 0.27
159
+ }
160
+ }), /*#__PURE__*/_jsx(Button, {
161
+ onPress: () => setRoundBaseline(!roundBaseline),
162
+ children: "Toggle Round Baseline"
163
+ })]
164
+ });
165
+ };
166
+ const MultipleYAxes = () => {
167
+ const theme = useTheme();
168
+ return /*#__PURE__*/_jsxs(CartesianChart, {
169
+ height: defaultChartHeight,
170
+ series: [{
171
+ id: 'revenue',
172
+ data: [455, 520, 380, 455, 190, 235],
173
+ yAxisId: 'revenue',
174
+ color: theme.color.accentBoldYellow
175
+ }, {
176
+ id: 'profit',
177
+ data: [23, 15, 30, 56, 4, 12],
178
+ yAxisId: 'profit',
179
+ color: theme.color.fgPositive
180
+ }],
181
+ xAxis: {
182
+ data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
183
+ scaleType: 'band'
184
+ },
185
+ yAxis: [{
186
+ id: 'revenue'
187
+ }, {
188
+ id: 'profit'
189
+ }],
190
+ children: [/*#__PURE__*/_jsx(XAxis, {
191
+ showLine: true,
192
+ showTickMarks: true,
193
+ label: "Month"
194
+ }), /*#__PURE__*/_jsx(YAxis, {
195
+ showGrid: true,
196
+ showLine: true,
197
+ showTickMarks: true,
198
+ axisId: "revenue",
199
+ label: "Revenue",
200
+ position: "left",
201
+ requestedTickCount: 5,
202
+ tickLabelFormatter: value => "$" + value + "k",
203
+ width: 80
204
+ }), /*#__PURE__*/_jsx(YAxis, {
205
+ showLine: true,
206
+ showTickMarks: true,
207
+ axisId: "profit",
208
+ label: "Profit",
209
+ requestedTickCount: 5,
210
+ tickLabelFormatter: value => "$" + value + "k",
211
+ width: 70
212
+ }), /*#__PURE__*/_jsx(BarPlot, {})]
213
+ });
214
+ };
215
+ const initialData = [45, 52, 38, 45, 19, 23, 32];
216
+ const MyCustomLine = /*#__PURE__*/memo(_ref2 => {
217
+ let props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
218
+ return /*#__PURE__*/_jsx(SolidLine, _extends({}, props));
219
+ });
220
+ const UpdatingChartValues = () => {
221
+ const [data, setData] = useState(initialData);
222
+ return /*#__PURE__*/_jsxs(VStack, {
223
+ gap: 2,
224
+ children: [/*#__PURE__*/_jsx(BarChart, {
225
+ height: 100,
226
+ series: [{
227
+ id: 'weekly-data',
228
+ data: data
229
+ }],
230
+ xAxis: {
231
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
232
+ showTickMarks: true,
233
+ showLine: true
234
+ },
235
+ yAxis: {
236
+ requestedTickCount: 5,
237
+ tickLabelFormatter: value => "$" + value + "k",
238
+ showGrid: true,
239
+ showTickMarks: true,
240
+ showLine: true,
241
+ tickMarkSize: 12,
242
+ domain: {
243
+ max: 250
244
+ }
245
+ }
246
+ }), /*#__PURE__*/_jsx(BarChart, {
247
+ height: 100,
248
+ series: [{
249
+ id: 'weekly-data',
250
+ data: data
251
+ }],
252
+ transition: {
253
+ type: 'timing',
254
+ duration: 300
255
+ },
256
+ xAxis: {
257
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
258
+ showTickMarks: true,
259
+ showLine: true
260
+ },
261
+ yAxis: {
262
+ requestedTickCount: 5,
263
+ tickLabelFormatter: value => "$" + value + "k",
264
+ showGrid: true,
265
+ showTickMarks: true,
266
+ showLine: true,
267
+ tickMarkSize: 12,
268
+ domain: {
269
+ max: 250
270
+ }
271
+ }
272
+ }), /*#__PURE__*/_jsx(BarChart, {
273
+ height: 100,
274
+ series: [{
275
+ id: 'weekly-data',
276
+ data: data.map((d, i) => i % 2 === 0 ? d : -d)
277
+ }],
278
+ xAxis: {
279
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
280
+ showTickMarks: true,
281
+ showLine: true
282
+ },
283
+ yAxis: {
284
+ requestedTickCount: 5,
285
+ tickLabelFormatter: value => "$" + value + "k",
286
+ showGrid: true,
287
+ showTickMarks: true,
288
+ showLine: true,
289
+ tickMarkSize: 12,
290
+ domain: {
291
+ max: 250
292
+ }
293
+ },
294
+ children: /*#__PURE__*/_jsx(ReferenceLine, {
295
+ LineComponent: MyCustomLine,
296
+ dataY: 0
297
+ })
298
+ }), /*#__PURE__*/_jsx(Button, {
299
+ onPress: () => setData(data => data[0] > 200 ? initialData : data.map(d => d + 50)),
300
+ children: "Update Data"
301
+ })]
302
+ });
303
+ };
304
+ const AnimatedUpdatingChartValues = () => {
305
+ const [data, setData] = useState([45, 52, 38, 45, 19, 23, 32]);
306
+ useEffect(() => {
307
+ const interval = setInterval(() => {
308
+ setData(prevData => prevData.map(value => {
309
+ // Generate random change between -15 and +15
310
+ const change = Math.floor(Math.random() * 31) - 15;
311
+ // Ensure values stay between 10 and 200
312
+ return Math.max(10, Math.min(200, value + change));
313
+ }));
314
+ }, 1000);
315
+ return () => clearInterval(interval);
316
+ }, []);
317
+ return /*#__PURE__*/_jsx(BarChart, {
318
+ showXAxis: true,
319
+ showYAxis: true,
320
+ height: defaultChartHeight,
321
+ series: [{
322
+ id: 'weekly-data',
323
+ data: data
324
+ }],
325
+ xAxis: {
326
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
327
+ showTickMarks: true,
328
+ showLine: true
329
+ },
330
+ yAxis: {
331
+ requestedTickCount: 5,
332
+ tickLabelFormatter: value => "$" + value + "k",
333
+ showGrid: true,
334
+ showTickMarks: true,
335
+ showLine: true,
336
+ tickMarkSize: 12,
337
+ domain: {
338
+ max: 250
339
+ }
340
+ }
341
+ });
342
+ };
343
+ const NegativeValuesWithTopAxis = () => {
344
+ const theme = useTheme();
345
+ return /*#__PURE__*/_jsxs(CartesianChart, {
346
+ height: defaultChartHeight,
347
+ series: [{
348
+ id: 'losses',
349
+ data: [-45, -52, -38, -45, -19, -23, -32],
350
+ color: theme.color.fgNegative
351
+ }],
352
+ xAxis: {
353
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
354
+ scaleType: 'band'
355
+ },
356
+ children: [/*#__PURE__*/_jsx(XAxis, {
357
+ showLine: true,
358
+ showTickMarks: true,
359
+ label: "Day of Week",
360
+ position: "top"
361
+ }), /*#__PURE__*/_jsx(YAxis, {
362
+ showGrid: true,
363
+ showLine: true,
364
+ showTickMarks: true,
365
+ label: "Loss",
366
+ requestedTickCount: 5,
367
+ tickLabelFormatter: value => "$" + value + "k"
368
+ }), /*#__PURE__*/_jsx(BarPlot, {})]
369
+ });
370
+ };
371
+ const tabs = [{
372
+ id: 'week',
373
+ label: '1W'
374
+ }, {
375
+ id: 'month',
376
+ label: '1M'
377
+ }, {
378
+ id: 'year',
379
+ label: '1Y'
380
+ }];
381
+ const YAxisContinuousColorMap = () => {
382
+ const theme = useTheme();
383
+ return /*#__PURE__*/_jsx(BarChart, {
384
+ showXAxis: true,
385
+ showYAxis: true,
386
+ height: defaultChartHeight,
387
+ series: [{
388
+ id: 'temperature',
389
+ data: [12, 25, 38, 52, 45, 30, 18],
390
+ // Continuous gradient from blue (cold) to red (hot)
391
+ gradient: {
392
+ axis: 'y',
393
+ stops: _ref3 => {
394
+ let {
395
+ min,
396
+ max
397
+ } = _ref3;
398
+ return [{
399
+ offset: min,
400
+ color: theme.color.accentBoldGreen
401
+ }, {
402
+ offset: (min + max) / 2,
403
+ color: theme.color.accentBoldYellow
404
+ }, {
405
+ offset: max,
406
+ color: theme.color.accentBoldRed
407
+ }];
408
+ }
409
+ }
410
+ }],
411
+ xAxis: {
412
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
413
+ },
414
+ yAxis: {
415
+ requestedTickCount: 5,
416
+ tickLabelFormatter: value => value + "\xB0C",
417
+ showGrid: true
418
+ }
419
+ });
420
+ };
421
+ const YAxisDiscreteColorMap = () => {
422
+ const theme = useTheme();
423
+ return /*#__PURE__*/_jsx(BarChart, {
424
+ showXAxis: true,
425
+ showYAxis: true,
426
+ height: defaultChartHeight,
427
+ series: [{
428
+ id: 'temperature',
429
+ data: [12, 25, 38, 52, 45, 30, 18],
430
+ // Hard transitions based on performance thresholds
431
+ gradient: {
432
+ axis: 'y',
433
+ stops: [{
434
+ offset: 20,
435
+ color: theme.color.accentBoldGreen
436
+ }, {
437
+ offset: 20,
438
+ color: theme.color.accentBoldYellow
439
+ }, {
440
+ offset: 40,
441
+ color: theme.color.accentBoldYellow
442
+ }, {
443
+ offset: 40,
444
+ color: theme.color.accentBoldRed
445
+ }, {
446
+ offset: 60,
447
+ color: theme.color.accentBoldRed
448
+ }] // Hard transitions at 20, 40
449
+ }
450
+ }],
451
+ xAxis: {
452
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
453
+ },
454
+ yAxis: {
455
+ requestedTickCount: 5,
456
+ tickLabelFormatter: value => value + "\xB0C",
457
+ showGrid: true
458
+ }
459
+ });
460
+ };
461
+ const XAxisContinuousColorMap = () => {
462
+ const theme = useTheme();
463
+ return /*#__PURE__*/_jsx(BarChart, {
464
+ showXAxis: true,
465
+ showYAxis: true,
466
+ height: defaultChartHeight,
467
+ series: [{
468
+ id: 'weekly-trend',
469
+ data: [45, 52, 38, 45, 48, 50, 55],
470
+ // Gradient from left (start of week) to right (end of week)
471
+ gradient: {
472
+ axis: 'x',
473
+ stops: _ref4 => {
474
+ let {
475
+ min,
476
+ max
477
+ } = _ref4;
478
+ return [{
479
+ offset: min,
480
+ color: theme.color.accentBoldPurple
481
+ }, {
482
+ offset: max,
483
+ color: theme.color.accentBoldBlue
484
+ }];
485
+ }
486
+ }
487
+ }],
488
+ xAxis: {
489
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
490
+ },
491
+ yAxis: {
492
+ requestedTickCount: 5,
493
+ tickLabelFormatter: value => "" + value,
494
+ showGrid: true
495
+ }
496
+ });
497
+ };
498
+ const XAxisDiscreteColorMap = () => {
499
+ const theme = useTheme();
500
+ return /*#__PURE__*/_jsx(BarChart, {
501
+ showXAxis: true,
502
+ showYAxis: true,
503
+ height: defaultChartHeight,
504
+ series: [{
505
+ id: 'weekly-trend',
506
+ data: [45, 52, 38, 45, 48, 50, 55],
507
+ // Hard color transition from purple to blue at midweek
508
+ gradient: {
509
+ axis: 'x',
510
+ stops: [{
511
+ offset: 4,
512
+ color: theme.color.accentBoldPurple
513
+ },
514
+ // First half of week
515
+ {
516
+ offset: 4,
517
+ color: theme.color.accentBoldBlue
518
+ } // Second half of week - hard transition at index 4 (Thursday)
519
+ ]
520
+ }
521
+ }],
522
+ xAxis: {
523
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
524
+ },
525
+ yAxis: {
526
+ requestedTickCount: 5,
527
+ tickLabelFormatter: value => "" + value,
528
+ showGrid: true
529
+ }
530
+ });
531
+ };
532
+ const XAxisMultiSegmentColorMap = () => {
533
+ const theme = useTheme();
534
+ return /*#__PURE__*/_jsx(BarChart, {
535
+ showXAxis: true,
536
+ showYAxis: true,
537
+ height: defaultChartHeight,
538
+ series: [{
539
+ id: 'quarters',
540
+ data: [120, 135, 142, 128, 145, 158, 162, 155, 168, 175, 182, 190],
541
+ // Different color for each quarter
542
+ gradient: {
543
+ axis: 'x',
544
+ stops: [{
545
+ offset: 3,
546
+ color: theme.color.accentBoldBlue
547
+ },
548
+ // Q1 (Jan-Mar)
549
+ {
550
+ offset: 3,
551
+ color: theme.color.accentBoldGreen
552
+ },
553
+ // Q2 (Apr-Jun)
554
+ {
555
+ offset: 6,
556
+ color: theme.color.accentBoldGreen
557
+ }, {
558
+ offset: 6,
559
+ color: theme.color.accentBoldYellow
560
+ },
561
+ // Q3 (Jul-Sep)
562
+ {
563
+ offset: 9,
564
+ color: theme.color.accentBoldYellow
565
+ }, {
566
+ offset: 9,
567
+ color: theme.color.accentBoldPurple
568
+ } // Q4 (Oct-Dec)
569
+ ] // Hard transitions at indices 3, 6, 9
570
+ }
571
+ }],
572
+ xAxis: {
573
+ data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
574
+ },
575
+ yAxis: {
576
+ requestedTickCount: 5,
577
+ tickLabelFormatter: value => "$" + value + "k",
578
+ showGrid: true
579
+ }
580
+ });
581
+ };
582
+ const ColorMapWithOpacity = () => {
583
+ const theme = useTheme();
584
+ return /*#__PURE__*/_jsx(BarChart, {
585
+ showXAxis: true,
586
+ showYAxis: true,
587
+ height: defaultChartHeight,
588
+ series: [{
589
+ id: 'confidence',
590
+ data: [25, 35, 45, 55, 65, 75, 85],
591
+ // Gradient with opacity changes
592
+ gradient: {
593
+ axis: 'y',
594
+ stops: _ref5 => {
595
+ let {
596
+ min,
597
+ max
598
+ } = _ref5;
599
+ return [{
600
+ offset: min,
601
+ color: theme.color.accentBoldBlue,
602
+ opacity: 0
603
+ },
604
+ // Low values - more transparent
605
+ {
606
+ offset: max,
607
+ color: theme.color.accentBoldBlue,
608
+ opacity: 1.0
609
+ } // High values - more opaque
610
+ ];
611
+ }
612
+ }
613
+ }],
614
+ xAxis: {
615
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
616
+ },
617
+ yAxis: {
618
+ requestedTickCount: 5,
619
+ tickLabelFormatter: value => value + "%",
620
+ showGrid: true
621
+ }
622
+ });
623
+ };
624
+ const BarChartStories = () => {
625
+ return /*#__PURE__*/_jsxs(ExampleScreen, {
626
+ children: [/*#__PURE__*/_jsx(Example, {
627
+ title: "Basic",
628
+ children: /*#__PURE__*/_jsx(UpdatingChartValues, {})
629
+ }), /*#__PURE__*/_jsx(Example, {
630
+ title: "Animated Auto-Updating",
631
+ children: /*#__PURE__*/_jsx(AnimatedUpdatingChartValues, {})
632
+ }), /*#__PURE__*/_jsx(Example, {
633
+ title: "Negative Values with Top Axis",
634
+ children: /*#__PURE__*/_jsx(NegativeValuesWithTopAxis, {})
635
+ }), /*#__PURE__*/_jsx(Example, {
636
+ title: "Positive and Negative Cash Flow",
637
+ children: /*#__PURE__*/_jsx(PositiveAndNegativeCashFlow, {})
638
+ }), /*#__PURE__*/_jsx(Example, {
639
+ title: "Fiat & Stablecoin Balance",
640
+ children: /*#__PURE__*/_jsx(FiatAndStablecoinBalance, {})
641
+ }), /*#__PURE__*/_jsx(Example, {
642
+ title: "Monthly Rewards",
643
+ children: /*#__PURE__*/_jsx(MonthlyRewards, {})
644
+ }), /*#__PURE__*/_jsx(Example, {
645
+ title: "Multiple Y Axes",
646
+ children: /*#__PURE__*/_jsx(MultipleYAxes, {})
647
+ }), /*#__PURE__*/_jsx(Example, {
648
+ title: "Y-Axis Continuous ColorMap",
649
+ children: /*#__PURE__*/_jsx(YAxisContinuousColorMap, {})
650
+ }), /*#__PURE__*/_jsx(Example, {
651
+ title: "Y-Axis Discrete ColorMap",
652
+ children: /*#__PURE__*/_jsx(YAxisDiscreteColorMap, {})
653
+ }), /*#__PURE__*/_jsx(Example, {
654
+ title: "X-Axis Continuous ColorMap",
655
+ children: /*#__PURE__*/_jsx(XAxisContinuousColorMap, {})
656
+ }), /*#__PURE__*/_jsx(Example, {
657
+ title: "X-Axis Discrete ColorMap",
658
+ children: /*#__PURE__*/_jsx(XAxisDiscreteColorMap, {})
659
+ }), /*#__PURE__*/_jsx(Example, {
660
+ title: "X-Axis Multi-Segment ColorMap",
661
+ children: /*#__PURE__*/_jsx(XAxisMultiSegmentColorMap, {})
662
+ }), /*#__PURE__*/_jsx(Example, {
663
+ title: "ColorMap with Opacity",
664
+ children: /*#__PURE__*/_jsx(ColorMapWithOpacity, {})
665
+ })]
666
+ });
667
+ };
668
+ export default BarChartStories;
@@ -0,0 +1,9 @@
1
+ // codegen:start {preset: barrel, include: ./*.tsx, exclude: ./__stories__/*.tsx}
2
+ export * from './Bar';
3
+ export * from './BarChart';
4
+ export * from './BarPlot';
5
+ export * from './BarStack';
6
+ export * from './BarStackGroup';
7
+ export * from './DefaultBar';
8
+ export * from './DefaultBarStack';
9
+ // codegen:end