@coinbase/cds-web-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 (156) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/dts/chart/CartesianChart.d.ts +40 -4
  3. package/dts/chart/CartesianChart.d.ts.map +1 -1
  4. package/dts/chart/ChartProvider.d.ts +3 -0
  5. package/dts/chart/ChartProvider.d.ts.map +1 -1
  6. package/dts/chart/Path.d.ts +51 -12
  7. package/dts/chart/Path.d.ts.map +1 -1
  8. package/dts/chart/PeriodSelector.d.ts +25 -4
  9. package/dts/chart/PeriodSelector.d.ts.map +1 -1
  10. package/dts/chart/area/Area.d.ts +13 -11
  11. package/dts/chart/area/Area.d.ts.map +1 -1
  12. package/dts/chart/area/AreaChart.d.ts +18 -5
  13. package/dts/chart/area/AreaChart.d.ts.map +1 -1
  14. package/dts/chart/area/DottedArea.d.ts.map +1 -1
  15. package/dts/chart/area/GradientArea.d.ts.map +1 -1
  16. package/dts/chart/area/SolidArea.d.ts.map +1 -1
  17. package/dts/chart/axis/Axis.d.ts +29 -29
  18. package/dts/chart/axis/Axis.d.ts.map +1 -1
  19. package/dts/chart/axis/XAxis.d.ts +6 -0
  20. package/dts/chart/axis/XAxis.d.ts.map +1 -1
  21. package/dts/chart/axis/YAxis.d.ts +2 -1
  22. package/dts/chart/axis/YAxis.d.ts.map +1 -1
  23. package/dts/chart/bar/Bar.d.ts +51 -51
  24. package/dts/chart/bar/Bar.d.ts.map +1 -1
  25. package/dts/chart/bar/BarChart.d.ts +29 -6
  26. package/dts/chart/bar/BarChart.d.ts.map +1 -1
  27. package/dts/chart/bar/BarPlot.d.ts +2 -1
  28. package/dts/chart/bar/BarPlot.d.ts.map +1 -1
  29. package/dts/chart/bar/BarStack.d.ts +58 -20
  30. package/dts/chart/bar/BarStack.d.ts.map +1 -1
  31. package/dts/chart/bar/BarStackGroup.d.ts +2 -1
  32. package/dts/chart/bar/BarStackGroup.d.ts.map +1 -1
  33. package/dts/chart/bar/DefaultBar.d.ts.map +1 -1
  34. package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -1
  35. package/dts/chart/gradient/Gradient.d.ts +7 -0
  36. package/dts/chart/gradient/Gradient.d.ts.map +1 -1
  37. package/dts/chart/index.d.ts +1 -0
  38. package/dts/chart/index.d.ts.map +1 -1
  39. package/dts/chart/legend/DefaultLegendEntry.d.ts +21 -0
  40. package/dts/chart/legend/DefaultLegendEntry.d.ts.map +1 -0
  41. package/dts/chart/legend/DefaultLegendShape.d.ts +7 -0
  42. package/dts/chart/legend/DefaultLegendShape.d.ts.map +1 -0
  43. package/dts/chart/legend/Legend.d.ts +169 -0
  44. package/dts/chart/legend/Legend.d.ts.map +1 -0
  45. package/dts/chart/legend/index.d.ts +4 -0
  46. package/dts/chart/legend/index.d.ts.map +1 -0
  47. package/dts/chart/line/DottedLine.d.ts.map +1 -1
  48. package/dts/chart/line/Line.d.ts +45 -24
  49. package/dts/chart/line/Line.d.ts.map +1 -1
  50. package/dts/chart/line/LineChart.d.ts +5 -3
  51. package/dts/chart/line/LineChart.d.ts.map +1 -1
  52. package/dts/chart/line/ReferenceLine.d.ts +9 -0
  53. package/dts/chart/line/ReferenceLine.d.ts.map +1 -1
  54. package/dts/chart/line/SolidLine.d.ts.map +1 -1
  55. package/dts/chart/point/Point.d.ts +26 -2
  56. package/dts/chart/point/Point.d.ts.map +1 -1
  57. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts +34 -17
  58. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -1
  59. package/dts/chart/scrubber/DefaultScrubberBeaconLabel.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 +148 -46
  63. package/dts/chart/scrubber/Scrubber.d.ts.map +1 -1
  64. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts +10 -0
  65. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -1
  66. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +25 -1
  67. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -1
  68. package/dts/chart/scrubber/ScrubberProvider.d.ts.map +1 -1
  69. package/dts/chart/text/ChartText.d.ts.map +1 -1
  70. package/dts/chart/utils/axis.d.ts +48 -9
  71. package/dts/chart/utils/axis.d.ts.map +1 -1
  72. package/dts/chart/utils/bar.d.ts +188 -0
  73. package/dts/chart/utils/bar.d.ts.map +1 -1
  74. package/dts/chart/utils/chart.d.ts +32 -0
  75. package/dts/chart/utils/chart.d.ts.map +1 -1
  76. package/dts/chart/utils/context.d.ts +20 -4
  77. package/dts/chart/utils/context.d.ts.map +1 -1
  78. package/dts/chart/utils/gradient.d.ts +3 -1
  79. package/dts/chart/utils/gradient.d.ts.map +1 -1
  80. package/dts/chart/utils/path.d.ts +26 -0
  81. package/dts/chart/utils/path.d.ts.map +1 -1
  82. package/dts/chart/utils/point.d.ts +18 -7
  83. package/dts/chart/utils/point.d.ts.map +1 -1
  84. package/dts/chart/utils/scale.d.ts +11 -0
  85. package/dts/chart/utils/scale.d.ts.map +1 -1
  86. package/dts/chart/utils/scrubber.d.ts +2 -1
  87. package/dts/chart/utils/scrubber.d.ts.map +1 -1
  88. package/dts/chart/utils/transition.d.ts +50 -14
  89. package/dts/chart/utils/transition.d.ts.map +1 -1
  90. package/dts/sparkline/Sparkline.d.ts +2 -1
  91. package/dts/sparkline/Sparkline.d.ts.map +1 -1
  92. package/dts/sparkline/SparklineArea.d.ts +2 -1
  93. package/dts/sparkline/SparklineArea.d.ts.map +1 -1
  94. package/dts/sparkline/SparklineGradient.d.ts +2 -1
  95. package/dts/sparkline/SparklineGradient.d.ts.map +1 -1
  96. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts +2 -1
  97. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -1
  98. package/esm/chart/CartesianChart.js +154 -90
  99. package/esm/chart/ChartProvider.js +2 -2
  100. package/esm/chart/Path.js +35 -19
  101. package/esm/chart/PeriodSelector.js +33 -15
  102. package/esm/chart/area/Area.js +21 -9
  103. package/esm/chart/area/AreaChart.js +28 -25
  104. package/esm/chart/area/DottedArea.js +18 -9
  105. package/esm/chart/area/GradientArea.js +16 -8
  106. package/esm/chart/area/SolidArea.js +8 -3
  107. package/esm/chart/axis/Axis.js +3 -17
  108. package/esm/chart/axis/XAxis.js +153 -50
  109. package/esm/chart/axis/YAxis.js +146 -36
  110. package/esm/chart/bar/Bar.js +16 -8
  111. package/esm/chart/bar/BarChart.js +38 -33
  112. package/esm/chart/bar/BarPlot.js +20 -25
  113. package/esm/chart/bar/BarStack.js +109 -505
  114. package/esm/chart/bar/BarStackGroup.js +36 -27
  115. package/esm/chart/bar/DefaultBar.js +34 -26
  116. package/esm/chart/bar/DefaultBarStack.js +31 -18
  117. package/esm/chart/gradient/Gradient.js +3 -2
  118. package/esm/chart/index.js +1 -0
  119. package/esm/chart/legend/DefaultLegendEntry.css +1 -0
  120. package/esm/chart/legend/DefaultLegendEntry.js +50 -0
  121. package/esm/chart/legend/DefaultLegendShape.css +5 -0
  122. package/esm/chart/legend/DefaultLegendShape.js +47 -0
  123. package/esm/chart/legend/Legend.js +76 -0
  124. package/esm/chart/legend/index.js +3 -0
  125. package/esm/chart/line/DottedLine.js +7 -2
  126. package/esm/chart/line/Line.js +41 -42
  127. package/esm/chart/line/LineChart.js +18 -13
  128. package/esm/chart/line/ReferenceLine.js +6 -2
  129. package/esm/chart/line/SolidLine.js +8 -3
  130. package/esm/chart/point/Point.js +41 -24
  131. package/esm/chart/scrubber/DefaultScrubberBeacon.js +64 -65
  132. package/esm/chart/scrubber/DefaultScrubberBeaconLabel.js +25 -14
  133. package/esm/chart/scrubber/DefaultScrubberLabel.js +26 -8
  134. package/esm/chart/scrubber/Scrubber.js +54 -43
  135. package/esm/chart/scrubber/ScrubberBeaconGroup.js +60 -35
  136. package/esm/chart/scrubber/ScrubberBeaconLabelGroup.js +31 -8
  137. package/esm/chart/scrubber/ScrubberProvider.js +44 -39
  138. package/esm/chart/text/ChartText.js +3 -2
  139. package/esm/chart/utils/axis.js +90 -43
  140. package/esm/chart/utils/bar.js +863 -0
  141. package/esm/chart/utils/chart.js +34 -7
  142. package/esm/chart/utils/context.js +7 -0
  143. package/esm/chart/utils/gradient.js +6 -4
  144. package/esm/chart/utils/path.js +88 -61
  145. package/esm/chart/utils/point.js +57 -30
  146. package/esm/chart/utils/scale.js +13 -2
  147. package/esm/chart/utils/scrubber.js +9 -4
  148. package/esm/chart/utils/transition.js +68 -41
  149. package/esm/sparkline/Sparkline.js +2 -1
  150. package/esm/sparkline/SparklineArea.js +2 -1
  151. package/esm/sparkline/SparklineGradient.js +2 -1
  152. package/esm/sparkline/__figma__/Sparkline.figma.js +1 -1
  153. package/esm/sparkline/sparkline-interactive/SparklineInteractive.js +2 -1
  154. package/esm/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.js +1 -1
  155. package/esm/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.js +1 -1
  156. package/package.json +12 -11
@@ -1,5 +1,5 @@
1
- const _excluded = ["series", "stacked", "showXAxis", "showYAxis", "xAxis", "yAxis", "inset", "children", "barPadding", "BarComponent", "fillOpacity", "stroke", "strokeWidth", "borderRadius", "roundBaseline", "BarStackComponent", "stackGap", "barMinSize", "stackMinSize", "transition"],
2
- _excluded2 = ["scaleType", "data", "categoryPadding", "domain", "domainLimit", "range"],
1
+ const _excluded = ["series", "stacked", "showXAxis", "showYAxis", "xAxis", "yAxis", "inset", "children", "barPadding", "BarComponent", "fillOpacity", "stroke", "strokeWidth", "borderRadius", "roundBaseline", "BarStackComponent", "stackGap", "barMinSize", "stackMinSize", "transitions", "transition"],
2
+ _excluded2 = ["scaleType", "data", "categoryPadding", "domain", "domainLimit", "range", "id"],
3
3
  _excluded3 = ["scaleType", "data", "categoryPadding", "domain", "domainLimit", "range", "id"];
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -11,12 +11,12 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
11
11
  import { forwardRef, memo, useMemo } from 'react';
12
12
  import { XAxis, YAxis } from '../axis';
13
13
  import { CartesianChart } from '../CartesianChart';
14
- import { defaultChartInset, defaultStackId, getChartInset } from '../utils';
14
+ import { defaultStackId } from '../utils';
15
15
  import { BarPlot } from './BarPlot';
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  export const BarChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
18
18
  let {
19
- series,
19
+ series: seriesProp,
20
20
  stacked,
21
21
  showXAxis,
22
22
  showYAxis,
@@ -35,24 +35,23 @@ export const BarChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =>
35
35
  stackGap,
36
36
  barMinSize,
37
37
  stackMinSize,
38
+ transitions,
38
39
  transition
39
40
  } = _ref,
40
41
  chartProps = _objectWithoutProperties(_ref, _excluded);
41
- const calculatedInset = useMemo(() => getChartInset(inset, defaultChartInset), [inset]);
42
- const transformedSeries = useMemo(() => {
43
- if (!stacked || !series) return series;
44
- return series.map(s => {
42
+ const series = useMemo(() => {
43
+ if (!stacked || !seriesProp) return seriesProp;
44
+ return seriesProp.map(s => {
45
45
  var _s$stackId;
46
46
  return _objectSpread(_objectSpread({}, s), {}, {
47
47
  stackId: (_s$stackId = s.stackId) !== null && _s$stackId !== void 0 ? _s$stackId : defaultStackId
48
48
  });
49
49
  });
50
- }, [series, stacked]);
51
-
52
- // Unlike other charts with custom props per series, we do not need to pick out
53
- // the props from each series that shouldn't be passed to CartesianChart
54
- const seriesToRender = transformedSeries !== null && transformedSeries !== void 0 ? transformedSeries : series;
55
- const seriesIds = seriesToRender === null || seriesToRender === void 0 ? void 0 : seriesToRender.map(s => s.id);
50
+ }, [seriesProp, stacked]);
51
+ const seriesIds = useMemo(() => series === null || series === void 0 ? void 0 : series.map(s => s.id), [series]);
52
+ const isHorizontalLayout = chartProps.layout === 'horizontal';
53
+ const defaultXScaleType = isHorizontalLayout ? 'linear' : 'band';
54
+ const defaultYScaleType = isHorizontalLayout ? 'band' : 'linear';
56
55
 
57
56
  // Split axis props into config props for Chart and visual props for axis components
58
57
  const _ref2 = xAxis || {},
@@ -62,7 +61,8 @@ export const BarChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =>
62
61
  categoryPadding: xCategoryPadding,
63
62
  domain: xDomain,
64
63
  domainLimit: xDomainLimit,
65
- range: xRange
64
+ range: xRange,
65
+ id: xAxisId
66
66
  } = _ref2,
67
67
  xAxisVisualProps = _objectWithoutProperties(_ref2, _excluded2);
68
68
  const _ref3 = yAxis || {},
@@ -76,14 +76,6 @@ export const BarChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =>
76
76
  id: yAxisId
77
77
  } = _ref3,
78
78
  yAxisVisualProps = _objectWithoutProperties(_ref3, _excluded3);
79
- const xAxisConfig = {
80
- scaleType: xScaleType !== null && xScaleType !== void 0 ? xScaleType : 'band',
81
- data: xData,
82
- categoryPadding: xCategoryPadding,
83
- domain: xDomain,
84
- domainLimit: xDomainLimit,
85
- range: xRange
86
- };
87
79
  const hasNegativeValues = useMemo(() => {
88
80
  if (!series) return false;
89
81
  return series.some(s => {
@@ -91,25 +83,37 @@ export const BarChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =>
91
83
  return (_s$data = s.data) === null || _s$data === void 0 ? void 0 : _s$data.some(value => typeof value === 'number' && value < 0 || Array.isArray(value) && value.some(v => typeof v === 'number' && v < 0));
92
84
  });
93
85
  }, [series]);
86
+ const xAxisConfig = useMemo(() => ({
87
+ scaleType: xScaleType !== null && xScaleType !== void 0 ? xScaleType : defaultXScaleType,
88
+ data: xData,
89
+ categoryPadding: xCategoryPadding,
90
+ domain: isHorizontalLayout && !hasNegativeValues ? _objectSpread({
91
+ min: 0
92
+ }, xDomain) : xDomain,
93
+ domainLimit: xDomainLimit,
94
+ range: xRange
95
+ }), [xScaleType, isHorizontalLayout, xData, xCategoryPadding, hasNegativeValues, xDomain, xDomainLimit, xRange, defaultXScaleType]);
94
96
 
95
- // Set default min domain to 0 for area chart, but only if there are no negative values
96
- const yAxisConfig = {
97
- scaleType: yScaleType,
97
+ // Set default min domain to 0 for bar chart, but only if there are no negative values
98
+ const yAxisConfig = useMemo(() => ({
99
+ scaleType: yScaleType !== null && yScaleType !== void 0 ? yScaleType : defaultYScaleType,
98
100
  data: yData,
99
101
  categoryPadding: yCategoryPadding,
100
- domain: hasNegativeValues ? yDomain : _objectSpread({
102
+ domain: !isHorizontalLayout && !hasNegativeValues ? _objectSpread({
101
103
  min: 0
102
- }, yDomain),
104
+ }, yDomain) : yDomain,
103
105
  domainLimit: yDomainLimit,
104
106
  range: yRange
105
- };
107
+ }), [yScaleType, isHorizontalLayout, yData, yCategoryPadding, hasNegativeValues, yDomain, yDomainLimit, yRange, defaultYScaleType]);
106
108
  return /*#__PURE__*/_jsxs(CartesianChart, _objectSpread(_objectSpread({}, chartProps), {}, {
107
109
  ref: ref,
108
- inset: calculatedInset,
109
- series: seriesToRender,
110
+ inset: inset,
111
+ series: series,
110
112
  xAxis: xAxisConfig,
111
113
  yAxis: yAxisConfig,
112
- children: [showXAxis && /*#__PURE__*/_jsx(XAxis, _objectSpread({}, xAxisVisualProps)), showYAxis && /*#__PURE__*/_jsx(YAxis, _objectSpread({
114
+ children: [showXAxis && /*#__PURE__*/_jsx(XAxis, _objectSpread({
115
+ axisId: xAxisId
116
+ }, xAxisVisualProps)), showYAxis && /*#__PURE__*/_jsx(YAxis, _objectSpread({
113
117
  axisId: yAxisId
114
118
  }, yAxisVisualProps)), /*#__PURE__*/_jsx(BarPlot, {
115
119
  BarComponent: BarComponent,
@@ -124,7 +128,8 @@ export const BarChart = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =>
124
128
  stackMinSize: stackMinSize,
125
129
  stroke: stroke,
126
130
  strokeWidth: strokeWidth,
127
- transition: transition
131
+ transition: transition,
132
+ transitions: transitions
128
133
  }), children]
129
134
  }));
130
135
  }));
@@ -1,6 +1,7 @@
1
1
  import { memo, useId, useMemo } from 'react';
2
+ import { m as motion } from 'framer-motion';
2
3
  import { useCartesianChartContext } from '../ChartProvider';
3
- import { defaultAxisId } from '../utils';
4
+ import { getStackGroups, instantTransition } from '../utils';
4
5
  import { BarStackGroup } from './BarStackGroup';
5
6
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
6
7
  /**
@@ -10,6 +11,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
10
11
  * cross-axis stacking (e.g., comparing $1M vs $1B companies on different scales).
11
12
  */
12
13
  export const BarPlot = /*#__PURE__*/memo(_ref => {
14
+ var _transitions$update;
13
15
  let {
14
16
  seriesIds,
15
17
  barPadding = 0.1,
@@ -23,9 +25,11 @@ export const BarPlot = /*#__PURE__*/memo(_ref => {
23
25
  stackGap,
24
26
  barMinSize,
25
27
  stackMinSize,
28
+ transitions,
26
29
  transition
27
30
  } = _ref;
28
31
  const {
32
+ animate,
29
33
  series: allSeries,
30
34
  drawingArea
31
35
  } = useCartesianChartContext();
@@ -37,35 +41,24 @@ export const BarPlot = /*#__PURE__*/memo(_ref => {
37
41
  }
38
42
  return allSeries;
39
43
  }, [allSeries, seriesIds]);
40
- const stackGroups = useMemo(() => {
41
- const groups = new Map();
44
+ const stackGroups = useMemo(() => getStackGroups(targetSeries), [targetSeries]);
45
+ if (!drawingArea) return;
46
+
47
+ // Clip path animation for bar is just for chart size changes, not for
48
+ // enter transition. One caveat, bar update transitions are staggered
49
+ // but clip path is not, so some bars could be clipped in rare cases
42
50
 
43
- // Group series into stacks based on stackId + yAxisId combination
44
- targetSeries.forEach(series => {
45
- var _series$yAxisId;
46
- const yAxisId = (_series$yAxisId = series.yAxisId) !== null && _series$yAxisId !== void 0 ? _series$yAxisId : defaultAxisId;
47
- const stackId = series.stackId || "individual-".concat(series.id);
48
- const stackKey = "".concat(stackId, ":").concat(yAxisId);
49
- if (!groups.has(stackKey)) {
50
- groups.set(stackKey, {
51
- stackId: stackKey,
52
- series: [],
53
- yAxisId: series.yAxisId
54
- });
55
- }
56
- const group = groups.get(stackKey);
57
- group.series.push(series);
58
- });
59
- return Array.from(groups.values());
60
- }, [targetSeries]);
61
- if (!drawingArea) {
62
- return null;
63
- }
64
51
  return /*#__PURE__*/_jsxs(_Fragment, {
65
52
  children: [/*#__PURE__*/_jsx("defs", {
66
53
  children: /*#__PURE__*/_jsx("clipPath", {
67
54
  id: clipPathId,
68
- children: /*#__PURE__*/_jsx("rect", {
55
+ children: animate ? /*#__PURE__*/_jsx(motion.rect, {
56
+ height: drawingArea.height,
57
+ transition: (_transitions$update = transitions === null || transitions === void 0 ? void 0 : transitions.update) !== null && _transitions$update !== void 0 ? _transitions$update : instantTransition,
58
+ width: drawingArea.width,
59
+ x: drawingArea.x,
60
+ y: drawingArea.y
61
+ }) : /*#__PURE__*/_jsx("rect", {
69
62
  height: drawingArea.height,
70
63
  width: drawingArea.width,
71
64
  x: drawingArea.x,
@@ -90,6 +83,8 @@ export const BarPlot = /*#__PURE__*/memo(_ref => {
90
83
  strokeWidth: defaultStrokeWidth,
91
84
  totalStacks: stackGroups.length,
92
85
  transition: transition,
86
+ transitions: transitions,
87
+ xAxisId: group.xAxisId,
93
88
  yAxisId: group.yAxisId
94
89
  }, group.stackId))
95
90
  })]