victory-stack 36.9.2-next.0 → 36.9.2-next.3

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.
@@ -7,59 +7,85 @@ exports.getCalculatedProps = getCalculatedProps;
7
7
  exports.getChildProps = getChildProps;
8
8
  exports.getChildren = getChildren;
9
9
  exports.useMemoizedProps = useMemoizedProps;
10
+
10
11
  var _orderBy2 = _interopRequireDefault(require("lodash/orderBy"));
11
- var _keys2 = _interopRequireDefault(require("lodash/keys"));
12
+
12
13
  var _react = _interopRequireDefault(require("react"));
14
+
13
15
  var _victoryCore = require("victory-core");
16
+
14
17
  var _reactFastCompare = _interopRequireDefault(require("react-fast-compare"));
18
+
15
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- /* eslint-disable no-use-before-define */
17
20
 
18
- const fallbackProps = {
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+
23
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
+
25
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
+
27
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
28
+
29
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
30
+
31
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
32
+
33
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
+
35
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36
+
37
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
38
+
39
+ var fallbackProps = {
19
40
  width: 450,
20
41
  height: 300,
21
42
  padding: 50
22
- };
43
+ }; // Assumes data in `datasets` is sorted by `Data.getData`.
23
44
 
24
- // Assumes data in `datasets` is sorted by `Data.getData`.
25
45
  function fillData(props, datasets) {
26
- const {
27
- fillInMissingData
28
- } = props;
29
- const xMap = datasets.reduce((prev, dataset) => {
30
- dataset.forEach(datum => {
46
+ var fillInMissingData = props.fillInMissingData;
47
+ var xMap = datasets.reduce(function (prev, dataset) {
48
+ dataset.forEach(function (datum) {
31
49
  prev[datum._x instanceof Date ? datum._x.getTime() : datum._x] = true;
32
50
  });
33
51
  return prev;
34
52
  }, {});
35
- const xKeys = (0, _keys2.default)(xMap).map(k => Number(k));
36
- const xArr = (0, _orderBy2.default)(xKeys);
37
- return datasets.map(dataset => {
38
- let indexOffset = 0;
39
- const isDate = dataset[0] && dataset[0]._x instanceof Date;
40
- const filledInData = xArr.map((x, index) => {
41
- let parsedX = Number(x);
42
- const datum = dataset[index - indexOffset];
53
+ var xKeys = Object.keys(xMap).map(function (k) {
54
+ return Number(k);
55
+ });
56
+ var xArr = (0, _orderBy2.default)(xKeys);
57
+ return datasets.map(function (dataset) {
58
+ var indexOffset = 0;
59
+ var isDate = dataset[0] && dataset[0]._x instanceof Date;
60
+ var filledInData = xArr.map(function (x, index) {
61
+ var parsedX = Number(x);
62
+ var datum = dataset[index - indexOffset];
63
+
43
64
  if (datum) {
44
- const x1 = isDate ? datum._x.getTime() : datum._x;
65
+ var x1 = isDate ? datum._x.getTime() : datum._x;
66
+
45
67
  if (x1 === parsedX) {
46
68
  return datum;
47
69
  }
70
+
48
71
  indexOffset++;
49
- const y = fillInMissingData ? 0 : null;
72
+
73
+ var _y = fillInMissingData ? 0 : null;
74
+
50
75
  parsedX = isDate ? new Date(parsedX) : parsedX;
51
76
  return {
52
77
  x: parsedX,
53
- y,
78
+ y: _y,
54
79
  _x: parsedX,
55
- _y: y
80
+ _y: _y
56
81
  };
57
82
  }
58
- const y = fillInMissingData ? 0 : null;
83
+
84
+ var y = fillInMissingData ? 0 : null;
59
85
  parsedX = isDate ? new Date(parsedX) : parsedX;
60
86
  return {
61
87
  x: parsedX,
62
- y,
88
+ y: y,
63
89
  _x: parsedX,
64
90
  _y: y
65
91
  };
@@ -67,29 +93,40 @@ function fillData(props, datasets) {
67
93
  return filledInData;
68
94
  });
69
95
  }
96
+
70
97
  function getY0(datum, index, datasets) {
71
98
  if (datum.y0) {
72
99
  return datum.y0;
73
100
  }
74
- const y = datum._y;
75
- const group = datum._group;
76
- const firstDatasetBaseline = datasets[0].map(d => d.y0);
77
- const previousDatasets = datasets.slice(0, index);
78
- const previousPoints = previousDatasets.reduce((prev, dataset) => {
79
- return prev.concat(dataset.filter(previousDatum => datum._x instanceof Date ? previousDatum._x.getTime() === datum._x.getTime() : previousDatum._x === datum._x).map(previousDatum => previousDatum._y || 0));
101
+
102
+ var y = datum._y;
103
+ var group = datum._group;
104
+ var firstDatasetBaseline = datasets[0].map(function (d) {
105
+ return d.y0;
106
+ });
107
+ var previousDatasets = datasets.slice(0, index);
108
+ var previousPoints = previousDatasets.reduce(function (prev, dataset) {
109
+ return prev.concat(dataset.filter(function (previousDatum) {
110
+ return datum._x instanceof Date ? previousDatum._x.getTime() === datum._x.getTime() : previousDatum._x === datum._x;
111
+ }).map(function (previousDatum) {
112
+ return previousDatum._y || 0;
113
+ }));
80
114
  }, []);
81
- const y0 = previousPoints.length && previousPoints.reduce((memo, value) => {
82
- const sameSign = y < 0 && value < 0 || y >= 0 && value >= 0;
115
+ var y0 = previousPoints.length && previousPoints.reduce(function (memo, value) {
116
+ var sameSign = y < 0 && value < 0 || y >= 0 && value >= 0;
83
117
  return sameSign ? Number(value) + memo : memo;
84
118
  }, firstDatasetBaseline[group] || 0);
85
- return previousPoints.some(point => point instanceof Date) ? new Date(y0) : y0;
119
+ return previousPoints.some(function (point) {
120
+ return point instanceof Date;
121
+ }) ? new Date(y0) : y0;
86
122
  }
87
-
88
123
  /* eslint-disable no-nested-ternary */
124
+
125
+
89
126
  function addLayoutData(props, datasets, index) {
90
- const xOffset = props.xOffset || 0;
91
- return datasets[index].map(datum => {
92
- const yOffset = getY0(datum, index, datasets) || 0;
127
+ var xOffset = props.xOffset || 0;
128
+ return datasets[index].map(function (datum) {
129
+ var yOffset = getY0(datum, index, datasets) || 0;
93
130
  return Object.assign({}, datum, {
94
131
  _y0: !(datum._y instanceof Date) ? yOffset : yOffset ? new Date(yOffset) : datum._y,
95
132
  _y1: datum._y === null ? null : datum._y instanceof Date ? new Date(Number(datum._y) + Number(yOffset)) : datum._y + yOffset,
@@ -99,152 +136,176 @@ function addLayoutData(props, datasets, index) {
99
136
  }
100
137
  /* eslint-enable no-nested-ternary */
101
138
 
139
+
102
140
  function stackData(props, childComponents) {
103
- const dataFromChildren = _victoryCore.Wrapper.getDataFromChildren(props, childComponents);
104
- const filterNullChildData = dataFromChildren.map(dataset => dataset.filter(datum => datum._x !== null && datum._y !== null));
105
- const datasets = fillData(props, filterNullChildData);
106
- return datasets.map((d, i) => addLayoutData(props, datasets, i));
141
+ var dataFromChildren = _victoryCore.Wrapper.getDataFromChildren(props, childComponents);
142
+
143
+ var filterNullChildData = dataFromChildren.map(function (dataset) {
144
+ return dataset.filter(function (datum) {
145
+ return datum._x !== null && datum._y !== null;
146
+ });
147
+ });
148
+ var datasets = fillData(props, filterNullChildData);
149
+ return datasets.map(function (d, i) {
150
+ return addLayoutData(props, datasets, i);
151
+ });
107
152
  }
153
+
108
154
  function getCalculatedProps(initialProps, childComponents) {
109
- const children = childComponents || _react.default.Children.toArray(initialProps.children);
110
- const role = "stack";
111
- const props = _victoryCore.Helpers.modifyProps(initialProps, fallbackProps, role);
112
- const style = _victoryCore.Wrapper.getStyle(props.theme, props.style, role);
113
- const categories = props.categories || _victoryCore.Wrapper.getCategories(props, children);
114
- const datasets = props.datasets || stackData(props, children);
115
- const clonedChildren = children.map((c, i) => {
155
+ var children = childComponents || _react.default.Children.toArray(initialProps.children);
156
+
157
+ var role = "stack";
158
+
159
+ var props = _victoryCore.Helpers.modifyProps(initialProps, fallbackProps, role);
160
+
161
+ var style = _victoryCore.Wrapper.getStyle(props.theme, props.style, role);
162
+
163
+ var categories = props.categories || _victoryCore.Wrapper.getCategories(props, children);
164
+
165
+ var datasets = props.datasets || stackData(props, children);
166
+ var clonedChildren = children.map(function (c, i) {
116
167
  return /*#__PURE__*/_react.default.cloneElement(c, {
117
168
  data: datasets[i]
118
169
  });
119
170
  });
120
- const domain = {
171
+ var domain = {
121
172
  x: _victoryCore.Wrapper.getDomain(Object.assign({}, props, {
122
- categories
173
+ categories: categories
123
174
  }), "x", clonedChildren),
124
175
  y: _victoryCore.Wrapper.getDomain(Object.assign({}, props, {
125
- categories
176
+ categories: categories
126
177
  }), "y", clonedChildren)
127
178
  };
128
- const range = props.range || {
179
+ var range = props.range || {
129
180
  x: _victoryCore.Helpers.getRange(props, "x"),
130
181
  y: _victoryCore.Helpers.getRange(props, "y")
131
182
  };
132
- const baseScale = {
183
+ var baseScale = {
133
184
  x: _victoryCore.Scale.getScaleFromProps(props, "x") || _victoryCore.Wrapper.getScale(props, "x"),
134
185
  y: _victoryCore.Scale.getScaleFromProps(props, "y") || _victoryCore.Wrapper.getScale(props, "y")
135
186
  };
136
- const scale = {
187
+ var scale = {
137
188
  x: baseScale.x.domain(domain.x).range(props.horizontal ? range.y : range.x),
138
189
  y: baseScale.y.domain(domain.y).range(props.horizontal ? range.x : range.y)
139
190
  };
140
- const {
141
- colorScale,
142
- horizontal
143
- } = props;
191
+ var colorScale = props.colorScale,
192
+ horizontal = props.horizontal;
144
193
  return {
145
- datasets,
146
- categories,
147
- range,
148
- domain,
149
- horizontal,
150
- scale,
151
- style,
152
- colorScale,
153
- role
194
+ datasets: datasets,
195
+ categories: categories,
196
+ range: range,
197
+ domain: domain,
198
+ horizontal: horizontal,
199
+ scale: scale,
200
+ style: style,
201
+ colorScale: colorScale,
202
+ role: role
154
203
  };
155
- }
156
-
157
- // We need to remove sharedEvents in order to memoize the calculated data
204
+ } // We need to remove sharedEvents in order to memoize the calculated data
158
205
  // With shared events, the props change on every event, and every value is re-calculated
159
- const withoutSharedEvents = props => {
160
- const {
161
- children
162
- } = props;
163
- const modifiedChildren = _react.default.Children.toArray(children).map(_child => {
164
- const child = _child;
165
- return {
166
- ...child,
206
+
207
+
208
+ var withoutSharedEvents = function (props) {
209
+ var children = props.children;
210
+
211
+ var modifiedChildren = _react.default.Children.toArray(children).map(function (_child) {
212
+ var child = _child;
213
+ return _objectSpread(_objectSpread({}, child), {}, {
167
214
  props: _victoryCore.Helpers.omit(child.props, ["sharedEvents"])
168
- };
215
+ });
169
216
  });
217
+
170
218
  props.children = modifiedChildren;
171
219
  return props;
172
220
  };
221
+
173
222
  function useMemoizedProps(initialProps) {
174
- const modifiedProps = withoutSharedEvents(initialProps);
175
- const [props, setProps] = _react.default.useState(modifiedProps);
223
+ var modifiedProps = withoutSharedEvents(initialProps);
176
224
 
177
- // React.memo uses shallow equality to compare objects. This way props
225
+ var _React$useState = _react.default.useState(modifiedProps),
226
+ _React$useState2 = _slicedToArray(_React$useState, 2),
227
+ props = _React$useState2[0],
228
+ setProps = _React$useState2[1]; // React.memo uses shallow equality to compare objects. This way props
178
229
  // will only be re-calculated when they change.
179
- _react.default.useEffect(() => {
230
+
231
+
232
+ _react.default.useEffect(function () {
180
233
  if (!(0, _reactFastCompare.default)(modifiedProps, props)) {
181
234
  setProps(modifiedProps);
182
235
  }
183
236
  }, [props, setProps, modifiedProps]);
184
- return _react.default.useMemo(() => {
237
+
238
+ return _react.default.useMemo(function () {
185
239
  return getCalculatedProps(props, props.children);
186
240
  }, [props]);
187
241
  }
242
+
188
243
  function getLabels(props, datasets, index) {
189
244
  if (!props.labels) {
190
245
  return undefined;
191
246
  }
247
+
192
248
  return datasets.length === index + 1 ? props.labels : undefined;
193
249
  }
250
+
194
251
  function getChildProps(props, calculatedProps) {
195
- const {
196
- categories,
197
- domain,
198
- range,
199
- scale,
200
- horizontal
201
- } = calculatedProps;
252
+ var categories = calculatedProps.categories,
253
+ domain = calculatedProps.domain,
254
+ range = calculatedProps.range,
255
+ scale = calculatedProps.scale,
256
+ horizontal = calculatedProps.horizontal;
202
257
  return {
203
258
  height: props.height,
204
259
  width: props.width,
205
260
  padding: _victoryCore.Helpers.getPadding(props),
206
261
  standalone: false,
207
262
  theme: props.theme,
208
- categories,
209
- domain,
210
- range,
211
- scale,
212
- horizontal
263
+ categories: categories,
264
+ domain: domain,
265
+ range: range,
266
+ scale: scale,
267
+ horizontal: horizontal
213
268
  };
214
269
  }
270
+
215
271
  function getColorScale(props, child) {
216
- const role = child.type && child.type.role;
217
- const colorScaleOptions = child.props.colorScale || props.colorScale;
272
+ var role = child.type && child.type.role;
273
+ var colorScaleOptions = child.props.colorScale || props.colorScale;
274
+
218
275
  if (role !== "group" && role !== "stack") {
219
276
  return undefined;
220
277
  }
278
+
221
279
  return props.theme ? colorScaleOptions || props.theme.props.colorScale : colorScaleOptions;
222
280
  }
281
+
223
282
  function getChildren(initialProps, childComponents, calculatedProps) {
224
- const props = _victoryCore.Helpers.modifyProps(initialProps, fallbackProps, "stack");
225
- const children = childComponents || _react.default.Children.toArray(props.children);
226
- const newCalculatedProps = calculatedProps || getCalculatedProps(props, children);
227
- const {
228
- datasets
229
- } = newCalculatedProps;
230
- const childProps = getChildProps(props, newCalculatedProps);
231
- const parentName = props.name || "stack";
232
- return children.map((child, index) => {
233
- const role = child.type && child.type.role;
234
- const data = datasets[index];
235
- const style = _victoryCore.Wrapper.getChildStyle(child, index, newCalculatedProps);
236
- const labels = props.labels ? getLabels(props, datasets, index) : child.props.labels;
237
- const name = child.props.name || `${parentName}-${role}-${index}`;
283
+ var props = _victoryCore.Helpers.modifyProps(initialProps, fallbackProps, "stack");
284
+
285
+ var children = childComponents || _react.default.Children.toArray(props.children);
286
+
287
+ var newCalculatedProps = calculatedProps || getCalculatedProps(props, children);
288
+ var datasets = newCalculatedProps.datasets;
289
+ var childProps = getChildProps(props, newCalculatedProps);
290
+ var parentName = props.name || "stack";
291
+ return children.map(function (child, index) {
292
+ var role = child.type && child.type.role;
293
+ var data = datasets[index];
294
+
295
+ var style = _victoryCore.Wrapper.getChildStyle(child, index, newCalculatedProps);
296
+
297
+ var labels = props.labels ? getLabels(props, datasets, index) : child.props.labels;
298
+ var name = child.props.name || "".concat(parentName, "-").concat(role, "-").concat(index);
238
299
  return /*#__PURE__*/_react.default.cloneElement(child, Object.assign({
239
- key: `${name}-key-${index}`,
240
- labels,
241
- name,
300
+ key: "".concat(name, "-key-").concat(index),
301
+ labels: labels,
302
+ name: name,
242
303
  domainPadding: child.props.domainPadding || props.domainPadding,
243
304
  theme: props.theme,
244
305
  labelComponent: props.labelComponent || child.props.labelComponent,
245
- style,
306
+ style: style,
246
307
  colorScale: getColorScale(props, child),
247
- data,
308
+ data: data,
248
309
  polar: props.polar
249
310
  }, childProps));
250
311
  });
package/lib/index.js CHANGED
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+
6
7
  var _victoryStack = require("./victory-stack");
8
+
7
9
  Object.keys(_victoryStack).forEach(function (key) {
8
10
  if (key === "default" || key === "__esModule") return;
9
11
  if (key in exports && exports[key] === _victoryStack[key]) return;
@@ -4,65 +4,81 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VictoryStack = void 0;
7
+
7
8
  var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
9
+
8
10
  var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
11
+
9
12
  var _react = _interopRequireDefault(require("react"));
13
+
10
14
  var _victoryCore = require("victory-core");
15
+
11
16
  var _victorySharedEvents = require("victory-shared-events");
17
+
12
18
  var _helperMethods = require("./helper-methods");
19
+
13
20
  var _reactFastCompare = _interopRequireDefault(require("react-fast-compare"));
21
+
14
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- const fallbackProps = {
23
+
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
+
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
+
28
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+
30
+ var fallbackProps = {
16
31
  width: 450,
17
32
  height: 300,
18
33
  padding: 50
19
34
  };
20
- const defaultProps = {
35
+ var defaultProps = {
21
36
  containerComponent: /*#__PURE__*/_react.default.createElement(_victoryCore.VictoryContainer, null),
22
37
  groupComponent: /*#__PURE__*/_react.default.createElement("g", null),
23
38
  standalone: true,
24
39
  theme: _victoryCore.VictoryTheme.grayscale,
25
40
  fillInMissingData: true
26
41
  };
27
- const VictoryStackBase = initialProps => {
28
- const {
29
- role
30
- } = VictoryStack;
31
- const propsWithDefaults = _react.default.useMemo(() => ({
32
- ...defaultProps,
33
- ...initialProps
34
- }), [initialProps]);
35
- const {
36
- setAnimationState,
37
- getAnimationProps,
38
- getProps
39
- } = _victoryCore.Hooks.useAnimationState();
40
- const props = getProps(propsWithDefaults);
41
- const modifiedProps = _victoryCore.Helpers.modifyProps(props, fallbackProps, role);
42
- const {
43
- eventKey,
44
- containerComponent,
45
- standalone,
46
- groupComponent,
47
- externalEventMutations,
48
- width,
49
- height,
50
- theme,
51
- polar,
52
- horizontal,
53
- name
54
- } = modifiedProps;
55
- const childComponents = _react.default.Children.toArray(modifiedProps.children);
56
- const calculatedProps = (0, _helperMethods.useMemoizedProps)(modifiedProps);
57
- const {
58
- domain,
59
- scale,
60
- style
61
- } = calculatedProps;
62
- const newChildren = _react.default.useMemo(() => {
63
- const children = (0, _helperMethods.getChildren)(props, childComponents, calculatedProps);
64
- const orderedChildren = children.map((child, index) => {
65
- const childProps = Object.assign({
42
+
43
+ var VictoryStackBase = function (initialProps) {
44
+ var role = VictoryStack.role;
45
+
46
+ var propsWithDefaults = _react.default.useMemo(function () {
47
+ return _objectSpread(_objectSpread({}, defaultProps), initialProps);
48
+ }, [initialProps]);
49
+
50
+ var _Hooks$useAnimationSt = _victoryCore.Hooks.useAnimationState(),
51
+ setAnimationState = _Hooks$useAnimationSt.setAnimationState,
52
+ getAnimationProps = _Hooks$useAnimationSt.getAnimationProps,
53
+ getProps = _Hooks$useAnimationSt.getProps;
54
+
55
+ var props = getProps(propsWithDefaults);
56
+
57
+ var modifiedProps = _victoryCore.Helpers.modifyProps(props, fallbackProps, role);
58
+
59
+ var eventKey = modifiedProps.eventKey,
60
+ containerComponent = modifiedProps.containerComponent,
61
+ standalone = modifiedProps.standalone,
62
+ groupComponent = modifiedProps.groupComponent,
63
+ externalEventMutations = modifiedProps.externalEventMutations,
64
+ width = modifiedProps.width,
65
+ height = modifiedProps.height,
66
+ theme = modifiedProps.theme,
67
+ polar = modifiedProps.polar,
68
+ horizontal = modifiedProps.horizontal,
69
+ name = modifiedProps.name;
70
+
71
+ var childComponents = _react.default.Children.toArray(modifiedProps.children);
72
+
73
+ var calculatedProps = (0, _helperMethods.useMemoizedProps)(modifiedProps);
74
+ var domain = calculatedProps.domain,
75
+ scale = calculatedProps.scale,
76
+ style = calculatedProps.style;
77
+
78
+ var newChildren = _react.default.useMemo(function () {
79
+ var children = (0, _helperMethods.getChildren)(props, childComponents, calculatedProps);
80
+ var orderedChildren = children.map(function (child, index) {
81
+ var childProps = Object.assign({
66
82
  animate: getAnimationProps(props, child, index)
67
83
  }, child.props);
68
84
  return /*#__PURE__*/_react.default.cloneElement(child, childProps);
@@ -72,45 +88,57 @@ const VictoryStackBase = initialProps => {
72
88
  are rendered behind lower children. This looks nicer for stacked bars with cornerRadius, and
73
89
  areas with strokes
74
90
  */
91
+
75
92
  return orderedChildren.reverse();
76
93
  }, [props, childComponents, calculatedProps, getAnimationProps]);
77
- const containerProps = _react.default.useMemo(() => {
94
+
95
+ var containerProps = _react.default.useMemo(function () {
78
96
  if (standalone) {
79
97
  return {
80
- domain,
81
- scale,
82
- width,
83
- height,
84
- standalone,
85
- theme,
98
+ domain: domain,
99
+ scale: scale,
100
+ width: width,
101
+ height: height,
102
+ standalone: standalone,
103
+ theme: theme,
86
104
  style: style.parent,
87
- horizontal,
88
- polar,
89
- name
105
+ horizontal: horizontal,
106
+ polar: polar,
107
+ name: name
90
108
  };
91
109
  }
110
+
92
111
  return {};
93
112
  }, [standalone, domain, scale, width, height, theme, style, horizontal, polar, name]);
94
- const userProps = _react.default.useMemo(() => _victoryCore.UserProps.getSafeUserProps(propsWithDefaults), [propsWithDefaults]);
95
- const container = _react.default.useMemo(() => {
113
+
114
+ var userProps = _react.default.useMemo(function () {
115
+ return _victoryCore.UserProps.getSafeUserProps(propsWithDefaults);
116
+ }, [propsWithDefaults]);
117
+
118
+ var container = _react.default.useMemo(function () {
96
119
  if (standalone) {
97
- const defaultContainerProps = (0, _defaults2.default)({}, containerComponent.props, containerProps, userProps);
120
+ var defaultContainerProps = (0, _defaults2.default)({}, containerComponent.props, containerProps, userProps);
98
121
  return /*#__PURE__*/_react.default.cloneElement(containerComponent, defaultContainerProps);
99
122
  }
123
+
100
124
  return /*#__PURE__*/_react.default.cloneElement(groupComponent, userProps);
101
125
  }, [groupComponent, standalone, containerComponent, containerProps, userProps]);
102
- const events = _react.default.useMemo(() => {
126
+
127
+ var events = _react.default.useMemo(function () {
103
128
  return _victoryCore.Wrapper.getAllEvents(props);
104
129
  }, [props]);
105
- const previousProps = _victoryCore.Hooks.usePreviousProps(propsWithDefaults);
106
- _react.default.useEffect(() => {
130
+
131
+ var previousProps = _victoryCore.Hooks.usePreviousProps(propsWithDefaults);
132
+
133
+ _react.default.useEffect(function () {
107
134
  // This is called before dismount to keep state in sync
108
- return () => {
135
+ return function () {
109
136
  if (propsWithDefaults.animate) {
110
137
  setAnimationState(previousProps, propsWithDefaults);
111
138
  }
112
139
  };
113
140
  }, [setAnimationState, previousProps, propsWithDefaults]);
141
+
114
142
  if (!(0, _isEmpty2.default)(events)) {
115
143
  return /*#__PURE__*/_react.default.createElement(_victorySharedEvents.VictorySharedEvents, {
116
144
  container: container,
@@ -119,12 +147,15 @@ const VictoryStackBase = initialProps => {
119
147
  externalEventMutations: externalEventMutations
120
148
  }, newChildren);
121
149
  }
150
+
122
151
  return /*#__PURE__*/_react.default.cloneElement(container, container.props, newChildren);
123
152
  };
124
- const componentConfig = {
153
+
154
+ var componentConfig = {
125
155
  role: "stack",
126
156
  expectedComponents: ["groupComponent", "containerComponent", "labelComponent"],
127
157
  getChildren: _helperMethods.getChildren
128
158
  };
129
- const VictoryStack = exports.VictoryStack = Object.assign( /*#__PURE__*/_react.default.memo(VictoryStackBase, _reactFastCompare.default), componentConfig);
159
+ var VictoryStack = Object.assign( /*#__PURE__*/_react.default.memo(VictoryStackBase, _reactFastCompare.default), componentConfig);
160
+ exports.VictoryStack = VictoryStack;
130
161
  VictoryStack.displayName = "VictoryStack";