@pie-lib/graphing-module 1.0.18 → 1.0.21

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.
package/module/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import {_dll_prop_types, _dll_lodash, _dll_react, _dll_material_ui__core_styles, _dll_material_ui__core, _dll_pie_lib__render_ui, _dll_react_dom, _dll_debug, _dll_classnames, _dll_material_ui__core_styles_color_manipulator} from "../../shared-module@^1.2.19/module/index.js";
1
+ import {_dll_prop_types, _dll_lodash, _dll_react, _dll_material_ui__core_styles, _dll_material_ui__core, _dll_pie_lib__render_ui, _dll_react_dom, _dll_debug, _dll_classnames, _dll_material_ui__core_styles_color_manipulator} from "../../shared-module@^1.4.0/module/index.js";
2
2
  const PropTypes$C = _dll_prop_types;
3
3
  const BaseDomainRangeType = {
4
4
  min: PropTypes$C.number.isRequired,
@@ -538,10 +538,12 @@ function selection_remove() {
538
538
  return this.each(remove);
539
539
  }
540
540
  function selection_cloneShallow() {
541
- return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);
541
+ var clone = this.cloneNode(false), parent = this.parentNode;
542
+ return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
542
543
  }
543
544
  function selection_cloneDeep() {
544
- return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);
545
+ var clone = this.cloneNode(true), parent = this.parentNode;
546
+ return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
545
547
  }
546
548
  function selection_clone(deep) {
547
549
  return this.select(deep ? selection_cloneDeep : selection_cloneShallow);
@@ -678,13 +680,13 @@ function dispatchFunction(type, params) {
678
680
  function selection_dispatch(type, params) {
679
681
  return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params));
680
682
  }
681
- var root$2 = [null];
683
+ var root$1 = [null];
682
684
  function Selection(groups, parents) {
683
685
  this._groups = groups;
684
686
  this._parents = parents;
685
687
  }
686
688
  function selection() {
687
- return new Selection([[document.documentElement]], root$2);
689
+ return new Selection([[document.documentElement]], root$1);
688
690
  }
689
691
  Selection.prototype = selection.prototype = {
690
692
  constructor: Selection,
@@ -721,7 +723,7 @@ Selection.prototype = selection.prototype = {
721
723
  dispatch: selection_dispatch
722
724
  };
723
725
  function select(selector) {
724
- return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root$2);
726
+ return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root$1);
725
727
  }
726
728
  function create$1(name) {
727
729
  return select(creator(name).call(document.documentElement));
@@ -772,7 +774,7 @@ function mouse(node) {
772
774
  return clientPoint(node, event);
773
775
  }
774
776
  function selectAll(selector) {
775
- return typeof selector === "string" ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) : new Selection([selector == null ? [] : selector], root$2);
777
+ return typeof selector === "string" ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) : new Selection([selector == null ? [] : selector], root$1);
776
778
  }
777
779
  function touch(node, touches, identifier) {
778
780
  if (arguments.length < 3) (identifier = touches, touches = sourceEvent().changedTouches);
@@ -984,7 +986,7 @@ Point$2.convert = function (a) {
984
986
  }
985
987
  return a;
986
988
  };
987
- const {range: range$1} = _dll_lodash;
989
+ const {range: range$2} = _dll_lodash;
988
990
  const {head: head$1} = _dll_lodash;
989
991
  const {tail: tail$1} = _dll_lodash;
990
992
  const {isEqual: isEqual$7} = _dll_lodash;
@@ -1023,7 +1025,7 @@ function getInterval$1(domain, ticks) {
1023
1025
  return parseFloat(Number(raw).toFixed(4));
1024
1026
  }
1025
1027
  const mkRange$1 = (min, max, interval) => {
1026
- const raw = range$1(min, max, interval);
1028
+ const raw = range$2(min, max, interval);
1027
1029
  raw.splice(raw.length, 1, max);
1028
1030
  return raw;
1029
1031
  };
@@ -2850,10 +2852,13 @@ const {isEqual: require$$5} = _dll_lodash;
2850
2852
  Object.defineProperty(utils, "__esModule", {
2851
2853
  value: true
2852
2854
  });
2855
+ utils.buildSizeArray = utils.bounds = utils.bandKey = utils.amountToIncreaseWidth = void 0;
2856
+ utils.buildTickModel = buildTickModel;
2857
+ utils.getDelta = utils.findLongestWord = void 0;
2853
2858
  utils.getInterval = getInterval;
2859
+ utils.polygonToArea = utils.point = utils.lineToArea = utils.isDomainRangeEqual = void 0;
2854
2860
  utils.snapTo = snapTo;
2855
- utils.buildTickModel = buildTickModel;
2856
- utils.amountToIncreaseWidth = utils.findLongestWord = utils.isDomainRangeEqual = utils.bandKey = utils.getDelta = utils.point = utils.bounds = utils.lineToArea = utils.polygonToArea = utils.tickCount = utils.buildSizeArray = xy_1 = utils.xy = void 0;
2861
+ var xy_1 = utils.xy = utils.tickCount = void 0;
2857
2862
  var _invariant = _interopRequireDefault$1(browser);
2858
2863
  var _range = _interopRequireDefault$1(require$$1$1);
2859
2864
  var _pointGeometry = _interopRequireDefault$1(pointGeometry);
@@ -2871,7 +2876,7 @@ var xy = function xy(x, y) {
2871
2876
  y: y
2872
2877
  };
2873
2878
  };
2874
- var xy_1 = utils.xy = xy;
2879
+ xy_1 = utils.xy = xy;
2875
2880
  var buildSizeArray = function buildSizeArray(size, padding) {
2876
2881
  padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;
2877
2882
  (0, _invariant["default"])(padding < size, 'padding must be less than size');
@@ -3223,7 +3228,7 @@ function initInterpolator(domain, interpolator) {
3223
3228
  }
3224
3229
  var prefix = "$";
3225
3230
  function Map() {}
3226
- Map.prototype = map$1.prototype = {
3231
+ Map.prototype = map$2.prototype = {
3227
3232
  constructor: Map,
3228
3233
  has: function (key) {
3229
3234
  return (prefix + key in this);
@@ -3273,7 +3278,7 @@ Map.prototype = map$1.prototype = {
3273
3278
  for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);
3274
3279
  }
3275
3280
  };
3276
- function map$1(object, f) {
3281
+ function map$2(object, f) {
3277
3282
  var map = new Map();
3278
3283
  if (object instanceof Map) object.each(function (value, key) {
3279
3284
  map.set(key, value);
@@ -3284,7 +3289,7 @@ function map$1(object, f) {
3284
3289
  return map;
3285
3290
  }
3286
3291
  function Set() {}
3287
- var proto = map$1.prototype;
3292
+ var proto = map$2.prototype;
3288
3293
  Set.prototype = {
3289
3294
  constructor: Set,
3290
3295
  has: proto.has,
@@ -3300,14 +3305,14 @@ Set.prototype = {
3300
3305
  empty: proto.empty,
3301
3306
  each: proto.each
3302
3307
  };
3303
- var array$1 = Array.prototype;
3304
- var map = array$1.map;
3305
- var slice = array$1.slice;
3308
+ var array = Array.prototype;
3309
+ var map$1 = array.map;
3310
+ var slice = array.slice;
3306
3311
  var implicit = {
3307
3312
  name: "implicit"
3308
3313
  };
3309
3314
  function ordinal() {
3310
- var index = map$1(), domain = [], range = [], unknown = implicit;
3315
+ var index = map$2(), domain = [], range = [], unknown = implicit;
3311
3316
  function scale(d) {
3312
3317
  var key = d + "", i = index.get(key);
3313
3318
  if (!i) {
@@ -3318,7 +3323,7 @@ function ordinal() {
3318
3323
  }
3319
3324
  scale.domain = function (_) {
3320
3325
  if (!arguments.length) return domain.slice();
3321
- (domain = [], index = map$1());
3326
+ (domain = [], index = map$2());
3322
3327
  var i = -1, n = _.length, d, key;
3323
3328
  while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d));
3324
3329
  return scale;
@@ -3410,7 +3415,7 @@ function extend(parent, definition) {
3410
3415
  function Color() {}
3411
3416
  var darker = 0.7;
3412
3417
  var brighter = 1 / darker;
3413
- var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex3 = /^#([0-9a-f]{3})$/, reHex6 = /^#([0-9a-f]{6})$/, reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"), reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"), reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"), reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"), reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"), reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
3418
+ var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"), reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"), reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"), reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"), reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"), reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
3414
3419
  var named = {
3415
3420
  aliceblue: 0xf0f8ff,
3416
3421
  antiquewhite: 0xfaebd7,
@@ -3584,9 +3589,9 @@ function color_formatRgb() {
3584
3589
  return this.rgb().formatRgb();
3585
3590
  }
3586
3591
  function color$f(format) {
3587
- var m;
3592
+ var m, l;
3588
3593
  format = (format + "").trim().toLowerCase();
3589
- return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb(m >> 8 & 0xf | m >> 4 & 0x0f0, m >> 4 & 0xf | m & 0xf0, (m & 0xf) << 4 | m & 0xf, 1)) : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
3594
+ return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, (m & 0xf) << 4 | m & 0xf, 1) : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) : l === 4 ? rgba(m >> 12 & 0xf | m >> 8 & 0xf0, m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, ((m & 0xf) << 4 | m & 0xf) / 0xff) : null) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
3590
3595
  }
3591
3596
  function rgbn(n) {
3592
3597
  return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);
@@ -3696,118 +3701,6 @@ define(Hsl, hsl, extend(Color, {
3696
3701
  function hsl2rgb(h, m1, m2) {
3697
3702
  return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;
3698
3703
  }
3699
- var deg2rad = Math.PI / 180;
3700
- var rad2deg = 180 / Math.PI;
3701
- var K = 18, Xn = 0.96422, Yn = 1, Zn = 0.82521, t0$1 = 4 / 29, t1$1 = 6 / 29, t2 = 3 * t1$1 * t1$1, t3 = t1$1 * t1$1 * t1$1;
3702
- function labConvert(o) {
3703
- if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);
3704
- if (o instanceof Hcl) return hcl2lab(o);
3705
- if (!(o instanceof Rgb)) o = rgbConvert(o);
3706
- var r = rgb2lrgb(o.r), g = rgb2lrgb(o.g), b = rgb2lrgb(o.b), y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;
3707
- if (r === g && g === b) x = z = y; else {
3708
- x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);
3709
- z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);
3710
- }
3711
- return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);
3712
- }
3713
- function lab(l, a, b, opacity) {
3714
- return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);
3715
- }
3716
- function Lab(l, a, b, opacity) {
3717
- this.l = +l;
3718
- this.a = +a;
3719
- this.b = +b;
3720
- this.opacity = +opacity;
3721
- }
3722
- define(Lab, lab, extend(Color, {
3723
- brighter: function (k) {
3724
- return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);
3725
- },
3726
- darker: function (k) {
3727
- return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);
3728
- },
3729
- rgb: function () {
3730
- var y = (this.l + 16) / 116, x = isNaN(this.a) ? y : y + this.a / 500, z = isNaN(this.b) ? y : y - this.b / 200;
3731
- x = Xn * lab2xyz(x);
3732
- y = Yn * lab2xyz(y);
3733
- z = Zn * lab2xyz(z);
3734
- return new Rgb(lrgb2rgb(3.1338561 * x - 1.6168667 * y - 0.4906146 * z), lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z), lrgb2rgb(0.0719453 * x - 0.2289914 * y + 1.4052427 * z), this.opacity);
3735
- }
3736
- }));
3737
- function xyz2lab(t) {
3738
- return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0$1;
3739
- }
3740
- function lab2xyz(t) {
3741
- return t > t1$1 ? t * t * t : t2 * (t - t0$1);
3742
- }
3743
- function lrgb2rgb(x) {
3744
- return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
3745
- }
3746
- function rgb2lrgb(x) {
3747
- return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
3748
- }
3749
- function hclConvert(o) {
3750
- if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);
3751
- if (!(o instanceof Lab)) o = labConvert(o);
3752
- if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);
3753
- var h = Math.atan2(o.b, o.a) * rad2deg;
3754
- return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
3755
- }
3756
- function hcl(h, c, l, opacity) {
3757
- return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
3758
- }
3759
- function Hcl(h, c, l, opacity) {
3760
- this.h = +h;
3761
- this.c = +c;
3762
- this.l = +l;
3763
- this.opacity = +opacity;
3764
- }
3765
- function hcl2lab(o) {
3766
- if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);
3767
- var h = o.h * deg2rad;
3768
- return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);
3769
- }
3770
- define(Hcl, hcl, extend(Color, {
3771
- brighter: function (k) {
3772
- return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);
3773
- },
3774
- darker: function (k) {
3775
- return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);
3776
- },
3777
- rgb: function () {
3778
- return hcl2lab(this).rgb();
3779
- }
3780
- }));
3781
- var A = -0.14861, B = +1.78277, C = -0.29227, D = -0.90649, E = +1.97294, ED = E * D, EB = E * B, BC_DA = B * C - D * A;
3782
- function cubehelixConvert(o) {
3783
- if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);
3784
- if (!(o instanceof Rgb)) o = rgbConvert(o);
3785
- var r = o.r / 255, g = o.g / 255, b = o.b / 255, l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), bl = b - l, k = (E * (g - l) - C * bl) / D, s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;
3786
- return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);
3787
- }
3788
- function cubehelix(h, s, l, opacity) {
3789
- return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);
3790
- }
3791
- function Cubehelix(h, s, l, opacity) {
3792
- this.h = +h;
3793
- this.s = +s;
3794
- this.l = +l;
3795
- this.opacity = +opacity;
3796
- }
3797
- define(Cubehelix, cubehelix, extend(Color, {
3798
- brighter: function (k) {
3799
- k = k == null ? brighter : Math.pow(brighter, k);
3800
- return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
3801
- },
3802
- darker: function (k) {
3803
- k = k == null ? darker : Math.pow(darker, k);
3804
- return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
3805
- },
3806
- rgb: function () {
3807
- var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, l = +this.l, a = isNaN(this.s) ? 0 : this.s * l * (1 - l), cosh = Math.cos(h), sinh = Math.sin(h);
3808
- return new Rgb(255 * (l + a * (A * cosh + B * sinh)), 255 * (l + a * (C * cosh + D * sinh)), 255 * (l + a * (E * cosh)), this.opacity);
3809
- }
3810
- }));
3811
3704
  function constant$2(x) {
3812
3705
  return function () {
3813
3706
  return x;
@@ -3847,7 +3740,18 @@ var rgb = (function rgbGamma(y) {
3847
3740
  rgb.gamma = rgbGamma;
3848
3741
  return rgb;
3849
3742
  })(1);
3850
- function array(a, b) {
3743
+ function numberArray(a, b) {
3744
+ if (!b) b = [];
3745
+ var n = a ? Math.min(b.length, a.length) : 0, c = b.slice(), i;
3746
+ return function (t) {
3747
+ for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;
3748
+ return c;
3749
+ };
3750
+ }
3751
+ function isNumberArray(x) {
3752
+ return ArrayBuffer.isView(x) && !(x instanceof DataView);
3753
+ }
3754
+ function genericArray(a, b) {
3851
3755
  var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i;
3852
3756
  for (i = 0; i < na; ++i) x[i] = interpolateValue(a[i], b[i]);
3853
3757
  for (; i < nb; ++i) c[i] = b[i];
@@ -3858,13 +3762,13 @@ function array(a, b) {
3858
3762
  }
3859
3763
  function date$1(a, b) {
3860
3764
  var d = new Date();
3861
- return (a = +a, b -= a, function (t) {
3862
- return (d.setTime(a + b * t), d);
3765
+ return (a = +a, b = +b, function (t) {
3766
+ return (d.setTime(a * (1 - t) + b * t), d);
3863
3767
  });
3864
3768
  }
3865
3769
  function interpolateNumber(a, b) {
3866
- return (a = +a, b -= a, function (t) {
3867
- return a + b * t;
3770
+ return (a = +a, b = +b, function (t) {
3771
+ return a * (1 - t) + b * t;
3868
3772
  });
3869
3773
  }
3870
3774
  function object(a, b) {
@@ -3924,11 +3828,11 @@ function string(a, b) {
3924
3828
  }
3925
3829
  function interpolateValue(a, b) {
3926
3830
  var t = typeof b, c;
3927
- return b == null || t === "boolean" ? constant$2(b) : (t === "number" ? interpolateNumber : t === "string" ? (c = color$f(b)) ? (b = c, rgb) : string : b instanceof color$f ? rgb : b instanceof Date ? date$1 : Array.isArray(b) ? array : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : interpolateNumber)(a, b);
3831
+ return b == null || t === "boolean" ? constant$2(b) : (t === "number" ? interpolateNumber : t === "string" ? (c = color$f(b)) ? (b = c, rgb) : string : b instanceof color$f ? rgb : b instanceof Date ? date$1 : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : interpolateNumber)(a, b);
3928
3832
  }
3929
3833
  function interpolateRound(a, b) {
3930
- return (a = +a, b -= a, function (t) {
3931
- return Math.round(a + b * t);
3834
+ return (a = +a, b = +b, function (t) {
3835
+ return Math.round(a * (1 - t) + b * t);
3932
3836
  });
3933
3837
  }
3934
3838
  function constant$1(x) {
@@ -3994,7 +3898,7 @@ function transformer$2() {
3994
3898
  return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));
3995
3899
  };
3996
3900
  scale.domain = function (_) {
3997
- return arguments.length ? (domain = map.call(_, number$1), clamp === identity$3 || (clamp = clamper(domain)), rescale()) : domain.slice();
3901
+ return arguments.length ? (domain = map$1.call(_, number$1), clamp === identity$3 || (clamp = clamper(domain)), rescale()) : domain.slice();
3998
3902
  };
3999
3903
  scale.range = function (_) {
4000
3904
  return arguments.length ? (range = slice.call(_), rescale()) : range.slice();
@@ -4019,13 +3923,16 @@ function transformer$2() {
4019
3923
  function continuous(transform, untransform) {
4020
3924
  return transformer$2()(transform, untransform);
4021
3925
  }
4022
- function formatDecimal(x, p) {
3926
+ function formatDecimal(x) {
3927
+ return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString("en").replace(/,/g, "") : x.toString(10);
3928
+ }
3929
+ function formatDecimalParts(x, p) {
4023
3930
  if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null;
4024
3931
  var i, coefficient = x.slice(0, i);
4025
3932
  return [coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, +x.slice(i + 1)];
4026
3933
  }
4027
3934
  function exponent(x) {
4028
- return (x = formatDecimal(Math.abs(x)), x ? x[1] : NaN);
3935
+ return (x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN);
4029
3936
  }
4030
3937
  function formatGroup(grouping, thousands) {
4031
3938
  return function (value, width) {
@@ -4048,25 +3955,36 @@ function formatNumerals(numerals) {
4048
3955
  }
4049
3956
  var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
4050
3957
  function formatSpecifier(specifier) {
4051
- return new FormatSpecifier(specifier);
3958
+ if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
3959
+ var match;
3960
+ return new FormatSpecifier({
3961
+ fill: match[1],
3962
+ align: match[2],
3963
+ sign: match[3],
3964
+ symbol: match[4],
3965
+ zero: match[5],
3966
+ width: match[6],
3967
+ comma: match[7],
3968
+ precision: match[8] && match[8].slice(1),
3969
+ trim: match[9],
3970
+ type: match[10]
3971
+ });
4052
3972
  }
4053
3973
  formatSpecifier.prototype = FormatSpecifier.prototype;
4054
3974
  function FormatSpecifier(specifier) {
4055
- if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
4056
- var match;
4057
- this.fill = match[1] || " ";
4058
- this.align = match[2] || ">";
4059
- this.sign = match[3] || "-";
4060
- this.symbol = match[4] || "";
4061
- this.zero = !!match[5];
4062
- this.width = match[6] && +match[6];
4063
- this.comma = !!match[7];
4064
- this.precision = match[8] && +match[8].slice(1);
4065
- this.trim = !!match[9];
4066
- this.type = match[10] || "";
3975
+ this.fill = specifier.fill === undefined ? " " : specifier.fill + "";
3976
+ this.align = specifier.align === undefined ? ">" : specifier.align + "";
3977
+ this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";
3978
+ this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";
3979
+ this.zero = !!specifier.zero;
3980
+ this.width = specifier.width === undefined ? undefined : +specifier.width;
3981
+ this.comma = !!specifier.comma;
3982
+ this.precision = specifier.precision === undefined ? undefined : +specifier.precision;
3983
+ this.trim = !!specifier.trim;
3984
+ this.type = specifier.type === undefined ? "" : specifier.type + "";
4067
3985
  }
4068
3986
  FormatSpecifier.prototype.toString = function () {
4069
- return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width == null ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
3987
+ return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === undefined ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
4070
3988
  };
4071
3989
  function formatTrim(s) {
4072
3990
  out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
@@ -4079,10 +3997,8 @@ function formatTrim(s) {
4079
3997
  i1 = i;
4080
3998
  break;
4081
3999
  default:
4082
- if (i0 > 0) {
4083
- if (!+s[i]) break out;
4084
- i0 = 0;
4085
- }
4000
+ if (!+s[i]) break out;
4001
+ if (i0 > 0) i0 = 0;
4086
4002
  break;
4087
4003
  }
4088
4004
  }
@@ -4090,13 +4006,13 @@ function formatTrim(s) {
4090
4006
  }
4091
4007
  var prefixExponent;
4092
4008
  function formatPrefixAuto(x, p) {
4093
- var d = formatDecimal(x, p);
4009
+ var d = formatDecimalParts(x, p);
4094
4010
  if (!d) return x + "";
4095
4011
  var coefficient = d[0], exponent = d[1], i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, n = coefficient.length;
4096
- return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join("0") : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0];
4012
+ return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join("0") : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) : "0." + new Array(1 - i).join("0") + formatDecimalParts(x, Math.max(0, p + i - 1))[0];
4097
4013
  }
4098
4014
  function formatRounded(x, p) {
4099
- var d = formatDecimal(x, p);
4015
+ var d = formatDecimalParts(x, p);
4100
4016
  if (!d) return x + "";
4101
4017
  var coefficient = d[0], exponent = d[1];
4102
4018
  return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join("0");
@@ -4111,9 +4027,7 @@ var formatTypes = {
4111
4027
  "c": function (x) {
4112
4028
  return x + "";
4113
4029
  },
4114
- "d": function (x) {
4115
- return Math.round(x).toString(10);
4116
- },
4030
+ "d": formatDecimal,
4117
4031
  "e": function (x, p) {
4118
4032
  return x.toExponential(p);
4119
4033
  },
@@ -4141,17 +4055,17 @@ var formatTypes = {
4141
4055
  function identity$2(x) {
4142
4056
  return x;
4143
4057
  }
4144
- var prefixes = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
4058
+ var map = Array.prototype.map, prefixes = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
4145
4059
  function formatLocale$1(locale) {
4146
- var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity$2, currency = locale.currency, decimal = locale.decimal, numerals = locale.numerals ? formatNumerals(locale.numerals) : identity$2, percent = locale.percent || "%";
4060
+ var group = locale.grouping === undefined || locale.thousands === undefined ? identity$2 : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""), currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "", currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "", decimal = locale.decimal === undefined ? "." : locale.decimal + "", numerals = locale.numerals === undefined ? identity$2 : formatNumerals(map.call(locale.numerals, String)), percent = locale.percent === undefined ? "%" : locale.percent + "", minus = locale.minus === undefined ? "-" : locale.minus + "", nan = locale.nan === undefined ? "NaN" : locale.nan + "";
4147
4061
  function newFormat(specifier) {
4148
4062
  specifier = formatSpecifier(specifier);
4149
4063
  var fill = specifier.fill, align = specifier.align, sign = specifier.sign, symbol = specifier.symbol, zero = specifier.zero, width = specifier.width, comma = specifier.comma, precision = specifier.precision, trim = specifier.trim, type = specifier.type;
4150
- if (type === "n") (comma = true, type = "g"); else if (!formatTypes[type]) (precision == null && (precision = 12), trim = true, type = "g");
4064
+ if (type === "n") (comma = true, type = "g"); else if (!formatTypes[type]) (precision === undefined && (precision = 12), trim = true, type = "g");
4151
4065
  if (zero || fill === "0" && align === "=") (zero = true, fill = "0", align = "=");
4152
- var prefix = symbol === "$" ? currency[0] : symbol === "#" && (/[boxX]/).test(type) ? "0" + type.toLowerCase() : "", suffix = symbol === "$" ? currency[1] : (/[%p]/).test(type) ? percent : "";
4066
+ var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && (/[boxX]/).test(type) ? "0" + type.toLowerCase() : "", suffix = symbol === "$" ? currencySuffix : (/[%p]/).test(type) ? percent : "";
4153
4067
  var formatType = formatTypes[type], maybeSuffix = (/[defgprs%]/).test(type);
4154
- precision = precision == null ? 6 : (/[gprs]/).test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));
4068
+ precision = precision === undefined ? 6 : (/[gprs]/).test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));
4155
4069
  function format(value) {
4156
4070
  var valuePrefix = prefix, valueSuffix = suffix, i, n, c;
4157
4071
  if (type === "c") {
@@ -4159,11 +4073,11 @@ function formatLocale$1(locale) {
4159
4073
  value = "";
4160
4074
  } else {
4161
4075
  value = +value;
4162
- var valueNegative = value < 0;
4163
- value = formatType(Math.abs(value), precision);
4076
+ var valueNegative = value < 0 || 1 / value < 0;
4077
+ value = isNaN(value) ? nan : formatType(Math.abs(value), precision);
4164
4078
  if (trim) value = formatTrim(value);
4165
- if (valueNegative && +value === 0) valueNegative = false;
4166
- valuePrefix = (valueNegative ? sign === "(" ? sign : "-" : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
4079
+ if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;
4080
+ valuePrefix = (valueNegative ? sign === "(" ? sign : minus : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
4167
4081
  valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
4168
4082
  if (maybeSuffix) {
4169
4083
  (i = -1, n = value.length);
@@ -4218,7 +4132,8 @@ defaultLocale$1({
4218
4132
  decimal: ".",
4219
4133
  thousands: ",",
4220
4134
  grouping: [3],
4221
- currency: ["$", ""]
4135
+ currency: ["$", ""],
4136
+ minus: "-"
4222
4137
  });
4223
4138
  function defaultLocale$1(definition) {
4224
4139
  locale$1 = formatLocale$1(definition);
@@ -4319,7 +4234,7 @@ function identity$1(domain) {
4319
4234
  }
4320
4235
  scale.invert = scale;
4321
4236
  scale.domain = scale.range = function (_) {
4322
- return arguments.length ? (domain = map.call(_, number$1), scale) : domain.slice();
4237
+ return arguments.length ? (domain = map$1.call(_, number$1), scale) : domain.slice();
4323
4238
  };
4324
4239
  scale.unknown = function (_) {
4325
4240
  return arguments.length ? (unknown = _, scale) : unknown;
@@ -4327,7 +4242,7 @@ function identity$1(domain) {
4327
4242
  scale.copy = function () {
4328
4243
  return identity$1(domain).unknown(unknown);
4329
4244
  };
4330
- domain = arguments.length ? map.call(domain, number$1) : [0, 1];
4245
+ domain = arguments.length ? map$1.call(domain, number$1) : [0, 1];
4331
4246
  return linearish(scale);
4332
4247
  }
4333
4248
  function nice(domain, interval) {
@@ -4597,9 +4512,11 @@ function threshold() {
4597
4512
  var t0 = new Date(), t1 = new Date();
4598
4513
  function newInterval(floori, offseti, count, field) {
4599
4514
  function interval(date) {
4600
- return (floori(date = new Date(+date)), date);
4515
+ return (floori(date = arguments.length === 0 ? new Date() : new Date(+date)), date);
4601
4516
  }
4602
- interval.floor = interval;
4517
+ interval.floor = function (date) {
4518
+ return (floori(date = new Date(+date)), date);
4519
+ };
4603
4520
  interval.ceil = function (date) {
4604
4521
  return (floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date);
4605
4522
  };
@@ -4665,6 +4582,7 @@ millisecond.every = function (k) {
4665
4582
  return (end - start) / k;
4666
4583
  });
4667
4584
  };
4585
+ var utcMillisecond = millisecond;
4668
4586
  var durationSecond$1 = 1e3;
4669
4587
  var durationMinute$1 = 6e4;
4670
4588
  var durationHour$1 = 36e5;
@@ -4679,6 +4597,7 @@ var second = newInterval(function (date) {
4679
4597
  }, function (date) {
4680
4598
  return date.getUTCSeconds();
4681
4599
  });
4600
+ var utcSecond = second;
4682
4601
  var minute = newInterval(function (date) {
4683
4602
  date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond$1);
4684
4603
  }, function (date, step) {
@@ -4688,6 +4607,7 @@ var minute = newInterval(function (date) {
4688
4607
  }, function (date) {
4689
4608
  return date.getMinutes();
4690
4609
  });
4610
+ var timeMinute = minute;
4691
4611
  var hour = newInterval(function (date) {
4692
4612
  date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond$1 - date.getMinutes() * durationMinute$1);
4693
4613
  }, function (date, step) {
@@ -4697,6 +4617,7 @@ var hour = newInterval(function (date) {
4697
4617
  }, function (date) {
4698
4618
  return date.getHours();
4699
4619
  });
4620
+ var timeHour = hour;
4700
4621
  var day = newInterval(function (date) {
4701
4622
  date.setHours(0, 0, 0, 0);
4702
4623
  }, function (date, step) {
@@ -4706,6 +4627,7 @@ var day = newInterval(function (date) {
4706
4627
  }, function (date) {
4707
4628
  return date.getDate() - 1;
4708
4629
  });
4630
+ var timeDay = day;
4709
4631
  function weekday(i) {
4710
4632
  return newInterval(function (date) {
4711
4633
  date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
@@ -4733,6 +4655,7 @@ var month = newInterval(function (date) {
4733
4655
  }, function (date) {
4734
4656
  return date.getMonth();
4735
4657
  });
4658
+ var timeMonth = month;
4736
4659
  var year = newInterval(function (date) {
4737
4660
  date.setMonth(0, 1);
4738
4661
  date.setHours(0, 0, 0, 0);
@@ -4752,6 +4675,7 @@ year.every = function (k) {
4752
4675
  date.setFullYear(date.getFullYear() + step * k);
4753
4676
  });
4754
4677
  };
4678
+ var timeYear = year;
4755
4679
  var utcMinute = newInterval(function (date) {
4756
4680
  date.setUTCSeconds(0, 0);
4757
4681
  }, function (date, step) {
@@ -4761,6 +4685,7 @@ var utcMinute = newInterval(function (date) {
4761
4685
  }, function (date) {
4762
4686
  return date.getUTCMinutes();
4763
4687
  });
4688
+ var utcMinute$1 = utcMinute;
4764
4689
  var utcHour = newInterval(function (date) {
4765
4690
  date.setUTCMinutes(0, 0, 0);
4766
4691
  }, function (date, step) {
@@ -4770,6 +4695,7 @@ var utcHour = newInterval(function (date) {
4770
4695
  }, function (date) {
4771
4696
  return date.getUTCHours();
4772
4697
  });
4698
+ var utcHour$1 = utcHour;
4773
4699
  var utcDay = newInterval(function (date) {
4774
4700
  date.setUTCHours(0, 0, 0, 0);
4775
4701
  }, function (date, step) {
@@ -4779,6 +4705,7 @@ var utcDay = newInterval(function (date) {
4779
4705
  }, function (date) {
4780
4706
  return date.getUTCDate() - 1;
4781
4707
  });
4708
+ var utcDay$1 = utcDay;
4782
4709
  function utcWeekday(i) {
4783
4710
  return newInterval(function (date) {
4784
4711
  date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
@@ -4806,6 +4733,7 @@ var utcMonth = newInterval(function (date) {
4806
4733
  }, function (date) {
4807
4734
  return date.getUTCMonth();
4808
4735
  });
4736
+ var utcMonth$1 = utcMonth;
4809
4737
  var utcYear = newInterval(function (date) {
4810
4738
  date.setUTCMonth(0, 1);
4811
4739
  date.setUTCHours(0, 0, 0, 0);
@@ -4825,6 +4753,7 @@ utcYear.every = function (k) {
4825
4753
  date.setUTCFullYear(date.getUTCFullYear() + step * k);
4826
4754
  });
4827
4755
  };
4756
+ var utcYear$1 = utcYear;
4828
4757
  function localDate(d) {
4829
4758
  if (0 <= d.y && d.y < 100) {
4830
4759
  var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
@@ -4841,11 +4770,11 @@ function utcDate(d) {
4841
4770
  }
4842
4771
  return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));
4843
4772
  }
4844
- function newYear(y) {
4773
+ function newDate(y, m, d) {
4845
4774
  return {
4846
4775
  y: y,
4847
- m: 0,
4848
- d: 1,
4776
+ m: m,
4777
+ d: d,
4849
4778
  H: 0,
4850
4779
  M: 0,
4851
4780
  S: 0,
@@ -4864,6 +4793,8 @@ function formatLocale(locale) {
4864
4793
  "d": formatDayOfMonth,
4865
4794
  "e": formatDayOfMonth,
4866
4795
  "f": formatMicroseconds,
4796
+ "g": formatYearISO,
4797
+ "G": formatFullYearISO,
4867
4798
  "H": formatHour24,
4868
4799
  "I": formatHour12,
4869
4800
  "j": formatDayOfYear,
@@ -4871,6 +4802,7 @@ function formatLocale(locale) {
4871
4802
  "m": formatMonthNumber,
4872
4803
  "M": formatMinutes,
4873
4804
  "p": formatPeriod,
4805
+ "q": formatQuarter,
4874
4806
  "Q": formatUnixTimestamp,
4875
4807
  "s": formatUnixTimestampSeconds,
4876
4808
  "S": formatSeconds,
@@ -4895,6 +4827,8 @@ function formatLocale(locale) {
4895
4827
  "d": formatUTCDayOfMonth,
4896
4828
  "e": formatUTCDayOfMonth,
4897
4829
  "f": formatUTCMicroseconds,
4830
+ "g": formatUTCYearISO,
4831
+ "G": formatUTCFullYearISO,
4898
4832
  "H": formatUTCHour24,
4899
4833
  "I": formatUTCHour12,
4900
4834
  "j": formatUTCDayOfYear,
@@ -4902,6 +4836,7 @@ function formatLocale(locale) {
4902
4836
  "m": formatUTCMonthNumber,
4903
4837
  "M": formatUTCMinutes,
4904
4838
  "p": formatUTCPeriod,
4839
+ "q": formatUTCQuarter,
4905
4840
  "Q": formatUnixTimestamp,
4906
4841
  "s": formatUnixTimestampSeconds,
4907
4842
  "S": formatUTCSeconds,
@@ -4926,6 +4861,8 @@ function formatLocale(locale) {
4926
4861
  "d": parseDayOfMonth,
4927
4862
  "e": parseDayOfMonth,
4928
4863
  "f": parseMicroseconds,
4864
+ "g": parseYear,
4865
+ "G": parseFullYear,
4929
4866
  "H": parseHour24,
4930
4867
  "I": parseHour24,
4931
4868
  "j": parseDayOfYear,
@@ -4933,6 +4870,7 @@ function formatLocale(locale) {
4933
4870
  "m": parseMonthNumber,
4934
4871
  "M": parseMinutes,
4935
4872
  "p": parsePeriod,
4873
+ "q": parseQuarter,
4936
4874
  "Q": parseUnixTimestamp,
4937
4875
  "s": parseUnixTimestampSeconds,
4938
4876
  "S": parseSeconds,
@@ -4971,42 +4909,45 @@ function formatLocale(locale) {
4971
4909
  return string.join("");
4972
4910
  };
4973
4911
  }
4974
- function newParse(specifier, newDate) {
4912
+ function newParse(specifier, Z) {
4975
4913
  return function (string) {
4976
- var d = newYear(1900), i = parseSpecifier(d, specifier, string += "", 0), week, day$1;
4914
+ var d = newDate(1900, undefined, 1), i = parseSpecifier(d, specifier, string += "", 0), week, day;
4977
4915
  if (i != string.length) return null;
4978
4916
  if (("Q" in d)) return new Date(d.Q);
4917
+ if (("s" in d)) return new Date(d.s * 1000 + (("L" in d) ? d.L : 0));
4918
+ if (Z && !(("Z" in d))) d.Z = 0;
4979
4919
  if (("p" in d)) d.H = d.H % 12 + d.p * 12;
4920
+ if (d.m === undefined) d.m = ("q" in d) ? d.q : 0;
4980
4921
  if (("V" in d)) {
4981
4922
  if (d.V < 1 || d.V > 53) return null;
4982
4923
  if (!(("w" in d))) d.w = 1;
4983
4924
  if (("Z" in d)) {
4984
- (week = utcDate(newYear(d.y)), day$1 = week.getUTCDay());
4985
- week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week);
4986
- week = utcDay.offset(week, (d.V - 1) * 7);
4925
+ (week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay());
4926
+ week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
4927
+ week = utcDay$1.offset(week, (d.V - 1) * 7);
4987
4928
  d.y = week.getUTCFullYear();
4988
4929
  d.m = week.getUTCMonth();
4989
4930
  d.d = week.getUTCDate() + (d.w + 6) % 7;
4990
4931
  } else {
4991
- (week = newDate(newYear(d.y)), day$1 = week.getDay());
4992
- week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week);
4993
- week = day.offset(week, (d.V - 1) * 7);
4932
+ (week = localDate(newDate(d.y, 0, 1)), day = week.getDay());
4933
+ week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
4934
+ week = timeDay.offset(week, (d.V - 1) * 7);
4994
4935
  d.y = week.getFullYear();
4995
4936
  d.m = week.getMonth();
4996
4937
  d.d = week.getDate() + (d.w + 6) % 7;
4997
4938
  }
4998
4939
  } else if (("W" in d) || ("U" in d)) {
4999
4940
  if (!(("w" in d))) d.w = ("u" in d) ? d.u % 7 : ("W" in d) ? 1 : 0;
5000
- day$1 = ("Z" in d) ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();
4941
+ day = ("Z" in d) ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
5001
4942
  d.m = 0;
5002
- d.d = ("W" in d) ? (d.w + 6) % 7 + d.W * 7 - (day$1 + 5) % 7 : d.w + d.U * 7 - (day$1 + 6) % 7;
4943
+ d.d = ("W" in d) ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
5003
4944
  }
5004
4945
  if (("Z" in d)) {
5005
4946
  d.H += d.Z / 100 | 0;
5006
4947
  d.M += d.Z % 100;
5007
4948
  return utcDate(d);
5008
4949
  }
5009
- return newDate(d);
4950
+ return localDate(d);
5010
4951
  };
5011
4952
  }
5012
4953
  function parseSpecifier(d, specifier, string, j) {
@@ -5068,6 +5009,9 @@ function formatLocale(locale) {
5068
5009
  function formatPeriod(d) {
5069
5010
  return locale_periods[+(d.getHours() >= 12)];
5070
5011
  }
5012
+ function formatQuarter(d) {
5013
+ return 1 + ~~(d.getMonth() / 3);
5014
+ }
5071
5015
  function formatUTCShortWeekday(d) {
5072
5016
  return locale_shortWeekdays[d.getUTCDay()];
5073
5017
  }
@@ -5083,6 +5027,9 @@ function formatLocale(locale) {
5083
5027
  function formatUTCPeriod(d) {
5084
5028
  return locale_periods[+(d.getUTCHours() >= 12)];
5085
5029
  }
5030
+ function formatUTCQuarter(d) {
5031
+ return 1 + ~~(d.getUTCMonth() / 3);
5032
+ }
5086
5033
  return {
5087
5034
  format: function (specifier) {
5088
5035
  var f = newFormat(specifier += "", formats);
@@ -5092,7 +5039,7 @@ function formatLocale(locale) {
5092
5039
  return f;
5093
5040
  },
5094
5041
  parse: function (specifier) {
5095
- var p = newParse(specifier += "", localDate);
5042
+ var p = newParse(specifier += "", false);
5096
5043
  p.toString = function () {
5097
5044
  return specifier;
5098
5045
  };
@@ -5106,7 +5053,7 @@ function formatLocale(locale) {
5106
5053
  return f;
5107
5054
  },
5108
5055
  utcParse: function (specifier) {
5109
- var p = newParse(specifier, utcDate);
5056
+ var p = newParse(specifier += "", true);
5110
5057
  p.toString = function () {
5111
5058
  return specifier;
5112
5059
  };
@@ -5166,6 +5113,10 @@ function parseZone(d, string, i) {
5166
5113
  var n = (/^(Z)|([+-]\d\d)(?::?(\d\d))?/).exec(string.slice(i, i + 6));
5167
5114
  return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1;
5168
5115
  }
5116
+ function parseQuarter(d, string, i) {
5117
+ var n = numberRe.exec(string.slice(i, i + 1));
5118
+ return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;
5119
+ }
5169
5120
  function parseMonthNumber(d, string, i) {
5170
5121
  var n = numberRe.exec(string.slice(i, i + 2));
5171
5122
  return n ? (d.m = n[0] - 1, i + n[0].length) : -1;
@@ -5208,7 +5159,7 @@ function parseUnixTimestamp(d, string, i) {
5208
5159
  }
5209
5160
  function parseUnixTimestampSeconds(d, string, i) {
5210
5161
  var n = numberRe.exec(string.slice(i));
5211
- return n ? (d.Q = +n[0] * 1000, i + n[0].length) : -1;
5162
+ return n ? (d.s = +n[0], i + n[0].length) : -1;
5212
5163
  }
5213
5164
  function formatDayOfMonth(d, p) {
5214
5165
  return pad(d.getDate(), p, 2);
@@ -5220,7 +5171,7 @@ function formatHour12(d, p) {
5220
5171
  return pad(d.getHours() % 12 || 12, p, 2);
5221
5172
  }
5222
5173
  function formatDayOfYear(d, p) {
5223
- return pad(1 + day.count(year(d), d), p, 3);
5174
+ return pad(1 + timeDay.count(timeYear(d), d), p, 3);
5224
5175
  }
5225
5176
  function formatMilliseconds(d, p) {
5226
5177
  return pad(d.getMilliseconds(), p, 3);
@@ -5242,25 +5193,37 @@ function formatWeekdayNumberMonday(d) {
5242
5193
  return day === 0 ? 7 : day;
5243
5194
  }
5244
5195
  function formatWeekNumberSunday(d, p) {
5245
- return pad(sunday.count(year(d), d), p, 2);
5196
+ return pad(sunday.count(timeYear(d) - 1, d), p, 2);
5246
5197
  }
5247
- function formatWeekNumberISO(d, p) {
5198
+ function dISO(d) {
5248
5199
  var day = d.getDay();
5249
- d = day >= 4 || day === 0 ? thursday(d) : thursday.ceil(d);
5250
- return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
5200
+ return day >= 4 || day === 0 ? thursday(d) : thursday.ceil(d);
5201
+ }
5202
+ function formatWeekNumberISO(d, p) {
5203
+ d = dISO(d);
5204
+ return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
5251
5205
  }
5252
5206
  function formatWeekdayNumberSunday(d) {
5253
5207
  return d.getDay();
5254
5208
  }
5255
5209
  function formatWeekNumberMonday(d, p) {
5256
- return pad(monday.count(year(d), d), p, 2);
5210
+ return pad(monday.count(timeYear(d) - 1, d), p, 2);
5257
5211
  }
5258
5212
  function formatYear(d, p) {
5259
5213
  return pad(d.getFullYear() % 100, p, 2);
5260
5214
  }
5215
+ function formatYearISO(d, p) {
5216
+ d = dISO(d);
5217
+ return pad(d.getFullYear() % 100, p, 2);
5218
+ }
5261
5219
  function formatFullYear(d, p) {
5262
5220
  return pad(d.getFullYear() % 10000, p, 4);
5263
5221
  }
5222
+ function formatFullYearISO(d, p) {
5223
+ var day = d.getDay();
5224
+ d = day >= 4 || day === 0 ? thursday(d) : thursday.ceil(d);
5225
+ return pad(d.getFullYear() % 10000, p, 4);
5226
+ }
5264
5227
  function formatZone(d) {
5265
5228
  var z = d.getTimezoneOffset();
5266
5229
  return (z > 0 ? "-" : (z *= -1, "+")) + pad(z / 60 | 0, "0", 2) + pad(z % 60, "0", 2);
@@ -5275,7 +5238,7 @@ function formatUTCHour12(d, p) {
5275
5238
  return pad(d.getUTCHours() % 12 || 12, p, 2);
5276
5239
  }
5277
5240
  function formatUTCDayOfYear(d, p) {
5278
- return pad(1 + utcDay.count(utcYear(d), d), p, 3);
5241
+ return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
5279
5242
  }
5280
5243
  function formatUTCMilliseconds(d, p) {
5281
5244
  return pad(d.getUTCMilliseconds(), p, 3);
@@ -5297,25 +5260,37 @@ function formatUTCWeekdayNumberMonday(d) {
5297
5260
  return dow === 0 ? 7 : dow;
5298
5261
  }
5299
5262
  function formatUTCWeekNumberSunday(d, p) {
5300
- return pad(utcSunday.count(utcYear(d), d), p, 2);
5263
+ return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
5301
5264
  }
5302
- function formatUTCWeekNumberISO(d, p) {
5265
+ function UTCdISO(d) {
5303
5266
  var day = d.getUTCDay();
5304
- d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);
5305
- return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
5267
+ return day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);
5268
+ }
5269
+ function formatUTCWeekNumberISO(d, p) {
5270
+ d = UTCdISO(d);
5271
+ return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
5306
5272
  }
5307
5273
  function formatUTCWeekdayNumberSunday(d) {
5308
5274
  return d.getUTCDay();
5309
5275
  }
5310
5276
  function formatUTCWeekNumberMonday(d, p) {
5311
- return pad(utcMonday.count(utcYear(d), d), p, 2);
5277
+ return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
5312
5278
  }
5313
5279
  function formatUTCYear(d, p) {
5314
5280
  return pad(d.getUTCFullYear() % 100, p, 2);
5315
5281
  }
5282
+ function formatUTCYearISO(d, p) {
5283
+ d = UTCdISO(d);
5284
+ return pad(d.getUTCFullYear() % 100, p, 2);
5285
+ }
5316
5286
  function formatUTCFullYear(d, p) {
5317
5287
  return pad(d.getUTCFullYear() % 10000, p, 4);
5318
5288
  }
5289
+ function formatUTCFullYearISO(d, p) {
5290
+ var day = d.getUTCDay();
5291
+ d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);
5292
+ return pad(d.getUTCFullYear() % 10000, p, 4);
5293
+ }
5319
5294
  function formatUTCZone() {
5320
5295
  return "+0000";
5321
5296
  }
@@ -5331,7 +5306,6 @@ function formatUnixTimestampSeconds(d) {
5331
5306
  var locale;
5332
5307
  var timeFormat;
5333
5308
  var utcFormat;
5334
- var utcParse;
5335
5309
  defaultLocale({
5336
5310
  dateTime: "%x, %X",
5337
5311
  date: "%-m/%-d/%Y",
@@ -5346,19 +5320,8 @@ function defaultLocale(definition) {
5346
5320
  locale = formatLocale(definition);
5347
5321
  timeFormat = locale.format;
5348
5322
  utcFormat = locale.utcFormat;
5349
- utcParse = locale.utcParse;
5350
5323
  return locale;
5351
5324
  }
5352
- var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ";
5353
- function formatIsoNative(date) {
5354
- return date.toISOString();
5355
- }
5356
- Date.prototype.toISOString ? formatIsoNative : utcFormat(isoSpecifier);
5357
- function parseIsoNative(string) {
5358
- var date = new Date(string);
5359
- return isNaN(date) ? null : date;
5360
- }
5361
- +new Date("2000-01-01T00:00:00.000Z") ? parseIsoNative : utcParse(isoSpecifier);
5362
5325
  var durationSecond = 1000, durationMinute = durationSecond * 60, durationHour = durationMinute * 60, durationDay = durationHour * 24, durationWeek = durationDay * 7, durationMonth = durationDay * 30, durationYear = durationDay * 365;
5363
5326
  function date(t) {
5364
5327
  return new Date(t);
@@ -5397,7 +5360,7 @@ function calendar(year, month, week, day, hour, minute, second, millisecond, for
5397
5360
  return new Date(invert(y));
5398
5361
  };
5399
5362
  scale.domain = function (_) {
5400
- return arguments.length ? domain(map.call(_, number)) : domain().map(date);
5363
+ return arguments.length ? domain(map$1.call(_, number)) : domain().map(date);
5401
5364
  };
5402
5365
  scale.ticks = function (interval, step) {
5403
5366
  var d = domain(), t0 = d[0], t1 = d[d.length - 1], r = t1 < t0, t;
@@ -5419,10 +5382,10 @@ function calendar(year, month, week, day, hour, minute, second, millisecond, for
5419
5382
  return scale;
5420
5383
  }
5421
5384
  function time() {
5422
- return initRange.apply(calendar(year, month, sunday, day, hour, minute, second, millisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);
5385
+ return initRange.apply(calendar(timeYear, timeMonth, sunday, timeDay, timeHour, timeMinute, utcSecond, utcMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);
5423
5386
  }
5424
5387
  function utcTime() {
5425
- return initRange.apply(calendar(utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, millisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);
5388
+ return initRange.apply(calendar(utcYear$1, utcMonth$1, utcSunday, utcDay$1, utcHour$1, utcMinute$1, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);
5426
5389
  }
5427
5390
  function transformer$1() {
5428
5391
  var x0 = 0, x1 = 1, t0, t1, k10, transform, interpolator = identity$3, clamp = false, unknown;
@@ -5958,14 +5921,14 @@ Linear.prototype = {
5958
5921
  function curveLinear(context) {
5959
5922
  return new Linear(context);
5960
5923
  }
5961
- function x$2(p) {
5924
+ function x(p) {
5962
5925
  return p[0];
5963
5926
  }
5964
- function y$2(p) {
5927
+ function y(p) {
5965
5928
  return p[1];
5966
5929
  }
5967
5930
  function line() {
5968
- var x = x$2, y = y$2, defined = constant(true), context = null, curve = curveLinear, output = null;
5931
+ var x$1 = x, y$1 = y, defined = constant(true), context = null, curve = curveLinear, output = null;
5969
5932
  function line(data) {
5970
5933
  var i, n = data.length, d, defined0 = false, buffer;
5971
5934
  if (context == null) output = curve(buffer = path());
@@ -5973,15 +5936,15 @@ function line() {
5973
5936
  if (!(i < n && defined(d = data[i], i, data)) === defined0) {
5974
5937
  if (defined0 = !defined0) output.lineStart(); else output.lineEnd();
5975
5938
  }
5976
- if (defined0) output.point(+x(d, i, data), +y(d, i, data));
5939
+ if (defined0) output.point(+x$1(d, i, data), +y$1(d, i, data));
5977
5940
  }
5978
5941
  if (buffer) return (output = null, buffer + "" || null);
5979
5942
  }
5980
5943
  line.x = function (_) {
5981
- return arguments.length ? (x = typeof _ === "function" ? _ : constant(+_), line) : x;
5944
+ return arguments.length ? (x$1 = typeof _ === "function" ? _ : constant(+_), line) : x$1;
5982
5945
  };
5983
5946
  line.y = function (_) {
5984
- return arguments.length ? (y = typeof _ === "function" ? _ : constant(+_), line) : y;
5947
+ return arguments.length ? (y$1 = typeof _ === "function" ? _ : constant(+_), line) : y$1;
5985
5948
  };
5986
5949
  line.defined = function (_) {
5987
5950
  return arguments.length ? (defined = typeof _ === "function" ? _ : constant(!!_), line) : defined;
@@ -6512,6 +6475,54 @@ function LinePath$1(_ref) {
6512
6475
  className: PropTypes$x.string,
6513
6476
  innerRef: PropTypes$x.oneOfType([PropTypes$x.func, PropTypes$x.object])
6514
6477
  });
6478
+ var balancedMatch$1 = balanced$3;
6479
+ function balanced$3(a, b, str) {
6480
+ if (a instanceof RegExp) a = maybeMatch$1(a, str);
6481
+ if (b instanceof RegExp) b = maybeMatch$1(b, str);
6482
+ var r = range$1(a, b, str);
6483
+ return r && ({
6484
+ start: r[0],
6485
+ end: r[1],
6486
+ pre: str.slice(0, r[0]),
6487
+ body: str.slice(r[0] + a.length, r[1]),
6488
+ post: str.slice(r[1] + b.length)
6489
+ });
6490
+ }
6491
+ function maybeMatch$1(reg, str) {
6492
+ var m = str.match(reg);
6493
+ return m ? m[0] : null;
6494
+ }
6495
+ balanced$3.range = range$1;
6496
+ function range$1(a, b, str) {
6497
+ var begs, beg, left, right, result;
6498
+ var ai = str.indexOf(a);
6499
+ var bi = str.indexOf(b, ai + 1);
6500
+ var i = ai;
6501
+ if (ai >= 0 && bi > 0) {
6502
+ begs = [];
6503
+ left = str.length;
6504
+ while (i >= 0 && !result) {
6505
+ if (i == ai) {
6506
+ begs.push(i);
6507
+ ai = str.indexOf(a, i + 1);
6508
+ } else if (begs.length == 1) {
6509
+ result = [begs.pop(), bi];
6510
+ } else {
6511
+ beg = begs.pop();
6512
+ if (beg < left) {
6513
+ left = beg;
6514
+ right = bi;
6515
+ }
6516
+ bi = str.indexOf(b, i + 1);
6517
+ }
6518
+ i = ai < bi && ai >= 0 ? ai : bi;
6519
+ }
6520
+ if (begs.length) {
6521
+ result = [left, right];
6522
+ }
6523
+ }
6524
+ return result;
6525
+ }
6515
6526
  var balancedMatch = balanced$2;
6516
6527
  function balanced$2(a, b, str) {
6517
6528
  if (a instanceof RegExp) a = maybeMatch(a, str);
@@ -6536,6 +6547,9 @@ function range(a, b, str) {
6536
6547
  var bi = str.indexOf(b, ai + 1);
6537
6548
  var i = ai;
6538
6549
  if (ai >= 0 && bi > 0) {
6550
+ if (a === b) {
6551
+ return [ai, bi];
6552
+ }
6539
6553
  begs = [];
6540
6554
  left = str.length;
6541
6555
  while (i >= 0 && !result) {
@@ -6623,12 +6637,16 @@ Mexp$4.math = {
6623
6637
  return Math.log((1 + x) / (1 - x));
6624
6638
  },
6625
6639
  C: function (n, r) {
6626
- var pro = 1, other = n - r, choice = r;
6640
+ var pro = 1;
6641
+ var other = n - r;
6642
+ var choice = r;
6627
6643
  if (choice < other) {
6628
6644
  choice = other;
6629
6645
  other = r;
6630
6646
  }
6631
- for (var i = choice + 1; i <= n; i++) pro *= i;
6647
+ for (var i = choice + 1; i <= n; i++) {
6648
+ pro *= i;
6649
+ }
6632
6650
  return pro / Mexp$4.math.fact(other);
6633
6651
  },
6634
6652
  changeSign: function (x) {
@@ -6645,9 +6663,11 @@ Mexp$4.math = {
6645
6663
  return a / b;
6646
6664
  },
6647
6665
  fact: function (n) {
6648
- if (n % 1 !== 0) return "NAN";
6666
+ if (n % 1 !== 0) return 'NaN';
6649
6667
  var pro = 1;
6650
- for (var i = 2; i <= n; i++) pro *= i;
6668
+ for (var i = 2; i <= n; i++) {
6669
+ pro *= i;
6670
+ }
6651
6671
  return pro;
6652
6672
  },
6653
6673
  inverse: function (x) {
@@ -6664,7 +6684,9 @@ Mexp$4.math = {
6664
6684
  },
6665
6685
  P: function (n, r) {
6666
6686
  var pro = 1;
6667
- for (var i = Math.floor(n) - Math.floor(r) + 1; i <= Math.floor(n); i++) pro *= i;
6687
+ for (var i = Math.floor(n) - Math.floor(r) + 1; i <= Math.floor(n); i++) {
6688
+ pro *= i;
6689
+ }
6668
6690
  return pro;
6669
6691
  },
6670
6692
  Pi: function (low, high, ex) {
@@ -6711,20 +6733,25 @@ Mexp$4.math = {
6711
6733
  },
6712
6734
  toRadian: function (x) {
6713
6735
  return x * Math.PI / 180;
6736
+ },
6737
+ and: function (a, b) {
6738
+ return a & b;
6714
6739
  }
6715
6740
  };
6716
- Mexp$4.exception = function (message) {
6741
+ Mexp$4.Exception = function (message) {
6717
6742
  this.message = message;
6718
6743
  };
6719
6744
  var math_function = Mexp$4;
6720
6745
  var Mexp$3 = math_function;
6721
6746
  function inc(arr, val) {
6722
- for (var i = 0; i < arr.length; i++) arr[i] += val;
6747
+ for (var i = 0; i < arr.length; i++) {
6748
+ arr[i] += val;
6749
+ }
6723
6750
  return arr;
6724
6751
  }
6725
- var token = ['sin', 'cos', 'tan', 'pi', '(', ')', 'P', 'C', 'asin', 'acos', 'atan', '7', '8', '9', 'int', 'cosh', 'acosh', 'ln', '^', 'root', '4', '5', '6', '/', '!', 'tanh', 'atanh', 'Mod', '1', '2', '3', '*', 'sinh', 'asinh', 'e', 'log', '0', '.', '+', '-', ',', 'Sigma', 'n', 'Pi', 'pow'];
6726
- var show = ['sin', 'cos', 'tan', '&pi;', '(', ')', 'P', 'C', 'asin', 'acos', 'atan', '7', '8', '9', 'Int', 'cosh', 'acosh', ' ln', '^', 'root', '4', '5', '6', '&divide;', '!', 'tanh', 'atanh', ' Mod ', '1', '2', '3', '&times;', 'sinh', 'asinh', 'e', ' log', '0', '.', '+', '-', ',', '&Sigma;', 'n', '&Pi;', 'pow'];
6727
- var eva = [Mexp$3.math.sin, Mexp$3.math.cos, Mexp$3.math.tan, 'PI', '(', ')', Mexp$3.math.P, Mexp$3.math.C, Mexp$3.math.asin, Mexp$3.math.acos, Mexp$3.math.atan, '7', '8', '9', Math.floor, Mexp$3.math.cosh, Mexp$3.math.acosh, Math.log, Math.pow, Math.sqrt, '4', '5', '6', Mexp$3.math.div, Mexp$3.math.fact, Mexp$3.math.tanh, Mexp$3.math.atanh, Mexp$3.math.mod, '1', '2', '3', Mexp$3.math.mul, Mexp$3.math.sinh, Mexp$3.math.asinh, 'E', Mexp$3.math.log, '0', '.', Mexp$3.math.add, Mexp$3.math.sub, ',', Mexp$3.math.sigma, 'n', Mexp$3.math.Pi, Math.pow];
6752
+ var token = ['sin', 'cos', 'tan', 'pi', '(', ')', 'P', 'C', ' ', 'asin', 'acos', 'atan', '7', '8', '9', 'int', 'cosh', 'acosh', 'ln', '^', 'root', '4', '5', '6', '/', '!', 'tanh', 'atanh', 'Mod', '1', '2', '3', '*', 'sinh', 'asinh', 'e', 'log', '0', '.', '+', '-', ',', 'Sigma', 'n', 'Pi', 'pow', '&'];
6753
+ var show = ['sin', 'cos', 'tan', '&pi;', '(', ')', 'P', 'C', ' ', 'asin', 'acos', 'atan', '7', '8', '9', 'Int', 'cosh', 'acosh', ' ln', '^', 'root', '4', '5', '6', '&divide;', '!', 'tanh', 'atanh', ' Mod ', '1', '2', '3', '&times;', 'sinh', 'asinh', 'e', ' log', '0', '.', '+', '-', ',', '&Sigma;', 'n', '&Pi;', 'pow', '&'];
6754
+ var eva = [Mexp$3.math.sin, Mexp$3.math.cos, Mexp$3.math.tan, 'PI', '(', ')', Mexp$3.math.P, Mexp$3.math.C, (' ').anchor, Mexp$3.math.asin, Mexp$3.math.acos, Mexp$3.math.atan, '7', '8', '9', Math.floor, Mexp$3.math.cosh, Mexp$3.math.acosh, Math.log, Math.pow, Math.sqrt, '4', '5', '6', Mexp$3.math.div, Mexp$3.math.fact, Mexp$3.math.tanh, Mexp$3.math.atanh, Mexp$3.math.mod, '1', '2', '3', Mexp$3.math.mul, Mexp$3.math.sinh, Mexp$3.math.asinh, 'E', Mexp$3.math.log, '0', '.', Mexp$3.math.add, Mexp$3.math.sub, ',', Mexp$3.math.sigma, 'n', Mexp$3.math.Pi, Math.pow, Mexp$3.math.and];
6728
6755
  var preced = {
6729
6756
  0: 11,
6730
6757
  1: 0,
@@ -6739,9 +6766,10 @@ var preced = {
6739
6766
  10: 10,
6740
6767
  11: 0,
6741
6768
  12: 11,
6742
- 13: 0
6769
+ 13: 0,
6770
+ 14: -1
6743
6771
  };
6744
- var type = [0, 0, 0, 3, 4, 5, 10, 10, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 10, 0, 1, 1, 1, 2, 7, 0, 0, 2, 1, 1, 1, 2, 0, 0, 3, 0, 1, 6, 9, 9, 11, 12, 13, 12, 8];
6772
+ var type = [0, 0, 0, 3, 4, 5, 10, 10, 14, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 10, 0, 1, 1, 1, 2, 7, 0, 0, 2, 1, 1, 1, 2, 0, 0, 3, 0, 1, 6, 9, 9, 11, 12, 13, 12, 8, 9];
6745
6773
  var type0 = {
6746
6774
  0: true,
6747
6775
  1: true,
@@ -6751,8 +6779,10 @@ var type0 = {
6751
6779
  8: true,
6752
6780
  9: true,
6753
6781
  12: true,
6754
- 13: true
6755
- }, type1 = {
6782
+ 13: true,
6783
+ 14: true
6784
+ };
6785
+ var type1 = {
6756
6786
  0: true,
6757
6787
  1: true,
6758
6788
  2: true,
@@ -6767,14 +6797,17 @@ var type0 = {
6767
6797
  11: true,
6768
6798
  12: true,
6769
6799
  13: true
6770
- }, type_1 = {
6800
+ };
6801
+ var type1Asterick = {
6771
6802
  0: true,
6772
6803
  3: true,
6773
6804
  4: true,
6774
6805
  8: true,
6775
6806
  12: true,
6776
6807
  13: true
6777
- }, empty = {}, type_3 = {
6808
+ };
6809
+ var empty = {};
6810
+ var type3Asterick = {
6778
6811
  0: true,
6779
6812
  1: true,
6780
6813
  3: true,
@@ -6783,20 +6816,25 @@ var type0 = {
6783
6816
  8: true,
6784
6817
  12: true,
6785
6818
  13: true
6786
- }, type6 = {
6819
+ };
6820
+ var type6 = {
6787
6821
  1: true
6788
- }, newAr = [[], ["1", "2", "3", "7", "8", "9", "4", "5", "6", "+", "-", "*", "/", "(", ")", "^", "!", "P", "C", "e", "0", ".", ",", "n"], ["pi", "ln", "Pi"], ["sin", "cos", "tan", "Del", "int", "Mod", "log", "pow"], ["asin", "acos", "atan", "cosh", "root", "tanh", "sinh"], ["acosh", "atanh", "asinh", "Sigma"]];
6822
+ };
6823
+ var newAr = [[], ['1', '2', '3', '7', '8', '9', '4', '5', '6', '+', '-', '*', '/', '(', ')', '^', '!', 'P', 'C', 'e', '0', '.', ',', 'n', ' ', '&'], ['pi', 'ln', 'Pi'], ['sin', 'cos', 'tan', 'Del', 'int', 'Mod', 'log', 'pow'], ['asin', 'acos', 'atan', 'cosh', 'root', 'tanh', 'sinh'], ['acosh', 'atanh', 'asinh', 'Sigma']];
6789
6824
  function match$1(str1, str2, i, x) {
6790
6825
  for (var f = 0; f < x; f++) {
6791
- if (str1[i + f] !== str2[f]) return false;
6826
+ if (str1[i + f] !== str2[f]) {
6827
+ return false;
6828
+ }
6792
6829
  }
6793
6830
  return true;
6794
6831
  }
6795
6832
  Mexp$3.addToken = function (tokens) {
6796
- for (i = 0; i < tokens.length; i++) {
6797
- x = tokens[i].token.length;
6833
+ for (var i = 0; i < tokens.length; i++) {
6834
+ var x = tokens[i].token.length;
6798
6835
  var temp = -1;
6799
- if (x < newAr.length) for (y = 0; y < newAr[x].length; y++) {
6836
+ newAr[x] = newAr[x] || [];
6837
+ for (var y = 0; y < newAr[x].length; y++) {
6800
6838
  if (tokens[i].token === newAr[x][y]) {
6801
6839
  temp = token.indexOf(newAr[x][y]);
6802
6840
  break;
@@ -6805,7 +6843,9 @@ Mexp$3.addToken = function (tokens) {
6805
6843
  if (temp === -1) {
6806
6844
  token.push(tokens[i].token);
6807
6845
  type.push(tokens[i].type);
6808
- if (newAr.length <= tokens[i].token.length) newAr[tokens[i].token.length] = [];
6846
+ if (newAr.length <= tokens[i].token.length) {
6847
+ newAr[tokens[i].token.length] = [];
6848
+ }
6809
6849
  newAr[tokens[i].token.length].push(tokens[i].token);
6810
6850
  eva.push(tokens[i].value);
6811
6851
  show.push(tokens[i].show);
@@ -6817,75 +6857,110 @@ Mexp$3.addToken = function (tokens) {
6817
6857
  }
6818
6858
  }
6819
6859
  };
6820
- Mexp$3.lex = function (inp, tokens) {
6821
- var str = [{
6822
- type: 4,
6823
- value: "(",
6824
- show: "(",
6825
- pre: 0
6826
- }];
6827
- var ptc = [];
6828
- var inpStr = inp;
6829
- var key;
6830
- var pcounter = 0;
6831
- var allowed = type0;
6832
- var bracToClose = 0;
6833
- var asterick = empty;
6834
- var prevKey = '';
6835
- var i, x, y;
6836
- if (typeof tokens !== "undefined") Mexp$3.addToken(tokens);
6837
- var obj = {};
6838
- for (i = 0; i < inpStr.length; i++) {
6839
- if (inpStr[i] == ' ') {
6860
+ function tokenize(string) {
6861
+ var nodes = [];
6862
+ var length = string.length;
6863
+ var key, x, y;
6864
+ for (var i = 0; i < length; i++) {
6865
+ if (i < length - 1 && string[i] === ' ' && string[i + 1] === ' ') {
6840
6866
  continue;
6841
6867
  }
6842
6868
  key = '';
6843
- sec: for (x = inpStr.length - i > newAr.length - 2 ? newAr.length - 1 : inpStr.length - i; x > 0; x--) {
6869
+ for (x = string.length - i > newAr.length - 2 ? newAr.length - 1 : string.length - i; x > 0; x--) {
6870
+ if (newAr[x] === undefined) continue;
6844
6871
  for (y = 0; y < newAr[x].length; y++) {
6845
- if (match$1(inpStr, newAr[x][y], i, x)) {
6872
+ if (match$1(string, newAr[x][y], i, x)) {
6846
6873
  key = newAr[x][y];
6847
- break sec;
6874
+ y = newAr[x].length;
6875
+ x = 0;
6848
6876
  }
6849
6877
  }
6850
6878
  }
6851
6879
  i += key.length - 1;
6852
6880
  if (key === '') {
6853
- throw new Mexp$3.exception("Can't understand after " + inpStr.slice(i));
6881
+ throw new Mexp$3.Exception("Can't understand after " + string.slice(i));
6854
6882
  }
6855
6883
  var index = token.indexOf(key);
6856
- var cToken = key;
6857
- var cType = type[index];
6858
- var cEv = eva[index];
6859
- var cPre = preced[cType];
6860
- var cShow = show[index];
6884
+ nodes.push({
6885
+ index: index,
6886
+ token: key,
6887
+ type: type[index],
6888
+ eval: eva[index],
6889
+ precedence: preced[type[index]],
6890
+ show: show[index]
6891
+ });
6892
+ }
6893
+ return nodes;
6894
+ }
6895
+ Mexp$3.lex = function (inp, tokens) {
6896
+ var changeSignObj = {
6897
+ value: Mexp$3.math.changeSign,
6898
+ type: 0,
6899
+ pre: 21,
6900
+ show: '-'
6901
+ };
6902
+ var closingParObj = {
6903
+ value: ')',
6904
+ show: ')',
6905
+ type: 5,
6906
+ pre: 0
6907
+ };
6908
+ var openingParObj = {
6909
+ value: '(',
6910
+ type: 4,
6911
+ pre: 0,
6912
+ show: '('
6913
+ };
6914
+ var str = [openingParObj];
6915
+ var ptc = [];
6916
+ var inpStr = inp;
6917
+ var allowed = type0;
6918
+ var bracToClose = 0;
6919
+ var asterick = empty;
6920
+ var prevKey = '';
6921
+ var i;
6922
+ if (typeof tokens !== 'undefined') {
6923
+ Mexp$3.addToken(tokens);
6924
+ }
6925
+ var obj = {};
6926
+ var nodes = tokenize(inpStr);
6927
+ for (i = 0; i < nodes.length; i++) {
6928
+ var node = nodes[i];
6929
+ if (node.type === 14) {
6930
+ if (i > 0 && i < nodes.length - 1 && nodes[i + 1].type === 1 && (nodes[i - 1].type === 1 || nodes[i - 1].type === 6)) {
6931
+ throw new Mexp$3.Exception('Unexpected Space');
6932
+ }
6933
+ continue;
6934
+ }
6935
+ var cToken = node.token;
6936
+ var cType = node.type;
6937
+ var cEv = node.eval;
6938
+ var cPre = node.precedence;
6939
+ var cShow = node.show;
6861
6940
  var pre = str[str.length - 1];
6941
+ var j;
6862
6942
  for (j = ptc.length; j--; ) {
6863
6943
  if (ptc[j] === 0) {
6864
- if ([0, 2, 3, 5, 9, 11, 12, 13].indexOf(cType) !== -1) {
6944
+ if ([0, 2, 3, 4, 5, 9, 11, 12, 13].indexOf(cType) !== -1) {
6865
6945
  if (allowed[cType] !== true) {
6866
- throw new Mexp$3.exception(key + " is not allowed after " + prevKey);
6946
+ throw new Mexp$3.Exception(cToken + ' is not allowed after ' + prevKey);
6867
6947
  }
6868
- str.push({
6869
- value: ")",
6870
- type: 5,
6871
- pre: 0,
6872
- show: ")"
6873
- });
6948
+ str.push(closingParObj);
6874
6949
  allowed = type1;
6875
- asterick = type_3;
6876
- inc(ptc, -1).pop();
6950
+ asterick = type3Asterick;
6951
+ ptc.pop();
6877
6952
  }
6878
- }
6953
+ } else break;
6879
6954
  }
6880
6955
  if (allowed[cType] !== true) {
6881
- throw new Mexp$3.exception(key + " is not allowed after " + prevKey);
6956
+ throw new Mexp$3.Exception(cToken + ' is not allowed after ' + prevKey);
6882
6957
  }
6883
6958
  if (asterick[cType] === true) {
6884
6959
  cType = 2;
6885
6960
  cEv = Mexp$3.math.mul;
6886
- cShow = "&times;";
6961
+ cShow = '&times;';
6887
6962
  cPre = 3;
6888
- i = i - key.length;
6963
+ i = i - 1;
6889
6964
  }
6890
6965
  obj = {
6891
6966
  value: cEv,
@@ -6896,14 +6971,12 @@ Mexp$3.lex = function (inp, tokens) {
6896
6971
  if (cType === 0) {
6897
6972
  allowed = type0;
6898
6973
  asterick = empty;
6899
- inc(ptc, 2).push(2);
6974
+ inc(ptc, 2);
6900
6975
  str.push(obj);
6901
- str.push({
6902
- value: "(",
6903
- type: 4,
6904
- pre: 0,
6905
- show: "("
6906
- });
6976
+ if (nodes[i + 1].type !== 4) {
6977
+ str.push(openingParObj);
6978
+ ptc.push(2);
6979
+ }
6907
6980
  } else if (cType === 1) {
6908
6981
  if (pre.type === 1) {
6909
6982
  pre.value += cEv;
@@ -6912,7 +6985,7 @@ Mexp$3.lex = function (inp, tokens) {
6912
6985
  str.push(obj);
6913
6986
  }
6914
6987
  allowed = type1;
6915
- asterick = type_1;
6988
+ asterick = type1Asterick;
6916
6989
  } else if (cType === 2) {
6917
6990
  allowed = type0;
6918
6991
  asterick = empty;
@@ -6921,34 +6994,25 @@ Mexp$3.lex = function (inp, tokens) {
6921
6994
  } else if (cType === 3) {
6922
6995
  str.push(obj);
6923
6996
  allowed = type1;
6924
- asterick = type_3;
6997
+ asterick = type3Asterick;
6925
6998
  } else if (cType === 4) {
6926
- pcounter += ptc.length;
6927
- ptc = [];
6999
+ inc(ptc, 1);
6928
7000
  bracToClose++;
6929
7001
  allowed = type0;
6930
7002
  asterick = empty;
6931
7003
  str.push(obj);
6932
7004
  } else if (cType === 5) {
6933
7005
  if (!bracToClose) {
6934
- throw new Mexp$3.exception("Closing parenthesis are more than opening one, wait What!!!");
6935
- }
6936
- while (pcounter--) {
6937
- str.push({
6938
- value: ")",
6939
- type: 5,
6940
- pre: 0,
6941
- show: ")"
6942
- });
7006
+ throw new Mexp$3.Exception('Closing parenthesis are more than opening one, wait What!!!');
6943
7007
  }
6944
- pcounter = 0;
6945
7008
  bracToClose--;
6946
7009
  allowed = type1;
6947
- asterick = type_3;
7010
+ asterick = type3Asterick;
6948
7011
  str.push(obj);
7012
+ inc(ptc, 1);
6949
7013
  } else if (cType === 6) {
6950
7014
  if (pre.hasDec) {
6951
- throw new Mexp$3.exception("Two decimals are not allowed in one number");
7015
+ throw new Mexp$3.Exception('Two decimals are not allowed in one number');
6952
7016
  }
6953
7017
  if (pre.type !== 1) {
6954
7018
  pre = {
@@ -6957,7 +7021,6 @@ Mexp$3.lex = function (inp, tokens) {
6957
7021
  pre: 0
6958
7022
  };
6959
7023
  str.push(pre);
6960
- inc(ptc, -1);
6961
7024
  }
6962
7025
  allowed = type6;
6963
7026
  inc(ptc, 1);
@@ -6966,21 +7029,19 @@ Mexp$3.lex = function (inp, tokens) {
6966
7029
  pre.hasDec = true;
6967
7030
  } else if (cType === 7) {
6968
7031
  allowed = type1;
6969
- asterick = type_3;
7032
+ asterick = type3Asterick;
6970
7033
  inc(ptc, 1);
6971
7034
  str.push(obj);
6972
7035
  }
6973
7036
  if (cType === 8) {
6974
7037
  allowed = type0;
6975
7038
  asterick = empty;
6976
- inc(ptc, 4).push(4);
7039
+ inc(ptc, 4);
6977
7040
  str.push(obj);
6978
- str.push({
6979
- value: "(",
6980
- type: 4,
6981
- pre: 0,
6982
- show: "("
6983
- });
7041
+ if (nodes[i + 1].type !== 4) {
7042
+ str.push(openingParObj);
7043
+ ptc.push(4);
7044
+ }
6984
7045
  } else if (cType === 9) {
6985
7046
  if (pre.type === 9) {
6986
7047
  if (pre.value === Mexp$3.math.add) {
@@ -6997,18 +7058,8 @@ Mexp$3.lex = function (inp, tokens) {
6997
7058
  allowed = type0;
6998
7059
  asterick = empty;
6999
7060
  inc(ptc, 2).push(2);
7000
- str.push({
7001
- value: Mexp$3.math.changeSign,
7002
- type: 0,
7003
- pre: 21,
7004
- show: "-"
7005
- });
7006
- str.push({
7007
- value: "(",
7008
- type: 4,
7009
- pre: 0,
7010
- show: "("
7011
- });
7061
+ str.push(changeSignObj);
7062
+ str.push(openingParObj);
7012
7063
  }
7013
7064
  } else {
7014
7065
  str.push(obj);
@@ -7028,47 +7079,30 @@ Mexp$3.lex = function (inp, tokens) {
7028
7079
  } else if (cType === 12) {
7029
7080
  allowed = type0;
7030
7081
  asterick = empty;
7031
- inc(ptc, 6).push(6);
7082
+ inc(ptc, 6);
7032
7083
  str.push(obj);
7033
- str.push({
7034
- value: "(",
7035
- type: 4,
7036
- pre: 0
7037
- });
7084
+ if (nodes[i + 1].type !== 4) {
7085
+ str.push(openingParObj);
7086
+ ptc.push(6);
7087
+ }
7038
7088
  } else if (cType === 13) {
7039
7089
  allowed = type1;
7040
- asterick = type_3;
7090
+ asterick = type3Asterick;
7041
7091
  str.push(obj);
7042
7092
  }
7043
7093
  inc(ptc, -1);
7044
- prevKey = key;
7045
- }
7046
- for (var j = ptc.length; j--; ) {
7047
- if (ptc[j] === 0) {
7048
- str.push({
7049
- value: ")",
7050
- show: ")",
7051
- type: 5,
7052
- pre: 3
7053
- });
7054
- inc(ptc, -1).pop();
7055
- }
7094
+ prevKey = cToken;
7095
+ }
7096
+ for (j = ptc.length; j--; ) {
7097
+ str.push(closingParObj);
7056
7098
  }
7057
7099
  if (allowed[5] !== true) {
7058
- throw new Mexp$3.exception("complete the expression");
7100
+ throw new Mexp$3.Exception('complete the expression');
7059
7101
  }
7060
- while (bracToClose--) str.push({
7061
- value: ")",
7062
- show: ")",
7063
- type: 5,
7064
- pre: 3
7065
- });
7066
- str.push({
7067
- type: 5,
7068
- value: ")",
7069
- show: ")",
7070
- pre: 0
7071
- });
7102
+ while (bracToClose--) {
7103
+ str.push(closingParObj);
7104
+ }
7105
+ str.push(closingParObj);
7072
7106
  return new Mexp$3(str);
7073
7107
  };
7074
7108
  var lexer = Mexp$3;
@@ -7172,7 +7206,6 @@ Mexp$1.prototype.postfixEval = function (UserDefined) {
7172
7206
  pop1 = stack.pop();
7173
7207
  pop2 = stack.pop();
7174
7208
  if (typeof pop2.type === "undefined") {
7175
- console.log(pop2);
7176
7209
  pop2 = pop2.concat(pop1);
7177
7210
  pop2.push(arr[i]);
7178
7211
  stack.push(pop2);
@@ -7207,7 +7240,7 @@ Mexp$1.prototype.postfixEval = function (UserDefined) {
7207
7240
  }
7208
7241
  }
7209
7242
  if (stack.length > 1) {
7210
- throw new Mexp$1.exception("Uncaught Syntax error");
7243
+ throw new Mexp$1.Exception("Uncaught Syntax error");
7211
7244
  }
7212
7245
  return stack[0].value > 1000000000000000 ? "Infinity" : parseFloat(stack[0].value.toFixed(15));
7213
7246
  };
@@ -7275,7 +7308,7 @@ Mexp.prototype.formulaEval = function () {
7275
7308
  return disp[0].value;
7276
7309
  };
7277
7310
  var formula_evaluator = Mexp;
7278
- var balanced = balancedMatch;
7311
+ var balanced = balancedMatch$1;
7279
7312
  var reduceFunctionCall = reduceFunctionCall_1;
7280
7313
  var mexp = formula_evaluator;
7281
7314
  var MAX_STACK = 100;
@@ -7406,7 +7439,7 @@ function _inherits$1(subClass, superClass) {
7406
7439
  configurable: true
7407
7440
  }
7408
7441
  });
7409
- if (superClass) _setPrototypeOf(subClass, superClass);
7442
+ if (superClass) _setPrototypeOf$1(subClass, superClass);
7410
7443
  }
7411
7444
  function _getPrototypeOf(o) {
7412
7445
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
@@ -7414,12 +7447,12 @@ function _getPrototypeOf(o) {
7414
7447
  };
7415
7448
  return _getPrototypeOf(o);
7416
7449
  }
7417
- function _setPrototypeOf(o, p) {
7418
- _setPrototypeOf = Object.setPrototypeOf || (function _setPrototypeOf(o, p) {
7450
+ function _setPrototypeOf$1(o, p) {
7451
+ _setPrototypeOf$1 = Object.setPrototypeOf || (function _setPrototypeOf(o, p) {
7419
7452
  o.__proto__ = p;
7420
7453
  return o;
7421
7454
  });
7422
- return _setPrototypeOf(o, p);
7455
+ return _setPrototypeOf$1(o, p);
7423
7456
  }
7424
7457
  function _objectWithoutPropertiesLoose$2(source, excluded) {
7425
7458
  if (source == null) return {};
@@ -7464,8 +7497,8 @@ var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !==
7464
7497
  var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
7465
7498
  var _freeGlobal = freeGlobal;
7466
7499
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
7467
- var root$1 = _freeGlobal || freeSelf || Function('return this')();
7468
- var _root = root$1;
7500
+ var root = _freeGlobal || freeSelf || Function('return this')();
7501
+ var _root = root;
7469
7502
  var Symbol$1 = _root.Symbol;
7470
7503
  var _Symbol = Symbol$1;
7471
7504
  var objectProto = Object.prototype;
@@ -8356,12 +8389,12 @@ const getTickValues = prop => {
8356
8389
  let tickVal = 0;
8357
8390
  while (tickVal >= prop.min && tickValues.indexOf(tickVal) < 0) {
8358
8391
  tickValues.push(tickVal);
8359
- tickVal = Math.round((tickVal - prop.step) * 1000) / 1000;
8392
+ tickVal = Math.round((tickVal - prop.step) * 10000) / 10000;
8360
8393
  }
8361
- tickVal = Math.round(prop.step * 1000) / 1000;
8394
+ tickVal = Math.round(prop.step * 10000) / 10000;
8362
8395
  while (tickVal <= prop.max && tickValues.indexOf(tickVal) < 0) {
8363
8396
  tickValues.push(tickVal);
8364
- tickVal = Math.round((tickVal + prop.step) * 1000) / 1000;
8397
+ tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;
8365
8398
  }
8366
8399
  if (tickValues) {
8367
8400
  return tickValues.filter(tV => tV >= prop.min && tV <= prop.max);
@@ -8427,7 +8460,7 @@ const getMiddleOfTwoPoints = (a, b) => ({
8427
8460
  x: (a.x + b.x) / 2,
8428
8461
  y: (a.y + b.y) / 2
8429
8462
  });
8430
- const roundNumber = number => parseFloat(number.toFixed(3));
8463
+ const roundNumber = number => parseFloat(number.toFixed(4));
8431
8464
  const sameAxes = (p1, p2) => p1 && p2 && (roundNumber(p1.x) === roundNumber(p2.x) || roundNumber(p1.y) === roundNumber(p2.y));
8432
8465
  const equalPoints = (p1, p2) => p1 && p2 && isEqual$6({
8433
8466
  x: roundNumber(p1.x),
@@ -8462,6 +8495,36 @@ const getAdjustedGraphLimits = graphProps => {
8462
8495
  }
8463
8496
  };
8464
8497
  };
8498
+ const getDistanceBetweenTwoPoints = (a, b) => Math.sqrt((b.x - a.x) * (b.x - a.x) + (b.y - a.y) * (b.y - a.y));
8499
+ const sortPoints = array => (array || []).sort((a, b) => a.x - b.x || a.y - b.y);
8500
+ const checkCollinearity = (a, b, c) => (a.x - b.x) * (c.y - b.y) === (c.x - b.x) * (a.y - b.y);
8501
+ const isSameLine = (markA, markB) => checkCollinearity(markA.from, markB.from, markB.to) && checkCollinearity(markA.to, markB.from, markB.to);
8502
+ const isSameCircle = (markA, markB) => equalPoints(markA.root, markB.root) && getDistanceBetweenTwoPoints(markB.root, markB.edge) === getDistanceBetweenTwoPoints(markA.root, markA.edge);
8503
+ const isDuplicatedMark = (mark, marks, oldMark) => {
8504
+ const {type, building} = mark;
8505
+ if (building) {
8506
+ return false;
8507
+ }
8508
+ const filteredMarks = (marks || []).filter(m => m.type === type && !m.building);
8509
+ const index = filteredMarks.findIndex(m => isEqual$6(m, oldMark));
8510
+ if (index !== -1) {
8511
+ filteredMarks.splice(index, 1);
8512
+ }
8513
+ const duplicated = filteredMarks.find(m => {
8514
+ if (type === 'circle' || type === 'parabola' || type === 'sine') {
8515
+ const {root, edge} = mark;
8516
+ return equalPoints(root, m.root) && equalPoints(edge, m.edge) || type === 'circle' && isSameCircle(m, mark);
8517
+ } else if (type === 'line' || type === 'ray' || type === 'segment' || type === 'vector') {
8518
+ const {from, to} = mark;
8519
+ return equalPoints(from, m.from) && equalPoints(to, m.to) || equalPoints(from, m.to) && equalPoints(to, m.from) || type === 'line' && isSameLine(m, mark);
8520
+ } else if (type === 'polygon') {
8521
+ return isEqual$6(sortPoints(cloneDeep$1(mark.points)), sortPoints(cloneDeep$1(m.points)));
8522
+ } else if (type === 'point') {
8523
+ return equalPoints(m, mark);
8524
+ }
8525
+ });
8526
+ return !!duplicated;
8527
+ };
8465
8528
  const React$v = _dll_react;
8466
8529
  const PropTypes$t = _dll_prop_types;
8467
8530
  const {withStyles: withStyles$h} = _dll_material_ui__core;
@@ -8660,7 +8723,7 @@ class RawYAxis extends React$v.Component {
8660
8723
  return {
8661
8724
  ...tickLabelStyles,
8662
8725
  dy: 4,
8663
- dx: -8 - digits * 5,
8726
+ dx: -4 - digits * 8,
8664
8727
  'data-pie-readable': false
8665
8728
  };
8666
8729
  },
@@ -9194,7 +9257,7 @@ class Graph extends React$r.Component {
9194
9257
  const {onChangeMarks, marks} = this.props;
9195
9258
  let newMarks = cloneDeep(marks);
9196
9259
  const index = newMarks.findIndex(m => isEqual$5(m, oldMark));
9197
- if (index >= 0) {
9260
+ if (index >= 0 && !isDuplicatedMark(newMark, marks, oldMark)) {
9198
9261
  newMarks.splice(index, 1, newMark);
9199
9262
  onChangeMarks(newMarks);
9200
9263
  }
@@ -9213,6 +9276,9 @@ class Graph extends React$r.Component {
9213
9276
  this.updateMarks = (existing, update, addIfMissing = false) => {
9214
9277
  const {onChangeMarks, marks} = this.props;
9215
9278
  let newMarks = cloneDeep(marks);
9279
+ if (!update.building && isDuplicatedMark(update, marks)) {
9280
+ return;
9281
+ }
9216
9282
  const index = newMarks.findIndex(m => isEqual$5(m, existing));
9217
9283
  if (index >= 0) {
9218
9284
  newMarks.splice(index, 1, update);
@@ -9230,10 +9296,11 @@ class Graph extends React$r.Component {
9230
9296
  };
9231
9297
  }
9232
9298
  __init7() {
9233
- this.onBgClick = ({x, y}, mark) => {
9234
- log$7('[onBgClick] x,y: ', x, y);
9299
+ this.onBgClick = point => {
9300
+ const {x, y} = point;
9235
9301
  const {labelModeEnabled, currentTool, marks} = this.props;
9236
- if (labelModeEnabled || !currentTool || mark) {
9302
+ log$7('[onBgClick] x,y: ', x, y);
9303
+ if (labelModeEnabled || !currentTool) {
9237
9304
  return;
9238
9305
  }
9239
9306
  const buildingMark = marks.filter(m => m.building)[0];
@@ -9275,14 +9342,14 @@ class Graph extends React$r.Component {
9275
9342
  __self: this,
9276
9343
  __source: {
9277
9344
  fileName: _jsxFileName$o,
9278
- lineNumber: 162
9345
+ lineNumber: 168
9279
9346
  }
9280
9347
  }, React$r.createElement(Grid$1, {
9281
9348
  ...common,
9282
9349
  __self: this,
9283
9350
  __source: {
9284
9351
  fileName: _jsxFileName$o,
9285
- lineNumber: 169
9352
+ lineNumber: 175
9286
9353
  }
9287
9354
  }), React$r.createElement(Axes, {
9288
9355
  ...axesSettings,
@@ -9290,7 +9357,7 @@ class Graph extends React$r.Component {
9290
9357
  __self: this,
9291
9358
  __source: {
9292
9359
  fileName: _jsxFileName$o,
9293
- lineNumber: 170
9360
+ lineNumber: 176
9294
9361
  }
9295
9362
  }), React$r.createElement(Bg, {
9296
9363
  ...size,
@@ -9299,7 +9366,7 @@ class Graph extends React$r.Component {
9299
9366
  __self: this,
9300
9367
  __source: {
9301
9368
  fileName: _jsxFileName$o,
9302
- lineNumber: 171
9369
+ lineNumber: 177
9303
9370
  }
9304
9371
  }), React$r.createElement(Labels, {
9305
9372
  value: labels,
@@ -9307,14 +9374,14 @@ class Graph extends React$r.Component {
9307
9374
  __self: this,
9308
9375
  __source: {
9309
9376
  fileName: _jsxFileName$o,
9310
- lineNumber: 172
9377
+ lineNumber: 178
9311
9378
  }
9312
9379
  }), React$r.createElement('mask', {
9313
9380
  id: "myMask",
9314
9381
  __self: this,
9315
9382
  __source: {
9316
9383
  fileName: _jsxFileName$o,
9317
- lineNumber: 173
9384
+ lineNumber: 179
9318
9385
  }
9319
9386
  }, React$r.createElement('rect', {
9320
9387
  ...maskSize,
@@ -9322,7 +9389,7 @@ class Graph extends React$r.Component {
9322
9389
  __self: this,
9323
9390
  __source: {
9324
9391
  fileName: _jsxFileName$o,
9325
- lineNumber: 174
9392
+ lineNumber: 180
9326
9393
  }
9327
9394
  }), " "), React$r.createElement('g', {
9328
9395
  id: "marks",
@@ -9330,7 +9397,7 @@ class Graph extends React$r.Component {
9330
9397
  __self: this,
9331
9398
  __source: {
9332
9399
  fileName: _jsxFileName$o,
9333
- lineNumber: 177
9400
+ lineNumber: 183
9334
9401
  }
9335
9402
  }, (backgroundMarks || []).map((m, index) => {
9336
9403
  const Component = this.getComponent(m);
@@ -9345,7 +9412,7 @@ class Graph extends React$r.Component {
9345
9412
  __self: this,
9346
9413
  __source: {
9347
9414
  fileName: _jsxFileName$o,
9348
- lineNumber: 183
9415
+ lineNumber: 189
9349
9416
  }
9350
9417
  });
9351
9418
  }), marks.map((m, index) => {
@@ -9357,7 +9424,7 @@ class Graph extends React$r.Component {
9357
9424
  coordinatesOnHover: coordinatesOnHover,
9358
9425
  onChange: this.changeMark,
9359
9426
  onComplete: this.completeMark,
9360
- onClick: point => this.onBgClick(point, m),
9427
+ onClick: this.onBgClick,
9361
9428
  onDragStart: this.startDrag,
9362
9429
  onDragStop: this.stopDrag,
9363
9430
  labelNode: this.state.labelNode,
@@ -9366,7 +9433,7 @@ class Graph extends React$r.Component {
9366
9433
  __self: this,
9367
9434
  __source: {
9368
9435
  fileName: _jsxFileName$o,
9369
- lineNumber: 196
9436
+ lineNumber: 202
9370
9437
  }
9371
9438
  });
9372
9439
  }), React$r.createElement('foreignObject', {
@@ -9380,17 +9447,24 @@ class Graph extends React$r.Component {
9380
9447
  __self: this,
9381
9448
  __source: {
9382
9449
  fileName: _jsxFileName$o,
9383
- lineNumber: 212
9450
+ lineNumber: 218
9384
9451
  }
9385
9452
  })));
9386
9453
  }
9387
9454
  }
9388
9455
  Graph.__initStatic();
9389
9456
  Graph.__initStatic2();
9457
+ function _setPrototypeOf(o, p) {
9458
+ _setPrototypeOf = Object.setPrototypeOf || (function _setPrototypeOf(o, p) {
9459
+ o.__proto__ = p;
9460
+ return o;
9461
+ });
9462
+ return _setPrototypeOf(o, p);
9463
+ }
9390
9464
  function _inheritsLoose(subClass, superClass) {
9391
9465
  subClass.prototype = Object.create(superClass.prototype);
9392
9466
  subClass.prototype.constructor = subClass;
9393
- subClass.__proto__ = superClass;
9467
+ _setPrototypeOf(subClass, superClass);
9394
9468
  }
9395
9469
  const React$q = _dll_react;
9396
9470
  var ReactReduxContext = React$q.createContext(null);
@@ -9497,286 +9571,160 @@ function _objectWithoutPropertiesLoose(source, excluded) {
9497
9571
  }
9498
9572
  return target;
9499
9573
  }
9500
- var reactIs = {
9574
+ var reactIs$1 = {
9501
9575
  exports: {}
9502
9576
  };
9503
- var reactIs_production_min = {};
9504
- Object.defineProperty(reactIs_production_min, "__esModule", {
9505
- value: !0
9506
- });
9507
- var b = "function" === typeof Symbol && Symbol.for, c = b ? Symbol.for("react.element") : 60103, d = b ? Symbol.for("react.portal") : 60106, e = b ? Symbol.for("react.fragment") : 60107, f = b ? Symbol.for("react.strict_mode") : 60108, g = b ? Symbol.for("react.profiler") : 60114, h = b ? Symbol.for("react.provider") : 60109, k = b ? Symbol.for("react.context") : 60110, l = b ? Symbol.for("react.async_mode") : 60111, m = b ? Symbol.for("react.concurrent_mode") : 60111, n = b ? Symbol.for("react.forward_ref") : 60112, p = b ? Symbol.for("react.suspense") : 60113, q = b ? Symbol.for("react.suspense_list") : 60120, r = b ? Symbol.for("react.memo") : 60115, t = b ? Symbol.for("react.lazy") : 60116, v = b ? Symbol.for("react.fundamental") : 60117, w = b ? Symbol.for("react.responder") : 60118;
9508
- function x$1(a) {
9509
- if ("object" === typeof a && null !== a) {
9510
- var u = a.$$typeof;
9511
- switch (u) {
9512
- case c:
9513
- switch ((a = a.type, a)) {
9514
- case l:
9515
- case m:
9516
- case e:
9517
- case g:
9518
- case f:
9519
- case p:
9520
- return a;
9521
- default:
9522
- switch ((a = a && a.$$typeof, a)) {
9523
- case k:
9524
- case n:
9525
- case h:
9526
- return a;
9577
+ var reactIs_development = {};
9578
+ {
9579
+ (function () {
9580
+ var hasSymbol = typeof Symbol === 'function' && Symbol.for;
9581
+ var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
9582
+ var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
9583
+ var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
9584
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
9585
+ var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
9586
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
9587
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
9588
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
9589
+ var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
9590
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
9591
+ var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
9592
+ var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
9593
+ var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
9594
+ var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
9595
+ var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
9596
+ var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
9597
+ var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
9598
+ var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
9599
+ function isValidElementType(type) {
9600
+ return typeof type === 'string' || typeof type === 'function' || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
9601
+ }
9602
+ function typeOf(object) {
9603
+ if (typeof object === 'object' && object !== null) {
9604
+ var $$typeof = object.$$typeof;
9605
+ switch ($$typeof) {
9606
+ case REACT_ELEMENT_TYPE:
9607
+ var type = object.type;
9608
+ switch (type) {
9609
+ case REACT_ASYNC_MODE_TYPE:
9610
+ case REACT_CONCURRENT_MODE_TYPE:
9611
+ case REACT_FRAGMENT_TYPE:
9612
+ case REACT_PROFILER_TYPE:
9613
+ case REACT_STRICT_MODE_TYPE:
9614
+ case REACT_SUSPENSE_TYPE:
9615
+ return type;
9527
9616
  default:
9528
- return u;
9617
+ var $$typeofType = type && type.$$typeof;
9618
+ switch ($$typeofType) {
9619
+ case REACT_CONTEXT_TYPE:
9620
+ case REACT_FORWARD_REF_TYPE:
9621
+ case REACT_LAZY_TYPE:
9622
+ case REACT_MEMO_TYPE:
9623
+ case REACT_PROVIDER_TYPE:
9624
+ return $$typeofType;
9625
+ default:
9626
+ return $$typeof;
9627
+ }
9529
9628
  }
9530
- }
9531
- case t:
9532
- case r:
9533
- case d:
9534
- return u;
9535
- }
9536
- }
9537
- }
9538
- function y$1(a) {
9539
- return x$1(a) === m;
9540
- }
9541
- reactIs_production_min.typeOf = x$1;
9542
- reactIs_production_min.AsyncMode = l;
9543
- reactIs_production_min.ConcurrentMode = m;
9544
- reactIs_production_min.ContextConsumer = k;
9545
- reactIs_production_min.ContextProvider = h;
9546
- reactIs_production_min.Element = c;
9547
- reactIs_production_min.ForwardRef = n;
9548
- reactIs_production_min.Fragment = e;
9549
- reactIs_production_min.Lazy = t;
9550
- reactIs_production_min.Memo = r;
9551
- reactIs_production_min.Portal = d;
9552
- reactIs_production_min.Profiler = g;
9553
- reactIs_production_min.StrictMode = f;
9554
- reactIs_production_min.Suspense = p;
9555
- reactIs_production_min.isValidElementType = function (a) {
9556
- return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === v || a.$$typeof === w);
9557
- };
9558
- reactIs_production_min.isAsyncMode = function (a) {
9559
- return y$1(a) || x$1(a) === l;
9560
- };
9561
- reactIs_production_min.isConcurrentMode = y$1;
9562
- reactIs_production_min.isContextConsumer = function (a) {
9563
- return x$1(a) === k;
9564
- };
9565
- reactIs_production_min.isContextProvider = function (a) {
9566
- return x$1(a) === h;
9567
- };
9568
- reactIs_production_min.isElement = function (a) {
9569
- return "object" === typeof a && null !== a && a.$$typeof === c;
9570
- };
9571
- reactIs_production_min.isForwardRef = function (a) {
9572
- return x$1(a) === n;
9573
- };
9574
- reactIs_production_min.isFragment = function (a) {
9575
- return x$1(a) === e;
9576
- };
9577
- reactIs_production_min.isLazy = function (a) {
9578
- return x$1(a) === t;
9579
- };
9580
- reactIs_production_min.isMemo = function (a) {
9581
- return x$1(a) === r;
9582
- };
9583
- reactIs_production_min.isPortal = function (a) {
9584
- return x$1(a) === d;
9585
- };
9586
- reactIs_production_min.isProfiler = function (a) {
9587
- return x$1(a) === g;
9588
- };
9589
- reactIs_production_min.isStrictMode = function (a) {
9590
- return x$1(a) === f;
9591
- };
9592
- reactIs_production_min.isSuspense = function (a) {
9593
- return x$1(a) === p;
9594
- };
9595
- var reactIs_development = {};
9596
- (function (exports) {
9597
- {
9598
- (function () {
9599
- Object.defineProperty(exports, '__esModule', {
9600
- value: true
9601
- });
9602
- var hasSymbol = typeof Symbol === 'function' && Symbol.for;
9603
- var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
9604
- var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
9605
- var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
9606
- var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
9607
- var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
9608
- var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
9609
- var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
9610
- var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
9611
- var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
9612
- var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
9613
- var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
9614
- var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
9615
- var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
9616
- var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
9617
- var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
9618
- var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
9619
- function isValidElementType(type) {
9620
- return typeof type === 'string' || typeof type === 'function' || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE);
9621
- }
9622
- var lowPriorityWarning = function () {};
9629
+ case REACT_PORTAL_TYPE:
9630
+ return $$typeof;
9631
+ }
9632
+ }
9633
+ return undefined;
9634
+ }
9635
+ var AsyncMode = REACT_ASYNC_MODE_TYPE;
9636
+ var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
9637
+ var ContextConsumer = REACT_CONTEXT_TYPE;
9638
+ var ContextProvider = REACT_PROVIDER_TYPE;
9639
+ var Element = REACT_ELEMENT_TYPE;
9640
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
9641
+ var Fragment = REACT_FRAGMENT_TYPE;
9642
+ var Lazy = REACT_LAZY_TYPE;
9643
+ var Memo = REACT_MEMO_TYPE;
9644
+ var Portal = REACT_PORTAL_TYPE;
9645
+ var Profiler = REACT_PROFILER_TYPE;
9646
+ var StrictMode = REACT_STRICT_MODE_TYPE;
9647
+ var Suspense = REACT_SUSPENSE_TYPE;
9648
+ var hasWarnedAboutDeprecatedIsAsyncMode = false;
9649
+ function isAsyncMode(object) {
9623
9650
  {
9624
- var printWarning = function (format) {
9625
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
9626
- args[_key - 1] = arguments[_key];
9627
- }
9628
- var argIndex = 0;
9629
- var message = 'Warning: ' + format.replace(/%s/g, function () {
9630
- return args[argIndex++];
9631
- });
9632
- if (typeof console !== 'undefined') {
9633
- console.warn(message);
9634
- }
9635
- try {
9636
- throw new Error(message);
9637
- } catch (x) {}
9638
- };
9639
- lowPriorityWarning = function (condition, format) {
9640
- if (format === undefined) {
9641
- throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');
9642
- }
9643
- if (!condition) {
9644
- for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
9645
- args[_key2 - 2] = arguments[_key2];
9646
- }
9647
- printWarning.apply(undefined, [format].concat(args));
9648
- }
9649
- };
9650
- }
9651
- var lowPriorityWarning$1 = lowPriorityWarning;
9652
- function typeOf(object) {
9653
- if (typeof object === 'object' && object !== null) {
9654
- var $$typeof = object.$$typeof;
9655
- switch ($$typeof) {
9656
- case REACT_ELEMENT_TYPE:
9657
- var type = object.type;
9658
- switch (type) {
9659
- case REACT_ASYNC_MODE_TYPE:
9660
- case REACT_CONCURRENT_MODE_TYPE:
9661
- case REACT_FRAGMENT_TYPE:
9662
- case REACT_PROFILER_TYPE:
9663
- case REACT_STRICT_MODE_TYPE:
9664
- case REACT_SUSPENSE_TYPE:
9665
- return type;
9666
- default:
9667
- var $$typeofType = type && type.$$typeof;
9668
- switch ($$typeofType) {
9669
- case REACT_CONTEXT_TYPE:
9670
- case REACT_FORWARD_REF_TYPE:
9671
- case REACT_PROVIDER_TYPE:
9672
- return $$typeofType;
9673
- default:
9674
- return $$typeof;
9675
- }
9676
- }
9677
- case REACT_LAZY_TYPE:
9678
- case REACT_MEMO_TYPE:
9679
- case REACT_PORTAL_TYPE:
9680
- return $$typeof;
9681
- }
9682
- }
9683
- return undefined;
9684
- }
9685
- var AsyncMode = REACT_ASYNC_MODE_TYPE;
9686
- var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
9687
- var ContextConsumer = REACT_CONTEXT_TYPE;
9688
- var ContextProvider = REACT_PROVIDER_TYPE;
9689
- var Element = REACT_ELEMENT_TYPE;
9690
- var ForwardRef = REACT_FORWARD_REF_TYPE;
9691
- var Fragment = REACT_FRAGMENT_TYPE;
9692
- var Lazy = REACT_LAZY_TYPE;
9693
- var Memo = REACT_MEMO_TYPE;
9694
- var Portal = REACT_PORTAL_TYPE;
9695
- var Profiler = REACT_PROFILER_TYPE;
9696
- var StrictMode = REACT_STRICT_MODE_TYPE;
9697
- var Suspense = REACT_SUSPENSE_TYPE;
9698
- var hasWarnedAboutDeprecatedIsAsyncMode = false;
9699
- function isAsyncMode(object) {
9700
- {
9701
- if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9702
- hasWarnedAboutDeprecatedIsAsyncMode = true;
9703
- lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
9704
- }
9705
- }
9706
- return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9707
- }
9708
- function isConcurrentMode(object) {
9709
- return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9710
- }
9711
- function isContextConsumer(object) {
9712
- return typeOf(object) === REACT_CONTEXT_TYPE;
9713
- }
9714
- function isContextProvider(object) {
9715
- return typeOf(object) === REACT_PROVIDER_TYPE;
9716
- }
9717
- function isElement(object) {
9718
- return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9719
- }
9720
- function isForwardRef(object) {
9721
- return typeOf(object) === REACT_FORWARD_REF_TYPE;
9722
- }
9723
- function isFragment(object) {
9724
- return typeOf(object) === REACT_FRAGMENT_TYPE;
9725
- }
9726
- function isLazy(object) {
9727
- return typeOf(object) === REACT_LAZY_TYPE;
9728
- }
9729
- function isMemo(object) {
9730
- return typeOf(object) === REACT_MEMO_TYPE;
9731
- }
9732
- function isPortal(object) {
9733
- return typeOf(object) === REACT_PORTAL_TYPE;
9734
- }
9735
- function isProfiler(object) {
9736
- return typeOf(object) === REACT_PROFILER_TYPE;
9737
- }
9738
- function isStrictMode(object) {
9739
- return typeOf(object) === REACT_STRICT_MODE_TYPE;
9740
- }
9741
- function isSuspense(object) {
9742
- return typeOf(object) === REACT_SUSPENSE_TYPE;
9743
- }
9744
- exports.typeOf = typeOf;
9745
- exports.AsyncMode = AsyncMode;
9746
- exports.ConcurrentMode = ConcurrentMode;
9747
- exports.ContextConsumer = ContextConsumer;
9748
- exports.ContextProvider = ContextProvider;
9749
- exports.Element = Element;
9750
- exports.ForwardRef = ForwardRef;
9751
- exports.Fragment = Fragment;
9752
- exports.Lazy = Lazy;
9753
- exports.Memo = Memo;
9754
- exports.Portal = Portal;
9755
- exports.Profiler = Profiler;
9756
- exports.StrictMode = StrictMode;
9757
- exports.Suspense = Suspense;
9758
- exports.isValidElementType = isValidElementType;
9759
- exports.isAsyncMode = isAsyncMode;
9760
- exports.isConcurrentMode = isConcurrentMode;
9761
- exports.isContextConsumer = isContextConsumer;
9762
- exports.isContextProvider = isContextProvider;
9763
- exports.isElement = isElement;
9764
- exports.isForwardRef = isForwardRef;
9765
- exports.isFragment = isFragment;
9766
- exports.isLazy = isLazy;
9767
- exports.isMemo = isMemo;
9768
- exports.isPortal = isPortal;
9769
- exports.isProfiler = isProfiler;
9770
- exports.isStrictMode = isStrictMode;
9771
- exports.isSuspense = isSuspense;
9772
- })();
9773
- }
9774
- })(reactIs_development);
9775
- getDefaultExportFromCjs(reactIs_development);
9651
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9652
+ hasWarnedAboutDeprecatedIsAsyncMode = true;
9653
+ console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
9654
+ }
9655
+ }
9656
+ return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9657
+ }
9658
+ function isConcurrentMode(object) {
9659
+ return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9660
+ }
9661
+ function isContextConsumer(object) {
9662
+ return typeOf(object) === REACT_CONTEXT_TYPE;
9663
+ }
9664
+ function isContextProvider(object) {
9665
+ return typeOf(object) === REACT_PROVIDER_TYPE;
9666
+ }
9667
+ function isElement(object) {
9668
+ return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9669
+ }
9670
+ function isForwardRef(object) {
9671
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
9672
+ }
9673
+ function isFragment(object) {
9674
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
9675
+ }
9676
+ function isLazy(object) {
9677
+ return typeOf(object) === REACT_LAZY_TYPE;
9678
+ }
9679
+ function isMemo(object) {
9680
+ return typeOf(object) === REACT_MEMO_TYPE;
9681
+ }
9682
+ function isPortal(object) {
9683
+ return typeOf(object) === REACT_PORTAL_TYPE;
9684
+ }
9685
+ function isProfiler(object) {
9686
+ return typeOf(object) === REACT_PROFILER_TYPE;
9687
+ }
9688
+ function isStrictMode(object) {
9689
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
9690
+ }
9691
+ function isSuspense(object) {
9692
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
9693
+ }
9694
+ reactIs_development.AsyncMode = AsyncMode;
9695
+ reactIs_development.ConcurrentMode = ConcurrentMode;
9696
+ reactIs_development.ContextConsumer = ContextConsumer;
9697
+ reactIs_development.ContextProvider = ContextProvider;
9698
+ reactIs_development.Element = Element;
9699
+ reactIs_development.ForwardRef = ForwardRef;
9700
+ reactIs_development.Fragment = Fragment;
9701
+ reactIs_development.Lazy = Lazy;
9702
+ reactIs_development.Memo = Memo;
9703
+ reactIs_development.Portal = Portal;
9704
+ reactIs_development.Profiler = Profiler;
9705
+ reactIs_development.StrictMode = StrictMode;
9706
+ reactIs_development.Suspense = Suspense;
9707
+ reactIs_development.isAsyncMode = isAsyncMode;
9708
+ reactIs_development.isConcurrentMode = isConcurrentMode;
9709
+ reactIs_development.isContextConsumer = isContextConsumer;
9710
+ reactIs_development.isContextProvider = isContextProvider;
9711
+ reactIs_development.isElement = isElement;
9712
+ reactIs_development.isForwardRef = isForwardRef;
9713
+ reactIs_development.isFragment = isFragment;
9714
+ reactIs_development.isLazy = isLazy;
9715
+ reactIs_development.isMemo = isMemo;
9716
+ reactIs_development.isPortal = isPortal;
9717
+ reactIs_development.isProfiler = isProfiler;
9718
+ reactIs_development.isStrictMode = isStrictMode;
9719
+ reactIs_development.isSuspense = isSuspense;
9720
+ reactIs_development.isValidElementType = isValidElementType;
9721
+ reactIs_development.typeOf = typeOf;
9722
+ })();
9723
+ }
9776
9724
  {
9777
- reactIs.exports = reactIs_development;
9725
+ reactIs$1.exports = reactIs_development;
9778
9726
  }
9779
- var ReactIs = reactIs.exports;
9727
+ var reactIs = reactIs$1.exports;
9780
9728
  var REACT_STATICS = {
9781
9729
  childContextTypes: true,
9782
9730
  contextType: true,
@@ -9815,9 +9763,10 @@ var MEMO_STATICS = {
9815
9763
  type: true
9816
9764
  };
9817
9765
  var TYPE_STATICS = {};
9818
- TYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;
9766
+ TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
9767
+ TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
9819
9768
  function getStatics(component) {
9820
- if (ReactIs.isMemo(component)) {
9769
+ if (reactIs.isMemo(component)) {
9821
9770
  return MEMO_STATICS;
9822
9771
  }
9823
9772
  return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
@@ -9851,7 +9800,6 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
9851
9800
  } catch (e) {}
9852
9801
  }
9853
9802
  }
9854
- return targetComponent;
9855
9803
  }
9856
9804
  return targetComponent;
9857
9805
  }
@@ -9880,7 +9828,7 @@ function connectAdvanced(selectorFactory, _ref) {
9880
9828
  var Context = context;
9881
9829
  return function wrapWithConnect(WrappedComponent) {
9882
9830
  {
9883
- browser(reactIs.exports.isValidElementType(WrappedComponent), "You must pass a component to the function returned by " + (methodName + ". Instead received " + stringifyComponent(WrappedComponent)));
9831
+ browser(reactIs$1.exports.isValidElementType(WrappedComponent), "You must pass a component to the function returned by " + (methodName + ". Instead received " + stringifyComponent(WrappedComponent)));
9884
9832
  }
9885
9833
  var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
9886
9834
  var displayName = getDisplayName(wrappedComponentName);
@@ -9964,7 +9912,7 @@ function connectAdvanced(selectorFactory, _ref) {
9964
9912
  return this.selectChildElement(WrappedComponent, derivedProps, forwardedRef);
9965
9913
  };
9966
9914
  _proto.render = function render() {
9967
- var ContextToUse = this.props.context && this.props.context.Consumer && reactIs.exports.isContextConsumer(React$o.createElement(this.props.context.Consumer, null)) ? this.props.context : Context;
9915
+ var ContextToUse = this.props.context && this.props.context.Consumer && reactIs$1.exports.isContextConsumer(React$o.createElement(this.props.context.Consumer, null)) ? this.props.context : Context;
9968
9916
  return React$o.createElement(ContextToUse.Consumer, null, this.indirectRenderWrappedComponent);
9969
9917
  };
9970
9918
  return Connect;
@@ -10008,34 +9956,9 @@ function shallowEqual(objA, objB) {
10008
9956
  }
10009
9957
  return true;
10010
9958
  }
10011
- function symbolObservablePonyfill(root) {
10012
- var result;
10013
- var Symbol = root.Symbol;
10014
- if (typeof Symbol === 'function') {
10015
- if (Symbol.observable) {
10016
- result = Symbol.observable;
10017
- } else {
10018
- result = Symbol('observable');
10019
- Symbol.observable = result;
10020
- }
10021
- } else {
10022
- result = '@@observable';
10023
- }
10024
- return result;
10025
- }
10026
- var root;
10027
- if (typeof self !== 'undefined') {
10028
- root = self;
10029
- } else if (typeof window !== 'undefined') {
10030
- root = window;
10031
- } else if (typeof global !== 'undefined') {
10032
- root = global;
10033
- } else if (typeof module !== 'undefined') {
10034
- root = module;
10035
- } else {
10036
- root = Function('return this')();
10037
- }
10038
- var result = symbolObservablePonyfill(root);
9959
+ var $$observable = (function () {
9960
+ return typeof Symbol === 'function' && Symbol.observable || '@@observable';
9961
+ })();
10039
9962
  var randomString = function randomString() {
10040
9963
  return Math.random().toString(36).substring(7).split('').join('.');
10041
9964
  };
@@ -10054,10 +9977,56 @@ function isPlainObject$1(obj) {
10054
9977
  }
10055
9978
  return Object.getPrototypeOf(obj) === proto;
10056
9979
  }
9980
+ function miniKindOf(val) {
9981
+ if (val === void 0) return 'undefined';
9982
+ if (val === null) return 'null';
9983
+ var type = typeof val;
9984
+ switch (type) {
9985
+ case 'boolean':
9986
+ case 'string':
9987
+ case 'number':
9988
+ case 'symbol':
9989
+ case 'function':
9990
+ {
9991
+ return type;
9992
+ }
9993
+ }
9994
+ if (Array.isArray(val)) return 'array';
9995
+ if (isDate(val)) return 'date';
9996
+ if (isError(val)) return 'error';
9997
+ var constructorName = ctorName(val);
9998
+ switch (constructorName) {
9999
+ case 'Symbol':
10000
+ case 'Promise':
10001
+ case 'WeakMap':
10002
+ case 'WeakSet':
10003
+ case 'Map':
10004
+ case 'Set':
10005
+ return constructorName;
10006
+ }
10007
+ return type.slice(8, -1).toLowerCase().replace(/\s/g, '');
10008
+ }
10009
+ function ctorName(val) {
10010
+ return typeof val.constructor === 'function' ? val.constructor.name : null;
10011
+ }
10012
+ function isError(val) {
10013
+ return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';
10014
+ }
10015
+ function isDate(val) {
10016
+ if (val instanceof Date) return true;
10017
+ return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';
10018
+ }
10019
+ function kindOf(val) {
10020
+ var typeOfVal = typeof val;
10021
+ {
10022
+ typeOfVal = miniKindOf(val);
10023
+ }
10024
+ return typeOfVal;
10025
+ }
10057
10026
  function createStore(reducer, preloadedState, enhancer) {
10058
10027
  var _ref2;
10059
10028
  if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {
10060
- throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');
10029
+ throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');
10061
10030
  }
10062
10031
  if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
10063
10032
  enhancer = preloadedState;
@@ -10065,12 +10034,12 @@ function createStore(reducer, preloadedState, enhancer) {
10065
10034
  }
10066
10035
  if (typeof enhancer !== 'undefined') {
10067
10036
  if (typeof enhancer !== 'function') {
10068
- throw new Error('Expected the enhancer to be a function.');
10037
+ throw new Error("Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'");
10069
10038
  }
10070
10039
  return enhancer(createStore)(reducer, preloadedState);
10071
10040
  }
10072
10041
  if (typeof reducer !== 'function') {
10073
- throw new Error('Expected the reducer to be a function.');
10042
+ throw new Error("Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'");
10074
10043
  }
10075
10044
  var currentReducer = reducer;
10076
10045
  var currentState = preloadedState;
@@ -10090,10 +10059,10 @@ function createStore(reducer, preloadedState, enhancer) {
10090
10059
  }
10091
10060
  function subscribe(listener) {
10092
10061
  if (typeof listener !== 'function') {
10093
- throw new Error('Expected the listener to be a function.');
10062
+ throw new Error("Expected the listener to be a function. Instead, received: '" + kindOf(listener) + "'");
10094
10063
  }
10095
10064
  if (isDispatching) {
10096
- throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
10065
+ throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');
10097
10066
  }
10098
10067
  var isSubscribed = true;
10099
10068
  ensureCanMutateNextListeners();
@@ -10103,20 +10072,21 @@ function createStore(reducer, preloadedState, enhancer) {
10103
10072
  return;
10104
10073
  }
10105
10074
  if (isDispatching) {
10106
- throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
10075
+ throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');
10107
10076
  }
10108
10077
  isSubscribed = false;
10109
10078
  ensureCanMutateNextListeners();
10110
10079
  var index = nextListeners.indexOf(listener);
10111
10080
  nextListeners.splice(index, 1);
10081
+ currentListeners = null;
10112
10082
  };
10113
10083
  }
10114
10084
  function dispatch(action) {
10115
10085
  if (!isPlainObject$1(action)) {
10116
- throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
10086
+ throw new Error("Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.");
10117
10087
  }
10118
10088
  if (typeof action.type === 'undefined') {
10119
- throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
10089
+ throw new Error('Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');
10120
10090
  }
10121
10091
  if (isDispatching) {
10122
10092
  throw new Error('Reducers may not dispatch actions.');
@@ -10136,7 +10106,7 @@ function createStore(reducer, preloadedState, enhancer) {
10136
10106
  }
10137
10107
  function replaceReducer(nextReducer) {
10138
10108
  if (typeof nextReducer !== 'function') {
10139
- throw new Error('Expected the nextReducer to be a function.');
10109
+ throw new Error("Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer));
10140
10110
  }
10141
10111
  currentReducer = nextReducer;
10142
10112
  dispatch({
@@ -10149,7 +10119,7 @@ function createStore(reducer, preloadedState, enhancer) {
10149
10119
  return (_ref = {
10150
10120
  subscribe: function subscribe(observer) {
10151
10121
  if (typeof observer !== 'object' || observer === null) {
10152
- throw new TypeError('Expected the observer to be an object.');
10122
+ throw new Error("Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'");
10153
10123
  }
10154
10124
  function observeState() {
10155
10125
  if (observer.next) {
@@ -10162,7 +10132,7 @@ function createStore(reducer, preloadedState, enhancer) {
10162
10132
  unsubscribe: unsubscribe
10163
10133
  };
10164
10134
  }
10165
- }, _ref[result] = function () {
10135
+ }, _ref[$$observable] = function () {
10166
10136
  return this;
10167
10137
  }, _ref);
10168
10138
  }
@@ -10174,7 +10144,7 @@ function createStore(reducer, preloadedState, enhancer) {
10174
10144
  subscribe: subscribe,
10175
10145
  getState: getState,
10176
10146
  replaceReducer: replaceReducer
10177
- }, _ref2[result] = observable, _ref2);
10147
+ }, _ref2[$$observable] = observable, _ref2);
10178
10148
  }
10179
10149
  function warning$1(message) {
10180
10150
  if (typeof console !== 'undefined' && typeof console.error === 'function') {
@@ -10184,11 +10154,6 @@ function warning$1(message) {
10184
10154
  throw new Error(message);
10185
10155
  } catch (e) {}
10186
10156
  }
10187
- function getUndefinedStateErrorMessage(key, action) {
10188
- var actionType = action && action.type;
10189
- var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action';
10190
- return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.";
10191
- }
10192
10157
  function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
10193
10158
  var reducerKeys = Object.keys(reducers);
10194
10159
  var argumentName = action && action.type === ActionTypes$1.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
@@ -10196,7 +10161,7 @@ function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, une
10196
10161
  return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
10197
10162
  }
10198
10163
  if (!isPlainObject$1(inputState)) {
10199
- return "The " + argumentName + " has unexpected type of \"" + ({}).toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
10164
+ return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
10200
10165
  }
10201
10166
  var unexpectedKeys = Object.keys(inputState).filter(function (key) {
10202
10167
  return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
@@ -10216,12 +10181,12 @@ function assertReducerShape(reducers) {
10216
10181
  type: ActionTypes$1.INIT
10217
10182
  });
10218
10183
  if (typeof initialState === 'undefined') {
10219
- throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
10184
+ throw new Error("The slice reducer for key \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
10220
10185
  }
10221
10186
  if (typeof reducer(undefined, {
10222
10187
  type: ActionTypes$1.PROBE_UNKNOWN_ACTION()
10223
10188
  }) === 'undefined') {
10224
- throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes$1.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
10189
+ throw new Error("The slice reducer for key \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle '" + ActionTypes$1.INIT + "' or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
10225
10190
  }
10226
10191
  });
10227
10192
  }
@@ -10271,12 +10236,13 @@ function combineReducers(reducers) {
10271
10236
  var previousStateForKey = state[_key];
10272
10237
  var nextStateForKey = reducer(previousStateForKey, action);
10273
10238
  if (typeof nextStateForKey === 'undefined') {
10274
- var errorMessage = getUndefinedStateErrorMessage(_key, action);
10275
- throw new Error(errorMessage);
10239
+ var actionType = action && action.type;
10240
+ throw new Error("When called with an action of type " + (actionType ? "\"" + String(actionType) + "\"" : '(unknown type)') + ", the slice reducer for key \"" + _key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.");
10276
10241
  }
10277
10242
  nextState[_key] = nextStateForKey;
10278
10243
  hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
10279
10244
  }
10245
+ hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;
10280
10246
  return hasChanged ? nextState : state;
10281
10247
  };
10282
10248
  }
@@ -10290,7 +10256,7 @@ function bindActionCreators(actionCreators, dispatch) {
10290
10256
  return bindActionCreator(actionCreators, dispatch);
10291
10257
  }
10292
10258
  if (typeof actionCreators !== 'object' || actionCreators === null) {
10293
- throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
10259
+ throw new Error("bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
10294
10260
  }
10295
10261
  var boundActionCreators = {};
10296
10262
  for (var key in actionCreators) {
@@ -11606,8 +11572,8 @@ var AutosizeInput = (function (_Component) {
11606
11572
  this.updateInputWidth();
11607
11573
  }
11608
11574
  }, {
11609
- key: 'componentWillReceiveProps',
11610
- value: function componentWillReceiveProps(nextProps) {
11575
+ key: 'UNSAFE_componentWillReceiveProps',
11576
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
11611
11577
  var id = nextProps.id;
11612
11578
  if (id !== this.props.id) {
11613
11579
  this.setState({