victory-shared-events 31.1.0 → 31.2.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.
@@ -506,9 +506,7 @@ function reduceChildren(children, iteratee) {
506
506
  } else {
507
507
  var result = iteratee(child, childName, parent);
508
508
 
509
- if (Array.isArray(result)) {
510
- memo = result.reduce(combine, memo);
511
- } else if (result) {
509
+ if (result) {
512
510
  memo = combine(memo, result);
513
511
  }
514
512
  }
@@ -661,7 +659,7 @@ function newInterval(floori, offseti, count, field) {
661
659
  /***/ (function(module, exports, __webpack_require__) {
662
660
 
663
661
  var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ 85),
664
- isObject = __webpack_require__(/*! ./isObject */ 12);
662
+ isObject = __webpack_require__(/*! ./isObject */ 11);
665
663
 
666
664
  /** `Object#toString` result references. */
667
665
  var asyncTag = '[object AsyncFunction]',
@@ -813,6 +811,115 @@ module.exports = defaults;
813
811
 
814
812
  /***/ }),
815
813
  /* 8 */
814
+ /*!************************************************************************************!*\
815
+ !*** /Users/boygirl/formidable/v/victory/node_modules/react-fast-compare/index.js ***!
816
+ \************************************************************************************/
817
+ /*! dynamic exports provided */
818
+ /*! exports used: default */
819
+ /***/ (function(module, exports, __webpack_require__) {
820
+
821
+ "use strict";
822
+
823
+
824
+ var isArray = Array.isArray;
825
+ var keyList = Object.keys;
826
+ var hasProp = Object.prototype.hasOwnProperty;
827
+ var hasElementType = typeof Element !== 'undefined';
828
+
829
+ function equal(a, b) {
830
+ // fast-deep-equal index.js 2.0.1
831
+ if (a === b) return true;
832
+
833
+ if (a && b && typeof a == 'object' && typeof b == 'object') {
834
+ var arrA = isArray(a)
835
+ , arrB = isArray(b)
836
+ , i
837
+ , length
838
+ , key;
839
+
840
+ if (arrA && arrB) {
841
+ length = a.length;
842
+ if (length != b.length) return false;
843
+ for (i = length; i-- !== 0;)
844
+ if (!equal(a[i], b[i])) return false;
845
+ return true;
846
+ }
847
+
848
+ if (arrA != arrB) return false;
849
+
850
+ var dateA = a instanceof Date
851
+ , dateB = b instanceof Date;
852
+ if (dateA != dateB) return false;
853
+ if (dateA && dateB) return a.getTime() == b.getTime();
854
+
855
+ var regexpA = a instanceof RegExp
856
+ , regexpB = b instanceof RegExp;
857
+ if (regexpA != regexpB) return false;
858
+ if (regexpA && regexpB) return a.toString() == b.toString();
859
+
860
+ var keys = keyList(a);
861
+ length = keys.length;
862
+
863
+ if (length !== keyList(b).length)
864
+ return false;
865
+
866
+ for (i = length; i-- !== 0;)
867
+ if (!hasProp.call(b, keys[i])) return false;
868
+ // end fast-deep-equal
869
+
870
+ // start react-fast-compare
871
+ // custom handling for DOM elements
872
+ if (hasElementType && a instanceof Element && b instanceof Element)
873
+ return a === b;
874
+
875
+ // custom handling for React
876
+ for (i = length; i-- !== 0;) {
877
+ key = keys[i];
878
+ if (key === '_owner' && a.$$typeof) {
879
+ // React-specific: avoid traversing React elements' _owner.
880
+ // _owner contains circular references
881
+ // and is not needed when comparing the actual elements (and not their owners)
882
+ // .$$typeof and ._store on just reasonable markers of a react element
883
+ continue;
884
+ } else {
885
+ // all other properties should be traversed as usual
886
+ if (!equal(a[key], b[key])) {
887
+ // console.log(key)
888
+ return false
889
+ };
890
+ }
891
+ }
892
+ // end react-fast-compare
893
+
894
+ // fast-deep-equal index.js 2.0.1
895
+ return true;
896
+ }
897
+
898
+ return a !== a && b !== b;
899
+ }
900
+ // end fast-deep-equal
901
+
902
+ module.exports = function exportedEqual(a, b) {
903
+ try {
904
+ return equal(a, b);
905
+ } catch (error) {
906
+ if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {
907
+ // warn on circular references, don't crash
908
+ // browsers give this different errors name and messages:
909
+ // chrome/safari: "RangeError", "Maximum call stack size exceeded"
910
+ // firefox: "InternalError", too much recursion"
911
+ // edge: "Error", "Out of stack space"
912
+ console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);
913
+ return false;
914
+ }
915
+ // some other error. we should definitely know about these
916
+ throw error;
917
+ }
918
+ };
919
+
920
+
921
+ /***/ }),
922
+ /* 9 */
816
923
  /*!******************************************************************************!*\
817
924
  !*** /Users/boygirl/formidable/v/victory/node_modules/d3-array/src/index.js ***!
818
925
  \******************************************************************************/
@@ -909,7 +1016,7 @@ module.exports = defaults;
909
1016
 
910
1017
 
911
1018
  /***/ }),
912
- /* 9 */
1019
+ /* 10 */
913
1020
  /*!********************************************************************************!*\
914
1021
  !*** /Users/boygirl/formidable/v/victory/node_modules/d3-time/src/duration.js ***!
915
1022
  \********************************************************************************/
@@ -931,7 +1038,49 @@ var durationWeek = 6048e5;
931
1038
 
932
1039
 
933
1040
  /***/ }),
934
- /* 10 */
1041
+ /* 11 */
1042
+ /*!***************************************************************************!*\
1043
+ !*** /Users/boygirl/formidable/v/victory/node_modules/lodash/isObject.js ***!
1044
+ \***************************************************************************/
1045
+ /*! dynamic exports provided */
1046
+ /*! all exports used */
1047
+ /***/ (function(module, exports) {
1048
+
1049
+ /**
1050
+ * Checks if `value` is the
1051
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
1052
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
1053
+ *
1054
+ * @static
1055
+ * @memberOf _
1056
+ * @since 0.1.0
1057
+ * @category Lang
1058
+ * @param {*} value The value to check.
1059
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
1060
+ * @example
1061
+ *
1062
+ * _.isObject({});
1063
+ * // => true
1064
+ *
1065
+ * _.isObject([1, 2, 3]);
1066
+ * // => true
1067
+ *
1068
+ * _.isObject(_.noop);
1069
+ * // => true
1070
+ *
1071
+ * _.isObject(null);
1072
+ * // => false
1073
+ */
1074
+ function isObject(value) {
1075
+ var type = typeof value;
1076
+ return value != null && (type == 'object' || type == 'function');
1077
+ }
1078
+
1079
+ module.exports = isObject;
1080
+
1081
+
1082
+ /***/ }),
1083
+ /* 12 */
935
1084
  /*!******************************************************************************!*\
936
1085
  !*** /Users/boygirl/formidable/v/victory/node_modules/d3-color/src/index.js ***!
937
1086
  \******************************************************************************/
@@ -957,7 +1106,7 @@ var durationWeek = 6048e5;
957
1106
 
958
1107
 
959
1108
  /***/ }),
960
- /* 11 */
1109
+ /* 13 */
961
1110
  /*!***********************************************************************************************!*\
962
1111
  !*** /Users/boygirl/formidable/v/victory/packages/victory-core/es/victory-util/collection.js ***!
963
1112
  \***********************************************************************************************/
@@ -1044,154 +1193,6 @@ function getMinValue(arr) {
1044
1193
  removeUndefined: removeUndefined
1045
1194
  });
1046
1195
 
1047
- /***/ }),
1048
- /* 12 */
1049
- /*!***************************************************************************!*\
1050
- !*** /Users/boygirl/formidable/v/victory/node_modules/lodash/isObject.js ***!
1051
- \***************************************************************************/
1052
- /*! dynamic exports provided */
1053
- /*! all exports used */
1054
- /***/ (function(module, exports) {
1055
-
1056
- /**
1057
- * Checks if `value` is the
1058
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
1059
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
1060
- *
1061
- * @static
1062
- * @memberOf _
1063
- * @since 0.1.0
1064
- * @category Lang
1065
- * @param {*} value The value to check.
1066
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
1067
- * @example
1068
- *
1069
- * _.isObject({});
1070
- * // => true
1071
- *
1072
- * _.isObject([1, 2, 3]);
1073
- * // => true
1074
- *
1075
- * _.isObject(_.noop);
1076
- * // => true
1077
- *
1078
- * _.isObject(null);
1079
- * // => false
1080
- */
1081
- function isObject(value) {
1082
- var type = typeof value;
1083
- return value != null && (type == 'object' || type == 'function');
1084
- }
1085
-
1086
- module.exports = isObject;
1087
-
1088
-
1089
- /***/ }),
1090
- /* 13 */
1091
- /*!************************************************************************************!*\
1092
- !*** /Users/boygirl/formidable/v/victory/node_modules/react-fast-compare/index.js ***!
1093
- \************************************************************************************/
1094
- /*! dynamic exports provided */
1095
- /*! exports used: default */
1096
- /***/ (function(module, exports, __webpack_require__) {
1097
-
1098
- "use strict";
1099
-
1100
-
1101
- var isArray = Array.isArray;
1102
- var keyList = Object.keys;
1103
- var hasProp = Object.prototype.hasOwnProperty;
1104
- var hasElementType = typeof Element !== 'undefined';
1105
-
1106
- function equal(a, b) {
1107
- // fast-deep-equal index.js 2.0.1
1108
- if (a === b) return true;
1109
-
1110
- if (a && b && typeof a == 'object' && typeof b == 'object') {
1111
- var arrA = isArray(a)
1112
- , arrB = isArray(b)
1113
- , i
1114
- , length
1115
- , key;
1116
-
1117
- if (arrA && arrB) {
1118
- length = a.length;
1119
- if (length != b.length) return false;
1120
- for (i = length; i-- !== 0;)
1121
- if (!equal(a[i], b[i])) return false;
1122
- return true;
1123
- }
1124
-
1125
- if (arrA != arrB) return false;
1126
-
1127
- var dateA = a instanceof Date
1128
- , dateB = b instanceof Date;
1129
- if (dateA != dateB) return false;
1130
- if (dateA && dateB) return a.getTime() == b.getTime();
1131
-
1132
- var regexpA = a instanceof RegExp
1133
- , regexpB = b instanceof RegExp;
1134
- if (regexpA != regexpB) return false;
1135
- if (regexpA && regexpB) return a.toString() == b.toString();
1136
-
1137
- var keys = keyList(a);
1138
- length = keys.length;
1139
-
1140
- if (length !== keyList(b).length)
1141
- return false;
1142
-
1143
- for (i = length; i-- !== 0;)
1144
- if (!hasProp.call(b, keys[i])) return false;
1145
- // end fast-deep-equal
1146
-
1147
- // start react-fast-compare
1148
- // custom handling for DOM elements
1149
- if (hasElementType && a instanceof Element && b instanceof Element)
1150
- return a === b;
1151
-
1152
- // custom handling for React
1153
- for (i = length; i-- !== 0;) {
1154
- key = keys[i];
1155
- if (key === '_owner' && a.$$typeof) {
1156
- // React-specific: avoid traversing React elements' _owner.
1157
- // _owner contains circular references
1158
- // and is not needed when comparing the actual elements (and not their owners)
1159
- // .$$typeof and ._store on just reasonable markers of a react element
1160
- continue;
1161
- } else {
1162
- // all other properties should be traversed as usual
1163
- if (!equal(a[key], b[key])) return false;
1164
- }
1165
- }
1166
- // end react-fast-compare
1167
-
1168
- // fast-deep-equal index.js 2.0.1
1169
- return true;
1170
- }
1171
-
1172
- return a !== a && b !== b;
1173
- }
1174
- // end fast-deep-equal
1175
-
1176
- module.exports = function exportedEqual(a, b) {
1177
- try {
1178
- return equal(a, b);
1179
- } catch (error) {
1180
- if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {
1181
- // warn on circular references, don't crash
1182
- // browsers give this different errors name and messages:
1183
- // chrome/safari: "RangeError", "Maximum call stack size exceeded"
1184
- // firefox: "InternalError", too much recursion"
1185
- // edge: "Error", "Out of stack space"
1186
- console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);
1187
- return false;
1188
- }
1189
- // some other error. we should definitely know about these
1190
- throw error;
1191
- }
1192
- };
1193
-
1194
-
1195
1196
  /***/ }),
1196
1197
  /* 14 */
1197
1198
  /*!******************************************************************************!*\
@@ -2063,7 +2064,7 @@ module.exports = arrayIncludes;
2063
2064
  "use strict";
2064
2065
  /* harmony export (immutable) */ __webpack_exports__["b"] = linearish;
2065
2066
  /* harmony export (immutable) */ __webpack_exports__["a"] = linear;
2066
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
2067
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
2067
2068
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
2068
2069
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__continuous__ = __webpack_require__(/*! ./continuous */ 42);
2069
2070
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tickFormat__ = __webpack_require__(/*! ./tickFormat */ 286);
@@ -2779,7 +2780,7 @@ module.exports = uniq;
2779
2780
  /* harmony export (immutable) */ __webpack_exports__["c"] = deinterpolateLinear;
2780
2781
  /* harmony export (immutable) */ __webpack_exports__["a"] = copy;
2781
2782
  /* harmony export (immutable) */ __webpack_exports__["b"] = continuous;
2782
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
2783
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
2783
2784
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
2784
2785
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__array__ = __webpack_require__(/*! ./array */ 14);
2785
2786
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constant__ = __webpack_require__(/*! ./constant */ 79);
@@ -3484,7 +3485,7 @@ module.exports = property;
3484
3485
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3485
3486
 
3486
3487
  "use strict";
3487
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
3488
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
3488
3489
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__rgb__ = __webpack_require__(/*! ./rgb */ 102);
3489
3490
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__array__ = __webpack_require__(/*! ./array */ 105);
3490
3491
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__date__ = __webpack_require__(/*! ./date */ 106);
@@ -4682,7 +4683,7 @@ function getTransitionPropsFactory(props, state, setState) {
4682
4683
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
4683
4684
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(/*! prop-types */ 1);
4684
4685
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
4685
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
4686
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
4686
4687
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_fast_compare__);
4687
4688
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4688
4689
 
@@ -4793,7 +4794,7 @@ Object.defineProperty(Rect, "propTypes", {
4793
4794
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
4794
4795
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(/*! prop-types */ 1);
4795
4796
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
4796
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
4797
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
4797
4798
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_fast_compare__);
4798
4799
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4799
4800
 
@@ -4888,7 +4889,7 @@ Object.defineProperty(Path, "propTypes", {
4888
4889
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
4889
4890
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(/*! prop-types */ 1);
4890
4891
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
4891
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
4892
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
4892
4893
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_fast_compare__);
4893
4894
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4894
4895
 
@@ -5566,7 +5567,7 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
5566
5567
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react__ = __webpack_require__(/*! react */ 0);
5567
5568
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react__);
5568
5569
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__helpers__ = __webpack_require__(/*! ./helpers */ 3);
5569
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__collection__ = __webpack_require__(/*! ./collection */ 11);
5570
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__collection__ = __webpack_require__(/*! ./collection */ 13);
5570
5571
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__scale__ = __webpack_require__(/*! ./scale */ 76);
5571
5572
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__immutable__ = __webpack_require__(/*! ./immutable */ 144);
5572
5573
 
@@ -5909,8 +5910,13 @@ function getStringsFromData(props, axis) {
5909
5910
  }
5910
5911
 
5911
5912
  var key = props[axis] === undefined ? axis : props[axis];
5912
- var accessor = __WEBPACK_IMPORTED_MODULE_12__helpers__["a" /* default */].createAccessor(key);
5913
- var sortedData = sortData(props.data, props.sortKey, props.sortOrder);
5913
+ var accessor = __WEBPACK_IMPORTED_MODULE_12__helpers__["a" /* default */].createAccessor(key); // support immutable data
5914
+
5915
+ var data = props.data.reduce(function (memo, d) {
5916
+ memo.push(parseDatum(d));
5917
+ return memo;
5918
+ }, []);
5919
+ var sortedData = sortData(data, props.sortKey, props.sortOrder);
5914
5920
  var dataStrings = sortedData.reduce(function (dataArr, datum) {
5915
5921
  datum = parseDatum(datum);
5916
5922
  dataArr.push(accessor(datum));
@@ -5978,7 +5984,7 @@ function isDataComponent(component) {
5978
5984
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_includes__ = __webpack_require__(/*! lodash/includes */ 27);
5979
5985
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_includes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_includes__);
5980
5986
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__helpers__ = __webpack_require__(/*! ./helpers */ 3);
5981
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__collection__ = __webpack_require__(/*! ./collection */ 11);
5987
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__collection__ = __webpack_require__(/*! ./collection */ 13);
5982
5988
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_d3_scale__ = __webpack_require__(/*! d3-scale */ 261);
5983
5989
 
5984
5990
 
@@ -6462,7 +6468,7 @@ function defaultLocale(definition) {
6462
6468
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__data__ = __webpack_require__(/*! ./data */ 75);
6463
6469
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__scale__ = __webpack_require__(/*! ./scale */ 76);
6464
6470
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__helpers__ = __webpack_require__(/*! ./helpers */ 3);
6465
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__collection__ = __webpack_require__(/*! ./collection */ 11);
6471
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__collection__ = __webpack_require__(/*! ./collection */ 13);
6466
6472
 
6467
6473
 
6468
6474
 
@@ -7191,6 +7197,8 @@ module.exports = identity;
7191
7197
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_ease__ = __webpack_require__(/*! d3-ease */ 162);
7192
7198
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(/*! ./util */ 173);
7193
7199
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__victory_util_timer__ = __webpack_require__(/*! ../victory-util/timer */ 39);
7200
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
7201
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_fast_compare__);
7194
7202
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
7195
7203
 
7196
7204
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
@@ -7218,6 +7226,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
7218
7226
 
7219
7227
 
7220
7228
 
7229
+
7221
7230
  var VictoryAnimation =
7222
7231
  /*#__PURE__*/
7223
7232
  function (_React$Component) {
@@ -7261,31 +7270,35 @@ function (_React$Component) {
7261
7270
  this.traverseQueue();
7262
7271
  }
7263
7272
  }
7264
- /* lifecycle */
7265
-
7266
7273
  }, {
7267
- key: "componentWillReceiveProps",
7268
- value: function componentWillReceiveProps(nextProps) {
7269
- /* cancel existing loop if it exists */
7270
- this.getTimer().unsubscribe(this.loopID);
7271
- /* If an object was supplied */
7272
-
7273
- if (!Array.isArray(nextProps.data)) {
7274
- // Replace the tween queue. Could set `this.queue = [nextProps.data]`,
7275
- // but let's reuse the same array.
7276
- this.queue.length = 0;
7277
- this.queue.push(nextProps.data);
7278
- /* If an array was supplied */
7279
- } else {
7280
- var _queue;
7274
+ key: "shouldComponentUpdate",
7275
+ value: function shouldComponentUpdate(nextProps, nextState) {
7276
+ var equalProps = __WEBPACK_IMPORTED_MODULE_5_react_fast_compare___default()(this.props, nextProps);
7281
7277
 
7282
- /* Extend the tween queue */
7283
- (_queue = this.queue).push.apply(_queue, _toConsumableArray(nextProps.data));
7284
- }
7285
- /* Start traversing the tween queue */
7278
+ if (!equalProps) {
7279
+ /* cancel existing loop if it exists */
7280
+ this.getTimer().unsubscribe(this.loopID);
7281
+ /* If an object was supplied */
7282
+
7283
+ if (!Array.isArray(nextProps.data)) {
7284
+ // Replace the tween queue. Could set `this.queue = [nextProps.data]`,
7285
+ // but let's reuse the same array.
7286
+ this.queue.length = 0;
7287
+ this.queue.push(nextProps.data);
7288
+ /* If an array was supplied */
7289
+ } else {
7290
+ var _queue;
7286
7291
 
7292
+ /* Extend the tween queue */
7293
+ (_queue = this.queue).push.apply(_queue, _toConsumableArray(nextProps.data));
7294
+ }
7295
+ /* Start traversing the tween queue */
7296
+
7297
+
7298
+ this.traverseQueue();
7299
+ }
7287
7300
 
7288
- this.traverseQueue();
7301
+ return nextState.animationInfo.animating || !equalProps;
7289
7302
  }
7290
7303
  }, {
7291
7304
  key: "componentWillUnmount",
@@ -7491,7 +7504,7 @@ module.exports = ListCache;
7491
7504
  /*! all exports used */
7492
7505
  /***/ (function(module, exports, __webpack_require__) {
7493
7506
 
7494
- var isObject = __webpack_require__(/*! ./isObject */ 12);
7507
+ var isObject = __webpack_require__(/*! ./isObject */ 11);
7495
7508
 
7496
7509
  /**
7497
7510
  * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
@@ -7729,7 +7742,7 @@ var rad2deg = 180 / Math.PI;
7729
7742
  "use strict";
7730
7743
  /* unused harmony export rgbBasis */
7731
7744
  /* unused harmony export rgbBasisClosed */
7732
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
7745
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
7733
7746
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__basis__ = __webpack_require__(/*! ./basis */ 62);
7734
7747
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__basisClosed__ = __webpack_require__(/*! ./basisClosed */ 103);
7735
7748
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__color__ = __webpack_require__(/*! ./color */ 18);
@@ -8598,7 +8611,7 @@ function getProps(props, index) {
8598
8611
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
8599
8612
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(/*! prop-types */ 1);
8600
8613
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
8601
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
8614
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
8602
8615
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_fast_compare__);
8603
8616
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
8604
8617
 
@@ -8695,7 +8708,7 @@ Object.defineProperty(TSpan, "propTypes", {
8695
8708
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
8696
8709
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(/*! prop-types */ 1);
8697
8710
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
8698
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
8711
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
8699
8712
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_fast_compare__);
8700
8713
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
8701
8714
 
@@ -8795,7 +8808,7 @@ Object.defineProperty(Text, "propTypes", {
8795
8808
 
8796
8809
  "use strict";
8797
8810
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VictoryTransition; });
8798
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 12);
8811
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 11);
8799
8812
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_isObject__);
8800
8813
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_pick__ = __webpack_require__(/*! lodash/pick */ 65);
8801
8814
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_pick___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_pick__);
@@ -8808,10 +8821,12 @@ Object.defineProperty(Text, "propTypes", {
8808
8821
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(/*! prop-types */ 1);
8809
8822
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);
8810
8823
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__victory_animation_victory_animation__ = __webpack_require__(/*! ../victory-animation/victory-animation */ 92);
8811
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__victory_util_collection__ = __webpack_require__(/*! ../victory-util/collection */ 11);
8824
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__victory_util_collection__ = __webpack_require__(/*! ../victory-util/collection */ 13);
8812
8825
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__victory_util_helpers__ = __webpack_require__(/*! ../victory-util/helpers */ 3);
8813
8826
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__victory_util_timer__ = __webpack_require__(/*! ../victory-util/timer */ 39);
8814
8827
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__victory_util_transitions__ = __webpack_require__(/*! ../victory-util/transitions */ 68);
8828
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
8829
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_fast_compare__);
8815
8830
 
8816
8831
 
8817
8832
 
@@ -8839,6 +8854,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
8839
8854
 
8840
8855
 
8841
8856
 
8857
+
8842
8858
  var VictoryTransition =
8843
8859
  /*#__PURE__*/
8844
8860
  function (_React$Component) {
@@ -8870,14 +8886,18 @@ function (_React$Component) {
8870
8886
  }); //eslint-disable-line react/no-did-mount-set-state
8871
8887
  }
8872
8888
  }, {
8873
- key: "componentWillReceiveProps",
8874
- value: function componentWillReceiveProps(nextProps) {
8889
+ key: "shouldComponentUpdate",
8890
+ value: function shouldComponentUpdate(nextProps) {
8875
8891
  var _this2 = this;
8876
8892
 
8877
- this.getTimer().bypassAnimation();
8878
- this.setState(this.getTransitionState(this.props, nextProps), function () {
8879
- return _this2.getTimer().resumeAnimation();
8880
- });
8893
+ if (!__WEBPACK_IMPORTED_MODULE_11_react_fast_compare___default()(this.props, nextProps)) {
8894
+ this.getTimer().bypassAnimation();
8895
+ this.setState(this.getTransitionState(this.props, nextProps), function () {
8896
+ return _this2.getTimer().resumeAnimation();
8897
+ });
8898
+ }
8899
+
8900
+ return true;
8881
8901
  }
8882
8902
  }, {
8883
8903
  key: "componentWillUnmount",
@@ -9140,7 +9160,7 @@ Object.defineProperty(ClipPath, "propTypes", {
9140
9160
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
9141
9161
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(/*! prop-types */ 1);
9142
9162
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
9143
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
9163
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
9144
9164
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_fast_compare__);
9145
9165
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9146
9166
 
@@ -10082,7 +10102,7 @@ var prefixExponent;
10082
10102
 
10083
10103
  "use strict";
10084
10104
  /* harmony export (immutable) */ __webpack_exports__["a"] = calendar;
10085
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
10105
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
10086
10106
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
10087
10107
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_time__ = __webpack_require__(/*! d3-time */ 81);
10088
10108
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_time_format__ = __webpack_require__(/*! d3-time-format */ 141);
@@ -11037,14 +11057,17 @@ module.exports = values;
11037
11057
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_lodash_uniq___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_lodash_uniq__);
11038
11058
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_lodash_invert__ = __webpack_require__(/*! lodash/invert */ 338);
11039
11059
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_lodash_invert___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_lodash_invert__);
11040
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash_isFunction__ = __webpack_require__(/*! lodash/isFunction */ 5);
11041
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash_isFunction___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_lodash_isFunction__);
11042
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_lodash_identity__ = __webpack_require__(/*! lodash/identity */ 15);
11043
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_lodash_identity___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_lodash_identity__);
11044
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react__ = __webpack_require__(/*! react */ 0);
11045
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react__);
11046
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__collection__ = __webpack_require__(/*! ./collection */ 11);
11047
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__domain__ = __webpack_require__(/*! ./domain */ 83);
11060
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 11);
11061
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash_isObject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_lodash_isObject__);
11062
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_lodash_isFunction__ = __webpack_require__(/*! lodash/isFunction */ 5);
11063
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_lodash_isFunction___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_lodash_isFunction__);
11064
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_lodash_identity__ = __webpack_require__(/*! lodash/identity */ 15);
11065
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_lodash_identity___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_lodash_identity__);
11066
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react__ = __webpack_require__(/*! react */ 0);
11067
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react__);
11068
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__collection__ = __webpack_require__(/*! ./collection */ 13);
11069
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__domain__ = __webpack_require__(/*! ./domain */ 83);
11070
+
11048
11071
 
11049
11072
 
11050
11073
 
@@ -11107,14 +11130,14 @@ function getCurrentAxis(axis, horizontal) {
11107
11130
 
11108
11131
 
11109
11132
  function findAxisComponents(childComponents, predicate) {
11110
- predicate = predicate || __WEBPACK_IMPORTED_MODULE_8_lodash_identity___default.a;
11133
+ predicate = predicate || __WEBPACK_IMPORTED_MODULE_9_lodash_identity___default.a;
11111
11134
 
11112
11135
  var findAxes = function (children) {
11113
11136
  return children.reduce(function (memo, child) {
11114
11137
  if (child.type && child.type.role === "axis" && predicate(child)) {
11115
11138
  return memo.concat(child);
11116
11139
  } else if (child.props && child.props.children) {
11117
- return memo.concat(findAxes(__WEBPACK_IMPORTED_MODULE_9_react___default.a.Children.toArray(child.props.children)));
11140
+ return memo.concat(findAxes(__WEBPACK_IMPORTED_MODULE_10_react___default.a.Children.toArray(child.props.children)));
11118
11141
  }
11119
11142
 
11120
11143
  return memo;
@@ -11158,7 +11181,7 @@ function getAxisComponentsWithParent(childComponents, type) {
11158
11181
  if (child.type && child.type.role === "axis" && matchesType(child)) {
11159
11182
  return memo.concat(child);
11160
11183
  } else if (child.props && child.props.children) {
11161
- var childAxis = findComponents(__WEBPACK_IMPORTED_MODULE_9_react___default.a.Children.toArray(child.props.children));
11184
+ var childAxis = findComponents(__WEBPACK_IMPORTED_MODULE_10_react___default.a.Children.toArray(child.props.children));
11162
11185
  return childAxis.length > 0 ? memo.concat(child) : memo;
11163
11186
  }
11164
11187
 
@@ -11177,8 +11200,8 @@ function getOrigin(domain) {
11177
11200
  };
11178
11201
 
11179
11202
  return {
11180
- x: __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsDates(domain.x) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.x))) : getSingleOrigin(domain.x),
11181
- y: __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsDates(domain.y) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.y))) : getSingleOrigin(domain.y)
11203
+ x: __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsDates(domain.x) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.x))) : getSingleOrigin(domain.x),
11204
+ y: __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsDates(domain.y) ? new Date(Math.min.apply(Math, _toConsumableArray(domain.y))) : getSingleOrigin(domain.y)
11182
11205
  };
11183
11206
  }
11184
11207
 
@@ -11187,7 +11210,7 @@ function getOriginSign(origin, domain) {
11187
11210
  return origin <= 0 && Math.max.apply(Math, _toConsumableArray(domain)) <= 0 ? "negative" : "positive";
11188
11211
  };
11189
11212
 
11190
- return __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsDates(domain) ? "positive" : getSign();
11213
+ return __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsDates(domain) ? "positive" : getSign();
11191
11214
  }
11192
11215
  /**
11193
11216
  * @param {ReactComponent} component: a victory axis component.
@@ -11254,13 +11277,15 @@ function isVertical(props) {
11254
11277
 
11255
11278
 
11256
11279
  function stringTicks(props) {
11257
- return props.tickValues !== undefined && __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsStrings(props.tickValues);
11280
+ return props.tickValues !== undefined && __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsStrings(props.tickValues);
11258
11281
  }
11259
11282
 
11260
11283
  function getDefaultTickFormat(props) {
11261
- var tickValues = props.tickValues,
11262
- stringMap = props.stringMap;
11263
- var fallbackFormat = tickValues && !__WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsDates(tickValues) ? function (x) {
11284
+ var tickValues = props.tickValues;
11285
+ var axis = getAxis(props);
11286
+ var currentAxis = getCurrentAxis(axis, props.horizontal);
11287
+ var stringMap = props.stringMap && props.stringMap[currentAxis];
11288
+ var fallbackFormat = tickValues && !__WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsDates(tickValues) ? function (x) {
11264
11289
  return x;
11265
11290
  } : undefined;
11266
11291
 
@@ -11287,12 +11312,14 @@ function getDefaultTickFormat(props) {
11287
11312
  }
11288
11313
 
11289
11314
  function getTickFormat(props, scale) {
11290
- var tickFormat = props.tickFormat,
11291
- stringMap = props.stringMap;
11315
+ var tickFormat = props.tickFormat;
11316
+ var axis = getAxis(props);
11317
+ var currentAxis = getCurrentAxis(axis, props.horizontal);
11318
+ var stringMap = props.stringMap && props.stringMap[currentAxis];
11292
11319
 
11293
11320
  if (!tickFormat) {
11294
11321
  var defaultTickFormat = getDefaultTickFormat(props);
11295
- var scaleTickFormat = scale.tickFormat && __WEBPACK_IMPORTED_MODULE_7_lodash_isFunction___default()(scale.tickFormat) ? scale.tickFormat() : function (x) {
11322
+ var scaleTickFormat = scale.tickFormat && __WEBPACK_IMPORTED_MODULE_8_lodash_isFunction___default()(scale.tickFormat) ? scale.tickFormat() : function (x) {
11296
11323
  return x;
11297
11324
  };
11298
11325
  return defaultTickFormat || scaleTickFormat;
@@ -11300,7 +11327,7 @@ function getTickFormat(props, scale) {
11300
11327
  return function (x, index) {
11301
11328
  return tickFormat[index];
11302
11329
  };
11303
- } else if (tickFormat && __WEBPACK_IMPORTED_MODULE_7_lodash_isFunction___default()(tickFormat)) {
11330
+ } else if (tickFormat && __WEBPACK_IMPORTED_MODULE_8_lodash_isFunction___default()(tickFormat)) {
11304
11331
  var applyStringTicks = function (tick, index, ticks) {
11305
11332
  var invertedStringMap = __WEBPACK_IMPORTED_MODULE_6_lodash_invert___default()(stringMap);
11306
11333
 
@@ -11319,10 +11346,11 @@ function getTickFormat(props, scale) {
11319
11346
  }
11320
11347
 
11321
11348
  function getStringTicks(props) {
11322
- var stringMap = props.stringMap;
11323
11349
  var axis = getAxis(props);
11350
+ var currentAxis = getCurrentAxis(axis, props.horizontal);
11351
+ var stringMap = props.stringMap && props.stringMap[currentAxis];
11324
11352
  var categories = Array.isArray(props.categories) ? props.categories : props.categories && props.categories[axis];
11325
- var ticksFromCategories = categories && __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsOnlyStrings(categories) ? categories.map(function (tick) {
11353
+ var ticksFromCategories = categories && __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsOnlyStrings(categories) ? categories.map(function (tick) {
11326
11354
  return stringMap[tick];
11327
11355
  }) : undefined;
11328
11356
 
@@ -11333,15 +11361,17 @@ function getStringTicks(props) {
11333
11361
 
11334
11362
  function getTickArray(props) {
11335
11363
  var tickValues = props.tickValues,
11336
- tickFormat = props.tickFormat,
11337
- stringMap = props.stringMap;
11364
+ tickFormat = props.tickFormat;
11365
+ var axis = getAxis(props);
11366
+ var currentAxis = getCurrentAxis(axis, props.horizontal);
11367
+ var stringMap = props.stringMap && props.stringMap[currentAxis];
11338
11368
 
11339
11369
  var getTicksFromFormat = function () {
11340
11370
  if (!tickFormat || !Array.isArray(tickFormat)) {
11341
11371
  return undefined;
11342
11372
  }
11343
11373
 
11344
- return __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsStrings(tickFormat) ? tickFormat.map(function (t, i) {
11374
+ return __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsStrings(tickFormat) ? tickFormat.map(function (t, i) {
11345
11375
  return i;
11346
11376
  }) : tickFormat;
11347
11377
  };
@@ -11352,7 +11382,7 @@ function getTickArray(props) {
11352
11382
  ticks = getStringTicks(props);
11353
11383
  }
11354
11384
 
11355
- if (tickValues && __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].containsStrings(tickValues)) {
11385
+ if (tickValues && __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].containsStrings(tickValues)) {
11356
11386
  ticks = stringMap ? tickValues.map(function (tick) {
11357
11387
  return stringMap[tick];
11358
11388
  }) : __WEBPACK_IMPORTED_MODULE_4_lodash_range___default()(1, tickValues.length + 1);
@@ -11361,7 +11391,6 @@ function getTickArray(props) {
11361
11391
  var tickArray = ticks ? __WEBPACK_IMPORTED_MODULE_5_lodash_uniq___default()(ticks) : getTicksFromFormat(props);
11362
11392
 
11363
11393
  var filterArray = function (arr) {
11364
- var axis = getAxis(props);
11365
11394
  var domain = props.domain && props.domain[axis] || props.domain;
11366
11395
  return Array.isArray(domain) ? arr.filter(function (t) {
11367
11396
  return t >= Math.min.apply(Math, _toConsumableArray(domain)) && t <= Math.max.apply(Math, _toConsumableArray(domain));
@@ -11388,7 +11417,7 @@ function getTicks(props, scale, filterZero) {
11388
11417
 
11389
11418
  if (tickValues) {
11390
11419
  return downsampleTicks(tickValues, tickCount);
11391
- } else if (scale.ticks && __WEBPACK_IMPORTED_MODULE_7_lodash_isFunction___default()(scale.ticks)) {
11420
+ } else if (scale.ticks && __WEBPACK_IMPORTED_MODULE_8_lodash_isFunction___default()(scale.ticks)) {
11392
11421
  // eslint-disable-next-line no-magic-numbers
11393
11422
  var defaultTickCount = tickCount || 5;
11394
11423
  var scaleTicks = scale.ticks(defaultTickCount);
@@ -11426,18 +11455,18 @@ function getDomainFromData(props, axis) {
11426
11455
  return undefined;
11427
11456
  }
11428
11457
 
11429
- var minDomain = __WEBPACK_IMPORTED_MODULE_11__domain__["a" /* default */].getMinFromProps(props, axis);
11430
- var maxDomain = __WEBPACK_IMPORTED_MODULE_11__domain__["a" /* default */].getMaxFromProps(props, axis);
11458
+ var minDomain = __WEBPACK_IMPORTED_MODULE_12__domain__["a" /* default */].getMinFromProps(props, axis);
11459
+ var maxDomain = __WEBPACK_IMPORTED_MODULE_12__domain__["a" /* default */].getMaxFromProps(props, axis);
11431
11460
  var tickStrings = stringTicks(props);
11432
11461
  var ticks = tickValues.map(function (value) {
11433
11462
  return +value;
11434
11463
  });
11435
- var defaultMin = tickStrings ? 1 : __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].getMinValue(ticks);
11436
- var defaultMax = tickStrings ? tickValues.length : __WEBPACK_IMPORTED_MODULE_10__collection__["a" /* default */].getMaxValue(ticks);
11464
+ var defaultMin = tickStrings ? 1 : __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].getMinValue(ticks);
11465
+ var defaultMax = tickStrings ? tickValues.length : __WEBPACK_IMPORTED_MODULE_11__collection__["a" /* default */].getMaxValue(ticks);
11437
11466
  var min = minDomain !== undefined ? minDomain : defaultMin;
11438
11467
  var max = maxDomain !== undefined ? maxDomain : defaultMax;
11439
- var initialDomain = __WEBPACK_IMPORTED_MODULE_11__domain__["a" /* default */].getDomainFromMinMax(min, max);
11440
- var domain = polar && axis === "x" && Math.abs(startAngle - endAngle) === 360 ? __WEBPACK_IMPORTED_MODULE_11__domain__["a" /* default */].getSymmetricDomain(initialDomain, ticks) : initialDomain;
11468
+ var initialDomain = __WEBPACK_IMPORTED_MODULE_12__domain__["a" /* default */].getDomainFromMinMax(min, max);
11469
+ var domain = polar && axis === "x" && Math.abs(startAngle - endAngle) === 360 ? __WEBPACK_IMPORTED_MODULE_12__domain__["a" /* default */].getSymmetricDomain(initialDomain, ticks) : initialDomain;
11441
11470
 
11442
11471
  if (isVertical(props) && !polar) {
11443
11472
  domain.reverse();
@@ -11454,7 +11483,25 @@ function getDomain(props, axis) {
11454
11483
  return undefined;
11455
11484
  }
11456
11485
 
11457
- return __WEBPACK_IMPORTED_MODULE_11__domain__["a" /* default */].createDomainFunction(getDomainFromData)(props, inherentAxis);
11486
+ return __WEBPACK_IMPORTED_MODULE_12__domain__["a" /* default */].createDomainFunction(getDomainFromData)(props, inherentAxis);
11487
+ }
11488
+
11489
+ function getAxisValue(props, axis) {
11490
+ if (!props.axisValue) {
11491
+ return undefined;
11492
+ }
11493
+
11494
+ var scaleAxis = axis === "x" ? "y" : "x";
11495
+ var scale = __WEBPACK_IMPORTED_MODULE_7_lodash_isObject___default()(props.scale) && __WEBPACK_IMPORTED_MODULE_8_lodash_isFunction___default()(props.scale[scaleAxis]) ? props.scale[scaleAxis] : undefined;
11496
+
11497
+ if (!scale) {
11498
+ return undefined;
11499
+ }
11500
+
11501
+ var stringMapAxis = getCurrentAxis(axis, props.horizontal) === "x" ? "y" : "x";
11502
+ var stringMap = __WEBPACK_IMPORTED_MODULE_7_lodash_isObject___default()(props.stringMap) && props.stringMap[stringMapAxis];
11503
+ var axisValue = stringMap && typeof props.axisValue === "string" ? stringMap[props.axisValue] : props.axisValue;
11504
+ return scale(axisValue);
11458
11505
  }
11459
11506
 
11460
11507
  /* harmony default export */ __webpack_exports__["a"] = ({
@@ -11470,7 +11517,8 @@ function getDomain(props, axis) {
11470
11517
  getOriginSign: getOriginSign,
11471
11518
  getDomain: getDomain,
11472
11519
  isVertical: isVertical,
11473
- stringTicks: stringTicks
11520
+ stringTicks: stringTicks,
11521
+ getAxisValue: getAxisValue
11474
11522
  });
11475
11523
 
11476
11524
  /***/ }),
@@ -11514,6 +11562,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
11514
11562
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(/*! prop-types */ 1);
11515
11563
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);
11516
11564
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_victory_core__ = __webpack_require__(/*! victory-core */ 161);
11565
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
11566
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_fast_compare__);
11517
11567
 
11518
11568
 
11519
11569
 
@@ -11544,6 +11594,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
11544
11594
 
11545
11595
 
11546
11596
 
11597
+
11547
11598
  var VictorySharedEvents =
11548
11599
  /*#__PURE__*/
11549
11600
  function (_React$Component) {
@@ -11571,11 +11622,15 @@ function (_React$Component) {
11571
11622
  };
11572
11623
  }
11573
11624
  }, {
11574
- key: "componentWillReceiveProps",
11575
- value: function componentWillReceiveProps(newProps) {
11576
- this.baseProps = this.getBaseProps(newProps);
11577
- var externalMutations = this.getExternalMutations(newProps, this.baseProps);
11578
- this.applyExternalMutations(newProps, externalMutations);
11625
+ key: "shouldComponentUpdate",
11626
+ value: function shouldComponentUpdate(nextProps) {
11627
+ if (!__WEBPACK_IMPORTED_MODULE_8_react_fast_compare___default()(this.props, nextProps)) {
11628
+ this.baseProps = this.getBaseProps(nextProps);
11629
+ var externalMutations = this.getExternalMutations(nextProps, this.baseProps);
11630
+ this.applyExternalMutations(nextProps, externalMutations);
11631
+ }
11632
+
11633
+ return true;
11579
11634
  }
11580
11635
  }, {
11581
11636
  key: "getTimer",
@@ -12966,7 +13021,7 @@ module.exports = function() {
12966
13021
  /* unused harmony reexport Whisker */
12967
13022
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__victory_util_add_events__ = __webpack_require__(/*! ./victory-util/add-events */ 250);
12968
13023
  /* unused harmony reexport addEvents */
12969
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__victory_util_collection__ = __webpack_require__(/*! ./victory-util/collection */ 11);
13024
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__victory_util_collection__ = __webpack_require__(/*! ./victory-util/collection */ 13);
12970
13025
  /* unused harmony reexport Collection */
12971
13026
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__victory_util_data__ = __webpack_require__(/*! ./victory-util/data */ 75);
12972
13027
  /* unused harmony reexport Data */
@@ -15560,7 +15615,7 @@ function tanh(x) {
15560
15615
 
15561
15616
  "use strict";
15562
15617
  /* unused harmony export hslLong */
15563
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15618
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
15564
15619
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
15565
15620
 
15566
15621
 
@@ -15595,7 +15650,7 @@ var hslLong = hsl(__WEBPACK_IMPORTED_MODULE_1__color__["a" /* default */]);
15595
15650
 
15596
15651
  "use strict";
15597
15652
  /* unused harmony export default */
15598
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15653
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
15599
15654
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
15600
15655
 
15601
15656
 
@@ -15625,7 +15680,7 @@ function lab(start, end) {
15625
15680
 
15626
15681
  "use strict";
15627
15682
  /* unused harmony export hclLong */
15628
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15683
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
15629
15684
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
15630
15685
 
15631
15686
 
@@ -15661,7 +15716,7 @@ var hclLong = hcl(__WEBPACK_IMPORTED_MODULE_1__color__["a" /* default */]);
15661
15716
 
15662
15717
  "use strict";
15663
15718
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cubehelixLong; });
15664
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15719
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
15665
15720
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
15666
15721
 
15667
15722
 
@@ -15813,7 +15868,7 @@ function piecewise(interpolate, values) {
15813
15868
 
15814
15869
  "use strict";
15815
15870
  /* unused harmony export default */
15816
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 12);
15871
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 11);
15817
15872
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_isObject__);
15818
15873
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_uniqueId__ = __webpack_require__(/*! lodash/uniqueId */ 64);
15819
15874
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_uniqueId___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_uniqueId__);
@@ -16339,7 +16394,7 @@ module.exports = toInteger;
16339
16394
  /*! all exports used */
16340
16395
  /***/ (function(module, exports, __webpack_require__) {
16341
16396
 
16342
- var isObject = __webpack_require__(/*! ./isObject */ 12),
16397
+ var isObject = __webpack_require__(/*! ./isObject */ 11),
16343
16398
  isSymbol = __webpack_require__(/*! ./isSymbol */ 25);
16344
16399
 
16345
16400
  /** Used as references for various `Number` constants. */
@@ -16449,7 +16504,7 @@ module.exports = basePick;
16449
16504
  var assignValue = __webpack_require__(/*! ./_assignValue */ 47),
16450
16505
  castPath = __webpack_require__(/*! ./_castPath */ 36),
16451
16506
  isIndex = __webpack_require__(/*! ./_isIndex */ 99),
16452
- isObject = __webpack_require__(/*! ./isObject */ 12),
16507
+ isObject = __webpack_require__(/*! ./isObject */ 11),
16453
16508
  toKey = __webpack_require__(/*! ./_toKey */ 26);
16454
16509
 
16455
16510
  /**
@@ -17002,7 +17057,7 @@ Object.defineProperty(VictoryLabel, "defaultProps", {
17002
17057
  /* unused harmony export default */
17003
17058
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_uniqueId__ = __webpack_require__(/*! lodash/uniqueId */ 64);
17004
17059
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_uniqueId___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_uniqueId__);
17005
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 12);
17060
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 11);
17006
17061
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_isObject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_isObject__);
17007
17062
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_isFunction__ = __webpack_require__(/*! lodash/isFunction */ 5);
17008
17063
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_isFunction___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_lodash_isFunction__);
@@ -18652,7 +18707,7 @@ Object.defineProperty(Whisker, "defaultProps", {
18652
18707
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react__ = __webpack_require__(/*! react */ 0);
18653
18708
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react__);
18654
18709
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__events__ = __webpack_require__(/*! ./events */ 74);
18655
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
18710
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
18656
18711
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_fast_compare__);
18657
18712
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__victory_transition_victory_transition__ = __webpack_require__(/*! ../victory-transition/victory-transition */ 116);
18658
18713
 
@@ -18691,9 +18746,18 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
18691
18746
 
18692
18747
  var datumHasXandY = function (datum) {
18693
18748
  return !__WEBPACK_IMPORTED_MODULE_0_lodash_isNil___default()(datum._x) && !__WEBPACK_IMPORTED_MODULE_0_lodash_isNil___default()(datum._y);
18694
- };
18695
-
18696
- /* unused harmony default export */ var _unused_webpack_default_export = (function (WrappedComponent) {
18749
+ }; // used for checking state changes. Expected components can be passed in via options
18750
+
18751
+
18752
+ var defaultComponents = [{
18753
+ name: "parent",
18754
+ index: "parent"
18755
+ }, {
18756
+ name: "data"
18757
+ }, {
18758
+ name: "labels"
18759
+ }];
18760
+ /* unused harmony default export */ var _unused_webpack_default_export = (function (WrappedComponent, options) {
18697
18761
  return (
18698
18762
  /*#__PURE__*/
18699
18763
  function (_WrappedComponent) {
@@ -18720,23 +18784,73 @@ var datumHasXandY = function (datum) {
18720
18784
  _this.cacheValues(calculatedValues);
18721
18785
 
18722
18786
  _this.externalMutations = _this.getExternalMutations(props);
18787
+ _this.calculatedState = _this.getStateChanges(props, calculatedValues);
18723
18788
  return _this;
18724
18789
  }
18725
18790
 
18726
18791
  _createClass(addEvents, [{
18727
- key: "componentDidUpdate",
18728
- value: function componentDidUpdate() {
18729
- var externalMutations = this.getExternalMutations(this.props);
18730
-
18731
- if (!__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(this.externalMutations, externalMutations)) {
18792
+ key: "shouldComponentUpdate",
18793
+ value: function shouldComponentUpdate(nextProps) {
18794
+ var calculatedValues = this.getCalculatedValues(nextProps);
18795
+ var externalMutations = this.getExternalMutations(nextProps);
18796
+ var animating = this.props.animating || this.props.animate;
18797
+ var newMutation = !__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(externalMutations, this.externalMutations);
18798
+
18799
+ if (animating || newMutation) {
18800
+ this.cacheValues(calculatedValues);
18732
18801
  this.externalMutations = externalMutations;
18733
- this.applyExternalMutations(this.props, externalMutations);
18802
+ this.applyExternalMutations(nextProps, externalMutations);
18803
+ return true;
18734
18804
  }
18735
- }
18805
+
18806
+ var calculatedState = this.getStateChanges(nextProps, calculatedValues);
18807
+
18808
+ if (!__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(this.calculatedState, calculatedState)) {
18809
+ this.calculatedState = calculatedState;
18810
+ this.cacheValues(calculatedValues);
18811
+ return true;
18812
+ }
18813
+
18814
+ if (!__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(this.props, nextProps)) {
18815
+ this.cacheValues(calculatedValues);
18816
+ return true;
18817
+ }
18818
+
18819
+ return false;
18820
+ } // compile all state changes from own and parent state. Order doesn't matter, as any state
18821
+ // state change should trigger a re-render
18822
+
18736
18823
  }, {
18737
- key: "componentWillReceiveProps",
18738
- value: function componentWillReceiveProps(nextProps) {
18739
- this.cacheValues(this.getCalculatedValues(nextProps));
18824
+ key: "getStateChanges",
18825
+ value: function getStateChanges(props, calculatedValues) {
18826
+ var _this2 = this;
18827
+
18828
+ var hasEvents = calculatedValues.hasEvents,
18829
+ getSharedEventState = calculatedValues.getSharedEventState;
18830
+
18831
+ if (!hasEvents) {
18832
+ return {};
18833
+ }
18834
+
18835
+ var getState = function (key, type) {
18836
+ var result = __WEBPACK_IMPORTED_MODULE_7_lodash_defaults___default()({}, _this2.getEventState(key, type), getSharedEventState(key, type));
18837
+
18838
+ return __WEBPACK_IMPORTED_MODULE_1_lodash_isEmpty___default()(result) ? undefined : result;
18839
+ };
18840
+
18841
+ options = options || {};
18842
+ var components = options.components || defaultComponents;
18843
+ var stateChanges = components.map(function (component) {
18844
+ if (!props.standalone && component.name === "parent") {
18845
+ // don't check for changes on parent props for non-standalone components
18846
+ return undefined;
18847
+ } else {
18848
+ return component.index !== undefined ? getState(component.index, component.name) : calculatedValues.dataKeys.map(function (key) {
18849
+ return getState(key, component.name);
18850
+ }).filter(Boolean);
18851
+ }
18852
+ }).filter(Boolean);
18853
+ return stateChanges;
18740
18854
  }
18741
18855
  }, {
18742
18856
  key: "applyExternalMutations",
@@ -18790,10 +18904,10 @@ var datumHasXandY = function (datum) {
18790
18904
  }, {
18791
18905
  key: "cacheValues",
18792
18906
  value: function cacheValues(obj) {
18793
- var _this2 = this;
18907
+ var _this3 = this;
18794
18908
 
18795
18909
  __WEBPACK_IMPORTED_MODULE_5_lodash_keys___default()(obj).forEach(function (key) {
18796
- _this2[key] = obj[key];
18910
+ _this3[key] = obj[key];
18797
18911
  });
18798
18912
  }
18799
18913
  }, {
@@ -18879,7 +18993,7 @@ var datumHasXandY = function (datum) {
18879
18993
  }, {
18880
18994
  key: "renderContinuousData",
18881
18995
  value: function renderContinuousData(props) {
18882
- var _this3 = this;
18996
+ var _this4 = this;
18883
18997
 
18884
18998
  var dataComponent = props.dataComponent,
18885
18999
  labelComponent = props.labelComponent,
@@ -18888,7 +19002,7 @@ var datumHasXandY = function (datum) {
18888
19002
  var dataKeys = __WEBPACK_IMPORTED_MODULE_2_lodash_without___default()(this.dataKeys, "all");
18889
19003
 
18890
19004
  var labelComponents = dataKeys.reduce(function (memo, key) {
18891
- var labelProps = _this3.getComponentProps(labelComponent, "labels", key);
19005
+ var labelProps = _this4.getComponentProps(labelComponent, "labels", key);
18892
19006
 
18893
19007
  if (labelProps && labelProps.text !== undefined && labelProps.text !== null) {
18894
19008
  memo = memo.concat(__WEBPACK_IMPORTED_MODULE_8_react___default.a.cloneElement(labelComponent, labelProps));
@@ -18903,14 +19017,14 @@ var datumHasXandY = function (datum) {
18903
19017
  }, {
18904
19018
  key: "renderData",
18905
19019
  value: function renderData(props) {
18906
- var _this4 = this;
19020
+ var _this5 = this;
18907
19021
 
18908
19022
  var shouldRenderDatum = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : datumHasXandY;
18909
19023
  var dataComponent = props.dataComponent,
18910
19024
  labelComponent = props.labelComponent,
18911
19025
  groupComponent = props.groupComponent;
18912
19026
  var dataComponents = this.dataKeys.reduce(function (validDataComponents, _dataKey, index) {
18913
- var dataProps = _this4.getComponentProps(dataComponent, "data", index);
19027
+ var dataProps = _this5.getComponentProps(dataComponent, "data", index);
18914
19028
 
18915
19029
  if (shouldRenderDatum(dataProps.datum)) {
18916
19030
  validDataComponents.push(__WEBPACK_IMPORTED_MODULE_8_react___default.a.cloneElement(dataComponent, dataProps));
@@ -18919,7 +19033,7 @@ var datumHasXandY = function (datum) {
18919
19033
  return validDataComponents;
18920
19034
  }, []);
18921
19035
  var labelComponents = this.dataKeys.map(function (_dataKey, index) {
18922
- var labelProps = _this4.getComponentProps(labelComponent, "labels", index);
19036
+ var labelProps = _this5.getComponentProps(labelComponent, "labels", index);
18923
19037
 
18924
19038
  if (labelProps.text !== undefined && labelProps.text !== null) {
18925
19039
  return __WEBPACK_IMPORTED_MODULE_8_react___default.a.cloneElement(labelComponent, labelProps);
@@ -19506,7 +19620,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
19506
19620
  "use strict";
19507
19621
  /* harmony export (immutable) */ __webpack_exports__["a"] = band;
19508
19622
  /* harmony export (immutable) */ __webpack_exports__["b"] = point;
19509
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
19623
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
19510
19624
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ordinal__ = __webpack_require__(/*! ./ordinal */ 133);
19511
19625
 
19512
19626
 
@@ -20365,7 +20479,7 @@ function identity() {
20365
20479
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
20366
20480
 
20367
20481
  "use strict";
20368
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20482
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20369
20483
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_format__ = __webpack_require__(/*! d3-format */ 135);
20370
20484
 
20371
20485
 
@@ -20644,7 +20758,7 @@ function defaultLocale(definition) {
20644
20758
 
20645
20759
  "use strict";
20646
20760
  /* harmony export (immutable) */ __webpack_exports__["a"] = log;
20647
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20761
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20648
20762
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_format__ = __webpack_require__(/*! d3-format */ 135);
20649
20763
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constant__ = __webpack_require__(/*! ./constant */ 79);
20650
20764
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nice__ = __webpack_require__(/*! ./nice */ 139);
@@ -20845,7 +20959,7 @@ function sqrt() {
20845
20959
 
20846
20960
  "use strict";
20847
20961
  /* harmony export (immutable) */ __webpack_exports__["a"] = quantile;
20848
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20962
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20849
20963
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(/*! ./array */ 14);
20850
20964
 
20851
20965
 
@@ -20911,7 +21025,7 @@ function quantile() {
20911
21025
 
20912
21026
  "use strict";
20913
21027
  /* harmony export (immutable) */ __webpack_exports__["a"] = quantize;
20914
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
21028
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20915
21029
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(/*! ./array */ 14);
20916
21030
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__linear__ = __webpack_require__(/*! ./linear */ 29);
20917
21031
 
@@ -20973,7 +21087,7 @@ function quantize() {
20973
21087
 
20974
21088
  "use strict";
20975
21089
  /* harmony export (immutable) */ __webpack_exports__["a"] = threshold;
20976
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
21090
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20977
21091
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(/*! ./array */ 14);
20978
21092
 
20979
21093
 
@@ -21062,7 +21176,7 @@ var milliseconds = millisecond.range;
21062
21176
  "use strict";
21063
21177
  /* unused harmony export seconds */
21064
21178
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21065
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21179
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21066
21180
 
21067
21181
 
21068
21182
 
@@ -21092,7 +21206,7 @@ var seconds = second.range;
21092
21206
  "use strict";
21093
21207
  /* unused harmony export minutes */
21094
21208
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21095
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21209
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21096
21210
 
21097
21211
 
21098
21212
 
@@ -21122,7 +21236,7 @@ var minutes = minute.range;
21122
21236
  "use strict";
21123
21237
  /* unused harmony export hours */
21124
21238
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21125
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21239
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21126
21240
 
21127
21241
 
21128
21242
 
@@ -21154,7 +21268,7 @@ var hours = hour.range;
21154
21268
  "use strict";
21155
21269
  /* unused harmony export days */
21156
21270
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21157
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21271
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21158
21272
 
21159
21273
 
21160
21274
 
@@ -21197,7 +21311,7 @@ var days = day.range;
21197
21311
  /* unused harmony export fridays */
21198
21312
  /* unused harmony export saturdays */
21199
21313
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21200
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21314
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21201
21315
 
21202
21316
 
21203
21317
 
@@ -21310,7 +21424,7 @@ var years = year.range;
21310
21424
  "use strict";
21311
21425
  /* unused harmony export utcMinutes */
21312
21426
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21313
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21427
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21314
21428
 
21315
21429
 
21316
21430
 
@@ -21340,7 +21454,7 @@ var utcMinutes = utcMinute.range;
21340
21454
  "use strict";
21341
21455
  /* unused harmony export utcHours */
21342
21456
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21343
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21457
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21344
21458
 
21345
21459
 
21346
21460
 
@@ -21370,7 +21484,7 @@ var utcHours = utcHour.range;
21370
21484
  "use strict";
21371
21485
  /* unused harmony export utcDays */
21372
21486
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21373
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21487
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21374
21488
 
21375
21489
 
21376
21490
 
@@ -21413,7 +21527,7 @@ var utcDays = utcDay.range;
21413
21527
  /* unused harmony export utcFridays */
21414
21528
  /* unused harmony export utcSaturdays */
21415
21529
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21416
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21530
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21417
21531
 
21418
21532
 
21419
21533
 
@@ -21636,7 +21750,7 @@ var parseIso = +new Date("2000-01-01T00:00:00.000Z")
21636
21750
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
21637
21751
 
21638
21752
  "use strict";
21639
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
21753
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
21640
21754
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
21641
21755
 
21642
21756
 
@@ -21656,7 +21770,7 @@ var parseIso = +new Date("2000-01-01T00:00:00.000Z")
21656
21770
  "use strict";
21657
21771
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return warm; });
21658
21772
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cool; });
21659
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
21773
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
21660
21774
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
21661
21775
 
21662
21776
 
@@ -21957,7 +22071,7 @@ module.exports = baseSortedUniq;
21957
22071
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
21958
22072
 
21959
22073
  "use strict";
21960
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__collection__ = __webpack_require__(/*! ./collection */ 11);
22074
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__collection__ = __webpack_require__(/*! ./collection */ 13);
21961
22075
  /* eslint-disable func-style */
21962
22076
 
21963
22077
  /* eslint-disable no-use-before-define */
@@ -22311,7 +22425,7 @@ var approximateTextSize = function (text, style) {
22311
22425
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__data__ = __webpack_require__(/*! ./data */ 75);
22312
22426
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__domain__ = __webpack_require__(/*! ./domain */ 83);
22313
22427
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__events__ = __webpack_require__(/*! ./events */ 74);
22314
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__collection__ = __webpack_require__(/*! ./collection */ 11);
22428
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__collection__ = __webpack_require__(/*! ./collection */ 13);
22315
22429
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__helpers__ = __webpack_require__(/*! ./helpers */ 3);
22316
22430
 
22317
22431
 
@@ -22443,14 +22557,15 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
22443
22557
  getAllEvents: function (props) {
22444
22558
  var components = ["groupComponent", "containerComponent", "labelComponent"];
22445
22559
  this.componentEvents = __WEBPACK_IMPORTED_MODULE_15__events__["a" /* default */].getComponentEvents(props, components);
22560
+ var events = props.events;
22446
22561
 
22447
22562
  if (Array.isArray(this.componentEvents)) {
22448
22563
  var _componentEvents;
22449
22564
 
22450
- return Array.isArray(props.events) ? (_componentEvents = this.componentEvents).concat.apply(_componentEvents, _toConsumableArray(props.events)) : this.componentEvents;
22565
+ events = Array.isArray(props.events) ? (_componentEvents = this.componentEvents).concat.apply(_componentEvents, _toConsumableArray(props.events)) : this.componentEvents;
22451
22566
  }
22452
22567
 
22453
- return props.events;
22568
+ return events || [];
22454
22569
  },
22455
22570
  getAnimationProps: function (props, child, index) {
22456
22571
  var _this = this;
@@ -22688,9 +22803,15 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
22688
22803
  };
22689
22804
 
22690
22805
  var combine = function (memo, datum) {
22806
+ var x = Array.isArray(datum) ? datum.map(function (d) {
22807
+ return d.x;
22808
+ }).filter(Boolean) : datum.x;
22809
+ var y = Array.isArray(datum) ? datum.map(function (d) {
22810
+ return d.y;
22811
+ }).filter(Boolean) : datum.y;
22691
22812
  return {
22692
- x: datum.x !== undefined ? memo.x.concat(datum.x) : memo.x,
22693
- y: datum.y !== undefined ? memo.y.concat(datum.y) : memo.y
22813
+ x: x !== undefined ? memo.x.concat(x) : memo.x,
22814
+ y: y !== undefined ? memo.y.concat(y) : memo.y
22694
22815
  };
22695
22816
  };
22696
22817