vega-scale
Advanced tools
Comparing version 6.0.0 to 6.1.0
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vega-util'), require('d3-array'), require('d3-scale'), require('d3-interpolate')) : | ||
typeof define === 'function' && define.amd ? define(['exports', 'vega-util', 'd3-array', 'd3-scale', 'd3-interpolate'], factory) : | ||
(global = global || self, factory(global.vega = {}, global.vega, global.d3, global.d3, global.d3)); | ||
}(this, (function (exports, vegaUtil, d3Array, $, $$1) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vega-util'), require('d3-array'), require('d3-scale'), require('d3-interpolate'), require('vega-time'), require('d3-format')) : | ||
typeof define === 'function' && define.amd ? define(['exports', 'vega-util', 'd3-array', 'd3-scale', 'd3-interpolate', 'vega-time', 'd3-format'], factory) : | ||
(global = global || self, factory(global.vega = {}, global.vega, global.d3, global.d3, global.d3, global.vega, global.d3)); | ||
}(this, (function (exports, vegaUtil, d3Array, $, $$1, vegaTime, d3Format) { 'use strict'; | ||
@@ -58,3 +58,3 @@ function bandSpace(count, paddingInner, paddingOuter) { | ||
]; | ||
} | ||
}; | ||
} | ||
@@ -91,3 +91,3 @@ | ||
]; | ||
} | ||
}; | ||
} | ||
@@ -593,2 +593,336 @@ | ||
var SymbolLegend = 'symbol'; | ||
var DiscreteLegend = 'discrete'; | ||
var GradientLegend = 'gradient'; | ||
const defaultFormatter = value => vegaUtil.isArray(value) | ||
? value.map(v => String(v)) | ||
: String(value); | ||
/** | ||
* Determine the tick count or interval function. | ||
* @param {Scale} scale - The scale for which to generate tick values. | ||
* @param {*} count - The desired tick count or interval specifier. | ||
* @param {number} minStep - The desired minimum step between tick values. | ||
* @return {*} - The tick count or interval function. | ||
*/ | ||
function tickCount(scale, count, minStep) { | ||
var step; | ||
if (vegaUtil.isNumber(count)) { | ||
if (scale.bins) { | ||
count = Math.max(count, scale.bins.length); | ||
} | ||
if (minStep != null) { | ||
count = Math.min( | ||
count, | ||
Math.floor((vegaUtil.span(scale.domain()) / minStep) || 1) | ||
); | ||
} | ||
} | ||
if (vegaUtil.isObject(count)) { | ||
step = count.step; | ||
count = count.interval; | ||
} | ||
if (vegaUtil.isString(count)) { | ||
count = scale.type === Time ? vegaTime.timeInterval(count) | ||
: scale.type == UTC ? vegaTime.utcInterval(count) | ||
: vegaUtil.error('Only time and utc scales accept interval strings.'); | ||
if (step) count = count.every(step); | ||
} | ||
return count; | ||
} | ||
/** | ||
* Filter a set of candidate tick values, ensuring that only tick values | ||
* that lie within the scale range are included. | ||
* @param {Scale} scale - The scale for which to generate tick values. | ||
* @param {Array<*>} ticks - The candidate tick values. | ||
* @param {*} count - The tick count or interval function. | ||
* @return {Array<*>} - The filtered tick values. | ||
*/ | ||
function validTicks(scale, ticks, count) { | ||
let range = scale.range(), | ||
lo = range[0], | ||
hi = vegaUtil.peek(range); | ||
if (lo > hi) { | ||
range = hi; | ||
hi = lo; | ||
lo = range; | ||
} | ||
lo = Math.floor(lo); | ||
hi = Math.ceil(hi); | ||
ticks = ticks.filter(v => { | ||
v = scale(v); | ||
return lo <= v && v <= hi; | ||
}); | ||
if (count > 0 && ticks.length > 1) { | ||
const endpoints = [ticks[0], vegaUtil.peek(ticks)]; | ||
while (ticks.length > count && ticks.length >= 3) { | ||
ticks = ticks.filter((_, i) => !(i % 2)); | ||
} | ||
if (ticks.length < 3) { | ||
ticks = endpoints; | ||
} | ||
} | ||
return ticks; | ||
} | ||
/** | ||
* Generate tick values for the given scale and approximate tick count or | ||
* interval value. If the scale has a 'ticks' method, it will be used to | ||
* generate the ticks, with the count argument passed as a parameter. If the | ||
* scale lacks a 'ticks' method, the full scale domain will be returned. | ||
* @param {Scale} scale - The scale for which to generate tick values. | ||
* @param {*} [count] - The approximate number of desired ticks. | ||
* @return {Array<*>} - The generated tick values. | ||
*/ | ||
function tickValues(scale, count) { | ||
return scale.bins ? validTicks(scale, scale.bins) | ||
: scale.ticks ? scale.ticks(count) | ||
: scale.domain(); | ||
} | ||
/** | ||
* Generate a label format function for a scale. If the scale has a | ||
* 'tickFormat' method, it will be used to generate the formatter, with the | ||
* count and specifier arguments passed as parameters. If the scale lacks a | ||
* 'tickFormat' method, the returned formatter performs simple string coercion. | ||
* If the input scale is a logarithmic scale and the format specifier does not | ||
* indicate a desired decimal precision, a special variable precision formatter | ||
* that automatically trims trailing zeroes will be generated. | ||
* @param {Scale} scale - The scale for which to generate the label formatter. | ||
* @param {*} [count] - The approximate number of desired ticks. | ||
* @param {string} [specifier] - The format specifier. Must be a legal d3 | ||
* specifier string (see https://github.com/d3/d3-format#formatSpecifier) or | ||
* time multi-format specifier object. | ||
* @return {function(*):string} - The generated label formatter. | ||
*/ | ||
function tickFormat(scale, count, specifier, formatType, noSkip) { | ||
var type = scale.type, | ||
format = (type === Time || formatType === Time) ? vegaTime.timeFormat(specifier) | ||
: (type === UTC || formatType === UTC) ? vegaTime.utcFormat(specifier) | ||
: scale.tickFormat ? scale.tickFormat(count, specifier) | ||
: specifier ? d3Format.format(specifier) | ||
: defaultFormatter; | ||
if (isLogarithmic(type)) { | ||
var logfmt = variablePrecision(specifier); | ||
format = noSkip || scale.bins ? logfmt : filter(format, logfmt); | ||
} | ||
return format; | ||
} | ||
function filter(sourceFormat, targetFormat) { | ||
return _ => sourceFormat(_) ? targetFormat(_) : ''; | ||
} | ||
function variablePrecision(specifier) { | ||
var s = d3Format.formatSpecifier(specifier || ','); | ||
if (s.precision == null) { | ||
s.precision = 12; | ||
switch (s.type) { | ||
case '%': s.precision -= 2; break; | ||
case 'e': s.precision -= 1; break; | ||
} | ||
return trimZeroes( | ||
d3Format.format(s), // number format | ||
d3Format.format('.1f')(1)[1] // decimal point character | ||
); | ||
} else { | ||
return d3Format.format(s); | ||
} | ||
} | ||
function trimZeroes(format, decimalChar) { | ||
return x => { | ||
var str = format(x), | ||
dec = str.indexOf(decimalChar), | ||
idx, end; | ||
if (dec < 0) return str; | ||
idx = rightmostDigit(str, dec); | ||
end = idx < str.length ? str.slice(idx) : ''; | ||
while (--idx > dec) if (str[idx] !== '0') { ++idx; break; } | ||
return str.slice(0, idx) + end; | ||
}; | ||
} | ||
function rightmostDigit(str, dec) { | ||
var i = str.lastIndexOf('e'), c; | ||
if (i > 0) return i; | ||
for (i=str.length; --i > dec;) { | ||
c = str.charCodeAt(i); | ||
if (c >= 48 && c <= 57) return i + 1; // is digit | ||
} | ||
} | ||
const symbols = { | ||
[Quantile]: 'quantiles', | ||
[Quantize]: 'thresholds', | ||
[Threshold]: 'domain' | ||
}; | ||
const formats = { | ||
[Quantile]: 'quantiles', | ||
[Quantize]: 'domain' | ||
}; | ||
function labelValues(scale, count) { | ||
return scale.bins ? binValues(scale.bins) | ||
: scale.type === Log ? logValues(scale, count) | ||
: symbols[scale.type] ? thresholdValues(scale[symbols[scale.type]]()) | ||
: tickValues(scale, count); | ||
} | ||
function logValues(scale, count) { | ||
var ticks = tickValues(scale, count), | ||
base = scale.base(), | ||
logb = Math.log(base), | ||
k = Math.max(1, base * count / ticks.length); | ||
// apply d3-scale's log format filter criteria | ||
return ticks.filter(d => { | ||
var i = d / Math.pow(base, Math.round(Math.log(d) / logb)); | ||
if (i * base < base - 0.5) i *= base; | ||
return i <= k; | ||
}); | ||
} | ||
function thresholdFormat(scale, specifier) { | ||
var _ = scale[formats[scale.type]](), | ||
n = _.length, | ||
d = n > 1 ? _[1] - _[0] : _[0], i; | ||
for (i=1; i<n; ++i) { | ||
d = Math.min(d, _[i] - _[i-1]); | ||
} | ||
// tickCount = 3 ticks times 10 for increased resolution | ||
return $.tickFormat(0, d, 3 * 10, specifier); | ||
} | ||
function thresholdValues(thresholds) { | ||
const values = [-Infinity].concat(thresholds); | ||
values.max = +Infinity; | ||
return values; | ||
} | ||
function binValues(bins) { | ||
const values = bins.slice(0, -1); | ||
values.max = vegaUtil.peek(bins); | ||
return values; | ||
} | ||
function isDiscreteRange(scale) { | ||
return symbols[scale.type] || scale.bins; | ||
} | ||
function labelFormat(scale, count, type, specifier, formatType, noSkip) { | ||
const format = formats[scale.type] && formatType !== Time && formatType !== UTC | ||
? thresholdFormat(scale, specifier) | ||
: tickFormat(scale, count, specifier, formatType, noSkip); | ||
return type === SymbolLegend && isDiscreteRange(scale) ? formatRange(format) | ||
: type === DiscreteLegend ? formatDiscrete(format) | ||
: formatPoint(format); | ||
} | ||
function formatRange(format) { | ||
return (value, index, array) => { | ||
var limit = get(array[index + 1], get(array.max, +Infinity)), | ||
lo = formatValue(value, format), | ||
hi = formatValue(limit, format); | ||
return lo && hi ? lo + ' \u2013 ' + hi : hi ? '< ' + hi : '\u2265 ' + lo; | ||
}; | ||
} | ||
function get(value, dflt) { | ||
return value != null ? value : dflt; | ||
} | ||
function formatDiscrete(format) { | ||
return (value, index) => index ? format(value) : null; | ||
} | ||
function formatPoint(format) { | ||
return value => format(value); | ||
} | ||
function formatValue(value, format) { | ||
return Number.isFinite(value) ? format(value) : null; | ||
} | ||
function labelFraction(scale) { | ||
var domain = scale.domain(), | ||
count = domain.length - 1, | ||
lo = +domain[0], | ||
hi = +vegaUtil.peek(domain), | ||
span = hi - lo; | ||
if (scale.type === Threshold) { | ||
const adjust = count ? span / count : 0.1; | ||
lo -= adjust; | ||
hi += adjust; | ||
span = hi - lo; | ||
} | ||
return value => (value - lo) / span; | ||
} | ||
function format(scale, specifier, formatType) { | ||
const type = formatType || scale.type; | ||
// replace abbreviated time specifiers to improve screen reader experience | ||
if (vegaUtil.isString(specifier) && isTemporal(type)) { | ||
specifier = specifier.replace(/%a/g, '%A').replace(/%b/g, '%B'); | ||
} | ||
return !specifier && type === Time ? vegaTime.timeFormat('%A, %d %B %Y, %X') | ||
: !specifier && type === UTC ? vegaTime.utcFormat('%A, %d %B %Y, %X UTC') | ||
: labelFormat(scale, 5, null, specifier, formatType, true); | ||
} | ||
function domainCaption(scale, opt) { | ||
opt = opt || {}; | ||
const max = Math.max(3, opt.maxlen || 7), | ||
fmt = format(scale, opt.format, opt.formatType); | ||
// if scale breaks domain into bins, describe boundaries | ||
if (isDiscretizing(scale.type)) { | ||
const v = labelValues(scale).slice(1).map(fmt), | ||
n = v.length; | ||
return `${n} boundar${n === 1 ? 'y' : 'ies'}: ${v.join(', ')}`; | ||
} | ||
// if scale domain is discrete, list values | ||
else if (isDiscrete(scale.type)) { | ||
const d = scale.domain(), | ||
n = d.length, | ||
v = n > max | ||
? d.slice(0, max - 2).map(fmt).join(', ') | ||
+ ', ending with ' + d.slice(-1).map(fmt) | ||
: d.map(fmt).join(', '); | ||
return `${n} value${n === 1 ? '' : 's'}: ${v}`; | ||
} | ||
// if scale domain is continuous, describe value range | ||
else { | ||
const d = scale.domain(); | ||
return `values from ${fmt(d[0])} to ${fmt(vegaUtil.peek(d))}`; | ||
} | ||
} | ||
Object.defineProperty(exports, 'scaleImplicit', { | ||
@@ -600,11 +934,7 @@ enumerable: true, | ||
}); | ||
Object.defineProperty(exports, 'tickFormat', { | ||
enumerable: true, | ||
get: function () { | ||
return $.tickFormat; | ||
} | ||
}); | ||
exports.Band = Band; | ||
exports.BinOrdinal = BinOrdinal; | ||
exports.DiscreteLegend = DiscreteLegend; | ||
exports.Diverging = Diverging; | ||
exports.GradientLegend = GradientLegend; | ||
exports.Identity = Identity; | ||
@@ -620,2 +950,3 @@ exports.Linear = Linear; | ||
exports.Sqrt = Sqrt; | ||
exports.SymbolLegend = SymbolLegend; | ||
exports.Symlog = Symlog; | ||
@@ -626,2 +957,3 @@ exports.Threshold = Threshold; | ||
exports.bandSpace = bandSpace; | ||
exports.domainCaption = domainCaption; | ||
exports.interpolate = interpolate; | ||
@@ -638,2 +970,5 @@ exports.interpolateColors = interpolateColors; | ||
exports.isValidScaleType = isValidScaleType; | ||
exports.labelFormat = labelFormat; | ||
exports.labelFraction = labelFraction; | ||
exports.labelValues = labelValues; | ||
exports.quantizeInterpolator = quantizeInterpolator; | ||
@@ -644,2 +979,6 @@ exports.scale = scale; | ||
exports.scheme = scheme; | ||
exports.tickCount = tickCount; | ||
exports.tickFormat = tickFormat; | ||
exports.tickValues = tickValues; | ||
exports.validTicks = validTicks; | ||
@@ -646,0 +985,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
@@ -1,1 +0,1 @@ | ||
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("vega-util"),require("d3-array"),require("d3-scale"),require("d3-interpolate")):"function"==typeof define&&define.amd?define(["exports","vega-util","d3-array","d3-scale","d3-interpolate"],a):a((e=e||self).vega={},e.vega,e.d3,e.d3,e.d3)}(this,(function(e,a,f,c,d){"use strict";function n(e,a,f){var c=e-a+2*f;return e?c>0?c:1:0}const b="log",t="quantile",r="continuous",i="discrete",o="discretizing",u="interpolating",l="temporal";function s(){var e,a,d=c.scaleOrdinal().unknown(void 0),b=d.domain,t=d.range,r=[0,1],i=!1,o=0,u=0,l=.5;function g(){var c=b().length,d=r[1]<r[0],s=r[d-0],g=r[1-d],p=n(c,o,u);e=(g-s)/(p||1),i&&(e=Math.floor(e)),s+=(g-s-e*(c-o))*l,a=e*(1-o),i&&(s=Math.round(s),a=Math.round(a));var m=f.range(c).map((function(a){return s+e*a}));return t(d?m.reverse():m)}return delete d.unknown,d.domain=function(e){return arguments.length?(b(e),g()):b()},d.range=function(e){return arguments.length?(r=[+e[0],+e[1]],g()):r.slice()},d.rangeRound=function(e){return r=[+e[0],+e[1]],i=!0,g()},d.bandwidth=function(){return a},d.step=function(){return e},d.round=function(e){return arguments.length?(i=!!e,g()):i},d.padding=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),o=u,g()):o},d.paddingInner=function(e){return arguments.length?(o=Math.max(0,Math.min(1,e)),g()):o},d.paddingOuter=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),g()):u},d.align=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),g()):l},d.invertRange=function(e){if(null!=e[0]&&null!=e[1]){var c,d,n,i=+e[0],o=+e[1],u=r[1]<r[0],l=u?t().reverse():t(),s=l.length-1;if(i==i&&o==o&&(o<i&&(n=i,i=o,o=n),!(o<l[0]||i>r[1-u])))return c=Math.max(0,f.bisectRight(l,i)-1),d=i===o?c:f.bisectRight(l,o)-1,i-l[c]>a+1e-10&&++c,u&&(n=c,c=s-d,d=s-n),c>d?void 0:b().slice(c,d+1)}},d.invert=function(e){var a=d.invertRange([e,e]);return a?a[0]:a},d.copy=function(){return s().domain(b()).range(r).round(i).paddingInner(o).paddingOuter(u).align(l)},g()}var g=Array.prototype.map;function p(e){return g.call(e,(function(e){return+e}))}var m=Array.prototype.slice;const v={};function y(e,f,c){return arguments.length>1?(v[e]=function(e,f,c){const d=function(){var a=f();return a.invertRange||(a.invertRange=a.invert?function(e){return function(a){var f,c=a[0],d=a[1];return d<c&&(f=c,c=d,d=f),[e.invert(c),e.invert(d)]}}(a):a.invertExtent?function(e){return function(a){var f,c,d,n,b=e.range(),t=a[0],r=a[1],i=-1;for(r<t&&(c=t,t=r,r=c),d=0,n=b.length;d<n;++d)b[d]>=t&&b[d]<=r&&(i<0&&(i=d),f=d);if(!(i<0))return t=e.invertExtent(b[i]),r=e.invertExtent(b[f]),[void 0===t[0]?t[1]:t[0],void 0===r[1]?r[0]:r[1]]}}(a):void 0),a.type=e,a};return d.metadata=a.toSet(a.array(c)),d}(e,f,c),this):h(e)?v[e]:void 0}function h(e){return a.hasOwnProperty(v,e)}function q(e,a){const f=v[e];return f&&f.metadata[a]}y("identity",c.scaleIdentity),y("linear",c.scaleLinear,r),y(b,c.scaleLog,[r,b]),y("pow",c.scalePow,r),y("sqrt",c.scaleSqrt,r),y("symlog",c.scaleSymlog,r),y("time",c.scaleTime,[r,l]),y("utc",c.scaleUtc,[r,l]),y("sequential",c.scaleSequential,[r,u]),y("sequential-linear",c.scaleSequential,[r,u]),y(`sequential-${b}`,c.scaleSequentialLog,[r,u,b]),y("sequential-pow",c.scaleSequentialPow,[r,u]),y("sequential-sqrt",c.scaleSequentialSqrt,[r,u]),y("sequential-symlog",c.scaleSequentialSymlog,[r,u]),y("diverging-linear",c.scaleDiverging,[r,u]),y(`diverging-${b}`,c.scaleDivergingLog,[r,u,b]),y("diverging-pow",c.scaleDivergingPow,[r,u]),y("diverging-sqrt",c.scaleDivergingSqrt,[r,u]),y("diverging-symlog",c.scaleDivergingSymlog,[r,u]),y(t,c.scaleQuantile,[o,t]),y("quantize",c.scaleQuantize,o),y("threshold",c.scaleThreshold,o),y("bin-ordinal",(function e(){var d=[],n=[];function b(e){return null==e||e!=e?void 0:n[(f.bisect(d,e)-1)%n.length]}return b.domain=function(e){return arguments.length?(d=p(e),b):d.slice()},b.range=function(e){return arguments.length?(n=m.call(e),b):n.slice()},b.tickFormat=function(e,f){return c.tickFormat(d[0],a.peek(d),null==e?10:e,f)},b.copy=function(){return e().domain(b.domain()).range(b.range())},b}),[i,o]),y("ordinal",c.scaleOrdinal,i),y("band",s,i),y("point",(function(){return function e(a){var f=a.copy;return a.padding=a.paddingOuter,delete a.paddingInner,a.copy=function(){return e(f())},a}(s().paddingInner(1))}),i);const w=["clamp","base","constant","exponent"];function O(e,a,f){return d.piecewise(S(a||"rgb",f),e)}function S(e,a){var f=d[function(e){return"interpolate"+e.toLowerCase().split("-").map((function(e){return e[0].toUpperCase()+e.slice(1)})).join("")}(e)];return null!=a&&f&&f.gamma?f.gamma(a):f}function k(e){for(var a=e.length/6|0,f=new Array(a),c=0;c<a;)f[c]="#"+e.slice(6*c,6*++c);return f}function G(e,a){for(let f in e)R(f,a(e[f]))}const M={};function R(e,a){return e=e&&e.toLowerCase(),arguments.length>1?(M[e]=a,this):M[e]}G({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},k),G({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},e=>O(k(e))),Object.defineProperty(e,"scaleImplicit",{enumerable:!0,get:function(){return c.scaleImplicit}}),Object.defineProperty(e,"tickFormat",{enumerable:!0,get:function(){return c.tickFormat}}),e.Band="band",e.BinOrdinal="bin-ordinal",e.Diverging="diverging",e.Identity="identity",e.Linear="linear",e.Log=b,e.Ordinal="ordinal",e.Point="point",e.Pow="pow",e.Quantile=t,e.Quantize="quantize",e.Sequential="sequential",e.Sqrt="sqrt",e.Symlog="symlog",e.Threshold="threshold",e.Time="time",e.UTC="utc",e.bandSpace=n,e.interpolate=S,e.interpolateColors=O,e.interpolateRange=function(e,f){var c=f[0],d=a.peek(f)-c;return function(a){return e(c+a*d)}},e.isContinuous=function(e){return q(e,r)},e.isDiscrete=function(e){return q(e,i)},e.isDiscretizing=function(e){return q(e,o)},e.isInterpolating=function(e){return q(e,u)},e.isLogarithmic=function(e){return q(e,b)},e.isQuantile=function(e){return q(e,t)},e.isTemporal=function(e){return q(e,l)},e.isValidScaleType=h,e.quantizeInterpolator=function(e,a){for(var f=new Array(a),c=a+1,d=0;d<a;)f[d]=e(++d/c);return f},e.scale=y,e.scaleCopy=function(e){const a=e.type,f=e.copy();return f.type=a,f},e.scaleFraction=function(e,f,c){var d,n,b,t=c-f;return t&&Number.isFinite(t)?(d=(n=e.type).indexOf("-"),n=d<0?n:n.slice(d+1),b=y(n)().domain([f,c]).range([0,1]),w.forEach(a=>e[a]?b[a](e[a]()):0),b):a.constant(.5)},e.scheme=R,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("vega-util"),require("d3-array"),require("d3-scale"),require("d3-interpolate"),require("vega-time"),require("d3-format")):"function"==typeof define&&define.amd?define(["exports","vega-util","d3-array","d3-scale","d3-interpolate","vega-time","d3-format"],a):a((e=e||self).vega={},e.vega,e.d3,e.d3,e.d3,e.vega,e.d3)}(this,(function(e,a,n,c,f,t,d){"use strict";function r(e,a,n){var c=e-a+2*n;return e?c>0?c:1:0}const i="log",b="time",o="utc",l="continuous";function u(){var e,a,f=c.scaleOrdinal().unknown(void 0),t=f.domain,d=f.range,i=[0,1],b=!1,o=0,l=0,s=.5;function g(){var c=t().length,f=i[1]<i[0],u=i[f-0],g=i[1-f],p=r(c,o,l);e=(g-u)/(p||1),b&&(e=Math.floor(e)),u+=(g-u-e*(c-o))*s,a=e*(1-o),b&&(u=Math.round(u),a=Math.round(a));var m=n.range(c).map((function(a){return u+e*a}));return d(f?m.reverse():m)}return delete f.unknown,f.domain=function(e){return arguments.length?(t(e),g()):t()},f.range=function(e){return arguments.length?(i=[+e[0],+e[1]],g()):i.slice()},f.rangeRound=function(e){return i=[+e[0],+e[1]],b=!0,g()},f.bandwidth=function(){return a},f.step=function(){return e},f.round=function(e){return arguments.length?(b=!!e,g()):b},f.padding=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),o=l,g()):o},f.paddingInner=function(e){return arguments.length?(o=Math.max(0,Math.min(1,e)),g()):o},f.paddingOuter=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),g()):l},f.align=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),g()):s},f.invertRange=function(e){if(null!=e[0]&&null!=e[1]){var c,f,r,b=+e[0],o=+e[1],l=i[1]<i[0],u=l?d().reverse():d(),s=u.length-1;if(b==b&&o==o&&(o<b&&(r=b,b=o,o=r),!(o<u[0]||b>i[1-l])))return c=Math.max(0,n.bisectRight(u,b)-1),f=b===o?c:n.bisectRight(u,o)-1,b-u[c]>a+1e-10&&++c,l&&(r=c,c=s-f,f=s-r),c>f?void 0:t().slice(c,f+1)}},f.invert=function(e){var a=f.invertRange([e,e]);return a?a[0]:a},f.copy=function(){return u().domain(t()).range(i).round(b).paddingInner(o).paddingOuter(l).align(s)},g()}var s=Array.prototype.map;function g(e){return s.call(e,(function(e){return+e}))}var p=Array.prototype.slice;const m={};function h(e,n,c){const f=function(){var a=n();return a.invertRange||(a.invertRange=a.invert?function(e){return function(a){var n,c=a[0],f=a[1];return f<c&&(n=c,c=f,f=n),[e.invert(c),e.invert(f)]}}(a):a.invertExtent?function(e){return function(a){var n,c,f,t,d=e.range(),r=a[0],i=a[1],b=-1;for(i<r&&(c=r,r=i,i=c),f=0,t=d.length;f<t;++f)d[f]>=r&&d[f]<=i&&(b<0&&(b=f),n=f);if(!(b<0))return r=e.invertExtent(d[b]),i=e.invertExtent(d[n]),[void 0===r[0]?r[1]:r[0],void 0===i[1]?i[0]:i[1]]}}(a):void 0),a.type=e,a};return f.metadata=a.toSet(a.array(c)),f}function v(e,a,n){return arguments.length>1?(m[e]=h(e,a,n),this):y(e)?m[e]:void 0}function y(e){return a.hasOwnProperty(m,e)}function q(e,a){const n=m[e];return n&&n.metadata[a]}function w(e){return q(e,"discrete")}function k(e){return q(e,"discretizing")}function M(e){return q(e,i)}function S(e){return q(e,"temporal")}v("identity",c.scaleIdentity),v("linear",c.scaleLinear,l),v(i,c.scaleLog,[l,i]),v("pow",c.scalePow,l),v("sqrt",c.scaleSqrt,l),v("symlog",c.scaleSymlog,l),v(b,c.scaleTime,[l,"temporal"]),v(o,c.scaleUtc,[l,"temporal"]),v("sequential",c.scaleSequential,[l,"interpolating"]),v("sequential-linear",c.scaleSequential,[l,"interpolating"]),v("sequential-log",c.scaleSequentialLog,[l,"interpolating",i]),v("sequential-pow",c.scaleSequentialPow,[l,"interpolating"]),v("sequential-sqrt",c.scaleSequentialSqrt,[l,"interpolating"]),v("sequential-symlog",c.scaleSequentialSymlog,[l,"interpolating"]),v("diverging-linear",c.scaleDiverging,[l,"interpolating"]),v("diverging-log",c.scaleDivergingLog,[l,"interpolating",i]),v("diverging-pow",c.scaleDivergingPow,[l,"interpolating"]),v("diverging-sqrt",c.scaleDivergingSqrt,[l,"interpolating"]),v("diverging-symlog",c.scaleDivergingSymlog,[l,"interpolating"]),v("quantile",c.scaleQuantile,["discretizing","quantile"]),v("quantize",c.scaleQuantize,"discretizing"),v("threshold",c.scaleThreshold,"discretizing"),v("bin-ordinal",(function e(){var f=[],t=[];function d(e){return null==e||e!=e?void 0:t[(n.bisect(f,e)-1)%t.length]}return d.domain=function(e){return arguments.length?(f=g(e),d):f.slice()},d.range=function(e){return arguments.length?(t=p.call(e),d):t.slice()},d.tickFormat=function(e,n){return c.tickFormat(f[0],a.peek(f),null==e?10:e,n)},d.copy=function(){return e().domain(d.domain()).range(d.range())},d}),["discrete","discretizing"]),v("ordinal",c.scaleOrdinal,"discrete"),v("band",u,"discrete"),v("point",(function(){return function e(a){var n=a.copy;return a.padding=a.paddingOuter,delete a.paddingInner,a.copy=function(){return e(n())},a}(u().paddingInner(1))}),"discrete");const x=["clamp","base","constant","exponent"];function O(e,a,n){return f.piecewise(B(a||"rgb",n),e)}function B(e,a){var n=f[function(e){return"interpolate"+e.toLowerCase().split("-").map((function(e){return e[0].toUpperCase()+e.slice(1)})).join("")}(e)];return null!=a&&n&&n.gamma?n.gamma(a):n}function G(e){for(var a=e.length/6|0,n=new Array(a),c=0;c<a;)n[c]="#"+e.slice(6*c,6*++c);return n}function F(e,a){for(let n in e)z(n,a(e[n]))}const R={};function z(e,a){return e=e&&e.toLowerCase(),arguments.length>1?(R[e]=a,this):R[e]}F({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},G),F({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},e=>O(G(e)));const I=e=>a.isArray(e)?e.map(e=>String(e)):String(e);function L(e,n,c){let f=e.range(),t=f[0],d=a.peek(f);if(t>d&&(f=d,d=t,t=f),t=Math.floor(t),d=Math.ceil(d),n=n.filter(a=>(a=e(a),t<=a&&a<=d)),c>0&&n.length>1){const e=[n[0],a.peek(n)];for(;n.length>c&&n.length>=3;)n=n.filter((e,a)=>!(a%2));n.length<3&&(n=e)}return n}function T(e,a){return e.bins?L(e,e.bins):e.ticks?e.ticks(a):e.domain()}function C(e,a,n,c,f){var r,i,l=e.type,u=l===b||c===b?t.timeFormat(n):l===o||c===o?t.utcFormat(n):e.tickFormat?e.tickFormat(a,n):n?d.format(n):I;if(M(l)){var s=function(e){var a=d.formatSpecifier(e||",");if(null==a.precision){switch(a.precision=12,a.type){case"%":a.precision-=2;break;case"e":a.precision-=1}return function(e,a){return n=>{var c,f,t=e(n),d=t.indexOf(a);if(d<0)return t;for(f=(c=function(e,a){var n,c=e.lastIndexOf("e");if(c>0)return c;for(c=e.length;--c>a;)if((n=e.charCodeAt(c))>=48&&n<=57)return c+1}(t,d))<t.length?t.slice(c):"";--c>d;)if("0"!==t[c]){++c;break}return t.slice(0,c)+f}}(d.format(a),d.format(".1f")(1)[1])}return d.format(a)}(n);u=f||e.bins?s:(r=u,i=s,e=>r(e)?i(e):"")}return u}const P={quantile:"quantiles",quantize:"thresholds",threshold:"domain"},A={quantile:"quantiles",quantize:"domain"};function D(e,n){return e.bins?function(e){const n=e.slice(0,-1);return n.max=a.peek(e),n}(e.bins):e.type===i?function(e,a){var n=T(e,a),c=e.base(),f=Math.log(c),t=Math.max(1,c*a/n.length);return n.filter(e=>{var a=e/Math.pow(c,Math.round(Math.log(e)/f));return a*c<c-.5&&(a*=c),a<=t})}(e,n):P[e.type]?function(e){const a=[-1/0].concat(e);return a.max=1/0,a}(e[P[e.type]]()):T(e,n)}function j(e,a,n,f,t,d){const r=A[e.type]&&t!==b&&t!==o?function(e,a){var n,f=e[A[e.type]](),t=f.length,d=t>1?f[1]-f[0]:f[0];for(n=1;n<t;++n)d=Math.min(d,f[n]-f[n-1]);return c.tickFormat(0,d,30,a)}(e,f):C(e,a,f,t,d);return"symbol"===n&&function(e){return P[e.type]||e.bins}(e)?function(e){return(a,n,c)=>{var f=$(c[n+1],$(c.max,1/0)),t=Q(a,e),d=Q(f,e);return t&&d?t+" – "+d:d?"< "+d:"≥ "+t}}(r):"discrete"===n?function(e){return(a,n)=>n?e(a):null}(r):function(e){return a=>e(a)}(r)}function $(e,a){return null!=e?e:a}function Q(e,a){return Number.isFinite(e)?a(e):null}Object.defineProperty(e,"scaleImplicit",{enumerable:!0,get:function(){return c.scaleImplicit}}),e.Band="band",e.BinOrdinal="bin-ordinal",e.DiscreteLegend="discrete",e.Diverging="diverging",e.GradientLegend="gradient",e.Identity="identity",e.Linear="linear",e.Log=i,e.Ordinal="ordinal",e.Point="point",e.Pow="pow",e.Quantile="quantile",e.Quantize="quantize",e.Sequential="sequential",e.Sqrt="sqrt",e.SymbolLegend="symbol",e.Symlog="symlog",e.Threshold="threshold",e.Time=b,e.UTC=o,e.bandSpace=r,e.domainCaption=function(e,n){n=n||{};const c=Math.max(3,n.maxlen||7),f=function(e,n,c){const f=c||e.type;return a.isString(n)&&S(f)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),n||f!==b?n||f!==o?j(e,5,null,n,c,!0):t.utcFormat("%A, %d %B %Y, %X UTC"):t.timeFormat("%A, %d %B %Y, %X")}(e,n.format,n.formatType);if(k(e.type)){const a=D(e).slice(1).map(f),n=a.length;return`${n} boundar${1===n?"y":"ies"}: ${a.join(", ")}`}if(w(e.type)){const a=e.domain(),n=a.length;return`${n} value${1===n?"":"s"}: ${n>c?a.slice(0,c-2).map(f).join(", ")+", ending with "+a.slice(-1).map(f):a.map(f).join(", ")}`}{const n=e.domain();return`values from ${f(n[0])} to ${f(a.peek(n))}`}},e.interpolate=B,e.interpolateColors=O,e.interpolateRange=function(e,n){var c=n[0],f=a.peek(n)-c;return function(a){return e(c+a*f)}},e.isContinuous=function(e){return q(e,l)},e.isDiscrete=w,e.isDiscretizing=k,e.isInterpolating=function(e){return q(e,"interpolating")},e.isLogarithmic=M,e.isQuantile=function(e){return q(e,"quantile")},e.isTemporal=S,e.isValidScaleType=y,e.labelFormat=j,e.labelFraction=function(e){var n=e.domain(),c=n.length-1,f=+n[0],t=+a.peek(n),d=t-f;if("threshold"===e.type){const e=c?d/c:.1;d=(t+=e)-(f-=e)}return e=>(e-f)/d},e.labelValues=D,e.quantizeInterpolator=function(e,a){for(var n=new Array(a),c=a+1,f=0;f<a;)n[f]=e(++f/c);return n},e.scale=v,e.scaleCopy=function(e){const a=e.type,n=e.copy();return n.type=a,n},e.scaleFraction=function(e,n,c){var f,t,d,r=c-n;return r&&Number.isFinite(r)?(f=(t=e.type).indexOf("-"),t=f<0?t:t.slice(f+1),d=v(t)().domain([n,c]).range([0,1]),x.forEach(a=>e[a]?d[a](e[a]()):0),d):a.constant(.5)},e.scheme=z,e.tickCount=function(e,n,c){var f;return a.isNumber(n)&&(e.bins&&(n=Math.max(n,e.bins.length)),null!=c&&(n=Math.min(n,Math.floor(a.span(e.domain())/c||1)))),a.isObject(n)&&(f=n.step,n=n.interval),a.isString(n)&&(n=e.type===b?t.timeInterval(n):e.type==o?t.utcInterval(n):a.error("Only time and utc scales accept interval strings."),f&&(n=n.every(f))),n},e.tickFormat=C,e.tickValues=T,e.validTicks=L,Object.defineProperty(e,"__esModule",{value:!0})})); |
35
index.js
@@ -1,2 +0,4 @@ | ||
export {default as bandSpace} from './src/scales/bandSpace'; | ||
export { | ||
default as bandSpace | ||
} from './src/scales/bandSpace'; | ||
@@ -44,4 +46,31 @@ export { | ||
export {scheme} from './src/schemes'; | ||
export { | ||
scheme | ||
} from './src/schemes'; | ||
export {scaleImplicit, tickFormat} from 'd3-scale'; | ||
export { | ||
SymbolLegend, | ||
DiscreteLegend, | ||
GradientLegend | ||
} from './src/legend-types'; | ||
export { | ||
tickCount, | ||
tickFormat, | ||
tickValues, | ||
validTicks | ||
} from './src/ticks'; | ||
export { | ||
labelFormat, | ||
labelFraction, | ||
labelValues | ||
} from './src/labels'; | ||
export { | ||
domainCaption | ||
} from './src/caption'; | ||
export { | ||
scaleImplicit | ||
} from 'd3-scale'; |
{ | ||
"name": "vega-scale", | ||
"version": "6.0.0", | ||
"version": "6.1.0", | ||
"description": "Scales and color schemes for visual encoding.", | ||
@@ -18,3 +18,3 @@ "keywords": [ | ||
"scripts": { | ||
"rollup": "rollup -g d3-array:d3,d3-interpolate:d3,d3-scale:d3:d3,d3-time:d3,vega-util:vega -f umd -n vega -o build/vega-scale.js -- index.js", | ||
"rollup": "rollup -g d3-array:d3,d3-format:d3,d3-interpolate:d3,d3-scale:d3,vega-time:vega,vega-util:vega -f umd -n vega -o build/vega-scale.js -- index.js", | ||
"prebuild": "rimraf build && mkdir build", | ||
@@ -24,3 +24,3 @@ "build": "yarn rollup", | ||
"pretest": "yarn prebuild && yarn rollup", | ||
"test": "tape 'test/**/*-test.js' && eslint index.js src test", | ||
"test": "tape 'test/**/*-test.js'", | ||
"prepublishOnly": "yarn test && yarn build", | ||
@@ -31,7 +31,9 @@ "postpublish": "git push && git push --tags" | ||
"d3-array": "^2.4.0", | ||
"d3-format": "^1.4.4", | ||
"d3-interpolate": "^1.4.0", | ||
"d3-scale": "^3.2.1", | ||
"vega-util": "^1.12.1" | ||
"vega-time": "^1.1.0", | ||
"vega-util": "^1.13.2" | ||
}, | ||
"gitHead": "b690910bacfcb2580511e262400e496d9b14b04f" | ||
"gitHead": "35e31c5c6b54db9dc3a577b5adad8d15ec274d32" | ||
} |
@@ -6,12 +6,12 @@ import {array, hasOwnProperty, toSet} from 'vega-util'; | ||
import { | ||
Identity, | ||
Linear, Log, Pow, Sqrt, Symlog, | ||
Time, UTC, Sequential, Diverging, | ||
Quantile, Quantize, Threshold, | ||
BinOrdinal, Ordinal, Band, Point, | ||
Continuous as C, | ||
Discrete as D, | ||
Discretizing as Z, | ||
Interpolating as I, | ||
Temporal as T | ||
Band, | ||
BinOrdinal, Continuous as C, Discrete as D, Diverging, Interpolating as I, | ||
Identity, Linear, Log, Ordinal, | ||
Point, Pow, Quantile, | ||
Quantize, Sequential, Sqrt, Symlog, | ||
Temporal as T, | ||
Threshold, | ||
Time, | ||
UTC, | ||
Discretizing as Z | ||
} from './scales/types'; | ||
@@ -18,0 +18,0 @@ |
@@ -17,3 +17,3 @@ export default function(scale) { | ||
]; | ||
} | ||
}; | ||
} |
@@ -30,3 +30,3 @@ export default function(scale) { | ||
]; | ||
} | ||
}; | ||
} |
import bandSpace from './bandSpace'; | ||
import {range as sequence, bisectRight} from 'd3-array'; | ||
import {bisectRight, range as sequence} from 'd3-array'; | ||
import {scaleOrdinal as ordinal} from 'd3-scale'; | ||
@@ -4,0 +4,0 @@ |
@@ -1,2 +0,2 @@ | ||
import {discrete, continuous} from './palettes'; | ||
import {continuous, discrete} from './palettes'; | ||
import {interpolateColors} from './interpolate'; | ||
@@ -3,0 +3,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
86961
23
1704
6
+ Addedd3-format@^1.4.4
+ Addedvega-time@^1.1.0
+ Addedd3-format@1.4.5(transitive)
+ Addedd3-time@1.1.0(transitive)
+ Addedd3-time-format@2.3.0(transitive)
+ Addedvega-time@1.1.0(transitive)
- Removedd3-format@2.0.0(transitive)
Updatedvega-util@^1.13.2