victory-stack 35.11.2 → 36.1.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.
@@ -144,7 +144,7 @@ function addLayoutData(props, datasets, index) {
144
144
 
145
145
 
146
146
  function stackData(props, childComponents) {
147
- var dataFromChildren = victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getDataFromChildren(props, childComponents);
147
+ var dataFromChildren = victory_core__WEBPACK_IMPORTED_MODULE_4__.getDataFromChildren(props, childComponents);
148
148
  var filterNullChildData = dataFromChildren.map(function (dataset) {
149
149
  return dataset.filter(function (datum) {
150
150
  return datum._x !== null && datum._y !== null;
@@ -160,8 +160,8 @@ function getCalculatedProps(props, childComponents) {
160
160
  childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_3___default().Children.toArray(props.children);
161
161
  var role = "stack";
162
162
  props = victory_core__WEBPACK_IMPORTED_MODULE_5__.modifyProps(props, fallbackProps, role);
163
- var style = victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getStyle(props.theme, props.style, role);
164
- var categories = props.categories || victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getCategories(props, childComponents);
163
+ var style = victory_core__WEBPACK_IMPORTED_MODULE_4__.getStyle(props.theme, props.style, role);
164
+ var categories = props.categories || victory_core__WEBPACK_IMPORTED_MODULE_4__.getCategories(props, childComponents);
165
165
  var datasets = props.datasets || stackData(props, childComponents);
166
166
  var children = childComponents.map(function (c, i) {
167
167
  return react__WEBPACK_IMPORTED_MODULE_3___default().cloneElement(c, {
@@ -169,10 +169,10 @@ function getCalculatedProps(props, childComponents) {
169
169
  });
170
170
  });
171
171
  var domain = {
172
- x: victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getDomain(lodash_assign__WEBPACK_IMPORTED_MODULE_2___default()({}, props, {
172
+ x: victory_core__WEBPACK_IMPORTED_MODULE_4__.getDomain(lodash_assign__WEBPACK_IMPORTED_MODULE_2___default()({}, props, {
173
173
  categories: categories
174
174
  }), "x", children),
175
- y: victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getDomain(lodash_assign__WEBPACK_IMPORTED_MODULE_2___default()({}, props, {
175
+ y: victory_core__WEBPACK_IMPORTED_MODULE_4__.getDomain(lodash_assign__WEBPACK_IMPORTED_MODULE_2___default()({}, props, {
176
176
  categories: categories
177
177
  }), "y", children)
178
178
  };
@@ -181,8 +181,8 @@ function getCalculatedProps(props, childComponents) {
181
181
  y: victory_core__WEBPACK_IMPORTED_MODULE_5__.getRange(props, "y")
182
182
  };
183
183
  var baseScale = {
184
- x: victory_core__WEBPACK_IMPORTED_MODULE_6__.getScaleFromProps(props, "x") || victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getScale(props, "x"),
185
- y: victory_core__WEBPACK_IMPORTED_MODULE_6__.getScaleFromProps(props, "y") || victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getScale(props, "y")
184
+ x: victory_core__WEBPACK_IMPORTED_MODULE_6__.getScaleFromProps(props, "x") || victory_core__WEBPACK_IMPORTED_MODULE_4__.getScale(props, "x"),
185
+ y: victory_core__WEBPACK_IMPORTED_MODULE_6__.getScaleFromProps(props, "y") || victory_core__WEBPACK_IMPORTED_MODULE_4__.getScale(props, "y")
186
186
  };
187
187
  var scale = {
188
188
  x: baseScale.x.domain(domain.x).range(props.horizontal ? range.y : range.x),
@@ -254,7 +254,7 @@ function getChildren(props, childComponents, calculatedProps) {
254
254
  return childComponents.map(function (child, index) {
255
255
  var role = child.type && child.type.role;
256
256
  var data = datasets[index];
257
- var style = victory_core__WEBPACK_IMPORTED_MODULE_4__.default.getChildStyle(child, index, calculatedProps);
257
+ var style = victory_core__WEBPACK_IMPORTED_MODULE_4__.getChildStyle(child, index, calculatedProps);
258
258
  var labels = props.labels ? getLabels(props, datasets, index) : child.props.labels;
259
259
  var name = child.props.name || "".concat(parentName, "-").concat(role, "-").concat(index);
260
260
  return react__WEBPACK_IMPORTED_MODULE_3___default().cloneElement(child, lodash_assign__WEBPACK_IMPORTED_MODULE_2___default()({
@@ -283,7 +283,7 @@ function getChildren(props, childComponents, calculatedProps) {
283
283
  "use strict";
284
284
  __webpack_require__.r(__webpack_exports__);
285
285
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
286
- /* harmony export */ "default": () => (/* binding */ VictoryStack)
286
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
287
287
  /* harmony export */ });
288
288
  /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isEmpty */ "../../../node_modules/lodash/isEmpty.js");
289
289
  /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0__);
@@ -295,14 +295,15 @@ __webpack_require__.r(__webpack_exports__);
295
295
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);
296
296
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react");
297
297
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
298
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/wrapper.js");
299
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/helpers.js");
300
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/common-props.js");
301
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/prop-types.js");
302
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-container/victory-container.js");
303
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-theme/victory-theme.js");
304
- /* harmony import */ var victory_shared_events__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! victory-shared-events */ "../../victory-shared-events/es/victory-shared-events.js");
305
- /* harmony import */ var _helper_methods__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./helper-methods */ "./helper-methods.js");
298
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/hooks.js");
299
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/helpers.js");
300
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/wrapper.js");
301
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/common-props.js");
302
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/prop-types.js");
303
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-container/victory-container.js");
304
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-theme/victory-theme.js");
305
+ /* harmony import */ var victory_shared_events__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! victory-shared-events */ "../../victory-shared-events/es/victory-shared-events.js");
306
+ /* harmony import */ var _helper_methods__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helper-methods */ "./helper-methods.js");
306
307
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-fast-compare */ "../../../node_modules/react-fast-compare/index.js");
307
308
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_5__);
308
309
 
@@ -313,18 +314,6 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
313
314
 
314
315
  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; }
315
316
 
316
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
317
-
318
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
319
-
320
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
321
-
322
- function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
323
-
324
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
325
-
326
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
327
-
328
317
 
329
318
 
330
319
 
@@ -337,83 +326,53 @@ var fallbackProps = {
337
326
  padding: 50
338
327
  };
339
328
 
340
- var VictoryStack =
341
- /*#__PURE__*/
342
- function (_React$Component) {
343
- _inherits(VictoryStack, _React$Component);
344
-
345
- function VictoryStack(props) {
346
- var _this;
347
-
348
- _classCallCheck(this, VictoryStack);
349
-
350
- _this = _possibleConstructorReturn(this, (VictoryStack.__proto__ || Object.getPrototypeOf(VictoryStack)).call(this, props));
351
-
352
- if (props.animate) {
353
- _this.state = {
354
- nodesShouldLoad: false,
355
- nodesDoneLoad: false,
356
- animating: true
357
- };
358
- _this.setAnimationState = victory_core__WEBPACK_IMPORTED_MODULE_6__.default.setAnimationState.bind(_assertThisInitialized(_this));
359
- }
360
-
361
- return _this;
362
- }
363
-
364
- _createClass(VictoryStack, [{
365
- key: "shouldComponentUpdate",
366
- value: function shouldComponentUpdate(nextProps) {
367
- if (this.props.animate) {
368
- if (!react_fast_compare__WEBPACK_IMPORTED_MODULE_5___default()(this.props, nextProps)) {
369
- this.setAnimationState(this.props, nextProps);
370
- return false;
371
- }
372
- }
373
-
374
- return true;
375
- }
376
- }, {
377
- key: "getNewChildren",
378
- value: function getNewChildren(props, childComponents, calculatedProps) {
379
- var children = (0,_helper_methods__WEBPACK_IMPORTED_MODULE_7__.getChildren)(props, childComponents, calculatedProps);
380
- var getAnimationProps = victory_core__WEBPACK_IMPORTED_MODULE_6__.default.getAnimationProps.bind(this);
381
- var newChildren = children.map(function (child, index) {
382
- var childProps = lodash_assign__WEBPACK_IMPORTED_MODULE_2___default()({
383
- animate: getAnimationProps(props, child, index)
384
- }, child.props);
385
-
386
- return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(child, childProps);
387
- });
388
- /*
389
- reverse render order for children of `VictoryStack` so that higher children in the stack
390
- are rendered behind lower children. This looks nicer for stacked bars with cornerRadius, and
391
- areas with strokes
392
- */
393
-
394
- return newChildren.reverse();
395
- }
396
- }, {
397
- key: "renderContainer",
398
- value: function renderContainer(containerComponent, props) {
399
- var containerProps = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, containerComponent.props, props);
400
-
401
- return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(containerComponent, containerProps);
402
- }
403
- }, {
404
- key: "getContainerProps",
405
- value: function getContainerProps(props, calculatedProps) {
406
- var width = props.width,
407
- height = props.height,
408
- standalone = props.standalone,
409
- theme = props.theme,
410
- polar = props.polar,
411
- horizontal = props.horizontal,
412
- name = props.name;
413
- var domain = calculatedProps.domain,
414
- scale = calculatedProps.scale,
415
- style = calculatedProps.style,
416
- origin = calculatedProps.origin;
329
+ var VictoryStack = function (initialProps) {
330
+ // eslint-disable-next-line no-use-before-define
331
+ var role = VictoryStackMemo.role;
332
+
333
+ var _useAnimationState = (0,victory_core__WEBPACK_IMPORTED_MODULE_6__.useAnimationState)(),
334
+ setAnimationState = _useAnimationState.setAnimationState,
335
+ getAnimationProps = _useAnimationState.getAnimationProps,
336
+ getProps = _useAnimationState.getProps;
337
+
338
+ var props = getProps(initialProps);
339
+ var modifiedProps = victory_core__WEBPACK_IMPORTED_MODULE_7__.modifyProps(props, fallbackProps, role);
340
+ var eventKey = modifiedProps.eventKey,
341
+ containerComponent = modifiedProps.containerComponent,
342
+ standalone = modifiedProps.standalone,
343
+ groupComponent = modifiedProps.groupComponent,
344
+ externalEventMutations = modifiedProps.externalEventMutations,
345
+ width = modifiedProps.width,
346
+ height = modifiedProps.height,
347
+ theme = modifiedProps.theme,
348
+ polar = modifiedProps.polar,
349
+ horizontal = modifiedProps.horizontal,
350
+ name = modifiedProps.name;
351
+ var childComponents = react__WEBPACK_IMPORTED_MODULE_4___default().Children.toArray(modifiedProps.children);
352
+ var calculatedProps = (0,_helper_methods__WEBPACK_IMPORTED_MODULE_8__.getCalculatedProps)(modifiedProps, childComponents);
353
+ var domain = calculatedProps.domain,
354
+ scale = calculatedProps.scale,
355
+ style = calculatedProps.style,
356
+ origin = calculatedProps.origin;
357
+ var newChildren = react__WEBPACK_IMPORTED_MODULE_4___default().useMemo(function () {
358
+ var children = (0,_helper_methods__WEBPACK_IMPORTED_MODULE_8__.getChildren)(props, childComponents, calculatedProps);
359
+ var orderedChildren = children.map(function (child, index) {
360
+ var childProps = lodash_assign__WEBPACK_IMPORTED_MODULE_2___default()({
361
+ animate: getAnimationProps(props, child, index, "victory-stack")
362
+ }, child.props);
363
+
364
+ return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(child, childProps);
365
+ });
366
+ /*
367
+ reverse render order for children of `VictoryStack` so that higher children in the stack
368
+ are rendered behind lower children. This looks nicer for stacked bars with cornerRadius, and
369
+ areas with strokes
370
+ */
371
+
372
+ return orderedChildren.reverse();
373
+ }, [props, childComponents, calculatedProps, getAnimationProps]);
374
+ var containerProps = react__WEBPACK_IMPORTED_MODULE_4___default().useMemo(function () {
375
+ if (standalone) {
417
376
  return {
418
377
  domain: domain,
419
378
  scale: scale,
@@ -428,101 +387,75 @@ function (_React$Component) {
428
387
  name: name
429
388
  };
430
389
  }
431
- }, {
432
- key: "render",
433
- value: function render() {
434
- var role = this.constructor.role;
435
- var props = this.state && this.state.nodesWillExit ? this.state.oldProps || this.props : this.props;
436
- var modifiedProps = victory_core__WEBPACK_IMPORTED_MODULE_8__.modifyProps(props, fallbackProps, role);
437
- var eventKey = modifiedProps.eventKey,
438
- containerComponent = modifiedProps.containerComponent,
439
- standalone = modifiedProps.standalone,
440
- groupComponent = modifiedProps.groupComponent,
441
- externalEventMutations = modifiedProps.externalEventMutations;
442
- var childComponents = react__WEBPACK_IMPORTED_MODULE_4___default().Children.toArray(modifiedProps.children);
443
- var calculatedProps = (0,_helper_methods__WEBPACK_IMPORTED_MODULE_7__.getCalculatedProps)(modifiedProps, childComponents);
444
- var newChildren = this.getNewChildren(modifiedProps, childComponents, calculatedProps);
445
- var containerProps = standalone ? this.getContainerProps(modifiedProps, calculatedProps) : {};
446
- var container = standalone ? this.renderContainer(containerComponent, containerProps) : groupComponent;
447
- var events = victory_core__WEBPACK_IMPORTED_MODULE_6__.default.getAllEvents(props);
448
-
449
- if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0___default()(events)) {
450
- return react__WEBPACK_IMPORTED_MODULE_4___default().createElement(victory_shared_events__WEBPACK_IMPORTED_MODULE_9__.default, {
451
- container: container,
452
- eventKey: eventKey,
453
- events: events,
454
- externalEventMutations: externalEventMutations
455
- }, newChildren);
456
- }
457
390
 
458
- return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(container, container.props, newChildren);
391
+ return {};
392
+ }, [standalone, domain, scale, width, height, theme, style, horizontal, polar, origin, name]);
393
+ var container = react__WEBPACK_IMPORTED_MODULE_4___default().useMemo(function () {
394
+ if (standalone) {
395
+ var defaultContainerProps = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, containerComponent.props, containerProps);
396
+
397
+ return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(containerComponent, defaultContainerProps);
459
398
  }
460
- }]);
461
399
 
462
- return VictoryStack;
463
- }((react__WEBPACK_IMPORTED_MODULE_4___default().Component));
400
+ return groupComponent;
401
+ }, [groupComponent, standalone, containerComponent, containerProps]);
402
+ var events = react__WEBPACK_IMPORTED_MODULE_4___default().useMemo(function () {
403
+ return victory_core__WEBPACK_IMPORTED_MODULE_9__.getAllEvents(props);
404
+ }, [props]);
405
+ var previousProps = (0,victory_core__WEBPACK_IMPORTED_MODULE_6__.usePreviousProps)(initialProps);
406
+ react__WEBPACK_IMPORTED_MODULE_4___default().useEffect(function () {
407
+ // This is called before dismount to keep state in sync
408
+ return function () {
409
+ if (initialProps.animate) {
410
+ setAnimationState(previousProps, initialProps);
411
+ }
412
+ };
413
+ }, [setAnimationState, previousProps, initialProps]);
464
414
 
465
- Object.defineProperty(VictoryStack, "displayName", {
466
- configurable: true,
467
- enumerable: true,
468
- writable: true,
469
- value: "VictoryStack"
470
- });
471
- Object.defineProperty(VictoryStack, "role", {
472
- configurable: true,
473
- enumerable: true,
474
- writable: true,
475
- value: "stack"
476
- });
477
- Object.defineProperty(VictoryStack, "propTypes", {
478
- configurable: true,
479
- enumerable: true,
480
- writable: true,
481
- value: _objectSpread({}, victory_core__WEBPACK_IMPORTED_MODULE_10__.baseProps, {
482
- bins: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([victory_core__WEBPACK_IMPORTED_MODULE_11__.nonNegative, prop_types__WEBPACK_IMPORTED_MODULE_3___default().instanceOf(Date)])), victory_core__WEBPACK_IMPORTED_MODULE_11__.nonNegative]),
483
- categories: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)), prop_types__WEBPACK_IMPORTED_MODULE_3___default().shape({
484
- x: prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)),
485
- y: prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string))
486
- })]),
487
- children: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().node)), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node)]),
488
- colorScale: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)), prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(["grayscale", "qualitative", "heatmap", "warm", "cool", "red", "green", "blue"])]),
489
- fillInMissingData: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),
490
- horizontal: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),
491
- labelComponent: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().element),
492
- labels: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().array)]),
493
- style: prop_types__WEBPACK_IMPORTED_MODULE_3___default().shape({
494
- parent: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),
495
- data: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),
496
- labels: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)
497
- }),
498
- xOffset: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number)
499
- })
500
- });
501
- Object.defineProperty(VictoryStack, "defaultProps", {
502
- configurable: true,
503
- enumerable: true,
504
- writable: true,
505
- value: {
506
- containerComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement(victory_core__WEBPACK_IMPORTED_MODULE_12__.default, null),
507
- groupComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement("g", null),
508
- standalone: true,
509
- theme: victory_core__WEBPACK_IMPORTED_MODULE_13__.default.grayscale,
510
- fillInMissingData: true
415
+ if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0___default()(events)) {
416
+ return react__WEBPACK_IMPORTED_MODULE_4___default().createElement(victory_shared_events__WEBPACK_IMPORTED_MODULE_10__.default, {
417
+ container: container,
418
+ eventKey: eventKey,
419
+ events: events,
420
+ externalEventMutations: externalEventMutations
421
+ }, newChildren);
511
422
  }
512
- });
513
- Object.defineProperty(VictoryStack, "expectedComponents", {
514
- configurable: true,
515
- enumerable: true,
516
- writable: true,
517
- value: ["groupComponent", "containerComponent", "labelComponent"]
518
- });
519
- Object.defineProperty(VictoryStack, "getChildren", {
520
- configurable: true,
521
- enumerable: true,
522
- writable: true,
523
- value: _helper_methods__WEBPACK_IMPORTED_MODULE_7__.getChildren
524
- });
525
423
 
424
+ return react__WEBPACK_IMPORTED_MODULE_4___default().cloneElement(container, container.props, newChildren);
425
+ };
426
+
427
+ VictoryStack.propTypes = _objectSpread({}, victory_core__WEBPACK_IMPORTED_MODULE_11__.baseProps, {
428
+ bins: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([victory_core__WEBPACK_IMPORTED_MODULE_12__.nonNegative, prop_types__WEBPACK_IMPORTED_MODULE_3___default().instanceOf(Date)])), victory_core__WEBPACK_IMPORTED_MODULE_12__.nonNegative]),
429
+ categories: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)), prop_types__WEBPACK_IMPORTED_MODULE_3___default().shape({
430
+ x: prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)),
431
+ y: prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string))
432
+ })]),
433
+ children: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().node)), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node)]),
434
+ colorScale: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)), prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(["grayscale", "qualitative", "heatmap", "warm", "cool", "red", "green", "blue"])]),
435
+ fillInMissingData: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),
436
+ horizontal: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),
437
+ labelComponent: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().element),
438
+ labels: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().array)]),
439
+ style: prop_types__WEBPACK_IMPORTED_MODULE_3___default().shape({
440
+ parent: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),
441
+ data: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),
442
+ labels: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)
443
+ }),
444
+ xOffset: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number)
445
+ });
446
+ VictoryStack.defaultProps = {
447
+ containerComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement(victory_core__WEBPACK_IMPORTED_MODULE_13__.default, null),
448
+ groupComponent: react__WEBPACK_IMPORTED_MODULE_4___default().createElement("g", null),
449
+ standalone: true,
450
+ theme: victory_core__WEBPACK_IMPORTED_MODULE_14__.default.grayscale,
451
+ fillInMissingData: true
452
+ };
453
+ var VictoryStackMemo = react__WEBPACK_IMPORTED_MODULE_4___default().memo(VictoryStack, (react_fast_compare__WEBPACK_IMPORTED_MODULE_5___default()));
454
+ VictoryStackMemo.displayName = "VictoryStack";
455
+ VictoryStackMemo.role = "stack";
456
+ VictoryStackMemo.expectedComponents = ["groupComponent", "containerComponent", "labelComponent"];
457
+ VictoryStackMemo.getChildren = _helper_methods__WEBPACK_IMPORTED_MODULE_8__.getChildren;
458
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VictoryStackMemo);
526
459
 
527
460
  /***/ }),
528
461
 
@@ -13675,9 +13608,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
13675
13608
 
13676
13609
 
13677
13610
 
13678
- var VictoryContainer =
13679
- /*#__PURE__*/
13680
- function (_React$Component) {
13611
+ var VictoryContainer = /*#__PURE__*/function (_React$Component) {
13681
13612
  _inherits(VictoryContainer, _React$Component);
13682
13613
 
13683
13614
  function VictoryContainer(props) {
@@ -13994,9 +13925,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
13994
13925
 
13995
13926
 
13996
13927
 
13997
- var Portal =
13998
- /*#__PURE__*/
13999
- function (_React$Component) {
13928
+ var Portal = /*#__PURE__*/function (_React$Component) {
14000
13929
  _inherits(Portal, _React$Component);
14001
13930
 
14002
13931
  function Portal(props) {
@@ -17218,6 +17147,166 @@ function isHorizontal(props) {
17218
17147
 
17219
17148
  /***/ }),
17220
17149
 
17150
+ /***/ "../../victory-core/es/victory-util/hooks.js":
17151
+ /*!***************************************************!*\
17152
+ !*** ../../victory-core/es/victory-util/hooks.js ***!
17153
+ \***************************************************/
17154
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17155
+
17156
+ "use strict";
17157
+ __webpack_require__.r(__webpack_exports__);
17158
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
17159
+ /* harmony export */ "usePreviousProps": () => (/* binding */ usePreviousProps),
17160
+ /* harmony export */ "useAnimationState": () => (/* binding */ useAnimationState)
17161
+ /* harmony export */ });
17162
+ /* harmony import */ var lodash_some__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/some */ "../../../node_modules/lodash/some.js");
17163
+ /* harmony import */ var lodash_some__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_some__WEBPACK_IMPORTED_MODULE_0__);
17164
+ /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
17165
+ /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_1__);
17166
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react");
17167
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
17168
+ /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
17169
+ /* harmony import */ var _transitions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./transitions */ "../../victory-core/es/victory-util/transitions.js");
17170
+
17171
+
17172
+
17173
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
17174
+
17175
+ 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; }
17176
+
17177
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
17178
+
17179
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
17180
+
17181
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
17182
+
17183
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17184
+
17185
+
17186
+
17187
+
17188
+ var usePreviousProps = function (props) {
17189
+ var ref = react__WEBPACK_IMPORTED_MODULE_2___default().useRef();
17190
+ react__WEBPACK_IMPORTED_MODULE_2___default().useEffect(function () {
17191
+ ref.current = props;
17192
+ });
17193
+ return ref.current || {};
17194
+ };
17195
+ var INITIAL_STATE = {
17196
+ nodesShouldLoad: false,
17197
+ nodesDoneLoad: false,
17198
+ animating: true
17199
+ };
17200
+ var useAnimationState = function () {
17201
+ var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;
17202
+
17203
+ var _React$useState = react__WEBPACK_IMPORTED_MODULE_2___default().useState(initialState),
17204
+ _React$useState2 = _slicedToArray(_React$useState, 2),
17205
+ state = _React$useState2[0],
17206
+ _setState = _React$useState2[1]; // This allows us to use a state object and maintain the same API as this.setState
17207
+
17208
+
17209
+ var setState = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(function (newState) {
17210
+ _setState(function (oldState) {
17211
+ return _objectSpread({}, oldState, newState);
17212
+ });
17213
+ }, [_setState]); // This is a copy of Wrapper.getAnimationProps
17214
+
17215
+ var getAnimationProps = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(function (props, child, index) {
17216
+ if (!props.animate) {
17217
+ return child.props.animate;
17218
+ }
17219
+
17220
+ var getFilteredState = function () {
17221
+ var childrenTransitions = state && state.childrenTransitions;
17222
+ childrenTransitions = _collection__WEBPACK_IMPORTED_MODULE_3__.isArrayOfArrays(childrenTransitions) ? childrenTransitions[index] : childrenTransitions;
17223
+ return lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({
17224
+ childrenTransitions: childrenTransitions
17225
+ }, state);
17226
+ };
17227
+
17228
+ var getTransitions = props.animate && props.animate.getTransitions;
17229
+ var filteredState = getFilteredState();
17230
+ var parentState = props.animate && props.animate.parentState || filteredState;
17231
+
17232
+ if (!getTransitions) {
17233
+ var getTransitionProps = _transitions__WEBPACK_IMPORTED_MODULE_4__.getTransitionPropsFactory(props, filteredState, function (newState) {
17234
+ return setState(newState);
17235
+ });
17236
+
17237
+ getTransitions = function (childComponent) {
17238
+ return getTransitionProps(childComponent, index);
17239
+ };
17240
+ }
17241
+
17242
+ return lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({
17243
+ getTransitions: getTransitions,
17244
+ parentState: parentState
17245
+ }, props.animate, child.props.animate);
17246
+ }, [state, setState]); // This is a copy of Wrapper.setAnimationState
17247
+
17248
+ var setAnimationState = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(function (props, nextProps) {
17249
+ if (!props.animate) {
17250
+ return;
17251
+ }
17252
+
17253
+ if (props.animate.parentState) {
17254
+ var nodesWillExit = props.animate.parentState.nodesWillExit;
17255
+ var oldProps = nodesWillExit ? props : null;
17256
+
17257
+ var newState = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({
17258
+ oldProps: oldProps,
17259
+ nextProps: nextProps
17260
+ }, props.animate.parentState);
17261
+
17262
+ setState(newState);
17263
+ } else {
17264
+ var oldChildren = react__WEBPACK_IMPORTED_MODULE_2___default().Children.toArray(props.children);
17265
+ var nextChildren = react__WEBPACK_IMPORTED_MODULE_2___default().Children.toArray(nextProps.children);
17266
+
17267
+ var isContinuous = function (child) {
17268
+ var check = function (c) {
17269
+ return c.type && c.type.continuous;
17270
+ };
17271
+
17272
+ return Array.isArray(child) ? lodash_some__WEBPACK_IMPORTED_MODULE_0___default()(child, check) : check(child);
17273
+ };
17274
+
17275
+ var continuous = !props.polar && lodash_some__WEBPACK_IMPORTED_MODULE_0___default()(oldChildren, function (child) {
17276
+ return isContinuous(child) || child.props.children && isContinuous(child.props.children);
17277
+ });
17278
+
17279
+ var _Transitions$getIniti = _transitions__WEBPACK_IMPORTED_MODULE_4__.getInitialTransitionState(oldChildren, nextChildren),
17280
+ _nodesWillExit = _Transitions$getIniti.nodesWillExit,
17281
+ nodesWillEnter = _Transitions$getIniti.nodesWillEnter,
17282
+ childrenTransitions = _Transitions$getIniti.childrenTransitions,
17283
+ nodesShouldEnter = _Transitions$getIniti.nodesShouldEnter;
17284
+
17285
+ setState({
17286
+ nodesWillExit: _nodesWillExit,
17287
+ nodesWillEnter: nodesWillEnter,
17288
+ nodesShouldEnter: nodesShouldEnter,
17289
+ childrenTransitions: _collection__WEBPACK_IMPORTED_MODULE_3__.isArrayOfArrays(childrenTransitions) ? childrenTransitions[0] : childrenTransitions,
17290
+ oldProps: _nodesWillExit ? props : null,
17291
+ nextProps: nextProps,
17292
+ continuous: continuous
17293
+ });
17294
+ }
17295
+ }, [setState]);
17296
+ var getProps = react__WEBPACK_IMPORTED_MODULE_2___default().useCallback(function (initialProps) {
17297
+ return state && state.nodesWillExit ? state.oldProps || initialProps : initialProps;
17298
+ }, [state]);
17299
+ return {
17300
+ state: state,
17301
+ setState: setState,
17302
+ getAnimationProps: getAnimationProps,
17303
+ setAnimationState: setAnimationState,
17304
+ getProps: getProps
17305
+ };
17306
+ };
17307
+
17308
+ /***/ }),
17309
+
17221
17310
  /***/ "../../victory-core/es/victory-util/immutable.js":
17222
17311
  /*!*******************************************************!*\
17223
17312
  !*** ../../victory-core/es/victory-util/immutable.js ***!
@@ -17866,9 +17955,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
17866
17955
 
17867
17956
 
17868
17957
 
17869
- var Timer =
17870
- /*#__PURE__*/
17871
- function () {
17958
+ var Timer = /*#__PURE__*/function () {
17872
17959
  function Timer() {
17873
17960
  _classCallCheck(this, Timer);
17874
17961
 
@@ -18388,7 +18475,23 @@ function getTransitionPropsFactory(props, state, setState) {
18388
18475
  "use strict";
18389
18476
  __webpack_require__.r(__webpack_exports__);
18390
18477
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18391
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
18478
+ /* harmony export */ "addBinsToParentPropsIfHistogram": () => (/* binding */ addBinsToParentPropsIfHistogram),
18479
+ /* harmony export */ "getDataFromChildren": () => (/* binding */ getDataFromChildren),
18480
+ /* harmony export */ "getData": () => (/* binding */ getData),
18481
+ /* harmony export */ "getWidth": () => (/* binding */ getWidth),
18482
+ /* harmony export */ "getDefaultDomainPadding": () => (/* binding */ getDefaultDomainPadding),
18483
+ /* harmony export */ "getDomainFromChildren": () => (/* binding */ getDomainFromChildren),
18484
+ /* harmony export */ "getDomain": () => (/* binding */ getDomain),
18485
+ /* harmony export */ "getScale": () => (/* binding */ getScale),
18486
+ /* harmony export */ "getAllEvents": () => (/* binding */ getAllEvents),
18487
+ /* harmony export */ "getColor": () => (/* binding */ getColor),
18488
+ /* harmony export */ "getStyle": () => (/* binding */ getStyle),
18489
+ /* harmony export */ "getChildStyle": () => (/* binding */ getChildStyle),
18490
+ /* harmony export */ "getStringsFromCategories": () => (/* binding */ getStringsFromCategories),
18491
+ /* harmony export */ "getStringsFromData": () => (/* binding */ getStringsFromData),
18492
+ /* harmony export */ "getCategoryAndAxisStringsFromChildren": () => (/* binding */ getCategoryAndAxisStringsFromChildren),
18493
+ /* harmony export */ "getStringsFromChildren": () => (/* binding */ getStringsFromChildren),
18494
+ /* harmony export */ "getCategories": () => (/* binding */ getCategories)
18392
18495
  /* harmony export */ });
18393
18496
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ "../../../node_modules/lodash/isPlainObject.js");
18394
18497
  /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);
@@ -18398,32 +18501,27 @@ __webpack_require__.r(__webpack_exports__);
18398
18501
  /* harmony import */ var lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2__);
18399
18502
  /* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/groupBy */ "../../../node_modules/lodash/groupBy.js");
18400
18503
  /* harmony import */ var lodash_groupBy__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_groupBy__WEBPACK_IMPORTED_MODULE_3__);
18401
- /* harmony import */ var lodash_some__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/some */ "../../../node_modules/lodash/some.js");
18402
- /* harmony import */ var lodash_some__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_some__WEBPACK_IMPORTED_MODULE_4__);
18403
- /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/uniq */ "../../../node_modules/lodash/uniq.js");
18404
- /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_5__);
18405
- /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
18406
- /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__);
18407
- /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/flatten */ "../../../node_modules/lodash/flatten.js");
18408
- /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_7__);
18409
- /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
18410
- /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_8__);
18411
- /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
18412
- /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_9__);
18413
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "react");
18414
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
18415
- /* harmony import */ var _axis__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./axis */ "../../victory-core/es/victory-util/axis.js");
18416
- /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./style */ "../../victory-core/es/victory-util/style.js");
18417
- /* harmony import */ var _transitions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./transitions */ "../../victory-core/es/victory-util/transitions.js");
18418
- /* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./data */ "../../victory-core/es/victory-util/data.js");
18419
- /* harmony import */ var _domain__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./domain */ "../../victory-core/es/victory-util/domain.js");
18420
- /* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./events */ "../../victory-core/es/victory-util/events.js");
18421
- /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
18422
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
18423
- /* harmony import */ var _scale__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./scale */ "../../victory-core/es/victory-util/scale.js");
18424
- /* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./log */ "../../victory-core/es/victory-util/log.js");
18425
-
18426
-
18504
+ /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/uniq */ "../../../node_modules/lodash/uniq.js");
18505
+ /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_4__);
18506
+ /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ "../../../node_modules/lodash/isFunction.js");
18507
+ /* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);
18508
+ /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ "../../../node_modules/lodash/flatten.js");
18509
+ /* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);
18510
+ /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/defaults */ "../../../node_modules/lodash/defaults.js");
18511
+ /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_7__);
18512
+ /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/assign */ "../../../node_modules/lodash/assign.js");
18513
+ /* harmony import */ var lodash_assign__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_assign__WEBPACK_IMPORTED_MODULE_8__);
18514
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ "react");
18515
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);
18516
+ /* harmony import */ var _axis__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./axis */ "../../victory-core/es/victory-util/axis.js");
18517
+ /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./style */ "../../victory-core/es/victory-util/style.js");
18518
+ /* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./data */ "../../victory-core/es/victory-util/data.js");
18519
+ /* harmony import */ var _domain__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./domain */ "../../victory-core/es/victory-util/domain.js");
18520
+ /* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./events */ "../../victory-core/es/victory-util/events.js");
18521
+ /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
18522
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
18523
+ /* harmony import */ var _scale__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./scale */ "../../victory-core/es/victory-util/scale.js");
18524
+ /* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./log */ "../../victory-core/es/victory-util/log.js");
18427
18525
 
18428
18526
 
18429
18527
 
@@ -18433,9 +18531,6 @@ __webpack_require__.r(__webpack_exports__);
18433
18531
 
18434
18532
 
18435
18533
 
18436
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
18437
-
18438
- 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; }
18439
18534
 
18440
18535
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
18441
18536
 
@@ -18445,7 +18540,9 @@ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.
18445
18540
 
18446
18541
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
18447
18542
 
18543
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
18448
18544
 
18545
+ 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; }
18449
18546
 
18450
18547
 
18451
18548
 
@@ -18456,500 +18553,418 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
18456
18553
 
18457
18554
 
18458
18555
 
18459
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
18460
- getData: function (props, childComponents) {
18461
- if (props.data) {
18462
- return _data__WEBPACK_IMPORTED_MODULE_11__.getData(props);
18463
- }
18464
18556
 
18465
- childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(props.children);
18466
- return this.getDataFromChildren(childComponents);
18467
- },
18468
- getDefaultDomainPadding: function (props, axis, childComponents) {
18469
- if (props.polar || axis !== "x") {
18470
- return undefined;
18471
- }
18472
-
18473
- var groupComponent = childComponents.filter(function (child) {
18474
- return child.type && child.type.role && child.type.role === "group";
18475
- });
18476
-
18477
- if (groupComponent.length < 1) {
18478
- return undefined;
18479
- }
18557
+ function addBinsToParentPropsIfHistogram(_ref) {
18558
+ var children = _ref.children,
18559
+ props = _ref.props,
18560
+ childComponents = _ref.childComponents,
18561
+ parentProps = _ref.parentProps;
18562
+ var someChildrenAreHistograms = children.some(function (child) {
18563
+ return child.type && child.type.role === "histogram";
18564
+ });
18565
+ var allChildrenAreHistograms = someChildrenAreHistograms && children.length && children.every(function (child) {
18566
+ return child.type && child.type.role === "histogram";
18567
+ });
18480
18568
 
18481
- var _groupComponent$0$pro = groupComponent[0].props,
18482
- offset = _groupComponent$0$pro.offset,
18483
- children = _groupComponent$0$pro.children;
18569
+ if (someChildrenAreHistograms && !allChildrenAreHistograms) {
18570
+ _log__WEBPACK_IMPORTED_MODULE_10__.warn("VictoryHistogram only supports being stacked with other VictoryHistogram components. Check to make sure that you are only passing VictoryHistogram components to VictoryStack");
18571
+ } // if we are stacking histograms, we need to generate explicit bins
18572
+ // or else each histogram may end up having different bins
18484
18573
 
18485
- if (!offset) {
18486
- return undefined;
18487
- }
18488
18574
 
18489
- var firstChild = Array.isArray(children) && children[0];
18575
+ if (!allChildrenAreHistograms) {
18576
+ return parentProps;
18577
+ }
18490
18578
 
18491
- if (!firstChild) {
18492
- return undefined;
18493
- }
18579
+ var childBins = props.bins || childComponents[0].props.bins; // if we have explicit bins then we don't need to calculate them
18494
18580
 
18495
- var barWidth = firstChild.props.barWidth;
18496
- var dataLength = firstChild.props.data && firstChild.props.data.length || 1;
18581
+ if (!Array.isArray(childBins)) {
18582
+ var combinedData = children.reduce(function (memo, child) {
18583
+ var xAccessor = _helpers__WEBPACK_IMPORTED_MODULE_11__.createAccessor(child.props.x || "x");
18584
+ return memo.concat(child.props.data.map(function (datum) {
18585
+ return {
18586
+ x: xAccessor(datum)
18587
+ };
18588
+ }));
18589
+ }, []); // use the same function to generate bins as VictoryHistogram but with
18590
+ // the combined data from above, then get explicit bins from that
18497
18591
 
18498
- if (firstChild && firstChild.type.role === "stack") {
18499
- var nestedChild = firstChild.props.children && firstChild.props.children[0];
18592
+ var getFormattedHistogramData = children[0].type.getFormattedData;
18593
+ childBins = getFormattedHistogramData({
18594
+ data: combinedData,
18595
+ bins: childBins
18596
+ }).reduce(function (memo, _ref2, index) {
18597
+ var x0 = _ref2.x0,
18598
+ x1 = _ref2.x1;
18599
+ return index === 0 ? memo.concat([x0, x1]) : memo.concat(x1);
18600
+ }, []);
18601
+ }
18500
18602
 
18501
- if (!nestedChild) {
18502
- return undefined;
18503
- }
18603
+ return _objectSpread({}, parentProps, {
18604
+ bins: childBins
18605
+ });
18606
+ }
18607
+ function getDataFromChildren(props, childComponents) {
18608
+ var polar = props.polar,
18609
+ startAngle = props.startAngle,
18610
+ endAngle = props.endAngle,
18611
+ categories = props.categories,
18612
+ minDomain = props.minDomain,
18613
+ maxDomain = props.maxDomain;
18614
+ var parentProps = {
18615
+ polar: polar,
18616
+ startAngle: startAngle,
18617
+ endAngle: endAngle,
18618
+ categories: categories,
18619
+ minDomain: minDomain,
18620
+ maxDomain: maxDomain
18621
+ };
18622
+ var stack = 0;
18623
+ var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
18624
+ parentProps = addBinsToParentPropsIfHistogram({
18625
+ children: children,
18626
+ props: props,
18627
+ childComponents: childComponents,
18628
+ parentProps: parentProps
18629
+ });
18504
18630
 
18505
- barWidth = nestedChild.props.barWidth;
18506
- dataLength = firstChild.props.children.length;
18507
- }
18631
+ var iteratee = function (child, childName, parent) {
18632
+ var childProps = lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, child.props, parentProps);
18508
18633
 
18509
- var width = barWidth || this.getWidth(props, children.length, dataLength);
18510
- return {
18511
- x: width * children.length / 2 + (offset - width * ((children.length - 1) / 2))
18512
- };
18513
- },
18514
- getDomain: function (props, axis, childComponents) {
18515
- childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(props.children);
18516
- var propsDomain = _domain__WEBPACK_IMPORTED_MODULE_12__.getDomainFromProps(props, axis);
18517
- var domainPadding = this.getDefaultDomainPadding(props, axis, childComponents);
18518
- var domain;
18634
+ var childData;
18519
18635
 
18520
- if (propsDomain) {
18521
- domain = propsDomain;
18636
+ if (!_data__WEBPACK_IMPORTED_MODULE_12__.isDataComponent(child)) {
18637
+ return null;
18638
+ } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(child.type.getData)) {
18639
+ child = parent ? react__WEBPACK_IMPORTED_MODULE_9___default().cloneElement(child, parent.props) : child;
18640
+ childData = child.type.getData(childProps);
18522
18641
  } else {
18523
- var minDomain = _domain__WEBPACK_IMPORTED_MODULE_12__.getMinFromProps(props, axis);
18524
- var maxDomain = _domain__WEBPACK_IMPORTED_MODULE_12__.getMaxFromProps(props, axis);
18525
- var dataset = (props.data || props.y) && _data__WEBPACK_IMPORTED_MODULE_11__.getData(props);
18526
- var dataDomain = dataset ? _domain__WEBPACK_IMPORTED_MODULE_12__.getDomainFromData(props, axis, dataset) : [];
18527
- var childDomain = this.getDomainFromChildren(props, axis, childComponents);
18528
- var min = minDomain || _collection__WEBPACK_IMPORTED_MODULE_13__.getMinValue(_toConsumableArray(dataDomain).concat(_toConsumableArray(childDomain)));
18529
- var max = maxDomain || _collection__WEBPACK_IMPORTED_MODULE_13__.getMaxValue(_toConsumableArray(dataDomain).concat(_toConsumableArray(childDomain)));
18530
- domain = _domain__WEBPACK_IMPORTED_MODULE_12__.getDomainFromMinMax(min, max);
18531
- }
18532
-
18533
- return _domain__WEBPACK_IMPORTED_MODULE_12__.formatDomain(domain, lodash_assign__WEBPACK_IMPORTED_MODULE_9___default()({
18534
- domainPadding: domainPadding
18535
- }, props), axis);
18536
- },
18537
- getScale: function (props, axis, childComponents) {
18538
- if (props.data) {
18539
- return _scale__WEBPACK_IMPORTED_MODULE_14__.getBaseScale(props, axis);
18642
+ childData = _data__WEBPACK_IMPORTED_MODULE_12__.getData(childProps);
18540
18643
  }
18541
18644
 
18542
- var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(props.children);
18543
-
18544
- var iteratee = function (child) {
18545
- var sharedProps = lodash_assign__WEBPACK_IMPORTED_MODULE_9___default()({}, child.props, {
18546
- horizontal: props.horizontal
18547
- });
18548
-
18549
- return _scale__WEBPACK_IMPORTED_MODULE_14__.getScaleType(sharedProps, axis);
18550
- };
18645
+ stack += 1;
18646
+ return childData.map(function (datum, index) {
18647
+ return lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({
18648
+ _stack: stack,
18649
+ _group: index
18650
+ }, datum);
18651
+ });
18652
+ };
18551
18653
 
18552
- var childScale = lodash_uniq__WEBPACK_IMPORTED_MODULE_5___default()(_helpers__WEBPACK_IMPORTED_MODULE_15__.reduceChildren(children, iteratee, props)); // default to linear scale if more than one uniq scale type is given by children
18654
+ var stacked = children.filter(function (c) {
18655
+ return c.type && c.type.role === "stack";
18656
+ }).length;
18553
18657
 
18658
+ var combine = function (memo, val) {
18659
+ return memo.concat(lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2___default()(val, "_group"));
18660
+ };
18554
18661
 
18555
- return childScale.length > 1 ? _scale__WEBPACK_IMPORTED_MODULE_14__.getScaleFromName("linear") : _scale__WEBPACK_IMPORTED_MODULE_14__.getScaleFromName(childScale[0]);
18556
- },
18557
- setAnimationState: function (props, nextProps) {
18558
- if (!props.animate) {
18559
- return;
18560
- }
18662
+ var datasets = _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(children, iteratee, props, [], combine);
18663
+ var group = stacked ? "_group" : "_stack";
18664
+ return lodash_values__WEBPACK_IMPORTED_MODULE_1___default()(lodash_groupBy__WEBPACK_IMPORTED_MODULE_3___default()(datasets, group));
18665
+ }
18666
+ function getData(props, childComponents) {
18667
+ if (props.data) {
18668
+ return _data__WEBPACK_IMPORTED_MODULE_12__.getData(props);
18669
+ }
18561
18670
 
18562
- if (props.animate.parentState) {
18563
- var nodesWillExit = props.animate.parentState.nodesWillExit;
18564
- var oldProps = nodesWillExit ? props : null;
18565
- this.setState(lodash_defaults__WEBPACK_IMPORTED_MODULE_8___default()({
18566
- oldProps: oldProps,
18567
- nextProps: nextProps
18568
- }, props.animate.parentState));
18569
- } else {
18570
- var oldChildren = react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(props.children);
18571
- var nextChildren = react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(nextProps.children);
18671
+ childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
18672
+ return getDataFromChildren(childComponents);
18673
+ }
18674
+ function getWidth(props, groupLength, seriesLength) {
18675
+ var datasets = props.datasets,
18676
+ horizontal = props.horizontal;
18677
+ var range = horizontal ? _helpers__WEBPACK_IMPORTED_MODULE_11__.getRange(props, "y") : _helpers__WEBPACK_IMPORTED_MODULE_11__.getRange(props, "x");
18678
+ var extent = Math.abs(range[1] - range[0]);
18679
+ seriesLength = seriesLength !== undefined ? seriesLength : Array.isArray(datasets[0]) && datasets[0].length || 1;
18680
+ groupLength = groupLength || datasets.length;
18681
+ var bars = groupLength * seriesLength;
18682
+ var barRatio = 0.5;
18683
+ return Math.round(barRatio * extent / bars);
18684
+ }
18685
+ function getDefaultDomainPadding(props, axis, childComponents) {
18686
+ if (props.polar || axis !== "x") {
18687
+ return undefined;
18688
+ }
18572
18689
 
18573
- var isContinuous = function (child) {
18574
- var check = function (c) {
18575
- return c.type && c.type.continuous;
18576
- };
18690
+ var groupComponent = childComponents.filter(function (child) {
18691
+ return child.type && child.type.role && child.type.role === "group";
18692
+ });
18577
18693
 
18578
- return Array.isArray(child) ? lodash_some__WEBPACK_IMPORTED_MODULE_4___default()(child, check) : check(child);
18579
- };
18694
+ if (groupComponent.length < 1) {
18695
+ return undefined;
18696
+ }
18580
18697
 
18581
- var continuous = !props.polar && lodash_some__WEBPACK_IMPORTED_MODULE_4___default()(oldChildren, function (child) {
18582
- return isContinuous(child) || child.props.children && isContinuous(child.props.children);
18583
- });
18698
+ var _groupComponent$0$pro = groupComponent[0].props,
18699
+ offset = _groupComponent$0$pro.offset,
18700
+ children = _groupComponent$0$pro.children;
18584
18701
 
18585
- var _Transitions$getIniti = _transitions__WEBPACK_IMPORTED_MODULE_16__.getInitialTransitionState(oldChildren, nextChildren),
18586
- _nodesWillExit = _Transitions$getIniti.nodesWillExit,
18587
- nodesWillEnter = _Transitions$getIniti.nodesWillEnter,
18588
- childrenTransitions = _Transitions$getIniti.childrenTransitions,
18589
- nodesShouldEnter = _Transitions$getIniti.nodesShouldEnter;
18702
+ if (!offset) {
18703
+ return undefined;
18704
+ }
18590
18705
 
18591
- this.setState({
18592
- nodesWillExit: _nodesWillExit,
18593
- nodesWillEnter: nodesWillEnter,
18594
- nodesShouldEnter: nodesShouldEnter,
18595
- childrenTransitions: _collection__WEBPACK_IMPORTED_MODULE_13__.isArrayOfArrays(childrenTransitions) ? childrenTransitions[0] : childrenTransitions,
18596
- oldProps: _nodesWillExit ? props : null,
18597
- nextProps: nextProps,
18598
- continuous: continuous
18599
- });
18600
- }
18601
- },
18602
- getAllEvents: function (props) {
18603
- var components = ["groupComponent", "containerComponent", "labelComponent"];
18604
- this.componentEvents = _events__WEBPACK_IMPORTED_MODULE_17__.getComponentEvents(props, components);
18605
- var events = props.events;
18706
+ var firstChild = Array.isArray(children) && children[0];
18606
18707
 
18607
- if (Array.isArray(this.componentEvents)) {
18608
- var _componentEvents;
18708
+ if (!firstChild) {
18709
+ return undefined;
18710
+ }
18609
18711
 
18610
- events = Array.isArray(props.events) ? (_componentEvents = this.componentEvents).concat.apply(_componentEvents, _toConsumableArray(props.events)) : this.componentEvents;
18611
- }
18712
+ var barWidth = firstChild.props.barWidth;
18713
+ var dataLength = firstChild.props.data && firstChild.props.data.length || 1;
18612
18714
 
18613
- return events || [];
18614
- },
18615
- getAnimationProps: function (props, child, index) {
18616
- var _this = this;
18715
+ if (firstChild && firstChild.type.role === "stack") {
18716
+ var nestedChild = firstChild.props.children && firstChild.props.children[0];
18617
18717
 
18618
- if (!props.animate) {
18619
- return child.props.animate;
18718
+ if (!nestedChild) {
18719
+ return undefined;
18620
18720
  }
18621
18721
 
18622
- var getFilteredState = function () {
18623
- var childrenTransitions = _this.state && _this.state.childrenTransitions;
18624
- childrenTransitions = _collection__WEBPACK_IMPORTED_MODULE_13__.isArrayOfArrays(childrenTransitions) ? childrenTransitions[index] : childrenTransitions;
18625
- return lodash_defaults__WEBPACK_IMPORTED_MODULE_8___default()({
18626
- childrenTransitions: childrenTransitions
18627
- }, _this.state);
18628
- };
18722
+ barWidth = nestedChild.props.barWidth;
18723
+ dataLength = firstChild.props.children.length;
18724
+ }
18629
18725
 
18630
- var getTransitions = props.animate && props.animate.getTransitions;
18631
- var state = getFilteredState();
18632
- var parentState = props.animate && props.animate.parentState || state;
18726
+ var width = barWidth || getWidth(props, children.length, dataLength);
18727
+ return {
18728
+ x: width * children.length / 2 + (offset - width * ((children.length - 1) / 2))
18729
+ };
18730
+ }
18731
+ function getDomainFromChildren(props, axis, childComponents) {
18732
+ // eslint-disable-line max-statements, complexity, max-len
18733
+ var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
18734
+ var parentData = props.data ? _data__WEBPACK_IMPORTED_MODULE_12__.getData(props, axis) : undefined;
18735
+ var polar = props.polar,
18736
+ startAngle = props.startAngle,
18737
+ endAngle = props.endAngle,
18738
+ categories = props.categories,
18739
+ minDomain = props.minDomain,
18740
+ maxDomain = props.maxDomain,
18741
+ horizontal = props.horizontal;
18742
+ var baseParentProps = {
18743
+ horizontal: horizontal,
18744
+ polar: polar,
18745
+ startAngle: startAngle,
18746
+ endAngle: endAngle,
18747
+ minDomain: minDomain,
18748
+ maxDomain: maxDomain,
18749
+ categories: categories
18750
+ };
18751
+ var parentProps = parentData ? lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()(baseParentProps, {
18752
+ data: parentData
18753
+ }) : baseParentProps;
18633
18754
 
18634
- if (!getTransitions) {
18635
- var getTransitionProps = _transitions__WEBPACK_IMPORTED_MODULE_16__.getTransitionPropsFactory(props, state, function (newState) {
18636
- return _this.setState(newState);
18637
- });
18755
+ var iteratee = function (child) {
18756
+ var sharedProps = lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, child.props, parentProps);
18638
18757
 
18639
- getTransitions = function (childComponent) {
18640
- return getTransitionProps(childComponent, index);
18641
- };
18758
+ if (!_domain__WEBPACK_IMPORTED_MODULE_13__.isDomainComponent(child)) {
18759
+ return null;
18760
+ } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(child.type.getDomain)) {
18761
+ return child.props && child.type.getDomain(sharedProps, axis);
18762
+ } else {
18763
+ return _domain__WEBPACK_IMPORTED_MODULE_13__.getDomain(sharedProps, axis);
18642
18764
  }
18765
+ };
18643
18766
 
18644
- return lodash_defaults__WEBPACK_IMPORTED_MODULE_8___default()({
18645
- getTransitions: getTransitions,
18646
- parentState: parentState
18647
- }, props.animate, child.props.animate);
18648
- },
18649
- getDomainFromChildren: function (props, axis, childComponents) {
18650
- // eslint-disable-line max-statements, complexity, max-len
18651
- var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(props.children);
18652
- var parentData = props.data ? _data__WEBPACK_IMPORTED_MODULE_11__.getData(props, axis) : undefined;
18653
- var polar = props.polar,
18654
- startAngle = props.startAngle,
18655
- endAngle = props.endAngle,
18656
- categories = props.categories,
18657
- minDomain = props.minDomain,
18658
- maxDomain = props.maxDomain,
18659
- horizontal = props.horizontal;
18660
- var baseParentProps = {
18661
- horizontal: horizontal,
18662
- polar: polar,
18663
- startAngle: startAngle,
18664
- endAngle: endAngle,
18665
- minDomain: minDomain,
18666
- maxDomain: maxDomain,
18667
- categories: categories
18668
- };
18669
- var parentProps = parentData ? lodash_assign__WEBPACK_IMPORTED_MODULE_9___default()(baseParentProps, {
18670
- data: parentData
18671
- }) : baseParentProps;
18672
-
18673
- var iteratee = function (child) {
18674
- var sharedProps = lodash_assign__WEBPACK_IMPORTED_MODULE_9___default()({}, child.props, parentProps);
18675
-
18676
- if (!_domain__WEBPACK_IMPORTED_MODULE_12__.isDomainComponent(child)) {
18677
- return null;
18678
- } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(child.type.getDomain)) {
18679
- return child.props && child.type.getDomain(sharedProps, axis);
18680
- } else {
18681
- return _domain__WEBPACK_IMPORTED_MODULE_12__.getDomain(sharedProps, axis);
18682
- }
18683
- };
18684
-
18685
- var childDomains = _helpers__WEBPACK_IMPORTED_MODULE_15__.reduceChildren(children, iteratee, props);
18686
- var min = childDomains.length === 0 ? 0 : _collection__WEBPACK_IMPORTED_MODULE_13__.getMinValue(childDomains);
18687
- var max = childDomains.length === 0 ? 1 : _collection__WEBPACK_IMPORTED_MODULE_13__.getMaxValue(childDomains);
18688
- return [min, max];
18689
- },
18690
- addBinsToParentPropsIfHistogram: function (_ref) {
18691
- var children = _ref.children,
18692
- props = _ref.props,
18693
- childComponents = _ref.childComponents,
18694
- parentProps = _ref.parentProps;
18695
- var someChildrenAreHistograms = children.some(function (child) {
18696
- return child.type && child.type.role === "histogram";
18697
- });
18698
- var allChildrenAreHistograms = someChildrenAreHistograms && children.length && children.every(function (child) {
18699
- return child.type && child.type.role === "histogram";
18700
- });
18701
-
18702
- if (someChildrenAreHistograms && !allChildrenAreHistograms) {
18703
- _log__WEBPACK_IMPORTED_MODULE_18__.warn("VictoryHistogram only supports being stacked with other VictoryHistogram components. Check to make sure that you are only passing VictoryHistogram components to VictoryStack");
18704
- } // if we are stacking histograms, we need to generate explicit bins
18705
- // or else each histogram may end up having different bins
18706
-
18767
+ var childDomains = _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(children, iteratee, props);
18768
+ var min = childDomains.length === 0 ? 0 : _collection__WEBPACK_IMPORTED_MODULE_14__.getMinValue(childDomains);
18769
+ var max = childDomains.length === 0 ? 1 : _collection__WEBPACK_IMPORTED_MODULE_14__.getMaxValue(childDomains);
18770
+ return [min, max];
18771
+ }
18772
+ function getDomain(props, axis, childComponents) {
18773
+ childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
18774
+ var propsDomain = _domain__WEBPACK_IMPORTED_MODULE_13__.getDomainFromProps(props, axis);
18775
+ var domainPadding = getDefaultDomainPadding(props, axis, childComponents);
18776
+ var domain;
18707
18777
 
18708
- if (!allChildrenAreHistograms) {
18709
- return parentProps;
18710
- }
18778
+ if (propsDomain) {
18779
+ domain = propsDomain;
18780
+ } else {
18781
+ var minDomain = _domain__WEBPACK_IMPORTED_MODULE_13__.getMinFromProps(props, axis);
18782
+ var maxDomain = _domain__WEBPACK_IMPORTED_MODULE_13__.getMaxFromProps(props, axis);
18783
+ var dataset = (props.data || props.y) && _data__WEBPACK_IMPORTED_MODULE_12__.getData(props);
18784
+ var dataDomain = dataset ? _domain__WEBPACK_IMPORTED_MODULE_13__.getDomainFromData(props, axis, dataset) : [];
18785
+ var childDomain = getDomainFromChildren(props, axis, childComponents);
18786
+ var min = minDomain || _collection__WEBPACK_IMPORTED_MODULE_14__.getMinValue(_toConsumableArray(dataDomain).concat(_toConsumableArray(childDomain)));
18787
+ var max = maxDomain || _collection__WEBPACK_IMPORTED_MODULE_14__.getMaxValue(_toConsumableArray(dataDomain).concat(_toConsumableArray(childDomain)));
18788
+ domain = _domain__WEBPACK_IMPORTED_MODULE_13__.getDomainFromMinMax(min, max);
18789
+ }
18711
18790
 
18712
- var childBins = props.bins || childComponents[0].props.bins; // if we have explicit bins then we don't need to calculate them
18791
+ return _domain__WEBPACK_IMPORTED_MODULE_13__.formatDomain(domain, lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({
18792
+ domainPadding: domainPadding
18793
+ }, props), axis);
18794
+ }
18795
+ function getScale(props, axis, childComponents) {
18796
+ if (props.data) {
18797
+ return _scale__WEBPACK_IMPORTED_MODULE_15__.getBaseScale(props, axis);
18798
+ }
18713
18799
 
18714
- if (!Array.isArray(childBins)) {
18715
- var combinedData = children.reduce(function (memo, child) {
18716
- var xAccessor = _helpers__WEBPACK_IMPORTED_MODULE_15__.createAccessor(child.props.x || "x");
18717
- return memo.concat(child.props.data.map(function (datum) {
18718
- return {
18719
- x: xAccessor(datum)
18720
- };
18721
- }));
18722
- }, []); // use the same function to generate bins as VictoryHistogram but with
18723
- // the combined data from above, then get explicit bins from that
18724
-
18725
- var getFormattedHistogramData = children[0].type.getFormattedData;
18726
- childBins = getFormattedHistogramData({
18727
- data: combinedData,
18728
- bins: childBins
18729
- }).reduce(function (memo, _ref2, index) {
18730
- var x0 = _ref2.x0,
18731
- x1 = _ref2.x1;
18732
- return index === 0 ? memo.concat([x0, x1]) : memo.concat(x1);
18733
- }, []);
18734
- }
18800
+ var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
18735
18801
 
18736
- return _objectSpread({}, parentProps, {
18737
- bins: childBins
18802
+ var iteratee = function (child) {
18803
+ var sharedProps = lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, child.props, {
18804
+ horizontal: props.horizontal
18738
18805
  });
18739
- },
18740
- getDataFromChildren: function (props, childComponents) {
18741
- var polar = props.polar,
18742
- startAngle = props.startAngle,
18743
- endAngle = props.endAngle,
18744
- categories = props.categories,
18745
- minDomain = props.minDomain,
18746
- maxDomain = props.maxDomain;
18747
- var parentProps = {
18748
- polar: polar,
18749
- startAngle: startAngle,
18750
- endAngle: endAngle,
18751
- categories: categories,
18752
- minDomain: minDomain,
18753
- maxDomain: maxDomain
18754
- };
18755
- var stack = 0;
18756
- var children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(props.children);
18757
- parentProps = this.addBinsToParentPropsIfHistogram({
18758
- children: children,
18759
- props: props,
18760
- childComponents: childComponents,
18761
- parentProps: parentProps
18762
- });
18763
-
18764
- var iteratee = function (child, childName, parent) {
18765
- var childProps = lodash_assign__WEBPACK_IMPORTED_MODULE_9___default()({}, child.props, parentProps);
18766
18806
 
18767
- var childData;
18768
-
18769
- if (!_data__WEBPACK_IMPORTED_MODULE_11__.isDataComponent(child)) {
18770
- return null;
18771
- } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(child.type.getData)) {
18772
- child = parent ? react__WEBPACK_IMPORTED_MODULE_10___default().cloneElement(child, parent.props) : child;
18773
- childData = child.type.getData(childProps);
18774
- } else {
18775
- childData = _data__WEBPACK_IMPORTED_MODULE_11__.getData(childProps);
18776
- }
18777
-
18778
- stack += 1;
18779
- return childData.map(function (datum, index) {
18780
- return lodash_assign__WEBPACK_IMPORTED_MODULE_9___default()({
18781
- _stack: stack,
18782
- _group: index
18783
- }, datum);
18784
- });
18785
- };
18807
+ return _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleType(sharedProps, axis);
18808
+ };
18786
18809
 
18787
- var stacked = children.filter(function (c) {
18788
- return c.type && c.type.role === "stack";
18789
- }).length;
18810
+ var childScale = lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(_helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(children, iteratee, props)); // default to linear scale if more than one uniq scale type is given by children
18790
18811
 
18791
- var combine = function (memo, val) {
18792
- return memo.concat(lodash_uniqBy__WEBPACK_IMPORTED_MODULE_2___default()(val, "_group"));
18793
- };
18794
18812
 
18795
- var datasets = _helpers__WEBPACK_IMPORTED_MODULE_15__.reduceChildren(children, iteratee, props, [], combine);
18796
- var group = stacked ? "_group" : "_stack";
18797
- return lodash_values__WEBPACK_IMPORTED_MODULE_1___default()(lodash_groupBy__WEBPACK_IMPORTED_MODULE_3___default()(datasets, group));
18798
- },
18799
- getColor: function (calculatedProps, child, index) {
18800
- // check for styles first
18801
- var style = calculatedProps.style;
18802
- var colorScale = calculatedProps.colorScale,
18803
- color = calculatedProps.color;
18804
-
18805
- if (style && style.data && style.data.fill) {
18806
- return style.data.fill;
18807
- }
18813
+ return childScale.length > 1 ? _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleFromName("linear") : _scale__WEBPACK_IMPORTED_MODULE_15__.getScaleFromName(childScale[0]);
18814
+ }
18815
+ function getAllEvents(props) {
18816
+ var components = ["groupComponent", "containerComponent", "labelComponent"];
18817
+ var componentEvents = _events__WEBPACK_IMPORTED_MODULE_16__.getComponentEvents(props, components);
18818
+ var events = props.events;
18808
18819
 
18809
- colorScale = child.props && child.props.colorScale ? child.props.colorScale : colorScale;
18810
- color = child.props && child.props.color ? child.props.color : color;
18820
+ if (Array.isArray(componentEvents)) {
18821
+ events = Array.isArray(props.events) ? componentEvents.concat.apply(componentEvents, _toConsumableArray(props.events)) : componentEvents;
18822
+ }
18811
18823
 
18812
- if (!colorScale && !color) {
18813
- return undefined;
18814
- }
18824
+ return events || [];
18825
+ }
18826
+ function getColor(calculatedProps, child, index) {
18827
+ // check for styles first
18828
+ var style = calculatedProps.style;
18829
+ var colorScale = calculatedProps.colorScale,
18830
+ color = calculatedProps.color;
18815
18831
 
18816
- var colors = Array.isArray(colorScale) ? colorScale : _style__WEBPACK_IMPORTED_MODULE_19__.getColorScale(colorScale);
18817
- return color || colors[index % colors.length];
18818
- },
18819
- getWidth: function (props, groupLength, seriesLength) {
18820
- var datasets = props.datasets,
18821
- horizontal = props.horizontal;
18822
- var range = horizontal ? _helpers__WEBPACK_IMPORTED_MODULE_15__.getRange(props, "y") : _helpers__WEBPACK_IMPORTED_MODULE_15__.getRange(props, "x");
18823
- var extent = Math.abs(range[1] - range[0]);
18824
- seriesLength = seriesLength !== undefined ? seriesLength : Array.isArray(datasets[0]) && datasets[0].length || 1;
18825
- groupLength = groupLength || datasets.length;
18826
- var bars = groupLength * seriesLength;
18827
- var barRatio = 0.5;
18828
- return Math.round(barRatio * extent / bars);
18829
- },
18830
- getStyle: function (theme, style, role) {
18831
- var defaultStyle = theme && theme[role] && theme[role].style ? theme[role].style : {};
18832
- return _helpers__WEBPACK_IMPORTED_MODULE_15__.getStyles(style, defaultStyle);
18833
- },
18834
- getChildStyle: function (child, index, calculatedProps) {
18835
- var style = calculatedProps.style,
18836
- role = calculatedProps.role;
18837
- var childStyle = child.props.style || {};
18832
+ if (style && style.data && style.data.fill) {
18833
+ return style.data.fill;
18834
+ }
18838
18835
 
18839
- if (Array.isArray(childStyle)) {
18840
- return childStyle;
18841
- }
18836
+ colorScale = child.props && child.props.colorScale ? child.props.colorScale : colorScale;
18837
+ color = child.props && child.props.color ? child.props.color : color;
18842
18838
 
18843
- var childRole = child.type && child.type.role;
18844
- var defaultFill = childRole === "stack" ? undefined : this.getColor(calculatedProps, child, index);
18845
- var defaultColor = childRole === "line" ? {
18846
- fill: "none",
18847
- stroke: defaultFill
18848
- } : {
18849
- fill: defaultFill
18850
- };
18851
- var dataWidth = role === "stack" ? {} : {
18852
- width: this.getWidth(calculatedProps)
18853
- };
18839
+ if (!colorScale && !color) {
18840
+ return undefined;
18841
+ }
18854
18842
 
18855
- var dataStyle = lodash_defaults__WEBPACK_IMPORTED_MODULE_8___default()({}, childStyle.data, lodash_assign__WEBPACK_IMPORTED_MODULE_9___default()({}, dataWidth, style.data, defaultColor));
18843
+ var colors = Array.isArray(colorScale) ? colorScale : _style__WEBPACK_IMPORTED_MODULE_17__.getColorScale(colorScale);
18844
+ return color || colors[index % colors.length];
18845
+ }
18846
+ function getStyle(theme, style, role) {
18847
+ var defaultStyle = theme && theme[role] && theme[role].style ? theme[role].style : {};
18848
+ return _helpers__WEBPACK_IMPORTED_MODULE_11__.getStyles(style, defaultStyle);
18849
+ }
18850
+ function getChildStyle(child, index, calculatedProps) {
18851
+ var style = calculatedProps.style,
18852
+ role = calculatedProps.role;
18853
+ var childStyle = child.props.style || {};
18856
18854
 
18857
- var labelsStyle = lodash_defaults__WEBPACK_IMPORTED_MODULE_8___default()({}, childStyle.labels, style.labels);
18855
+ if (Array.isArray(childStyle)) {
18856
+ return childStyle;
18857
+ }
18858
18858
 
18859
- return {
18860
- parent: style.parent,
18861
- data: dataStyle,
18862
- labels: labelsStyle
18863
- };
18864
- },
18865
- getStringsFromCategories: function (childComponents, axis) {
18866
- var iteratee = function (child) {
18867
- var childProps = child.props || {};
18859
+ var childRole = child.type && child.type.role;
18860
+ var defaultFill = childRole === "stack" ? undefined : getColor(calculatedProps, child, index);
18861
+ var defaultColor = childRole === "line" ? {
18862
+ fill: "none",
18863
+ stroke: defaultFill
18864
+ } : {
18865
+ fill: defaultFill
18866
+ };
18867
+ var dataWidth = role === "stack" ? {} : {
18868
+ width: getWidth(calculatedProps)
18869
+ };
18868
18870
 
18869
- if (!_domain__WEBPACK_IMPORTED_MODULE_12__.isDomainComponent(child) || !childProps.categories) {
18870
- return null;
18871
- } else {
18872
- var categories = childProps.categories && !Array.isArray(childProps.categories) ? childProps.categories[axis] : childProps.props.categories;
18873
- var categoryStrings = categories && categories.filter(function (val) {
18874
- return typeof val === "string";
18875
- });
18876
- return categoryStrings ? _collection__WEBPACK_IMPORTED_MODULE_13__.removeUndefined(categoryStrings) : [];
18877
- }
18878
- };
18871
+ var dataStyle = lodash_defaults__WEBPACK_IMPORTED_MODULE_7___default()({}, childStyle.data, lodash_assign__WEBPACK_IMPORTED_MODULE_8___default()({}, dataWidth, style.data, defaultColor));
18879
18872
 
18880
- return _helpers__WEBPACK_IMPORTED_MODULE_15__.reduceChildren(childComponents.slice(0), iteratee);
18881
- },
18882
- getStringsFromData: function (childComponents) {
18883
- var iteratee = function (child) {
18884
- var childProps = child.props || {};
18885
- var data;
18873
+ var labelsStyle = lodash_defaults__WEBPACK_IMPORTED_MODULE_7___default()({}, childStyle.labels, style.labels);
18886
18874
 
18887
- if (!_data__WEBPACK_IMPORTED_MODULE_11__.isDataComponent(child)) {
18888
- return null;
18889
- } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(child.type.getData)) {
18890
- data = child.type.getData(childProps);
18891
- } else {
18892
- data = _data__WEBPACK_IMPORTED_MODULE_11__.getData(childProps);
18893
- }
18875
+ return {
18876
+ parent: style.parent,
18877
+ data: dataStyle,
18878
+ labels: labelsStyle
18879
+ };
18880
+ }
18881
+ function getStringsFromCategories(childComponents, axis) {
18882
+ var iteratee = function (child) {
18883
+ var childProps = child.props || {};
18894
18884
 
18895
- return data.map(function (d) {
18896
- return {
18897
- x: d.xName,
18898
- y: d.yName
18899
- };
18885
+ if (!_domain__WEBPACK_IMPORTED_MODULE_13__.isDomainComponent(child) || !childProps.categories) {
18886
+ return null;
18887
+ } else {
18888
+ var categories = childProps.categories && !Array.isArray(childProps.categories) ? childProps.categories[axis] : childProps.props.categories;
18889
+ var categoryStrings = categories && categories.filter(function (val) {
18890
+ return typeof val === "string";
18900
18891
  });
18901
- };
18892
+ return categoryStrings ? _collection__WEBPACK_IMPORTED_MODULE_14__.removeUndefined(categoryStrings) : [];
18893
+ }
18894
+ };
18902
18895
 
18903
- var initialMemo = {
18904
- x: [],
18905
- y: []
18906
- };
18896
+ return _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(childComponents.slice(0), iteratee);
18897
+ }
18898
+ function getStringsFromData(childComponents) {
18899
+ var iteratee = function (child) {
18900
+ var childProps = child.props || {};
18901
+ var data;
18907
18902
 
18908
- var combine = function (memo, datum) {
18909
- var x = Array.isArray(datum) ? datum.map(function (d) {
18910
- return d.x;
18911
- }).filter(Boolean) : datum.x;
18912
- var y = Array.isArray(datum) ? datum.map(function (d) {
18913
- return d.y;
18914
- }).filter(Boolean) : datum.y;
18903
+ if (!_data__WEBPACK_IMPORTED_MODULE_12__.isDataComponent(child)) {
18904
+ return null;
18905
+ } else if (child.type && lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(child.type.getData)) {
18906
+ data = child.type.getData(childProps);
18907
+ } else {
18908
+ data = _data__WEBPACK_IMPORTED_MODULE_12__.getData(childProps);
18909
+ }
18910
+
18911
+ return data.map(function (d) {
18915
18912
  return {
18916
- x: x !== undefined ? memo.x.concat(x) : memo.x,
18917
- y: y !== undefined ? memo.y.concat(y) : memo.y
18913
+ x: d.xName,
18914
+ y: d.yName
18918
18915
  };
18919
- };
18916
+ });
18917
+ };
18920
18918
 
18921
- return _helpers__WEBPACK_IMPORTED_MODULE_15__.reduceChildren(childComponents.slice(0), iteratee, {}, initialMemo, combine);
18922
- },
18923
- getCategoryAndAxisStringsFromChildren: function (props, axis, childComponents) {
18924
- var categories = lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(props.categories) ? props.categories[axis] : props.categories;
18925
- var axisComponent = _axis__WEBPACK_IMPORTED_MODULE_20__.getAxisComponent(childComponents, axis);
18926
- var axisStrings = axisComponent ? _data__WEBPACK_IMPORTED_MODULE_11__.getStringsFromAxes(axisComponent.props, axis) : [];
18927
- var categoryStrings = categories || this.getStringsFromCategories(childComponents, axis);
18928
- return lodash_uniq__WEBPACK_IMPORTED_MODULE_5___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_7___default()(_toConsumableArray(categoryStrings).concat(_toConsumableArray(axisStrings))));
18929
- },
18930
- getStringsFromChildren: function (props, childComponents) {
18931
- childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_10___default().Children.toArray(props.children);
18932
- var xStrings = this.getCategoryAndAxisStringsFromChildren(props, "x", childComponents);
18933
- var yStrings = this.getCategoryAndAxisStringsFromChildren(props, "y", childComponents);
18934
- var dataStrings = this.getStringsFromData(childComponents);
18935
- return {
18936
- x: lodash_uniq__WEBPACK_IMPORTED_MODULE_5___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_7___default()(_toConsumableArray(xStrings).concat(_toConsumableArray(dataStrings.x)))),
18937
- y: lodash_uniq__WEBPACK_IMPORTED_MODULE_5___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_7___default()(_toConsumableArray(yStrings).concat(_toConsumableArray(dataStrings.y))))
18938
- };
18939
- },
18940
- getCategories: function (props, childComponents, allStrings) {
18941
- var xPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.x : props.categories;
18942
- var yPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.y : props.categories;
18943
- var fallbackRequired = !xPropCategories || !yPropCategories;
18944
- var fallbackProps = fallbackRequired ? allStrings || this.getStringsFromChildren(props, childComponents) : {};
18945
- var xCategories = xPropCategories || fallbackProps.x;
18946
- var yCategories = yPropCategories || fallbackProps.y;
18919
+ var initialMemo = {
18920
+ x: [],
18921
+ y: []
18922
+ };
18923
+
18924
+ var combine = function (memo, datum) {
18925
+ var x = Array.isArray(datum) ? datum.map(function (d) {
18926
+ return d.x;
18927
+ }).filter(Boolean) : datum.x;
18928
+ var y = Array.isArray(datum) ? datum.map(function (d) {
18929
+ return d.y;
18930
+ }).filter(Boolean) : datum.y;
18947
18931
  return {
18948
- x: xCategories.length > 0 ? xCategories : undefined,
18949
- y: yCategories.length > 0 ? yCategories : undefined
18932
+ x: x !== undefined ? memo.x.concat(x) : memo.x,
18933
+ y: y !== undefined ? memo.y.concat(y) : memo.y
18950
18934
  };
18951
- }
18952
- });
18935
+ };
18936
+
18937
+ return _helpers__WEBPACK_IMPORTED_MODULE_11__.reduceChildren(childComponents.slice(0), iteratee, {}, initialMemo, combine);
18938
+ }
18939
+ function getCategoryAndAxisStringsFromChildren(props, axis, childComponents) {
18940
+ var categories = lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(props.categories) ? props.categories[axis] : props.categories;
18941
+ var axisComponent = _axis__WEBPACK_IMPORTED_MODULE_18__.getAxisComponent(childComponents, axis);
18942
+ var axisStrings = axisComponent ? _data__WEBPACK_IMPORTED_MODULE_12__.getStringsFromAxes(axisComponent.props, axis) : [];
18943
+ var categoryStrings = categories || getStringsFromCategories(childComponents, axis);
18944
+ return lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(_toConsumableArray(categoryStrings).concat(_toConsumableArray(axisStrings))));
18945
+ }
18946
+ function getStringsFromChildren(props, childComponents) {
18947
+ childComponents = childComponents || react__WEBPACK_IMPORTED_MODULE_9___default().Children.toArray(props.children);
18948
+ var xStrings = getCategoryAndAxisStringsFromChildren(props, "x", childComponents);
18949
+ var yStrings = getCategoryAndAxisStringsFromChildren(props, "y", childComponents);
18950
+ var dataStrings = getStringsFromData(childComponents);
18951
+ return {
18952
+ x: lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(_toConsumableArray(xStrings).concat(_toConsumableArray(dataStrings.x)))),
18953
+ y: lodash_uniq__WEBPACK_IMPORTED_MODULE_4___default()(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(_toConsumableArray(yStrings).concat(_toConsumableArray(dataStrings.y))))
18954
+ };
18955
+ }
18956
+ function getCategories(props, childComponents, allStrings) {
18957
+ var xPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.x : props.categories;
18958
+ var yPropCategories = props.categories && !Array.isArray(props.categories) ? props.categories.y : props.categories;
18959
+ var fallbackRequired = !xPropCategories || !yPropCategories;
18960
+ var fallbackProps = fallbackRequired ? allStrings || getStringsFromChildren(props, childComponents) : {};
18961
+ var xCategories = xPropCategories || fallbackProps.x;
18962
+ var yCategories = yPropCategories || fallbackProps.y;
18963
+ return {
18964
+ x: xCategories.length > 0 ? xCategories : undefined,
18965
+ y: yCategories.length > 0 ? yCategories : undefined
18966
+ };
18967
+ }
18953
18968
 
18954
18969
  /***/ }),
18955
18970
 
@@ -19032,9 +19047,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
19032
19047
 
19033
19048
 
19034
19049
 
19035
- var VictorySharedEvents =
19036
- /*#__PURE__*/
19037
- function (_React$Component) {
19050
+ var VictorySharedEvents = /*#__PURE__*/function (_React$Component) {
19038
19051
  _inherits(VictorySharedEvents, _React$Component);
19039
19052
 
19040
19053
  function VictorySharedEvents(props) {