Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@visactor/vscale

Package Overview
Dependencies
Maintainers
15
Versions
104
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@visactor/vscale - npm Package Compare versions

Comparing version 0.16.8-alpha.1 to 0.16.8

8

cjs/band-scale.d.ts

@@ -17,4 +17,4 @@ import { OrdinalScale } from './ordinal-scale';

constructor(slience?: boolean);
rescale(slience?: boolean): this;
protected _calculateWholeRange(range: any[]): any[];
rescale(slience?: boolean, changeProperty?: keyof IBandLikeScale): this;
protected _calculateWholeRange(range: any[], changeProperty?: keyof IBandLikeScale): any[];
calculateWholeRangeSize(): number;

@@ -46,2 +46,6 @@ calculateVisibleDomain(range: any[]): number[];

rangeFactor(_: [number, number], slience?: boolean): this;
rangeFactorStart(): number;
rangeFactorStart(_: number, slience?: boolean): this;
rangeFactorEnd(): number;
rangeFactorEnd(_: number, slience?: boolean): this;
bandwidth(): number;

@@ -48,0 +52,0 @@ bandwidth(_: number | 'auto', slience?: boolean): this;

@@ -16,6 +16,6 @@ "use strict";

}
rescale(slience) {
rescale(slience, changeProperty) {
if (slience) return this;
this._wholeRange = null;
const wholeRange = this._calculateWholeRange(this._range), n = super.domain().length, reverse = wholeRange[1] < wholeRange[0];
const wholeRange = this._calculateWholeRange(this._range, changeProperty), n = super.domain().length, reverse = wholeRange[1] < wholeRange[0];
let start = wholeRange[Number(reverse) - 0];

@@ -30,7 +30,11 @@ const stop = wholeRange[1 - Number(reverse)], space = (0, utils_1.bandSpace)(n, this._paddingInner, this._paddingOuter);

}
_calculateWholeRange(range) {
var _a;
_calculateWholeRange(range, changeProperty) {
if (this._wholeRange) return this._wholeRange;
if ((this._minBandwidth || this._maxBandwidth) && !this._isBandwidthFixedByUser()) {
const autoBandwidth = (0, utils_1.calculateBandwidthFromWholeRangeSize)(super.domain().length, Math.abs(range[1] - range[0]), this._paddingInner, this._paddingOuter, this._round);
let wholeSize;
if ((0, vutils_1.isValid)(this._rangeFactorStart) && (0, vutils_1.isValid)(this._rangeFactorEnd) && 2 === range.length) {
const wholeRange = (0, utils_1.calculateWholeRangeFromRangeFactor)(range, [ this._rangeFactorStart, this._rangeFactorEnd ]);
wholeSize = Math.abs(wholeRange[1] - wholeRange[0]);
} else wholeSize = Math.abs(range[1] - range[0]);
const autoBandwidth = (0, utils_1.calculateBandwidthFromWholeRangeSize)(super.domain().length, wholeSize, this._paddingInner, this._paddingOuter, this._round);
autoBandwidth < this._minBandwidth ? (this._bandwidth = this._minBandwidth, this._isFixed = !0) : autoBandwidth > this._maxBandwidth ? (this._bandwidth = this._maxBandwidth,

@@ -41,6 +45,7 @@ this._isFixed = !0) : (this._bandwidth = autoBandwidth, this._isFixed = !1);

const wholeLength = (0, utils_1.scaleWholeRangeSize)(super.domain().length, this._bandwidth, this._paddingInner, this._paddingOuter), rangeFactorSize = Math.min((range[1] - range[0]) / wholeLength, 1);
if (null === (_a = this._rangeFactor) || void 0 === _a ? void 0 : _a.length) {
const [rangeFactorStart, rangeFactorEnd] = this._rangeFactor, r0 = range[0] - wholeLength * rangeFactorStart, r1 = r0 + wholeLength;
this._wholeRange = [ r0, r1 ], this._rangeFactor = rangeFactorStart + rangeFactorSize <= 1 ? [ rangeFactorStart, rangeFactorStart + rangeFactorSize ] : rangeFactorEnd - rangeFactorSize >= 0 ? [ rangeFactorEnd - rangeFactorSize, rangeFactorEnd ] : [ 0, rangeFactorSize ];
} else this._rangeFactor = [ 0, rangeFactorSize ], this._wholeRange = [ range[0], range[0] + wholeLength ];
if ((0, vutils_1.isValid)(this._rangeFactorStart) && (0, vutils_1.isValid)(this._rangeFactorEnd)) {
const r0 = range[0] - wholeLength * this._rangeFactorStart, r1 = r0 + wholeLength;
this._wholeRange = [ r0, r1 ], "rangeFactorStart" === changeProperty && this._rangeFactorStart + rangeFactorSize <= 1 ? this._rangeFactorEnd = this._rangeFactorStart + rangeFactorSize : "rangeFactorEnd" === changeProperty && this._rangeFactorEnd - rangeFactorSize >= 0 ? this._rangeFactorStart = this._rangeFactorEnd - rangeFactorSize : this._rangeFactorStart + rangeFactorSize <= 1 ? this._rangeFactorEnd = this._rangeFactorStart + rangeFactorSize : this._rangeFactorEnd - rangeFactorSize >= 0 ? this._rangeFactorStart = this._rangeFactorEnd - rangeFactorSize : (this._rangeFactorStart = 0,
this._rangeFactorEnd = rangeFactorSize);
} else this._rangeFactorStart = 0, this._rangeFactorEnd = rangeFactorSize, this._wholeRange = [ range[0], range[0] + wholeLength ];
return this._wholeRange;

@@ -56,3 +61,3 @@ }

const domain = this._domain;
if (this._rangeFactor && domain.length) {
if ((0, vutils_1.isValid)(this._rangeFactorStart) && (0, vutils_1.isValid)(this._rangeFactorEnd) && domain.length) {
const d0 = this._getInvertIndex(range[0]), d1 = this._getInvertIndex(range[1]);

@@ -131,2 +136,8 @@ return domain.slice(Math.min(d0, d1), Math.max(d0, d1) + 1);

}
rangeFactorStart(_, slience) {
return _ ? (super.rangeFactorStart(_), this.rescale(slience, "rangeFactorStart")) : super.rangeFactorStart();
}
rangeFactorEnd(_, slience) {
return _ ? (super.rangeFactorEnd(_), this.rescale(slience, "rangeFactorEnd")) : super.rangeFactorEnd();
}
bandwidth(_, slience) {

@@ -133,0 +144,0 @@ return _ ? ("auto" === _ ? (this._bandwidth = void 0, this._isFixed = !1) : (this._bandwidth = _,

import type { IRangeFactor, ScaleFishEyeOptions } from './interface';
export declare abstract class BaseScale implements IRangeFactor {
protected _wholeRange: any[];
protected _rangeFactor?: number[];
protected _rangeFactorStart?: number;
protected _rangeFactorEnd?: number;
protected _unknown: any;

@@ -15,2 +16,6 @@ protected _fishEyeOptions?: ScaleFishEyeOptions;

rangeFactor(_: [number, number], slience?: boolean, clear?: boolean): this;
rangeFactorStart(): number;
rangeFactorStart(_: number, slience?: boolean): this;
rangeFactorEnd(): number;
rangeFactorEnd(_: number, slience?: boolean): this;
protected generateFishEyeTransform(): void;

@@ -17,0 +22,0 @@ unknown(): any[];

@@ -7,18 +7,29 @@ "use strict";

const vutils_1 = require("@visactor/vutils");
const vutils_1 = require("@visactor/vutils"), utils_1 = require("./utils/utils");
class BaseScale {
constructor() {
this._rangeFactorStart = null, this._rangeFactorEnd = null;
}
_calculateWholeRange(range) {
if (this._wholeRange) return this._wholeRange;
if (this._rangeFactor && 2 === range.length) {
const k = (range[1] - range[0]) / (this._rangeFactor[1] - this._rangeFactor[0]), b = range[0] - k * this._rangeFactor[0], r0 = b, r1 = k + b;
return this._wholeRange = [ r0, r1 ], this._wholeRange;
}
return range;
return this._wholeRange ? this._wholeRange : (0, vutils_1.isValid)(this._rangeFactorStart) && (0,
vutils_1.isValid)(this._rangeFactorEnd) && 2 === range.length ? (this._wholeRange = (0,
utils_1.calculateWholeRangeFromRangeFactor)(range, [ this._rangeFactorStart, this._rangeFactorEnd ]),
this._wholeRange) : range;
}
rangeFactor(_, slience, clear) {
return _ ? (2 === _.length && _.every((r => r >= 0 && r <= 1)) && (this._wholeRange = null,
this._rangeFactor = 0 === _[0] && 1 === _[1] ? null : _), this) : clear ? (this._wholeRange = null,
this._rangeFactor = null, this) : this._rangeFactor;
0 === _[0] && 1 === _[1] ? (this._rangeFactorStart = null, this._rangeFactorEnd = null) : (this._rangeFactorStart = _[0],
this._rangeFactorEnd = _[1])), this) : clear ? (this._wholeRange = null, this._rangeFactorStart = null,
this._rangeFactorEnd = null, this) : (0, vutils_1.isValid)(this._rangeFactorStart) && (0,
vutils_1.isValid)(this._rangeFactorEnd) ? [ this._rangeFactorStart, this._rangeFactorEnd ] : null;
}
rangeFactorStart(_, slience) {
return _ ? (_ >= 0 && _ <= 1 && (this._wholeRange = null, 0 !== _ || !(0, vutils_1.isNil)(this._rangeFactorEnd) && 1 !== this._rangeFactorEnd ? this._rangeFactorStart = _ : (this._rangeFactorStart = null,
this._rangeFactorEnd = null)), this) : this._rangeFactorStart;
}
rangeFactorEnd(_, slience) {
return _ ? (_ >= 0 && _ <= 1 && (this._wholeRange = null, 0 !== _ || !(0, vutils_1.isNil)(this._rangeFactorStart) && 0 !== this._rangeFactorStart ? this._rangeFactorEnd = _ : (this._rangeFactorStart = null,
this._rangeFactorEnd = null)), this) : this._rangeFactorEnd;
}
generateFishEyeTransform() {

@@ -25,0 +36,0 @@ var _a;

@@ -17,3 +17,3 @@ "use strict";

var _a;
if (this._rangeFactor && 2 === range.length) {
if ((0, vutils_1.isValid)(this._rangeFactorStart) && (0, vutils_1.isValid)(this._rangeFactorEnd) && 2 === range.length) {
return [ this.invert(range[0]), this.invert(range[1]) ];

@@ -20,0 +20,0 @@ }

@@ -27,2 +27,4 @@ import type { ScaleEnum } from './type';

rangeFactor: (_?: [number, number], slience?: boolean, clear?: boolean) => this | any;
rangeFactorStart: (_?: number, slience?: boolean) => this | any;
rangeFactorEnd: (_?: number, slience?: boolean) => this | any;
unknown: (_?: any) => this | any;

@@ -29,0 +31,0 @@ }

@@ -7,3 +7,3 @@ "use strict";

const type_1 = require("./type"), tick_sample_1 = require("./utils/tick-sample"), continuous_scale_1 = require("./continuous-scale");
const type_1 = require("./type"), tick_sample_1 = require("./utils/tick-sample"), continuous_scale_1 = require("./continuous-scale"), vutils_1 = require("@visactor/vutils");

@@ -26,3 +26,3 @@ class LinearScale extends continuous_scale_1.ContinuousScale {

var _a;
if (this._rangeFactor && (this._rangeFactor[0] > 0 || this._rangeFactor[1] < 1) && 2 === this._range.length || !this._niceType) return this.d3Ticks(count, options);
if ((0, vutils_1.isValid)(this._rangeFactorStart) && (0, vutils_1.isValid)(this._rangeFactorEnd) && (this._rangeFactorStart > 0 || this._rangeFactorEnd < 1) && 2 === this._range.length || !this._niceType) return this.d3Ticks(count, options);
const curNiceDomain = null !== (_a = this._niceDomain) && void 0 !== _a ? _a : this._domain, originalDomain = this._domain, start = curNiceDomain[0], stop = curNiceDomain[curNiceDomain.length - 1];

@@ -29,0 +29,0 @@ let ticksResult = (0, tick_sample_1.ticks)(originalDomain[0], originalDomain[originalDomain.length - 1], count, options);

@@ -7,3 +7,3 @@ "use strict";

const type_1 = require("./type"), base_scale_1 = require("./base-scale");
const type_1 = require("./type"), base_scale_1 = require("./base-scale"), vutils_1 = require("@visactor/vutils");

@@ -29,3 +29,3 @@ exports.implicit = Symbol("implicit");

calculateVisibleDomain(range) {
if (this._rangeFactor && 2 === range.length) {
if ((0, vutils_1.isValid)(this._rangeFactorStart) && (0, vutils_1.isValid)(this._rangeFactorEnd) && 2 === range.length) {
return [ this.invert(range[0]), this.invert(range[1]) ];

@@ -32,0 +32,0 @@ }

@@ -20,2 +20,3 @@ import type { FloorCeilType, InterpolateType } from '../interface';

export declare function calculateBandwidthFromWholeRangeSize(count: number, wholeSize: number, paddingInner: number, paddingOuter: number, round: boolean): number;
export declare function calculateWholeRangeFromRangeFactor(range: number[], rangeFactor: number[]): [number, number];
export declare function polymap(domain: number[], range: any[], interpolate: InterpolateType<any>): (x: number) => any;

@@ -22,0 +23,0 @@ export declare const nice: (domain: number[] | Date[], options: FloorCeilType<any>) => number[] | Date[];

@@ -5,3 +5,3 @@ "use strict";

value: !0
}), exports.restrictNumber = exports.niceNumber = exports.nice = exports.polymap = exports.calculateBandwidthFromWholeRangeSize = exports.scaleWholeRangeSize = exports.bandSpace = exports.bimap = exports.normalize = exports.symexp = exports.symlog = exports.logp = exports.powp = exports.pow10 = exports.expNegative = exports.logNegative = exports.exp = exports.log = exports.square = exports.sqrt = exports.generatePow = exports.identity = void 0;
}), exports.restrictNumber = exports.niceNumber = exports.nice = exports.polymap = exports.calculateWholeRangeFromRangeFactor = exports.calculateBandwidthFromWholeRangeSize = exports.scaleWholeRangeSize = exports.bandSpace = exports.bimap = exports.normalize = exports.symexp = exports.symlog = exports.logp = exports.powp = exports.pow10 = exports.expNegative = exports.logNegative = exports.exp = exports.log = exports.square = exports.sqrt = exports.generatePow = exports.identity = void 0;

@@ -94,2 +94,7 @@ const vutils_1 = require("@visactor/vutils");

function calculateWholeRangeFromRangeFactor(range, rangeFactor) {
const k = (range[1] - range[0]) / (rangeFactor[1] - rangeFactor[0]), b = range[0] - k * rangeFactor[0];
return [ b, k + b ];
}
function polymap(domain, range, interpolate) {

@@ -108,2 +113,3 @@ const j = Math.min(domain.length, range.length) - 1, d = new Array(j), r = new Array(j);

exports.scaleWholeRangeSize = scaleWholeRangeSize, exports.calculateBandwidthFromWholeRangeSize = calculateBandwidthFromWholeRangeSize,
exports.calculateWholeRangeFromRangeFactor = calculateWholeRangeFromRangeFactor,
exports.polymap = polymap;

@@ -110,0 +116,0 @@

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

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).VScale={})}(this,(function(t){"use strict";!function(t){var e=Object.prototype.hasOwnProperty,n="~";function i(){}function r(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function s(t,e,i,s,o){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new r(i,s||t,o),h=n?n+e:e;return t._events[h]?t._events[h].fn?t._events[h]=[t._events[h],a]:t._events[h].push(a):(t._events[h]=a,t._eventsCount++),t}function o(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,i,r=[];if(0===this._eventsCount)return r;for(i in t=this._events)e.call(t,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},a.prototype.listeners=function(t){var e=n?n+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,s=i.length,o=new Array(s);r<s;r++)o[r]=i[r].fn;return o},a.prototype.listenerCount=function(t){var e=n?n+t:t,i=this._events[e];return i?i.fn?1:i.length:0},a.prototype.emit=function(t,e,i,r,s,o){var a=n?n+t:t;if(!this._events[a])return!1;var h,l,c=this._events[a],u=arguments.length;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,i),!0;case 4:return c.fn.call(c.context,e,i,r),!0;case 5:return c.fn.call(c.context,e,i,r,s),!0;case 6:return c.fn.call(c.context,e,i,r,s,o),!0}for(l=1,h=new Array(u-1);l<u;l++)h[l-1]=arguments[l];c.fn.apply(c.context,h)}else{var d,g=c.length;for(l=0;l<g;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,i);break;case 4:c[l].fn.call(c[l].context,e,i,r);break;default:if(!h)for(d=1,h=new Array(u-1);d<u;d++)h[d-1]=arguments[d];c[l].fn.apply(c[l].context,h)}}return!0},a.prototype.on=function(t,e,n){return s(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return s(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,i,r){var s=n?n+t:t;if(!this._events[s])return this;if(!e)return o(this,s),this;var a=this._events[s];if(a.fn)a.fn!==e||r&&!a.once||i&&a.context!==i||o(this,s);else{for(var h=0,l=[],c=a.length;h<c;h++)(a[h].fn!==e||r&&!a[h].once||i&&a[h].context!==i)&&l.push(a[h]);l.length?this._events[s]=1===l.length?l[0]:l:o(this,s)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&o(this,e)):(this._events=new i,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}({exports:{}});var e=(t,e)=>Object.prototype.toString.call(t)===`[object ${e}]`;var n=t=>null==t;var i=t=>null!=t;var r=function(t){const n=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"string"===n:"string"===n||e(t,"String")};var s=t=>Array.isArray?Array.isArray(t):e(t,"Array");var o=function(t){const n=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"number"===n:"number"===n||e(t,"Number")};var a=t=>o(t)&&Number.isFinite(t);function h(t,e){if(!s(t)||!s(e))return!1;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function l(t,e,n){i(e)||(e=t,t=0),i(n)||(n=1);let r=-1;const s=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(s);for(;++r<s;)o[r]=t+r*n;return o}function c(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function u(t){return Number(t)}function d(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u;const i=t.length;if(!i)return;if(e<=0||i<2)return n(t[0],0,t);if(e>=1)return n(t[i-1],i-1,t);const r=(i-1)*e,s=Math.floor(r),o=n(t[s],s,t);return o+(n(t[s+1],s+1,t)-o)*(r-s)}function g(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0;for(n(r)&&(r=t.length);i<r;){const n=i+r>>>1;c(t[n],e)>0?r=n:i=n+1}return i}const m=Math.sqrt(50),f=Math.sqrt(10),_=Math.sqrt(2);function p(t,e,n){const i=Math.abs(e-t)/Math.max(0,n);let r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10));const s=i/r;return s>=m?r*=10:s>=f?r*=5:s>=_&&(r*=2),e<t?-r:r}const M=1e-10,w=1e-10;function b(t,e){const n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:M,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:w)*Math.max(t,e);return Math.abs(t-e)<=Math.max(n,i)}function y(t,e,n,i){return t>e&&!b(t,e,n,i)}function v(t,e,n,i){return t<e&&!b(t,e,n,i)}const x=t=>{let e=null,n=null;return function(){for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return e&&r.every(((t,n)=>t===e[n]))||(e=r,n=t(...r)),n}},T=function(t){let e="",n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)-1;for(;n>=0;)e=`${e}${t}`,n-=1;return e};var k=function(t,e){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"right";const i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",r=t+"",s=e-r.length;return s<=0?r:"left"===n?T(i,s)+r:"center"===n?T(i,Math.floor(s/2))+r+T(i,Math.ceil(s/2)):r+T(i,s)};var S=function(t,e,n){return t<e?e:t>n?n:t};function D(t,e){let n;return t>e&&(n=t,t=e,e=n),n=>Math.max(t,Math.min(e,n))}function F(t,e){return n=>t*(1-n)+e*n}function E(t,e){return function(n){return Math.round(t*(1-n)+e*n)}}const C=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function N(t){if(t instanceof Date)return t;if(r(t)){const e=C.exec(t);if(!e)return new Date(NaN);if(!e[8])return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0);let n=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(n-=+e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,n,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0))}return n(t)?new Date(NaN):new Date(Math.round(t))}function U(t,e,n){e/=100,n/=100;const i=(1-Math.abs(2*n-1))*e,r=i*(1-Math.abs(t/60%2-1)),s=n-i/2;let o=0,a=0,h=0;return 0<=t&&t<60?(o=i,a=r,h=0):60<=t&&t<120?(o=r,a=i,h=0):120<=t&&t<180?(o=0,a=i,h=r):180<=t&&t<240?(o=0,a=r,h=i):240<=t&&t<300?(o=r,a=0,h=i):300<=t&&t<360&&(o=i,a=0,h=r),o=Math.round(255*(o+s)),a=Math.round(255*(a+s)),h=Math.round(255*(h+s)),{r:o,g:a,b:h}}function R(t,e,n){t/=255,e/=255,n/=255;const i=Math.min(t,e,n),r=Math.max(t,e,n),s=r-i;let o=0,a=0,h=0;return o=0===s?0:r===t?(e-n)/s%6:r===e?(n-t)/s+2:(t-e)/s+4,o=Math.round(60*o),o<0&&(o+=360),h=(r+i)/2,a=0===s?0:s/(1-Math.abs(2*h-1)),a=+(100*a).toFixed(1),h=+(100*h).toFixed(1),{h:o,s:a,l:h}}const B=/^#([0-9a-f]{3,8})$/,A={transparent:4294967040},L={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 O(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function H(t){return o(t)?new q(t>>16,t>>8&255,255&t,1):s(t)?new q(t[0],t[1],t[2]):new q(255,255,255)}function I(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function V(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class Y{static Brighter(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new Y(t).brighter(e).toRGBA()}static SetOpacity(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new Y(t).setOpacity(e).toRGBA()}static getColorBrightness(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"hsl";const n=t instanceof Y?t:new Y(t);switch(e){case"hsv":default:return n.getHSVBrightness();case"hsl":return n.getHSLBrightness();case"lum":return n.getLuminance();case"lum2":return n.getLuminance2();case"lum3":return n.getLuminance3()}}static parseColorString(t){if(i(A[t]))return function(t){return o(t)?new q(t>>>24,t>>>16&255,t>>>8&255,255&t):s(t)?new q(t[0],t[1],t[2],t[3]):new q(255,255,255,1)}(A[t]);if(i(L[t]))return H(L[t]);const e=`${t}`.trim().toLowerCase(),n=B.exec(e);if(n){const t=parseInt(n[1],16),e=n[1].length;return 3===e?new q((t>>8&15)+((t>>8&15)<<4),(t>>4&15)+((t>>4&15)<<4),(15&t)+((15&t)<<4),1):6===e?H(t):8===e?new q(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):void 0}if(/^(rgb|RGB|rgba|RGBA)/.test(e)){const t=e.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g,"").split(",");return new q(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),parseFloat(t[3]))}if(/^(hsl|HSL|hsla|HSLA)/.test(e)){const t=e.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g,"").split(","),n=U(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10));return new q(n.r,n.g,n.b,parseFloat(t[3]))}}constructor(t){const e=Y.parseColorString(t);e?this.color=e:(console.warn(`Warn: 传入${t}无法解析为Color`),this.color=new q(255,255,255))}toRGBA(){return this.color.formatRgb()}toString(){return this.color.formatRgb()}toHex(){return this.color.formatHex()}toHsl(){return this.color.formatHsl()}brighter(t){const{r:e,g:n,b:i}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t))),this.color.g=Math.max(0,Math.min(255,Math.floor(n*t))),this.color.b=Math.max(0,Math.min(255,Math.floor(i*t))),this}add(t){const{r:e,g:n,b:i}=this.color;return this.color.r+=Math.min(255,e+t.color.r),this.color.g+=Math.min(255,n+t.color.g),this.color.b+=Math.min(255,i+t.color.b),this}sub(t){return this.color.r=Math.max(0,this.color.r-t.color.r),this.color.g=Math.max(0,this.color.g-t.color.g),this.color.b=Math.max(0,this.color.b-t.color.b),this}multiply(t){const{r:e,g:n,b:i}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t.color.r))),this.color.g=Math.max(0,Math.min(255,Math.floor(n*t.color.g))),this.color.b=Math.max(0,Math.min(255,Math.floor(i*t.color.b))),this}getHSVBrightness(){return Math.max(this.color.r,this.color.g,this.color.b)/255}getHSLBrightness(){return.5*(Math.max(this.color.r,this.color.g,this.color.b)/255+Math.min(this.color.r,this.color.g,this.color.b)/255)}setHsl(t,e,i){const r=this.color.opacity,s=R(this.color.r,this.color.g,this.color.b),o=U(n(t)?s.h:S(t,0,360),n(e)?s.s:e>=0&&e<=1?100*e:e,n(i)?s.l:i<=1&&i>=0?100*i:i);return this.color=new q(o.r,o.g,o.b,r),this}setRGB(t,e,i){return!n(t)&&(this.color.r=t),!n(e)&&(this.color.g=e),!n(i)&&(this.color.b=i),this}setHex(t){const e=`${t}`.trim().toLowerCase(),n=B.exec(e),i=parseInt(n[1],16),r=n[1].length;return 3===r?new q((i>>8&15)+((i>>8&15)<<4),(i>>4&15)+((i>>4&15)<<4),(15&i)+((15&i)<<4),1):6===r?H(i):8===r?new q(i>>24&255,i>>16&255,i>>8&255,(255&i)/255):this}setColorName(t){const e=L[t.toLowerCase()];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}setScalar(t){return this.color.r=t,this.color.g=t,this.color.b=t,this}setOpacity(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.color.opacity=t,this}getLuminance(){return(.2126*this.color.r+.7152*this.color.g+.0722*this.color.b)/255}getLuminance2(){return(.2627*this.color.r+.678*this.color.g+.0593*this.color.b)/255}getLuminance3(){return(.299*this.color.r+.587*this.color.g+.114*this.color.b)/255}clone(){return new Y(this.color.toString())}copyGammaToLinear(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return this.color.r=Math.pow(t.color.r,e),this.color.g=Math.pow(t.color.g,e),this.color.b=Math.pow(t.color.b,e),this}copyLinearToGamma(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const n=e>0?1/e:1;return this.color.r=Math.pow(t.color.r,n),this.color.g=Math.pow(t.color.g,n),this.color.b=Math.pow(t.color.b,n),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.color.r=I(t.color.r),this.color.g=I(t.color.g),this.color.b=I(t.color.b),this}copyLinearToSRGB(t){return this.color.r=V(t.color.r),this.color.g=V(t.color.g),this.color.b=V(t.color.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}}class q{constructor(t,e,n,r){this.r=isNaN(+t)?255:Math.max(0,Math.min(255,+t)),this.g=isNaN(+e)?255:Math.max(0,Math.min(255,+e)),this.b=isNaN(+n)?255:Math.max(0,Math.min(255,+n)),i(r)?this.opacity=isNaN(+r)?1:Math.max(0,Math.min(1,+r)):this.opacity=1}formatHex(){return`#${O(this.r)+O(this.g)+O(this.b)+(1===this.opacity?"":O(255*this.opacity))}`}formatRgb(){const t=this.opacity;return`${1===t?"rgb(":"rgba("}${this.r},${this.g},${this.b}${1===t?")":`,${t})`}`}formatHsl(){const t=this.opacity,{h:e,s:n,l:i}=R(this.r,this.g,this.b);return`${1===t?"hsl(":"hsla("}${e},${n}%,${i}%${1===t?")":`,${t})`}`}toString(){return this.formatHex()}}var $=Object.freeze({__proto__:null,Color:Y,DEFAULT_COLORS:L,RGB:q,hexToRgb:function(t){let e="",n="",i="";const r="#"===t[0]?1:0;for(let s=r;s<t.length;s++)"#"!==t[s]&&(s<r+2?e+=t[s]:s<r+4?n+=t[s]:s<r+6&&(i+=t[s]));return[parseInt(e,16),parseInt(n,16),parseInt(i,16)]},hslToRgb:U,interpolateRgb:function(t,e){const n=t.r,i=e.r,r=t.g,s=e.g,o=t.b,a=e.b,h=t.opacity,l=e.opacity;return t=>{const e=Math.round(n*(1-t)+i*t),c=Math.round(r*(1-t)+s*t),u=Math.round(o*(1-t)+a*t);return new q(e,c,u,h*(1-t)+l*t)}},rgbToHex:function(t,e,n){return Number((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},rgbToHsl:R});function G(t){return t?"getUTCFullYear":"getFullYear"}function j(t){return t?"getUTCMonth":"getMonth"}function P(t){return t?"getUTCDate":"getDate"}function z(t){return t?"getUTCHours":"getHours"}function Q(t){return t?"getUTCMinutes":"getMinutes"}function W(t){return t?"getUTCSeconds":"getSeconds"}function Z(t){return t?"getUTCMilliseconds":"getMilliseconds"}function J(t){return t?"setUTCFullYear":"setFullYear"}function K(t,e){return n=>{const i=N(n),r=i[G(e)](),s=i[j(e)]()+1,o=Math.floor((s-1)/3)+1,a=i[P(e)](),h=i["get"+(e?"UTC":"")+"Day"](),l=i[z(e)](),c=(l-1)%12+1,u=i[Q(e)](),d=i[W(e)](),g=i[Z(e)]();return(t||"").replace(/YYYY/g,k(r+"",4,"0","left")).replace(/yyyy/g,r+"").replace(/yy/g,r%100+"").replace(/Q/g,o+"").replace(/MM/g,k(s,2,"0","left")).replace(/M/g,s+"").replace(/dd/g,k(a,2,"0","left")).replace(/d/g,a+"").replace(/e/g,h+"").replace(/HH/g,k(l,2,"0","left")).replace(/H/g,l+"").replace(/hh/g,k(c+"",2,"0","left")).replace(/h/g,c+"").replace(/mm/g,k(u,2,"0","left")).replace(/m/g,u+"").replace(/ss/g,k(d,2,"0","left")).replace(/s/g,d+"").replace(/SSS/g,k(g,3,"0","left")).replace(/S/g,g+"")}}const X=1e3,tt=6e4,et=36e5,nt=24*et,it=31*nt,rt=365*nt,st=t=>(t.setMonth(0,1),t.setHours(0,0,0,0),t),ot=(t,e)=>(t.setFullYear(t.getFullYear()+e),t),at=(t,e)=>e.getFullYear()-t.getFullYear(),ht=t=>t.getFullYear(),lt=t=>(t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0),t),ct=(t,e)=>(t.setUTCFullYear(t.getUTCFullYear()+e),t),ut=(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),dt=t=>t.getUTCFullYear(),gt=t=>(t.setDate(1),t.setHours(0,0,0,0),t),mt=(t,e)=>(t.setMonth(t.getMonth()+e),t),ft=(t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear()),_t=t=>t.getMonth(),pt=t=>(t.setUTCDate(1),t.setUTCHours(0,0,0,0),t),Mt=(t,e)=>(t.setUTCMonth(t.getUTCMonth()+e),t),wt=(t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear()),bt=t=>t.getUTCMonth(),yt=t=>(t.setHours(0,0,0,0),t),vt=(t,e)=>(t.setDate(t.getDate()+e),t),xt=(t,e)=>(+e-+t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/nt,Tt=t=>t.getDate()-1,kt=t=>(t.setUTCHours(0,0,0,0),t),St=(t,e)=>(t.setUTCDate(t.getUTCDate()+e),t),Dt=(t,e)=>(+e-+t)/nt,Ft=t=>t.getUTCDate()-1,Et=t=>(t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes()),t),Ct=(t,e)=>(t.setHours(t.getHours()+e),t),Nt=(t,e)=>(+e-+t)/et,Ut=t=>t.getHours(),Rt=t=>(t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()-6e4*t.getUTCMinutes()),t),Bt=(t,e)=>(t.setUTCHours(t.getUTCHours()+e),t),At=t=>t.getUTCHours(),Lt=t=>(t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()),t),Ot=(t,e)=>(t.setMinutes(t.getMinutes()+e),t),Ht=(t,e)=>(+e-+t)/6e4,It=t=>t.getMinutes(),Vt=t=>(t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()),t),Yt=(t,e)=>(t.setUTCMinutes(t.getUTCMinutes()+e),t),qt=t=>t.getUTCMinutes(),$t=t=>(t.setTime(+t-t.getMilliseconds()),t),Gt=(t,e)=>(t.setSeconds(t.getSeconds()+e),t),jt=(t,e)=>(+e-+t)/1e3,Pt=t=>t.getSeconds(),zt=t=>(t.setTime(+t-t.getUTCMilliseconds()),t),Qt=(t,e)=>(t.setUTCSeconds(t.getUTCSeconds()+e),t),Wt=t=>t.getUTCSeconds(),Zt=t=>t,Jt=(t,e)=>(t.setTime(+t+e),t),Kt=(t,e)=>+e-+t,Xt=(t,e)=>n=>{const i=new Date(+n-1);return e(i,1),t(i),i},te=(t,e)=>{let{floor:n,offset:i,field:r,count:s}=e;const o=Math.floor(t);if(!Number.isFinite(o)||o<=0)return null;if(o<=1)return{floor:n,offset:i,ceil:Xt(n,i)};const a=((t,e)=>(n,i)=>{const r=new Date,s=new Date;return r.setTime(+n),s.setTime(+i),t(r),t(s),Math.floor(e(r,s))})(n,s),h=r?t=>r(t)%o==0:t=>a(0,t)%o==0,l=t=>{if(!Number.isNaN(+t))for(n(t);!h(t);)t.setTime(+t-1),n(t);return t},c=(t,e)=>{if(!Number.isNaN(+t))if(o<0)for(;++e<=0;)for(i(t,-1);!h(t);)i(t,-1);else for(;--e>=0;)for(i(t,1);!h(t);)i(t,1);return t};return{floor:l,offset:c,ceil:Xt(l,c)}};var ee;t.ScaleEnum=void 0,(ee=t.ScaleEnum||(t.ScaleEnum={})).Identity="identity",ee.Linear="linear",ee.Log="log",ee.Pow="pow",ee.Sqrt="sqrt",ee.Symlog="symlog",ee.Time="time",ee.Quantile="quantile",ee.Quantize="quantize",ee.Threshold="threshold",ee.Ordinal="ordinal",ee.Point="point",ee.Band="band";const ne={};Object.values(t.ScaleEnum).forEach((t=>{ne[t]=!0}));class ie{_calculateWholeRange(t){if(this._wholeRange)return this._wholeRange;if(this._rangeFactor&&2===t.length){const e=(t[1]-t[0])/(this._rangeFactor[1]-this._rangeFactor[0]),n=t[0]-e*this._rangeFactor[0],i=n,r=e+n;return this._wholeRange=[i,r],this._wholeRange}return t}rangeFactor(t,e,n){return t?(2===t.length&&t.every((t=>t>=0&&t<=1))&&(this._wholeRange=null,this._rangeFactor=0===t[0]&&1===t[1]?null:t),this):n?(this._wholeRange=null,this._rangeFactor=null,this):this._rangeFactor}generateFishEyeTransform(){var t;if(!this._fishEyeOptions)return void(this._fishEyeTransform=null);const{distortion:e=2,radiusRatio:i=.1,radius:r}=this._fishEyeOptions,s=this.range(),o=s[0],a=s[s.length-1],h=Math.min(o,a),l=Math.max(o,a),c=S(null!==(t=this._fishEyeOptions.focus)&&void 0!==t?t:0,h,l),u=n(r)?(l-h)*i:r;let d=Math.exp(e);d=d/(d-1)*u;const g=e/u;this._fishEyeTransform=t=>{const e=Math.abs(t-c);if(e>=u)return t;if(e<=1e-6)return c;const n=d*(1-Math.exp(-e*g))/e*.75+.25;return c+(t-c)*n}}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}}const re=Symbol("implicit");class se extends ie{specified(t){var e;return t?(this._specified=Object.assign(null!==(e=this._specified)&&void 0!==e?e:{},t),this):Object.assign({},this._specified)}_getSpecifiedValue(t){if(this._specified)return this._specified[t]}constructor(){super(),this.type=t.ScaleEnum.Ordinal,this._index=new Map,this._domain=[],this._ordinalRange=[],this._unknown=re}clone(){return(new se).domain(this._domain).range(this._ordinalRange).unknown(this._unknown)}calculateVisibleDomain(t){if(this._rangeFactor&&2===t.length){return[this.invert(t[0]),this.invert(t[1])]}return this._domain}scale(t){const e=`${t}`,n=this._getSpecifiedValue(e);if(void 0!==n)return n;let i=this._index.get(e);if(!i){if(this._unknown!==re)return this._unknown;i=this._domain.push(t),this._index.set(e,i)}const r=this._ordinalRange[(i-1)%this._ordinalRange.length];return this._fishEyeTransform?this._fishEyeTransform(r):r}invert(t){let e=0;for(;e<this._ordinalRange.length&&this._ordinalRange[e]!==t;)e++;return this._domain[(e-1)%this._domain.length]}domain(t){if(!t)return this._domain.slice();this._domain=[],this._index=new Map;for(const e of t){const t=`${e}`;this._index.has(t)||this._index.set(t,this._domain.push(e))}return this}range(t){if(!t)return this._ordinalRange.slice();const e=Array.from(t);return this._ordinalRange=e,this}}function oe(t){return t}const ae=t=>e=>e<0?-Math.pow(-e,t):Math.pow(e,t),he=t=>t<0?-Math.sqrt(-t):Math.sqrt(t),le=t=>t<0?-t*t:t*t,ce=t=>-Math.log(-t),ue=t=>-Math.exp(-t),de=t=>isFinite(t)?Math.pow(10,t):t<0?0:t,ge=t=>10===t?de:t===Math.E?Math.exp:e=>Math.pow(t,e),me=t=>t===Math.E?Math.log:10===t?Math.log10:2===t?Math.log2:(t=Math.log(t),e=>Math.log(e)/t),fe=t=>e=>Math.sign(e)*Math.log1p(Math.abs(e/t)),_e=t=>e=>Math.sign(e)*Math.expm1(Math.abs(e))*t;function pe(t,e){if(t=Number(t),e=Number(e),e-=t)return n=>(n-t)/e;const n=Number.isNaN(e)?NaN:.5;return()=>n}function Me(t,e,n){const i=t[0],r=t[1],s=e[0],o=e[1];let a,h;return r<i?(a=pe(r,i),h=n(o,s)):(a=pe(i,r),h=n(s,o)),t=>h(a(t))}function we(t,e,n){let i;return i=1===t?t+2*n:t-e+2*n,t?i>0?i:1:0}function be(t,e,n){const i=Math.min(t.length,e.length)-1,r=new Array(i),s=new Array(i);let o=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<i;)r[o]=pe(t[o],t[o+1]),s[o]=n(e[o],e[o+1]);return function(e){const n=g(t,e,1,i)-1;return s[n](r[n](e))}}const ye=(t,e)=>{const n=t.slice();let i=0,r=n.length-1,s=n[i],o=n[r];return o<s&&([i,r]=[r,i],[s,o]=[o,s]),n[i]=e.floor(s),n[r]=e.ceil(o),n},ve=(t,e=!1)=>{const n=Math.floor(Math.log10(t)),i=t/Math.pow(10,n);let r;return r=e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10,r*Math.pow(10,n)};function xe(t,e,n,i){let r;const s=[];let o;if(e=Math.floor(+e),t=Math.floor(+t),!(n=Math.floor(+n)))return[];if(t===e)return[t];if(r=e<t){const n=t;t=e,e=n}let a=D(1,e-t+1)(n);if(o=Math.floor((e-t+1)/a),!i)for(;Math.ceil((e-t+1)/o)>n&&a>1;)a-=1,o=Math.floor((e-t)/a);let h=t;for(;h<=e;)s.push(h),h+=o;return r&&s.reverse(),s}class Te extends se{constructor(e){super(),this.type=t.ScaleEnum.Band,this._range=[0,1],this._step=void 0,this._bandwidth=void 0,this._isFixed=!1,this._round=!1,this._paddingInner=0,this._paddingOuter=0,this._align=.5,this._unknown=void 0,delete this.unknown,this.rescale(e)}rescale(t){if(t)return this;this._wholeRange=null;const e=this._calculateWholeRange(this._range),n=super.domain().length,i=e[1]<e[0];let r=e[Number(i)-0];const s=e[1-Number(i)],o=we(n,this._paddingInner,this._paddingOuter);this._step=(s-r)/Math.max(1,o||1),this._round&&(this._step=Math.floor(this._step)),r+=(s-r-this._step*(n-this._paddingInner))*this._align,this.isBandwidthFixed()||(this._bandwidth=this._step*(1-this._paddingInner)),this._round&&(r=Math.round(r),this.isBandwidthFixed()||(this._bandwidth=Math.round(this._bandwidth)));const a=l(n).map((t=>r+this._step*t));return super.range(i?a.reverse():a),this.generateFishEyeTransform(),this}_calculateWholeRange(t){var e,n,i,r,s;if(this._wholeRange)return this._wholeRange;if((this._minBandwidth||this._maxBandwidth)&&!this._isBandwidthFixedByUser()){const e=function(t,e,n,i,r){const s=we(t,n,i);let o=e/Math.max(1,s||1);r&&(o=Math.floor(o));let a=o*(1-n);return r&&(a=Math.round(a)),a}(super.domain().length,Math.abs(t[1]-t[0]),this._paddingInner,this._paddingOuter,this._round);e<this._minBandwidth?(this._bandwidth=this._minBandwidth,this._isFixed=!0):e>this._maxBandwidth?(this._bandwidth=this._maxBandwidth,this._isFixed=!0):(this._bandwidth=e,this._isFixed=!1)}if(this.isBandwidthFixed()){const o=(n=super.domain().length,i=this._bandwidth,r=this._paddingInner,s=this._paddingOuter,we(n,r,s)*(i/(1-r))),a=Math.min((t[1]-t[0])/o,1);if(null===(e=this._rangeFactor)||void 0===e?void 0:e.length){const[e,n]=this._rangeFactor,i=t[0]-o*e,r=i+o;this._wholeRange=[i,r],this._rangeFactor=e+a<=1?[e,e+a]:n-a>=0?[n-a,n]:[0,a]}else this._rangeFactor=[0,a],this._wholeRange=[t[0],t[0]+o];return this._wholeRange}return super._calculateWholeRange(t)}calculateWholeRangeSize(){const t=this._calculateWholeRange(this._range);return Math.abs(t[1]-t[0])}calculateVisibleDomain(t){const e=this._domain;if(this._rangeFactor&&e.length){const n=this._getInvertIndex(t[0]),i=this._getInvertIndex(t[1]);return e.slice(Math.min(n,i),Math.max(n,i)+1)}return e}domain(t,e){return t?(super.domain(t),this.rescale(e)):super.domain()}range(t,e){return t?(this._range=[u(t[0]),u(t[1])],this.rescale(e)):this._range.slice()}rangeRound(t,e){return this._range=[u(t[0]),u(t[1])],this._round=!0,this.rescale(e)}ticks(t=10){const e=this.calculateVisibleDomain(this._range);if(-1===t)return e.slice();return xe(0,e.length-1,t,!1).map((t=>e[t]))}tickData(t=10){return this.ticks(t).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0]+this._bandwidth/2)/(this._range[1]-this._range[0])})))}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return xe(0,e.length-1,t,!0).filter((t=>t<e.length)).map((t=>e[t]))}stepTicks(t){const e=this.calculateVisibleDomain(this._range),n=function(t,e,n){const i=[];let r;if(n=D(1,(e=Math.floor(+e))-(t=Math.floor(+t))+1)(Math.floor(+n)),r=e<t){const n=t;t=e,e=n}let s=t;for(;s<=e;)i.push(s),s+=n;return r&&i.reverse(),i}(0,e.length-1,t);return n.map((t=>e[t]))}_getInvertIndex(t){let e=0;const n=this.step()/2,i=this.bandwidth()/2,r=this._domain.length,s=this.range(),o=s[0]>s[s.length-1];for(e=0;e<r;e++){const s=this.scale(this._domain[e])+i;if(0===e&&(!o&&!y(t,s+n)||o&&!v(t,s-n)))break;if(e===r-1)break;if(!v(t,s-n)&&!y(t,s+n))break}return e>=0&&e<=r-1?e:r-1}invert(t){return this._domain[this._getInvertIndex(t)]}padding(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(Array.isArray(t)?Math.min.apply(null,t):t)),this._paddingInner=this._paddingOuter,this.rescale(e)):this._paddingInner}paddingInner(t,e){return void 0!==t?(this._paddingInner=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingInner}paddingOuter(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingOuter}step(){return this._step}round(t,e){return void 0!==t?(this._round=t,this.rescale(e)):this._round}align(t,e){return void 0!==t?(this._align=Math.max(0,Math.min(1,t)),this.rescale(e)):this._align}rangeFactor(t,e){return t?(super.rangeFactor(t),this.rescale(e)):super.rangeFactor()}bandwidth(t,e){return t?("auto"===t?(this._bandwidth=void 0,this._isFixed=!1):(this._bandwidth=t,this._isFixed=!0),this._userBandwidth=t,this.rescale(e)):this._bandwidth}maxBandwidth(t,e){return t?(this._maxBandwidth="auto"===t?void 0:t,this.rescale(e)):this._maxBandwidth}minBandwidth(t,e){return t?(this._minBandwidth="auto"===t?void 0:t,this.rescale(e)):this._minBandwidth}fishEye(t,e,n){return t||n?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}isBandwidthFixed(){return this._isFixed&&!!this._bandwidth}_isBandwidthFixedByUser(){return this._isFixed&&this._userBandwidth&&o(this._userBandwidth)}clone(){var t,e,n;return new Te(!0).domain(this._domain,!0).range(this._range,!0).round(this._round,!0).paddingInner(this._paddingInner,!0).paddingOuter(this._paddingOuter,!0).align(this._align,!0).bandwidth(null!==(t=this._userBandwidth)&&void 0!==t?t:"auto",!0).maxBandwidth(null!==(e=this._maxBandwidth)&&void 0!==e?e:"auto",!0).minBandwidth(null!==(n=this._maxBandwidth)&&void 0!==n?n:"auto")}}const{interpolateRgb:ke}=$;function Se(t,e){const i=typeof e;let r;if(n(e)||"boolean"===i)return()=>e;if("number"===i)return F(t,e);if("string"===i){if(r=Y.parseColorString(e)){const e=ke(Y.parseColorString(t),r);return t=>e(t).formatRgb()}return F(Number(t),Number(e))}return e instanceof q?ke(t,e):e instanceof Y?ke(t.color,e.color):e instanceof Date?function(t,e){const n=t.valueOf(),i=e.valueOf(),r=new Date;return t=>(r.setTime(n*(1-t)+i*t),r)}(t,e):F(Number(t),Number(e))}class De extends ie{constructor(t=oe,e=oe){super(),this._unknown=void 0,this.transformer=t,this.untransformer=e,this._forceAlign=!0,this._domain=[0,1],this._range=[0,1],this._clamp=oe,this._piecewise=Me,this._interpolate=Se}calculateVisibleDomain(t){var e;if(this._rangeFactor&&2===t.length){return[this.invert(t[0]),this.invert(t[1])]}return null!==(e=this._niceDomain)&&void 0!==e?e:this._domain}fishEye(t,e,n){return t||n?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}scale(t){var e;if(t=Number(t),Number.isNaN(t)||this._domainValidator&&!this._domainValidator(t))return this._unknown;this._output||(this._output=this._piecewise((null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),this._calculateWholeRange(this._range),this._interpolate));const n=this._output(this.transformer(this._clamp(t)));return this._fishEyeTransform?this._fishEyeTransform(n):n}invert(t){var e;return this._input||(this._input=this._piecewise(this._calculateWholeRange(this._range),(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),F)),this._clamp(this.untransformer(this._input(t)))}domain(t,e){var n;if(!t)return(null!==(n=this._niceDomain)&&void 0!==n?n:this._domain).slice();this._domainValidator=null,this._niceType=null,this._niceDomain=null;const i=Array.from(t,u);return this._domain=i,this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return this._range=n,this.rescale(e)}rangeRound(t,e){const n=Array.from(t);return this._range=n,this._interpolate=E,this.rescale(e)}rescale(t){var e;if(t)return this;const n=null!==(e=this._niceDomain)&&void 0!==e?e:this._domain,i=n.length,r=this._range.length;let s=Math.min(i,r);if(i&&i<r&&this._forceAlign){const t=r-i+1,e=n[i-1],o=i>=2?(e-n[i-2])/t:0;for(let r=1;r<=t;r++)n[i-2+r]=e-o*(t-r);s=r}return void 0===this._clamp&&(this._clamp=D(n[0],n[s-1])),this._piecewise=s>2?be:Me,this._output=this._input=null,this._wholeRange=null,this.generateFishEyeTransform(),this}clamp(t,e,n){return arguments.length?(this._clamp=e||(t?void 0:oe),this.rescale(n)):this._clamp!==oe}interpolate(t,e){return arguments.length?(this._interpolate=t,this.rescale(e)):this._interpolate}ticks(t=10){return[]}tickData(t=10){const e=this.ticks(t);return(null!=e?e:[]).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0])/(this._range[1]-this._range[0])})))}rangeFactor(t,e){return t?(super.rangeFactor(t),this._output=this._input=null,this):super.rangeFactor()}forceAlignDomainRange(t){return arguments.length?(this._forceAlign=t,this):this._forceAlign}}const Fe=Math.sqrt(50),Ee=Math.sqrt(10),Ce=Math.sqrt(2),Ne=[1,2,5,10],Ue=(t,e,n)=>{let i=1,r=t;const s=Math.floor((e-1)/2),o=Math.abs(t);return t>=0&&t<=Number.MIN_VALUE?r=0:t<0&&t>=-Number.MIN_VALUE?r=-(e-1):!n&&o<1?i=Le(o).step:(n||o>1)&&(r=Math.floor(t)-s*i),i>0?(t>0?r=Math.max(r,0):t<0&&(r=Math.min(r,-(e-1)*i)),l(0,e).map((t=>r+t*i))):t>0?Be(0,-(e-1)/i,i):Be((e-1)/i,0,i)},Re=x(((t,e,n,i)=>{let r,s,o,a,h=-1;if(n=+n,(t=+t)===(e=+e))return[t];if(Math.abs(t-e)<=Number.MIN_VALUE&&n>0)return[t];if((r=e<t)&&(s=t,t=e,e=s),a=Oe(t,e,n).step,!isFinite(a))return[];if(a>0){let n=Math.round(t/a),i=Math.round(e/a);for(n*a<t&&++n,i*a>e&&--i,o=new Array(s=i-n+1);++h<s;)o[h]=(n+h)*a}else if(a<0&&(null==i?void 0:i.noDecimals)){a=1;const n=Math.ceil(t),i=Math.floor(e);if(!(n<=i))return[];for(o=new Array(s=i-n+1);++h<s;)o[h]=n+h}else{a=-a;let n=Math.round(t*a),i=Math.round(e*a);for(n/a<t&&++n,i/a>e&&--i,o=new Array(s=i-n+1);++h<s;)o[h]=(n+h)/a}return r&&o.reverse(),o})),Be=(t,e,n)=>{let i,r,s=-1;if(n>0){let o=Math.floor(t/n),a=Math.ceil(e/n);for((o+1)*n<t&&++o,(a-1)*n>e&&--a,r=new Array(i=a-o+1);++s<i;)r[s]=(o+s)*n}else{n=-n;let o=Math.floor(t*n),a=Math.ceil(e*n);for((o+1)/n<t&&++o,(a-1)/n>e&&--a,r=new Array(i=a-o+1);++s<i;)r[s]=(o+s)/n}return r},Ae=x(((t,e,n,i)=>{let r,s,o;if(n=+n,(t=+t)===(e=+e))return Ue(t,n,null==i?void 0:i.noDecimals);if(Math.abs(t-e)<=Number.MIN_VALUE&&n>0)return Ue(t,n,null==i?void 0:i.noDecimals);(r=e<t)&&(o=t,t=e,e=o);const a=Oe(t,e,n);let h=a.step;if(!isFinite(h))return[];if(h>0){let i=1;const{power:r,gap:o}=a,l=10===o?2*10**r:1*10**r;for(;i<=5&&(s=Be(t,e,h),s.length>n+1)&&n>2;)h+=l,i+=1;n>2&&s.length<n-1&&(s=((t,e,n)=>{let i;const r=t[0],s=t[t.length-1],o=e-t.length;if(s<=0){const e=[];for(i=o;i>=1;i--)e.push(r-i*n);return e.concat(t)}if(r>=0){for(i=1;i<=o;i++)t.push(s+i*n);return t}let a=[];const h=[];for(i=1;i<=o;i++)i%2==0?a=[r-Math.floor(i/2)*n].concat(a):h.push(s+Math.ceil(i/2)*n);return a.concat(t).concat(h)})(s,n,h))}else(null==i?void 0:i.noDecimals)&&h<0&&(h=1),s=Be(t,e,h);return r&&s.reverse(),s})),Le=t=>{const e=Math.floor(Math.log(t)/Math.LN10),n=t/10**e;let i=Ne[0];return n>=Fe?i=Ne[3]:n>=Ee?i=Ne[2]:n>=Ce&&(i=Ne[1]),e>=0?{step:i*10**e,gap:i,power:e}:{step:-(10**-e)/i,gap:i,power:e}};function Oe(t,e,n){const i=(e-t)/Math.max(0,n);return Le(i)}function He(t,e,n){let i;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if(n<=0||0===(i=function(t,e,n){const i=(e-t)/Math.max(1,n-1);return i}(t,e,n))||!isFinite(i))return[];const r=new Array(n);for(let e=0;e<n;e++)r[e]=t+e*i;return r}function Ie(t,e,n){let i,r,s=-1;if(n=+n,(r=(e=+e)<(t=+t))&&(i=t,t=e,e=i),!isFinite(n)||e-t<=n)return[t];const o=Math.floor((e-t)/n+1),a=new Array(o);for(;++s<o;)a[s]=t+s*n;return r&&a.reverse(),a}function Ve(t,e=10){let n,i,r=0,s=t.length-1,o=t[r],a=t[s],h=10;for(a<o&&(i=o,o=a,a=i,i=r,r=s,s=i);h-- >0;){if(i=Oe(o,a,e).step,i===n)return t[r]=o,t[s]=a,t;if(i>0)o=Math.floor(o/i)*i,a=Math.ceil(a/i)*i;else{if(!(i<0))break;o=Math.ceil(o*i)/i,a=Math.floor(a*i)/i}n=i}}function Ye(t,e){const n=o(e.forceMin),i=o(e.forceMax);let r=null;const s=[];let a=null;const h=n&&i?t=>t>=e.forceMin&&t<=e.forceMax:n?t=>t>=e.forceMin:i?t=>t<=e.forceMax:null;return n?s[0]=e.forceMin:o(e.min)&&e.min<=Math.min(t[0],t[t.length-1])&&(s[0]=e.min),i?s[1]=e.forceMax:o(e.max)&&e.max>=Math.max(t[0],t[t.length-1])&&(s[1]=e.max),o(s[0])&&o(s[1])?(a=t.slice(),a[0]=s[0],a[a.length-1]=s[1]):r=o(s[0])||o(s[1])?o(s[0])?"max":"min":"all",{niceType:r,niceDomain:a,niceMinMax:s,domainValidator:h}}const qe=(t,e,n)=>Math.abs(e-t)<1?+n.toFixed(1):Math.round(+n),$e=x(((t,e,n,i,r,s)=>{const o=[],a={},h=r(t),l=r(e);let c=[];if(Number.isInteger(i))c=Ae(h,l,n);else{const t=(l-h)/(n-1);for(let e=0;e<n;e++)c.push(h+e*t)}return c.forEach((n=>{const r=s(n),h=Number.isInteger(i)?qe(t,e,r):qe(t,e,ve(r)),l=qe(t,e,((t,e)=>{let n,i;return e[0]<e[1]?(n=e[0],i=e[1]):(n=e[1],i=e[0]),Math.min(Math.max(t,n),i)})(h,[t,e]));!a[l]&&!isNaN(l)&&c.length>1&&(a[l]=1,o.push(l))})),o})),Ge=x(((t,e,n,i,r)=>He(i(t),i(e),n).map((t=>ve(r(t))))));class je extends De{constructor(){super(...arguments),this.type=t.ScaleEnum.Linear}clone(){return(new je).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}tickFormat(){return()=>{}}d3Ticks(t=10,e){const n=this.calculateVisibleDomain(this._range);return Re(n[0],n[n.length-1],t,e)}ticks(t=10,e){var n;if(this._rangeFactor&&(this._rangeFactor[0]>0||this._rangeFactor[1]<1)&&2===this._range.length||!this._niceType)return this.d3Ticks(t,e);const i=null!==(n=this._niceDomain)&&void 0!==n?n:this._domain,r=this._domain,s=i[0],o=i[i.length-1];let a=Ae(r[0],r[r.length-1],t,e);if(!a.length)return a;if(this._domainValidator)a=a.filter(this._domainValidator);else if((a[0]!==s||a[a.length-1]!==o)&&this._niceType){const t=i.slice();if("all"===this._niceType?(t[0]=a[0],t[t.length-1]=a[a.length-1],this._niceDomain=t,this.rescale()):"min"===this._niceType&&a[0]!==s?(t[0]=a[0],this._niceDomain=t,this.rescale()):"max"===this._niceType&&a[a.length-1]!==o&&(t[t.length-1]=a[a.length-1],this._niceDomain=t,this.rescale()),"all"!==this._niceType){const e=Math.min(t[0],t[t.length-1]),n=Math.max(t[0],t[t.length-1]);a=a.filter((t=>t>=e&&t<=n))}}return a}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return He(e[0],e[e.length-1],t)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return Ie(e[0],e[e.length-1],t)}nice(t=10,e){var n,i;const r=this._domain;let s=[];if(e){const t=Ye(r,e);if(s=t.niceMinMax,this._domainValidator=t.domainValidator,this._niceType=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else this._niceType="all";if(this._niceType){const e=Ve(r.slice(),t);"min"===this._niceType?e[e.length-1]=null!==(n=s[1])&&void 0!==n?n:e[e.length-1]:"max"===this._niceType&&(e[0]=null!==(i=s[0])&&void 0!==i?i:e[0]),this._niceDomain=e,this.rescale()}return this}niceMin(t=10){this._niceType="min";const e=this._domain[this._domain.length-1],n=Ve(this.domain(),t);return n&&(n[n.length-1]=e,this._niceDomain=n,this.rescale()),this}niceMax(t=10){this._niceType="max";const e=this._domain[0],n=Ve(this._domain.slice(),t);return n&&(n[0]=e,this._niceDomain=n,this.rescale()),this}}function Pe(t){return e=>-t(-e)}class ze extends De{constructor(){super(me(10),ge(10)),this.type=t.ScaleEnum.Log,this._logs=this.transformer,this._pows=this.untransformer,this._domain=[1,10],this._base=10}clone(){return(new ze).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).base(this._base)}rescale(t){var e;if(t)return this;super.rescale();const n=me(this._base),i=ge(this._base);return(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain)[0]<0?(this._logs=Pe(n),this._pows=Pe(i),this.transformer=ce,this.untransformer=ue):(this._logs=n,this._pows=i,this.transformer=n,this.untransformer=i),this}base(t,e){return arguments.length?(this._base=t,this.rescale(e)):this._base}tickFormat(){return oe}d3Ticks(t=10){const e=this.domain();let n=e[0],i=e[e.length-1];const r=i<n;r&&([n,i]=[i,n]);let s,o,a=this._logs(n),h=this._logs(i),l=[];if(!(this._base%1)&&h-a<t){if(a=Math.floor(a),h=Math.ceil(h),n>0){for(;a<=h;++a)for(s=1;s<this._base;++s)if(o=a<0?s/this._pows(-a):s*this._pows(a),!(o<n)){if(o>i)break;l.push(o)}}else for(;a<=h;++a)for(s=this._base-1;s>=1;--s)if(o=a>0?s/this._pows(-a):s*this._pows(a),!(o<n)){if(o>i)break;l.push(o)}2*l.length<t&&(l=Ae(n,i,t))}else l=Ae(a,h,Math.min(h-a,t)).map(this._pows);return r?l.reverse():l}ticks(t=10){const e=this.calculateVisibleDomain(this._range);return $e(e[0],e[e.length-1],t,this._base,this.transformer,this.untransformer)}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return Ge(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return Ge(e[0],e[e.length-1],t,this.transformer,this.untransformer)}nice(t=10,e){var n,i;const r=this._domain;let s=[],o=null;if(e){const t=Ye(r,e);if(s=t.niceMinMax,this._domainValidator=t.domainValidator,o=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else o="all";if(o){const t=ye(r.slice(),{floor:t=>Math.floor(t),ceil:t=>Math.ceil(t)});return"min"===o?t[t.length-1]=null!==(n=s[1])&&void 0!==n?n:t[t.length-1]:"max"===o&&(t[0]=null!==(i=s[0])&&void 0!==i?i:t[0]),this._niceDomain=t,this.rescale(),this}return this}niceMin(){const t=this._domain[this._domain.length-1];this.nice();const e=this._domain.slice();return this._domain&&(e[e.length-1]=t,this._niceDomain=e,this.rescale()),this}niceMax(){const t=this._domain[0];this.nice();const e=this._domain.slice();return this._domain&&(e[0]=t,this._niceDomain=e,this.rescale()),this}}class Qe extends je{constructor(){super(),this.type=t.ScaleEnum.Pow,this._exponent=1}clone(){return(new Qe).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).exponent(this._exponent)}rescale(t){return t||(1===this._exponent?(this.transformer=oe,this.untransformer=oe):.5===this._exponent?(this.transformer=he,this.untransformer=le):(this.transformer=ae(this._exponent),this.untransformer=ae(1/this._exponent)),super.rescale()),this}exponent(t,e){return arguments.length?(this._exponent=t,this.rescale(e)):this._exponent}}class We{constructor(){this.type=t.ScaleEnum.Quantile,this._range=[],this._domain=[],this._thresholds=[]}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}rescale(t){if(t)return this;let e=0;const n=Math.max(1,this._range.length);for(this._thresholds=new Array(n-1);++e<n;)this._thresholds[e-1]=d(this._domain,e/n);return this}scale(t){return a(t)?this._range[g(this._thresholds,t)]:this._unknown}invertExtent(t){const e=this._range.indexOf(t);return e<0?[NaN,NaN]:[e>0?this._thresholds[e-1]:this._domain[0],e<this._thresholds.length?this._thresholds[e]:this._domain[this._domain.length-1]]}quantiles(){return this._thresholds.slice()}domain(t,e){if(!t)return this._domain.slice();this._domain=[];for(const e of t)n(e)||Number.isNaN(+e)||this._domain.push(+e);return this._domain.sort(c),this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return h(this._range,n)?this:(this._range=n,this.rescale(e))}clone(){return(new We).domain(this._domain,!0).range(this._range).unknown(this._unknown)}}class Ze{constructor(){this.type=t.ScaleEnum.Quantile,this._range=[0,1],this._domain=[.5],this.x0=0,this.x1=1,this.n=1}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}rescale(t){if(t)return this;let e=-1;for(this._domain=new Array(this.n);++e<this.n;)this._domain[e]=((e+1)*this.x1-(e-this.n)*this.x0)/(this.n+1);return this}scale(t){return a(t)?this._range[g(this._domain,t,0,this.n)]:this._unknown}invertExtent(t){const e=this._range.indexOf(t);return e<0?[NaN,NaN]:e<1?[this.x0,this._domain[0]]:e>=this.n?[this._domain[this.n-1],this.x1]:[this._domain[e-1],this._domain[e]]}thresholds(){return this._domain.slice()}domain(t,e){if(!t)return[this.x0,this.x1];const n=Array.from(t);return this.x0=+n[0],this.x1=+n[1],this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return h(this._range,n)?this:(this.n=n.length-1,this._range=n,this.rescale(e))}clone(){return(new Ze).domain([this.x0,this.x1],!0).range(this._range).unknown(this._unknown)}ticks(t=10){const e=this.domain();return Ae(e[0],e[e.length-1],t)}forceTicks(t=10){const e=this.domain();return He(e[0],e[e.length-1],t)}stepTicks(t){const e=this.domain();return Ie(e[0],e[e.length-1],t)}nice(t=10){const e=Ve(this.domain(),t);return e?this.domain(e):this}niceMin(t=10){const e=this._domain[this._domain.length-1],n=Ve(this.domain(),t);return n&&(n[n.length-1]=e,this.domain(n)),this}niceMax(t=10){const e=this._domain[0],n=Ve(this.domain(),t);return n&&(n[0]=e,this.domain(n)),this}}class Je extends je{constructor(){super(he,le),this.type=t.ScaleEnum.Sqrt}clone(){return(new Je).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}}class Ke extends je{constructor(){super(fe(1),_e(1)),this.type=t.ScaleEnum.Symlog,this._const=1}clone(){return(new Ke).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).constant(this._const)}constant(t,e){return arguments.length?(this._const=t,this.transformer=fe(t),this.untransformer=_e(t),this.rescale(e)):this._const}ticks(t=10){const e=this.calculateVisibleDomain(this._range);return $e(e[0],e[e.length-1],t,this._const,this.transformer,this.untransformer)}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return Ge(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return Ge(e[0],e[e.length-1],t,this.transformer,this.untransformer)}nice(t=10,e){var n,i;const r=this._domain;let s=[],o=null;if(e){const t=Ye(r,e);if(s=t.niceMinMax,this._domainValidator=t.domainValidator,o=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else o="all";if(o){const t=ye(r.slice(),{floor:t=>Math.floor(t),ceil:t=>Math.ceil(t)});return"min"===o?t[t.length-1]=null!==(n=s[1])&&void 0!==n?n:t[t.length-1]:"max"===o&&(t[0]=null!==(i=s[0])&&void 0!==i?i:t[0]),this._niceDomain=t,this.rescale(),this}return this}niceMin(){const t=this._domain[this._domain.length-1];this.nice();const e=this._domain.slice();return this._domain&&(e[e.length-1]=t,this._niceDomain=e,this.rescale()),this}niceMax(){const t=this._domain[0];this.nice();const e=this._domain.slice();return this._domain&&(e[0]=t,this._niceDomain=e,this.rescale()),this}}class Xe{constructor(){this.type=t.ScaleEnum.Threshold,this._range=[0,1],this._domain=[.5],this.n=1}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}scale(t){return!n(t)&&a(+t)?this._range[g(this._domain,t,0,this.n)]:this._unknown}invertExtent(t){const e=this._range.indexOf(t);return[this._domain[e-1],this._domain[e]]}domain(t){return t?(this._domain=Array.from(t),this.n=Math.min(this._domain.length,this._range.length-1),this):this._domain.slice()}range(t){return t?(this._range=Array.from(t),this.n=Math.min(this._domain.length,this._range.length-1),this):this._range.slice()}clone(){return(new Xe).domain(this._domain).range(this._range).unknown(this._unknown)}}const tn=[["second",1,X],["second",5,5e3],["second",10,1e4],["second",30,3e4],["minute",1,tt],["minute",5,3e5],["minute",10,6e5],["minute",30,18e5],["hour",1,et],["hour",3,3*et],["hour",6,6*et],["hour",12,12*et],["day",1,nt],["day",2,2*nt],["day",7,7*nt],["month",1,it],["month",3,3*it],["month",6,6*it],["year",1,365*nt]];function en(t){return+N(t)}function nn(t,e,n,i){const r=(+e-+t)/n,s=g(tn.map((t=>t[2])),r);if(s===tn.length){const r=Math.max(p(+t/rt,+e/rt,n),1),s=t=>(t[J(i)](Math.floor(t[G(i)]()/r)*r),t[function(t){return t?"setUTCMonth":"setMonth"}(i)](0,1),t[function(t){return t?"setUTCHours":"setHours"}(i)](0,0,0,0),t),o=(t,e)=>(t[J(i)](t[G(i)]()+e*r),t);return{floor:s,offset:o,ceil:Xt(s,o)}}if(0===s){const i=Math.max(p(+t,+e,n),1),r=t=>(t.setTime(Math.floor(+t/i)*i),t),s=(t,e)=>(t.setTime(+t+e*i),t);return{floor:r,offset:s,ceil:Xt(r,s)}}const[o,a]=tn[r/tn[s-1][2]<tn[s][2]/r?s-1:s],h=((t,e)=>"year"===t&&e?{floor:lt,offset:ct,count:ut,field:dt}:"month"===t&&e?{floor:pt,offset:Mt,count:wt,field:bt}:"day"===t&&e?{floor:kt,offset:St,count:Dt,field:Ft}:"hour"===t&&e?{floor:Rt,offset:Bt,count:Nt,field:At}:"minute"===t&&e?{floor:Vt,offset:Yt,count:Ht,field:qt}:"second"===t&&e?{floor:zt,offset:Qt,count:jt,field:Wt}:"year"===t?{floor:st,offset:ot,count:at,field:ht}:"month"===t?{floor:gt,offset:mt,count:ft,field:_t}:"day"===t?{floor:yt,offset:vt,count:xt,field:Tt}:"hour"===t?{floor:Et,offset:Ct,count:Nt,field:Ut}:"minute"===t?{floor:Lt,offset:Ot,count:Ht,field:It}:"second"===t?{floor:$t,offset:Gt,count:jt,field:Pt}:{floor:Zt,offset:Jt,count:Kt})(o,i);return te(a,h)}class rn extends De{constructor(e=!1){super(),this.type=t.ScaleEnum.Time,this._domain=e?[Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]:[+new Date(2e3,0,1),+new Date(2e3,0,2)],this._isUtc=e}invert(t){return new Date(super.invert(t))}domain(t,e){if(!t)return this._domain.map(N);const n=Array.from(t,en);return this._domain=n,this.rescale(e)}ticks(t){const e=this.domain();let i=e[0],r=e[e.length-1];const s=r<i;s&&([i,r]=[r,i]);let a=t;(o(t)||n(t))&&(a=nn(i,r,n(t)?10:t,this._isUtc)),i=a.ceil(i);const h=[];let l=+i,c=0;for(;l<=+r&&c<100;)h.push(new Date(l)),l=+a.offset(new Date(l),1),c++;return s?h.reverse():h}tickFormat(t,e){return K(null==e?function(t,e){const n=N(t),i=n[j(e)]()+1,r=n[P(e)](),s=n[z(e)](),o=n[Q(e)](),a=n[W(e)](),h=0===n[Z(e)](),l=h&&0===a,c=l&&0===o,u=c&&0===s,d=u&&1===r;return d&&1===i?"YYYY":d?"YYYY-MM":u?"YYYY-MM-DD":c?"HH":l?"HH:mm":h?"HH:mm:ss":"HH:mm:ss SSS"}(this._domain[0],this._isUtc):e,this._isUtc)}clone(){return new rn(this._isUtc).domain(this.domain(),!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}nice(t){const e=this.domain();let i=t;return(o(t)||n(t))&&(i=nn(e[0],e[e.length-1],n(t)?10:t,this._isUtc)),i&&this.domain(ye(e,i)),this}utc(){return this._isUtc}}const sn=Symbol("implicit");class on{constructor(){this.type=t.ScaleEnum.Identity}specified(t){var e;return t?(this._specified=Object.assign(null!==(e=this._specified)&&void 0!==e?e:{},t),this):Object.assign({},this._specified)}_getSpecifiedValue(t){if(this._specified)return this._specified[t]}clone(){return(new on).unknown(this._unknown).domain(this._domain).specified(this._specified)}scale(t){const e=`${t}`,n=this._getSpecifiedValue(e);return void 0!==n?n:this._unknown!==sn&&this._domain&&!this._domain.includes(t)?this._unknown:t}invert(t){return t}domain(t){return t?(this._domain=t,this):this._domain?this._domain.slice():void 0}range(t){return t?this:this._domain?this._domain.slice():void 0}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}}t.BandScale=Te,t.ContinuousScale=De,t.IdentityScale=on,t.LinearScale=je,t.LogScale=ze,t.OrdinalScale=se,t.PointScale=class extends Te{constructor(e){super(!1),this.type=t.ScaleEnum.Point,this._padding=0,this.paddingInner(1,e),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},t.PowScale=Qe,t.QuantileScale=We,t.QuantizeScale=Ze,t.SqrtScale=Je,t.SymlogScale=Ke,t.ThresholdScale=Xe,t.TimeScale=rn,t.isContinuous=function(e){switch(e){case t.ScaleEnum.Linear:case t.ScaleEnum.Log:case t.ScaleEnum.Pow:case t.ScaleEnum.Sqrt:case t.ScaleEnum.Symlog:case t.ScaleEnum.Time:return!0;default:return!1}},t.isDiscrete=function(e){switch(e){case t.ScaleEnum.Ordinal:case t.ScaleEnum.Point:case t.ScaleEnum.Band:return!0;default:return!1}},t.isDiscretizing=function(e){switch(e){case t.ScaleEnum.Quantile:case t.ScaleEnum.Quantize:case t.ScaleEnum.Threshold:return!0;default:return!1}},t.isValidScaleType=function(t){return!!ne[t]},t.supportRangeFactor=function(e){switch(e){case t.ScaleEnum.Linear:case t.ScaleEnum.Log:case t.ScaleEnum.Pow:case t.ScaleEnum.Sqrt:case t.ScaleEnum.Symlog:case t.ScaleEnum.Time:case t.ScaleEnum.Band:case t.ScaleEnum.Point:return!0;default:return!1}}}));
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).VScale={})}(this,(function(t){"use strict";!function(t){var e=Object.prototype.hasOwnProperty,n="~";function i(){}function r(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function s(t,e,i,s,a){if("function"!=typeof i)throw new TypeError("The listener must be a function");var o=new r(i,s||t,a),h=n?n+e:e;return t._events[h]?t._events[h].fn?t._events[h]=[t._events[h],o]:t._events[h].push(o):(t._events[h]=o,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function o(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(n=!1)),o.prototype.eventNames=function(){var t,i,r=[];if(0===this._eventsCount)return r;for(i in t=this._events)e.call(t,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},o.prototype.listeners=function(t){var e=n?n+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,s=i.length,a=new Array(s);r<s;r++)a[r]=i[r].fn;return a},o.prototype.listenerCount=function(t){var e=n?n+t:t,i=this._events[e];return i?i.fn?1:i.length:0},o.prototype.emit=function(t,e,i,r,s,a){var o=n?n+t:t;if(!this._events[o])return!1;var h,l,c=this._events[o],u=arguments.length;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,i),!0;case 4:return c.fn.call(c.context,e,i,r),!0;case 5:return c.fn.call(c.context,e,i,r,s),!0;case 6:return c.fn.call(c.context,e,i,r,s,a),!0}for(l=1,h=new Array(u-1);l<u;l++)h[l-1]=arguments[l];c.fn.apply(c.context,h)}else{var d,g=c.length;for(l=0;l<g;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,i);break;case 4:c[l].fn.call(c[l].context,e,i,r);break;default:if(!h)for(d=1,h=new Array(u-1);d<u;d++)h[d-1]=arguments[d];c[l].fn.apply(c[l].context,h)}}return!0},o.prototype.on=function(t,e,n){return s(this,t,e,n,!1)},o.prototype.once=function(t,e,n){return s(this,t,e,n,!0)},o.prototype.removeListener=function(t,e,i,r){var s=n?n+t:t;if(!this._events[s])return this;if(!e)return a(this,s),this;var o=this._events[s];if(o.fn)o.fn!==e||r&&!o.once||i&&o.context!==i||a(this,s);else{for(var h=0,l=[],c=o.length;h<c;h++)(o[h].fn!==e||r&&!o[h].once||i&&o[h].context!==i)&&l.push(o[h]);l.length?this._events[s]=1===l.length?l[0]:l:a(this,s)}return this},o.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&a(this,e)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=n,o.EventEmitter=o,t.exports=o}({exports:{}});var e=(t,e)=>Object.prototype.toString.call(t)===`[object ${e}]`;var n=t=>null==t;var i=t=>null!=t;var r=function(t){const n=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"string"===n:"string"===n||e(t,"String")};var s=t=>Array.isArray?Array.isArray(t):e(t,"Array");var a=function(t){const n=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"number"===n:"number"===n||e(t,"Number")};var o=t=>a(t)&&Number.isFinite(t);function h(t,e){if(!s(t)||!s(e))return!1;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function l(t,e,n){i(e)||(e=t,t=0),i(n)||(n=1);let r=-1;const s=0|Math.max(0,Math.ceil((e-t)/n)),a=new Array(s);for(;++r<s;)a[r]=t+r*n;return a}function c(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function u(t){return Number(t)}function d(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u;const i=t.length;if(!i)return;if(e<=0||i<2)return n(t[0],0,t);if(e>=1)return n(t[i-1],i-1,t);const r=(i-1)*e,s=Math.floor(r),a=n(t[s],s,t);return a+(n(t[s+1],s+1,t)-a)*(r-s)}function g(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0;for(n(r)&&(r=t.length);i<r;){const n=i+r>>>1;c(t[n],e)>0?r=n:i=n+1}return i}const m=Math.sqrt(50),_=Math.sqrt(10),f=Math.sqrt(2);function p(t,e,n){const i=Math.abs(e-t)/Math.max(0,n);let r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10));const s=i/r;return s>=m?r*=10:s>=_?r*=5:s>=f&&(r*=2),e<t?-r:r}const M=1e-10,w=1e-10;function b(t,e){const n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:M,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:w)*Math.max(t,e);return Math.abs(t-e)<=Math.max(n,i)}function y(t,e,n,i){return t>e&&!b(t,e,n,i)}function v(t,e,n,i){return t<e&&!b(t,e,n,i)}const x=t=>{let e=null,n=null;return function(){for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return e&&r.every(((t,n)=>t===e[n]))||(e=r,n=t(...r)),n}},S=function(t){let e="",n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)-1;for(;n>=0;)e=`${e}${t}`,n-=1;return e};var T=function(t,e){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"right";const i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",r=t+"",s=e-r.length;return s<=0?r:"left"===n?S(i,s)+r:"center"===n?S(i,Math.floor(s/2))+r+S(i,Math.ceil(s/2)):r+S(i,s)};var F=function(t,e,n){return t<e?e:t>n?n:t};function k(t,e){let n;return t>e&&(n=t,t=e,e=n),n=>Math.max(t,Math.min(e,n))}function E(t,e){return n=>t*(1-n)+e*n}function D(t,e){return function(n){return Math.round(t*(1-n)+e*n)}}const C=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function N(t){if(t instanceof Date)return t;if(r(t)){const e=C.exec(t);if(!e)return new Date(NaN);if(!e[8])return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0);let n=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(n-=+e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,n,+(e[5]||0),+e[6]||0,e[7]?+e[7].substring(0,3):0))}return n(t)?new Date(NaN):new Date(Math.round(t))}function U(t,e,n){e/=100,n/=100;const i=(1-Math.abs(2*n-1))*e,r=i*(1-Math.abs(t/60%2-1)),s=n-i/2;let a=0,o=0,h=0;return 0<=t&&t<60?(a=i,o=r,h=0):60<=t&&t<120?(a=r,o=i,h=0):120<=t&&t<180?(a=0,o=i,h=r):180<=t&&t<240?(a=0,o=r,h=i):240<=t&&t<300?(a=r,o=0,h=i):300<=t&&t<360&&(a=i,o=0,h=r),a=Math.round(255*(a+s)),o=Math.round(255*(o+s)),h=Math.round(255*(h+s)),{r:a,g:o,b:h}}function R(t,e,n){t/=255,e/=255,n/=255;const i=Math.min(t,e,n),r=Math.max(t,e,n),s=r-i;let a=0,o=0,h=0;return a=0===s?0:r===t?(e-n)/s%6:r===e?(n-t)/s+2:(t-e)/s+4,a=Math.round(60*a),a<0&&(a+=360),h=(r+i)/2,o=0===s?0:s/(1-Math.abs(2*h-1)),o=+(100*o).toFixed(1),h=+(100*h).toFixed(1),{h:a,s:o,l:h}}const B=/^#([0-9a-f]{3,8})$/,A={transparent:4294967040},L={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 O(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function H(t){return a(t)?new q(t>>16,t>>8&255,255&t,1):s(t)?new q(t[0],t[1],t[2]):new q(255,255,255)}function I(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function V(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class Y{static Brighter(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new Y(t).brighter(e).toRGBA()}static SetOpacity(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new Y(t).setOpacity(e).toRGBA()}static getColorBrightness(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"hsl";const n=t instanceof Y?t:new Y(t);switch(e){case"hsv":default:return n.getHSVBrightness();case"hsl":return n.getHSLBrightness();case"lum":return n.getLuminance();case"lum2":return n.getLuminance2();case"lum3":return n.getLuminance3()}}static parseColorString(t){if(i(A[t]))return function(t){return a(t)?new q(t>>>24,t>>>16&255,t>>>8&255,255&t):s(t)?new q(t[0],t[1],t[2],t[3]):new q(255,255,255,1)}(A[t]);if(i(L[t]))return H(L[t]);const e=`${t}`.trim().toLowerCase(),n=B.exec(e);if(n){const t=parseInt(n[1],16),e=n[1].length;return 3===e?new q((t>>8&15)+((t>>8&15)<<4),(t>>4&15)+((t>>4&15)<<4),(15&t)+((15&t)<<4),1):6===e?H(t):8===e?new q(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):void 0}if(/^(rgb|RGB|rgba|RGBA)/.test(e)){const t=e.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g,"").split(",");return new q(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),parseFloat(t[3]))}if(/^(hsl|HSL|hsla|HSLA)/.test(e)){const t=e.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g,"").split(","),n=U(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10));return new q(n.r,n.g,n.b,parseFloat(t[3]))}}constructor(t){const e=Y.parseColorString(t);e?this.color=e:(console.warn(`Warn: 传入${t}无法解析为Color`),this.color=new q(255,255,255))}toRGBA(){return this.color.formatRgb()}toString(){return this.color.formatRgb()}toHex(){return this.color.formatHex()}toHsl(){return this.color.formatHsl()}brighter(t){const{r:e,g:n,b:i}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t))),this.color.g=Math.max(0,Math.min(255,Math.floor(n*t))),this.color.b=Math.max(0,Math.min(255,Math.floor(i*t))),this}add(t){const{r:e,g:n,b:i}=this.color;return this.color.r+=Math.min(255,e+t.color.r),this.color.g+=Math.min(255,n+t.color.g),this.color.b+=Math.min(255,i+t.color.b),this}sub(t){return this.color.r=Math.max(0,this.color.r-t.color.r),this.color.g=Math.max(0,this.color.g-t.color.g),this.color.b=Math.max(0,this.color.b-t.color.b),this}multiply(t){const{r:e,g:n,b:i}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t.color.r))),this.color.g=Math.max(0,Math.min(255,Math.floor(n*t.color.g))),this.color.b=Math.max(0,Math.min(255,Math.floor(i*t.color.b))),this}getHSVBrightness(){return Math.max(this.color.r,this.color.g,this.color.b)/255}getHSLBrightness(){return.5*(Math.max(this.color.r,this.color.g,this.color.b)/255+Math.min(this.color.r,this.color.g,this.color.b)/255)}setHsl(t,e,i){const r=this.color.opacity,s=R(this.color.r,this.color.g,this.color.b),a=U(n(t)?s.h:F(t,0,360),n(e)?s.s:e>=0&&e<=1?100*e:e,n(i)?s.l:i<=1&&i>=0?100*i:i);return this.color=new q(a.r,a.g,a.b,r),this}setRGB(t,e,i){return!n(t)&&(this.color.r=t),!n(e)&&(this.color.g=e),!n(i)&&(this.color.b=i),this}setHex(t){const e=`${t}`.trim().toLowerCase(),n=B.exec(e),i=parseInt(n[1],16),r=n[1].length;return 3===r?new q((i>>8&15)+((i>>8&15)<<4),(i>>4&15)+((i>>4&15)<<4),(15&i)+((15&i)<<4),1):6===r?H(i):8===r?new q(i>>24&255,i>>16&255,i>>8&255,(255&i)/255):this}setColorName(t){const e=L[t.toLowerCase()];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}setScalar(t){return this.color.r=t,this.color.g=t,this.color.b=t,this}setOpacity(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.color.opacity=t,this}getLuminance(){return(.2126*this.color.r+.7152*this.color.g+.0722*this.color.b)/255}getLuminance2(){return(.2627*this.color.r+.678*this.color.g+.0593*this.color.b)/255}getLuminance3(){return(.299*this.color.r+.587*this.color.g+.114*this.color.b)/255}clone(){return new Y(this.color.toString())}copyGammaToLinear(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return this.color.r=Math.pow(t.color.r,e),this.color.g=Math.pow(t.color.g,e),this.color.b=Math.pow(t.color.b,e),this}copyLinearToGamma(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const n=e>0?1/e:1;return this.color.r=Math.pow(t.color.r,n),this.color.g=Math.pow(t.color.g,n),this.color.b=Math.pow(t.color.b,n),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.color.r=I(t.color.r),this.color.g=I(t.color.g),this.color.b=I(t.color.b),this}copyLinearToSRGB(t){return this.color.r=V(t.color.r),this.color.g=V(t.color.g),this.color.b=V(t.color.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}}class q{constructor(t,e,n,r){this.r=isNaN(+t)?255:Math.max(0,Math.min(255,+t)),this.g=isNaN(+e)?255:Math.max(0,Math.min(255,+e)),this.b=isNaN(+n)?255:Math.max(0,Math.min(255,+n)),i(r)?this.opacity=isNaN(+r)?1:Math.max(0,Math.min(1,+r)):this.opacity=1}formatHex(){return`#${O(this.r)+O(this.g)+O(this.b)+(1===this.opacity?"":O(255*this.opacity))}`}formatRgb(){const t=this.opacity;return`${1===t?"rgb(":"rgba("}${this.r},${this.g},${this.b}${1===t?")":`,${t})`}`}formatHsl(){const t=this.opacity,{h:e,s:n,l:i}=R(this.r,this.g,this.b);return`${1===t?"hsl(":"hsla("}${e},${n}%,${i}%${1===t?")":`,${t})`}`}toString(){return this.formatHex()}}var $=Object.freeze({__proto__:null,Color:Y,DEFAULT_COLORS:L,RGB:q,hexToRgb:function(t){let e="",n="",i="";const r="#"===t[0]?1:0;for(let s=r;s<t.length;s++)"#"!==t[s]&&(s<r+2?e+=t[s]:s<r+4?n+=t[s]:s<r+6&&(i+=t[s]));return[parseInt(e,16),parseInt(n,16),parseInt(i,16)]},hslToRgb:U,interpolateRgb:function(t,e){const n=t.r,i=e.r,r=t.g,s=e.g,a=t.b,o=e.b,h=t.opacity,l=e.opacity;return t=>{const e=Math.round(n*(1-t)+i*t),c=Math.round(r*(1-t)+s*t),u=Math.round(a*(1-t)+o*t);return new q(e,c,u,h*(1-t)+l*t)}},rgbToHex:function(t,e,n){return Number((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},rgbToHsl:R});function G(t){return t?"getUTCFullYear":"getFullYear"}function j(t){return t?"getUTCMonth":"getMonth"}function P(t){return t?"getUTCDate":"getDate"}function z(t){return t?"getUTCHours":"getHours"}function Q(t){return t?"getUTCMinutes":"getMinutes"}function W(t){return t?"getUTCSeconds":"getSeconds"}function Z(t){return t?"getUTCMilliseconds":"getMilliseconds"}function J(t){return t?"setUTCFullYear":"setFullYear"}function K(t,e){return n=>{const i=N(n),r=i[G(e)](),s=i[j(e)]()+1,a=Math.floor((s-1)/3)+1,o=i[P(e)](),h=i["get"+(e?"UTC":"")+"Day"](),l=i[z(e)](),c=(l-1)%12+1,u=i[Q(e)](),d=i[W(e)](),g=i[Z(e)]();return(t||"").replace(/YYYY/g,T(r+"",4,"0","left")).replace(/yyyy/g,r+"").replace(/yy/g,r%100+"").replace(/Q/g,a+"").replace(/MM/g,T(s,2,"0","left")).replace(/M/g,s+"").replace(/dd/g,T(o,2,"0","left")).replace(/d/g,o+"").replace(/e/g,h+"").replace(/HH/g,T(l,2,"0","left")).replace(/H/g,l+"").replace(/hh/g,T(c+"",2,"0","left")).replace(/h/g,c+"").replace(/mm/g,T(u,2,"0","left")).replace(/m/g,u+"").replace(/ss/g,T(d,2,"0","left")).replace(/s/g,d+"").replace(/SSS/g,T(g,3,"0","left")).replace(/S/g,g+"")}}const X=1e3,tt=6e4,et=36e5,nt=24*et,it=31*nt,rt=365*nt,st=t=>(t.setMonth(0,1),t.setHours(0,0,0,0),t),at=(t,e)=>(t.setFullYear(t.getFullYear()+e),t),ot=(t,e)=>e.getFullYear()-t.getFullYear(),ht=t=>t.getFullYear(),lt=t=>(t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0),t),ct=(t,e)=>(t.setUTCFullYear(t.getUTCFullYear()+e),t),ut=(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),dt=t=>t.getUTCFullYear(),gt=t=>(t.setDate(1),t.setHours(0,0,0,0),t),mt=(t,e)=>(t.setMonth(t.getMonth()+e),t),_t=(t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear()),ft=t=>t.getMonth(),pt=t=>(t.setUTCDate(1),t.setUTCHours(0,0,0,0),t),Mt=(t,e)=>(t.setUTCMonth(t.getUTCMonth()+e),t),wt=(t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear()),bt=t=>t.getUTCMonth(),yt=t=>(t.setHours(0,0,0,0),t),vt=(t,e)=>(t.setDate(t.getDate()+e),t),xt=(t,e)=>(+e-+t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/nt,St=t=>t.getDate()-1,Tt=t=>(t.setUTCHours(0,0,0,0),t),Ft=(t,e)=>(t.setUTCDate(t.getUTCDate()+e),t),kt=(t,e)=>(+e-+t)/nt,Et=t=>t.getUTCDate()-1,Dt=t=>(t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes()),t),Ct=(t,e)=>(t.setHours(t.getHours()+e),t),Nt=(t,e)=>(+e-+t)/et,Ut=t=>t.getHours(),Rt=t=>(t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()-6e4*t.getUTCMinutes()),t),Bt=(t,e)=>(t.setUTCHours(t.getUTCHours()+e),t),At=t=>t.getUTCHours(),Lt=t=>(t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()),t),Ot=(t,e)=>(t.setMinutes(t.getMinutes()+e),t),Ht=(t,e)=>(+e-+t)/6e4,It=t=>t.getMinutes(),Vt=t=>(t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()),t),Yt=(t,e)=>(t.setUTCMinutes(t.getUTCMinutes()+e),t),qt=t=>t.getUTCMinutes(),$t=t=>(t.setTime(+t-t.getMilliseconds()),t),Gt=(t,e)=>(t.setSeconds(t.getSeconds()+e),t),jt=(t,e)=>(+e-+t)/1e3,Pt=t=>t.getSeconds(),zt=t=>(t.setTime(+t-t.getUTCMilliseconds()),t),Qt=(t,e)=>(t.setUTCSeconds(t.getUTCSeconds()+e),t),Wt=t=>t.getUTCSeconds(),Zt=t=>t,Jt=(t,e)=>(t.setTime(+t+e),t),Kt=(t,e)=>+e-+t,Xt=(t,e)=>n=>{const i=new Date(+n-1);return e(i,1),t(i),i},te=(t,e)=>{let{floor:n,offset:i,field:r,count:s}=e;const a=Math.floor(t);if(!Number.isFinite(a)||a<=0)return null;if(a<=1)return{floor:n,offset:i,ceil:Xt(n,i)};const o=((t,e)=>(n,i)=>{const r=new Date,s=new Date;return r.setTime(+n),s.setTime(+i),t(r),t(s),Math.floor(e(r,s))})(n,s),h=r?t=>r(t)%a==0:t=>o(0,t)%a==0,l=t=>{if(!Number.isNaN(+t))for(n(t);!h(t);)t.setTime(+t-1),n(t);return t},c=(t,e)=>{if(!Number.isNaN(+t))if(a<0)for(;++e<=0;)for(i(t,-1);!h(t);)i(t,-1);else for(;--e>=0;)for(i(t,1);!h(t);)i(t,1);return t};return{floor:l,offset:c,ceil:Xt(l,c)}};var ee;t.ScaleEnum=void 0,(ee=t.ScaleEnum||(t.ScaleEnum={})).Identity="identity",ee.Linear="linear",ee.Log="log",ee.Pow="pow",ee.Sqrt="sqrt",ee.Symlog="symlog",ee.Time="time",ee.Quantile="quantile",ee.Quantize="quantize",ee.Threshold="threshold",ee.Ordinal="ordinal",ee.Point="point",ee.Band="band";const ne={};function ie(t){return t}Object.values(t.ScaleEnum).forEach((t=>{ne[t]=!0}));const re=t=>e=>e<0?-Math.pow(-e,t):Math.pow(e,t),se=t=>t<0?-Math.sqrt(-t):Math.sqrt(t),ae=t=>t<0?-t*t:t*t,oe=t=>-Math.log(-t),he=t=>-Math.exp(-t),le=t=>isFinite(t)?Math.pow(10,t):t<0?0:t,ce=t=>10===t?le:t===Math.E?Math.exp:e=>Math.pow(t,e),ue=t=>t===Math.E?Math.log:10===t?Math.log10:2===t?Math.log2:(t=Math.log(t),e=>Math.log(e)/t),de=t=>e=>Math.sign(e)*Math.log1p(Math.abs(e/t)),ge=t=>e=>Math.sign(e)*Math.expm1(Math.abs(e))*t;function me(t,e){if(t=Number(t),e=Number(e),e-=t)return n=>(n-t)/e;const n=Number.isNaN(e)?NaN:.5;return()=>n}function _e(t,e,n){const i=t[0],r=t[1],s=e[0],a=e[1];let o,h;return r<i?(o=me(r,i),h=n(a,s)):(o=me(i,r),h=n(s,a)),t=>h(o(t))}function fe(t,e,n){let i;return i=1===t?t+2*n:t-e+2*n,t?i>0?i:1:0}function pe(t,e){const n=(t[1]-t[0])/(e[1]-e[0]),i=t[0]-n*e[0];return[i,n+i]}function Me(t,e,n){const i=Math.min(t.length,e.length)-1,r=new Array(i),s=new Array(i);let a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<i;)r[a]=me(t[a],t[a+1]),s[a]=n(e[a],e[a+1]);return function(e){const n=g(t,e,1,i)-1;return s[n](r[n](e))}}const we=(t,e)=>{const n=t.slice();let i=0,r=n.length-1,s=n[i],a=n[r];return a<s&&([i,r]=[r,i],[s,a]=[a,s]),n[i]=e.floor(s),n[r]=e.ceil(a),n},be=(t,e=!1)=>{const n=Math.floor(Math.log10(t)),i=t/Math.pow(10,n);let r;return r=e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10,r*Math.pow(10,n)};class ye{constructor(){this._rangeFactorStart=null,this._rangeFactorEnd=null}_calculateWholeRange(t){return this._wholeRange?this._wholeRange:i(this._rangeFactorStart)&&i(this._rangeFactorEnd)&&2===t.length?(this._wholeRange=pe(t,[this._rangeFactorStart,this._rangeFactorEnd]),this._wholeRange):t}rangeFactor(t,e,n){return t?(2===t.length&&t.every((t=>t>=0&&t<=1))&&(this._wholeRange=null,0===t[0]&&1===t[1]?(this._rangeFactorStart=null,this._rangeFactorEnd=null):(this._rangeFactorStart=t[0],this._rangeFactorEnd=t[1])),this):n?(this._wholeRange=null,this._rangeFactorStart=null,this._rangeFactorEnd=null,this):i(this._rangeFactorStart)&&i(this._rangeFactorEnd)?[this._rangeFactorStart,this._rangeFactorEnd]:null}rangeFactorStart(t,e){return t?(t>=0&&t<=1&&(this._wholeRange=null,0!==t||!n(this._rangeFactorEnd)&&1!==this._rangeFactorEnd?this._rangeFactorStart=t:(this._rangeFactorStart=null,this._rangeFactorEnd=null)),this):this._rangeFactorStart}rangeFactorEnd(t,e){return t?(t>=0&&t<=1&&(this._wholeRange=null,0!==t||!n(this._rangeFactorStart)&&0!==this._rangeFactorStart?this._rangeFactorEnd=t:(this._rangeFactorStart=null,this._rangeFactorEnd=null)),this):this._rangeFactorEnd}generateFishEyeTransform(){var t;if(!this._fishEyeOptions)return void(this._fishEyeTransform=null);const{distortion:e=2,radiusRatio:i=.1,radius:r}=this._fishEyeOptions,s=this.range(),a=s[0],o=s[s.length-1],h=Math.min(a,o),l=Math.max(a,o),c=F(null!==(t=this._fishEyeOptions.focus)&&void 0!==t?t:0,h,l),u=n(r)?(l-h)*i:r;let d=Math.exp(e);d=d/(d-1)*u;const g=e/u;this._fishEyeTransform=t=>{const e=Math.abs(t-c);if(e>=u)return t;if(e<=1e-6)return c;const n=d*(1-Math.exp(-e*g))/e*.75+.25;return c+(t-c)*n}}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}}const ve=Symbol("implicit");class xe extends ye{specified(t){var e;return t?(this._specified=Object.assign(null!==(e=this._specified)&&void 0!==e?e:{},t),this):Object.assign({},this._specified)}_getSpecifiedValue(t){if(this._specified)return this._specified[t]}constructor(){super(),this.type=t.ScaleEnum.Ordinal,this._index=new Map,this._domain=[],this._ordinalRange=[],this._unknown=ve}clone(){return(new xe).domain(this._domain).range(this._ordinalRange).unknown(this._unknown)}calculateVisibleDomain(t){if(i(this._rangeFactorStart)&&i(this._rangeFactorEnd)&&2===t.length){return[this.invert(t[0]),this.invert(t[1])]}return this._domain}scale(t){const e=`${t}`,n=this._getSpecifiedValue(e);if(void 0!==n)return n;let i=this._index.get(e);if(!i){if(this._unknown!==ve)return this._unknown;i=this._domain.push(t),this._index.set(e,i)}const r=this._ordinalRange[(i-1)%this._ordinalRange.length];return this._fishEyeTransform?this._fishEyeTransform(r):r}invert(t){let e=0;for(;e<this._ordinalRange.length&&this._ordinalRange[e]!==t;)e++;return this._domain[(e-1)%this._domain.length]}domain(t){if(!t)return this._domain.slice();this._domain=[],this._index=new Map;for(const e of t){const t=`${e}`;this._index.has(t)||this._index.set(t,this._domain.push(e))}return this}range(t){if(!t)return this._ordinalRange.slice();const e=Array.from(t);return this._ordinalRange=e,this}}function Se(t,e,n,i){let r;const s=[];let a;if(e=Math.floor(+e),t=Math.floor(+t),!(n=Math.floor(+n)))return[];if(t===e)return[t];if(r=e<t){const n=t;t=e,e=n}let o=k(1,e-t+1)(n);if(a=Math.floor((e-t+1)/o),!i)for(;Math.ceil((e-t+1)/a)>n&&o>1;)o-=1,a=Math.floor((e-t)/o);let h=t;for(;h<=e;)s.push(h),h+=a;return r&&s.reverse(),s}class Te extends xe{constructor(e){super(),this.type=t.ScaleEnum.Band,this._range=[0,1],this._step=void 0,this._bandwidth=void 0,this._isFixed=!1,this._round=!1,this._paddingInner=0,this._paddingOuter=0,this._align=.5,this._unknown=void 0,delete this.unknown,this.rescale(e)}rescale(t,e){if(t)return this;this._wholeRange=null;const n=this._calculateWholeRange(this._range,e),i=super.domain().length,r=n[1]<n[0];let s=n[Number(r)-0];const a=n[1-Number(r)],o=fe(i,this._paddingInner,this._paddingOuter);this._step=(a-s)/Math.max(1,o||1),this._round&&(this._step=Math.floor(this._step)),s+=(a-s-this._step*(i-this._paddingInner))*this._align,this.isBandwidthFixed()||(this._bandwidth=this._step*(1-this._paddingInner)),this._round&&(s=Math.round(s),this.isBandwidthFixed()||(this._bandwidth=Math.round(this._bandwidth)));const h=l(i).map((t=>s+this._step*t));return super.range(r?h.reverse():h),this.generateFishEyeTransform(),this}_calculateWholeRange(t,e){if(this._wholeRange)return this._wholeRange;if((this._minBandwidth||this._maxBandwidth)&&!this._isBandwidthFixedByUser()){let e;if(i(this._rangeFactorStart)&&i(this._rangeFactorEnd)&&2===t.length){const n=pe(t,[this._rangeFactorStart,this._rangeFactorEnd]);e=Math.abs(n[1]-n[0])}else e=Math.abs(t[1]-t[0]);const n=function(t,e,n,i,r){const s=fe(t,n,i);let a=e/Math.max(1,s||1);r&&(a=Math.floor(a));let o=a*(1-n);return r&&(o=Math.round(o)),o}(super.domain().length,e,this._paddingInner,this._paddingOuter,this._round);n<this._minBandwidth?(this._bandwidth=this._minBandwidth,this._isFixed=!0):n>this._maxBandwidth?(this._bandwidth=this._maxBandwidth,this._isFixed=!0):(this._bandwidth=n,this._isFixed=!1)}if(this.isBandwidthFixed()){const o=(n=super.domain().length,r=this._bandwidth,s=this._paddingInner,a=this._paddingOuter,fe(n,s,a)*(r/(1-s))),h=Math.min((t[1]-t[0])/o,1);if(i(this._rangeFactorStart)&&i(this._rangeFactorEnd)){const n=t[0]-o*this._rangeFactorStart,i=n+o;this._wholeRange=[n,i],"rangeFactorStart"===e&&this._rangeFactorStart+h<=1?this._rangeFactorEnd=this._rangeFactorStart+h:"rangeFactorEnd"===e&&this._rangeFactorEnd-h>=0?this._rangeFactorStart=this._rangeFactorEnd-h:this._rangeFactorStart+h<=1?this._rangeFactorEnd=this._rangeFactorStart+h:this._rangeFactorEnd-h>=0?this._rangeFactorStart=this._rangeFactorEnd-h:(this._rangeFactorStart=0,this._rangeFactorEnd=h)}else this._rangeFactorStart=0,this._rangeFactorEnd=h,this._wholeRange=[t[0],t[0]+o];return this._wholeRange}var n,r,s,a;return super._calculateWholeRange(t)}calculateWholeRangeSize(){const t=this._calculateWholeRange(this._range);return Math.abs(t[1]-t[0])}calculateVisibleDomain(t){const e=this._domain;if(i(this._rangeFactorStart)&&i(this._rangeFactorEnd)&&e.length){const n=this._getInvertIndex(t[0]),i=this._getInvertIndex(t[1]);return e.slice(Math.min(n,i),Math.max(n,i)+1)}return e}domain(t,e){return t?(super.domain(t),this.rescale(e)):super.domain()}range(t,e){return t?(this._range=[u(t[0]),u(t[1])],this.rescale(e)):this._range.slice()}rangeRound(t,e){return this._range=[u(t[0]),u(t[1])],this._round=!0,this.rescale(e)}ticks(t=10){const e=this.calculateVisibleDomain(this._range);if(-1===t)return e.slice();return Se(0,e.length-1,t,!1).map((t=>e[t]))}tickData(t=10){return this.ticks(t).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0]+this._bandwidth/2)/(this._range[1]-this._range[0])})))}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return Se(0,e.length-1,t,!0).filter((t=>t<e.length)).map((t=>e[t]))}stepTicks(t){const e=this.calculateVisibleDomain(this._range),n=function(t,e,n){const i=[];let r;if(n=k(1,(e=Math.floor(+e))-(t=Math.floor(+t))+1)(Math.floor(+n)),r=e<t){const n=t;t=e,e=n}let s=t;for(;s<=e;)i.push(s),s+=n;return r&&i.reverse(),i}(0,e.length-1,t);return n.map((t=>e[t]))}_getInvertIndex(t){let e=0;const n=this.step()/2,i=this.bandwidth()/2,r=this._domain.length,s=this.range(),a=s[0]>s[s.length-1];for(e=0;e<r;e++){const s=this.scale(this._domain[e])+i;if(0===e&&(!a&&!y(t,s+n)||a&&!v(t,s-n)))break;if(e===r-1)break;if(!v(t,s-n)&&!y(t,s+n))break}return e>=0&&e<=r-1?e:r-1}invert(t){return this._domain[this._getInvertIndex(t)]}padding(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(Array.isArray(t)?Math.min.apply(null,t):t)),this._paddingInner=this._paddingOuter,this.rescale(e)):this._paddingInner}paddingInner(t,e){return void 0!==t?(this._paddingInner=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingInner}paddingOuter(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingOuter}step(){return this._step}round(t,e){return void 0!==t?(this._round=t,this.rescale(e)):this._round}align(t,e){return void 0!==t?(this._align=Math.max(0,Math.min(1,t)),this.rescale(e)):this._align}rangeFactor(t,e){return t?(super.rangeFactor(t),this.rescale(e)):super.rangeFactor()}rangeFactorStart(t,e){return t?(super.rangeFactorStart(t),this.rescale(e,"rangeFactorStart")):super.rangeFactorStart()}rangeFactorEnd(t,e){return t?(super.rangeFactorEnd(t),this.rescale(e,"rangeFactorEnd")):super.rangeFactorEnd()}bandwidth(t,e){return t?("auto"===t?(this._bandwidth=void 0,this._isFixed=!1):(this._bandwidth=t,this._isFixed=!0),this._userBandwidth=t,this.rescale(e)):this._bandwidth}maxBandwidth(t,e){return t?(this._maxBandwidth="auto"===t?void 0:t,this.rescale(e)):this._maxBandwidth}minBandwidth(t,e){return t?(this._minBandwidth="auto"===t?void 0:t,this.rescale(e)):this._minBandwidth}fishEye(t,e,n){return t||n?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}isBandwidthFixed(){return this._isFixed&&!!this._bandwidth}_isBandwidthFixedByUser(){return this._isFixed&&this._userBandwidth&&a(this._userBandwidth)}clone(){var t,e,n;return new Te(!0).domain(this._domain,!0).range(this._range,!0).round(this._round,!0).paddingInner(this._paddingInner,!0).paddingOuter(this._paddingOuter,!0).align(this._align,!0).bandwidth(null!==(t=this._userBandwidth)&&void 0!==t?t:"auto",!0).maxBandwidth(null!==(e=this._maxBandwidth)&&void 0!==e?e:"auto",!0).minBandwidth(null!==(n=this._maxBandwidth)&&void 0!==n?n:"auto")}}const{interpolateRgb:Fe}=$;function ke(t,e){const i=typeof e;let r;if(n(e)||"boolean"===i)return()=>e;if("number"===i)return E(t,e);if("string"===i){if(r=Y.parseColorString(e)){const e=Fe(Y.parseColorString(t),r);return t=>e(t).formatRgb()}return E(Number(t),Number(e))}return e instanceof q?Fe(t,e):e instanceof Y?Fe(t.color,e.color):e instanceof Date?function(t,e){const n=t.valueOf(),i=e.valueOf(),r=new Date;return t=>(r.setTime(n*(1-t)+i*t),r)}(t,e):E(Number(t),Number(e))}class Ee extends ye{constructor(t=ie,e=ie){super(),this._unknown=void 0,this.transformer=t,this.untransformer=e,this._forceAlign=!0,this._domain=[0,1],this._range=[0,1],this._clamp=ie,this._piecewise=_e,this._interpolate=ke}calculateVisibleDomain(t){var e;if(i(this._rangeFactorStart)&&i(this._rangeFactorEnd)&&2===t.length){return[this.invert(t[0]),this.invert(t[1])]}return null!==(e=this._niceDomain)&&void 0!==e?e:this._domain}fishEye(t,e,n){return t||n?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}scale(t){var e;if(t=Number(t),Number.isNaN(t)||this._domainValidator&&!this._domainValidator(t))return this._unknown;this._output||(this._output=this._piecewise((null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),this._calculateWholeRange(this._range),this._interpolate));const n=this._output(this.transformer(this._clamp(t)));return this._fishEyeTransform?this._fishEyeTransform(n):n}invert(t){var e;return this._input||(this._input=this._piecewise(this._calculateWholeRange(this._range),(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),E)),this._clamp(this.untransformer(this._input(t)))}domain(t,e){var n;if(!t)return(null!==(n=this._niceDomain)&&void 0!==n?n:this._domain).slice();this._domainValidator=null,this._niceType=null,this._niceDomain=null;const i=Array.from(t,u);return this._domain=i,this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return this._range=n,this.rescale(e)}rangeRound(t,e){const n=Array.from(t);return this._range=n,this._interpolate=D,this.rescale(e)}rescale(t){var e;if(t)return this;const n=null!==(e=this._niceDomain)&&void 0!==e?e:this._domain,i=n.length,r=this._range.length;let s=Math.min(i,r);if(i&&i<r&&this._forceAlign){const t=r-i+1,e=n[i-1],a=i>=2?(e-n[i-2])/t:0;for(let r=1;r<=t;r++)n[i-2+r]=e-a*(t-r);s=r}return void 0===this._clamp&&(this._clamp=k(n[0],n[s-1])),this._piecewise=s>2?Me:_e,this._output=this._input=null,this._wholeRange=null,this.generateFishEyeTransform(),this}clamp(t,e,n){return arguments.length?(this._clamp=e||(t?void 0:ie),this.rescale(n)):this._clamp!==ie}interpolate(t,e){return arguments.length?(this._interpolate=t,this.rescale(e)):this._interpolate}ticks(t=10){return[]}tickData(t=10){const e=this.ticks(t);return(null!=e?e:[]).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0])/(this._range[1]-this._range[0])})))}rangeFactor(t,e){return t?(super.rangeFactor(t),this._output=this._input=null,this):super.rangeFactor()}forceAlignDomainRange(t){return arguments.length?(this._forceAlign=t,this):this._forceAlign}}const De=Math.sqrt(50),Ce=Math.sqrt(10),Ne=Math.sqrt(2),Ue=[1,2,5,10],Re=(t,e,n)=>{let i=1,r=t;const s=Math.floor((e-1)/2),a=Math.abs(t);return t>=0&&t<=Number.MIN_VALUE?r=0:t<0&&t>=-Number.MIN_VALUE?r=-(e-1):!n&&a<1?i=Oe(a).step:(n||a>1)&&(r=Math.floor(t)-s*i),i>0?(t>0?r=Math.max(r,0):t<0&&(r=Math.min(r,-(e-1)*i)),l(0,e).map((t=>r+t*i))):t>0?Ae(0,-(e-1)/i,i):Ae((e-1)/i,0,i)},Be=x(((t,e,n,i)=>{let r,s,a,o,h=-1;if(n=+n,(t=+t)===(e=+e))return[t];if(Math.abs(t-e)<=Number.MIN_VALUE&&n>0)return[t];if((r=e<t)&&(s=t,t=e,e=s),o=He(t,e,n).step,!isFinite(o))return[];if(o>0){let n=Math.round(t/o),i=Math.round(e/o);for(n*o<t&&++n,i*o>e&&--i,a=new Array(s=i-n+1);++h<s;)a[h]=(n+h)*o}else if(o<0&&(null==i?void 0:i.noDecimals)){o=1;const n=Math.ceil(t),i=Math.floor(e);if(!(n<=i))return[];for(a=new Array(s=i-n+1);++h<s;)a[h]=n+h}else{o=-o;let n=Math.round(t*o),i=Math.round(e*o);for(n/o<t&&++n,i/o>e&&--i,a=new Array(s=i-n+1);++h<s;)a[h]=(n+h)/o}return r&&a.reverse(),a})),Ae=(t,e,n)=>{let i,r,s=-1;if(n>0){let a=Math.floor(t/n),o=Math.ceil(e/n);for((a+1)*n<t&&++a,(o-1)*n>e&&--o,r=new Array(i=o-a+1);++s<i;)r[s]=(a+s)*n}else{n=-n;let a=Math.floor(t*n),o=Math.ceil(e*n);for((a+1)/n<t&&++a,(o-1)/n>e&&--o,r=new Array(i=o-a+1);++s<i;)r[s]=(a+s)/n}return r},Le=x(((t,e,n,i)=>{let r,s,a;if(n=+n,(t=+t)===(e=+e))return Re(t,n,null==i?void 0:i.noDecimals);if(Math.abs(t-e)<=Number.MIN_VALUE&&n>0)return Re(t,n,null==i?void 0:i.noDecimals);(r=e<t)&&(a=t,t=e,e=a);const o=He(t,e,n);let h=o.step;if(!isFinite(h))return[];if(h>0){let i=1;const{power:r,gap:a}=o,l=10===a?2*10**r:1*10**r;for(;i<=5&&(s=Ae(t,e,h),s.length>n+1)&&n>2;)h+=l,i+=1;n>2&&s.length<n-1&&(s=((t,e,n)=>{let i;const r=t[0],s=t[t.length-1],a=e-t.length;if(s<=0){const e=[];for(i=a;i>=1;i--)e.push(r-i*n);return e.concat(t)}if(r>=0){for(i=1;i<=a;i++)t.push(s+i*n);return t}let o=[];const h=[];for(i=1;i<=a;i++)i%2==0?o=[r-Math.floor(i/2)*n].concat(o):h.push(s+Math.ceil(i/2)*n);return o.concat(t).concat(h)})(s,n,h))}else(null==i?void 0:i.noDecimals)&&h<0&&(h=1),s=Ae(t,e,h);return r&&s.reverse(),s})),Oe=t=>{const e=Math.floor(Math.log(t)/Math.LN10),n=t/10**e;let i=Ue[0];return n>=De?i=Ue[3]:n>=Ce?i=Ue[2]:n>=Ne&&(i=Ue[1]),e>=0?{step:i*10**e,gap:i,power:e}:{step:-(10**-e)/i,gap:i,power:e}};function He(t,e,n){const i=(e-t)/Math.max(0,n);return Oe(i)}function Ie(t,e,n){let i;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if(n<=0||0===(i=function(t,e,n){const i=(e-t)/Math.max(1,n-1);return i}(t,e,n))||!isFinite(i))return[];const r=new Array(n);for(let e=0;e<n;e++)r[e]=t+e*i;return r}function Ve(t,e,n){let i,r,s=-1;if(n=+n,(r=(e=+e)<(t=+t))&&(i=t,t=e,e=i),!isFinite(n)||e-t<=n)return[t];const a=Math.floor((e-t)/n+1),o=new Array(a);for(;++s<a;)o[s]=t+s*n;return r&&o.reverse(),o}function Ye(t,e=10){let n,i,r=0,s=t.length-1,a=t[r],o=t[s],h=10;for(o<a&&(i=a,a=o,o=i,i=r,r=s,s=i);h-- >0;){if(i=He(a,o,e).step,i===n)return t[r]=a,t[s]=o,t;if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else{if(!(i<0))break;a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i}n=i}}function qe(t,e){const n=a(e.forceMin),i=a(e.forceMax);let r=null;const s=[];let o=null;const h=n&&i?t=>t>=e.forceMin&&t<=e.forceMax:n?t=>t>=e.forceMin:i?t=>t<=e.forceMax:null;return n?s[0]=e.forceMin:a(e.min)&&e.min<=Math.min(t[0],t[t.length-1])&&(s[0]=e.min),i?s[1]=e.forceMax:a(e.max)&&e.max>=Math.max(t[0],t[t.length-1])&&(s[1]=e.max),a(s[0])&&a(s[1])?(o=t.slice(),o[0]=s[0],o[o.length-1]=s[1]):r=a(s[0])||a(s[1])?a(s[0])?"max":"min":"all",{niceType:r,niceDomain:o,niceMinMax:s,domainValidator:h}}const $e=(t,e,n)=>Math.abs(e-t)<1?+n.toFixed(1):Math.round(+n),Ge=x(((t,e,n,i,r,s)=>{const a=[],o={},h=r(t),l=r(e);let c=[];if(Number.isInteger(i))c=Le(h,l,n);else{const t=(l-h)/(n-1);for(let e=0;e<n;e++)c.push(h+e*t)}return c.forEach((n=>{const r=s(n),h=Number.isInteger(i)?$e(t,e,r):$e(t,e,be(r)),l=$e(t,e,((t,e)=>{let n,i;return e[0]<e[1]?(n=e[0],i=e[1]):(n=e[1],i=e[0]),Math.min(Math.max(t,n),i)})(h,[t,e]));!o[l]&&!isNaN(l)&&c.length>1&&(o[l]=1,a.push(l))})),a})),je=x(((t,e,n,i,r)=>Ie(i(t),i(e),n).map((t=>be(r(t))))));class Pe extends Ee{constructor(){super(...arguments),this.type=t.ScaleEnum.Linear}clone(){return(new Pe).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}tickFormat(){return()=>{}}d3Ticks(t=10,e){const n=this.calculateVisibleDomain(this._range);return Be(n[0],n[n.length-1],t,e)}ticks(t=10,e){var n;if(i(this._rangeFactorStart)&&i(this._rangeFactorEnd)&&(this._rangeFactorStart>0||this._rangeFactorEnd<1)&&2===this._range.length||!this._niceType)return this.d3Ticks(t,e);const r=null!==(n=this._niceDomain)&&void 0!==n?n:this._domain,s=this._domain,a=r[0],o=r[r.length-1];let h=Le(s[0],s[s.length-1],t,e);if(!h.length)return h;if(this._domainValidator)h=h.filter(this._domainValidator);else if((h[0]!==a||h[h.length-1]!==o)&&this._niceType){const t=r.slice();if("all"===this._niceType?(t[0]=h[0],t[t.length-1]=h[h.length-1],this._niceDomain=t,this.rescale()):"min"===this._niceType&&h[0]!==a?(t[0]=h[0],this._niceDomain=t,this.rescale()):"max"===this._niceType&&h[h.length-1]!==o&&(t[t.length-1]=h[h.length-1],this._niceDomain=t,this.rescale()),"all"!==this._niceType){const e=Math.min(t[0],t[t.length-1]),n=Math.max(t[0],t[t.length-1]);h=h.filter((t=>t>=e&&t<=n))}}return h}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return Ie(e[0],e[e.length-1],t)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return Ve(e[0],e[e.length-1],t)}nice(t=10,e){var n,i;const r=this._domain;let s=[];if(e){const t=qe(r,e);if(s=t.niceMinMax,this._domainValidator=t.domainValidator,this._niceType=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else this._niceType="all";if(this._niceType){const e=Ye(r.slice(),t);"min"===this._niceType?e[e.length-1]=null!==(n=s[1])&&void 0!==n?n:e[e.length-1]:"max"===this._niceType&&(e[0]=null!==(i=s[0])&&void 0!==i?i:e[0]),this._niceDomain=e,this.rescale()}return this}niceMin(t=10){this._niceType="min";const e=this._domain[this._domain.length-1],n=Ye(this.domain(),t);return n&&(n[n.length-1]=e,this._niceDomain=n,this.rescale()),this}niceMax(t=10){this._niceType="max";const e=this._domain[0],n=Ye(this._domain.slice(),t);return n&&(n[0]=e,this._niceDomain=n,this.rescale()),this}}function ze(t){return e=>-t(-e)}class Qe extends Ee{constructor(){super(ue(10),ce(10)),this.type=t.ScaleEnum.Log,this._logs=this.transformer,this._pows=this.untransformer,this._domain=[1,10],this._base=10}clone(){return(new Qe).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).base(this._base)}rescale(t){var e;if(t)return this;super.rescale();const n=ue(this._base),i=ce(this._base);return(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain)[0]<0?(this._logs=ze(n),this._pows=ze(i),this.transformer=oe,this.untransformer=he):(this._logs=n,this._pows=i,this.transformer=n,this.untransformer=i),this}base(t,e){return arguments.length?(this._base=t,this.rescale(e)):this._base}tickFormat(){return ie}d3Ticks(t=10){const e=this.domain();let n=e[0],i=e[e.length-1];const r=i<n;r&&([n,i]=[i,n]);let s,a,o=this._logs(n),h=this._logs(i),l=[];if(!(this._base%1)&&h-o<t){if(o=Math.floor(o),h=Math.ceil(h),n>0){for(;o<=h;++o)for(s=1;s<this._base;++s)if(a=o<0?s/this._pows(-o):s*this._pows(o),!(a<n)){if(a>i)break;l.push(a)}}else for(;o<=h;++o)for(s=this._base-1;s>=1;--s)if(a=o>0?s/this._pows(-o):s*this._pows(o),!(a<n)){if(a>i)break;l.push(a)}2*l.length<t&&(l=Le(n,i,t))}else l=Le(o,h,Math.min(h-o,t)).map(this._pows);return r?l.reverse():l}ticks(t=10){const e=this.calculateVisibleDomain(this._range);return Ge(e[0],e[e.length-1],t,this._base,this.transformer,this.untransformer)}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return je(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return je(e[0],e[e.length-1],t,this.transformer,this.untransformer)}nice(t=10,e){var n,i;const r=this._domain;let s=[],a=null;if(e){const t=qe(r,e);if(s=t.niceMinMax,this._domainValidator=t.domainValidator,a=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else a="all";if(a){const t=we(r.slice(),{floor:t=>Math.floor(t),ceil:t=>Math.ceil(t)});return"min"===a?t[t.length-1]=null!==(n=s[1])&&void 0!==n?n:t[t.length-1]:"max"===a&&(t[0]=null!==(i=s[0])&&void 0!==i?i:t[0]),this._niceDomain=t,this.rescale(),this}return this}niceMin(){const t=this._domain[this._domain.length-1];this.nice();const e=this._domain.slice();return this._domain&&(e[e.length-1]=t,this._niceDomain=e,this.rescale()),this}niceMax(){const t=this._domain[0];this.nice();const e=this._domain.slice();return this._domain&&(e[0]=t,this._niceDomain=e,this.rescale()),this}}class We extends Pe{constructor(){super(),this.type=t.ScaleEnum.Pow,this._exponent=1}clone(){return(new We).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).exponent(this._exponent)}rescale(t){return t||(1===this._exponent?(this.transformer=ie,this.untransformer=ie):.5===this._exponent?(this.transformer=se,this.untransformer=ae):(this.transformer=re(this._exponent),this.untransformer=re(1/this._exponent)),super.rescale()),this}exponent(t,e){return arguments.length?(this._exponent=t,this.rescale(e)):this._exponent}}class Ze{constructor(){this.type=t.ScaleEnum.Quantile,this._range=[],this._domain=[],this._thresholds=[]}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}rescale(t){if(t)return this;let e=0;const n=Math.max(1,this._range.length);for(this._thresholds=new Array(n-1);++e<n;)this._thresholds[e-1]=d(this._domain,e/n);return this}scale(t){return o(t)?this._range[g(this._thresholds,t)]:this._unknown}invertExtent(t){const e=this._range.indexOf(t);return e<0?[NaN,NaN]:[e>0?this._thresholds[e-1]:this._domain[0],e<this._thresholds.length?this._thresholds[e]:this._domain[this._domain.length-1]]}quantiles(){return this._thresholds.slice()}domain(t,e){if(!t)return this._domain.slice();this._domain=[];for(const e of t)n(e)||Number.isNaN(+e)||this._domain.push(+e);return this._domain.sort(c),this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return h(this._range,n)?this:(this._range=n,this.rescale(e))}clone(){return(new Ze).domain(this._domain,!0).range(this._range).unknown(this._unknown)}}class Je{constructor(){this.type=t.ScaleEnum.Quantile,this._range=[0,1],this._domain=[.5],this.x0=0,this.x1=1,this.n=1}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}rescale(t){if(t)return this;let e=-1;for(this._domain=new Array(this.n);++e<this.n;)this._domain[e]=((e+1)*this.x1-(e-this.n)*this.x0)/(this.n+1);return this}scale(t){return o(t)?this._range[g(this._domain,t,0,this.n)]:this._unknown}invertExtent(t){const e=this._range.indexOf(t);return e<0?[NaN,NaN]:e<1?[this.x0,this._domain[0]]:e>=this.n?[this._domain[this.n-1],this.x1]:[this._domain[e-1],this._domain[e]]}thresholds(){return this._domain.slice()}domain(t,e){if(!t)return[this.x0,this.x1];const n=Array.from(t);return this.x0=+n[0],this.x1=+n[1],this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return h(this._range,n)?this:(this.n=n.length-1,this._range=n,this.rescale(e))}clone(){return(new Je).domain([this.x0,this.x1],!0).range(this._range).unknown(this._unknown)}ticks(t=10){const e=this.domain();return Le(e[0],e[e.length-1],t)}forceTicks(t=10){const e=this.domain();return Ie(e[0],e[e.length-1],t)}stepTicks(t){const e=this.domain();return Ve(e[0],e[e.length-1],t)}nice(t=10){const e=Ye(this.domain(),t);return e?this.domain(e):this}niceMin(t=10){const e=this._domain[this._domain.length-1],n=Ye(this.domain(),t);return n&&(n[n.length-1]=e,this.domain(n)),this}niceMax(t=10){const e=this._domain[0],n=Ye(this.domain(),t);return n&&(n[0]=e,this.domain(n)),this}}class Ke extends Pe{constructor(){super(se,ae),this.type=t.ScaleEnum.Sqrt}clone(){return(new Ke).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}}class Xe extends Pe{constructor(){super(de(1),ge(1)),this.type=t.ScaleEnum.Symlog,this._const=1}clone(){return(new Xe).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).constant(this._const)}constant(t,e){return arguments.length?(this._const=t,this.transformer=de(t),this.untransformer=ge(t),this.rescale(e)):this._const}ticks(t=10){const e=this.calculateVisibleDomain(this._range);return Ge(e[0],e[e.length-1],t,this._const,this.transformer,this.untransformer)}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return je(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return je(e[0],e[e.length-1],t,this.transformer,this.untransformer)}nice(t=10,e){var n,i;const r=this._domain;let s=[],a=null;if(e){const t=qe(r,e);if(s=t.niceMinMax,this._domainValidator=t.domainValidator,a=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else a="all";if(a){const t=we(r.slice(),{floor:t=>Math.floor(t),ceil:t=>Math.ceil(t)});return"min"===a?t[t.length-1]=null!==(n=s[1])&&void 0!==n?n:t[t.length-1]:"max"===a&&(t[0]=null!==(i=s[0])&&void 0!==i?i:t[0]),this._niceDomain=t,this.rescale(),this}return this}niceMin(){const t=this._domain[this._domain.length-1];this.nice();const e=this._domain.slice();return this._domain&&(e[e.length-1]=t,this._niceDomain=e,this.rescale()),this}niceMax(){const t=this._domain[0];this.nice();const e=this._domain.slice();return this._domain&&(e[0]=t,this._niceDomain=e,this.rescale()),this}}class tn{constructor(){this.type=t.ScaleEnum.Threshold,this._range=[0,1],this._domain=[.5],this.n=1}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}scale(t){return!n(t)&&o(+t)?this._range[g(this._domain,t,0,this.n)]:this._unknown}invertExtent(t){const e=this._range.indexOf(t);return[this._domain[e-1],this._domain[e]]}domain(t){return t?(this._domain=Array.from(t),this.n=Math.min(this._domain.length,this._range.length-1),this):this._domain.slice()}range(t){return t?(this._range=Array.from(t),this.n=Math.min(this._domain.length,this._range.length-1),this):this._range.slice()}clone(){return(new tn).domain(this._domain).range(this._range).unknown(this._unknown)}}const en=[["second",1,X],["second",5,5e3],["second",10,1e4],["second",30,3e4],["minute",1,tt],["minute",5,3e5],["minute",10,6e5],["minute",30,18e5],["hour",1,et],["hour",3,3*et],["hour",6,6*et],["hour",12,12*et],["day",1,nt],["day",2,2*nt],["day",7,7*nt],["month",1,it],["month",3,3*it],["month",6,6*it],["year",1,365*nt]];function nn(t){return+N(t)}function rn(t,e,n,i){const r=(+e-+t)/n,s=g(en.map((t=>t[2])),r);if(s===en.length){const r=Math.max(p(+t/rt,+e/rt,n),1),s=t=>(t[J(i)](Math.floor(t[G(i)]()/r)*r),t[function(t){return t?"setUTCMonth":"setMonth"}(i)](0,1),t[function(t){return t?"setUTCHours":"setHours"}(i)](0,0,0,0),t),a=(t,e)=>(t[J(i)](t[G(i)]()+e*r),t);return{floor:s,offset:a,ceil:Xt(s,a)}}if(0===s){const i=Math.max(p(+t,+e,n),1),r=t=>(t.setTime(Math.floor(+t/i)*i),t),s=(t,e)=>(t.setTime(+t+e*i),t);return{floor:r,offset:s,ceil:Xt(r,s)}}const[a,o]=en[r/en[s-1][2]<en[s][2]/r?s-1:s],h=((t,e)=>"year"===t&&e?{floor:lt,offset:ct,count:ut,field:dt}:"month"===t&&e?{floor:pt,offset:Mt,count:wt,field:bt}:"day"===t&&e?{floor:Tt,offset:Ft,count:kt,field:Et}:"hour"===t&&e?{floor:Rt,offset:Bt,count:Nt,field:At}:"minute"===t&&e?{floor:Vt,offset:Yt,count:Ht,field:qt}:"second"===t&&e?{floor:zt,offset:Qt,count:jt,field:Wt}:"year"===t?{floor:st,offset:at,count:ot,field:ht}:"month"===t?{floor:gt,offset:mt,count:_t,field:ft}:"day"===t?{floor:yt,offset:vt,count:xt,field:St}:"hour"===t?{floor:Dt,offset:Ct,count:Nt,field:Ut}:"minute"===t?{floor:Lt,offset:Ot,count:Ht,field:It}:"second"===t?{floor:$t,offset:Gt,count:jt,field:Pt}:{floor:Zt,offset:Jt,count:Kt})(a,i);return te(o,h)}class sn extends Ee{constructor(e=!1){super(),this.type=t.ScaleEnum.Time,this._domain=e?[Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]:[+new Date(2e3,0,1),+new Date(2e3,0,2)],this._isUtc=e}invert(t){return new Date(super.invert(t))}domain(t,e){if(!t)return this._domain.map(N);const n=Array.from(t,nn);return this._domain=n,this.rescale(e)}ticks(t){const e=this.domain();let i=e[0],r=e[e.length-1];const s=r<i;s&&([i,r]=[r,i]);let o=t;(a(t)||n(t))&&(o=rn(i,r,n(t)?10:t,this._isUtc)),i=o.ceil(i);const h=[];let l=+i,c=0;for(;l<=+r&&c<100;)h.push(new Date(l)),l=+o.offset(new Date(l),1),c++;return s?h.reverse():h}tickFormat(t,e){return K(null==e?function(t,e){const n=N(t),i=n[j(e)]()+1,r=n[P(e)](),s=n[z(e)](),a=n[Q(e)](),o=n[W(e)](),h=0===n[Z(e)](),l=h&&0===o,c=l&&0===a,u=c&&0===s,d=u&&1===r;return d&&1===i?"YYYY":d?"YYYY-MM":u?"YYYY-MM-DD":c?"HH":l?"HH:mm":h?"HH:mm:ss":"HH:mm:ss SSS"}(this._domain[0],this._isUtc):e,this._isUtc)}clone(){return new sn(this._isUtc).domain(this.domain(),!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}nice(t){const e=this.domain();let i=t;return(a(t)||n(t))&&(i=rn(e[0],e[e.length-1],n(t)?10:t,this._isUtc)),i&&this.domain(we(e,i)),this}utc(){return this._isUtc}}const an=Symbol("implicit");class on{constructor(){this.type=t.ScaleEnum.Identity}specified(t){var e;return t?(this._specified=Object.assign(null!==(e=this._specified)&&void 0!==e?e:{},t),this):Object.assign({},this._specified)}_getSpecifiedValue(t){if(this._specified)return this._specified[t]}clone(){return(new on).unknown(this._unknown).domain(this._domain).specified(this._specified)}scale(t){const e=`${t}`,n=this._getSpecifiedValue(e);return void 0!==n?n:this._unknown!==an&&this._domain&&!this._domain.includes(t)?this._unknown:t}invert(t){return t}domain(t){return t?(this._domain=t,this):this._domain?this._domain.slice():void 0}range(t){return t?this:this._domain?this._domain.slice():void 0}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}}t.BandScale=Te,t.ContinuousScale=Ee,t.IdentityScale=on,t.LinearScale=Pe,t.LogScale=Qe,t.OrdinalScale=xe,t.PointScale=class extends Te{constructor(e){super(!1),this.type=t.ScaleEnum.Point,this._padding=0,this.paddingInner(1,e),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},t.PowScale=We,t.QuantileScale=Ze,t.QuantizeScale=Je,t.SqrtScale=Ke,t.SymlogScale=Xe,t.ThresholdScale=tn,t.TimeScale=sn,t.isContinuous=function(e){switch(e){case t.ScaleEnum.Linear:case t.ScaleEnum.Log:case t.ScaleEnum.Pow:case t.ScaleEnum.Sqrt:case t.ScaleEnum.Symlog:case t.ScaleEnum.Time:return!0;default:return!1}},t.isDiscrete=function(e){switch(e){case t.ScaleEnum.Ordinal:case t.ScaleEnum.Point:case t.ScaleEnum.Band:return!0;default:return!1}},t.isDiscretizing=function(e){switch(e){case t.ScaleEnum.Quantile:case t.ScaleEnum.Quantize:case t.ScaleEnum.Threshold:return!0;default:return!1}},t.isValidScaleType=function(t){return!!ne[t]},t.supportRangeFactor=function(e){switch(e){case t.ScaleEnum.Linear:case t.ScaleEnum.Log:case t.ScaleEnum.Pow:case t.ScaleEnum.Sqrt:case t.ScaleEnum.Symlog:case t.ScaleEnum.Time:case t.ScaleEnum.Band:case t.ScaleEnum.Point:return!0;default:return!1}}}));

@@ -17,4 +17,4 @@ import { OrdinalScale } from './ordinal-scale';

constructor(slience?: boolean);
rescale(slience?: boolean): this;
protected _calculateWholeRange(range: any[]): any[];
rescale(slience?: boolean, changeProperty?: keyof IBandLikeScale): this;
protected _calculateWholeRange(range: any[], changeProperty?: keyof IBandLikeScale): any[];
calculateWholeRangeSize(): number;

@@ -46,2 +46,6 @@ calculateVisibleDomain(range: any[]): number[];

rangeFactor(_: [number, number], slience?: boolean): this;
rangeFactorStart(): number;
rangeFactorStart(_: number, slience?: boolean): this;
rangeFactorEnd(): number;
rangeFactorEnd(_: number, slience?: boolean): this;
bandwidth(): number;

@@ -48,0 +52,0 @@ bandwidth(_: number | 'auto', slience?: boolean): this;

@@ -1,6 +0,6 @@

import { range, toNumber, isGreater, isLess, isNumber } from "@visactor/vutils";
import { range, toNumber, isGreater, isLess, isNumber, isValid } from "@visactor/vutils";
import { OrdinalScale } from "./ordinal-scale";
import { bandSpace, calculateBandwidthFromWholeRangeSize, scaleWholeRangeSize } from "./utils/utils";
import { bandSpace, calculateBandwidthFromWholeRangeSize, calculateWholeRangeFromRangeFactor, scaleWholeRangeSize } from "./utils/utils";

@@ -18,6 +18,6 @@ import { ScaleEnum } from "./type";

}
rescale(slience) {
rescale(slience, changeProperty) {
if (slience) return this;
this._wholeRange = null;
const wholeRange = this._calculateWholeRange(this._range), n = super.domain().length, reverse = wholeRange[1] < wholeRange[0];
const wholeRange = this._calculateWholeRange(this._range, changeProperty), n = super.domain().length, reverse = wholeRange[1] < wholeRange[0];
let start = wholeRange[Number(reverse) - 0];

@@ -32,7 +32,11 @@ const stop = wholeRange[1 - Number(reverse)], space = bandSpace(n, this._paddingInner, this._paddingOuter);

}
_calculateWholeRange(range) {
var _a;
_calculateWholeRange(range, changeProperty) {
if (this._wholeRange) return this._wholeRange;
if ((this._minBandwidth || this._maxBandwidth) && !this._isBandwidthFixedByUser()) {
const autoBandwidth = calculateBandwidthFromWholeRangeSize(super.domain().length, Math.abs(range[1] - range[0]), this._paddingInner, this._paddingOuter, this._round);
let wholeSize;
if (isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd) && 2 === range.length) {
const wholeRange = calculateWholeRangeFromRangeFactor(range, [ this._rangeFactorStart, this._rangeFactorEnd ]);
wholeSize = Math.abs(wholeRange[1] - wholeRange[0]);
} else wholeSize = Math.abs(range[1] - range[0]);
const autoBandwidth = calculateBandwidthFromWholeRangeSize(super.domain().length, wholeSize, this._paddingInner, this._paddingOuter, this._round);
autoBandwidth < this._minBandwidth ? (this._bandwidth = this._minBandwidth, this._isFixed = !0) : autoBandwidth > this._maxBandwidth ? (this._bandwidth = this._maxBandwidth,

@@ -43,6 +47,7 @@ this._isFixed = !0) : (this._bandwidth = autoBandwidth, this._isFixed = !1);

const wholeLength = scaleWholeRangeSize(super.domain().length, this._bandwidth, this._paddingInner, this._paddingOuter), rangeFactorSize = Math.min((range[1] - range[0]) / wholeLength, 1);
if (null === (_a = this._rangeFactor) || void 0 === _a ? void 0 : _a.length) {
const [rangeFactorStart, rangeFactorEnd] = this._rangeFactor, r0 = range[0] - wholeLength * rangeFactorStart, r1 = r0 + wholeLength;
this._wholeRange = [ r0, r1 ], this._rangeFactor = rangeFactorStart + rangeFactorSize <= 1 ? [ rangeFactorStart, rangeFactorStart + rangeFactorSize ] : rangeFactorEnd - rangeFactorSize >= 0 ? [ rangeFactorEnd - rangeFactorSize, rangeFactorEnd ] : [ 0, rangeFactorSize ];
} else this._rangeFactor = [ 0, rangeFactorSize ], this._wholeRange = [ range[0], range[0] + wholeLength ];
if (isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd)) {
const r0 = range[0] - wholeLength * this._rangeFactorStart, r1 = r0 + wholeLength;
this._wholeRange = [ r0, r1 ], "rangeFactorStart" === changeProperty && this._rangeFactorStart + rangeFactorSize <= 1 ? this._rangeFactorEnd = this._rangeFactorStart + rangeFactorSize : "rangeFactorEnd" === changeProperty && this._rangeFactorEnd - rangeFactorSize >= 0 ? this._rangeFactorStart = this._rangeFactorEnd - rangeFactorSize : this._rangeFactorStart + rangeFactorSize <= 1 ? this._rangeFactorEnd = this._rangeFactorStart + rangeFactorSize : this._rangeFactorEnd - rangeFactorSize >= 0 ? this._rangeFactorStart = this._rangeFactorEnd - rangeFactorSize : (this._rangeFactorStart = 0,
this._rangeFactorEnd = rangeFactorSize);
} else this._rangeFactorStart = 0, this._rangeFactorEnd = rangeFactorSize, this._wholeRange = [ range[0], range[0] + wholeLength ];
return this._wholeRange;

@@ -58,3 +63,3 @@ }

const domain = this._domain;
if (this._rangeFactor && domain.length) {
if (isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd) && domain.length) {
const d0 = this._getInvertIndex(range[0]), d1 = this._getInvertIndex(range[1]);

@@ -130,2 +135,8 @@ return domain.slice(Math.min(d0, d1), Math.max(d0, d1) + 1);

}
rangeFactorStart(_, slience) {
return _ ? (super.rangeFactorStart(_), this.rescale(slience, "rangeFactorStart")) : super.rangeFactorStart();
}
rangeFactorEnd(_, slience) {
return _ ? (super.rangeFactorEnd(_), this.rescale(slience, "rangeFactorEnd")) : super.rangeFactorEnd();
}
bandwidth(_, slience) {

@@ -132,0 +143,0 @@ return _ ? ("auto" === _ ? (this._bandwidth = void 0, this._isFixed = !1) : (this._bandwidth = _,

import type { IRangeFactor, ScaleFishEyeOptions } from './interface';
export declare abstract class BaseScale implements IRangeFactor {
protected _wholeRange: any[];
protected _rangeFactor?: number[];
protected _rangeFactorStart?: number;
protected _rangeFactorEnd?: number;
protected _unknown: any;

@@ -15,2 +16,6 @@ protected _fishEyeOptions?: ScaleFishEyeOptions;

rangeFactor(_: [number, number], slience?: boolean, clear?: boolean): this;
rangeFactorStart(): number;
rangeFactorStart(_: number, slience?: boolean): this;
rangeFactorEnd(): number;
rangeFactorEnd(_: number, slience?: boolean): this;
protected generateFishEyeTransform(): void;

@@ -17,0 +22,0 @@ unknown(): any[];

@@ -1,17 +0,27 @@

import { clamp, isNil } from "@visactor/vutils";
import { clamp, isNil, isValid } from "@visactor/vutils";
import { calculateWholeRangeFromRangeFactor } from "./utils/utils";
export class BaseScale {
constructor() {
this._rangeFactorStart = null, this._rangeFactorEnd = null;
}
_calculateWholeRange(range) {
if (this._wholeRange) return this._wholeRange;
if (this._rangeFactor && 2 === range.length) {
const k = (range[1] - range[0]) / (this._rangeFactor[1] - this._rangeFactor[0]), b = range[0] - k * this._rangeFactor[0], r0 = b, r1 = k + b;
return this._wholeRange = [ r0, r1 ], this._wholeRange;
}
return range;
return this._wholeRange ? this._wholeRange : isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd) && 2 === range.length ? (this._wholeRange = calculateWholeRangeFromRangeFactor(range, [ this._rangeFactorStart, this._rangeFactorEnd ]),
this._wholeRange) : range;
}
rangeFactor(_, slience, clear) {
return _ ? (2 === _.length && _.every((r => r >= 0 && r <= 1)) && (this._wholeRange = null,
this._rangeFactor = 0 === _[0] && 1 === _[1] ? null : _), this) : clear ? (this._wholeRange = null,
this._rangeFactor = null, this) : this._rangeFactor;
0 === _[0] && 1 === _[1] ? (this._rangeFactorStart = null, this._rangeFactorEnd = null) : (this._rangeFactorStart = _[0],
this._rangeFactorEnd = _[1])), this) : clear ? (this._wholeRange = null, this._rangeFactorStart = null,
this._rangeFactorEnd = null, this) : isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd) ? [ this._rangeFactorStart, this._rangeFactorEnd ] : null;
}
rangeFactorStart(_, slience) {
return _ ? (_ >= 0 && _ <= 1 && (this._wholeRange = null, 0 !== _ || !isNil(this._rangeFactorEnd) && 1 !== this._rangeFactorEnd ? this._rangeFactorStart = _ : (this._rangeFactorStart = null,
this._rangeFactorEnd = null)), this) : this._rangeFactorStart;
}
rangeFactorEnd(_, slience) {
return _ ? (_ >= 0 && _ <= 1 && (this._wholeRange = null, 0 !== _ || !isNil(this._rangeFactorStart) && 0 !== this._rangeFactorStart ? this._rangeFactorEnd = _ : (this._rangeFactorStart = null,
this._rangeFactorEnd = null)), this) : this._rangeFactorEnd;
}
generateFishEyeTransform() {

@@ -18,0 +28,0 @@ var _a;

@@ -7,3 +7,3 @@ import { BaseScale } from "./base-scale";

import { clamper, toNumber, interpolateNumberRound, interpolateNumber } from "@visactor/vutils";
import { clamper, toNumber, interpolateNumberRound, interpolateNumber, isValid } from "@visactor/vutils";

@@ -18,3 +18,3 @@ export class ContinuousScale extends BaseScale {

var _a;
if (this._rangeFactor && 2 === range.length) {
if (isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd) && 2 === range.length) {
return [ this.invert(range[0]), this.invert(range[1]) ];

@@ -21,0 +21,0 @@ }

@@ -27,2 +27,4 @@ import type { ScaleEnum } from './type';

rangeFactor: (_?: [number, number], slience?: boolean, clear?: boolean) => this | any;
rangeFactorStart: (_?: number, slience?: boolean) => this | any;
rangeFactorEnd: (_?: number, slience?: boolean) => this | any;
unknown: (_?: any) => this | any;

@@ -29,0 +31,0 @@ }

@@ -7,2 +7,4 @@ import { ScaleEnum } from "./type";

import { isValid } from "@visactor/vutils";
export class LinearScale extends ContinuousScale {

@@ -24,3 +26,3 @@ constructor() {

var _a;
if (this._rangeFactor && (this._rangeFactor[0] > 0 || this._rangeFactor[1] < 1) && 2 === this._range.length || !this._niceType) return this.d3Ticks(count, options);
if (isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd) && (this._rangeFactorStart > 0 || this._rangeFactorEnd < 1) && 2 === this._range.length || !this._niceType) return this.d3Ticks(count, options);
const curNiceDomain = null !== (_a = this._niceDomain) && void 0 !== _a ? _a : this._domain, originalDomain = this._domain, start = curNiceDomain[0], stop = curNiceDomain[curNiceDomain.length - 1];

@@ -27,0 +29,0 @@ let ticksResult = ticks(originalDomain[0], originalDomain[originalDomain.length - 1], count, options);

@@ -5,2 +5,4 @@ import { ScaleEnum } from "./type";

import { isValid } from "@visactor/vutils";
export const implicit = Symbol("implicit");

@@ -25,3 +27,3 @@

calculateVisibleDomain(range) {
if (this._rangeFactor && 2 === range.length) {
if (isValid(this._rangeFactorStart) && isValid(this._rangeFactorEnd) && 2 === range.length) {
return [ this.invert(range[0]), this.invert(range[1]) ];

@@ -28,0 +30,0 @@ }

@@ -20,2 +20,3 @@ import type { FloorCeilType, InterpolateType } from '../interface';

export declare function calculateBandwidthFromWholeRangeSize(count: number, wholeSize: number, paddingInner: number, paddingOuter: number, round: boolean): number;
export declare function calculateWholeRangeFromRangeFactor(range: number[], rangeFactor: number[]): [number, number];
export declare function polymap(domain: number[], range: any[], interpolate: InterpolateType<any>): (x: number) => any;

@@ -22,0 +23,0 @@ export declare const nice: (domain: number[] | Date[], options: FloorCeilType<any>) => number[] | Date[];

@@ -63,2 +63,7 @@ import { bisect } from "@visactor/vutils";

export function calculateWholeRangeFromRangeFactor(range, rangeFactor) {
const k = (range[1] - range[0]) / (rangeFactor[1] - rangeFactor[0]), b = range[0] - k * rangeFactor[0];
return [ b, k + b ];
}
export function polymap(domain, range, interpolate) {

@@ -65,0 +70,0 @@ const j = Math.min(domain.length, range.length) - 1, d = new Array(j), r = new Array(j);

{
"name": "@visactor/vscale",
"version": "0.16.8-alpha.1",
"version": "0.16.8",
"description": "Scales for visual encoding, used in VGrammar, VTable",

@@ -27,3 +27,3 @@ "keywords": [

"dependencies": {
"@visactor/vutils": "0.16.8-alpha.1"
"@visactor/vutils": "0.16.8"
},

@@ -42,4 +42,4 @@ "devDependencies": {

"@internal/ts-config": "0.0.1",
"@internal/eslint-config": "0.0.1",
"@internal/jest-config": "0.0.1"
"@internal/jest-config": "0.0.1",
"@internal/eslint-config": "0.0.1"
},

@@ -46,0 +46,0 @@ "publishConfig": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc