Initial commit
27
node_modules/d3-scale/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
Copyright 2010-2015 Mike Bostock
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of the author nor the names of contributors may be used to
|
||||
endorse or promote products derived from this software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
925
node_modules/d3-scale/build/d3-scale.js
generated
vendored
Normal file
@@ -0,0 +1,925 @@
|
||||
// https://d3js.org/d3-scale/ Version 1.0.7. Copyright 2017 Mike Bostock.
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-array'), require('d3-collection'), require('d3-interpolate'), require('d3-format'), require('d3-time'), require('d3-time-format'), require('d3-color')) :
|
||||
typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-collection', 'd3-interpolate', 'd3-format', 'd3-time', 'd3-time-format', 'd3-color'], factory) :
|
||||
(factory((global.d3 = global.d3 || {}),global.d3,global.d3,global.d3,global.d3,global.d3,global.d3,global.d3));
|
||||
}(this, (function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict';
|
||||
|
||||
var array = Array.prototype;
|
||||
|
||||
var map$1 = array.map;
|
||||
var slice = array.slice;
|
||||
|
||||
var implicit = {name: "implicit"};
|
||||
|
||||
function ordinal(range$$1) {
|
||||
var index = d3Collection.map(),
|
||||
domain = [],
|
||||
unknown = implicit;
|
||||
|
||||
range$$1 = range$$1 == null ? [] : slice.call(range$$1);
|
||||
|
||||
function scale(d) {
|
||||
var key = d + "", i = index.get(key);
|
||||
if (!i) {
|
||||
if (unknown !== implicit) return unknown;
|
||||
index.set(key, i = domain.push(d));
|
||||
}
|
||||
return range$$1[(i - 1) % range$$1.length];
|
||||
}
|
||||
|
||||
scale.domain = function(_) {
|
||||
if (!arguments.length) return domain.slice();
|
||||
domain = [], index = d3Collection.map();
|
||||
var i = -1, n = _.length, d, key;
|
||||
while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d));
|
||||
return scale;
|
||||
};
|
||||
|
||||
scale.range = function(_) {
|
||||
return arguments.length ? (range$$1 = slice.call(_), scale) : range$$1.slice();
|
||||
};
|
||||
|
||||
scale.unknown = function(_) {
|
||||
return arguments.length ? (unknown = _, scale) : unknown;
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return ordinal()
|
||||
.domain(domain)
|
||||
.range(range$$1)
|
||||
.unknown(unknown);
|
||||
};
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
function band() {
|
||||
var scale = ordinal().unknown(undefined),
|
||||
domain = scale.domain,
|
||||
ordinalRange = scale.range,
|
||||
range$$1 = [0, 1],
|
||||
step,
|
||||
bandwidth,
|
||||
round = false,
|
||||
paddingInner = 0,
|
||||
paddingOuter = 0,
|
||||
align = 0.5;
|
||||
|
||||
delete scale.unknown;
|
||||
|
||||
function rescale() {
|
||||
var n = domain().length,
|
||||
reverse = range$$1[1] < range$$1[0],
|
||||
start = range$$1[reverse - 0],
|
||||
stop = range$$1[1 - reverse];
|
||||
step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);
|
||||
if (round) step = Math.floor(step);
|
||||
start += (stop - start - step * (n - paddingInner)) * align;
|
||||
bandwidth = step * (1 - paddingInner);
|
||||
if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);
|
||||
var values = d3Array.range(n).map(function(i) { return start + step * i; });
|
||||
return ordinalRange(reverse ? values.reverse() : values);
|
||||
}
|
||||
|
||||
scale.domain = function(_) {
|
||||
return arguments.length ? (domain(_), rescale()) : domain();
|
||||
};
|
||||
|
||||
scale.range = function(_) {
|
||||
return arguments.length ? (range$$1 = [+_[0], +_[1]], rescale()) : range$$1.slice();
|
||||
};
|
||||
|
||||
scale.rangeRound = function(_) {
|
||||
return range$$1 = [+_[0], +_[1]], round = true, rescale();
|
||||
};
|
||||
|
||||
scale.bandwidth = function() {
|
||||
return bandwidth;
|
||||
};
|
||||
|
||||
scale.step = function() {
|
||||
return step;
|
||||
};
|
||||
|
||||
scale.round = function(_) {
|
||||
return arguments.length ? (round = !!_, rescale()) : round;
|
||||
};
|
||||
|
||||
scale.padding = function(_) {
|
||||
return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
|
||||
};
|
||||
|
||||
scale.paddingInner = function(_) {
|
||||
return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
|
||||
};
|
||||
|
||||
scale.paddingOuter = function(_) {
|
||||
return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;
|
||||
};
|
||||
|
||||
scale.align = function(_) {
|
||||
return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return band()
|
||||
.domain(domain())
|
||||
.range(range$$1)
|
||||
.round(round)
|
||||
.paddingInner(paddingInner)
|
||||
.paddingOuter(paddingOuter)
|
||||
.align(align);
|
||||
};
|
||||
|
||||
return rescale();
|
||||
}
|
||||
|
||||
function pointish(scale) {
|
||||
var copy = scale.copy;
|
||||
|
||||
scale.padding = scale.paddingOuter;
|
||||
delete scale.paddingInner;
|
||||
delete scale.paddingOuter;
|
||||
|
||||
scale.copy = function() {
|
||||
return pointish(copy());
|
||||
};
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
function point() {
|
||||
return pointish(band().paddingInner(1));
|
||||
}
|
||||
|
||||
var constant = function(x) {
|
||||
return function() {
|
||||
return x;
|
||||
};
|
||||
};
|
||||
|
||||
var number = function(x) {
|
||||
return +x;
|
||||
};
|
||||
|
||||
var unit = [0, 1];
|
||||
|
||||
function deinterpolateLinear(a, b) {
|
||||
return (b -= (a = +a))
|
||||
? function(x) { return (x - a) / b; }
|
||||
: constant(b);
|
||||
}
|
||||
|
||||
function deinterpolateClamp(deinterpolate) {
|
||||
return function(a, b) {
|
||||
var d = deinterpolate(a = +a, b = +b);
|
||||
return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };
|
||||
};
|
||||
}
|
||||
|
||||
function reinterpolateClamp(reinterpolate) {
|
||||
return function(a, b) {
|
||||
var r = reinterpolate(a = +a, b = +b);
|
||||
return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };
|
||||
};
|
||||
}
|
||||
|
||||
function bimap(domain, range$$1, deinterpolate, reinterpolate) {
|
||||
var d0 = domain[0], d1 = domain[1], r0 = range$$1[0], r1 = range$$1[1];
|
||||
if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);
|
||||
else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);
|
||||
return function(x) { return r0(d0(x)); };
|
||||
}
|
||||
|
||||
function polymap(domain, range$$1, deinterpolate, reinterpolate) {
|
||||
var j = Math.min(domain.length, range$$1.length) - 1,
|
||||
d = new Array(j),
|
||||
r = new Array(j),
|
||||
i = -1;
|
||||
|
||||
// Reverse descending domains.
|
||||
if (domain[j] < domain[0]) {
|
||||
domain = domain.slice().reverse();
|
||||
range$$1 = range$$1.slice().reverse();
|
||||
}
|
||||
|
||||
while (++i < j) {
|
||||
d[i] = deinterpolate(domain[i], domain[i + 1]);
|
||||
r[i] = reinterpolate(range$$1[i], range$$1[i + 1]);
|
||||
}
|
||||
|
||||
return function(x) {
|
||||
var i = d3Array.bisect(domain, x, 1, j) - 1;
|
||||
return r[i](d[i](x));
|
||||
};
|
||||
}
|
||||
|
||||
function copy(source, target) {
|
||||
return target
|
||||
.domain(source.domain())
|
||||
.range(source.range())
|
||||
.interpolate(source.interpolate())
|
||||
.clamp(source.clamp());
|
||||
}
|
||||
|
||||
// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
|
||||
// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
|
||||
function continuous(deinterpolate, reinterpolate) {
|
||||
var domain = unit,
|
||||
range$$1 = unit,
|
||||
interpolate$$1 = d3Interpolate.interpolate,
|
||||
clamp = false,
|
||||
piecewise,
|
||||
output,
|
||||
input;
|
||||
|
||||
function rescale() {
|
||||
piecewise = Math.min(domain.length, range$$1.length) > 2 ? polymap : bimap;
|
||||
output = input = null;
|
||||
return scale;
|
||||
}
|
||||
|
||||
function scale(x) {
|
||||
return (output || (output = piecewise(domain, range$$1, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate$$1)))(+x);
|
||||
}
|
||||
|
||||
scale.invert = function(y) {
|
||||
return (input || (input = piecewise(range$$1, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);
|
||||
};
|
||||
|
||||
scale.domain = function(_) {
|
||||
return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice();
|
||||
};
|
||||
|
||||
scale.range = function(_) {
|
||||
return arguments.length ? (range$$1 = slice.call(_), rescale()) : range$$1.slice();
|
||||
};
|
||||
|
||||
scale.rangeRound = function(_) {
|
||||
return range$$1 = slice.call(_), interpolate$$1 = d3Interpolate.interpolateRound, rescale();
|
||||
};
|
||||
|
||||
scale.clamp = function(_) {
|
||||
return arguments.length ? (clamp = !!_, rescale()) : clamp;
|
||||
};
|
||||
|
||||
scale.interpolate = function(_) {
|
||||
return arguments.length ? (interpolate$$1 = _, rescale()) : interpolate$$1;
|
||||
};
|
||||
|
||||
return rescale();
|
||||
}
|
||||
|
||||
var tickFormat = function(domain, count, specifier) {
|
||||
var start = domain[0],
|
||||
stop = domain[domain.length - 1],
|
||||
step = d3Array.tickStep(start, stop, count == null ? 10 : count),
|
||||
precision;
|
||||
specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier);
|
||||
switch (specifier.type) {
|
||||
case "s": {
|
||||
var value = Math.max(Math.abs(start), Math.abs(stop));
|
||||
if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision;
|
||||
return d3Format.formatPrefix(specifier, value);
|
||||
}
|
||||
case "":
|
||||
case "e":
|
||||
case "g":
|
||||
case "p":
|
||||
case "r": {
|
||||
if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
|
||||
break;
|
||||
}
|
||||
case "f":
|
||||
case "%": {
|
||||
if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return d3Format.format(specifier);
|
||||
};
|
||||
|
||||
function linearish(scale) {
|
||||
var domain = scale.domain;
|
||||
|
||||
scale.ticks = function(count) {
|
||||
var d = domain();
|
||||
return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count);
|
||||
};
|
||||
|
||||
scale.tickFormat = function(count, specifier) {
|
||||
return tickFormat(domain(), count, specifier);
|
||||
};
|
||||
|
||||
scale.nice = function(count) {
|
||||
if (count == null) count = 10;
|
||||
|
||||
var d = domain(),
|
||||
i0 = 0,
|
||||
i1 = d.length - 1,
|
||||
start = d[i0],
|
||||
stop = d[i1],
|
||||
step;
|
||||
|
||||
if (stop < start) {
|
||||
step = start, start = stop, stop = step;
|
||||
step = i0, i0 = i1, i1 = step;
|
||||
}
|
||||
|
||||
step = d3Array.tickIncrement(start, stop, count);
|
||||
|
||||
if (step > 0) {
|
||||
start = Math.floor(start / step) * step;
|
||||
stop = Math.ceil(stop / step) * step;
|
||||
step = d3Array.tickIncrement(start, stop, count);
|
||||
} else if (step < 0) {
|
||||
start = Math.ceil(start * step) / step;
|
||||
stop = Math.floor(stop * step) / step;
|
||||
step = d3Array.tickIncrement(start, stop, count);
|
||||
}
|
||||
|
||||
if (step > 0) {
|
||||
d[i0] = Math.floor(start / step) * step;
|
||||
d[i1] = Math.ceil(stop / step) * step;
|
||||
domain(d);
|
||||
} else if (step < 0) {
|
||||
d[i0] = Math.ceil(start * step) / step;
|
||||
d[i1] = Math.floor(stop * step) / step;
|
||||
domain(d);
|
||||
}
|
||||
|
||||
return scale;
|
||||
};
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
function linear() {
|
||||
var scale = continuous(deinterpolateLinear, d3Interpolate.interpolateNumber);
|
||||
|
||||
scale.copy = function() {
|
||||
return copy(scale, linear());
|
||||
};
|
||||
|
||||
return linearish(scale);
|
||||
}
|
||||
|
||||
function identity() {
|
||||
var domain = [0, 1];
|
||||
|
||||
function scale(x) {
|
||||
return +x;
|
||||
}
|
||||
|
||||
scale.invert = scale;
|
||||
|
||||
scale.domain = scale.range = function(_) {
|
||||
return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice();
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return identity().domain(domain);
|
||||
};
|
||||
|
||||
return linearish(scale);
|
||||
}
|
||||
|
||||
var nice = function(domain, interval) {
|
||||
domain = domain.slice();
|
||||
|
||||
var i0 = 0,
|
||||
i1 = domain.length - 1,
|
||||
x0 = domain[i0],
|
||||
x1 = domain[i1],
|
||||
t;
|
||||
|
||||
if (x1 < x0) {
|
||||
t = i0, i0 = i1, i1 = t;
|
||||
t = x0, x0 = x1, x1 = t;
|
||||
}
|
||||
|
||||
domain[i0] = interval.floor(x0);
|
||||
domain[i1] = interval.ceil(x1);
|
||||
return domain;
|
||||
};
|
||||
|
||||
function deinterpolate(a, b) {
|
||||
return (b = Math.log(b / a))
|
||||
? function(x) { return Math.log(x / a) / b; }
|
||||
: constant(b);
|
||||
}
|
||||
|
||||
function reinterpolate(a, b) {
|
||||
return a < 0
|
||||
? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }
|
||||
: function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };
|
||||
}
|
||||
|
||||
function pow10(x) {
|
||||
return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x;
|
||||
}
|
||||
|
||||
function powp(base) {
|
||||
return base === 10 ? pow10
|
||||
: base === Math.E ? Math.exp
|
||||
: function(x) { return Math.pow(base, x); };
|
||||
}
|
||||
|
||||
function logp(base) {
|
||||
return base === Math.E ? Math.log
|
||||
: base === 10 && Math.log10
|
||||
|| base === 2 && Math.log2
|
||||
|| (base = Math.log(base), function(x) { return Math.log(x) / base; });
|
||||
}
|
||||
|
||||
function reflect(f) {
|
||||
return function(x) {
|
||||
return -f(-x);
|
||||
};
|
||||
}
|
||||
|
||||
function log() {
|
||||
var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),
|
||||
domain = scale.domain,
|
||||
base = 10,
|
||||
logs = logp(10),
|
||||
pows = powp(10);
|
||||
|
||||
function rescale() {
|
||||
logs = logp(base), pows = powp(base);
|
||||
if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);
|
||||
return scale;
|
||||
}
|
||||
|
||||
scale.base = function(_) {
|
||||
return arguments.length ? (base = +_, rescale()) : base;
|
||||
};
|
||||
|
||||
scale.domain = function(_) {
|
||||
return arguments.length ? (domain(_), rescale()) : domain();
|
||||
};
|
||||
|
||||
scale.ticks = function(count) {
|
||||
var d = domain(),
|
||||
u = d[0],
|
||||
v = d[d.length - 1],
|
||||
r;
|
||||
|
||||
if (r = v < u) i = u, u = v, v = i;
|
||||
|
||||
var i = logs(u),
|
||||
j = logs(v),
|
||||
p,
|
||||
k,
|
||||
t,
|
||||
n = count == null ? 10 : +count,
|
||||
z = [];
|
||||
|
||||
if (!(base % 1) && j - i < n) {
|
||||
i = Math.round(i) - 1, j = Math.round(j) + 1;
|
||||
if (u > 0) for (; i < j; ++i) {
|
||||
for (k = 1, p = pows(i); k < base; ++k) {
|
||||
t = p * k;
|
||||
if (t < u) continue;
|
||||
if (t > v) break;
|
||||
z.push(t);
|
||||
}
|
||||
} else for (; i < j; ++i) {
|
||||
for (k = base - 1, p = pows(i); k >= 1; --k) {
|
||||
t = p * k;
|
||||
if (t < u) continue;
|
||||
if (t > v) break;
|
||||
z.push(t);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows);
|
||||
}
|
||||
|
||||
return r ? z.reverse() : z;
|
||||
};
|
||||
|
||||
scale.tickFormat = function(count, specifier) {
|
||||
if (specifier == null) specifier = base === 10 ? ".0e" : ",";
|
||||
if (typeof specifier !== "function") specifier = d3Format.format(specifier);
|
||||
if (count === Infinity) return specifier;
|
||||
if (count == null) count = 10;
|
||||
var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?
|
||||
return function(d) {
|
||||
var i = d / pows(Math.round(logs(d)));
|
||||
if (i * base < base - 0.5) i *= base;
|
||||
return i <= k ? specifier(d) : "";
|
||||
};
|
||||
};
|
||||
|
||||
scale.nice = function() {
|
||||
return domain(nice(domain(), {
|
||||
floor: function(x) { return pows(Math.floor(logs(x))); },
|
||||
ceil: function(x) { return pows(Math.ceil(logs(x))); }
|
||||
}));
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return copy(scale, log().base(base));
|
||||
};
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
function raise(x, exponent) {
|
||||
return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
|
||||
}
|
||||
|
||||
function pow() {
|
||||
var exponent = 1,
|
||||
scale = continuous(deinterpolate, reinterpolate),
|
||||
domain = scale.domain;
|
||||
|
||||
function deinterpolate(a, b) {
|
||||
return (b = raise(b, exponent) - (a = raise(a, exponent)))
|
||||
? function(x) { return (raise(x, exponent) - a) / b; }
|
||||
: constant(b);
|
||||
}
|
||||
|
||||
function reinterpolate(a, b) {
|
||||
b = raise(b, exponent) - (a = raise(a, exponent));
|
||||
return function(t) { return raise(a + b * t, 1 / exponent); };
|
||||
}
|
||||
|
||||
scale.exponent = function(_) {
|
||||
return arguments.length ? (exponent = +_, domain(domain())) : exponent;
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return copy(scale, pow().exponent(exponent));
|
||||
};
|
||||
|
||||
return linearish(scale);
|
||||
}
|
||||
|
||||
function sqrt() {
|
||||
return pow().exponent(0.5);
|
||||
}
|
||||
|
||||
function quantile$1() {
|
||||
var domain = [],
|
||||
range$$1 = [],
|
||||
thresholds = [];
|
||||
|
||||
function rescale() {
|
||||
var i = 0, n = Math.max(1, range$$1.length);
|
||||
thresholds = new Array(n - 1);
|
||||
while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n);
|
||||
return scale;
|
||||
}
|
||||
|
||||
function scale(x) {
|
||||
if (!isNaN(x = +x)) return range$$1[d3Array.bisect(thresholds, x)];
|
||||
}
|
||||
|
||||
scale.invertExtent = function(y) {
|
||||
var i = range$$1.indexOf(y);
|
||||
return i < 0 ? [NaN, NaN] : [
|
||||
i > 0 ? thresholds[i - 1] : domain[0],
|
||||
i < thresholds.length ? thresholds[i] : domain[domain.length - 1]
|
||||
];
|
||||
};
|
||||
|
||||
scale.domain = function(_) {
|
||||
if (!arguments.length) return domain.slice();
|
||||
domain = [];
|
||||
for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
|
||||
domain.sort(d3Array.ascending);
|
||||
return rescale();
|
||||
};
|
||||
|
||||
scale.range = function(_) {
|
||||
return arguments.length ? (range$$1 = slice.call(_), rescale()) : range$$1.slice();
|
||||
};
|
||||
|
||||
scale.quantiles = function() {
|
||||
return thresholds.slice();
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return quantile$1()
|
||||
.domain(domain)
|
||||
.range(range$$1);
|
||||
};
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
function quantize() {
|
||||
var x0 = 0,
|
||||
x1 = 1,
|
||||
n = 1,
|
||||
domain = [0.5],
|
||||
range$$1 = [0, 1];
|
||||
|
||||
function scale(x) {
|
||||
if (x <= x) return range$$1[d3Array.bisect(domain, x, 0, n)];
|
||||
}
|
||||
|
||||
function rescale() {
|
||||
var i = -1;
|
||||
domain = new Array(n);
|
||||
while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);
|
||||
return scale;
|
||||
}
|
||||
|
||||
scale.domain = function(_) {
|
||||
return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
|
||||
};
|
||||
|
||||
scale.range = function(_) {
|
||||
return arguments.length ? (n = (range$$1 = slice.call(_)).length - 1, rescale()) : range$$1.slice();
|
||||
};
|
||||
|
||||
scale.invertExtent = function(y) {
|
||||
var i = range$$1.indexOf(y);
|
||||
return i < 0 ? [NaN, NaN]
|
||||
: i < 1 ? [x0, domain[0]]
|
||||
: i >= n ? [domain[n - 1], x1]
|
||||
: [domain[i - 1], domain[i]];
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return quantize()
|
||||
.domain([x0, x1])
|
||||
.range(range$$1);
|
||||
};
|
||||
|
||||
return linearish(scale);
|
||||
}
|
||||
|
||||
function threshold() {
|
||||
var domain = [0.5],
|
||||
range$$1 = [0, 1],
|
||||
n = 1;
|
||||
|
||||
function scale(x) {
|
||||
if (x <= x) return range$$1[d3Array.bisect(domain, x, 0, n)];
|
||||
}
|
||||
|
||||
scale.domain = function(_) {
|
||||
return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range$$1.length - 1), scale) : domain.slice();
|
||||
};
|
||||
|
||||
scale.range = function(_) {
|
||||
return arguments.length ? (range$$1 = slice.call(_), n = Math.min(domain.length, range$$1.length - 1), scale) : range$$1.slice();
|
||||
};
|
||||
|
||||
scale.invertExtent = function(y) {
|
||||
var i = range$$1.indexOf(y);
|
||||
return [domain[i - 1], domain[i]];
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return threshold()
|
||||
.domain(domain)
|
||||
.range(range$$1);
|
||||
};
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
var durationSecond = 1000;
|
||||
var durationMinute = durationSecond * 60;
|
||||
var durationHour = durationMinute * 60;
|
||||
var durationDay = durationHour * 24;
|
||||
var durationWeek = durationDay * 7;
|
||||
var durationMonth = durationDay * 30;
|
||||
var durationYear = durationDay * 365;
|
||||
|
||||
function date(t) {
|
||||
return new Date(t);
|
||||
}
|
||||
|
||||
function number$1(t) {
|
||||
return t instanceof Date ? +t : +new Date(+t);
|
||||
}
|
||||
|
||||
function calendar(year, month, week, day, hour, minute, second, millisecond, format$$1) {
|
||||
var scale = continuous(deinterpolateLinear, d3Interpolate.interpolateNumber),
|
||||
invert = scale.invert,
|
||||
domain = scale.domain;
|
||||
|
||||
var formatMillisecond = format$$1(".%L"),
|
||||
formatSecond = format$$1(":%S"),
|
||||
formatMinute = format$$1("%I:%M"),
|
||||
formatHour = format$$1("%I %p"),
|
||||
formatDay = format$$1("%a %d"),
|
||||
formatWeek = format$$1("%b %d"),
|
||||
formatMonth = format$$1("%B"),
|
||||
formatYear = format$$1("%Y");
|
||||
|
||||
var tickIntervals = [
|
||||
[second, 1, durationSecond],
|
||||
[second, 5, 5 * durationSecond],
|
||||
[second, 15, 15 * durationSecond],
|
||||
[second, 30, 30 * durationSecond],
|
||||
[minute, 1, durationMinute],
|
||||
[minute, 5, 5 * durationMinute],
|
||||
[minute, 15, 15 * durationMinute],
|
||||
[minute, 30, 30 * durationMinute],
|
||||
[ hour, 1, durationHour ],
|
||||
[ hour, 3, 3 * durationHour ],
|
||||
[ hour, 6, 6 * durationHour ],
|
||||
[ hour, 12, 12 * durationHour ],
|
||||
[ day, 1, durationDay ],
|
||||
[ day, 2, 2 * durationDay ],
|
||||
[ week, 1, durationWeek ],
|
||||
[ month, 1, durationMonth ],
|
||||
[ month, 3, 3 * durationMonth ],
|
||||
[ year, 1, durationYear ]
|
||||
];
|
||||
|
||||
function tickFormat(date) {
|
||||
return (second(date) < date ? formatMillisecond
|
||||
: minute(date) < date ? formatSecond
|
||||
: hour(date) < date ? formatMinute
|
||||
: day(date) < date ? formatHour
|
||||
: month(date) < date ? (week(date) < date ? formatDay : formatWeek)
|
||||
: year(date) < date ? formatMonth
|
||||
: formatYear)(date);
|
||||
}
|
||||
|
||||
function tickInterval(interval, start, stop, step) {
|
||||
if (interval == null) interval = 10;
|
||||
|
||||
// If a desired tick count is specified, pick a reasonable tick interval
|
||||
// based on the extent of the domain and a rough estimate of tick size.
|
||||
// Otherwise, assume interval is already a time interval and use it.
|
||||
if (typeof interval === "number") {
|
||||
var target = Math.abs(stop - start) / interval,
|
||||
i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target);
|
||||
if (i === tickIntervals.length) {
|
||||
step = d3Array.tickStep(start / durationYear, stop / durationYear, interval);
|
||||
interval = year;
|
||||
} else if (i) {
|
||||
i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];
|
||||
step = i[1];
|
||||
interval = i[0];
|
||||
} else {
|
||||
step = Math.max(d3Array.tickStep(start, stop, interval), 1);
|
||||
interval = millisecond;
|
||||
}
|
||||
}
|
||||
|
||||
return step == null ? interval : interval.every(step);
|
||||
}
|
||||
|
||||
scale.invert = function(y) {
|
||||
return new Date(invert(y));
|
||||
};
|
||||
|
||||
scale.domain = function(_) {
|
||||
return arguments.length ? domain(map$1.call(_, number$1)) : domain().map(date);
|
||||
};
|
||||
|
||||
scale.ticks = function(interval, step) {
|
||||
var d = domain(),
|
||||
t0 = d[0],
|
||||
t1 = d[d.length - 1],
|
||||
r = t1 < t0,
|
||||
t;
|
||||
if (r) t = t0, t0 = t1, t1 = t;
|
||||
t = tickInterval(interval, t0, t1, step);
|
||||
t = t ? t.range(t0, t1 + 1) : []; // inclusive stop
|
||||
return r ? t.reverse() : t;
|
||||
};
|
||||
|
||||
scale.tickFormat = function(count, specifier) {
|
||||
return specifier == null ? tickFormat : format$$1(specifier);
|
||||
};
|
||||
|
||||
scale.nice = function(interval, step) {
|
||||
var d = domain();
|
||||
return (interval = tickInterval(interval, d[0], d[d.length - 1], step))
|
||||
? domain(nice(d, interval))
|
||||
: scale;
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format$$1));
|
||||
};
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
var time = function() {
|
||||
return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
|
||||
};
|
||||
|
||||
var utcTime = function() {
|
||||
return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
|
||||
};
|
||||
|
||||
var colors = function(s) {
|
||||
return s.match(/.{6}/g).map(function(x) {
|
||||
return "#" + x;
|
||||
});
|
||||
};
|
||||
|
||||
var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
|
||||
|
||||
var category20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");
|
||||
|
||||
var category20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");
|
||||
|
||||
var category20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");
|
||||
|
||||
var cubehelix$1 = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0));
|
||||
|
||||
var warm = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8));
|
||||
|
||||
var cool = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8));
|
||||
|
||||
var rainbow = d3Color.cubehelix();
|
||||
|
||||
var rainbow$1 = function(t) {
|
||||
if (t < 0 || t > 1) t -= Math.floor(t);
|
||||
var ts = Math.abs(t - 0.5);
|
||||
rainbow.h = 360 * t - 100;
|
||||
rainbow.s = 1.5 - 1.5 * ts;
|
||||
rainbow.l = 0.8 - 0.9 * ts;
|
||||
return rainbow + "";
|
||||
};
|
||||
|
||||
function ramp(range$$1) {
|
||||
var n = range$$1.length;
|
||||
return function(t) {
|
||||
return range$$1[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
|
||||
};
|
||||
}
|
||||
|
||||
var viridis = ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
|
||||
|
||||
var magma = ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
|
||||
|
||||
var inferno = ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
|
||||
|
||||
var plasma = ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
|
||||
|
||||
function sequential(interpolator) {
|
||||
var x0 = 0,
|
||||
x1 = 1,
|
||||
clamp = false;
|
||||
|
||||
function scale(x) {
|
||||
var t = (x - x0) / (x1 - x0);
|
||||
return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);
|
||||
}
|
||||
|
||||
scale.domain = function(_) {
|
||||
return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];
|
||||
};
|
||||
|
||||
scale.clamp = function(_) {
|
||||
return arguments.length ? (clamp = !!_, scale) : clamp;
|
||||
};
|
||||
|
||||
scale.interpolator = function(_) {
|
||||
return arguments.length ? (interpolator = _, scale) : interpolator;
|
||||
};
|
||||
|
||||
scale.copy = function() {
|
||||
return sequential(interpolator).domain([x0, x1]).clamp(clamp);
|
||||
};
|
||||
|
||||
return linearish(scale);
|
||||
}
|
||||
|
||||
exports.scaleBand = band;
|
||||
exports.scalePoint = point;
|
||||
exports.scaleIdentity = identity;
|
||||
exports.scaleLinear = linear;
|
||||
exports.scaleLog = log;
|
||||
exports.scaleOrdinal = ordinal;
|
||||
exports.scaleImplicit = implicit;
|
||||
exports.scalePow = pow;
|
||||
exports.scaleSqrt = sqrt;
|
||||
exports.scaleQuantile = quantile$1;
|
||||
exports.scaleQuantize = quantize;
|
||||
exports.scaleThreshold = threshold;
|
||||
exports.scaleTime = time;
|
||||
exports.scaleUtc = utcTime;
|
||||
exports.schemeCategory10 = category10;
|
||||
exports.schemeCategory20b = category20b;
|
||||
exports.schemeCategory20c = category20c;
|
||||
exports.schemeCategory20 = category20;
|
||||
exports.interpolateCubehelixDefault = cubehelix$1;
|
||||
exports.interpolateRainbow = rainbow$1;
|
||||
exports.interpolateWarm = warm;
|
||||
exports.interpolateCool = cool;
|
||||
exports.interpolateViridis = viridis;
|
||||
exports.interpolateMagma = magma;
|
||||
exports.interpolateInferno = inferno;
|
||||
exports.interpolatePlasma = plasma;
|
||||
exports.scaleSequential = sequential;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
})));
|
||||
2
node_modules/d3-scale/build/d3-scale.min.js
generated
vendored
Normal file
BIN
node_modules/d3-scale/img/band.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
node_modules/d3-scale/img/category10.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
node_modules/d3-scale/img/category20.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
node_modules/d3-scale/img/category20b.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
node_modules/d3-scale/img/category20c.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
node_modules/d3-scale/img/cool.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
node_modules/d3-scale/img/cubehelix.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
node_modules/d3-scale/img/inferno.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
node_modules/d3-scale/img/magma.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
node_modules/d3-scale/img/plasma.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
node_modules/d3-scale/img/point.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
node_modules/d3-scale/img/rainbow.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
node_modules/d3-scale/img/viridis.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
node_modules/d3-scale/img/warm.png
generated
vendored
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
83
node_modules/d3-scale/index.js
generated
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
export {
|
||||
default as scaleBand,
|
||||
point as scalePoint
|
||||
} from "./src/band";
|
||||
|
||||
export {
|
||||
default as scaleIdentity
|
||||
} from "./src/identity";
|
||||
|
||||
export {
|
||||
default as scaleLinear
|
||||
} from "./src/linear";
|
||||
|
||||
export {
|
||||
default as scaleLog
|
||||
} from "./src/log";
|
||||
|
||||
export {
|
||||
default as scaleOrdinal,
|
||||
implicit as scaleImplicit
|
||||
} from "./src/ordinal";
|
||||
|
||||
export {
|
||||
default as scalePow,
|
||||
sqrt as scaleSqrt
|
||||
} from "./src/pow";
|
||||
|
||||
export {
|
||||
default as scaleQuantile
|
||||
} from "./src/quantile";
|
||||
|
||||
export {
|
||||
default as scaleQuantize
|
||||
} from "./src/quantize";
|
||||
|
||||
export {
|
||||
default as scaleThreshold
|
||||
} from "./src/threshold";
|
||||
|
||||
export {
|
||||
default as scaleTime
|
||||
} from "./src/time";
|
||||
|
||||
export {
|
||||
default as scaleUtc
|
||||
} from "./src/utcTime";
|
||||
|
||||
export {
|
||||
default as schemeCategory10
|
||||
} from "./src/category10";
|
||||
|
||||
export {
|
||||
default as schemeCategory20b
|
||||
} from "./src/category20b";
|
||||
|
||||
export {
|
||||
default as schemeCategory20c
|
||||
} from "./src/category20c";
|
||||
|
||||
export {
|
||||
default as schemeCategory20
|
||||
} from "./src/category20";
|
||||
|
||||
export {
|
||||
default as interpolateCubehelixDefault
|
||||
} from "./src/cubehelix";
|
||||
|
||||
export {
|
||||
default as interpolateRainbow,
|
||||
warm as interpolateWarm,
|
||||
cool as interpolateCool
|
||||
} from "./src/rainbow";
|
||||
|
||||
export {
|
||||
default as interpolateViridis,
|
||||
magma as interpolateMagma,
|
||||
inferno as interpolateInferno,
|
||||
plasma as interpolatePlasma
|
||||
} from "./src/viridis";
|
||||
|
||||
export {
|
||||
default as scaleSequential
|
||||
} from "./src/sequential";
|
||||
15
node_modules/d3-scale/node_modules/d3-format/.eslintrc.json
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"extends": "eslint:recommended",
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
"ecmaVersion": 8
|
||||
},
|
||||
"env": {
|
||||
"es6": true,
|
||||
"node": true,
|
||||
"browser": true
|
||||
},
|
||||
"rules": {
|
||||
"no-cond-assign": 0
|
||||
}
|
||||
}
|
||||
27
node_modules/d3-scale/node_modules/d3-format/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
Copyright 2010-2015 Mike Bostock
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of the author nor the names of contributors may be used to
|
||||
endorse or promote products derived from this software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
320
node_modules/d3-scale/node_modules/d3-format/dist/d3-format.js
generated
vendored
Normal file
@@ -0,0 +1,320 @@
|
||||
// https://d3js.org/d3-format/ v1.3.2 Copyright 2018 Mike Bostock
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(factory((global.d3 = global.d3 || {})));
|
||||
}(this, (function (exports) { 'use strict';
|
||||
|
||||
// Computes the decimal coefficient and exponent of the specified number x with
|
||||
// significant digits p, where x is positive and p is in [1, 21] or undefined.
|
||||
// For example, formatDecimal(1.23) returns ["123", 0].
|
||||
function formatDecimal(x, p) {
|
||||
if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity
|
||||
var i, coefficient = x.slice(0, i);
|
||||
|
||||
// The string returned by toExponential either has the form \d\.\d+e[-+]\d+
|
||||
// (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3).
|
||||
return [
|
||||
coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
|
||||
+x.slice(i + 1)
|
||||
];
|
||||
}
|
||||
|
||||
function exponent(x) {
|
||||
return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;
|
||||
}
|
||||
|
||||
function formatGroup(grouping, thousands) {
|
||||
return function(value, width) {
|
||||
var i = value.length,
|
||||
t = [],
|
||||
j = 0,
|
||||
g = grouping[0],
|
||||
length = 0;
|
||||
|
||||
while (i > 0 && g > 0) {
|
||||
if (length + g + 1 > width) g = Math.max(1, width - length);
|
||||
t.push(value.substring(i -= g, i + g));
|
||||
if ((length += g + 1) > width) break;
|
||||
g = grouping[j = (j + 1) % grouping.length];
|
||||
}
|
||||
|
||||
return t.reverse().join(thousands);
|
||||
};
|
||||
}
|
||||
|
||||
function formatNumerals(numerals) {
|
||||
return function(value) {
|
||||
return value.replace(/[0-9]/g, function(i) {
|
||||
return numerals[+i];
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
// [[fill]align][sign][symbol][0][width][,][.precision][~][type]
|
||||
var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
|
||||
|
||||
function formatSpecifier(specifier) {
|
||||
return new FormatSpecifier(specifier);
|
||||
}
|
||||
|
||||
formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
|
||||
|
||||
function FormatSpecifier(specifier) {
|
||||
if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
|
||||
var match;
|
||||
this.fill = match[1] || " ";
|
||||
this.align = match[2] || ">";
|
||||
this.sign = match[3] || "-";
|
||||
this.symbol = match[4] || "";
|
||||
this.zero = !!match[5];
|
||||
this.width = match[6] && +match[6];
|
||||
this.comma = !!match[7];
|
||||
this.precision = match[8] && +match[8].slice(1);
|
||||
this.trim = !!match[9];
|
||||
this.type = match[10] || "";
|
||||
}
|
||||
|
||||
FormatSpecifier.prototype.toString = function() {
|
||||
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;
|
||||
};
|
||||
|
||||
// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.
|
||||
function formatTrim(s) {
|
||||
out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
|
||||
switch (s[i]) {
|
||||
case ".": i0 = i1 = i; break;
|
||||
case "0": if (i0 === 0) i0 = i; i1 = i; break;
|
||||
default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;
|
||||
}
|
||||
}
|
||||
return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
|
||||
}
|
||||
|
||||
var prefixExponent;
|
||||
|
||||
function formatPrefixAuto(x, p) {
|
||||
var d = formatDecimal(x, p);
|
||||
if (!d) return x + "";
|
||||
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;
|
||||
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]; // less than 1y!
|
||||
}
|
||||
|
||||
function formatRounded(x, p) {
|
||||
var d = formatDecimal(x, p);
|
||||
if (!d) return x + "";
|
||||
var coefficient = d[0],
|
||||
exponent = d[1];
|
||||
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");
|
||||
}
|
||||
|
||||
var formatTypes = {
|
||||
"%": function(x, p) { return (x * 100).toFixed(p); },
|
||||
"b": function(x) { return Math.round(x).toString(2); },
|
||||
"c": function(x) { return x + ""; },
|
||||
"d": function(x) { return Math.round(x).toString(10); },
|
||||
"e": function(x, p) { return x.toExponential(p); },
|
||||
"f": function(x, p) { return x.toFixed(p); },
|
||||
"g": function(x, p) { return x.toPrecision(p); },
|
||||
"o": function(x) { return Math.round(x).toString(8); },
|
||||
"p": function(x, p) { return formatRounded(x * 100, p); },
|
||||
"r": formatRounded,
|
||||
"s": formatPrefixAuto,
|
||||
"X": function(x) { return Math.round(x).toString(16).toUpperCase(); },
|
||||
"x": function(x) { return Math.round(x).toString(16); }
|
||||
};
|
||||
|
||||
function identity(x) {
|
||||
return x;
|
||||
}
|
||||
|
||||
var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];
|
||||
|
||||
function formatLocale(locale) {
|
||||
var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity,
|
||||
currency = locale.currency,
|
||||
decimal = locale.decimal,
|
||||
numerals = locale.numerals ? formatNumerals(locale.numerals) : identity,
|
||||
percent = locale.percent || "%";
|
||||
|
||||
function newFormat(specifier) {
|
||||
specifier = formatSpecifier(specifier);
|
||||
|
||||
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;
|
||||
|
||||
// The "n" type is an alias for ",g".
|
||||
if (type === "n") comma = true, type = "g";
|
||||
|
||||
// The "" type, and any invalid type, is an alias for ".12~g".
|
||||
else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = "g";
|
||||
|
||||
// If zero fill is specified, padding goes after sign and before digits.
|
||||
if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
|
||||
|
||||
// Compute the prefix and suffix.
|
||||
// For SI-prefix, the suffix is lazily computed.
|
||||
var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
|
||||
suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? percent : "";
|
||||
|
||||
// What format function should we use?
|
||||
// Is this an integer type?
|
||||
// Can this type generate exponential notation?
|
||||
var formatType = formatTypes[type],
|
||||
maybeSuffix = /[defgprs%]/.test(type);
|
||||
|
||||
// Set the default precision if not specified,
|
||||
// or clamp the specified precision to the supported range.
|
||||
// For significant precision, it must be in [1, 21].
|
||||
// For fixed precision, it must be in [0, 20].
|
||||
precision = precision == null ? 6
|
||||
: /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
|
||||
: Math.max(0, Math.min(20, precision));
|
||||
|
||||
function format(value) {
|
||||
var valuePrefix = prefix,
|
||||
valueSuffix = suffix,
|
||||
i, n, c;
|
||||
|
||||
if (type === "c") {
|
||||
valueSuffix = formatType(value) + valueSuffix;
|
||||
value = "";
|
||||
} else {
|
||||
value = +value;
|
||||
|
||||
// Perform the initial formatting.
|
||||
var valueNegative = value < 0;
|
||||
value = formatType(Math.abs(value), precision);
|
||||
|
||||
// Trim insignificant zeros.
|
||||
if (trim) value = formatTrim(value);
|
||||
|
||||
// If a negative value rounds to zero during formatting, treat as positive.
|
||||
if (valueNegative && +value === 0) valueNegative = false;
|
||||
|
||||
// Compute the prefix and suffix.
|
||||
valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
|
||||
valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
|
||||
|
||||
// Break the formatted value into the integer “value” part that can be
|
||||
// grouped, and fractional or exponential “suffix” part that is not.
|
||||
if (maybeSuffix) {
|
||||
i = -1, n = value.length;
|
||||
while (++i < n) {
|
||||
if (c = value.charCodeAt(i), 48 > c || c > 57) {
|
||||
valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
|
||||
value = value.slice(0, i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If the fill character is not "0", grouping is applied before padding.
|
||||
if (comma && !zero) value = group(value, Infinity);
|
||||
|
||||
// Compute the padding.
|
||||
var length = valuePrefix.length + value.length + valueSuffix.length,
|
||||
padding = length < width ? new Array(width - length + 1).join(fill) : "";
|
||||
|
||||
// If the fill character is "0", grouping is applied after padding.
|
||||
if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
|
||||
|
||||
// Reconstruct the final output based on the desired alignment.
|
||||
switch (align) {
|
||||
case "<": value = valuePrefix + value + valueSuffix + padding; break;
|
||||
case "=": value = valuePrefix + padding + value + valueSuffix; break;
|
||||
case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;
|
||||
default: value = padding + valuePrefix + value + valueSuffix; break;
|
||||
}
|
||||
|
||||
return numerals(value);
|
||||
}
|
||||
|
||||
format.toString = function() {
|
||||
return specifier + "";
|
||||
};
|
||||
|
||||
return format;
|
||||
}
|
||||
|
||||
function formatPrefix(specifier, value) {
|
||||
var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),
|
||||
e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,
|
||||
k = Math.pow(10, -e),
|
||||
prefix = prefixes[8 + e / 3];
|
||||
return function(value) {
|
||||
return f(k * value) + prefix;
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
format: newFormat,
|
||||
formatPrefix: formatPrefix
|
||||
};
|
||||
}
|
||||
|
||||
var locale;
|
||||
|
||||
defaultLocale({
|
||||
decimal: ".",
|
||||
thousands: ",",
|
||||
grouping: [3],
|
||||
currency: ["$", ""]
|
||||
});
|
||||
|
||||
function defaultLocale(definition) {
|
||||
locale = formatLocale(definition);
|
||||
exports.format = locale.format;
|
||||
exports.formatPrefix = locale.formatPrefix;
|
||||
return locale;
|
||||
}
|
||||
|
||||
function precisionFixed(step) {
|
||||
return Math.max(0, -exponent(Math.abs(step)));
|
||||
}
|
||||
|
||||
function precisionPrefix(step, value) {
|
||||
return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));
|
||||
}
|
||||
|
||||
function precisionRound(step, max) {
|
||||
step = Math.abs(step), max = Math.abs(max) - step;
|
||||
return Math.max(0, exponent(max) - exponent(step)) + 1;
|
||||
}
|
||||
|
||||
exports.formatDefaultLocale = defaultLocale;
|
||||
exports.formatLocale = formatLocale;
|
||||
exports.formatSpecifier = formatSpecifier;
|
||||
exports.precisionFixed = precisionFixed;
|
||||
exports.precisionPrefix = precisionPrefix;
|
||||
exports.precisionRound = precisionRound;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
})));
|
||||
2
node_modules/d3-scale/node_modules/d3-format/dist/d3-format.min.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
// https://d3js.org/d3-format/ v1.3.2 Copyright 2018 Mike Bostock
|
||||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3=t.d3||{})}(this,function(t){"use strict";function n(t,n){if((r=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var r,e=t.slice(0,r);return[e.length>1?e[0]+e.slice(2):e,+t.slice(r+1)]}function r(t){return(t=n(Math.abs(t)))?t[1]:NaN}var e,i=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){return new a(t)}function a(t){if(!(n=i.exec(t)))throw new Error("invalid format: "+t);var n;this.fill=n[1]||" ",this.align=n[2]||">",this.sign=n[3]||"-",this.symbol=n[4]||"",this.zero=!!n[5],this.width=n[6]&&+n[6],this.comma=!!n[7],this.precision=n[8]&&+n[8].slice(1),this.trim=!!n[9],this.type=n[10]||""}function u(t,r){var e=n(t,r);if(!e)return t+"";var i=e[0],o=e[1];return o<0?"0."+new Array(-o).join("0")+i:i.length>o+1?i.slice(0,o+1)+"."+i.slice(o+1):i+new Array(o-i.length+2).join("0")}o.prototype=a.prototype,a.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var s={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return u(100*t,n)},r:u,s:function(t,r){var i=n(t,r);if(!i)return t+"";var o=i[0],a=i[1],u=a-(e=3*Math.max(-8,Math.min(8,Math.floor(a/3))))+1,s=o.length;return u===s?o:u>s?o+new Array(u-s+1).join("0"):u>0?o.slice(0,u)+"."+o.slice(u):"0."+new Array(1-u).join("0")+n(t,Math.max(0,r+u-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function l(t){var n,i,a=t.grouping&&t.thousands?(n=t.grouping,i=t.thousands,function(t,r){for(var e=t.length,o=[],a=0,u=n[0],s=0;e>0&&u>0&&(s+u+1>r&&(u=Math.max(1,r-s)),o.push(t.substring(e-=u,e+u)),!((s+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(i)}):c,u=t.currency,f=t.decimal,l=t.numerals?function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(t.numerals):c,m=t.percent||"%";function p(t){var n=(t=o(t)).fill,r=t.align,i=t.sign,c=t.symbol,p=t.zero,g=t.width,d=t.comma,M=t.precision,x=t.trim,y=t.type;"n"===y?(d=!0,y="g"):s[y]||(null==M&&(M=12),x=!0,y="g"),(p||"0"===n&&"="===r)&&(p=!0,n="0",r="=");var b="$"===c?u[0]:"#"===c&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",v="$"===c?u[1]:/[%p]/.test(y)?m:"",w=s[y],j=/[defgprs%]/.test(y);function k(t){var o,u,s,c=b,m=v;if("c"===y)m=w(t)+m,t="";else{var k=(t=+t)<0;if(t=w(Math.abs(t),M),x&&(t=function(t){t:for(var n,r=t.length,e=1,i=-1;e<r;++e)switch(t[e]){case".":i=n=e;break;case"0":0===i&&(i=e),n=e;break;default:if(i>0){if(!+t[e])break t;i=0}}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),k&&0==+t&&(k=!1),c=(k?"("===i?i:"-":"-"===i||"("===i?"":i)+c,m=("s"===y?h[8+e/3]:"")+m+(k&&"("===i?")":""),j)for(o=-1,u=t.length;++o<u;)if(48>(s=t.charCodeAt(o))||s>57){m=(46===s?f+t.slice(o+1):t.slice(o))+m,t=t.slice(0,o);break}}d&&!p&&(t=a(t,1/0));var S=c.length+t.length+m.length,P=S<g?new Array(g-S+1).join(n):"";switch(d&&p&&(t=a(P+t,P.length?g-m.length:1/0),P=""),r){case"<":t=c+t+m+P;break;case"=":t=c+P+t+m;break;case"^":t=P.slice(0,S=P.length>>1)+c+t+m+P.slice(S);break;default:t=P+c+t+m}return l(t)}return M=null==M?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,M)):Math.max(0,Math.min(20,M)),k.toString=function(){return t+""},k}return{format:p,formatPrefix:function(t,n){var e=p(((t=o(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(r(n)/3))),a=Math.pow(10,-i),u=h[8+i/3];return function(t){return e(a*t)+u}}}}function m(n){return f=l(n),t.format=f.format,t.formatPrefix=f.formatPrefix,f}m({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),t.formatDefaultLocale=m,t.formatLocale=l,t.formatSpecifier=o,t.precisionFixed=function(t){return Math.max(0,-r(Math.abs(t)))},t.precisionPrefix=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(n)/3)))-r(Math.abs(t)))},t.precisionRound=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,r(n)-r(t))+1},Object.defineProperty(t,"__esModule",{value:!0})});
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-001.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-AE.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u062f\u002e\u0625\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-BH.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u062f\u002e\u0628\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-DJ.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u200f\u0046\u0064\u006a ", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ar-DZ.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": "\u002c",
|
||||
"thousands": "\u002e",
|
||||
"grouping": [3],
|
||||
"currency": ["\u062f\u002e\u062c\u002e ", ""]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-EG.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u062c\u002e\u0645\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ar-EH.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": "\u002e",
|
||||
"thousands": "\u002c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u062f\u002e\u0645\u002e ", ""]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-ER.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u004e\u0066\u006b ", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-IL.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u20aa ", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-IQ.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u062f\u002e\u0639\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-JO.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u062f\u002e\u0623\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-KM.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0641\u002e\u062c\u002e\u0642\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-KW.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u062f\u002e\u0643\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-LB.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0644\u002e\u0644\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ar-LY.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": "\u002c",
|
||||
"thousands": "\u002e",
|
||||
"grouping": [3],
|
||||
"currency": ["\u062f\u002e\u0644\u002e ", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ar-MA.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": "\u002c",
|
||||
"thousands": "\u002e",
|
||||
"grouping": [3],
|
||||
"currency": ["\u062f\u002e\u0645\u002e ", ""]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-MR.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0623\u002e\u0645\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-OM.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0631\u002e\u0639\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-PS.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u20aa ", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-QA.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0631\u002e\u0642\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-SA.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0631\u002e\u0633\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-SD.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u062c\u002e\u0633\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-SO.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u200f\u0053 ", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-SS.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u00a3 ", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-SY.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0644\u002e\u0633\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-TD.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["\u200f\u0046\u0043\u0046\u0041 ", ""],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ar-TN.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": "\u002c",
|
||||
"thousands": "\u002e",
|
||||
"grouping": [3],
|
||||
"currency": ["\u062f\u002e\u062a\u002e ", ""]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/ar-YE.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": "\u066b",
|
||||
"thousands": "\u066c",
|
||||
"grouping": [3],
|
||||
"currency": ["", " \u0631\u002e\u0649\u002e"],
|
||||
"numerals" : ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ca-ES.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0€"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/cs-CZ.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0Kč"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/de-CH.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "'",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0CHF"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/de-DE.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0€"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/en-CA.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["$", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/en-GB.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["£", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/en-IN.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3, 2, 2, 2, 2, 2, 2, 2, 2, 2],
|
||||
"currency": ["₹", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/en-US.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["$", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/es-ES.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0€"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/es-MX.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["$", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/fi-FI.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0€"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/fr-CA.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "$"]
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/locale/fr-FR.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0€"],
|
||||
"percent": "\u202f%"
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/he-IL.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["₪", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/hu-HU.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0Ft"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/it-IT.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["€", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ja-JP.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["", "円"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ko-KR.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["₩", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/mk-MK.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0ден."]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/nl-NL.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["€\u00a0", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/pl-PL.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["", "zł"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/pt-BR.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": ".",
|
||||
"grouping": [3],
|
||||
"currency": ["R$", ""]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/ru-RU.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0руб."]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/sv-SE.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "SEK"]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/uk-UA.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ",",
|
||||
"thousands": "\u00a0",
|
||||
"grouping": [3],
|
||||
"currency": ["", "\u00a0₴."]
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/locale/zh-CN.json
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"decimal": ".",
|
||||
"thousands": ",",
|
||||
"grouping": [3],
|
||||
"currency": ["¥", ""]
|
||||
}
|
||||
26
node_modules/d3-scale/node_modules/d3-format/package.json
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "d3-format",
|
||||
"version": "1.3.2",
|
||||
"description": "Format numbers for human consumption.",
|
||||
"homepage": "https://d3js.org/d3-format/",
|
||||
"license": "BSD-3-Clause",
|
||||
"author": {
|
||||
"name": "Mike Bostock",
|
||||
"url": "http://bost.ocks.org/mike"
|
||||
},
|
||||
"main": "dist/d3-format.js",
|
||||
"unpkg": "dist/d3-format.min.js",
|
||||
"jsdelivr": "dist/d3-format.min.js",
|
||||
"module": "src/index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/d3/d3-format.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"d3-queue": "3",
|
||||
"eslint": "5",
|
||||
"rollup": "0.64",
|
||||
"rollup-plugin-terser": "1",
|
||||
"tape": "4"
|
||||
}
|
||||
}
|
||||
36
node_modules/d3-scale/node_modules/d3-format/rollup.config.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import {terser} from "rollup-plugin-terser";
|
||||
import * as meta from "./package.json";
|
||||
|
||||
const config = {
|
||||
input: "src/index.js",
|
||||
external: Object.keys(meta.dependencies || {}).filter(key => /^d3-/.test(key)),
|
||||
output: {
|
||||
file: `dist/${meta.name}.js`,
|
||||
name: "d3",
|
||||
format: "umd",
|
||||
indent: false,
|
||||
extend: true,
|
||||
banner: `// ${meta.homepage} v${meta.version} Copyright ${(new Date).getFullYear()} ${meta.author.name}`,
|
||||
globals: Object.assign({}, ...Object.keys(meta.dependencies || {}).filter(key => /^d3-/.test(key)).map(key => ({[key]: "d3"})))
|
||||
},
|
||||
plugins: []
|
||||
};
|
||||
|
||||
export default [
|
||||
config,
|
||||
{
|
||||
...config,
|
||||
output: {
|
||||
...config.output,
|
||||
file: `dist/${meta.name}.min.js`
|
||||
},
|
||||
plugins: [
|
||||
...config.plugins,
|
||||
terser({
|
||||
output: {
|
||||
preamble: config.output.banner
|
||||
}
|
||||
})
|
||||
]
|
||||
}
|
||||
];
|
||||
19
node_modules/d3-scale/node_modules/d3-format/src/defaultLocale.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import formatLocale from "./locale";
|
||||
|
||||
var locale;
|
||||
export var format;
|
||||
export var formatPrefix;
|
||||
|
||||
defaultLocale({
|
||||
decimal: ".",
|
||||
thousands: ",",
|
||||
grouping: [3],
|
||||
currency: ["$", ""]
|
||||
});
|
||||
|
||||
export default function defaultLocale(definition) {
|
||||
locale = formatLocale(definition);
|
||||
format = locale.format;
|
||||
formatPrefix = locale.formatPrefix;
|
||||
return locale;
|
||||
}
|
||||
5
node_modules/d3-scale/node_modules/d3-format/src/exponent.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import formatDecimal from "./formatDecimal";
|
||||
|
||||
export default function(x) {
|
||||
return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;
|
||||
}
|
||||
14
node_modules/d3-scale/node_modules/d3-format/src/formatDecimal.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
// Computes the decimal coefficient and exponent of the specified number x with
|
||||
// significant digits p, where x is positive and p is in [1, 21] or undefined.
|
||||
// For example, formatDecimal(1.23) returns ["123", 0].
|
||||
export default function(x, p) {
|
||||
if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity
|
||||
var i, coefficient = x.slice(0, i);
|
||||
|
||||
// The string returned by toExponential either has the form \d\.\d+e[-+]\d+
|
||||
// (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3).
|
||||
return [
|
||||
coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
|
||||
+x.slice(i + 1)
|
||||
];
|
||||
}
|
||||
18
node_modules/d3-scale/node_modules/d3-format/src/formatGroup.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
export default function(grouping, thousands) {
|
||||
return function(value, width) {
|
||||
var i = value.length,
|
||||
t = [],
|
||||
j = 0,
|
||||
g = grouping[0],
|
||||
length = 0;
|
||||
|
||||
while (i > 0 && g > 0) {
|
||||
if (length + g + 1 > width) g = Math.max(1, width - length);
|
||||
t.push(value.substring(i -= g, i + g));
|
||||
if ((length += g + 1) > width) break;
|
||||
g = grouping[j = (j + 1) % grouping.length];
|
||||
}
|
||||
|
||||
return t.reverse().join(thousands);
|
||||
};
|
||||
}
|
||||
7
node_modules/d3-scale/node_modules/d3-format/src/formatNumerals.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export default function(numerals) {
|
||||
return function(value) {
|
||||
return value.replace(/[0-9]/g, function(i) {
|
||||
return numerals[+i];
|
||||
});
|
||||
};
|
||||
}
|
||||
16
node_modules/d3-scale/node_modules/d3-format/src/formatPrefixAuto.js
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import formatDecimal from "./formatDecimal";
|
||||
|
||||
export var prefixExponent;
|
||||
|
||||
export default function(x, p) {
|
||||
var d = formatDecimal(x, p);
|
||||
if (!d) return x + "";
|
||||
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;
|
||||
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]; // less than 1y!
|
||||
}
|
||||
11
node_modules/d3-scale/node_modules/d3-format/src/formatRounded.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import formatDecimal from "./formatDecimal";
|
||||
|
||||
export default function(x, p) {
|
||||
var d = formatDecimal(x, p);
|
||||
if (!d) return x + "";
|
||||
var coefficient = d[0],
|
||||
exponent = d[1];
|
||||
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");
|
||||
}
|
||||
36
node_modules/d3-scale/node_modules/d3-format/src/formatSpecifier.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
// [[fill]align][sign][symbol][0][width][,][.precision][~][type]
|
||||
var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
|
||||
|
||||
export default function formatSpecifier(specifier) {
|
||||
return new FormatSpecifier(specifier);
|
||||
}
|
||||
|
||||
formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
|
||||
|
||||
function FormatSpecifier(specifier) {
|
||||
if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
|
||||
var match;
|
||||
this.fill = match[1] || " ";
|
||||
this.align = match[2] || ">";
|
||||
this.sign = match[3] || "-";
|
||||
this.symbol = match[4] || "";
|
||||
this.zero = !!match[5];
|
||||
this.width = match[6] && +match[6];
|
||||
this.comma = !!match[7];
|
||||
this.precision = match[8] && +match[8].slice(1);
|
||||
this.trim = !!match[9];
|
||||
this.type = match[10] || "";
|
||||
}
|
||||
|
||||
FormatSpecifier.prototype.toString = function() {
|
||||
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;
|
||||
};
|
||||
11
node_modules/d3-scale/node_modules/d3-format/src/formatTrim.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.
|
||||
export default function(s) {
|
||||
out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
|
||||
switch (s[i]) {
|
||||
case ".": i0 = i1 = i; break;
|
||||
case "0": if (i0 === 0) i0 = i; i1 = i; break;
|
||||
default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;
|
||||
}
|
||||
}
|
||||
return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
|
||||
}
|
||||
18
node_modules/d3-scale/node_modules/d3-format/src/formatTypes.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import formatPrefixAuto from "./formatPrefixAuto";
|
||||
import formatRounded from "./formatRounded";
|
||||
|
||||
export default {
|
||||
"%": function(x, p) { return (x * 100).toFixed(p); },
|
||||
"b": function(x) { return Math.round(x).toString(2); },
|
||||
"c": function(x) { return x + ""; },
|
||||
"d": function(x) { return Math.round(x).toString(10); },
|
||||
"e": function(x, p) { return x.toExponential(p); },
|
||||
"f": function(x, p) { return x.toFixed(p); },
|
||||
"g": function(x, p) { return x.toPrecision(p); },
|
||||
"o": function(x) { return Math.round(x).toString(8); },
|
||||
"p": function(x, p) { return formatRounded(x * 100, p); },
|
||||
"r": formatRounded,
|
||||
"s": formatPrefixAuto,
|
||||
"X": function(x) { return Math.round(x).toString(16).toUpperCase(); },
|
||||
"x": function(x) { return Math.round(x).toString(16); }
|
||||
};
|
||||
3
node_modules/d3-scale/node_modules/d3-format/src/identity.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export default function(x) {
|
||||
return x;
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/src/index.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export {default as formatDefaultLocale, format, formatPrefix} from "./defaultLocale";
|
||||
export {default as formatLocale} from "./locale";
|
||||
export {default as formatSpecifier} from "./formatSpecifier";
|
||||
export {default as precisionFixed} from "./precisionFixed";
|
||||
export {default as precisionPrefix} from "./precisionPrefix";
|
||||
export {default as precisionRound} from "./precisionRound";
|
||||
142
node_modules/d3-scale/node_modules/d3-format/src/locale.js
generated
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
import exponent from "./exponent";
|
||||
import formatGroup from "./formatGroup";
|
||||
import formatNumerals from "./formatNumerals";
|
||||
import formatSpecifier from "./formatSpecifier";
|
||||
import formatTrim from "./formatTrim";
|
||||
import formatTypes from "./formatTypes";
|
||||
import {prefixExponent} from "./formatPrefixAuto";
|
||||
import identity from "./identity";
|
||||
|
||||
var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];
|
||||
|
||||
export default function(locale) {
|
||||
var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity,
|
||||
currency = locale.currency,
|
||||
decimal = locale.decimal,
|
||||
numerals = locale.numerals ? formatNumerals(locale.numerals) : identity,
|
||||
percent = locale.percent || "%";
|
||||
|
||||
function newFormat(specifier) {
|
||||
specifier = formatSpecifier(specifier);
|
||||
|
||||
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;
|
||||
|
||||
// The "n" type is an alias for ",g".
|
||||
if (type === "n") comma = true, type = "g";
|
||||
|
||||
// The "" type, and any invalid type, is an alias for ".12~g".
|
||||
else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = "g";
|
||||
|
||||
// If zero fill is specified, padding goes after sign and before digits.
|
||||
if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
|
||||
|
||||
// Compute the prefix and suffix.
|
||||
// For SI-prefix, the suffix is lazily computed.
|
||||
var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
|
||||
suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? percent : "";
|
||||
|
||||
// What format function should we use?
|
||||
// Is this an integer type?
|
||||
// Can this type generate exponential notation?
|
||||
var formatType = formatTypes[type],
|
||||
maybeSuffix = /[defgprs%]/.test(type);
|
||||
|
||||
// Set the default precision if not specified,
|
||||
// or clamp the specified precision to the supported range.
|
||||
// For significant precision, it must be in [1, 21].
|
||||
// For fixed precision, it must be in [0, 20].
|
||||
precision = precision == null ? 6
|
||||
: /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
|
||||
: Math.max(0, Math.min(20, precision));
|
||||
|
||||
function format(value) {
|
||||
var valuePrefix = prefix,
|
||||
valueSuffix = suffix,
|
||||
i, n, c;
|
||||
|
||||
if (type === "c") {
|
||||
valueSuffix = formatType(value) + valueSuffix;
|
||||
value = "";
|
||||
} else {
|
||||
value = +value;
|
||||
|
||||
// Perform the initial formatting.
|
||||
var valueNegative = value < 0;
|
||||
value = formatType(Math.abs(value), precision);
|
||||
|
||||
// Trim insignificant zeros.
|
||||
if (trim) value = formatTrim(value);
|
||||
|
||||
// If a negative value rounds to zero during formatting, treat as positive.
|
||||
if (valueNegative && +value === 0) valueNegative = false;
|
||||
|
||||
// Compute the prefix and suffix.
|
||||
valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
|
||||
valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
|
||||
|
||||
// Break the formatted value into the integer “value” part that can be
|
||||
// grouped, and fractional or exponential “suffix” part that is not.
|
||||
if (maybeSuffix) {
|
||||
i = -1, n = value.length;
|
||||
while (++i < n) {
|
||||
if (c = value.charCodeAt(i), 48 > c || c > 57) {
|
||||
valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
|
||||
value = value.slice(0, i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If the fill character is not "0", grouping is applied before padding.
|
||||
if (comma && !zero) value = group(value, Infinity);
|
||||
|
||||
// Compute the padding.
|
||||
var length = valuePrefix.length + value.length + valueSuffix.length,
|
||||
padding = length < width ? new Array(width - length + 1).join(fill) : "";
|
||||
|
||||
// If the fill character is "0", grouping is applied after padding.
|
||||
if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
|
||||
|
||||
// Reconstruct the final output based on the desired alignment.
|
||||
switch (align) {
|
||||
case "<": value = valuePrefix + value + valueSuffix + padding; break;
|
||||
case "=": value = valuePrefix + padding + value + valueSuffix; break;
|
||||
case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;
|
||||
default: value = padding + valuePrefix + value + valueSuffix; break;
|
||||
}
|
||||
|
||||
return numerals(value);
|
||||
}
|
||||
|
||||
format.toString = function() {
|
||||
return specifier + "";
|
||||
};
|
||||
|
||||
return format;
|
||||
}
|
||||
|
||||
function formatPrefix(specifier, value) {
|
||||
var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),
|
||||
e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,
|
||||
k = Math.pow(10, -e),
|
||||
prefix = prefixes[8 + e / 3];
|
||||
return function(value) {
|
||||
return f(k * value) + prefix;
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
format: newFormat,
|
||||
formatPrefix: formatPrefix
|
||||
};
|
||||
}
|
||||
5
node_modules/d3-scale/node_modules/d3-format/src/precisionFixed.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import exponent from "./exponent";
|
||||
|
||||
export default function(step) {
|
||||
return Math.max(0, -exponent(Math.abs(step)));
|
||||
}
|
||||
5
node_modules/d3-scale/node_modules/d3-format/src/precisionPrefix.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import exponent from "./exponent";
|
||||
|
||||
export default function(step, value) {
|
||||
return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));
|
||||
}
|
||||
6
node_modules/d3-scale/node_modules/d3-format/src/precisionRound.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import exponent from "./exponent";
|
||||
|
||||
export default function(step, max) {
|
||||
step = Math.abs(step), max = Math.abs(max) - step;
|
||||
return Math.max(0, exponent(max) - exponent(step)) + 1;
|
||||
}
|
||||
15
node_modules/d3-scale/node_modules/d3-time-format/.eslintrc.json
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"extends": "eslint:recommended",
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
"ecmaVersion": 8
|
||||
},
|
||||
"env": {
|
||||
"es6": true,
|
||||
"node": true,
|
||||
"browser": true
|
||||
},
|
||||
"rules": {
|
||||
"no-cond-assign": 0
|
||||
}
|
||||
}
|
||||
27
node_modules/d3-scale/node_modules/d3-time-format/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
Copyright 2010-2017 Mike Bostock
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of the author nor the names of contributors may be used to
|
||||
endorse or promote products derived from this software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
684
node_modules/d3-scale/node_modules/d3-time-format/dist/d3-time-format.js
generated
vendored
Normal file
@@ -0,0 +1,684 @@
|
||||
// https://d3js.org/d3-time-format/ v2.1.3 Copyright 2018 Mike Bostock
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-time')) :
|
||||
typeof define === 'function' && define.amd ? define(['exports', 'd3-time'], factory) :
|
||||
(factory((global.d3 = global.d3 || {}),global.d3));
|
||||
}(this, (function (exports,d3Time) { 'use strict';
|
||||
|
||||
function localDate(d) {
|
||||
if (0 <= d.y && d.y < 100) {
|
||||
var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
|
||||
date.setFullYear(d.y);
|
||||
return date;
|
||||
}
|
||||
return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);
|
||||
}
|
||||
|
||||
function utcDate(d) {
|
||||
if (0 <= d.y && d.y < 100) {
|
||||
var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));
|
||||
date.setUTCFullYear(d.y);
|
||||
return date;
|
||||
}
|
||||
return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));
|
||||
}
|
||||
|
||||
function newYear(y) {
|
||||
return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};
|
||||
}
|
||||
|
||||
function formatLocale(locale) {
|
||||
var locale_dateTime = locale.dateTime,
|
||||
locale_date = locale.date,
|
||||
locale_time = locale.time,
|
||||
locale_periods = locale.periods,
|
||||
locale_weekdays = locale.days,
|
||||
locale_shortWeekdays = locale.shortDays,
|
||||
locale_months = locale.months,
|
||||
locale_shortMonths = locale.shortMonths;
|
||||
|
||||
var periodRe = formatRe(locale_periods),
|
||||
periodLookup = formatLookup(locale_periods),
|
||||
weekdayRe = formatRe(locale_weekdays),
|
||||
weekdayLookup = formatLookup(locale_weekdays),
|
||||
shortWeekdayRe = formatRe(locale_shortWeekdays),
|
||||
shortWeekdayLookup = formatLookup(locale_shortWeekdays),
|
||||
monthRe = formatRe(locale_months),
|
||||
monthLookup = formatLookup(locale_months),
|
||||
shortMonthRe = formatRe(locale_shortMonths),
|
||||
shortMonthLookup = formatLookup(locale_shortMonths);
|
||||
|
||||
var formats = {
|
||||
"a": formatShortWeekday,
|
||||
"A": formatWeekday,
|
||||
"b": formatShortMonth,
|
||||
"B": formatMonth,
|
||||
"c": null,
|
||||
"d": formatDayOfMonth,
|
||||
"e": formatDayOfMonth,
|
||||
"f": formatMicroseconds,
|
||||
"H": formatHour24,
|
||||
"I": formatHour12,
|
||||
"j": formatDayOfYear,
|
||||
"L": formatMilliseconds,
|
||||
"m": formatMonthNumber,
|
||||
"M": formatMinutes,
|
||||
"p": formatPeriod,
|
||||
"Q": formatUnixTimestamp,
|
||||
"s": formatUnixTimestampSeconds,
|
||||
"S": formatSeconds,
|
||||
"u": formatWeekdayNumberMonday,
|
||||
"U": formatWeekNumberSunday,
|
||||
"V": formatWeekNumberISO,
|
||||
"w": formatWeekdayNumberSunday,
|
||||
"W": formatWeekNumberMonday,
|
||||
"x": null,
|
||||
"X": null,
|
||||
"y": formatYear,
|
||||
"Y": formatFullYear,
|
||||
"Z": formatZone,
|
||||
"%": formatLiteralPercent
|
||||
};
|
||||
|
||||
var utcFormats = {
|
||||
"a": formatUTCShortWeekday,
|
||||
"A": formatUTCWeekday,
|
||||
"b": formatUTCShortMonth,
|
||||
"B": formatUTCMonth,
|
||||
"c": null,
|
||||
"d": formatUTCDayOfMonth,
|
||||
"e": formatUTCDayOfMonth,
|
||||
"f": formatUTCMicroseconds,
|
||||
"H": formatUTCHour24,
|
||||
"I": formatUTCHour12,
|
||||
"j": formatUTCDayOfYear,
|
||||
"L": formatUTCMilliseconds,
|
||||
"m": formatUTCMonthNumber,
|
||||
"M": formatUTCMinutes,
|
||||
"p": formatUTCPeriod,
|
||||
"Q": formatUnixTimestamp,
|
||||
"s": formatUnixTimestampSeconds,
|
||||
"S": formatUTCSeconds,
|
||||
"u": formatUTCWeekdayNumberMonday,
|
||||
"U": formatUTCWeekNumberSunday,
|
||||
"V": formatUTCWeekNumberISO,
|
||||
"w": formatUTCWeekdayNumberSunday,
|
||||
"W": formatUTCWeekNumberMonday,
|
||||
"x": null,
|
||||
"X": null,
|
||||
"y": formatUTCYear,
|
||||
"Y": formatUTCFullYear,
|
||||
"Z": formatUTCZone,
|
||||
"%": formatLiteralPercent
|
||||
};
|
||||
|
||||
var parses = {
|
||||
"a": parseShortWeekday,
|
||||
"A": parseWeekday,
|
||||
"b": parseShortMonth,
|
||||
"B": parseMonth,
|
||||
"c": parseLocaleDateTime,
|
||||
"d": parseDayOfMonth,
|
||||
"e": parseDayOfMonth,
|
||||
"f": parseMicroseconds,
|
||||
"H": parseHour24,
|
||||
"I": parseHour24,
|
||||
"j": parseDayOfYear,
|
||||
"L": parseMilliseconds,
|
||||
"m": parseMonthNumber,
|
||||
"M": parseMinutes,
|
||||
"p": parsePeriod,
|
||||
"Q": parseUnixTimestamp,
|
||||
"s": parseUnixTimestampSeconds,
|
||||
"S": parseSeconds,
|
||||
"u": parseWeekdayNumberMonday,
|
||||
"U": parseWeekNumberSunday,
|
||||
"V": parseWeekNumberISO,
|
||||
"w": parseWeekdayNumberSunday,
|
||||
"W": parseWeekNumberMonday,
|
||||
"x": parseLocaleDate,
|
||||
"X": parseLocaleTime,
|
||||
"y": parseYear,
|
||||
"Y": parseFullYear,
|
||||
"Z": parseZone,
|
||||
"%": parseLiteralPercent
|
||||
};
|
||||
|
||||
// These recursive directive definitions must be deferred.
|
||||
formats.x = newFormat(locale_date, formats);
|
||||
formats.X = newFormat(locale_time, formats);
|
||||
formats.c = newFormat(locale_dateTime, formats);
|
||||
utcFormats.x = newFormat(locale_date, utcFormats);
|
||||
utcFormats.X = newFormat(locale_time, utcFormats);
|
||||
utcFormats.c = newFormat(locale_dateTime, utcFormats);
|
||||
|
||||
function newFormat(specifier, formats) {
|
||||
return function(date) {
|
||||
var string = [],
|
||||
i = -1,
|
||||
j = 0,
|
||||
n = specifier.length,
|
||||
c,
|
||||
pad,
|
||||
format;
|
||||
|
||||
if (!(date instanceof Date)) date = new Date(+date);
|
||||
|
||||
while (++i < n) {
|
||||
if (specifier.charCodeAt(i) === 37) {
|
||||
string.push(specifier.slice(j, i));
|
||||
if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);
|
||||
else pad = c === "e" ? " " : "0";
|
||||
if (format = formats[c]) c = format(date, pad);
|
||||
string.push(c);
|
||||
j = i + 1;
|
||||
}
|
||||
}
|
||||
|
||||
string.push(specifier.slice(j, i));
|
||||
return string.join("");
|
||||
};
|
||||
}
|
||||
|
||||
function newParse(specifier, newDate) {
|
||||
return function(string) {
|
||||
var d = newYear(1900),
|
||||
i = parseSpecifier(d, specifier, string += "", 0),
|
||||
week, day;
|
||||
if (i != string.length) return null;
|
||||
|
||||
// If a UNIX timestamp is specified, return it.
|
||||
if ("Q" in d) return new Date(d.Q);
|
||||
|
||||
// The am-pm flag is 0 for AM, and 1 for PM.
|
||||
if ("p" in d) d.H = d.H % 12 + d.p * 12;
|
||||
|
||||
// Convert day-of-week and week-of-year to day-of-year.
|
||||
if ("V" in d) {
|
||||
if (d.V < 1 || d.V > 53) return null;
|
||||
if (!("w" in d)) d.w = 1;
|
||||
if ("Z" in d) {
|
||||
week = utcDate(newYear(d.y)), day = week.getUTCDay();
|
||||
week = day > 4 || day === 0 ? d3Time.utcMonday.ceil(week) : d3Time.utcMonday(week);
|
||||
week = d3Time.utcDay.offset(week, (d.V - 1) * 7);
|
||||
d.y = week.getUTCFullYear();
|
||||
d.m = week.getUTCMonth();
|
||||
d.d = week.getUTCDate() + (d.w + 6) % 7;
|
||||
} else {
|
||||
week = newDate(newYear(d.y)), day = week.getDay();
|
||||
week = day > 4 || day === 0 ? d3Time.timeMonday.ceil(week) : d3Time.timeMonday(week);
|
||||
week = d3Time.timeDay.offset(week, (d.V - 1) * 7);
|
||||
d.y = week.getFullYear();
|
||||
d.m = week.getMonth();
|
||||
d.d = week.getDate() + (d.w + 6) % 7;
|
||||
}
|
||||
} else if ("W" in d || "U" in d) {
|
||||
if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
|
||||
day = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();
|
||||
d.m = 0;
|
||||
d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
|
||||
}
|
||||
|
||||
// If a time zone is specified, all fields are interpreted as UTC and then
|
||||
// offset according to the specified time zone.
|
||||
if ("Z" in d) {
|
||||
d.H += d.Z / 100 | 0;
|
||||
d.M += d.Z % 100;
|
||||
return utcDate(d);
|
||||
}
|
||||
|
||||
// Otherwise, all fields are in local time.
|
||||
return newDate(d);
|
||||
};
|
||||
}
|
||||
|
||||
function parseSpecifier(d, specifier, string, j) {
|
||||
var i = 0,
|
||||
n = specifier.length,
|
||||
m = string.length,
|
||||
c,
|
||||
parse;
|
||||
|
||||
while (i < n) {
|
||||
if (j >= m) return -1;
|
||||
c = specifier.charCodeAt(i++);
|
||||
if (c === 37) {
|
||||
c = specifier.charAt(i++);
|
||||
parse = parses[c in pads ? specifier.charAt(i++) : c];
|
||||
if (!parse || ((j = parse(d, string, j)) < 0)) return -1;
|
||||
} else if (c != string.charCodeAt(j++)) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return j;
|
||||
}
|
||||
|
||||
function parsePeriod(d, string, i) {
|
||||
var n = periodRe.exec(string.slice(i));
|
||||
return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseShortWeekday(d, string, i) {
|
||||
var n = shortWeekdayRe.exec(string.slice(i));
|
||||
return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseWeekday(d, string, i) {
|
||||
var n = weekdayRe.exec(string.slice(i));
|
||||
return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseShortMonth(d, string, i) {
|
||||
var n = shortMonthRe.exec(string.slice(i));
|
||||
return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseMonth(d, string, i) {
|
||||
var n = monthRe.exec(string.slice(i));
|
||||
return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseLocaleDateTime(d, string, i) {
|
||||
return parseSpecifier(d, locale_dateTime, string, i);
|
||||
}
|
||||
|
||||
function parseLocaleDate(d, string, i) {
|
||||
return parseSpecifier(d, locale_date, string, i);
|
||||
}
|
||||
|
||||
function parseLocaleTime(d, string, i) {
|
||||
return parseSpecifier(d, locale_time, string, i);
|
||||
}
|
||||
|
||||
function formatShortWeekday(d) {
|
||||
return locale_shortWeekdays[d.getDay()];
|
||||
}
|
||||
|
||||
function formatWeekday(d) {
|
||||
return locale_weekdays[d.getDay()];
|
||||
}
|
||||
|
||||
function formatShortMonth(d) {
|
||||
return locale_shortMonths[d.getMonth()];
|
||||
}
|
||||
|
||||
function formatMonth(d) {
|
||||
return locale_months[d.getMonth()];
|
||||
}
|
||||
|
||||
function formatPeriod(d) {
|
||||
return locale_periods[+(d.getHours() >= 12)];
|
||||
}
|
||||
|
||||
function formatUTCShortWeekday(d) {
|
||||
return locale_shortWeekdays[d.getUTCDay()];
|
||||
}
|
||||
|
||||
function formatUTCWeekday(d) {
|
||||
return locale_weekdays[d.getUTCDay()];
|
||||
}
|
||||
|
||||
function formatUTCShortMonth(d) {
|
||||
return locale_shortMonths[d.getUTCMonth()];
|
||||
}
|
||||
|
||||
function formatUTCMonth(d) {
|
||||
return locale_months[d.getUTCMonth()];
|
||||
}
|
||||
|
||||
function formatUTCPeriod(d) {
|
||||
return locale_periods[+(d.getUTCHours() >= 12)];
|
||||
}
|
||||
|
||||
return {
|
||||
format: function(specifier) {
|
||||
var f = newFormat(specifier += "", formats);
|
||||
f.toString = function() { return specifier; };
|
||||
return f;
|
||||
},
|
||||
parse: function(specifier) {
|
||||
var p = newParse(specifier += "", localDate);
|
||||
p.toString = function() { return specifier; };
|
||||
return p;
|
||||
},
|
||||
utcFormat: function(specifier) {
|
||||
var f = newFormat(specifier += "", utcFormats);
|
||||
f.toString = function() { return specifier; };
|
||||
return f;
|
||||
},
|
||||
utcParse: function(specifier) {
|
||||
var p = newParse(specifier, utcDate);
|
||||
p.toString = function() { return specifier; };
|
||||
return p;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
var pads = {"-": "", "_": " ", "0": "0"},
|
||||
numberRe = /^\s*\d+/, // note: ignores next directive
|
||||
percentRe = /^%/,
|
||||
requoteRe = /[\\^$*+?|[\]().{}]/g;
|
||||
|
||||
function pad(value, fill, width) {
|
||||
var sign = value < 0 ? "-" : "",
|
||||
string = (sign ? -value : value) + "",
|
||||
length = string.length;
|
||||
return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
|
||||
}
|
||||
|
||||
function requote(s) {
|
||||
return s.replace(requoteRe, "\\$&");
|
||||
}
|
||||
|
||||
function formatRe(names) {
|
||||
return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i");
|
||||
}
|
||||
|
||||
function formatLookup(names) {
|
||||
var map = {}, i = -1, n = names.length;
|
||||
while (++i < n) map[names[i].toLowerCase()] = i;
|
||||
return map;
|
||||
}
|
||||
|
||||
function parseWeekdayNumberSunday(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 1));
|
||||
return n ? (d.w = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseWeekdayNumberMonday(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 1));
|
||||
return n ? (d.u = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseWeekNumberSunday(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.U = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseWeekNumberISO(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.V = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseWeekNumberMonday(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.W = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseFullYear(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 4));
|
||||
return n ? (d.y = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseYear(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseZone(d, string, i) {
|
||||
var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6));
|
||||
return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseMonthNumber(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.m = n[0] - 1, i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseDayOfMonth(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.d = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseDayOfYear(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 3));
|
||||
return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseHour24(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.H = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseMinutes(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.M = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseSeconds(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 2));
|
||||
return n ? (d.S = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseMilliseconds(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 3));
|
||||
return n ? (d.L = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseMicroseconds(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i, i + 6));
|
||||
return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseLiteralPercent(d, string, i) {
|
||||
var n = percentRe.exec(string.slice(i, i + 1));
|
||||
return n ? i + n[0].length : -1;
|
||||
}
|
||||
|
||||
function parseUnixTimestamp(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i));
|
||||
return n ? (d.Q = +n[0], i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function parseUnixTimestampSeconds(d, string, i) {
|
||||
var n = numberRe.exec(string.slice(i));
|
||||
return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1;
|
||||
}
|
||||
|
||||
function formatDayOfMonth(d, p) {
|
||||
return pad(d.getDate(), p, 2);
|
||||
}
|
||||
|
||||
function formatHour24(d, p) {
|
||||
return pad(d.getHours(), p, 2);
|
||||
}
|
||||
|
||||
function formatHour12(d, p) {
|
||||
return pad(d.getHours() % 12 || 12, p, 2);
|
||||
}
|
||||
|
||||
function formatDayOfYear(d, p) {
|
||||
return pad(1 + d3Time.timeDay.count(d3Time.timeYear(d), d), p, 3);
|
||||
}
|
||||
|
||||
function formatMilliseconds(d, p) {
|
||||
return pad(d.getMilliseconds(), p, 3);
|
||||
}
|
||||
|
||||
function formatMicroseconds(d, p) {
|
||||
return formatMilliseconds(d, p) + "000";
|
||||
}
|
||||
|
||||
function formatMonthNumber(d, p) {
|
||||
return pad(d.getMonth() + 1, p, 2);
|
||||
}
|
||||
|
||||
function formatMinutes(d, p) {
|
||||
return pad(d.getMinutes(), p, 2);
|
||||
}
|
||||
|
||||
function formatSeconds(d, p) {
|
||||
return pad(d.getSeconds(), p, 2);
|
||||
}
|
||||
|
||||
function formatWeekdayNumberMonday(d) {
|
||||
var day = d.getDay();
|
||||
return day === 0 ? 7 : day;
|
||||
}
|
||||
|
||||
function formatWeekNumberSunday(d, p) {
|
||||
return pad(d3Time.timeSunday.count(d3Time.timeYear(d), d), p, 2);
|
||||
}
|
||||
|
||||
function formatWeekNumberISO(d, p) {
|
||||
var day = d.getDay();
|
||||
d = (day >= 4 || day === 0) ? d3Time.timeThursday(d) : d3Time.timeThursday.ceil(d);
|
||||
return pad(d3Time.timeThursday.count(d3Time.timeYear(d), d) + (d3Time.timeYear(d).getDay() === 4), p, 2);
|
||||
}
|
||||
|
||||
function formatWeekdayNumberSunday(d) {
|
||||
return d.getDay();
|
||||
}
|
||||
|
||||
function formatWeekNumberMonday(d, p) {
|
||||
return pad(d3Time.timeMonday.count(d3Time.timeYear(d), d), p, 2);
|
||||
}
|
||||
|
||||
function formatYear(d, p) {
|
||||
return pad(d.getFullYear() % 100, p, 2);
|
||||
}
|
||||
|
||||
function formatFullYear(d, p) {
|
||||
return pad(d.getFullYear() % 10000, p, 4);
|
||||
}
|
||||
|
||||
function formatZone(d) {
|
||||
var z = d.getTimezoneOffset();
|
||||
return (z > 0 ? "-" : (z *= -1, "+"))
|
||||
+ pad(z / 60 | 0, "0", 2)
|
||||
+ pad(z % 60, "0", 2);
|
||||
}
|
||||
|
||||
function formatUTCDayOfMonth(d, p) {
|
||||
return pad(d.getUTCDate(), p, 2);
|
||||
}
|
||||
|
||||
function formatUTCHour24(d, p) {
|
||||
return pad(d.getUTCHours(), p, 2);
|
||||
}
|
||||
|
||||
function formatUTCHour12(d, p) {
|
||||
return pad(d.getUTCHours() % 12 || 12, p, 2);
|
||||
}
|
||||
|
||||
function formatUTCDayOfYear(d, p) {
|
||||
return pad(1 + d3Time.utcDay.count(d3Time.utcYear(d), d), p, 3);
|
||||
}
|
||||
|
||||
function formatUTCMilliseconds(d, p) {
|
||||
return pad(d.getUTCMilliseconds(), p, 3);
|
||||
}
|
||||
|
||||
function formatUTCMicroseconds(d, p) {
|
||||
return formatUTCMilliseconds(d, p) + "000";
|
||||
}
|
||||
|
||||
function formatUTCMonthNumber(d, p) {
|
||||
return pad(d.getUTCMonth() + 1, p, 2);
|
||||
}
|
||||
|
||||
function formatUTCMinutes(d, p) {
|
||||
return pad(d.getUTCMinutes(), p, 2);
|
||||
}
|
||||
|
||||
function formatUTCSeconds(d, p) {
|
||||
return pad(d.getUTCSeconds(), p, 2);
|
||||
}
|
||||
|
||||
function formatUTCWeekdayNumberMonday(d) {
|
||||
var dow = d.getUTCDay();
|
||||
return dow === 0 ? 7 : dow;
|
||||
}
|
||||
|
||||
function formatUTCWeekNumberSunday(d, p) {
|
||||
return pad(d3Time.utcSunday.count(d3Time.utcYear(d), d), p, 2);
|
||||
}
|
||||
|
||||
function formatUTCWeekNumberISO(d, p) {
|
||||
var day = d.getUTCDay();
|
||||
d = (day >= 4 || day === 0) ? d3Time.utcThursday(d) : d3Time.utcThursday.ceil(d);
|
||||
return pad(d3Time.utcThursday.count(d3Time.utcYear(d), d) + (d3Time.utcYear(d).getUTCDay() === 4), p, 2);
|
||||
}
|
||||
|
||||
function formatUTCWeekdayNumberSunday(d) {
|
||||
return d.getUTCDay();
|
||||
}
|
||||
|
||||
function formatUTCWeekNumberMonday(d, p) {
|
||||
return pad(d3Time.utcMonday.count(d3Time.utcYear(d), d), p, 2);
|
||||
}
|
||||
|
||||
function formatUTCYear(d, p) {
|
||||
return pad(d.getUTCFullYear() % 100, p, 2);
|
||||
}
|
||||
|
||||
function formatUTCFullYear(d, p) {
|
||||
return pad(d.getUTCFullYear() % 10000, p, 4);
|
||||
}
|
||||
|
||||
function formatUTCZone() {
|
||||
return "+0000";
|
||||
}
|
||||
|
||||
function formatLiteralPercent() {
|
||||
return "%";
|
||||
}
|
||||
|
||||
function formatUnixTimestamp(d) {
|
||||
return +d;
|
||||
}
|
||||
|
||||
function formatUnixTimestampSeconds(d) {
|
||||
return Math.floor(+d / 1000);
|
||||
}
|
||||
|
||||
var locale;
|
||||
|
||||
defaultLocale({
|
||||
dateTime: "%x, %X",
|
||||
date: "%-m/%-d/%Y",
|
||||
time: "%-I:%M:%S %p",
|
||||
periods: ["AM", "PM"],
|
||||
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||
shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
||||
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
|
||||
shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
|
||||
});
|
||||
|
||||
function defaultLocale(definition) {
|
||||
locale = formatLocale(definition);
|
||||
exports.timeFormat = locale.format;
|
||||
exports.timeParse = locale.parse;
|
||||
exports.utcFormat = locale.utcFormat;
|
||||
exports.utcParse = locale.utcParse;
|
||||
return locale;
|
||||
}
|
||||
|
||||
var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ";
|
||||
|
||||
function formatIsoNative(date) {
|
||||
return date.toISOString();
|
||||
}
|
||||
|
||||
var formatIso = Date.prototype.toISOString
|
||||
? formatIsoNative
|
||||
: exports.utcFormat(isoSpecifier);
|
||||
|
||||
function parseIsoNative(string) {
|
||||
var date = new Date(string);
|
||||
return isNaN(date) ? null : date;
|
||||
}
|
||||
|
||||
var parseIso = +new Date("2000-01-01T00:00:00.000Z")
|
||||
? parseIsoNative
|
||||
: exports.utcParse(isoSpecifier);
|
||||
|
||||
exports.timeFormatDefaultLocale = defaultLocale;
|
||||
exports.timeFormatLocale = formatLocale;
|
||||
exports.isoFormat = formatIso;
|
||||
exports.isoParse = parseIso;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
})));
|
||||
2
node_modules/d3-scale/node_modules/d3-time-format/dist/d3-time-format.min.js
generated
vendored
Normal file
10
node_modules/d3-scale/node_modules/d3-time-format/locale/ar-EG.json
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"dateTime": "%x, %X",
|
||||
"date": "%-d/%-m/%Y",
|
||||
"time": "%-I:%M:%S %p",
|
||||
"periods": ["ص", "م"],
|
||||
"days": ["الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"],
|
||||
"shortDays": ["أحد", "إثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"],
|
||||
"months": ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
|
||||
"shortMonths": ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"]
|
||||
}
|
||||
10
node_modules/d3-scale/node_modules/d3-time-format/locale/ca-ES.json
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"dateTime": "%A, %e de %B de %Y, %X",
|
||||
"date": "%d/%m/%Y",
|
||||
"time": "%H:%M:%S",
|
||||
"periods": ["AM", "PM"],
|
||||
"days": ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"],
|
||||
"shortDays": ["dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."],
|
||||
"months": ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"],
|
||||
"shortMonths": ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."]
|
||||
}
|
||||