@coinbase/cds-mobile-visualization 3.4.0-beta.8 → 3.4.0

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 (170) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/dts/chart/CartesianChart.d.ts +92 -7
  3. package/dts/chart/CartesianChart.d.ts.map +1 -1
  4. package/dts/chart/ChartContextBridge.d.ts.map +1 -1
  5. package/dts/chart/ChartProvider.d.ts +3 -0
  6. package/dts/chart/ChartProvider.d.ts.map +1 -1
  7. package/dts/chart/Path.d.ts +36 -13
  8. package/dts/chart/Path.d.ts.map +1 -1
  9. package/dts/chart/PeriodSelector.d.ts +21 -6
  10. package/dts/chart/PeriodSelector.d.ts.map +1 -1
  11. package/dts/chart/area/Area.d.ts +14 -11
  12. package/dts/chart/area/Area.d.ts.map +1 -1
  13. package/dts/chart/area/AreaChart.d.ts +33 -9
  14. package/dts/chart/area/AreaChart.d.ts.map +1 -1
  15. package/dts/chart/area/DottedArea.d.ts.map +1 -1
  16. package/dts/chart/area/GradientArea.d.ts.map +1 -1
  17. package/dts/chart/area/SolidArea.d.ts.map +1 -1
  18. package/dts/chart/axis/Axis.d.ts +22 -42
  19. package/dts/chart/axis/Axis.d.ts.map +1 -1
  20. package/dts/chart/axis/XAxis.d.ts +6 -0
  21. package/dts/chart/axis/XAxis.d.ts.map +1 -1
  22. package/dts/chart/axis/YAxis.d.ts +1 -0
  23. package/dts/chart/axis/YAxis.d.ts.map +1 -1
  24. package/dts/chart/bar/Bar.d.ts +51 -51
  25. package/dts/chart/bar/Bar.d.ts.map +1 -1
  26. package/dts/chart/bar/BarChart.d.ts +56 -11
  27. package/dts/chart/bar/BarChart.d.ts.map +1 -1
  28. package/dts/chart/bar/BarPlot.d.ts +2 -1
  29. package/dts/chart/bar/BarPlot.d.ts.map +1 -1
  30. package/dts/chart/bar/BarStack.d.ts +45 -20
  31. package/dts/chart/bar/BarStack.d.ts.map +1 -1
  32. package/dts/chart/bar/BarStackGroup.d.ts +2 -1
  33. package/dts/chart/bar/BarStackGroup.d.ts.map +1 -1
  34. package/dts/chart/bar/DefaultBar.d.ts.map +1 -1
  35. package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -1
  36. package/dts/chart/gradient/Gradient.d.ts +5 -0
  37. package/dts/chart/gradient/Gradient.d.ts.map +1 -1
  38. package/dts/chart/index.d.ts +1 -0
  39. package/dts/chart/index.d.ts.map +1 -1
  40. package/dts/chart/legend/DefaultLegendEntry.d.ts +5 -0
  41. package/dts/chart/legend/DefaultLegendEntry.d.ts.map +1 -0
  42. package/dts/chart/legend/DefaultLegendShape.d.ts +5 -0
  43. package/dts/chart/legend/DefaultLegendShape.d.ts.map +1 -0
  44. package/dts/chart/legend/Legend.d.ts +168 -0
  45. package/dts/chart/legend/Legend.d.ts.map +1 -0
  46. package/dts/chart/legend/index.d.ts +4 -0
  47. package/dts/chart/legend/index.d.ts.map +1 -0
  48. package/dts/chart/line/DottedLine.d.ts.map +1 -1
  49. package/dts/chart/line/Line.d.ts +23 -19
  50. package/dts/chart/line/Line.d.ts.map +1 -1
  51. package/dts/chart/line/LineChart.d.ts +26 -9
  52. package/dts/chart/line/LineChart.d.ts.map +1 -1
  53. package/dts/chart/line/ReferenceLine.d.ts +1 -0
  54. package/dts/chart/line/ReferenceLine.d.ts.map +1 -1
  55. package/dts/chart/line/SolidLine.d.ts.map +1 -1
  56. package/dts/chart/point/Point.d.ts +26 -2
  57. package/dts/chart/point/Point.d.ts.map +1 -1
  58. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts +32 -2
  59. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -1
  60. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts +2 -1
  61. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts.map +1 -1
  62. package/dts/chart/scrubber/Scrubber.d.ts +86 -17
  63. package/dts/chart/scrubber/Scrubber.d.ts.map +1 -1
  64. package/dts/chart/scrubber/ScrubberAccessibilityView.d.ts +12 -0
  65. package/dts/chart/scrubber/ScrubberAccessibilityView.d.ts.map +1 -0
  66. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts +10 -0
  67. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -1
  68. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +16 -1
  69. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -1
  70. package/dts/chart/scrubber/ScrubberProvider.d.ts.map +1 -1
  71. package/dts/chart/utils/axis.d.ts +45 -10
  72. package/dts/chart/utils/axis.d.ts.map +1 -1
  73. package/dts/chart/utils/bar.d.ts +190 -0
  74. package/dts/chart/utils/bar.d.ts.map +1 -1
  75. package/dts/chart/utils/chart.d.ts +32 -0
  76. package/dts/chart/utils/chart.d.ts.map +1 -1
  77. package/dts/chart/utils/context.d.ts +21 -6
  78. package/dts/chart/utils/context.d.ts.map +1 -1
  79. package/dts/chart/utils/gradient.d.ts +3 -1
  80. package/dts/chart/utils/gradient.d.ts.map +1 -1
  81. package/dts/chart/utils/path.d.ts +26 -0
  82. package/dts/chart/utils/path.d.ts.map +1 -1
  83. package/dts/chart/utils/point.d.ts +24 -12
  84. package/dts/chart/utils/point.d.ts.map +1 -1
  85. package/dts/chart/utils/scale.d.ts +11 -0
  86. package/dts/chart/utils/scale.d.ts.map +1 -1
  87. package/dts/chart/utils/scrubber.d.ts +2 -1
  88. package/dts/chart/utils/scrubber.d.ts.map +1 -1
  89. package/dts/chart/utils/transition.d.ts +63 -22
  90. package/dts/chart/utils/transition.d.ts.map +1 -1
  91. package/dts/sparkline/Sparkline.d.ts +2 -1
  92. package/dts/sparkline/Sparkline.d.ts.map +1 -1
  93. package/dts/sparkline/SparklineArea.d.ts +2 -1
  94. package/dts/sparkline/SparklineArea.d.ts.map +1 -1
  95. package/dts/sparkline/SparklineGradient.d.ts +2 -1
  96. package/dts/sparkline/SparklineGradient.d.ts.map +1 -1
  97. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts +2 -1
  98. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -1
  99. package/esm/chart/CartesianChart.js +176 -82
  100. package/esm/chart/ChartContextBridge.js +14 -3
  101. package/esm/chart/ChartProvider.js +2 -2
  102. package/esm/chart/Path.js +34 -29
  103. package/esm/chart/PeriodSelector.js +6 -2
  104. package/esm/chart/__stories__/CartesianChart.stories.js +27 -86
  105. package/esm/chart/__stories__/ChartAccessibility.stories.js +721 -0
  106. package/esm/chart/__stories__/ChartTransitions.stories.js +625 -0
  107. package/esm/chart/__stories__/PeriodSelector.stories.js +102 -4
  108. package/esm/chart/area/Area.js +21 -9
  109. package/esm/chart/area/AreaChart.js +18 -13
  110. package/esm/chart/area/DottedArea.js +28 -18
  111. package/esm/chart/area/GradientArea.js +14 -7
  112. package/esm/chart/area/SolidArea.js +6 -2
  113. package/esm/chart/area/__stories__/AreaChart.stories.js +47 -5
  114. package/esm/chart/axis/Axis.js +5 -41
  115. package/esm/chart/axis/XAxis.js +116 -47
  116. package/esm/chart/axis/YAxis.js +105 -26
  117. package/esm/chart/axis/__stories__/Axis.stories.js +324 -48
  118. package/esm/chart/bar/Bar.js +17 -15
  119. package/esm/chart/bar/BarChart.js +38 -33
  120. package/esm/chart/bar/BarPlot.js +40 -45
  121. package/esm/chart/bar/BarStack.js +92 -475
  122. package/esm/chart/bar/BarStackGroup.js +37 -27
  123. package/esm/chart/bar/DefaultBar.js +27 -18
  124. package/esm/chart/bar/DefaultBarStack.js +25 -9
  125. package/esm/chart/bar/__stories__/BarChart.stories.js +728 -54
  126. package/esm/chart/gradient/Gradient.js +2 -1
  127. package/esm/chart/index.js +1 -0
  128. package/esm/chart/legend/DefaultLegendEntry.js +42 -0
  129. package/esm/chart/legend/DefaultLegendShape.js +64 -0
  130. package/esm/chart/legend/Legend.js +59 -0
  131. package/esm/chart/legend/__stories__/Legend.stories.js +574 -0
  132. package/esm/chart/legend/index.js +3 -0
  133. package/esm/chart/line/DottedLine.js +6 -2
  134. package/esm/chart/line/Line.js +42 -38
  135. package/esm/chart/line/LineChart.js +36 -12
  136. package/esm/chart/line/SolidLine.js +6 -2
  137. package/esm/chart/line/__stories__/LineChart.stories.js +241 -594
  138. package/esm/chart/line/__stories__/ReferenceLine.stories.js +95 -1
  139. package/esm/chart/point/Point.js +35 -36
  140. package/esm/chart/scrubber/DefaultScrubberBeacon.js +41 -38
  141. package/esm/chart/scrubber/DefaultScrubberLabel.js +26 -10
  142. package/esm/chart/scrubber/Scrubber.js +67 -35
  143. package/esm/chart/scrubber/ScrubberAccessibilityView.js +177 -0
  144. package/esm/chart/scrubber/ScrubberBeaconGroup.js +30 -22
  145. package/esm/chart/scrubber/ScrubberBeaconLabelGroup.js +35 -8
  146. package/esm/chart/scrubber/ScrubberProvider.js +29 -24
  147. package/esm/chart/scrubber/__stories__/Scrubber.stories.js +946 -0
  148. package/esm/chart/utils/axis.js +88 -44
  149. package/esm/chart/utils/bar.js +820 -0
  150. package/esm/chart/utils/chart.js +34 -7
  151. package/esm/chart/utils/context.js +7 -0
  152. package/esm/chart/utils/gradient.js +8 -4
  153. package/esm/chart/utils/path.js +91 -61
  154. package/esm/chart/utils/point.js +92 -39
  155. package/esm/chart/utils/scale.js +13 -2
  156. package/esm/chart/utils/scrubber.js +12 -5
  157. package/esm/chart/utils/transition.js +108 -60
  158. package/esm/sparkline/Sparkline.js +2 -1
  159. package/esm/sparkline/SparklineArea.js +2 -1
  160. package/esm/sparkline/SparklineGradient.js +2 -1
  161. package/esm/sparkline/__figma__/Sparkline.figma.js +1 -1
  162. package/esm/sparkline/__stories__/Sparkline.stories.js +11 -7
  163. package/esm/sparkline/__stories__/SparklineGradient.stories.js +7 -4
  164. package/esm/sparkline/sparkline-interactive/SparklineInteractive.js +2 -1
  165. package/esm/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.js +1 -1
  166. package/esm/sparkline/sparkline-interactive/__stories__/SparklineInteractive.stories.js +51 -26
  167. package/esm/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.js +1 -1
  168. package/esm/sparkline/sparkline-interactive-header/__stories__/SparklineInteractiveHeader.stories.js +19 -9
  169. package/package.json +13 -10
  170. package/esm/chart/__stories__/Chart.stories.js +0 -77
@@ -6,7 +6,7 @@ import { IconButton } from '@coinbase/cds-mobile/buttons';
6
6
  import { Example, ExampleScreen } from '@coinbase/cds-mobile/examples/ExampleScreen';
7
7
  import { Icon } from '@coinbase/cds-mobile/icons';
8
8
  import { Box, HStack } from '@coinbase/cds-mobile/layout';
9
- import { TextTitle3 } from '@coinbase/cds-mobile/typography/TextTitle3';
9
+ import { Text } from '@coinbase/cds-mobile/typography';
10
10
  import { SparklineInteractive } from '../../sparkline-interactive/SparklineInteractive';
11
11
  import { SparklineInteractiveHeader } from '../SparklineInteractiveHeader';
12
12
  import { useSparklineInteractiveHeaderStyles } from '../useSparklineInteractiveHeaderStyles';
@@ -155,7 +155,8 @@ const HeaderLabel = () => {
155
155
  active: true,
156
156
  name: "wallet",
157
157
  size: "s"
158
- }), /*#__PURE__*/_jsx(TextTitle3, {
158
+ }), /*#__PURE__*/_jsx(Text, {
159
+ font: "title3",
159
160
  children: "CustomHeader"
160
161
  })]
161
162
  });
@@ -452,11 +453,13 @@ const SparklineInteractiveHeaderScreen = () => {
452
453
  gap: 1,
453
454
  children: [/*#__PURE__*/_jsx(IconButton, {
454
455
  active: true,
456
+ accessibilityLabel: "Star",
455
457
  feedback: "heavy",
456
458
  name: "star",
457
459
  onPress: handlePress,
458
460
  variant: "secondary"
459
461
  }), /*#__PURE__*/_jsx(IconButton, {
462
+ accessibilityLabel: "Share",
460
463
  feedback: "heavy",
461
464
  name: "share",
462
465
  onPress: handlePress,
@@ -468,7 +471,8 @@ const SparklineInteractiveHeaderScreen = () => {
468
471
  children: [/*#__PURE__*/_jsx(Example, {
469
472
  padding: 0,
470
473
  children: /*#__PURE__*/_jsxs(Box, {
471
- children: [/*#__PURE__*/_jsx(TextTitle3, {
474
+ children: [/*#__PURE__*/_jsx(Text, {
475
+ font: "title3",
472
476
  paddingX: 3,
473
477
  paddingY: 3,
474
478
  children: "SparklineInteractive Header Example"
@@ -480,7 +484,8 @@ const SparklineInteractiveHeaderScreen = () => {
480
484
  }), /*#__PURE__*/_jsx(Example, {
481
485
  padding: 0,
482
486
  children: /*#__PURE__*/_jsxs(Box, {
483
- children: [/*#__PURE__*/_jsx(TextTitle3, {
487
+ children: [/*#__PURE__*/_jsx(Text, {
488
+ font: "title3",
484
489
  paddingX: 3,
485
490
  paddingY: 3,
486
491
  children: "SparklineInteractive Header Trailing"
@@ -493,7 +498,8 @@ const SparklineInteractiveHeaderScreen = () => {
493
498
  }), /*#__PURE__*/_jsx(Example, {
494
499
  padding: 0,
495
500
  children: /*#__PURE__*/_jsxs(Box, {
496
- children: [/*#__PURE__*/_jsx(TextTitle3, {
501
+ children: [/*#__PURE__*/_jsx(Text, {
502
+ font: "title3",
497
503
  paddingX: 3,
498
504
  paddingY: 3,
499
505
  children: "SparklineInteractive Header Custom Label"
@@ -506,7 +512,8 @@ const SparklineInteractiveHeaderScreen = () => {
506
512
  }), /*#__PURE__*/_jsx(Example, {
507
513
  padding: 0,
508
514
  children: /*#__PURE__*/_jsxs(Box, {
509
- children: [/*#__PURE__*/_jsx(TextTitle3, {
515
+ children: [/*#__PURE__*/_jsx(Text, {
516
+ font: "title3",
510
517
  paddingX: 3,
511
518
  paddingY: 3,
512
519
  children: "SparklineInteractive Header Example with AltHeader"
@@ -518,7 +525,8 @@ const SparklineInteractiveHeaderScreen = () => {
518
525
  }), /*#__PURE__*/_jsx(Example, {
519
526
  padding: 0,
520
527
  children: /*#__PURE__*/_jsxs(Box, {
521
- children: [/*#__PURE__*/_jsx(TextTitle3, {
528
+ children: [/*#__PURE__*/_jsx(Text, {
529
+ font: "title3",
522
530
  paddingX: 3,
523
531
  paddingY: 3,
524
532
  children: "SparklineInteractive Header Example with Smaller Period Set"
@@ -530,7 +538,8 @@ const SparklineInteractiveHeaderScreen = () => {
530
538
  }), /*#__PURE__*/_jsx(Example, {
531
539
  padding: 0,
532
540
  children: /*#__PURE__*/_jsxs(Box, {
533
- children: [/*#__PURE__*/_jsx(TextTitle3, {
541
+ children: [/*#__PURE__*/_jsx(Text, {
542
+ font: "title3",
534
543
  paddingX: 3,
535
544
  paddingY: 3,
536
545
  children: "SparklineInteractive Header Example with No Period Set"
@@ -543,7 +552,8 @@ const SparklineInteractiveHeaderScreen = () => {
543
552
  }), /*#__PURE__*/_jsx(Example, {
544
553
  padding: 0,
545
554
  children: /*#__PURE__*/_jsxs(Box, {
546
- children: [/*#__PURE__*/_jsx(TextTitle3, {
555
+ children: [/*#__PURE__*/_jsx(Text, {
556
+ font: "title3",
547
557
  paddingX: 3,
548
558
  paddingY: 3,
549
559
  children: "SparklineInteractive Header Custom Title"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-mobile-visualization",
3
- "version": "3.4.0-beta.8",
3
+ "version": "3.4.0",
4
4
  "description": "Coinbase Design System - Mobile Visualization Native",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,6 +16,10 @@
16
16
  "types": "./dts/index.d.ts",
17
17
  "default": "./esm/index.js"
18
18
  },
19
+ "./chart": {
20
+ "types": "./dts/chart/index.d.ts",
21
+ "default": "./esm/chart/index.js"
22
+ },
19
23
  "./sparkline": {
20
24
  "types": "./dts/sparkline/index.d.ts",
21
25
  "default": "./esm/sparkline/index.js"
@@ -32,10 +36,10 @@
32
36
  "CHANGELOG"
33
37
  ],
34
38
  "peerDependencies": {
35
- "@coinbase/cds-common": "^8.27.2",
36
- "@coinbase/cds-lottie-files": "^3.3.3",
37
- "@coinbase/cds-mobile": "^8.27.2",
38
- "@coinbase/cds-utils": "^2.3.4",
39
+ "@coinbase/cds-common": "^8.62.1",
40
+ "@coinbase/cds-lottie-files": "^3.3.4",
41
+ "@coinbase/cds-mobile": "^8.62.1",
42
+ "@coinbase/cds-utils": "^2.3.5",
39
43
  "@shopify/react-native-skia": "^1.12.4 || ^2.0.0",
40
44
  "react": "^18.3.1",
41
45
  "react-native": "^0.74.5",
@@ -53,11 +57,10 @@
53
57
  "@babel/preset-env": "^7.28.0",
54
58
  "@babel/preset-react": "^7.27.1",
55
59
  "@babel/preset-typescript": "^7.27.1",
56
- "@coinbase/cds-common": "^8.27.2",
57
- "@coinbase/cds-lottie-files": "^3.3.3",
58
- "@coinbase/cds-mobile": "^8.27.2",
59
- "@coinbase/cds-utils": "^2.3.4",
60
- "@figma/code-connect": "^1.3.4",
60
+ "@coinbase/cds-common": "^8.62.1",
61
+ "@coinbase/cds-lottie-files": "^3.3.4",
62
+ "@coinbase/cds-mobile": "^8.62.1",
63
+ "@coinbase/cds-utils": "^2.3.5",
61
64
  "@shopify/react-native-skia": "1.12.4",
62
65
  "@types/react": "^18.3.12",
63
66
  "react-native-gesture-handler": "2.16.2",
@@ -1,77 +0,0 @@
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 { Example, ExampleScreen } from '@coinbase/cds-mobile/examples/ExampleScreen';
3
- import { CartesianChart, DottedArea, Line, LineChart, SolidLine } from '../';
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- const defaultChartHeight = 250;
6
- const BasicLineChart = () => {
7
- const chartData = [65, 78, 45, 88, 92, 73, 69];
8
- return /*#__PURE__*/_jsx(LineChart, {
9
- showYAxis: true,
10
- height: defaultChartHeight,
11
- series: [{
12
- id: 'monthly-growth',
13
- data: chartData,
14
- label: 'Monthly Growth',
15
- color: '#2ca02c'
16
- }],
17
- yAxis: {
18
- requestedTickCount: 2,
19
- tickLabelFormatter: value => "$" + value,
20
- showGrid: true
21
- }
22
- });
23
- };
24
- const LineStyles = () => {
25
- const topChartData = [15, 28, 32, 44, 46, 36, 40, 45, 48, 38];
26
- const upperMiddleChartData = [12, 23, 21, 29, 34, 28, 31, 38, 42, 35];
27
- const lowerMiddleChartData = [8, 15, 14, 25, 20, 18, 22, 28, 24, 30];
28
- const bottomChartData = [4, 8, 11, 15, 16, 14, 16, 10, 12, 14];
29
- return /*#__PURE__*/_jsxs(CartesianChart, {
30
- height: defaultChartHeight,
31
- series: [{
32
- id: 'top',
33
- data: topChartData
34
- }, {
35
- id: 'upperMiddle',
36
- data: upperMiddleChartData,
37
- color: '#ef4444'
38
- }, {
39
- id: 'lowerMiddle',
40
- data: lowerMiddleChartData,
41
- color: '#f59e0b'
42
- }, {
43
- id: 'bottom',
44
- data: bottomChartData,
45
- color: '#800080'
46
- }],
47
- children: [/*#__PURE__*/_jsx(Line, {
48
- seriesId: "top"
49
- }), /*#__PURE__*/_jsx(Line, {
50
- seriesId: "upperMiddle",
51
- type: "dotted"
52
- }), /*#__PURE__*/_jsx(Line, {
53
- LineComponent: props => /*#__PURE__*/_jsx(SolidLine, _extends({}, props, {
54
- strokeWidth: 4
55
- })),
56
- curve: "natural",
57
- seriesId: "lowerMiddle"
58
- }), /*#__PURE__*/_jsx(Line, {
59
- showArea: true,
60
- AreaComponent: DottedArea,
61
- curve: "step",
62
- seriesId: "bottom"
63
- })]
64
- });
65
- };
66
- const ChartStories = () => {
67
- return /*#__PURE__*/_jsxs(ExampleScreen, {
68
- children: [/*#__PURE__*/_jsx(Example, {
69
- title: "Basic Line Chart",
70
- children: /*#__PURE__*/_jsx(BasicLineChart, {})
71
- }), /*#__PURE__*/_jsx(Example, {
72
- title: "Line Styles",
73
- children: /*#__PURE__*/_jsx(LineStyles, {})
74
- })]
75
- });
76
- };
77
- export default ChartStories;