Socket
Socket
Sign inDemoInstall

vega-encode

Package Overview
Dependencies
26
Maintainers
1
Versions
70
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 4.8.2 to 4.8.3

build/vega-encode.min.js.map

615

build/vega-encode.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vega-dataflow'), require('vega-scale'), require('vega-util'), require('d3-array'), require('d3-interpolate')) :
typeof define === 'function' && define.amd ? define(['exports', 'vega-dataflow', 'vega-scale', 'vega-util', 'd3-array', 'd3-interpolate'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.vega = global.vega || {}, global.vega.transforms = {}), global.vega, global.vega, global.vega, global.d3, global.d3));
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vega = {}, global.vega, global.vega, global.vega, global.d3, global.d3));
}(this, (function (exports, vegaDataflow, vegaScale, vegaUtil, d3Array, d3Interpolate) { 'use strict';

@@ -23,6 +23,6 @@

*/
function AxisTicks(params) {
vegaDataflow.Transform.call(this, null, params);
}
vegaUtil.inherits(AxisTicks, vegaDataflow.Transform, {

@@ -38,17 +38,13 @@ transform(_, pulse) {

scale = _.scale,
tally = _.count == null ? (_.values ? _.values.length : 10) : _.count,
tally = _.count == null ? _.values ? _.values.length : 10 : _.count,
count = vegaScale.tickCount(scale, tally, _.minstep),
format = _.format || vegaScale.tickFormat(locale, scale, count, _.formatSpecifier, _.formatType, !!_.values),
values = _.values ? vegaScale.validTicks(scale, _.values, count) : vegaScale.tickValues(scale, count);
if (ticks) out.rem = ticks;
ticks = values.map((value, i) => vegaDataflow.ingest({
index: i / (values.length - 1 || 1),
value: value,
label: format(value)
}));
ticks = values.map((value, i) =>
vegaDataflow.ingest({
index: i / (values.length - 1 || 1),
value: value,
label: format(value)
})
);
if (_.extra && ticks.length) {

@@ -59,3 +55,5 @@ // add an extra tick pegged to the initial domain value

index: -1,
extra: {value: ticks[0].value},
extra: {
value: ticks[0].value
},
label: ''

@@ -68,5 +66,5 @@ }));

this.value = ticks;
return out;
}
});

@@ -81,2 +79,3 @@

*/
function DataJoin(params) {

@@ -92,3 +91,5 @@ vegaDataflow.Transform.call(this, null, params);

const map = vegaUtil.fastmap().test(t => t.exit);
map.lookup = t => map.get(key(t));
return map;

@@ -103,6 +104,5 @@ }

key = _.key || vegaDataflow.tupleid,
map = this.value;
map = this.value; // prevent transient (e.g., hover) requests from
// cascading across marks derived from marks
// prevent transient (e.g., hover) requests from
// cascading across marks derived from marks
if (vegaUtil.isArray(out.encode)) {

@@ -141,3 +141,2 @@ out.encode = null;

});
pulse.visit(pulse.MOD, t => {

@@ -152,3 +151,2 @@ const k = key(t),

});
pulse.visit(pulse.REM, t => {

@@ -164,3 +162,2 @@ const k = key(t),

});
if (pulse.changed(pulse.ADD_MOD)) out.modifies('datum');

@@ -174,2 +171,3 @@

}
});

@@ -189,6 +187,6 @@

*/
function Encode(params) {
vegaDataflow.Transform.call(this, null, params);
}
vegaUtil.inherits(Encode, vegaDataflow.Transform, {

@@ -199,7 +197,6 @@ transform(_, pulse) {

encoders = _.encoders,
encode = pulse.encode;
// if an array, the encode directive includes additional sets
encode = pulse.encode; // if an array, the encode directive includes additional sets
// that must be defined in order for the primary set to be invoked
// e.g., only run the update set if the hover set is defined
if (vegaUtil.isArray(encode)) {

@@ -212,5 +209,5 @@ if (out.changed() || encode.every(e => encoders[e])) {

}
}
} // marshall encoder functions
// marshall encoder functions
var reenter = encode === 'enter',

@@ -223,7 +220,13 @@ update = encoders.update || vegaUtil.falsy,

if (pulse.changed(pulse.ADD)) {
pulse.visit(pulse.ADD, t => { enter(t, _); update(t, _); });
pulse.visit(pulse.ADD, t => {
enter(t, _);
update(t, _);
});
out.modifies(enter.output);
out.modifies(update.output);
if (set !== vegaUtil.falsy && set !== update) {
pulse.visit(pulse.ADD, t => { set(t, _); });
pulse.visit(pulse.ADD, t => {
set(t, _);
});
out.modifies(set.output);

@@ -234,3 +237,5 @@ }

if (pulse.changed(pulse.REM) && exit !== vegaUtil.falsy) {
pulse.visit(pulse.REM, t => { exit(t, _); });
pulse.visit(pulse.REM, t => {
exit(t, _);
});
out.modifies(exit.output);

@@ -240,6 +245,7 @@ }

if (reenter || set !== vegaUtil.falsy) {
var flag = pulse.MOD | (_.modified() ? pulse.REFLOW : 0);
const flag = pulse.MOD | (_.modified() ? pulse.REFLOW : 0);
if (reenter) {
pulse.visit(flag, t => {
var mod = enter(t, _) || fmod;
const mod = enter(t, _) || fmod;
if (set(t, _) || mod) out.mod.push(t);

@@ -253,2 +259,3 @@ });

}
if (out.mod.length) out.modifies(set.output);

@@ -259,2 +266,3 @@ }

}
});

@@ -280,6 +288,6 @@

*/
function LegendEntries(params) {
vegaDataflow.Transform.call(this, [], params);
}
vegaUtil.inherits(LegendEntries, vegaDataflow.Transform, {

@@ -294,3 +302,3 @@ transform(_, pulse) {

items = this.value,
type = _.type || vegaScale.SymbolLegend,
type = _.type || vegaScale.SymbolLegend,
scale = _.scale,

@@ -302,4 +310,7 @@ limit = +_.limit,

values = _.values || vegaScale.labelValues(scale, count),
domain, fraction, size, offset, ellipsis;
domain,
fraction,
size,
offset,
ellipsis;
if (items) out.rem = items;

@@ -320,4 +331,5 @@

items = items.slice(1);
}
// compute size offset for legend entries
} // compute size offset for legend entries
offset = items.reduce((max, value) => Math.max(max, size(value, _)), 0);

@@ -328,11 +340,9 @@ } else {

items = items.map((value, index) =>
vegaDataflow.ingest({
index: index,
label: format(value, index, items),
value: value,
offset: offset,
size: size(value, _)
})
);
items = items.map((value, index) => vegaDataflow.ingest({
index: index,
label: format(value, index, items),
value: value,
offset: offset,
size: size(value, _)
}));

@@ -342,17 +352,13 @@ if (ellipsis) {

items.push(vegaDataflow.ingest({
index: items.length,
label: `\u2026${values.length-items.length} entries`,
value: ellipsis,
offset: offset,
size: size(ellipsis, _)
index: items.length,
label: `\u2026${values.length - items.length} entries`,
value: ellipsis,
offset: offset,
size: size(ellipsis, _)
}));
}
}
} else if (type === vegaScale.GradientLegend) {
domain = scale.domain(), fraction = vegaScale.scaleFraction(scale, domain[0], vegaUtil.peek(domain)); // if automatic label generation produces 2 or fewer values,
// use the domain end points instead (fixes vega/vega#1364)
else if (type === vegaScale.GradientLegend) {
domain = scale.domain(),
fraction = vegaScale.scaleFraction(scale, domain[0], vegaUtil.peek(domain));
// if automatic label generation produces 2 or fewer values,
// use the domain end points instead (fixes vega/vega#1364)
if (values.length < 3 && !_.values && domain[0] !== vegaUtil.peek(domain)) {

@@ -362,25 +368,18 @@ values = [domain[0], vegaUtil.peek(domain)];

items = values.map((value, index) =>
vegaDataflow.ingest({
index: index,
label: format(value, index, values),
value: value,
perc: fraction(value)
})
);
}
else {
items = values.map((value, index) => vegaDataflow.ingest({
index: index,
label: format(value, index, values),
value: value,
perc: fraction(value)
}));
} else {
size = values.length - 1;
fraction = vegaScale.labelFraction(scale);
items = values.map((value, index) =>
vegaDataflow.ingest({
index: index,
label: format(value, index, values),
value: value,
perc: index ? fraction(value) : 0,
perc2: index === size ? 1 : fraction(values[index+1])
})
);
items = values.map((value, index) => vegaDataflow.ingest({
index: index,
label: format(value, index, values),
value: value,
perc: index ? fraction(value) : 0,
perc2: index === size ? 1 : fraction(values[index + 1])
}));
}

@@ -391,38 +390,64 @@

this.value = items;
return out;
}
});
const sourceX = t => t.source.x;
const sourceY = t => t.source.y;
const targetX = t => t.target.x;
const targetY = t => t.target.y;
/**
* Layout paths linking source and target elements.
* @constructor
* @param {object} params - The parameters for this operator.
*/
/**
* Layout paths linking source and target elements.
* @constructor
* @param {object} params - The parameters for this operator.
*/
function LinkPath(params) {
vegaDataflow.Transform.call(this, {}, params);
}
LinkPath.Definition = {
'type': 'LinkPath',
'metadata': {'modifies': true},
'params': [
{ 'name': 'sourceX', 'type': 'field', 'default': 'source.x' },
{ 'name': 'sourceY', 'type': 'field', 'default': 'source.y' },
{ 'name': 'targetX', 'type': 'field', 'default': 'target.x' },
{ 'name': 'targetY', 'type': 'field', 'default': 'target.y' },
{ 'name': 'orient', 'type': 'enum', 'default': 'vertical',
'values': ['horizontal', 'vertical', 'radial'] },
{ 'name': 'shape', 'type': 'enum', 'default': 'line',
'values': ['line', 'arc', 'curve', 'diagonal', 'orthogonal'] },
{ 'name': 'require', 'type': 'signal' },
{ 'name': 'as', 'type': 'string', 'default': 'path' }
]
'metadata': {
'modifies': true
},
'params': [{
'name': 'sourceX',
'type': 'field',
'default': 'source.x'
}, {
'name': 'sourceY',
'type': 'field',
'default': 'source.y'
}, {
'name': 'targetX',
'type': 'field',
'default': 'target.x'
}, {
'name': 'targetY',
'type': 'field',
'default': 'target.y'
}, {
'name': 'orient',
'type': 'enum',
'default': 'vertical',
'values': ['horizontal', 'vertical', 'radial']
}, {
'name': 'shape',
'type': 'enum',
'default': 'line',
'values': ['line', 'arc', 'curve', 'diagonal', 'orthogonal']
}, {
'name': 'require',
'type': 'signal'
}, {
'name': 'as',
'type': 'string',
'default': 'path'
}]
};
vegaUtil.inherits(LinkPath, vegaDataflow.Transform, {

@@ -440,4 +465,3 @@ transform(_, pulse) {

if (!path) {
vegaUtil.error('LinkPath unsupported type: ' + _.shape
+ (_.orient ? '-' + _.orient : ''));
vegaUtil.error('LinkPath unsupported type: ' + _.shape + (_.orient ? '-' + _.orient : ''));
}

@@ -448,15 +472,10 @@

});
return pulse.reflow(_.modified()).modifies(as);
}
});
const line = (sx, sy, tx, ty) =>
'M' + sx + ',' + sy +
'L' + tx + ',' + ty;
const line = (sx, sy, tx, ty) => 'M' + sx + ',' + sy + 'L' + tx + ',' + ty;
const lineR= (sa, sr, ta, tr) => line(
sr * Math.cos(sa), sr * Math.sin(sa),
tr * Math.cos(ta), tr * Math.sin(ta)
);
const lineR = (sa, sr, ta, tr) => line(sr * Math.cos(sa), sr * Math.sin(sa), tr * Math.cos(ta), tr * Math.sin(ta));

@@ -468,12 +487,6 @@ const arc = (sx, sy, tx, ty) => {

ra = 180 * Math.atan2(dy, dx) / Math.PI;
return 'M' + sx + ',' + sy +
'A' + rr + ',' + rr +
' ' + ra + ' 0 1' +
' ' + tx + ',' + ty;
return 'M' + sx + ',' + sy + 'A' + rr + ',' + rr + ' ' + ra + ' 0 1' + ' ' + tx + ',' + ty;
};
const arcR = (sa, sr, ta, tr) => arc(
sr * Math.cos(sa), sr * Math.sin(sa),
tr * Math.cos(ta), tr * Math.sin(ta)
);
const arcR = (sa, sr, ta, tr) => arc(sr * Math.cos(sa), sr * Math.sin(sa), tr * Math.cos(ta), tr * Math.sin(ta));

@@ -485,20 +498,10 @@ const curve = (sx, sy, tx, ty) => {

iy = 0.2 * (dy - dx);
return 'M' + sx + ',' + sy +
'C' + (sx+ix) + ',' + (sy+iy) +
' ' + (tx+iy) + ',' + (ty-ix) +
' ' + tx + ',' + ty;
return 'M' + sx + ',' + sy + 'C' + (sx + ix) + ',' + (sy + iy) + ' ' + (tx + iy) + ',' + (ty - ix) + ' ' + tx + ',' + ty;
};
const curveR = (sa, sr, ta, tr) => curve(
sr * Math.cos(sa), sr * Math.sin(sa),
tr * Math.cos(ta), tr * Math.sin(ta)
);
const curveR = (sa, sr, ta, tr) => curve(sr * Math.cos(sa), sr * Math.sin(sa), tr * Math.cos(ta), tr * Math.sin(ta));
const orthoX = (sx, sy, tx, ty) =>
'M' + sx + ',' + sy +
'V' + ty + 'H' + tx;
const orthoX = (sx, sy, tx, ty) => 'M' + sx + ',' + sy + 'V' + ty + 'H' + tx;
const orthoY = (sx, sy, tx, ty) =>
'M' + sx + ',' + sy +
'H' + tx + 'V' + ty;
const orthoY = (sx, sy, tx, ty) => 'M' + sx + ',' + sy + 'H' + tx + 'V' + ty;

@@ -511,6 +514,3 @@ const orthoR = (sa, sr, ta, tr) => {

sf = Math.abs(ta - sa) > Math.PI ? ta <= sa : ta > sa;
return 'M' + (sr*sc) + ',' + (sr*ss) +
'A' + sr + ',' + sr + ' 0 0,' + (sf?1:0) +
' ' + (sr*tc) + ',' + (sr*ts) +
'L' + (tr*tc) + ',' + (tr*ts);
return 'M' + sr * sc + ',' + sr * ss + 'A' + sr + ',' + sr + ' 0 0,' + (sf ? 1 : 0) + ' ' + sr * tc + ',' + sr * ts + 'L' + tr * tc + ',' + tr * ts;
};

@@ -520,6 +520,3 @@

const m = (sx + tx) / 2;
return 'M' + sx + ',' + sy +
'C' + m + ',' + sy +
' ' + m + ',' + ty +
' ' + tx + ',' + ty;
return 'M' + sx + ',' + sy + 'C' + m + ',' + sy + ' ' + m + ',' + ty + ' ' + tx + ',' + ty;
};

@@ -529,6 +526,3 @@

const m = (sy + ty) / 2;
return 'M' + sx + ',' + sy +
'C' + sx + ',' + m +
' ' + tx + ',' + m +
' ' + tx + ',' + ty;
return 'M' + sx + ',' + sy + 'C' + sx + ',' + m + ' ' + tx + ',' + m + ' ' + tx + ',' + ty;
};

@@ -542,6 +536,3 @@

mr = (sr + tr) / 2;
return 'M' + (sr*sc) + ',' + (sr*ss) +
'C' + (mr*sc) + ',' + (mr*ss) +
' ' + (mr*tc) + ',' + (mr*ts) +
' ' + (tr*tc) + ',' + (tr*ts);
return 'M' + sr * sc + ',' + sr * ss + 'C' + mr * sc + ',' + mr * ss + ' ' + mr * tc + ',' + mr * ts + ' ' + tr * tc + ',' + tr * ts;
};

@@ -573,18 +564,34 @@

*/
function Pie(params) {
vegaDataflow.Transform.call(this, null, params);
}
Pie.Definition = {
'type': 'Pie',
'metadata': {'modifies': true},
'params': [
{ 'name': 'field', 'type': 'field' },
{ 'name': 'startAngle', 'type': 'number', 'default': 0 },
{ 'name': 'endAngle', 'type': 'number', 'default': 6.283185307179586 },
{ 'name': 'sort', 'type': 'boolean', 'default': false },
{ 'name': 'as', 'type': 'string', 'array': true, 'length': 2, 'default': ['startAngle', 'endAngle'] }
]
'metadata': {
'modifies': true
},
'params': [{
'name': 'field',
'type': 'field'
}, {
'name': 'startAngle',
'type': 'number',
'default': 0
}, {
'name': 'endAngle',
'type': 'number',
'default': 6.283185307179586
}, {
'name': 'sort',
'type': 'boolean',
'default': false
}, {
'name': 'as',
'type': 'string',
'array': true,
'length': 2,
'default': ['startAngle', 'endAngle']
}]
};
vegaUtil.inherits(Pie, vegaDataflow.Transform, {

@@ -604,3 +611,5 @@ transform(_, pulse) {

index = d3Array.range(n),
i, t, v;
i,
t,
v;

@@ -611,7 +620,7 @@ if (_.sort) {

for (i=0; i<n; ++i) {
for (i = 0; i < n; ++i) {
v = values[index[i]];
t = data[index[i]];
t[startAngle] = a;
t[endAngle] = (a += v * k);
t[endAngle] = a += v * k;
}

@@ -622,2 +631,3 @@

}
});

@@ -629,5 +639,3 @@

const type = scale.type;
return !scale.bins && (
type === vegaScale.Linear || type === vegaScale.Pow || type === vegaScale.Sqrt
);
return !scale.bins && (type === vegaScale.Linear || type === vegaScale.Pow || type === vegaScale.Sqrt);
}

@@ -639,9 +647,3 @@

const SKIP = vegaUtil.toSet([
'set', 'modified', 'clear', 'type', 'scheme', 'schemeExtent', 'schemeCount',
'domain', 'domainMin', 'domainMid', 'domainMax',
'domainRaw', 'domainImplicit', 'nice', 'zero', 'bins',
'range', 'rangeStep', 'round', 'reverse', 'interpolate', 'interpolateGamma'
]);
const SKIP = vegaUtil.toSet(['set', 'modified', 'clear', 'type', 'scheme', 'schemeExtent', 'schemeCount', 'domain', 'domainMin', 'domainMid', 'domainMax', 'domainRaw', 'domainImplicit', 'nice', 'zero', 'bins', 'range', 'rangeStep', 'round', 'reverse', 'interpolate', 'interpolateGamma']);
/**

@@ -652,2 +654,3 @@ * Maintains a scale function mapping data values to visual channels.

*/
function Scale(params) {

@@ -657,3 +660,2 @@ vegaDataflow.Transform.call(this, null, params);

}
vegaUtil.inherits(Scale, vegaDataflow.Transform, {

@@ -671,33 +673,26 @@ transform(_, pulse) {

// padding is a scale property for band/point but not others
if (key === 'padding' && includePad(scale.type)) continue;
// invoke scale property setter, raise warning if not found
vegaUtil.isFunction(scale[key])
? scale[key](_[key])
: df.warn('Unsupported scale property: ' + key);
if (key === 'padding' && includePad(scale.type)) continue; // invoke scale property setter, raise warning if not found
vegaUtil.isFunction(scale[key]) ? scale[key](_[key]) : df.warn('Unsupported scale property: ' + key);
}
configureRange(scale, _,
configureBins(scale, _, configureDomain(scale, _, df))
);
configureRange(scale, _, configureBins(scale, _, configureDomain(scale, _, df)));
return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);
}
});
function scaleKey(_) {
var t = _.type, d = '', n;
var t = _.type,
d = '',
n; // backwards compatibility pre Vega 5.
// backwards compatibility pre Vega 5.
if (t === vegaScale.Sequential) return vegaScale.Sequential + '-' + vegaScale.Linear;
if (isContinuousColor(_)) {
n = _.rawDomain ? _.rawDomain.length
: _.domain ? _.domain.length + +(_.domainMid != null)
: 0;
d = n === 2 ? vegaScale.Sequential + '-'
: n === 3 ? vegaScale.Diverging + '-'
: '';
n = _.rawDomain ? _.rawDomain.length : _.domain ? _.domain.length + +(_.domainMid != null) : 0;
d = n === 2 ? vegaScale.Sequential + '-' : n === 3 ? vegaScale.Diverging + '-' : '';
}
return ((d + t) || vegaScale.Linear).toLowerCase();
return (d + t || vegaScale.Linear).toLowerCase();
}

@@ -707,5 +702,3 @@

const t = _.type;
return vegaScale.isContinuous(t) && t !== vegaScale.Time && t !== vegaScale.UTC && (
_.scheme || _.range && _.range.length && _.range.every(vegaUtil.isString)
);
return vegaScale.isContinuous(t) && t !== vegaScale.Time && t !== vegaScale.UTC && (_.scheme || _.range && _.range.length && _.range.every(vegaUtil.isString));
}

@@ -715,20 +708,19 @@

// check raw domain, if provided use that and exit early
var raw = rawDomain(scale, _.domainRaw, df);
const raw = rawDomain(scale, _.domainRaw, df);
if (raw > -1) return raw;
var domain = _.domain,
type = scale.type,
zero = _.zero || (_.zero === undefined && includeZero(scale)),
n, mid;
zero = _.zero || _.zero === undefined && includeZero(scale),
n,
mid;
if (!domain) return 0; // adjust continuous domain for minimum pixel padding
if (!domain) return 0;
// adjust continuous domain for minimum pixel padding
if (includePad(type) && _.padding && domain[0] !== vegaUtil.peek(domain)) {
domain = padDomain(type, domain, _.range, _.padding, _.exponent, _.constant);
}
} // adjust domain based on zero, min, max settings
// adjust domain based on zero, min, max settings
if (zero || _.domainMin != null || _.domainMax != null || _.domainMid != null) {
n = ((domain = domain.slice()).length - 1) || 1;
n = (domain = domain.slice()).length - 1 || 1;
if (zero) {

@@ -738,2 +730,3 @@ if (domain[0] > 0) domain[0] = 0;

}
if (_.domainMin != null) domain[0] = _.domainMin;

@@ -748,19 +741,18 @@ if (_.domainMax != null) domain[n] = _.domainMax;

}
}
} // set the scale domain
// set the scale domain
scale.domain(domainCheck(type, domain, df));
// if ordinal scale domain is defined, prevent implicit
scale.domain(domainCheck(type, domain, df)); // if ordinal scale domain is defined, prevent implicit
// domain construction as side-effect of scale lookup
if (type === vegaScale.Ordinal) {
scale.unknown(_.domainImplicit ? vegaScale.scaleImplicit : undefined);
}
} // perform 'nice' adjustment as requested
// perform 'nice' adjustment as requested
if (_.nice && scale.nice) {
scale.nice((_.nice !== true && vegaScale.tickCount(scale, _.nice)) || null);
}
scale.nice(_.nice !== true && vegaScale.tickCount(scale, _.nice) || null);
} // return the cardinality of the domain
// return the cardinality of the domain
return domain.length;

@@ -781,11 +773,6 @@ }

frac = span / (span - 2 * pad),
d = type === vegaScale.Log ? vegaUtil.zoomLog(domain, null, frac)
: type === vegaScale.Sqrt ? vegaUtil.zoomPow(domain, null, frac, 0.5)
: type === vegaScale.Pow ? vegaUtil.zoomPow(domain, null, frac, exponent || 1)
: type === vegaScale.Symlog ? vegaUtil.zoomSymlog(domain, null, frac, constant || 1)
: vegaUtil.zoomLinear(domain, null, frac);
d = type === vegaScale.Log ? vegaUtil.zoomLog(domain, null, frac) : type === vegaScale.Sqrt ? vegaUtil.zoomPow(domain, null, frac, 0.5) : type === vegaScale.Pow ? vegaUtil.zoomPow(domain, null, frac, exponent || 1) : type === vegaScale.Symlog ? vegaUtil.zoomSymlog(domain, null, frac, constant || 1) : vegaUtil.zoomLinear(domain, null, frac);
domain = domain.slice();
domain[0] = d[0];
domain[domain.length-1] = d[1];
domain[domain.length - 1] = d[1];
return domain;

@@ -804,2 +791,3 @@ }

}
return domain;

@@ -817,6 +805,4 @@ }

step = bins.step;
let start = bins.start == null ? lo : bins.start,
stop = bins.stop == null ? hi : bins.stop;
if (!step) vegaUtil.error('Scale bins parameter missing step property.');

@@ -834,5 +820,5 @@ if (start < lo) start = step * Math.ceil(lo / step);

delete scale.bins;
}
} // special handling for bin-ordinal scales
// special handling for bin-ordinal scales
if (scale.type === vegaScale.BinOrdinal) {

@@ -847,5 +833,5 @@ if (!bins) {

}
}
} // return domain cardinality
// return domain cardinality
return count;

@@ -857,29 +843,25 @@ }

round = _.round || false,
range = _.range;
range = _.range; // if range step specified, calculate full range extent
// if range step specified, calculate full range extent
if (_.rangeStep != null) {
range = configureRangeStep(type, _, count);
}
} // else if a range scheme is defined, use that
else if (_.scheme) {
range = configureScheme(type, _, count);
// else if a range scheme is defined, use that
else if (_.scheme) {
range = configureScheme(type, _, count);
if (vegaUtil.isFunction(range)) {
if (scale.interpolator) {
return scale.interpolator(range);
} else {
vegaUtil.error(`Scale type ${type} does not support interpolating color schemes.`);
if (vegaUtil.isFunction(range)) {
if (scale.interpolator) {
return scale.interpolator(range);
} else {
vegaUtil.error(`Scale type ${type} does not support interpolating color schemes.`);
}
}
}
}
} // given a range array for an interpolating scale, convert to interpolator
// given a range array for an interpolating scale, convert to interpolator
if (range && vegaScale.isInterpolating(type)) {
return scale.interpolator(
vegaScale.interpolateColors(flip(range, _.reverse), _.interpolate, _.interpolateGamma)
);
}
return scale.interpolator(vegaScale.interpolateColors(flip(range, _.reverse), _.interpolate, _.interpolateGamma));
} // configure rounding / interpolation
// configure rounding / interpolation
if (range && _.interpolate && scale.interpolate) {

@@ -899,8 +881,7 @@ scale.interpolate(vegaScale.interpolate(_.interpolate, _.interpolateGamma));

vegaUtil.error('Only band and point scales support rangeStep.');
}
} // calculate full range based on requested step size and padding
// calculate full range based on requested step size and padding
var outer = (_.paddingOuter != null ? _.paddingOuter : _.padding) || 0,
inner = type === vegaScale.Point ? 1
: ((_.paddingInner != null ? _.paddingInner : _.padding) || 0);
inner = type === vegaScale.Point ? 1 : (_.paddingInner != null ? _.paddingInner : _.padding) || 0;
return [0, _.rangeStep * vegaScale.bandSpace(count, inner, outer)];

@@ -911,3 +892,4 @@ }

var extent = _.schemeExtent,
name, scheme;
name,
scheme;

@@ -920,20 +902,12 @@ if (vegaUtil.isArray(_.scheme)) {

if (!scheme) vegaUtil.error(`Unrecognized scheme name: ${_.scheme}`);
}
} // determine size for potential discrete range
// determine size for potential discrete range
count = (type === vegaScale.Threshold) ? count + 1
: (type === vegaScale.BinOrdinal) ? count - 1
: (type === vegaScale.Quantile || type === vegaScale.Quantize) ? (+_.schemeCount || DEFAULT_COUNT)
: count;
// adjust and/or quantize scheme as appropriate
return vegaScale.isInterpolating(type) ? adjustScheme(scheme, extent, _.reverse)
: vegaUtil.isFunction(scheme) ? vegaScale.quantizeInterpolator(adjustScheme(scheme, extent), count)
: type === vegaScale.Ordinal ? scheme : scheme.slice(0, count);
count = type === vegaScale.Threshold ? count + 1 : type === vegaScale.BinOrdinal ? count - 1 : type === vegaScale.Quantile || type === vegaScale.Quantize ? +_.schemeCount || DEFAULT_COUNT : count; // adjust and/or quantize scheme as appropriate
return vegaScale.isInterpolating(type) ? adjustScheme(scheme, extent, _.reverse) : vegaUtil.isFunction(scheme) ? vegaScale.quantizeInterpolator(adjustScheme(scheme, extent), count) : type === vegaScale.Ordinal ? scheme : scheme.slice(0, count);
}
function adjustScheme(scheme, extent, reverse) {
return (vegaUtil.isFunction(scheme) && (extent || reverse))
? vegaScale.interpolateRange(scheme, flip(extent || [0, 1], reverse))
: scheme;
return vegaUtil.isFunction(scheme) && (extent || reverse) ? vegaScale.interpolateRange(scheme, flip(extent || [0, 1], reverse)) : scheme;
}

@@ -952,18 +926,14 @@

*/
function SortItems(params) {
vegaDataflow.Transform.call(this, null, params);
}
vegaUtil.inherits(SortItems, vegaDataflow.Transform, {
transform(_, pulse) {
const mod = _.modified('sort')
|| pulse.changed(pulse.ADD)
|| pulse.modified(_.sort.fields)
|| pulse.modified('datum');
const mod = _.modified('sort') || pulse.changed(pulse.ADD) || pulse.modified(_.sort.fields) || pulse.modified('datum');
if (mod) pulse.source.sort(vegaDataflow.stableCompare(_.sort));
this.modified(mod);
return pulse;
}
});

@@ -975,3 +945,2 @@

DefOutput = ['y0', 'y1'];
/**

@@ -986,18 +955,34 @@ * Stack layout for visualization elements.

*/
function Stack(params) {
vegaDataflow.Transform.call(this, null, params);
}
Stack.Definition = {
'type': 'Stack',
'metadata': {'modifies': true},
'params': [
{ 'name': 'field', 'type': 'field' },
{ 'name': 'groupby', 'type': 'field', 'array': true },
{ 'name': 'sort', 'type': 'compare' },
{ 'name': 'offset', 'type': 'enum', 'default': Zero, 'values': [Zero, Center, Normalize] },
{ 'name': 'as', 'type': 'string', 'array': true, 'length': 2, 'default': DefOutput }
]
'metadata': {
'modifies': true
},
'params': [{
'name': 'field',
'type': 'field'
}, {
'name': 'groupby',
'type': 'field',
'array': true
}, {
'name': 'sort',
'type': 'compare'
}, {
'name': 'offset',
'type': 'enum',
'default': Zero,
'values': [Zero, Center, Normalize]
}, {
'name': 'as',
'type': 'string',
'array': true,
'length': 2,
'default': DefOutput
}]
};
vegaUtil.inherits(Stack, vegaDataflow.Transform, {

@@ -1010,12 +995,11 @@ transform(_, pulse) {

field = _.field || vegaUtil.one,
stack = _.offset === Center ? stackCenter
: _.offset === Normalize ? stackNormalize
: stackZero,
groups, i, n, max;
stack = _.offset === Center ? stackCenter : _.offset === Normalize ? stackNormalize : stackZero,
groups,
i,
n,
max; // partition, sum, and sort the stack groups
// partition, sum, and sort the stack groups
groups = partition(pulse.source, _.groupby, sort, field);
groups = partition(pulse.source, _.groupby, sort, field); // compute stack layouts per group
// compute stack layouts per group
for (i=0, n=groups.length, max=groups.max; i<n; ++i) {
for (i = 0, n = groups.length, max = groups.max; i < n; ++i) {
stack(groups[i], max, field, y0, y1);

@@ -1026,2 +1010,3 @@ }

}
});

@@ -1032,8 +1017,9 @@

m = group.length,
j = 0, t;
j = 0,
t;
for (; j<m; ++j) {
for (; j < m; ++j) {
t = group[j];
t[y0] = last;
t[y1] = (last += Math.abs(field(t)));
t[y1] = last += Math.abs(field(t));
}

@@ -1046,5 +1032,7 @@ }

m = group.length,
j = 0, v = 0, t;
j = 0,
v = 0,
t;
for (; j<m; ++j) {
for (; j < m; ++j) {
t = group[j];

@@ -1060,13 +1048,16 @@ t[y0] = last;

m = group.length,
j = 0, v, t;
j = 0,
v,
t;
for (; j<m; ++j) {
for (; j < m; ++j) {
t = group[j];
v = +field(t);
if (v < 0) {
t[y0] = lastNeg;
t[y1] = (lastNeg += v);
t[y1] = lastNeg += v;
} else {
t[y0] = lastPos;
t[y1] = (lastPos += v);
t[y1] = lastPos += v;
}

@@ -1079,26 +1070,38 @@ }

get = f => f(t),
map, i, n, m, t, k, g, s, max;
map,
i,
n,
m,
t,
k,
g,
s,
max; // partition data points into stack groups
// partition data points into stack groups
if (groupby == null) {
groups.push(data.slice());
} else {
for (map={}, i=0, n=data.length; i<n; ++i) {
for (map = {}, i = 0, n = data.length; i < n; ++i) {
t = data[i];
k = groupby.map(get);
g = map[k];
if (!g) {
map[k] = (g = []);
map[k] = g = [];
groups.push(g);
}
g.push(t);
}
}
} // compute sums of groups, sort groups as needed
// compute sums of groups, sort groups as needed
for (k=0, max=0, m=groups.length; k<m; ++k) {
for (k = 0, max = 0, m = groups.length; k < m; ++k) {
g = groups[k];
for (i=0, s=0, n=g.length; i<n; ++i) {
for (i = 0, s = 0, n = g.length; i < n; ++i) {
s += Math.abs(field(g[i]));
}
g.sum = s;

@@ -1108,4 +1111,4 @@ if (s > max) max = s;

}
groups.max = max;
return groups;

@@ -1112,0 +1115,0 @@ }

@@ -1,1 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega-dataflow"),require("vega-scale"),require("vega-util"),require("d3-array"),require("d3-interpolate")):"function"==typeof define&&define.amd?define(["exports","vega-dataflow","vega-scale","vega-util","d3-array","d3-interpolate"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).vega=e.vega||{},e.vega.transforms={}),e.vega,e.vega,e.vega,e.d3,e.d3)}(this,(function(e,t,n,a,i,r){"use strict";function o(e){t.Transform.call(this,null,e)}function l(e){t.Transform.call(this,null,e)}function s(){return t.ingest({})}function u(e){t.Transform.call(this,null,e)}function d(e){t.Transform.call(this,[],e)}a.inherits(o,t.Transform,{transform(e,a){if(this.value&&!e.modified())return a.StopPropagation;var i=a.dataflow.locale(),r=a.fork(a.NO_SOURCE|a.NO_FIELDS),o=this.value,l=e.scale,s=null==e.count?e.values?e.values.length:10:e.count,u=n.tickCount(l,s,e.minstep),d=e.format||n.tickFormat(i,l,u,e.formatSpecifier,e.formatType,!!e.values),m=e.values?n.validTicks(l,e.values,u):n.tickValues(l,u);return o&&(r.rem=o),o=m.map((e,n)=>t.ingest({index:n/(m.length-1||1),value:e,label:d(e)})),e.extra&&o.length&&o.push(t.ingest({index:-1,extra:{value:o[0].value},label:""})),r.source=o,r.add=o,this.value=o,r}}),a.inherits(l,t.Transform,{transform(e,n){var i=n.dataflow,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),o=e.item||s,l=e.key||t.tupleid,u=this.value;return a.isArray(r.encode)&&(r.encode=null),u&&(e.modified("key")||n.modified(l))&&a.error("DataJoin does not support modified key function or fields."),u||(n=n.addAll(),this.value=u=function(e){const t=a.fastmap().test(e=>e.exit);return t.lookup=n=>t.get(e(n)),t}(l)),n.visit(n.ADD,e=>{const t=l(e);let n=u.get(t);n?n.exit?(u.empty--,r.add.push(n)):r.mod.push(n):(n=o(e),u.set(t,n),r.add.push(n)),n.datum=e,n.exit=!1}),n.visit(n.MOD,e=>{const t=l(e),n=u.get(t);n&&(n.datum=e,r.mod.push(n))}),n.visit(n.REM,e=>{const t=l(e),n=u.get(t);e!==n.datum||n.exit||(r.rem.push(n),n.exit=!0,++u.empty)}),n.changed(n.ADD_MOD)&&r.modifies("datum"),(n.clean()||e.clean&&u.empty>i.cleanThreshold)&&i.runAfter(u.clean),r}}),a.inherits(u,t.Transform,{transform(e,t){var n=t.fork(t.ADD_REM),i=e.mod||!1,r=e.encoders,o=t.encode;if(a.isArray(o)){if(!n.changed()&&!o.every(e=>r[e]))return t.StopPropagation;o=o[0],n.encode=null}var l="enter"===o,s=r.update||a.falsy,u=r.enter||a.falsy,d=r.exit||a.falsy,m=(o&&!l?r[o]:s)||a.falsy;if(t.changed(t.ADD)&&(t.visit(t.ADD,t=>{u(t,e),s(t,e)}),n.modifies(u.output),n.modifies(s.output),m!==a.falsy&&m!==s&&(t.visit(t.ADD,t=>{m(t,e)}),n.modifies(m.output))),t.changed(t.REM)&&d!==a.falsy&&(t.visit(t.REM,t=>{d(t,e)}),n.modifies(d.output)),l||m!==a.falsy){var c=t.MOD|(e.modified()?t.REFLOW:0);l?(t.visit(c,t=>{var a=u(t,e)||i;(m(t,e)||a)&&n.mod.push(t)}),n.mod.length&&n.modifies(u.output)):t.visit(c,t=>{(m(t,e)||i)&&n.mod.push(t)}),n.mod.length&&n.modifies(m.output)}return n.changed()?n:t.StopPropagation}}),a.inherits(d,t.Transform,{transform(e,i){if(null!=this.value&&!e.modified())return i.StopPropagation;var r,o,l,s,u,d=i.dataflow.locale(),m=i.fork(i.NO_SOURCE|i.NO_FIELDS),c=this.value,f=e.type||n.SymbolLegend,p=e.scale,h=+e.limit,g=n.tickCount(p,null==e.count?5:e.count,e.minstep),v=!!e.values||f===n.SymbolLegend,y=e.format||n.labelFormat(d,p,g,f,e.formatSpecifier,e.formatType,v),M=e.values||n.labelValues(p,g);return c&&(m.rem=c),f===n.SymbolLegend?(h&&M.length>h?(i.dataflow.warn("Symbol legend count exceeds limit, filtering items."),c=M.slice(0,h-1),u=!0):c=M,a.isFunction(l=e.size)?(e.values||0!==p(c[0])||(c=c.slice(1)),s=c.reduce((t,n)=>Math.max(t,l(n,e)),0)):l=a.constant(s=l||8),c=c.map((n,a)=>t.ingest({index:a,label:y(n,a,c),value:n,offset:s,size:l(n,e)})),u&&(u=M[c.length],c.push(t.ingest({index:c.length,label:`…${M.length-c.length} entries`,value:u,offset:s,size:l(u,e)})))):f===n.GradientLegend?(r=p.domain(),o=n.scaleFraction(p,r[0],a.peek(r)),M.length<3&&!e.values&&r[0]!==a.peek(r)&&(M=[r[0],a.peek(r)]),c=M.map((e,n)=>t.ingest({index:n,label:y(e,n,M),value:e,perc:o(e)}))):(l=M.length-1,o=n.labelFraction(p),c=M.map((e,n)=>t.ingest({index:n,label:y(e,n,M),value:e,perc:n?o(e):0,perc2:n===l?1:o(M[n+1])}))),m.source=c,m.add=c,this.value=c,m}});const m=e=>e.source.x,c=e=>e.source.y,f=e=>e.target.x,p=e=>e.target.y;function h(e){t.Transform.call(this,{},e)}h.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},a.inherits(h,t.Transform,{transform(e,t){var n=e.sourceX||m,i=e.sourceY||c,r=e.targetX||f,o=e.targetY||p,l=e.as||"path",s=e.orient||"vertical",u=e.shape||"line",d=M.get(u+"-"+s)||M.get(u);return d||a.error("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,e=>{e[l]=d(n(e),i(e),r(e),o(e))}),t.reflow(e.modified()).modifies(l)}});const g=(e,t,n,a)=>"M"+e+","+t+"L"+n+","+a,v=(e,t,n,a)=>{var i=n-e,r=a-t,o=Math.sqrt(i*i+r*r)/2;return"M"+e+","+t+"A"+o+","+o+" "+180*Math.atan2(r,i)/Math.PI+" 0 1 "+n+","+a},y=(e,t,n,a)=>{const i=n-e,r=a-t,o=.2*(i+r),l=.2*(r-i);return"M"+e+","+t+"C"+(e+o)+","+(t+l)+" "+(n+l)+","+(a-o)+" "+n+","+a},M=a.fastmap({line:g,"line-radial":(e,t,n,a)=>g(t*Math.cos(e),t*Math.sin(e),a*Math.cos(n),a*Math.sin(n)),arc:v,"arc-radial":(e,t,n,a)=>v(t*Math.cos(e),t*Math.sin(e),a*Math.cos(n),a*Math.sin(n)),curve:y,"curve-radial":(e,t,n,a)=>y(t*Math.cos(e),t*Math.sin(e),a*Math.cos(n),a*Math.sin(n)),"orthogonal-horizontal":(e,t,n,a)=>"M"+e+","+t+"V"+a+"H"+n,"orthogonal-vertical":(e,t,n,a)=>"M"+e+","+t+"H"+n+"V"+a,"orthogonal-radial":(e,t,n,a)=>{const i=Math.cos(e),r=Math.sin(e),o=Math.cos(n),l=Math.sin(n);return"M"+t*i+","+t*r+"A"+t+","+t+" 0 0,"+((Math.abs(n-e)>Math.PI?n<=e:n>e)?1:0)+" "+t*o+","+t*l+"L"+a*o+","+a*l},"diagonal-horizontal":(e,t,n,a)=>{const i=(e+n)/2;return"M"+e+","+t+"C"+i+","+t+" "+i+","+a+" "+n+","+a},"diagonal-vertical":(e,t,n,a)=>{const i=(t+a)/2;return"M"+e+","+t+"C"+e+","+i+" "+n+","+i+" "+n+","+a},"diagonal-radial":(e,t,n,a)=>{const i=Math.cos(e),r=Math.sin(e),o=Math.cos(n),l=Math.sin(n),s=(t+a)/2;return"M"+t*i+","+t*r+"C"+s*i+","+s*r+" "+s*o+","+s*l+" "+a*o+","+a*l}});function b(e){t.Transform.call(this,null,e)}b.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},a.inherits(b,t.Transform,{transform(e,t){var n,r,o,l=e.as||["startAngle","endAngle"],s=l[0],u=l[1],d=e.field||a.one,m=e.startAngle||0,c=null!=e.endAngle?e.endAngle:2*Math.PI,f=t.source,p=f.map(d),h=p.length,g=m,v=(c-m)/i.sum(p),y=i.range(h);for(e.sort&&y.sort((e,t)=>p[e]-p[t]),n=0;n<h;++n)o=p[y[n]],(r=f[y[n]])[s]=g,r[u]=g+=o*v;return this.value=p,t.reflow(e.modified()).modifies(l)}});function S(e){return n.isContinuous(e)&&e!==n.Sequential}const x=a.toSet(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function k(e){t.Transform.call(this,null,e),this.modified(!0)}function D(e,t,i){n.isLogarithmic(e)&&(Math.abs(t.reduce((e,t)=>e+(t<0?-1:t>0?1:0),0))!==t.length&&i.warn("Log scale domain includes zero: "+a.stringValue(t)));return t}function T(e,t,i){return a.isFunction(e)&&(t||i)?n.interpolateRange(e,w(t||[0,1],i)):e}function w(e,t){return t?e.slice().reverse():e}function O(e){t.Transform.call(this,null,e)}a.inherits(k,t.Transform,{transform(e,t){var o=t.dataflow,l=this.value,s=function(e){var t,i=e.type,r="";if(i===n.Sequential)return n.Sequential+"-"+n.Linear;(function(e){const t=e.type;return n.isContinuous(t)&&t!==n.Time&&t!==n.UTC&&(e.scheme||e.range&&e.range.length&&e.range.every(a.isString))})(e)&&(r=2===(t=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(null!=e.domainMid):0)?n.Sequential+"-":3===t?n.Diverging+"-":"");return(r+i||n.Linear).toLowerCase()}(e);for(s in l&&s===l.type||(this.value=l=n.scale(s)()),e)if(!x[s]){if("padding"===s&&S(l.type))continue;a.isFunction(l[s])?l[s](e[s]):o.warn("Unsupported scale property: "+s)}return function(e,t,i){var o=e.type,l=t.round||!1,s=t.range;if(null!=t.rangeStep)s=function(e,t,i){e!==n.Band&&e!==n.Point&&a.error("Only band and point scales support rangeStep.");var r=(null!=t.paddingOuter?t.paddingOuter:t.padding)||0,o=e===n.Point?1:(null!=t.paddingInner?t.paddingInner:t.padding)||0;return[0,t.rangeStep*n.bandSpace(i,o,r)]}(o,t,i);else if(t.scheme&&(s=function(e,t,i){var r,o,l=t.schemeExtent;a.isArray(t.scheme)?o=n.interpolateColors(t.scheme,t.interpolate,t.interpolateGamma):(r=t.scheme.toLowerCase(),(o=n.scheme(r))||a.error("Unrecognized scheme name: "+t.scheme));return i=e===n.Threshold?i+1:e===n.BinOrdinal?i-1:e===n.Quantile||e===n.Quantize?+t.schemeCount||5:i,n.isInterpolating(e)?T(o,l,t.reverse):a.isFunction(o)?n.quantizeInterpolator(T(o,l),i):e===n.Ordinal?o:o.slice(0,i)}(o,t,i),a.isFunction(s))){if(e.interpolator)return e.interpolator(s);a.error(`Scale type ${o} does not support interpolating color schemes.`)}if(s&&n.isInterpolating(o))return e.interpolator(n.interpolateColors(w(s,t.reverse),t.interpolate,t.interpolateGamma));s&&t.interpolate&&e.interpolate?e.interpolate(n.interpolate(t.interpolate,t.interpolateGamma)):a.isFunction(e.round)?e.round(l):a.isFunction(e.rangeRound)&&e.interpolate(l?r.interpolateRound:r.interpolate);s&&e.range(w(s,t.reverse))}(l,e,function(e,t,r){let o=t.bins;if(o&&!a.isArray(o)){const t=e.domain(),n=t[0],r=a.peek(t),l=o.step;let s=null==o.start?n:o.start,u=null==o.stop?r:o.stop;l||a.error("Scale bins parameter missing step property."),s<n&&(s=l*Math.ceil(n/l)),u>r&&(u=l*Math.floor(r/l)),o=i.range(s,u+l/2,l)}o?e.bins=o:e.bins&&delete e.bins;e.type===n.BinOrdinal&&(o?t.domain||t.domainRaw||(e.domain(o),r=o.length):e.bins=e.domain());return r}(l,e,function(e,t,i){var r=function(e,t,n){return t?(e.domain(D(e.type,t,n)),t.length):-1}(e,t.domainRaw,i);if(r>-1)return r;var o,l,s=t.domain,u=e.type,d=t.zero||void 0===t.zero&&function(e){const t=e.type;return!e.bins&&(t===n.Linear||t===n.Pow||t===n.Sqrt)}(e);if(!s)return 0;S(u)&&t.padding&&s[0]!==a.peek(s)&&(s=function(e,t,i,r,o,l){var s=Math.abs(a.peek(i)-i[0]),u=s/(s-2*r),d=e===n.Log?a.zoomLog(t,null,u):e===n.Sqrt?a.zoomPow(t,null,u,.5):e===n.Pow?a.zoomPow(t,null,u,o||1):e===n.Symlog?a.zoomSymlog(t,null,u,l||1):a.zoomLinear(t,null,u);return(t=t.slice())[0]=d[0],t[t.length-1]=d[1],t}(u,s,t.range,t.padding,t.exponent,t.constant));if((d||null!=t.domainMin||null!=t.domainMax||null!=t.domainMid)&&(o=(s=s.slice()).length-1||1,d&&(s[0]>0&&(s[0]=0),s[o]<0&&(s[o]=0)),null!=t.domainMin&&(s[0]=t.domainMin),null!=t.domainMax&&(s[o]=t.domainMax),null!=t.domainMid)){const e=(l=t.domainMid)>s[o]?o+1:l<s[0]?0:o;e!==o&&i.warn("Scale domainMid exceeds domain min or max.",l),s.splice(e,0,l)}e.domain(D(u,s,i)),u===n.Ordinal&&e.unknown(t.domainImplicit?n.scaleImplicit:void 0);t.nice&&e.nice&&e.nice(!0!==t.nice&&n.tickCount(e,t.nice)||null);return s.length}(l,e,o))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),a.inherits(O,t.Transform,{transform(e,n){const a=e.modified("sort")||n.changed(n.ADD)||n.modified(e.sort.fields)||n.modified("datum");return a&&n.source.sort(t.stableCompare(e.sort)),this.modified(a),n}});const A="zero",C="center",L="normalize",z=["y0","y1"];function P(e){t.Transform.call(this,null,e)}function E(e,t,n,a,i){for(var r,o=(t-e.sum)/2,l=e.length,s=0;s<l;++s)(r=e[s])[a]=o,r[i]=o+=Math.abs(n(r))}function F(e,t,n,a,i){for(var r,o=1/e.sum,l=0,s=e.length,u=0,d=0;u<s;++u)(r=e[u])[a]=l,r[i]=l=o*(d+=Math.abs(n(r)))}function R(e,t,n,a,i){for(var r,o,l=0,s=0,u=e.length,d=0;d<u;++d)(r=+n(o=e[d]))<0?(o[a]=s,o[i]=s+=r):(o[a]=l,o[i]=l+=r)}P.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:A,values:[A,C,L]},{name:"as",type:"string",array:!0,length:2,default:z}]},a.inherits(P,t.Transform,{transform(e,n){var i,r,o,l,s=e.as||z,u=s[0],d=s[1],m=t.stableCompare(e.sort),c=e.field||a.one,f=e.offset===C?E:e.offset===L?F:R;for(i=function(e,t,n,a){var i,r,o,l,s,u,d,m,c,f=[],p=e=>e(s);if(null==t)f.push(e.slice());else for(i={},r=0,o=e.length;r<o;++r)s=e[r],(d=i[u=t.map(p)])||(i[u]=d=[],f.push(d)),d.push(s);for(u=0,c=0,l=f.length;u<l;++u){for(r=0,m=0,o=(d=f[u]).length;r<o;++r)m+=Math.abs(a(d[r]));d.sum=m,m>c&&(c=m),n&&d.sort(n)}return f.max=c,f}(n.source,e.groupby,m,c),r=0,o=i.length,l=i.max;r<o;++r)f(i[r],l,c,u,d);return n.reflow(e.modified()).modifies(s)}}),e.axisticks=o,e.datajoin=l,e.encode=u,e.legendentries=d,e.linkpath=h,e.pie=b,e.scale=k,e.sortitems=O,e.stack=P,Object.defineProperty(e,"__esModule",{value:!0})}));
var vega=function(e,t,n,r){"use strict";function a(e){t.Transform.call(this,null,e)}function i(e){t.Transform.call(this,null,e)}function o(){return t.ingest({})}function l(e){t.Transform.call(this,null,e)}function s(e){t.Transform.call(this,[],e)}r.inherits(a,t.Transform,{transform(e,r){if(this.value&&!e.modified())return r.StopPropagation;var a=r.dataflow.locale(),i=r.fork(r.NO_SOURCE|r.NO_FIELDS),o=this.value,l=e.scale,s=null==e.count?e.values?e.values.length:10:e.count,u=n.tickCount(l,s,e.minstep),c=e.format||n.tickFormat(a,l,u,e.formatSpecifier,e.formatType,!!e.values),d=e.values?n.validTicks(l,e.values,u):n.tickValues(l,u);return o&&(i.rem=o),o=d.map((e,n)=>t.ingest({index:n/(d.length-1||1),value:e,label:c(e)})),e.extra&&o.length&&o.push(t.ingest({index:-1,extra:{value:o[0].value},label:""})),i.source=o,i.add=o,this.value=o,i}}),r.inherits(i,t.Transform,{transform(e,n){var a=n.dataflow,i=n.fork(n.NO_SOURCE|n.NO_FIELDS),l=e.item||o,s=e.key||t.tupleid,u=this.value;return r.isArray(i.encode)&&(i.encode=null),u&&(e.modified("key")||n.modified(s))&&r.error("DataJoin does not support modified key function or fields."),u||(n=n.addAll(),this.value=u=function(e){const t=r.fastmap().test(e=>e.exit);return t.lookup=n=>t.get(e(n)),t}(s)),n.visit(n.ADD,e=>{const t=s(e);let n=u.get(t);n?n.exit?(u.empty--,i.add.push(n)):i.mod.push(n):(n=l(e),u.set(t,n),i.add.push(n)),n.datum=e,n.exit=!1}),n.visit(n.MOD,e=>{const t=s(e),n=u.get(t);n&&(n.datum=e,i.mod.push(n))}),n.visit(n.REM,e=>{const t=s(e),n=u.get(t);e!==n.datum||n.exit||(i.rem.push(n),n.exit=!0,++u.empty)}),n.changed(n.ADD_MOD)&&i.modifies("datum"),(n.clean()||e.clean&&u.empty>a.cleanThreshold)&&a.runAfter(u.clean),i}}),r.inherits(l,t.Transform,{transform(e,t){var n=t.fork(t.ADD_REM),a=e.mod||!1,i=e.encoders,o=t.encode;if(r.isArray(o)){if(!n.changed()&&!o.every(e=>i[e]))return t.StopPropagation;o=o[0],n.encode=null}var l="enter"===o,s=i.update||r.falsy,u=i.enter||r.falsy,c=i.exit||r.falsy,d=(o&&!l?i[o]:s)||r.falsy;if(t.changed(t.ADD)&&(t.visit(t.ADD,t=>{u(t,e),s(t,e)}),n.modifies(u.output),n.modifies(s.output),d!==r.falsy&&d!==s&&(t.visit(t.ADD,t=>{d(t,e)}),n.modifies(d.output))),t.changed(t.REM)&&c!==r.falsy&&(t.visit(t.REM,t=>{c(t,e)}),n.modifies(c.output)),l||d!==r.falsy){const r=t.MOD|(e.modified()?t.REFLOW:0);l?(t.visit(r,t=>{const r=u(t,e)||a;(d(t,e)||r)&&n.mod.push(t)}),n.mod.length&&n.modifies(u.output)):t.visit(r,t=>{(d(t,e)||a)&&n.mod.push(t)}),n.mod.length&&n.modifies(d.output)}return n.changed()?n:t.StopPropagation}}),r.inherits(s,t.Transform,{transform(e,a){if(null!=this.value&&!e.modified())return a.StopPropagation;var i,o,l,s,u,c=a.dataflow.locale(),d=a.fork(a.NO_SOURCE|a.NO_FIELDS),h=this.value,f=e.type||n.SymbolLegend,m=e.scale,g=+e.limit,p=n.tickCount(m,null==e.count?5:e.count,e.minstep),y=!!e.values||f===n.SymbolLegend,v=e.format||n.labelFormat(c,m,p,f,e.formatSpecifier,e.formatType,y),b=e.values||n.labelValues(m,p);return h&&(d.rem=h),f===n.SymbolLegend?(g&&b.length>g?(a.dataflow.warn("Symbol legend count exceeds limit, filtering items."),h=b.slice(0,g-1),u=!0):h=b,r.isFunction(l=e.size)?(e.values||0!==m(h[0])||(h=h.slice(1)),s=h.reduce((t,n)=>Math.max(t,l(n,e)),0)):l=r.constant(s=l||8),h=h.map((n,r)=>t.ingest({index:r,label:v(n,r,h),value:n,offset:s,size:l(n,e)})),u&&(u=b[h.length],h.push(t.ingest({index:h.length,label:"…".concat(b.length-h.length," entries"),value:u,offset:s,size:l(u,e)})))):f===n.GradientLegend?(i=m.domain(),o=n.scaleFraction(m,i[0],r.peek(i)),b.length<3&&!e.values&&i[0]!==r.peek(i)&&(b=[i[0],r.peek(i)]),h=b.map((e,n)=>t.ingest({index:n,label:v(e,n,b),value:e,perc:o(e)}))):(l=b.length-1,o=n.labelFraction(m),h=b.map((e,n)=>t.ingest({index:n,label:v(e,n,b),value:e,perc:n?o(e):0,perc2:n===l?1:o(b[n+1])}))),d.source=h,d.add=h,this.value=h,d}});const u=e=>e.source.x,c=e=>e.source.y,d=e=>e.target.x,h=e=>e.target.y;function f(e){t.Transform.call(this,{},e)}f.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},r.inherits(f,t.Transform,{transform(e,t){var n=e.sourceX||u,a=e.sourceY||c,i=e.targetX||d,o=e.targetY||h,l=e.as||"path",s=e.orient||"vertical",f=e.shape||"line",m=y.get(f+"-"+s)||y.get(f);return m||r.error("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,e=>{e[l]=m(n(e),a(e),i(e),o(e))}),t.reflow(e.modified()).modifies(l)}});const m=(e,t,n,r)=>"M"+e+","+t+"L"+n+","+r,g=(e,t,n,r)=>{var a=n-e,i=r-t,o=Math.sqrt(a*a+i*i)/2;return"M"+e+","+t+"A"+o+","+o+" "+180*Math.atan2(i,a)/Math.PI+" 0 1 "+n+","+r},p=(e,t,n,r)=>{const a=n-e,i=r-t,o=.2*(a+i),l=.2*(i-a);return"M"+e+","+t+"C"+(e+o)+","+(t+l)+" "+(n+l)+","+(r-o)+" "+n+","+r},y=r.fastmap({line:m,"line-radial":(e,t,n,r)=>m(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),arc:g,"arc-radial":(e,t,n,r)=>g(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),curve:p,"curve-radial":(e,t,n,r)=>p(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),"orthogonal-horizontal":(e,t,n,r)=>"M"+e+","+t+"V"+r+"H"+n,"orthogonal-vertical":(e,t,n,r)=>"M"+e+","+t+"H"+n+"V"+r,"orthogonal-radial":(e,t,n,r)=>{const a=Math.cos(e),i=Math.sin(e),o=Math.cos(n),l=Math.sin(n);return"M"+t*a+","+t*i+"A"+t+","+t+" 0 0,"+((Math.abs(n-e)>Math.PI?n<=e:n>e)?1:0)+" "+t*o+","+t*l+"L"+r*o+","+r*l},"diagonal-horizontal":(e,t,n,r)=>{const a=(e+n)/2;return"M"+e+","+t+"C"+a+","+t+" "+a+","+r+" "+n+","+r},"diagonal-vertical":(e,t,n,r)=>{const a=(t+r)/2;return"M"+e+","+t+"C"+e+","+a+" "+n+","+a+" "+n+","+r},"diagonal-radial":(e,t,n,r)=>{const a=Math.cos(e),i=Math.sin(e),o=Math.cos(n),l=Math.sin(n),s=(t+r)/2;return"M"+t*a+","+t*i+"C"+s*a+","+s*i+" "+s*o+","+s*l+" "+r*o+","+r*l}});function v(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=0|Math.max(0,Math.ceil((t-e)/n)),i=new Array(a);++r<a;)i[r]=e+r*n;return i}function b(e){t.Transform.call(this,null,e)}function M(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function w(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function x(){}b.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},r.inherits(b,t.Transform,{transform(e,t){var n,a,i,o=e.as||["startAngle","endAngle"],l=o[0],s=o[1],u=e.field||r.one,c=e.startAngle||0,d=null!=e.endAngle?e.endAngle:2*Math.PI,h=t.source,f=h.map(u),m=f.length,g=c,p=(d-c)/function(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let a of e)(a=+t(a,++r,e))&&(n+=a)}return n}(f),y=v(m);for(e.sort&&y.sort((e,t)=>f[e]-f[t]),n=0;n<m;++n)i=f[y[n]],(a=h[y[n]])[l]=g,a[s]=g+=i*p;return this.value=f,t.reflow(e.modified()).modifies(o)}});var k=.7,S=1/k,N="\\s*([+-]?\\d+)\\s*",D="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",A="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",O=/^#([0-9a-f]{3,8})$/,E=new RegExp("^rgb\\("+[N,N,N]+"\\)$"),T=new RegExp("^rgb\\("+[A,A,A]+"\\)$"),R=new RegExp("^rgba\\("+[N,N,N,D]+"\\)$"),C=new RegExp("^rgba\\("+[A,A,A,D]+"\\)$"),L=new RegExp("^hsl\\("+[D,A,A]+"\\)$"),z=new RegExp("^hsla\\("+[D,A,A,D]+"\\)$"),I={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function q(){return this.rgb().formatHex()}function P(){return this.rgb().formatRgb()}function F(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=O.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?_(t):3===n?new V(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?H(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?H(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=E.exec(e))?new V(t[1],t[2],t[3],1):(t=T.exec(e))?new V(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=R.exec(e))?H(t[1],t[2],t[3],t[4]):(t=C.exec(e))?H(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=L.exec(e))?X(t[1],t[2]/100,t[3]/100,1):(t=z.exec(e))?X(t[1],t[2]/100,t[3]/100,t[4]):I.hasOwnProperty(e)?_(I[e]):"transparent"===e?new V(NaN,NaN,NaN,0):null}function _(e){return new V(e>>16&255,e>>8&255,255&e,1)}function H(e,t,n,r){return r<=0&&(e=t=n=NaN),new V(e,t,n,r)}function U(e){return e instanceof x||(e=F(e)),e?new V((e=e.rgb()).r,e.g,e.b,e.opacity):new V}function j(e,t,n,r){return 1===arguments.length?U(e):new V(e,t,n,null==r?1:r)}function V(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function $(){return"#"+B(this.r)+B(this.g)+B(this.b)}function G(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function B(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function X(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Q(e,t,n,r)}function Y(e){if(e instanceof Q)return new Q(e.h,e.s,e.l,e.opacity);if(e instanceof x||(e=F(e)),!e)return new Q;if(e instanceof Q)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),i=Math.max(t,n,r),o=NaN,l=i-a,s=(i+a)/2;return l?(o=t===i?(n-r)/l+6*(n<r):n===i?(r-t)/l+2:(t-n)/l+4,l/=s<.5?i+a:2-i-a,o*=60):l=s>0&&s<1?0:o,new Q(o,l,s,e.opacity)}function Q(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function J(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}M(x,F,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:q,formatHex:q,formatHsl:function(){return Y(this).formatHsl()},formatRgb:P,toString:P}),M(V,j,w(x,{brighter:function(e){return e=null==e?S:Math.pow(S,e),new V(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?k:Math.pow(k,e),new V(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$,formatHex:$,formatRgb:G,toString:G})),M(Q,(function(e,t,n,r){return 1===arguments.length?Y(e):new Q(e,t,n,null==r?1:r)}),w(x,{brighter:function(e){return e=null==e?S:Math.pow(S,e),new Q(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?k:Math.pow(k,e),new Q(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new V(J(e>=240?e-240:e+120,a,r),J(e,a,r),J(e<120?e+240:e-120,a,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));var W=e=>()=>e;function K(e){return 1==(e=+e)?Z:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):W(isNaN(t)?n:t)}}function Z(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):W(isNaN(e)?t:e)}var ee=function e(t){var n=K(t);function r(e,t){var r=n((e=j(e)).r,(t=j(t)).r),a=n(e.g,t.g),i=n(e.b,t.b),o=Z(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=a(t),e.b=i(t),e.opacity=o(t),e+""}}return r.gamma=e,r}(1);function te(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,a=t.slice();return function(i){for(n=0;n<r;++n)a[n]=e[n]*(1-i)+t[n]*i;return a}}function ne(e,t){var n,r=t?t.length:0,a=e?Math.min(r,e.length):0,i=new Array(a),o=new Array(r);for(n=0;n<a;++n)i[n]=ue(e[n],t[n]);for(;n<r;++n)o[n]=t[n];return function(e){for(n=0;n<a;++n)o[n]=i[n](e);return o}}function re(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function ae(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function ie(e,t){var n,r={},a={};for(n in null!==e&&"object"==typeof e||(e={}),null!==t&&"object"==typeof t||(t={}),t)n in e?r[n]=ue(e[n],t[n]):a[n]=t[n];return function(e){for(n in r)a[n]=r[n](e);return a}}var oe=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,le=new RegExp(oe.source,"g");function se(e,t){var n,r,a,i=oe.lastIndex=le.lastIndex=0,o=-1,l=[],s=[];for(e+="",t+="";(n=oe.exec(e))&&(r=le.exec(t));)(a=r.index)>i&&(a=t.slice(i,a),l[o]?l[o]+=a:l[++o]=a),(n=n[0])===(r=r[0])?l[o]?l[o]+=r:l[++o]=r:(l[++o]=null,s.push({i:o,x:ae(n,r)})),i=le.lastIndex;return i<t.length&&(a=t.slice(i),l[o]?l[o]+=a:l[++o]=a),l.length<2?s[0]?function(e){return function(t){return e(t)+""}}(s[0].x):function(e){return function(){return e}}(t):(t=s.length,function(e){for(var n,r=0;r<t;++r)l[(n=s[r]).i]=n.x(e);return l.join("")})}function ue(e,t){var n,r,a=typeof t;return null==t||"boolean"===a?W(t):("number"===a?ae:"string"===a?(n=F(t))?(t=n,ee):se:t instanceof F?ee:t instanceof Date?re:(r=t,!ArrayBuffer.isView(r)||r instanceof DataView?Array.isArray(t)?ne:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?ie:ae:te))(e,t)}function ce(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function de(e){return n.isContinuous(e)&&e!==n.Sequential}const he=r.toSet(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function fe(e){t.Transform.call(this,null,e),this.modified(!0)}function me(e,t,a){n.isLogarithmic(e)&&(Math.abs(t.reduce((e,t)=>e+(t<0?-1:t>0?1:0),0))!==t.length&&a.warn("Log scale domain includes zero: "+r.stringValue(t)));return t}function ge(e,t,a){return r.isFunction(e)&&(t||a)?n.interpolateRange(e,pe(t||[0,1],a)):e}function pe(e,t){return t?e.slice().reverse():e}function ye(e){t.Transform.call(this,null,e)}r.inherits(fe,t.Transform,{transform(e,t){var a=t.dataflow,i=this.value,o=function(e){var t,a=e.type,i="";if(a===n.Sequential)return n.Sequential+"-"+n.Linear;(function(e){const t=e.type;return n.isContinuous(t)&&t!==n.Time&&t!==n.UTC&&(e.scheme||e.range&&e.range.length&&e.range.every(r.isString))})(e)&&(i=2===(t=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(null!=e.domainMid):0)?n.Sequential+"-":3===t?n.Diverging+"-":"");return(i+a||n.Linear).toLowerCase()}(e);for(o in i&&o===i.type||(this.value=i=n.scale(o)()),e)if(!he[o]){if("padding"===o&&de(i.type))continue;r.isFunction(i[o])?i[o](e[o]):a.warn("Unsupported scale property: "+o)}return function(e,t,a){var i=e.type,o=t.round||!1,l=t.range;if(null!=t.rangeStep)l=function(e,t,a){e!==n.Band&&e!==n.Point&&r.error("Only band and point scales support rangeStep.");var i=(null!=t.paddingOuter?t.paddingOuter:t.padding)||0,o=e===n.Point?1:(null!=t.paddingInner?t.paddingInner:t.padding)||0;return[0,t.rangeStep*n.bandSpace(a,o,i)]}(i,t,a);else if(t.scheme&&(l=function(e,t,a){var i,o,l=t.schemeExtent;r.isArray(t.scheme)?o=n.interpolateColors(t.scheme,t.interpolate,t.interpolateGamma):(i=t.scheme.toLowerCase(),(o=n.scheme(i))||r.error("Unrecognized scheme name: ".concat(t.scheme)));return a=e===n.Threshold?a+1:e===n.BinOrdinal?a-1:e===n.Quantile||e===n.Quantize?+t.schemeCount||5:a,n.isInterpolating(e)?ge(o,l,t.reverse):r.isFunction(o)?n.quantizeInterpolator(ge(o,l),a):e===n.Ordinal?o:o.slice(0,a)}(i,t,a),r.isFunction(l))){if(e.interpolator)return e.interpolator(l);r.error("Scale type ".concat(i," does not support interpolating color schemes."))}if(l&&n.isInterpolating(i))return e.interpolator(n.interpolateColors(pe(l,t.reverse),t.interpolate,t.interpolateGamma));l&&t.interpolate&&e.interpolate?e.interpolate(n.interpolate(t.interpolate,t.interpolateGamma)):r.isFunction(e.round)?e.round(o):r.isFunction(e.rangeRound)&&e.interpolate(o?ce:ue);l&&e.range(pe(l,t.reverse))}(i,e,function(e,t,a){let i=t.bins;if(i&&!r.isArray(i)){const t=e.domain(),n=t[0],a=r.peek(t),o=i.step;let l=null==i.start?n:i.start,s=null==i.stop?a:i.stop;o||r.error("Scale bins parameter missing step property."),l<n&&(l=o*Math.ceil(n/o)),s>a&&(s=o*Math.floor(a/o)),i=v(l,s+o/2,o)}i?e.bins=i:e.bins&&delete e.bins;e.type===n.BinOrdinal&&(i?t.domain||t.domainRaw||(e.domain(i),a=i.length):e.bins=e.domain());return a}(i,e,function(e,t,a){const i=function(e,t,n){return t?(e.domain(me(e.type,t,n)),t.length):-1}(e,t.domainRaw,a);if(i>-1)return i;var o,l,s=t.domain,u=e.type,c=t.zero||void 0===t.zero&&function(e){const t=e.type;return!e.bins&&(t===n.Linear||t===n.Pow||t===n.Sqrt)}(e);if(!s)return 0;de(u)&&t.padding&&s[0]!==r.peek(s)&&(s=function(e,t,a,i,o,l){var s=Math.abs(r.peek(a)-a[0]),u=s/(s-2*i),c=e===n.Log?r.zoomLog(t,null,u):e===n.Sqrt?r.zoomPow(t,null,u,.5):e===n.Pow?r.zoomPow(t,null,u,o||1):e===n.Symlog?r.zoomSymlog(t,null,u,l||1):r.zoomLinear(t,null,u);return(t=t.slice())[0]=c[0],t[t.length-1]=c[1],t}(u,s,t.range,t.padding,t.exponent,t.constant));if((c||null!=t.domainMin||null!=t.domainMax||null!=t.domainMid)&&(o=(s=s.slice()).length-1||1,c&&(s[0]>0&&(s[0]=0),s[o]<0&&(s[o]=0)),null!=t.domainMin&&(s[0]=t.domainMin),null!=t.domainMax&&(s[o]=t.domainMax),null!=t.domainMid)){const e=(l=t.domainMid)>s[o]?o+1:l<s[0]?0:o;e!==o&&a.warn("Scale domainMid exceeds domain min or max.",l),s.splice(e,0,l)}e.domain(me(u,s,a)),u===n.Ordinal&&e.unknown(t.domainImplicit?n.scaleImplicit:void 0);t.nice&&e.nice&&e.nice(!0!==t.nice&&n.tickCount(e,t.nice)||null);return s.length}(i,e,a))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),r.inherits(ye,t.Transform,{transform(e,n){const r=e.modified("sort")||n.changed(n.ADD)||n.modified(e.sort.fields)||n.modified("datum");return r&&n.source.sort(t.stableCompare(e.sort)),this.modified(r),n}});const ve="zero",be="center",Me="normalize",we=["y0","y1"];function xe(e){t.Transform.call(this,null,e)}function ke(e,t,n,r,a){for(var i,o=(t-e.sum)/2,l=e.length,s=0;s<l;++s)(i=e[s])[r]=o,i[a]=o+=Math.abs(n(i))}function Se(e,t,n,r,a){for(var i,o=1/e.sum,l=0,s=e.length,u=0,c=0;u<s;++u)(i=e[u])[r]=l,i[a]=l=o*(c+=Math.abs(n(i)))}function Ne(e,t,n,r,a){for(var i,o,l=0,s=0,u=e.length,c=0;c<u;++c)(i=+n(o=e[c]))<0?(o[r]=s,o[a]=s+=i):(o[r]=l,o[a]=l+=i)}return xe.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:ve,values:[ve,be,Me]},{name:"as",type:"string",array:!0,length:2,default:we}]},r.inherits(xe,t.Transform,{transform(e,n){var a,i,o,l,s=e.as||we,u=s[0],c=s[1],d=t.stableCompare(e.sort),h=e.field||r.one,f=e.offset===be?ke:e.offset===Me?Se:Ne;for(a=function(e,t,n,r){var a,i,o,l,s,u,c,d,h,f=[],m=e=>e(s);if(null==t)f.push(e.slice());else for(a={},i=0,o=e.length;i<o;++i)s=e[i],(c=a[u=t.map(m)])||(a[u]=c=[],f.push(c)),c.push(s);for(u=0,h=0,l=f.length;u<l;++u){for(i=0,d=0,o=(c=f[u]).length;i<o;++i)d+=Math.abs(r(c[i]));c.sum=d,d>h&&(h=d),n&&c.sort(n)}return f.max=h,f}(n.source,e.groupby,d,h),i=0,o=a.length,l=a.max;i<o;++i)f(a[i],l,h,u,c);return n.reflow(e.modified()).modifies(s)}}),e.axisticks=a,e.datajoin=i,e.encode=l,e.legendentries=s,e.linkpath=f,e.pie=b,e.scale=fe,e.sortitems=ye,e.stack=xe,e}({},vega,vega,vega);
//# sourceMappingURL=vega-encode.min.js.map
{
"name": "vega-encode",
"version": "4.8.2",
"version": "4.8.3",
"description": "Visual encoding transforms for Vega dataflows.",

@@ -14,20 +14,18 @@ "keywords": [

"main": "build/vega-encode.js",
"module": "index",
"module": "build/vega-encode.module.js",
"unpkg": "build/vega-encode.min.js",
"repository": "vega/vega",
"scripts": {
"rollup": "rollup -g d3-array:d3,d3-interpolate:d3,vega-dataflow:vega,vega-scale:vega,vega-util:vega -f umd -n vega.transforms -o build/vega-encode.js -- index.js",
"prebuild": "rimraf build && mkdir build",
"build": "yarn rollup",
"postbuild": "terser build/vega-encode.js -c -m -o build/vega-encode.min.js",
"pretest": "yarn prebuild && yarn rollup",
"prebuild": "rimraf build",
"build": "rollup -c",
"pretest": "yarn build --config-test",
"test": "tape 'test/**/*-test.js'",
"prepublishOnly": "yarn test && yarn build",
"postpublish": "git push && git push --tags"
"prepublishOnly": "yarn test && yarn build"
},
"dependencies": {
"d3-array": "^2.7.0",
"d3-array": "^2.7.1",
"d3-interpolate": "^2.0.1",
"vega-dataflow": "^5.7.2",
"vega-scale": "^7.0.2",
"vega-util": "^1.15.1"
"vega-dataflow": "^5.7.3",
"vega-scale": "^7.0.3",
"vega-util": "^1.15.2"
},

@@ -37,3 +35,3 @@ "devDependencies": {

},
"gitHead": "8d6793f4ca7eaaf2d22186764e9ce2dae687cf52"
"gitHead": "4affcbedb9d14815dbb6d3b250ed231b54fc95c0"
}

@@ -62,6 +62,6 @@ import {Transform} from 'vega-dataflow';

if (reenter || set !== falsy) {
var flag = pulse.MOD | (_.modified() ? pulse.REFLOW : 0);
const flag = pulse.MOD | (_.modified() ? pulse.REFLOW : 0);
if (reenter) {
pulse.visit(flag, t => {
var mod = enter(t, _) || fmod;
const mod = enter(t, _) || fmod;
if (set(t, _) || mod) out.mod.push(t);

@@ -68,0 +68,0 @@ });

@@ -129,3 +129,3 @@ import {Transform} from 'vega-dataflow';

// check raw domain, if provided use that and exit early
var raw = rawDomain(scale, _.domainRaw, df);
const raw = rawDomain(scale, _.domainRaw, df);
if (raw > -1) return raw;

@@ -132,0 +132,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc