victory-core 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 */ 97),
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
  !*** ./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
  /*!******************************************************************************!*\
@@ -1975,7 +1976,7 @@ module.exports = arrayIncludes;
1975
1976
  "use strict";
1976
1977
  /* harmony export (immutable) */ __webpack_exports__["b"] = linearish;
1977
1978
  /* harmony export (immutable) */ __webpack_exports__["a"] = linear;
1978
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
1979
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
1979
1980
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
1980
1981
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__continuous__ = __webpack_require__(/*! ./continuous */ 42);
1981
1982
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tickFormat__ = __webpack_require__(/*! ./tickFormat */ 283);
@@ -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);
@@ -3352,7 +3353,7 @@ module.exports = property;
3352
3353
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3353
3354
 
3354
3355
  "use strict";
3355
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
3356
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
3356
3357
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__rgb__ = __webpack_require__(/*! ./rgb */ 99);
3357
3358
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__array__ = __webpack_require__(/*! ./array */ 102);
3358
3359
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__date__ = __webpack_require__(/*! ./date */ 103);
@@ -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 */ 26);
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 */ 258);
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
 
@@ -6913,6 +6919,8 @@ function isDomainComponent(component) {
6913
6919
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_ease__ = __webpack_require__(/*! d3-ease */ 152);
6914
6920
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(/*! ./util */ 163);
6915
6921
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__victory_util_timer__ = __webpack_require__(/*! ../victory-util/timer */ 37);
6922
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
6923
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_fast_compare__);
6916
6924
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
6917
6925
 
6918
6926
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
@@ -6940,6 +6948,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
6940
6948
 
6941
6949
 
6942
6950
 
6951
+
6943
6952
  var VictoryAnimation =
6944
6953
  /*#__PURE__*/
6945
6954
  function (_React$Component) {
@@ -6983,31 +6992,35 @@ function (_React$Component) {
6983
6992
  this.traverseQueue();
6984
6993
  }
6985
6994
  }
6986
- /* lifecycle */
6987
-
6988
6995
  }, {
6989
- key: "componentWillReceiveProps",
6990
- value: function componentWillReceiveProps(nextProps) {
6991
- /* cancel existing loop if it exists */
6992
- this.getTimer().unsubscribe(this.loopID);
6993
- /* If an object was supplied */
6994
-
6995
- if (!Array.isArray(nextProps.data)) {
6996
- // Replace the tween queue. Could set `this.queue = [nextProps.data]`,
6997
- // but let's reuse the same array.
6998
- this.queue.length = 0;
6999
- this.queue.push(nextProps.data);
7000
- /* If an array was supplied */
7001
- } else {
7002
- var _queue;
6996
+ key: "shouldComponentUpdate",
6997
+ value: function shouldComponentUpdate(nextProps, nextState) {
6998
+ var equalProps = __WEBPACK_IMPORTED_MODULE_5_react_fast_compare___default()(this.props, nextProps);
7003
6999
 
7004
- /* Extend the tween queue */
7005
- (_queue = this.queue).push.apply(_queue, _toConsumableArray(nextProps.data));
7006
- }
7007
- /* Start traversing the tween queue */
7000
+ if (!equalProps) {
7001
+ /* cancel existing loop if it exists */
7002
+ this.getTimer().unsubscribe(this.loopID);
7003
+ /* If an object was supplied */
7004
+
7005
+ if (!Array.isArray(nextProps.data)) {
7006
+ // Replace the tween queue. Could set `this.queue = [nextProps.data]`,
7007
+ // but let's reuse the same array.
7008
+ this.queue.length = 0;
7009
+ this.queue.push(nextProps.data);
7010
+ /* If an array was supplied */
7011
+ } else {
7012
+ var _queue;
7008
7013
 
7014
+ /* Extend the tween queue */
7015
+ (_queue = this.queue).push.apply(_queue, _toConsumableArray(nextProps.data));
7016
+ }
7017
+ /* Start traversing the tween queue */
7018
+
7019
+
7020
+ this.traverseQueue();
7021
+ }
7009
7022
 
7010
- this.traverseQueue();
7023
+ return nextState.animationInfo.animating || !equalProps;
7011
7024
  }
7012
7025
  }, {
7013
7026
  key: "componentWillUnmount",
@@ -7304,7 +7317,7 @@ module.exports = stubFalse;
7304
7317
  /*! all exports used */
7305
7318
  /***/ (function(module, exports, __webpack_require__) {
7306
7319
 
7307
- var isObject = __webpack_require__(/*! ./isObject */ 12);
7320
+ var isObject = __webpack_require__(/*! ./isObject */ 11);
7308
7321
 
7309
7322
  /**
7310
7323
  * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
@@ -7621,7 +7634,7 @@ var rad2deg = 180 / Math.PI;
7621
7634
  "use strict";
7622
7635
  /* unused harmony export rgbBasis */
7623
7636
  /* unused harmony export rgbBasisClosed */
7624
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
7637
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
7625
7638
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__basis__ = __webpack_require__(/*! ./basis */ 58);
7626
7639
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__basisClosed__ = __webpack_require__(/*! ./basisClosed */ 100);
7627
7640
  /* 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 */ 84);
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 */ 37);
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 */ 335);
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 */ 16);
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 */ 16);
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
  /***/ }),
@@ -11515,7 +11563,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
11515
11563
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Whisker", function() { return __WEBPACK_IMPORTED_MODULE_13__victory_primitives_whisker__["a"]; });
11516
11564
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__victory_util_add_events__ = __webpack_require__(/*! ./victory-util/add-events */ 247);
11517
11565
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "addEvents", function() { return __WEBPACK_IMPORTED_MODULE_14__victory_util_add_events__["a"]; });
11518
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__victory_util_collection__ = __webpack_require__(/*! ./victory-util/collection */ 11);
11566
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__victory_util_collection__ = __webpack_require__(/*! ./victory-util/collection */ 13);
11519
11567
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Collection", function() { return __WEBPACK_IMPORTED_MODULE_15__victory_util_collection__["a"]; });
11520
11568
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__victory_util_data__ = __webpack_require__(/*! ./victory-util/data */ 75);
11521
11569
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Data", function() { return __WEBPACK_IMPORTED_MODULE_16__victory_util_data__["a"]; });
@@ -14954,7 +15002,7 @@ function tanh(x) {
14954
15002
 
14955
15003
  "use strict";
14956
15004
  /* unused harmony export hslLong */
14957
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15005
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
14958
15006
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
14959
15007
 
14960
15008
 
@@ -14989,7 +15037,7 @@ var hslLong = hsl(__WEBPACK_IMPORTED_MODULE_1__color__["a" /* default */]);
14989
15037
 
14990
15038
  "use strict";
14991
15039
  /* unused harmony export default */
14992
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15040
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
14993
15041
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
14994
15042
 
14995
15043
 
@@ -15019,7 +15067,7 @@ function lab(start, end) {
15019
15067
 
15020
15068
  "use strict";
15021
15069
  /* unused harmony export hclLong */
15022
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15070
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
15023
15071
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
15024
15072
 
15025
15073
 
@@ -15055,7 +15103,7 @@ var hclLong = hcl(__WEBPACK_IMPORTED_MODULE_1__color__["a" /* default */]);
15055
15103
 
15056
15104
  "use strict";
15057
15105
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cubehelixLong; });
15058
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
15106
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
15059
15107
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(/*! ./color */ 18);
15060
15108
 
15061
15109
 
@@ -15208,7 +15256,7 @@ function piecewise(interpolate, values) {
15208
15256
 
15209
15257
  "use strict";
15210
15258
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VictoryContainer; });
15211
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 12);
15259
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 11);
15212
15260
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isObject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_isObject__);
15213
15261
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_uniqueId__ = __webpack_require__(/*! lodash/uniqueId */ 60);
15214
15262
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_uniqueId___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_uniqueId__);
@@ -15942,7 +15990,7 @@ module.exports = toInteger;
15942
15990
  /*! all exports used */
15943
15991
  /***/ (function(module, exports, __webpack_require__) {
15944
15992
 
15945
- var isObject = __webpack_require__(/*! ./isObject */ 12),
15993
+ var isObject = __webpack_require__(/*! ./isObject */ 11),
15946
15994
  isSymbol = __webpack_require__(/*! ./isSymbol */ 24);
15947
15995
 
15948
15996
  /** Used as references for various `Number` constants. */
@@ -16052,7 +16100,7 @@ module.exports = basePick;
16052
16100
  var assignValue = __webpack_require__(/*! ./_assignValue */ 63),
16053
16101
  castPath = __webpack_require__(/*! ./_castPath */ 34),
16054
16102
  isIndex = __webpack_require__(/*! ./_isIndex */ 94),
16055
- isObject = __webpack_require__(/*! ./isObject */ 12),
16103
+ isObject = __webpack_require__(/*! ./isObject */ 11),
16056
16104
  toKey = __webpack_require__(/*! ./_toKey */ 25);
16057
16105
 
16058
16106
  /**
@@ -16624,7 +16672,7 @@ module.exports = nativeKeys;
16624
16672
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VictoryClipContainer; });
16625
16673
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_uniqueId__ = __webpack_require__(/*! lodash/uniqueId */ 60);
16626
16674
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_uniqueId___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_uniqueId__);
16627
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 12);
16675
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_isObject__ = __webpack_require__(/*! lodash/isObject */ 11);
16628
16676
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_isObject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_isObject__);
16629
16677
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_isFunction__ = __webpack_require__(/*! lodash/isFunction */ 5);
16630
16678
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_isFunction___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_lodash_isFunction__);
@@ -18281,7 +18329,7 @@ Object.defineProperty(Whisker, "defaultProps", {
18281
18329
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react__ = __webpack_require__(/*! react */ 0);
18282
18330
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react__);
18283
18331
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__events__ = __webpack_require__(/*! ./events */ 74);
18284
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 13);
18332
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_fast_compare__ = __webpack_require__(/*! react-fast-compare */ 8);
18285
18333
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_fast_compare__);
18286
18334
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__victory_transition_victory_transition__ = __webpack_require__(/*! ../victory-transition/victory-transition */ 116);
18287
18335
 
@@ -18320,9 +18368,18 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
18320
18368
 
18321
18369
  var datumHasXandY = function (datum) {
18322
18370
  return !__WEBPACK_IMPORTED_MODULE_0_lodash_isNil___default()(datum._x) && !__WEBPACK_IMPORTED_MODULE_0_lodash_isNil___default()(datum._y);
18323
- };
18324
-
18325
- /* harmony default export */ __webpack_exports__["a"] = (function (WrappedComponent) {
18371
+ }; // used for checking state changes. Expected components can be passed in via options
18372
+
18373
+
18374
+ var defaultComponents = [{
18375
+ name: "parent",
18376
+ index: "parent"
18377
+ }, {
18378
+ name: "data"
18379
+ }, {
18380
+ name: "labels"
18381
+ }];
18382
+ /* harmony default export */ __webpack_exports__["a"] = (function (WrappedComponent, options) {
18326
18383
  return (
18327
18384
  /*#__PURE__*/
18328
18385
  function (_WrappedComponent) {
@@ -18349,23 +18406,73 @@ var datumHasXandY = function (datum) {
18349
18406
  _this.cacheValues(calculatedValues);
18350
18407
 
18351
18408
  _this.externalMutations = _this.getExternalMutations(props);
18409
+ _this.calculatedState = _this.getStateChanges(props, calculatedValues);
18352
18410
  return _this;
18353
18411
  }
18354
18412
 
18355
18413
  _createClass(addEvents, [{
18356
- key: "componentDidUpdate",
18357
- value: function componentDidUpdate() {
18358
- var externalMutations = this.getExternalMutations(this.props);
18359
-
18360
- if (!__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(this.externalMutations, externalMutations)) {
18414
+ key: "shouldComponentUpdate",
18415
+ value: function shouldComponentUpdate(nextProps) {
18416
+ var calculatedValues = this.getCalculatedValues(nextProps);
18417
+ var externalMutations = this.getExternalMutations(nextProps);
18418
+ var animating = this.props.animating || this.props.animate;
18419
+ var newMutation = !__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(externalMutations, this.externalMutations);
18420
+
18421
+ if (animating || newMutation) {
18422
+ this.cacheValues(calculatedValues);
18361
18423
  this.externalMutations = externalMutations;
18362
- this.applyExternalMutations(this.props, externalMutations);
18424
+ this.applyExternalMutations(nextProps, externalMutations);
18425
+ return true;
18363
18426
  }
18364
- }
18427
+
18428
+ var calculatedState = this.getStateChanges(nextProps, calculatedValues);
18429
+
18430
+ if (!__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(this.calculatedState, calculatedState)) {
18431
+ this.calculatedState = calculatedState;
18432
+ this.cacheValues(calculatedValues);
18433
+ return true;
18434
+ }
18435
+
18436
+ if (!__WEBPACK_IMPORTED_MODULE_10_react_fast_compare___default()(this.props, nextProps)) {
18437
+ this.cacheValues(calculatedValues);
18438
+ return true;
18439
+ }
18440
+
18441
+ return false;
18442
+ } // compile all state changes from own and parent state. Order doesn't matter, as any state
18443
+ // state change should trigger a re-render
18444
+
18365
18445
  }, {
18366
- key: "componentWillReceiveProps",
18367
- value: function componentWillReceiveProps(nextProps) {
18368
- this.cacheValues(this.getCalculatedValues(nextProps));
18446
+ key: "getStateChanges",
18447
+ value: function getStateChanges(props, calculatedValues) {
18448
+ var _this2 = this;
18449
+
18450
+ var hasEvents = calculatedValues.hasEvents,
18451
+ getSharedEventState = calculatedValues.getSharedEventState;
18452
+
18453
+ if (!hasEvents) {
18454
+ return {};
18455
+ }
18456
+
18457
+ var getState = function (key, type) {
18458
+ var result = __WEBPACK_IMPORTED_MODULE_7_lodash_defaults___default()({}, _this2.getEventState(key, type), getSharedEventState(key, type));
18459
+
18460
+ return __WEBPACK_IMPORTED_MODULE_1_lodash_isEmpty___default()(result) ? undefined : result;
18461
+ };
18462
+
18463
+ options = options || {};
18464
+ var components = options.components || defaultComponents;
18465
+ var stateChanges = components.map(function (component) {
18466
+ if (!props.standalone && component.name === "parent") {
18467
+ // don't check for changes on parent props for non-standalone components
18468
+ return undefined;
18469
+ } else {
18470
+ return component.index !== undefined ? getState(component.index, component.name) : calculatedValues.dataKeys.map(function (key) {
18471
+ return getState(key, component.name);
18472
+ }).filter(Boolean);
18473
+ }
18474
+ }).filter(Boolean);
18475
+ return stateChanges;
18369
18476
  }
18370
18477
  }, {
18371
18478
  key: "applyExternalMutations",
@@ -18419,10 +18526,10 @@ var datumHasXandY = function (datum) {
18419
18526
  }, {
18420
18527
  key: "cacheValues",
18421
18528
  value: function cacheValues(obj) {
18422
- var _this2 = this;
18529
+ var _this3 = this;
18423
18530
 
18424
18531
  __WEBPACK_IMPORTED_MODULE_5_lodash_keys___default()(obj).forEach(function (key) {
18425
- _this2[key] = obj[key];
18532
+ _this3[key] = obj[key];
18426
18533
  });
18427
18534
  }
18428
18535
  }, {
@@ -18508,7 +18615,7 @@ var datumHasXandY = function (datum) {
18508
18615
  }, {
18509
18616
  key: "renderContinuousData",
18510
18617
  value: function renderContinuousData(props) {
18511
- var _this3 = this;
18618
+ var _this4 = this;
18512
18619
 
18513
18620
  var dataComponent = props.dataComponent,
18514
18621
  labelComponent = props.labelComponent,
@@ -18517,7 +18624,7 @@ var datumHasXandY = function (datum) {
18517
18624
  var dataKeys = __WEBPACK_IMPORTED_MODULE_2_lodash_without___default()(this.dataKeys, "all");
18518
18625
 
18519
18626
  var labelComponents = dataKeys.reduce(function (memo, key) {
18520
- var labelProps = _this3.getComponentProps(labelComponent, "labels", key);
18627
+ var labelProps = _this4.getComponentProps(labelComponent, "labels", key);
18521
18628
 
18522
18629
  if (labelProps && labelProps.text !== undefined && labelProps.text !== null) {
18523
18630
  memo = memo.concat(__WEBPACK_IMPORTED_MODULE_8_react___default.a.cloneElement(labelComponent, labelProps));
@@ -18532,14 +18639,14 @@ var datumHasXandY = function (datum) {
18532
18639
  }, {
18533
18640
  key: "renderData",
18534
18641
  value: function renderData(props) {
18535
- var _this4 = this;
18642
+ var _this5 = this;
18536
18643
 
18537
18644
  var shouldRenderDatum = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : datumHasXandY;
18538
18645
  var dataComponent = props.dataComponent,
18539
18646
  labelComponent = props.labelComponent,
18540
18647
  groupComponent = props.groupComponent;
18541
18648
  var dataComponents = this.dataKeys.reduce(function (validDataComponents, _dataKey, index) {
18542
- var dataProps = _this4.getComponentProps(dataComponent, "data", index);
18649
+ var dataProps = _this5.getComponentProps(dataComponent, "data", index);
18543
18650
 
18544
18651
  if (shouldRenderDatum(dataProps.datum)) {
18545
18652
  validDataComponents.push(__WEBPACK_IMPORTED_MODULE_8_react___default.a.cloneElement(dataComponent, dataProps));
@@ -18548,7 +18655,7 @@ var datumHasXandY = function (datum) {
18548
18655
  return validDataComponents;
18549
18656
  }, []);
18550
18657
  var labelComponents = this.dataKeys.map(function (_dataKey, index) {
18551
- var labelProps = _this4.getComponentProps(labelComponent, "labels", index);
18658
+ var labelProps = _this5.getComponentProps(labelComponent, "labels", index);
18552
18659
 
18553
18660
  if (labelProps.text !== undefined && labelProps.text !== null) {
18554
18661
  return __WEBPACK_IMPORTED_MODULE_8_react___default.a.cloneElement(labelComponent, labelProps);
@@ -19135,7 +19242,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
19135
19242
  "use strict";
19136
19243
  /* harmony export (immutable) */ __webpack_exports__["a"] = band;
19137
19244
  /* harmony export (immutable) */ __webpack_exports__["b"] = point;
19138
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
19245
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
19139
19246
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ordinal__ = __webpack_require__(/*! ./ordinal */ 133);
19140
19247
 
19141
19248
 
@@ -19994,7 +20101,7 @@ function identity() {
19994
20101
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
19995
20102
 
19996
20103
  "use strict";
19997
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20104
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
19998
20105
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_format__ = __webpack_require__(/*! d3-format */ 135);
19999
20106
 
20000
20107
 
@@ -20273,7 +20380,7 @@ function defaultLocale(definition) {
20273
20380
 
20274
20381
  "use strict";
20275
20382
  /* harmony export (immutable) */ __webpack_exports__["a"] = log;
20276
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20383
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20277
20384
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_format__ = __webpack_require__(/*! d3-format */ 135);
20278
20385
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constant__ = __webpack_require__(/*! ./constant */ 79);
20279
20386
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nice__ = __webpack_require__(/*! ./nice */ 139);
@@ -20474,7 +20581,7 @@ function sqrt() {
20474
20581
 
20475
20582
  "use strict";
20476
20583
  /* harmony export (immutable) */ __webpack_exports__["a"] = quantile;
20477
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20584
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20478
20585
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(/*! ./array */ 14);
20479
20586
 
20480
20587
 
@@ -20540,7 +20647,7 @@ function quantile() {
20540
20647
 
20541
20648
  "use strict";
20542
20649
  /* harmony export (immutable) */ __webpack_exports__["a"] = quantize;
20543
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20650
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20544
20651
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(/*! ./array */ 14);
20545
20652
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__linear__ = __webpack_require__(/*! ./linear */ 28);
20546
20653
 
@@ -20602,7 +20709,7 @@ function quantize() {
20602
20709
 
20603
20710
  "use strict";
20604
20711
  /* harmony export (immutable) */ __webpack_exports__["a"] = threshold;
20605
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 8);
20712
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(/*! d3-array */ 9);
20606
20713
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(/*! ./array */ 14);
20607
20714
 
20608
20715
 
@@ -20691,7 +20798,7 @@ var milliseconds = millisecond.range;
20691
20798
  "use strict";
20692
20799
  /* unused harmony export seconds */
20693
20800
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
20694
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
20801
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
20695
20802
 
20696
20803
 
20697
20804
 
@@ -20721,7 +20828,7 @@ var seconds = second.range;
20721
20828
  "use strict";
20722
20829
  /* unused harmony export minutes */
20723
20830
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
20724
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
20831
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
20725
20832
 
20726
20833
 
20727
20834
 
@@ -20751,7 +20858,7 @@ var minutes = minute.range;
20751
20858
  "use strict";
20752
20859
  /* unused harmony export hours */
20753
20860
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
20754
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
20861
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
20755
20862
 
20756
20863
 
20757
20864
 
@@ -20783,7 +20890,7 @@ var hours = hour.range;
20783
20890
  "use strict";
20784
20891
  /* unused harmony export days */
20785
20892
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
20786
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
20893
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
20787
20894
 
20788
20895
 
20789
20896
 
@@ -20826,7 +20933,7 @@ var days = day.range;
20826
20933
  /* unused harmony export fridays */
20827
20934
  /* unused harmony export saturdays */
20828
20935
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
20829
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
20936
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
20830
20937
 
20831
20938
 
20832
20939
 
@@ -20939,7 +21046,7 @@ var years = year.range;
20939
21046
  "use strict";
20940
21047
  /* unused harmony export utcMinutes */
20941
21048
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
20942
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21049
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
20943
21050
 
20944
21051
 
20945
21052
 
@@ -20969,7 +21076,7 @@ var utcMinutes = utcMinute.range;
20969
21076
  "use strict";
20970
21077
  /* unused harmony export utcHours */
20971
21078
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
20972
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21079
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
20973
21080
 
20974
21081
 
20975
21082
 
@@ -20999,7 +21106,7 @@ var utcHours = utcHour.range;
20999
21106
  "use strict";
21000
21107
  /* unused harmony export utcDays */
21001
21108
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21002
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21109
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21003
21110
 
21004
21111
 
21005
21112
 
@@ -21042,7 +21149,7 @@ var utcDays = utcDay.range;
21042
21149
  /* unused harmony export utcFridays */
21043
21150
  /* unused harmony export utcSaturdays */
21044
21151
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(/*! ./interval */ 4);
21045
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 9);
21152
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(/*! ./duration */ 10);
21046
21153
 
21047
21154
 
21048
21155
 
@@ -21265,7 +21372,7 @@ var parseIso = +new Date("2000-01-01T00:00:00.000Z")
21265
21372
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
21266
21373
 
21267
21374
  "use strict";
21268
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
21375
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
21269
21376
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
21270
21377
 
21271
21378
 
@@ -21285,7 +21392,7 @@ var parseIso = +new Date("2000-01-01T00:00:00.000Z")
21285
21392
  "use strict";
21286
21393
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return warm; });
21287
21394
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cool; });
21288
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 10);
21395
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(/*! d3-color */ 12);
21289
21396
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(/*! d3-interpolate */ 17);
21290
21397
 
21291
21398
 
@@ -21588,7 +21695,7 @@ module.exports = baseSortedUniq;
21588
21695
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
21589
21696
 
21590
21697
  "use strict";
21591
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__collection__ = __webpack_require__(/*! ./collection */ 11);
21698
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__collection__ = __webpack_require__(/*! ./collection */ 13);
21592
21699
  /* eslint-disable func-style */
21593
21700
 
21594
21701
  /* eslint-disable no-use-before-define */
@@ -21944,7 +22051,7 @@ var approximateTextSize = function (text, style) {
21944
22051
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__data__ = __webpack_require__(/*! ./data */ 75);
21945
22052
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__domain__ = __webpack_require__(/*! ./domain */ 83);
21946
22053
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__events__ = __webpack_require__(/*! ./events */ 74);
21947
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__collection__ = __webpack_require__(/*! ./collection */ 11);
22054
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__collection__ = __webpack_require__(/*! ./collection */ 13);
21948
22055
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__helpers__ = __webpack_require__(/*! ./helpers */ 3);
21949
22056
 
21950
22057
 
@@ -22076,14 +22183,15 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
22076
22183
  getAllEvents: function (props) {
22077
22184
  var components = ["groupComponent", "containerComponent", "labelComponent"];
22078
22185
  this.componentEvents = __WEBPACK_IMPORTED_MODULE_15__events__["a" /* default */].getComponentEvents(props, components);
22186
+ var events = props.events;
22079
22187
 
22080
22188
  if (Array.isArray(this.componentEvents)) {
22081
22189
  var _componentEvents;
22082
22190
 
22083
- return Array.isArray(props.events) ? (_componentEvents = this.componentEvents).concat.apply(_componentEvents, _toConsumableArray(props.events)) : this.componentEvents;
22191
+ events = Array.isArray(props.events) ? (_componentEvents = this.componentEvents).concat.apply(_componentEvents, _toConsumableArray(props.events)) : this.componentEvents;
22084
22192
  }
22085
22193
 
22086
- return props.events;
22194
+ return events || [];
22087
22195
  },
22088
22196
  getAnimationProps: function (props, child, index) {
22089
22197
  var _this = this;
@@ -22321,9 +22429,15 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
22321
22429
  };
22322
22430
 
22323
22431
  var combine = function (memo, datum) {
22432
+ var x = Array.isArray(datum) ? datum.map(function (d) {
22433
+ return d.x;
22434
+ }).filter(Boolean) : datum.x;
22435
+ var y = Array.isArray(datum) ? datum.map(function (d) {
22436
+ return d.y;
22437
+ }).filter(Boolean) : datum.y;
22324
22438
  return {
22325
- x: datum.x !== undefined ? memo.x.concat(datum.x) : memo.x,
22326
- y: datum.y !== undefined ? memo.y.concat(datum.y) : memo.y
22439
+ x: x !== undefined ? memo.x.concat(x) : memo.x,
22440
+ y: y !== undefined ? memo.y.concat(y) : memo.y
22327
22441
  };
22328
22442
  };
22329
22443