@coinbase/cds-mobile-visualization 3.4.0-beta.23 → 3.4.0-beta.25

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 (58) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dts/chart/CartesianChart.d.ts +19 -0
  3. package/dts/chart/CartesianChart.d.ts.map +1 -1
  4. package/dts/chart/Path.d.ts +2 -1
  5. package/dts/chart/Path.d.ts.map +1 -1
  6. package/dts/chart/bar/Bar.d.ts +18 -54
  7. package/dts/chart/bar/Bar.d.ts.map +1 -1
  8. package/dts/chart/bar/BarChart.d.ts +2 -2
  9. package/dts/chart/bar/BarPlot.d.ts.map +1 -1
  10. package/dts/chart/bar/BarStack.d.ts +4 -4
  11. package/dts/chart/bar/BarStack.d.ts.map +1 -1
  12. package/dts/chart/bar/DefaultBar.d.ts.map +1 -1
  13. package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -1
  14. package/dts/chart/line/LineChart.d.ts +17 -3
  15. package/dts/chart/line/LineChart.d.ts.map +1 -1
  16. package/dts/chart/point/Point.d.ts +2 -1
  17. package/dts/chart/point/Point.d.ts.map +1 -1
  18. package/dts/chart/scrubber/Scrubber.d.ts +4 -2
  19. package/dts/chart/scrubber/Scrubber.d.ts.map +1 -1
  20. package/dts/chart/scrubber/ScrubberAccessibilityView.d.ts +12 -0
  21. package/dts/chart/scrubber/ScrubberAccessibilityView.d.ts.map +1 -0
  22. package/dts/chart/utils/bar.d.ts +155 -0
  23. package/dts/chart/utils/bar.d.ts.map +1 -1
  24. package/dts/chart/utils/chart.d.ts +2 -1
  25. package/dts/chart/utils/chart.d.ts.map +1 -1
  26. package/dts/chart/utils/path.d.ts.map +1 -1
  27. package/dts/sparkline/Sparkline.d.ts +2 -1
  28. package/dts/sparkline/Sparkline.d.ts.map +1 -1
  29. package/dts/sparkline/SparklineArea.d.ts +2 -1
  30. package/dts/sparkline/SparklineArea.d.ts.map +1 -1
  31. package/dts/sparkline/SparklineGradient.d.ts +2 -1
  32. package/dts/sparkline/SparklineGradient.d.ts.map +1 -1
  33. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts +2 -1
  34. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -1
  35. package/esm/chart/CartesianChart.js +39 -14
  36. package/esm/chart/__stories__/CartesianChart.stories.js +10 -0
  37. package/esm/chart/__stories__/ChartAccessibility.stories.js +721 -0
  38. package/esm/chart/area/__stories__/AreaChart.stories.js +17 -3
  39. package/esm/chart/axis/__stories__/Axis.stories.js +65 -48
  40. package/esm/chart/bar/Bar.js +8 -14
  41. package/esm/chart/bar/BarChart.js +7 -7
  42. package/esm/chart/bar/BarPlot.js +37 -46
  43. package/esm/chart/bar/BarStack.js +71 -604
  44. package/esm/chart/bar/DefaultBar.js +11 -18
  45. package/esm/chart/bar/DefaultBarStack.js +12 -21
  46. package/esm/chart/bar/__stories__/BarChart.stories.js +110 -6
  47. package/esm/chart/line/LineChart.js +22 -1
  48. package/esm/chart/line/__stories__/LineChart.stories.js +84 -46
  49. package/esm/chart/scrubber/ScrubberAccessibilityView.js +177 -0
  50. package/esm/chart/scrubber/__stories__/Scrubber.stories.js +57 -5
  51. package/esm/chart/utils/bar.js +775 -0
  52. package/esm/chart/utils/chart.js +2 -1
  53. package/esm/chart/utils/path.js +5 -12
  54. package/esm/sparkline/Sparkline.js +2 -1
  55. package/esm/sparkline/SparklineArea.js +2 -1
  56. package/esm/sparkline/SparklineGradient.js +2 -1
  57. package/esm/sparkline/sparkline-interactive/SparklineInteractive.js +2 -1
  58. package/package.json +5 -5
@@ -35,7 +35,8 @@ export type SparklineBaseProps = SharedProps & {
35
35
  };
36
36
  export type SparklineProps = SparklineBaseProps;
37
37
  /**
38
- * @deprecated Use LineChart instead.
38
+ * @deprecated Use LineChart instead. This will be removed in a future major release.
39
+ * @deprecationExpectedRemoval v4
39
40
  */
40
41
  export declare const Sparkline: React.MemoExoticComponent<
41
42
  React.ForwardRefExoticComponent<
@@ -1 +1 @@
1
- {"version":3,"file":"Sparkline.d.ts","sourceRoot":"","sources":["../../src/sparkline/Sparkline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAAiC,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AAGxF,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQ/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAG9D,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC7C,iPAAiP;IACjP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oQAAoQ;IACpQ,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,kWAAkW;IAClW,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACnD,oOAAoO;IACpO,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,SAAS;IAlCpB,iPAAiP;iBACpO,MAAM;IACnB,oQAAoQ;WAC7P,MAAM;IACb,8BAA8B;YACtB,MAAM;IACd,kWAAkW;WAC3V,MAAM;IACb,6BAA6B;WACtB,MAAM;IACb,0EAA0E;eAC/D,eAAe,CAAC,sBAAsB,CAAC;IAClD,oOAAoO;yBAC/M,MAAM;IAC3B;;;;;;OAMG;iBACU,mBAAmB;IAChC;;;OAGG;eACQ,iBAAiB;sCAiK7B,CAAC"}
1
+ {"version":3,"file":"Sparkline.d.ts","sourceRoot":"","sources":["../../src/sparkline/Sparkline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAAiC,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AAGxF,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQ/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAG9D,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC7C,iPAAiP;IACjP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oQAAoQ;IACpQ,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,kWAAkW;IAClW,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACnD,oOAAoO;IACpO,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,SAAS;IAnCpB,iPAAiP;iBACpO,MAAM;IACnB,oQAAoQ;WAC7P,MAAM;IACb,8BAA8B;YACtB,MAAM;IACd,kWAAkW;WAC3V,MAAM;IACb,6BAA6B;WACtB,MAAM;IACb,0EAA0E;eAC/D,eAAe,CAAC,sBAAsB,CAAC;IAClD,oOAAoO;yBAC/M,MAAM;IAC3B;;;;;;OAMG;iBACU,mBAAmB;IAChC;;;OAGG;eACQ,iBAAiB;sCAkK7B,CAAC"}
@@ -6,7 +6,8 @@ export type SparklineAreaBaseProps = {
6
6
  maskId?: string;
7
7
  };
8
8
  /**
9
- * @deprecated Use AreaChart instead.
9
+ * @deprecated Use AreaChart instead. This will be removed in a future major release.
10
+ * @deprecationExpectedRemoval v4
10
11
  */
11
12
  export declare const SparklineArea: React.MemoExoticComponent<
12
13
  React.ForwardRefExoticComponent<SparklineAreaBaseProps & React.RefAttributes<Path | null>>
@@ -1 +1 @@
1
- {"version":3,"file":"SparklineArea.d.ts","sourceRoot":"","sources":["../../src/sparkline/SparklineArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,uHAazB,CAAC"}
1
+ {"version":3,"file":"SparklineArea.d.ts","sourceRoot":"","sources":["../../src/sparkline/SparklineArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,uHAazB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Path } from 'react-native-svg';
3
3
  /**
4
- * @deprecated Use LineChart instead.
4
+ * @deprecated Use LineChart instead. This will be removed in a future major release.
5
+ * @deprecationExpectedRemoval v4
5
6
  */
6
7
  export declare const SparklineGradient: React.MemoExoticComponent<
7
8
  React.ForwardRefExoticComponent<
@@ -1 +1 @@
1
- {"version":3,"file":"SparklineGradient.d.ts","sourceRoot":"","sources":["../../src/sparkline/SparklineGradient.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAA2B,IAAI,EAAa,MAAM,kBAAkB,CAAC;AAY5E;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;sCAqD7B,CAAC"}
1
+ {"version":3,"file":"SparklineGradient.d.ts","sourceRoot":"","sources":["../../src/sparkline/SparklineGradient.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAA2B,IAAI,EAAa,MAAM,kBAAkB,CAAC;AAY5E;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;sCAqD7B,CAAC"}
@@ -178,7 +178,8 @@ declare function SparklineInteractiveWithGeneric<Period extends string>({
178
178
  ...props
179
179
  }: SparklineInteractiveProps<Period>): import('react/jsx-runtime').JSX.Element;
180
180
  /**
181
- * @deprecated Use LineChart instead.
181
+ * @deprecated Use LineChart instead. This will be removed in a future major release.
182
+ * @deprecationExpectedRemoval v4
182
183
  */
183
184
  export declare const SparklineInteractive: typeof SparklineInteractiveWithGeneric;
184
185
  //# sourceMappingURL=SparklineInteractive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SparklineInteractive.d.ts","sourceRoot":"","sources":["../../../src/sparkline/sparkline-interactive/SparklineInteractive.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SparklineInteractive.d.ts","sourceRoot":"","sources":["../../../src/sparkline/sparkline-interactive/SparklineInteractive.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- const _excluded = ["series", "children", "layout", "animate", "enableScrubbing", "xAxis", "yAxis", "inset", "onScrubberPositionChange", "legend", "legendPosition", "legendAccessibilityLabel", "width", "height", "style", "styles", "allowOverflowGestures", "fontFamilies", "fontProvider", "collapsable"];
1
+ const _excluded = ["series", "children", "layout", "animate", "enableScrubbing", "getScrubberAccessibilityLabel", "scrubberAccessibilityLabelStep", "xAxis", "yAxis", "inset", "onScrubberPositionChange", "legend", "legendPosition", "legendAccessibilityLabel", "width", "height", "style", "styles", "allowOverflowGestures", "fontFamilies", "fontProvider", "collapsable", "accessible", "accessibilityLabel", "accessibilityLiveRegion"];
2
2
  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); }
3
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
4
  import React, { forwardRef, memo, useCallback, useMemo } from 'react';
5
5
  import { useLayout } from '@coinbase/cds-mobile/hooks/useLayout';
6
6
  import { Box } from '@coinbase/cds-mobile/layout';
7
7
  import { Canvas, Skia } from '@shopify/react-native-skia';
8
+ import { ScrubberAccessibilityView } from './scrubber/ScrubberAccessibilityView';
8
9
  import { ScrubberProvider } from './scrubber/ScrubberProvider';
9
10
  import { convertToSerializableScale } from './utils/scale';
10
11
  import { useChartContextBridge } from './ChartContextBridge';
@@ -15,10 +16,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
16
  const ChartCanvas = /*#__PURE__*/memo(_ref => {
16
17
  let {
17
18
  children,
18
- style
19
+ style,
20
+ accessible = true,
21
+ accessibilityLabel,
22
+ accessibilityLiveRegion = 'polite'
19
23
  } = _ref;
20
24
  const ContextBridge = useChartContextBridge();
25
+ const isAccessible = accessible && accessibilityLabel !== null;
21
26
  return /*#__PURE__*/_jsx(Canvas, {
27
+ accessibilityLabel: isAccessible ? accessibilityLabel : undefined,
28
+ accessibilityLiveRegion: isAccessible ? accessibilityLiveRegion : undefined,
29
+ accessible: isAccessible,
22
30
  style: [{
23
31
  width: '100%',
24
32
  height: '100%'
@@ -35,6 +43,8 @@ export const CartesianChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2,
35
43
  layout = 'vertical',
36
44
  animate = true,
37
45
  enableScrubbing,
46
+ getScrubberAccessibilityLabel,
47
+ scrubberAccessibilityLabelStep,
38
48
  xAxis: xAxisConfigProp,
39
49
  yAxis: yAxisConfigProp,
40
50
  inset,
@@ -52,7 +62,10 @@ export const CartesianChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2,
52
62
  // React Native will collapse views by default when only used
53
63
  // to group children, which interferes with gesture-handler
54
64
  // https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/gesture-detector/#:~:text=%7B%0A%20%20return%20%3C-,View,-collapsable%3D%7B
55
- collapsable = false
65
+ collapsable = false,
66
+ accessible = true,
67
+ accessibilityLabel,
68
+ accessibilityLiveRegion = 'polite'
56
69
  } = _ref2,
57
70
  props = _objectWithoutPropertiesLoose(_ref2, _excluded);
58
71
  const [containerLayout, onContainerLayout] = useLayout();
@@ -366,8 +379,6 @@ export const CartesianChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2,
366
379
  }, [legend, legendAccessibilityLabel, legendPosition]);
367
380
  const rootBoxProps = useMemo(() => _extends({
368
381
  ref,
369
- accessibilityLiveRegion: 'polite',
370
- accessibilityRole: 'image',
371
382
  height,
372
383
  style: rootStyles,
373
384
  width
@@ -378,26 +389,40 @@ export const CartesianChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref2,
378
389
  allowOverflowGestures: allowOverflowGestures,
379
390
  enableScrubbing: enableScrubbing,
380
391
  onScrubberPositionChange: onScrubberPositionChange,
381
- children: legend ? /*#__PURE__*/_jsxs(Box, _extends({}, rootBoxProps, {
382
- flexDirection: legendPosition === 'top' || legendPosition === 'bottom' ? 'column' : 'row',
383
- children: [(legendPosition === 'top' || legendPosition === 'left') && legendElement, /*#__PURE__*/_jsx(Box, {
392
+ children: legend ? /*#__PURE__*/_jsxs(Box, _extends({
393
+ flexDirection: legendPosition === 'top' || legendPosition === 'bottom' ? 'column' : 'row'
394
+ }, rootBoxProps, {
395
+ children: [(legendPosition === 'top' || legendPosition === 'left') && legendElement, /*#__PURE__*/_jsxs(Box, {
384
396
  collapsable: collapsable,
385
397
  onLayout: onContainerLayout,
386
398
  style: {
387
399
  flex: 1
388
400
  },
389
- children: /*#__PURE__*/_jsx(ChartCanvas, {
401
+ children: [/*#__PURE__*/_jsx(ChartCanvas, {
402
+ accessibilityLabel: accessibilityLabel,
403
+ accessibilityLiveRegion: accessibilityLiveRegion,
404
+ accessible: accessible,
390
405
  style: styles == null ? void 0 : styles.chart,
391
406
  children: children
392
- })
407
+ }), /*#__PURE__*/_jsx(ScrubberAccessibilityView, {
408
+ accessibilityLabel: getScrubberAccessibilityLabel,
409
+ accessibilityStep: scrubberAccessibilityLabelStep
410
+ })]
393
411
  }), (legendPosition === 'bottom' || legendPosition === 'right') && legendElement]
394
- })) : /*#__PURE__*/_jsx(Box, _extends({}, rootBoxProps, {
412
+ })) : /*#__PURE__*/_jsxs(Box, _extends({
395
413
  collapsable: collapsable,
396
- onLayout: onContainerLayout,
397
- children: /*#__PURE__*/_jsx(ChartCanvas, {
414
+ onLayout: onContainerLayout
415
+ }, rootBoxProps, {
416
+ children: [/*#__PURE__*/_jsx(ChartCanvas, {
417
+ accessibilityLabel: accessibilityLabel,
418
+ accessibilityLiveRegion: accessibilityLiveRegion,
419
+ accessible: accessible,
398
420
  style: styles == null ? void 0 : styles.chart,
399
421
  children: children
400
- })
422
+ }), /*#__PURE__*/_jsx(ScrubberAccessibilityView, {
423
+ accessibilityLabel: getScrubberAccessibilityLabel,
424
+ accessibilityStep: scrubberAccessibilityLabelStep
425
+ })]
401
426
  }))
402
427
  })
403
428
  });
@@ -250,11 +250,21 @@ const PriceWithVolumeChart = /*#__PURE__*/memo(_ref3 => {
250
250
  day: 'numeric'
251
251
  });
252
252
  }, []);
253
+ const formatVolume = useCallback(volume => {
254
+ return (volume / 1000).toFixed(2) + "K";
255
+ }, []);
253
256
  const scrubberLabel = useCallback(dataIndex => {
254
257
  return formatDate(btcDates[dataIndex]);
255
258
  }, [formatDate]);
259
+ const chartAccessibilityLabel = useMemo(() => {
260
+ const lastIndex = btcPrices.length - 1;
261
+ return "Bitcoin chart. Current date " + formatDate(btcDates[lastIndex]) + ". Current price " + formatPriceInThousands(btcPrices[lastIndex]) + ". Current volume " + formatVolume(btcVolumes[lastIndex]) + ".";
262
+ }, [formatDate, formatPriceInThousands, formatVolume]);
263
+ const getScrubberAccessibilityLabel = useCallback(dataIndex => "Bitcoin on " + formatDate(btcDates[dataIndex]) + ". Price " + formatPriceInThousands(btcPrices[dataIndex]) + ". Volume " + formatVolume(btcVolumes[dataIndex]) + ".", [formatDate, formatPriceInThousands, formatVolume]);
256
264
  return /*#__PURE__*/_jsxs(CartesianChart, {
257
265
  enableScrubbing: true,
266
+ accessibilityLabel: chartAccessibilityLabel,
267
+ getScrubberAccessibilityLabel: getScrubberAccessibilityLabel,
258
268
  height: defaultChartHeight,
259
269
  onScrubberPositionChange: onScrubberPositionChange,
260
270
  series: [{