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.11.2 to 0.12.0

5

cjs/interface.d.ts

@@ -48,3 +48,6 @@ import type { ScaleEnum } from './type';

}
export interface IBandLikeScale extends IBaseScale, IRangeFactor {
export interface IOrdinalScale extends IBaseScale {
specified: (_?: Record<string, unknown>) => this | Record<string, unknown>;
}
export interface IBandLikeScale extends IOrdinalScale, IRangeFactor {
readonly type: DiscreteScaleType;

@@ -51,0 +54,0 @@ rangeRound: (_: any[], slience?: boolean) => this;

4

cjs/ordinal-scale.d.ts

@@ -9,2 +9,6 @@ import type { DiscreteScaleType, IBaseScale } from './interface';

protected _ordinalRange: Array<number>;
protected _specified: Record<string, unknown>;
specified(): Record<string, unknown>;
specified(_: Record<string, unknown>): this;
protected _getSpecifiedValue(input: any): undefined | any;
constructor();

@@ -11,0 +15,0 @@ clone(): IBaseScale;

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

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

@@ -13,2 +13,10 @@ exports.implicit = Symbol("implicit");

class OrdinalScale extends base_scale_1.BaseScale {
specified(_) {
var _a;
return _ ? (this._specified = Object.assign(null !== (_a = this._specified) && void 0 !== _a ? _a : {}, _),
this) : Object.assign({}, this._specified);
}
_getSpecifiedValue(input) {
if (this._specified) return this._specified[input];
}
constructor() {

@@ -22,2 +30,4 @@ super(), this.type = type_1.ScaleEnum.Ordinal, this._index = new Map, this._domain = [],

scale(d) {
const special = this._getSpecifiedValue(d);
if (!(0, vutils_1.isNil)(special)) return special;
const key = `${d}`;

@@ -24,0 +34,0 @@ let i = this._index.get(key);

@@ -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 r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,r,o,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new i(r,o||t,s),u=n?n+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],a]:t._events[u].push(a):(t._events[u]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},a.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s},a.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},a.prototype.emit=function(t,e,r,i,o,s){var a=n?n+t:t;if(!this._events[a])return!1;var u,h,l=this._events[a],c=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),c){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,r),!0;case 4:return l.fn.call(l.context,e,r,i),!0;case 5:return l.fn.call(l.context,e,r,i,o),!0;case 6:return l.fn.call(l.context,e,r,i,o,s),!0}for(h=1,u=new Array(c-1);h<c;h++)u[h-1]=arguments[h];l.fn.apply(l.context,u)}else{var f,g=l.length;for(h=0;h<g;h++)switch(l[h].once&&this.removeListener(t,l[h].fn,void 0,!0),c){case 1:l[h].fn.call(l[h].context);break;case 2:l[h].fn.call(l[h].context,e);break;case 3:l[h].fn.call(l[h].context,e,r);break;case 4:l[h].fn.call(l[h].context,e,r,i);break;default:if(!u)for(f=1,u=new Array(c-1);f<c;f++)u[f-1]=arguments[f];l[h].fn.apply(l[h].context,u)}}return!0},a.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,r,i){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==e||i&&!a.once||r&&a.context!==r||s(this,o);else{for(var u=0,h=[],l=a.length;u<l;u++)(a[u].fn!==e||i&&!a[u].once||r&&a[u].context!==r)&&h.push(a[u]);h.length?this._events[o]=1===h.length?h[0]:h:s(this,o)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new r,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=function(t,e){return toString.call(t)==="[object ".concat(e,"]")},n=function(t){return null==t},r=function(t){return null!=t};function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,o=void 0,"symbol"==typeof(o=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"))?o:String(o)),r)}var i,o}function a(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var u=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=i(t);return n?"string"===r:"string"===r||e(t,"String")},h=function(t){return Array.isArray?Array.isArray(t):e(t,"Array")},l=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=i(t);return n?"number"===r:"number"===r||e(t,"Number")},c=function(t){return l(t)&&Number.isFinite(t)};function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function g(t){return Number(t)}function d(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:g,r=t.length;if(r){if(e<=0||r<2)return n(t[0],0,t);if(e>=1)return n(t[r-1],r-1,t);var i=(r-1)*e,o=Math.floor(i),s=n(t[o],o,t);return s+(n(t[o+1],o+1,t)-s)*(i-o)}}function m(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;for(n(i)&&(i=t.length);r<i;){var o=r+i>>>1;f(t[o],e)>0?i=o:r=o+1}return r}var _=Math.sqrt(50),p=Math.sqrt(10),v=Math.sqrt(2);function w(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=_?i*=10:o>=p?i*=5:o>=v&&(i*=2),e<t?-i:i}var y=1e-10,M=1e-10;function b(t,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:y,r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:M)*Math.max(t,e);return Math.abs(t-e)<=Math.max(n,r)}function k(t,e,n,r){return t>e&&!b(t,e,n,r)}function x(t,e,n,r){return t<e&&!b(t,e,n,r)}var S=function(t){for(var e="",n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)-1;n>=0;)e="".concat(e).concat(t),n-=1;return e},T=function(t,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"right",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",i=t+"",o=e-i.length;return o<=0?i:"left"===n?S(r,o)+i:"center"===n?S(r,Math.floor(o/2))+i+S(r,Math.ceil(o/2)):i+S(r,o)};function C(t,e){var n;return t>e&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}try{"function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame}catch(t){!1}function N(t,e){return function(n){return t*(1-n)+e*n}}function U(t,e){return function(n){return Math.round(t*(1-n)+e*n)}}var E=/^(?:(\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 F(t){if(t instanceof Date)return t;if(u(t)){var e=E.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);var r=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(r-=+e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,r,+(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 A(t,e,n){e/=100,n/=100;var r=(1-Math.abs(2*n-1))*e,i=r*(1-Math.abs(t/60%2-1)),o=n-r/2,s=0,a=0,u=0;return 0<=t&&t<60?(s=r,a=i,u=0):60<=t&&t<120?(s=i,a=r,u=0):120<=t&&t<180?(s=0,a=r,u=i):180<=t&&t<240?(s=0,a=i,u=r):240<=t&&t<300?(s=i,a=0,u=r):300<=t&&t<360&&(s=r,a=0,u=i),{r:s=Math.round(255*(s+o)),g:a=Math.round(255*(a+o)),b:u=Math.round(255*(u+o))}}function D(t,e,n){t/=255,e/=255,n/=255;var r=Math.min(t,e,n),i=Math.max(t,e,n),o=i-r,s=0,a=0;return s=0===o?0:i===t?(e-n)/o%6:i===e?(n-t)/o+2:(t-e)/o+4,(s=Math.round(60*s))<0&&(s+=360),a=(i+r)/2,{h:s,s:+(100*(0===o?0:o/(1-Math.abs(2*a-1)))).toFixed(1),l:a=+(100*a).toFixed(1)}}var O=/^#([0-9a-f]{3,8})$/,H={transparent:4294967040},R={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 L(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Y(t){return l(t)?new q(t>>16,t>>8&255,255&t,1):h(t)?new q(t[0],t[1],t[2]):new q(255,255,255)}var I=function(){function t(e){o(this,t);var n=t.parseColorString(e);n?this.color=n:(console.warn("Warn: 传入".concat(e,"无法解析为Color")),this.color=new q(255,255,255))}return a(t,[{key:"toRGBA",value:function(){return this.color.formatRgb()}},{key:"toString",value:function(){return this.color.formatRgb()}},{key:"toHex",value:function(){return this.color.formatHex()}},{key:"toHsl",value:function(){return this.color.formatHsl()}},{key:"setOpacity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.color.opacity=t,this}},{key:"brighter",value:function(t){var e=this.color,n=e.r,r=e.g,i=e.b;return this.color.r=Math.max(0,Math.min(255,Math.floor(n*t))),this.color.g=Math.max(0,Math.min(255,Math.floor(r*t))),this.color.b=Math.max(0,Math.min(255,Math.floor(i*t))),this}},{key:"getHSVBrightness",value:function(){return Math.max(this.color.r,this.color.g,this.color.b)/255}},{key:"getHSLBrightness",value:function(){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)}},{key:"setHsl",value:function(t,e,r){var i,o,s,a=this.color.opacity,u=D(this.color.r,this.color.g,this.color.b),h=A(n(t)?u.h:(s=360,(i=t)<(o=0)?o:i>s?s:i),n(e)?u.s:e>=0&&e<=1?100*e:e,n(r)?u.l:r<=1&&r>=0?100*r:r);return this.color=new q(h.r,h.g,h.b,a),this}},{key:"getLuminance",value:function(){return(.2126*this.color.r+.7152*this.color.g+.0722*this.color.b)/255}},{key:"getLuminance2",value:function(){return(.2627*this.color.r+.678*this.color.g+.0593*this.color.b)/255}},{key:"getLuminance3",value:function(){return(.299*this.color.r+.587*this.color.g+.114*this.color.b)/255}}],[{key:"Brighter",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===n?e:new t(e).brighter(n).toRGBA()}},{key:"SetOpacity",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===n?e:new t(e).setOpacity(n).toRGBA()}},{key:"getColorBrightness",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"hsl",r=e instanceof t?e:new t(e);switch(n){case"hsv":default:return r.getHSVBrightness();case"hsl":return r.getHSLBrightness();case"lum":return r.getLuminance();case"lum2":return r.getLuminance2();case"lum3":return r.getLuminance3()}}},{key:"parseColorString",value:function(t){if(r(H[t]))return function(t){return l(t)?new q(t>>>24,t>>>16&255,t>>>8&255,255&t):h(t)?new q(t[0],t[1],t[2],t[3]):new q(255,255,255,1)}(H[t]);if(r(R[t]))return Y(R[t]);var e="".concat(t).trim().toLowerCase(),n=O.exec(e);if(n){var i=parseInt(n[1],16),o=n[1].length;return 3===o?new q((i>>8&15)+((i>>8&15)<<4),(i>>4&15)+((i>>4&15)<<4),(15&i)+((15&i)<<4),1):6===o?Y(i):8===o?new q(i>>24&255,i>>16&255,i>>8&255,(255&i)/255):void 0}if(/^(rgb|RGB|rgba|RGBA)/.test(e)){var s=e.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g,"").split(",");return new q(parseInt(s[0],10),parseInt(s[1],10),parseInt(s[2],10),parseFloat(s[3]))}if(/^(hsl|HSL|hsla|HSLA)/.test(e)){var a=e.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g,"").split(","),u=A(parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10));return new q(u.r,u.g,u.b,parseFloat(a[3]))}}}]),t}(),q=function(){function t(e,n,i,s){o(this,t),this.r=isNaN(+e)?255:Math.max(0,Math.min(255,+e)),this.g=isNaN(+n)?255:Math.max(0,Math.min(255,+n)),this.b=isNaN(+i)?255:Math.max(0,Math.min(255,+i)),r(s)?this.opacity=isNaN(+s)?1:Math.max(0,Math.min(1,+s)):this.opacity=1}return a(t,[{key:"formatHex",value:function(){return"#".concat(L(this.r)+L(this.g)+L(this.b)+(1===this.opacity?"":L(255*this.opacity)))}},{key:"formatRgb",value:function(){var t=this.opacity;return"".concat(1===t?"rgb(":"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b).concat(1===t?")":",".concat(t,")"))}},{key:"formatHsl",value:function(){var t=this.opacity,e=D(this.r,this.g,this.b),n=e.h,r=e.s,i=e.l;return"".concat(1===t?"hsl(":"hsla(").concat(n,",").concat(r,"%,").concat(i,"%").concat(1===t?")":",".concat(t,")"))}},{key:"toString",value:function(){return this.formatHex()}}]),t}();var B,P=Object.freeze({__proto__:null,Color:I,DEFAULT_COLORS:R,RGB:q,hexToRgb:function(t){for(var e="",n="",r="",i="#"===t[0]?1:0,o=i;o<t.length;o++)"#"!==t[o]&&(o<i+2?e+=t[o]:o<i+4?n+=t[o]:o<i+6&&(r+=t[o]));return[parseInt(e,16),parseInt(n,16),parseInt(r,16)]},hslToRgb:A,interpolateRgb:function(t,e){var n=t.r,r=e.r,i=t.g,o=e.g,s=t.b,a=e.b,u=t.opacity,h=e.opacity;return function(t){var e=Math.round(n*(1-t)+r*t),l=Math.round(i*(1-t)+o*t),c=Math.round(s*(1-t)+a*t);return new q(e,l,c,u*(1-t)+h*t)}},rgbToHex:function(t,e,n){return Number((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},rgbToHsl:D});function j(t){return t?"getUTCFullYear":"getFullYear"}function V(t){return t?"getUTCMonth":"getMonth"}function z(t){return t?"getUTCDate":"getDate"}function Q(t){return t?"getUTCHours":"getHours"}function G(t){return t?"getUTCMinutes":"getMinutes"}function X(t){return t?"getUTCSeconds":"getSeconds"}function $(t){return t?"getUTCMilliseconds":"getMilliseconds"}function Z(t){return t?"setUTCFullYear":"setFullYear"}function W(t,e){return function(n){var r=F(n),i=r[j(e)](),o=r[V(e)]()+1,s=Math.floor((o-1)/3)+1,a=r[z(e)](),u=r["get"+(e?"UTC":"")+"Day"](),h=r[Q(e)](),l=(h-1)%12+1,c=r[G(e)](),f=r[X(e)](),g=r[$(e)]();return(t||"").replace(/YYYY/g,T(i+"",4,"0","left")).replace(/yyyy/g,i+"").replace(/yy/g,i%100+"").replace(/Q/g,s+"").replace(/MM/g,T(o,2,"0","left")).replace(/M/g,o+"").replace(/dd/g,T(a,2,"0","left")).replace(/d/g,a+"").replace(/e/g,u+"").replace(/HH/g,T(h,2,"0","left")).replace(/H/g,h+"").replace(/hh/g,T(l+"",2,"0","left")).replace(/h/g,l+"").replace(/mm/g,T(c,2,"0","left")).replace(/m/g,c+"").replace(/ss/g,T(f,2,"0","left")).replace(/s/g,f+"").replace(/SSS/g,T(g,3,"0","left")).replace(/S/g,g+"")}}!function(t){t[t.NONE=0]="NONE",t[t.BBOX1=1]="BBOX1",t[t.BBOX2=2]="BBOX2"}(B||(B={}));var J,K=1e3,tt=6e4,et=36e5,nt=24*et,rt=31*nt,it=365*nt,ot=function(t){return t.setMonth(0,1),t.setHours(0,0,0,0),t},st=function(t,e){return t.setFullYear(t.getFullYear()+e),t},at=function(t,e){return e.getFullYear()-t.getFullYear()},ut=function(t){return t.getFullYear()},ht=function(t){return t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0),t},lt=function(t,e){return t.setUTCFullYear(t.getUTCFullYear()+e),t},ct=function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},ft=function(t){return t.getUTCFullYear()},gt=function(t){return t.setDate(1),t.setHours(0,0,0,0),t},dt=function(t,e){return t.setMonth(t.getMonth()+e),t},mt=function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},_t=function(t){return t.getMonth()},pt=function(t){return t.setUTCDate(1),t.setUTCHours(0,0,0,0),t},vt=function(t,e){return t.setUTCMonth(t.getUTCMonth()+e),t},wt=function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},yt=function(t){return t.getUTCMonth()},Mt=function(t){return t.setHours(0,0,0,0),t},bt=function(t,e){return t.setDate(t.getDate()+e),t},kt=function(t,e){return(+e-+t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/nt},xt=function(t){return t.getDate()-1},St=function(t){return t.setUTCHours(0,0,0,0),t},Tt=function(t,e){return t.setUTCDate(t.getUTCDate()+e),t},Ct=function(t,e){return(+e-+t)/nt},Nt=function(t){return t.getUTCDate()-1},Ut=function(t){return t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes()),t},Et=function(t,e){return t.setHours(t.getHours()+e),t},Ft=function(t,e){return(+e-+t)/et},At=function(t){return t.getHours()},Dt=function(t){return t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()-6e4*t.getUTCMinutes()),t},Ot=function(t,e){return t.setUTCHours(t.getUTCHours()+e),t},Ht=function(t){return t.getUTCHours()},Rt=function(t){return t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()),t},Lt=function(t,e){return t.setMinutes(t.getMinutes()+e),t},Yt=function(t,e){return(+e-+t)/6e4},It=function(t){return t.getMinutes()},qt=function(t){return t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()),t},Bt=function(t,e){return t.setUTCMinutes(t.getUTCMinutes()+e),t},Pt=function(t){return t.getUTCMinutes()},jt=function(t){return t.setTime(+t-t.getMilliseconds()),t},Vt=function(t,e){return t.setSeconds(t.getSeconds()+e),t},zt=function(t,e){return(+e-+t)/1e3},Qt=function(t){return t.getSeconds()},Gt=function(t){return t.setTime(+t-t.getUTCMilliseconds()),t},Xt=function(t,e){return t.setUTCSeconds(t.getUTCSeconds()+e),t},$t=function(t){return t.getUTCSeconds()},Zt=function(t){return t},Wt=function(t,e){return t.setTime(+t+e),t},Jt=function(t,e){return+e-+t},Kt=function(t,e){return function(n){var r=new Date(+n-1);return e(r,1),t(r),r}},te=function(t,e){var n=e.floor,r=e.offset,i=e.field,o=e.count,s=Math.floor(t);if(!Number.isFinite(s)||s<=0)return null;if(s<=1)return{floor:n,offset:r,ceil:Kt(n,r)};var a=function(t,e){return function(n,r){var i=new Date,o=new Date;return i.setTime(+n),o.setTime(+r),t(i),t(o),Math.floor(e(i,o))}}(n,o),u=i?function(t){return i(t)%s==0}:function(t){return a(0,t)%s==0},h=function(t){if(!Number.isNaN(+t))for(n(t);!u(t);)t.setTime(+t-1),n(t);return t},l=function(t,e){if(!Number.isNaN(+t))if(s<0)for(;++e<=0;)for(r(t,-1);!u(t);)r(t,-1);else for(;--e>=0;)for(r(t,1);!u(t);)r(t,1);return t};return{floor:h,offset:l,ceil:Kt(h,l)}};t.ScaleEnum=void 0,(J=t.ScaleEnum||(t.ScaleEnum={})).Linear="linear",J.Log="log",J.Pow="pow",J.Sqrt="sqrt",J.Symlog="symlog",J.Time="time",J.Quantile="quantile",J.Quantize="quantize",J.Threshold="threshold",J.Ordinal="ordinal",J.Point="point",J.Band="band";class ee{_wholeRange;_rangeFactor;_unknown;_calculateRange(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],r=n,i=e+n;return this._wholeRange=[r,i],this._wholeRange}return t}calculateVisibleDomain(t){if(this._rangeFactor&&2===t.length){return[this.invert(t[0]),this.invert(t[1])]}return this.domain()}rangeFactor(t,e){return t?(2===t.length&&t.every((t=>t>=0&&t<=1))&&(this._wholeRange=null,this._rangeFactor=t),this):this._rangeFactor}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}}const ne=Symbol("implicit");class re extends ee{type=t.ScaleEnum.Ordinal;_index;_domain;_ordinalRange;constructor(){super(),this._index=new Map,this._domain=[],this._ordinalRange=[],this._unknown=ne}clone(){return(new re).domain(this._domain).range(this._ordinalRange).unknown(this._unknown)}scale(t){const e=`${t}`;let n=this._index.get(e);if(!n){if(this._unknown!==ne)return this._unknown;n=this._domain.push(t),this._index.set(e,n)}return this._ordinalRange[(n-1)%this._ordinalRange.length]}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 ie(t){return t}const oe=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,ue=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),fe=t=>t===Math.E?Math.log:10===t?Math.log10:2===t?Math.log2:(t=Math.log(t),e=>Math.log(e)/t),ge=t=>e=>Math.sign(e)*Math.log1p(Math.abs(e/t)),de=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 r=t[0],i=t[1],o=e[0],s=e[1];let a,u;return i<r?(a=me(i,r),u=n(s,o)):(a=me(r,i),u=n(o,s)),t=>u(a(t))}function pe(t,e,n){const r=Math.min(t.length,e.length)-1,i=new Array(r),o=new Array(r);let s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)i[s]=me(t[s],t[s+1]),o[s]=n(e[s],e[s+1]);return function(e){const n=m(t,e,1,r)-1;return o[n](i[n](e))}}const ve=(t,e)=>{const n=t.slice();let r=0,i=n.length-1,o=n[r],s=n[i];return s<o&&([r,i]=[i,r],[o,s]=[s,o]),n[r]=e.floor(o),n[i]=e.ceil(s),n};function we(t,e,n,r){let i;const o=[];let s;if(e=Math.floor(+e),t=Math.floor(+t),!(n=Math.floor(+n)))return[];if(t===e)return[t];if(i=e<t){const n=t;t=e,e=n}let a=C(1,e-t+1)(n);if(s=Math.floor((e-t+1)/a),!r)for(;Math.ceil((e-t+1)/s)>n&&a>1;)a-=1,s=Math.floor((e-t)/a);let u=t;for(;u<=e;)o.push(u),u+=s;return i&&o.reverse(),o}class ye extends re{type=t.ScaleEnum.Band;_step;_bandwidth;_round;_paddingInner;_paddingOuter;_align;_range;constructor(t){super(),this._range=[0,1],this._step=void 0,this._bandwidth=void 0,this._round=!1,this._paddingInner=0,this._paddingOuter=0,this._align=.5,this._unknown=void 0,delete this.unknown,this.rescale(t)}rescale(t){if(t)return this;this._wholeRange=null;const e=this._calculateRange(this._range),n=super.domain().length,i=e[1]<e[0];let o=e[Number(i)-0];const s=e[1-Number(i)],a=function(t,e,n){let r;return r=1===t?t+2*n:t-e+2*n,t?r>0?r:1:0}(n,this._paddingInner,this._paddingOuter);this._step=(s-o)/Math.max(1,a||1),this._round&&(this._step=Math.floor(this._step)),o+=(s-o-this._step*(n-this._paddingInner))*this._align,this._bandwidth=this._step*(1-this._paddingInner),this._round&&(o=Math.round(o),this._bandwidth=Math.round(this._bandwidth));const u=function(t,e,n){r(e)||(e=t,t=0),r(n)||(n=1);for(var i=-1,o=0|Math.max(0,Math.ceil((e-t)/n)),s=new Array(o);++i<o;)s[i]=t+i*n;return s}(n).map((t=>o+this._step*t));return super.range(i?u.reverse():u),this}calculateVisibleDomain(t){const e=this.domain();if(this._rangeFactor&&e.length){const n=this._getInvertIndex(t[0]),r=this._getInvertIndex(t[1]);return e.slice(Math.min(n,r),Math.max(n,r)+1)}return e}domain(t,e){return t?(super.domain(t),this.rescale(e)):super.domain()}range(t,e){return t?(this._range=[g(t[0]),g(t[1])],this.rescale(e)):this._range.slice()}rangeRound(t,e){return this._range=[g(t[0]),g(t[1])],this._round=!0,this.rescale(e)}ticks(t=10){const e=this.calculateVisibleDomain(this._range);if(-1===t)return e;return we(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 we(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 r=[];let i;if(n=C(1,(e=Math.floor(+e))-(t=Math.floor(+t))+1)(Math.floor(+n)),i=e<t){const n=t;t=e,e=n}let o=t;for(;o<=e;)r.push(o),o+=n;return i&&r.reverse(),r}(0,e.length-1,t);return n.map((t=>e[t]))}_getInvertIndex(t){let e=0;const n=this.step()/2,r=this.bandwidth()/2,i=this._domain.length,o=this.range(),s=o[0]>o[o.length-1];for(e=0;e<i;e++){const o=this.scale(this._domain[e])+r;if(0===e&&(!s&&!k(t,o+n)||s&&!x(t,o-n)))break;if(e===i-1)break;if(!x(t,o-n)&&!k(t,o+n))break}return e>=0&&e<=i-1?e:i-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}bandwidth(){return this._bandwidth}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()}clone(){return new ye(!0).domain(this._domain,!0).range(this._range,!0).round(this._round,!0).paddingInner(this._paddingInner,!0).paddingOuter(this._paddingOuter,!0).align(this._align)}}const{interpolateRgb:Me}=P;function be(t,e){const r=typeof e;let i;if(n(e)||"boolean"===r)return()=>e;if("number"===r)return N(t,e);if("string"===r){if(i=I.parseColorString(e)){const e=Me(I.parseColorString(t),i);return t=>e(t).formatRgb()}return N(Number(t),Number(e))}return e instanceof q?Me(t,e):e instanceof I?Me(t.color,e.color):e instanceof Date?function(t,e){var n=t.valueOf(),r=e.valueOf(),i=new Date;return function(t){return i.setTime(n*(1-t)+r*t),i}}(t,e):N(Number(t),Number(e))}class ke extends ee{type;transformer;untransformer;_domain;_range;_unknown=void 0;_forceAlign;_output;_input;_interpolate;_piecewise;_clamp;constructor(t=ie,e=ie){super(),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=be}scale(t){return t=Number(t),Number.isNaN(t)?this._unknown:(this._output||(this._output=this._piecewise(this._domain.map(this.transformer),this._calculateRange(this._range),this._interpolate)),this._output(this.transformer(this._clamp(t))))}invert(t){return this._input||(this._input=this._piecewise(this._calculateRange(this._range),this._domain.map(this.transformer),N)),this._clamp(this.untransformer(this._input(t)))}domain(t,e){if(!t)return this._domain.slice();const n=Array.from(t,g);return this._domain=n,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=U,this.rescale(e)}rescale(t){if(t)return this;const e=this._domain.length,n=this._range.length;let r=Math.min(e,n);if(e&&e<n&&this._forceAlign){const t=n-e+1,i=this._domain[e-1],o=e>=2?(i-this._domain[e-2])/t:0;for(let n=1;n<=t;n++)this._domain[e-2+n]=i-o*(t-n);r=n}return void 0===this._clamp&&(this._clamp=C(this._domain[0],this._domain[r-1])),this._piecewise=r>2?pe:_e,this._output=this._input=null,this._wholeRange=null,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){return(this.ticks(t)??[]).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 xe=Math.sqrt(50),Se=Math.sqrt(10),Te=Math.sqrt(2);function Ce(t,e,n){let r,i,o,s,a=-1;if(n=+n,(t=+t)===(e=+e))return[];if(Math.abs(t-e)<=Number.MIN_VALUE&&n>0)return[t];if((r=e<t)&&(i=t,t=e,e=i),s=Ne(t,e,n),!isFinite(s))return[];if(s>0){let n=Math.round(t/s),r=Math.round(e/s);for(n*s<t&&++n,r*s>e&&--r,o=new Array(i=r-n+1);++a<i;)o[a]=(n+a)*s}else{s=-s;let n=Math.round(t*s),r=Math.round(e*s);for(n/s<t&&++n,r/s>e&&--r,o=new Array(i=r-n+1);++a<i;)o[a]=(n+a)/s}return r&&o.reverse(),o}function Ne(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),o=r/10**i;let s=1;return o>=xe?s=10:o>=Se?s=5:o>=Te&&(s=2),i>=0?s*10**i:-(10**-i)/s}function Ue(t,e,n){let r;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if(n<=0||0===(r=function(t,e,n){const r=(e-t)/Math.max(1,n-1);return r}(t,e,n))||!isFinite(r))return[];const i=new Array(n);for(let e=0;e<n;e++)i[e]=t+e*r;return i}function Ee(t,e,n){let r,i,o=-1;if(n=+n,(i=(e=+e)<(t=+t))&&(r=t,t=e,e=r),!isFinite(n)||e-t<=n)return[t];const s=Math.floor((e-t)/n+1),a=new Array(s);for(;++o<s;)a[o]=t+o*n;return i&&a.reverse(),a}function Fe(t,e=10){let n,r,i=0,o=t.length-1,s=t[i],a=t[o],u=10;for(a<s&&(r=s,s=a,a=r,r=i,i=o,o=r);u-- >0;){if(r=Ne(s,a,e),r===n)return t[i]=s,t[o]=a,t;if(r>0)s=Math.floor(s/r)*r,a=Math.ceil(a/r)*r;else{if(!(r<0))break;s=Math.ceil(s*r)/r,a=Math.floor(a*r)/r}n=r}}class Ae extends ke{type=t.ScaleEnum.Linear;clone(){return(new Ae).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}tickFormat(){return()=>{}}ticks(t=10){const e=this.calculateVisibleDomain(this._range);return Ce(e[0],e[e.length-1],t)}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return Ue(e[0],e[e.length-1],t)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return Ee(e[0],e[e.length-1],t)}nice(t=10){const e=Fe(this.domain(),t);return e?this.domain(e):this}niceMin(t=10){const e=this._domain[this._domain.length-1],n=Fe(this.domain(),t);return n&&(n[n.length-1]=e,this.domain(n)),this}niceMax(t=10){const e=this._domain[0],n=Fe(this.domain(),t);return n&&(n[0]=e,this.domain(n)),this}}function De(t){return e=>-t(-e)}class Oe extends ke{type=t.ScaleEnum.Log;_base;_logs;_pows;constructor(){super(fe(10),ce(10)),this._logs=this.transformer,this._pows=this.untransformer,this._domain=[1,10],this._base=10}clone(){return(new Oe).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){if(t)return this;super.rescale();const e=fe(this._base),n=ce(this._base);return this._domain[0]<0?(this._logs=De(e),this._pows=De(n),this.transformer=ue,this.untransformer=he):(this._logs=e,this._pows=n,this.transformer=e,this.untransformer=n),this}base(t,e){return arguments.length?(this._base=t,this.rescale(e)):this._base}tickFormat(){return ie}ticks(t=10){const e=this.domain();let n=e[0],r=e[e.length-1];const i=r<n;i&&([n,r]=[r,n]);let o,s,a=this._logs(n),u=this._logs(r),h=[];if(!(this._base%1)&&u-a<t){if(a=Math.floor(a),u=Math.ceil(u),n>0){for(;a<=u;++a)for(o=1;o<this._base;++o)if(s=a<0?o/this._pows(-a):o*this._pows(a),!(s<n)){if(s>r)break;h.push(s)}}else for(;a<=u;++a)for(o=this._base-1;o>=1;--o)if(s=a>0?o/this._pows(-a):o*this._pows(a),!(s<n)){if(s>r)break;h.push(s)}2*h.length<t&&(h=Ce(n,r,t))}else h=Ce(a,u,Math.min(u-a,t)).map(this._pows);return i?h.reverse():h}nice(){return this.domain(ve(this.domain(),{floor:t=>this._pows(Math.floor(this._logs(t))),ceil:t=>this._pows(Math.ceil(this._logs(t)))}))}}class He extends Ae{type=t.ScaleEnum.Pow;_exponent;constructor(){super(),this._exponent=1}clone(){return(new He).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=oe(this._exponent),this.untransformer=oe(1/this._exponent)),super.rescale()),this}exponent(t,e){return arguments.length?(this._exponent=t,this.rescale(e)):this._exponent}}function Re(t,e){return t.length===e.length&&t.every(((t,n)=>t===e[n]))}class Le{type=t.ScaleEnum.Quantile;_range=[];_domain=[];_thresholds=[];_unknown;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 c(t)?this._range[m(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(f),this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return Re(this._range,n)?this:(this._range=n,this.rescale(e))}clone(){return(new Le).domain(this._domain,!0).range(this._range).unknown(this._unknown)}}class Ye{type=t.ScaleEnum.Quantile;_range=[0,1];_domain=[.5];x0=0;x1=1;n=1;_unknown;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 c(t)?this._range[m(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 Re(this._range,n)?this:(this.n=n.length-1,this._range=n,this.rescale(e))}clone(){return(new Ye).domain([this.x0,this.x1],!0).range(this._range).unknown(this._unknown)}ticks(t=10){const e=this.domain();return Ce(e[0],e[e.length-1],t)}forceTicks(t=10){const e=this.domain();return Ue(e[0],e[e.length-1],t)}stepTicks(t){const e=this.domain();return Ee(e[0],e[e.length-1],t)}nice(t=10){const e=Fe(this.domain(),t);return e?this.domain(e):this}niceMin(t=10){const e=this._domain[this._domain.length-1],n=Fe(this.domain(),t);return n&&(n[n.length-1]=e,this.domain(n)),this}niceMax(t=10){const e=this._domain[0],n=Fe(this.domain(),t);return n&&(n[0]=e,this.domain(n)),this}}class Ie extends Ae{type=t.ScaleEnum.Sqrt;constructor(){super(se,ae)}clone(){return(new Ie).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}}class qe extends Ae{type=t.ScaleEnum.Symlog;_const;constructor(){super(ge(1),de(1)),this._const=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).constant(this._const)}constant(t,e){return arguments.length?(this._const=t,this.transformer=ge(t),this.untransformer=de(t),this.rescale(e)):this._const}}class Be{type=t.ScaleEnum.Threshold;_range=[0,1];_domain=[.5];n=1;_unknown;unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}scale(t){return!n(t)&&c(+t)?this._range[m(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 Be).domain(this._domain).range(this._range).unknown(this._unknown)}}const Pe=[["second",1,K],["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,rt],["month",3,3*rt],["month",6,6*rt],["year",1,365*nt]];function je(t){return+F(t)}function Ve(t,e,n,r){const i=(+e-+t)/n,o=m(Pe.map((t=>t[2])),i);if(o===Pe.length){const i=Math.max(w(+t/it,+e/it,n),1),o=t=>(t[Z(r)](Math.floor(t[j(r)]()/i)*i),t[function(t){return t?"setUTCMonth":"setMonth"}(r)](0,1),t[function(t){return t?"setUTCHours":"setHours"}(r)](0,0,0,0),t),s=(t,e)=>(t[Z(r)](t[j(r)]()+e*i),t);return{floor:o,offset:s,ceil:Kt(o,s)}}if(0===o){const r=Math.max(w(+t,+e,n),1),i=t=>(t.setTime(Math.floor(+t/r)*r),t),o=(t,e)=>(t.setTime(+t+e*r),t);return{floor:i,offset:o,ceil:Kt(i,o)}}const[s,a]=Pe[i/Pe[o-1][2]<Pe[o][2]/i?o-1:o],u=function(t,e){return"year"===t&&e?{floor:ht,offset:lt,count:ct,field:ft}:"month"===t&&e?{floor:pt,offset:vt,count:wt,field:yt}:"day"===t&&e?{floor:St,offset:Tt,count:Ct,field:Nt}:"hour"===t&&e?{floor:Dt,offset:Ot,count:Ft,field:Ht}:"minute"===t&&e?{floor:qt,offset:Bt,count:Yt,field:Pt}:"second"===t&&e?{floor:Gt,offset:Xt,count:zt,field:$t}:"year"===t?{floor:ot,offset:st,count:at,field:ut}:"month"===t?{floor:gt,offset:dt,count:mt,field:_t}:"day"===t?{floor:Mt,offset:bt,count:kt,field:xt}:"hour"===t?{floor:Ut,offset:Et,count:Ft,field:At}:"minute"===t?{floor:Rt,offset:Lt,count:Yt,field:It}:"second"===t?{floor:jt,offset:Vt,count:zt,field:Qt}:{floor:Zt,offset:Wt,count:Jt}}(s,r);return te(a,u)}class ze extends ke{type=t.ScaleEnum.Time;_isUtc;constructor(t=!1){super(),this._domain=t?[Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]:[+new Date(2e3,0,1),+new Date(2e3,0,2)],this._isUtc=t}invert(t){return new Date(super.invert(t))}domain(t,e){if(!t)return this._domain.map(F);const n=Array.from(t,je);return this._domain=n,this.rescale(e)}ticks(t){const e=this.domain();let r=e[0],i=e[e.length-1];const o=i<r;o&&([r,i]=[i,r]);let s=t;(l(t)||n(t))&&(s=Ve(r,i,n(t)?10:t,this._isUtc)),r=s.ceil(r);const a=[];let u=+r,h=0;for(;u<=+i&&h<100;)a.push(new Date(u)),u=+s.offset(new Date(u),1),h++;return o?a.reverse():a}tickFormat(t,e){return W(null==e?(n=this._domain[0],r=this._isUtc,i=F(n),o=i[V(r)]()+1,s=i[z(r)](),a=i[Q(r)](),u=i[G(r)](),h=i[X(r)](),l=0===i[$(r)](),(d=(g=(f=(c=l&&0===h)&&0===u)&&0===a)&&1===s)&&1===o?"YYYY":d?"YYYY-MM":g?"YYYY-MM-DD":f?"HH":c?"HH:mm":l?"HH:mm:ss":"HH:mm:ss SSS"):e,this._isUtc);var n,r,i,o,s,a,u,h,l,c,f,g,d}clone(){return new ze(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 r=t;return(l(t)||n(t))&&(r=Ve(e[0],e[e.length-1],n(t)?10:t,this._isUtc)),r&&this.domain(ve(e,r)),this}utc(){return this._isUtc}}t.BandScale=ye,t.ContinuousScale=ke,t.LinearScale=Ae,t.LogScale=Oe,t.OrdinalScale=re,t.PointScale=class extends ye{type=t.ScaleEnum.Point;_padding=0;constructor(t){super(!1),this.paddingInner(1,t),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},t.PowScale=He,t.QuantileScale=Le,t.QuantizeScale=Ye,t.SqrtScale=Ie,t.SymlogScale=qe,t.ThresholdScale=Be,t.TimeScale=ze,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(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.Ordinal:case t.ScaleEnum.Point:case t.ScaleEnum.Band: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 r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function s(t,e,r,s,o){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new i(r,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 r:delete t._events[e]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},a.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,s=r.length,o=new Array(s);i<s;i++)o[i]=r[i].fn;return o},a.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},a.prototype.emit=function(t,e,r,i,s,o){var a=n?n+t:t;if(!this._events[a])return!1;var h,l,u=this._events[a],c=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,r),!0;case 4:return u.fn.call(u.context,e,r,i),!0;case 5:return u.fn.call(u.context,e,r,i,s),!0;case 6:return u.fn.call(u.context,e,r,i,s,o),!0}for(l=1,h=new Array(c-1);l<c;l++)h[l-1]=arguments[l];u.fn.apply(u.context,h)}else{var g,d=u.length;for(l=0;l<d;l++)switch(u[l].once&&this.removeListener(t,u[l].fn,void 0,!0),c){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,e);break;case 3:u[l].fn.call(u[l].context,e,r);break;case 4:u[l].fn.call(u[l].context,e,r,i);break;default:if(!h)for(g=1,h=new Array(c-1);g<c;g++)h[g-1]=arguments[g];u[l].fn.apply(u[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,r,i){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||i&&!a.once||r&&a.context!==r||o(this,s);else{for(var h=0,l=[],u=a.length;h<u;h++)(a[h].fn!==e||i&&!a[h].once||r&&a[h].context!==r)&&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 r,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:{}});const e=(t,e)=>toString.call(t)===`[object ${e}]`,n=t=>null==t,r=t=>null!=t,i=function(t){const n=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"string"===n:"string"===n||e(t,"String")},s=t=>Array.isArray?Array.isArray(t):e(t,"Array"),o=function(t){const n=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"number"===n:"number"===n||e(t,"Number")},a=t=>o(t)&&Number.isFinite(t);function h(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function l(t){return Number(t)}function u(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l;const r=t.length;if(!r)return;if(e<=0||r<2)return n(t[0],0,t);if(e>=1)return n(t[r-1],r-1,t);const i=(r-1)*e,s=Math.floor(i),o=n(t[s],s,t);return o+(n(t[s+1],s+1,t)-o)*(i-s)}function c(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;for(n(i)&&(i=t.length);r<i;){const n=r+i>>>1;h(t[n],e)>0?i=n:r=n+1}return r}const g=Math.sqrt(50),d=Math.sqrt(10),f=Math.sqrt(2);function m(t,e,n){const r=Math.abs(e-t)/Math.max(0,n);let i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10));const s=r/i;return s>=g?i*=10:s>=d?i*=5:s>=f&&(i*=2),e<t?-i:i}const _=1e-10,p=1e-10;function w(t,e){const n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:_,r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:p)*Math.max(t,e);return Math.abs(t-e)<=Math.max(n,r)}function M(t,e,n,r){return t>e&&!w(t,e,n,r)}function b(t,e,n,r){return t<e&&!w(t,e,n,r)}const y=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},v=function(t,e){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"right";const r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ",i=t+"",s=e-i.length;return s<=0?i:"left"===n?y(r,s)+i:"center"===n?y(r,Math.floor(s/2))+i+y(r,Math.ceil(s/2)):i+y(r,s)};function x(t,e){let n;return t>e&&(n=t,t=e,e=n),n=>Math.max(t,Math.min(e,n))}let k=!1;try{k="function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame}catch(t){k=!1}function S(t,e){return n=>t*(1-n)+e*n}function T(t,e){return function(n){return Math.round(t*(1-n)+e*n)}}k=!1;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(i(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 r=(1-Math.abs(2*n-1))*e,i=r*(1-Math.abs(t/60%2-1)),s=n-r/2;let o=0,a=0,h=0;return 0<=t&&t<60?(o=r,a=i,h=0):60<=t&&t<120?(o=i,a=r,h=0):120<=t&&t<180?(o=0,a=r,h=i):180<=t&&t<240?(o=0,a=i,h=r):240<=t&&t<300?(o=i,a=0,h=r):300<=t&&t<360&&(o=r,a=0,h=i),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 F(t,e,n){t/=255,e/=255,n/=255;const r=Math.min(t,e,n),i=Math.max(t,e,n),s=i-r;let o=0,a=0,h=0;return o=0===s?0:i===t?(e-n)/s%6:i===e?(n-t)/s+2:(t-e)/s+4,o=Math.round(60*o),o<0&&(o+=360),h=(i+r)/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 E=/^#([0-9a-f]{3,8})$/,A={transparent:4294967040},D={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 H(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function O(t){return o(t)?new L(t>>16,t>>8&255,255&t,1):s(t)?new L(t[0],t[1],t[2]):new L(255,255,255)}class R{static Brighter(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new R(t).brighter(e).toRGBA()}static SetOpacity(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new R(t).setOpacity(e).toRGBA()}static getColorBrightness(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"hsl";const n=t instanceof R?t:new R(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(r(A[t]))return function(t){return o(t)?new L(t>>>24,t>>>16&255,t>>>8&255,255&t):s(t)?new L(t[0],t[1],t[2],t[3]):new L(255,255,255,1)}(A[t]);if(r(D[t]))return O(D[t]);const e=`${t}`.trim().toLowerCase(),n=E.exec(e);if(n){const t=parseInt(n[1],16),e=n[1].length;return 3===e?new L((t>>8&15)+((t>>8&15)<<4),(t>>4&15)+((t>>4&15)<<4),(15&t)+((15&t)<<4),1):6===e?O(t):8===e?new L(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 L(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 L(n.r,n.g,n.b,parseFloat(t[3]))}}constructor(t){const e=R.parseColorString(t);e?this.color=e:(console.warn(`Warn: 传入${t}无法解析为Color`),this.color=new L(255,255,255))}toRGBA(){return this.color.formatRgb()}toString(){return this.color.formatRgb()}toHex(){return this.color.formatHex()}toHsl(){return this.color.formatHsl()}setOpacity(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.color.opacity=t,this}brighter(t){const{r:e,g:n,b:r}=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(r*t))),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,r){const i=this.color.opacity,s=F(this.color.r,this.color.g,this.color.b),o=U(n(t)?s.h:(l=360,(a=t)<(h=0)?h:a>l?l:a),n(e)?s.s:e>=0&&e<=1?100*e:e,n(r)?s.l:r<=1&&r>=0?100*r:r);var a,h,l;return this.color=new L(o.r,o.g,o.b,i),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}}class L{constructor(t,e,n,i){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)),r(i)?this.opacity=isNaN(+i)?1:Math.max(0,Math.min(1,+i)):this.opacity=1}formatHex(){return`#${H(this.r)+H(this.g)+H(this.b)+(1===this.opacity?"":H(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:r}=F(this.r,this.g,this.b);return`${1===t?"hsl(":"hsla("}${e},${n}%,${r}%${1===t?")":`,${t})`}`}toString(){return this.formatHex()}}var Y,I=Object.freeze({__proto__:null,Color:R,DEFAULT_COLORS:D,RGB:L,hexToRgb:function(t){let e="",n="",r="";const i="#"===t[0]?1:0;for(let s=i;s<t.length;s++)"#"!==t[s]&&(s<i+2?e+=t[s]:s<i+4?n+=t[s]:s<i+6&&(r+=t[s]));return[parseInt(e,16),parseInt(n,16),parseInt(r,16)]},hslToRgb:U,interpolateRgb:function(t,e){const n=t.r,r=e.r,i=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)+r*t),u=Math.round(i*(1-t)+s*t),c=Math.round(o*(1-t)+a*t);return new L(e,u,c,h*(1-t)+l*t)}},rgbToHex:function(t,e,n){return Number((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},rgbToHsl:F});function q(t){return t?"getUTCFullYear":"getFullYear"}function B(t){return t?"getUTCMonth":"getMonth"}function $(t){return t?"getUTCDate":"getDate"}function V(t){return t?"getUTCHours":"getHours"}function P(t){return t?"getUTCMinutes":"getMinutes"}function j(t){return t?"getUTCSeconds":"getSeconds"}function z(t){return t?"getUTCMilliseconds":"getMilliseconds"}function Q(t){return t?"setUTCFullYear":"setFullYear"}function G(t,e){return n=>{const r=N(n),i=r[q(e)](),s=r[B(e)]()+1,o=Math.floor((s-1)/3)+1,a=r[$(e)](),h=r["get"+(e?"UTC":"")+"Day"](),l=r[V(e)](),u=(l-1)%12+1,c=r[P(e)](),g=r[j(e)](),d=r[z(e)]();return(t||"").replace(/YYYY/g,v(i+"",4,"0","left")).replace(/yyyy/g,i+"").replace(/yy/g,i%100+"").replace(/Q/g,o+"").replace(/MM/g,v(s,2,"0","left")).replace(/M/g,s+"").replace(/dd/g,v(a,2,"0","left")).replace(/d/g,a+"").replace(/e/g,h+"").replace(/HH/g,v(l,2,"0","left")).replace(/H/g,l+"").replace(/hh/g,v(u+"",2,"0","left")).replace(/h/g,u+"").replace(/mm/g,v(c,2,"0","left")).replace(/m/g,c+"").replace(/ss/g,v(g,2,"0","left")).replace(/s/g,g+"").replace(/SSS/g,v(d,3,"0","left")).replace(/S/g,d+"")}}!function(t){t[t.NONE=0]="NONE",t[t.BBOX1=1]="BBOX1",t[t.BBOX2=2]="BBOX2"}(Y||(Y={}));const X=1e3,Z=6e4,W=36e5,J=24*W,K=31*J,tt=365*J,et=t=>(t.setMonth(0,1),t.setHours(0,0,0,0),t),nt=(t,e)=>(t.setFullYear(t.getFullYear()+e),t),rt=(t,e)=>e.getFullYear()-t.getFullYear(),it=t=>t.getFullYear(),st=t=>(t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0),t),ot=(t,e)=>(t.setUTCFullYear(t.getUTCFullYear()+e),t),at=(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),ht=t=>t.getUTCFullYear(),lt=t=>(t.setDate(1),t.setHours(0,0,0,0),t),ut=(t,e)=>(t.setMonth(t.getMonth()+e),t),ct=(t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear()),gt=t=>t.getMonth(),dt=t=>(t.setUTCDate(1),t.setUTCHours(0,0,0,0),t),ft=(t,e)=>(t.setUTCMonth(t.getUTCMonth()+e),t),mt=(t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear()),_t=t=>t.getUTCMonth(),pt=t=>(t.setHours(0,0,0,0),t),wt=(t,e)=>(t.setDate(t.getDate()+e),t),Mt=(t,e)=>(+e-+t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/J,bt=t=>t.getDate()-1,yt=t=>(t.setUTCHours(0,0,0,0),t),vt=(t,e)=>(t.setUTCDate(t.getUTCDate()+e),t),xt=(t,e)=>(+e-+t)/J,kt=t=>t.getUTCDate()-1,St=t=>(t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes()),t),Tt=(t,e)=>(t.setHours(t.getHours()+e),t),Ct=(t,e)=>(+e-+t)/W,Nt=t=>t.getHours(),Ut=t=>(t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()-6e4*t.getUTCMinutes()),t),Ft=(t,e)=>(t.setUTCHours(t.getUTCHours()+e),t),Et=t=>t.getUTCHours(),At=t=>(t.setTime(+t-t.getMilliseconds()-1e3*t.getSeconds()),t),Dt=(t,e)=>(t.setMinutes(t.getMinutes()+e),t),Ht=(t,e)=>(+e-+t)/6e4,Ot=t=>t.getMinutes(),Rt=t=>(t.setTime(+t-t.getUTCMilliseconds()-1e3*t.getUTCSeconds()),t),Lt=(t,e)=>(t.setUTCMinutes(t.getUTCMinutes()+e),t),Yt=t=>t.getUTCMinutes(),It=t=>(t.setTime(+t-t.getMilliseconds()),t),qt=(t,e)=>(t.setSeconds(t.getSeconds()+e),t),Bt=(t,e)=>(+e-+t)/1e3,$t=t=>t.getSeconds(),Vt=t=>(t.setTime(+t-t.getUTCMilliseconds()),t),Pt=(t,e)=>(t.setUTCSeconds(t.getUTCSeconds()+e),t),jt=t=>t.getUTCSeconds(),zt=t=>t,Qt=(t,e)=>(t.setTime(+t+e),t),Gt=(t,e)=>+e-+t,Xt=(t,e)=>n=>{const r=new Date(+n-1);return e(r,1),t(r),r},Zt=(t,e)=>{let{floor:n,offset:r,field:i,count:s}=e;const o=Math.floor(t);if(!Number.isFinite(o)||o<=0)return null;if(o<=1)return{floor:n,offset:r,ceil:Xt(n,r)};const a=((t,e)=>(n,r)=>{const i=new Date,s=new Date;return i.setTime(+n),s.setTime(+r),t(i),t(s),Math.floor(e(i,s))})(n,s),h=i?t=>i(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},u=(t,e)=>{if(!Number.isNaN(+t))if(o<0)for(;++e<=0;)for(r(t,-1);!h(t);)r(t,-1);else for(;--e>=0;)for(r(t,1);!h(t);)r(t,1);return t};return{floor:l,offset:u,ceil:Xt(l,u)}};var Wt;t.ScaleEnum=void 0,(Wt=t.ScaleEnum||(t.ScaleEnum={})).Linear="linear",Wt.Log="log",Wt.Pow="pow",Wt.Sqrt="sqrt",Wt.Symlog="symlog",Wt.Time="time",Wt.Quantile="quantile",Wt.Quantize="quantize",Wt.Threshold="threshold",Wt.Ordinal="ordinal",Wt.Point="point",Wt.Band="band";class Jt{_wholeRange;_rangeFactor;_unknown;_calculateRange(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],r=n,i=e+n;return this._wholeRange=[r,i],this._wholeRange}return t}calculateVisibleDomain(t){if(this._rangeFactor&&2===t.length){return[this.invert(t[0]),this.invert(t[1])]}return this.domain()}rangeFactor(t,e){return t?(2===t.length&&t.every((t=>t>=0&&t<=1))&&(this._wholeRange=null,this._rangeFactor=t),this):this._rangeFactor}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}}const Kt=Symbol("implicit");class te extends Jt{type=t.ScaleEnum.Ordinal;_index;_domain;_ordinalRange;_specified;specified(t){return t?(this._specified=Object.assign(this._specified??{},t),this):{...this._specified}}_getSpecifiedValue(t){if(this._specified)return this._specified[t]}constructor(){super(),this._index=new Map,this._domain=[],this._ordinalRange=[],this._unknown=Kt}clone(){return(new te).domain(this._domain).range(this._ordinalRange).unknown(this._unknown)}scale(t){const e=this._getSpecifiedValue(t);if(!n(e))return e;const r=`${t}`;let i=this._index.get(r);if(!i){if(this._unknown!==Kt)return this._unknown;i=this._domain.push(t),this._index.set(r,i)}return this._ordinalRange[(i-1)%this._ordinalRange.length]}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 ee(t){return t}const ne=t=>e=>e<0?-Math.pow(-e,t):Math.pow(e,t),re=t=>t<0?-Math.sqrt(-t):Math.sqrt(t),ie=t=>t<0?-t*t:t*t,se=t=>-Math.log(-t),oe=t=>-Math.exp(-t),ae=t=>isFinite(t)?Math.pow(10,t):t<0?0:t,he=t=>10===t?ae:t===Math.E?Math.exp:e=>Math.pow(t,e),le=t=>t===Math.E?Math.log:10===t?Math.log10:2===t?Math.log2:(t=Math.log(t),e=>Math.log(e)/t),ue=t=>e=>Math.sign(e)*Math.log1p(Math.abs(e/t)),ce=t=>e=>Math.sign(e)*Math.expm1(Math.abs(e))*t;function ge(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 de(t,e,n){const r=t[0],i=t[1],s=e[0],o=e[1];let a,h;return i<r?(a=ge(i,r),h=n(o,s)):(a=ge(r,i),h=n(s,o)),t=>h(a(t))}function fe(t,e,n){const r=Math.min(t.length,e.length)-1,i=new Array(r),s=new Array(r);let o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)i[o]=ge(t[o],t[o+1]),s[o]=n(e[o],e[o+1]);return function(e){const n=c(t,e,1,r)-1;return s[n](i[n](e))}}const me=(t,e)=>{const n=t.slice();let r=0,i=n.length-1,s=n[r],o=n[i];return o<s&&([r,i]=[i,r],[s,o]=[o,s]),n[r]=e.floor(s),n[i]=e.ceil(o),n};function _e(t,e,n,r){let i;const s=[];let o;if(e=Math.floor(+e),t=Math.floor(+t),!(n=Math.floor(+n)))return[];if(t===e)return[t];if(i=e<t){const n=t;t=e,e=n}let a=x(1,e-t+1)(n);if(o=Math.floor((e-t+1)/a),!r)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 i&&s.reverse(),s}class pe extends te{type=t.ScaleEnum.Band;_step;_bandwidth;_round;_paddingInner;_paddingOuter;_align;_range;constructor(t){super(),this._range=[0,1],this._step=void 0,this._bandwidth=void 0,this._round=!1,this._paddingInner=0,this._paddingOuter=0,this._align=.5,this._unknown=void 0,delete this.unknown,this.rescale(t)}rescale(t){if(t)return this;this._wholeRange=null;const e=this._calculateRange(this._range),n=super.domain().length,i=e[1]<e[0];let s=e[Number(i)-0];const o=e[1-Number(i)],a=function(t,e,n){let r;return r=1===t?t+2*n:t-e+2*n,t?r>0?r:1:0}(n,this._paddingInner,this._paddingOuter);this._step=(o-s)/Math.max(1,a||1),this._round&&(this._step=Math.floor(this._step)),s+=(o-s-this._step*(n-this._paddingInner))*this._align,this._bandwidth=this._step*(1-this._paddingInner),this._round&&(s=Math.round(s),this._bandwidth=Math.round(this._bandwidth));const h=function(t,e,n){r(e)||(e=t,t=0),r(n)||(n=1);let i=-1;const s=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(s);for(;++i<s;)o[i]=t+i*n;return o}(n).map((t=>s+this._step*t));return super.range(i?h.reverse():h),this}calculateVisibleDomain(t){const e=this.domain();if(this._rangeFactor&&e.length){const n=this._getInvertIndex(t[0]),r=this._getInvertIndex(t[1]);return e.slice(Math.min(n,r),Math.max(n,r)+1)}return e}domain(t,e){return t?(super.domain(t),this.rescale(e)):super.domain()}range(t,e){return t?(this._range=[l(t[0]),l(t[1])],this.rescale(e)):this._range.slice()}rangeRound(t,e){return this._range=[l(t[0]),l(t[1])],this._round=!0,this.rescale(e)}ticks(t=10){const e=this.calculateVisibleDomain(this._range);if(-1===t)return e;return _e(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 _e(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 r=[];let i;if(n=x(1,(e=Math.floor(+e))-(t=Math.floor(+t))+1)(Math.floor(+n)),i=e<t){const n=t;t=e,e=n}let s=t;for(;s<=e;)r.push(s),s+=n;return i&&r.reverse(),r}(0,e.length-1,t);return n.map((t=>e[t]))}_getInvertIndex(t){let e=0;const n=this.step()/2,r=this.bandwidth()/2,i=this._domain.length,s=this.range(),o=s[0]>s[s.length-1];for(e=0;e<i;e++){const s=this.scale(this._domain[e])+r;if(0===e&&(!o&&!M(t,s+n)||o&&!b(t,s-n)))break;if(e===i-1)break;if(!b(t,s-n)&&!M(t,s+n))break}return e>=0&&e<=i-1?e:i-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}bandwidth(){return this._bandwidth}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()}clone(){return new pe(!0).domain(this._domain,!0).range(this._range,!0).round(this._round,!0).paddingInner(this._paddingInner,!0).paddingOuter(this._paddingOuter,!0).align(this._align)}}const{interpolateRgb:we}=I;function Me(t,e){const r=typeof e;let i;if(n(e)||"boolean"===r)return()=>e;if("number"===r)return S(t,e);if("string"===r){if(i=R.parseColorString(e)){const e=we(R.parseColorString(t),i);return t=>e(t).formatRgb()}return S(Number(t),Number(e))}return e instanceof L?we(t,e):e instanceof R?we(t.color,e.color):e instanceof Date?function(t,e){const n=t.valueOf(),r=e.valueOf(),i=new Date;return t=>(i.setTime(n*(1-t)+r*t),i)}(t,e):S(Number(t),Number(e))}class be extends Jt{type;transformer;untransformer;_domain;_range;_unknown=void 0;_forceAlign;_output;_input;_interpolate;_piecewise;_clamp;constructor(t=ee,e=ee){super(),this.transformer=t,this.untransformer=e,this._forceAlign=!0,this._domain=[0,1],this._range=[0,1],this._clamp=ee,this._piecewise=de,this._interpolate=Me}scale(t){return t=Number(t),Number.isNaN(t)?this._unknown:(this._output||(this._output=this._piecewise(this._domain.map(this.transformer),this._calculateRange(this._range),this._interpolate)),this._output(this.transformer(this._clamp(t))))}invert(t){return this._input||(this._input=this._piecewise(this._calculateRange(this._range),this._domain.map(this.transformer),S)),this._clamp(this.untransformer(this._input(t)))}domain(t,e){if(!t)return this._domain.slice();const n=Array.from(t,l);return this._domain=n,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=T,this.rescale(e)}rescale(t){if(t)return this;const e=this._domain.length,n=this._range.length;let r=Math.min(e,n);if(e&&e<n&&this._forceAlign){const t=n-e+1,i=this._domain[e-1],s=e>=2?(i-this._domain[e-2])/t:0;for(let n=1;n<=t;n++)this._domain[e-2+n]=i-s*(t-n);r=n}return void 0===this._clamp&&(this._clamp=x(this._domain[0],this._domain[r-1])),this._piecewise=r>2?fe:de,this._output=this._input=null,this._wholeRange=null,this}clamp(t,e,n){return arguments.length?(this._clamp=e||(t?void 0:ee),this.rescale(n)):this._clamp!==ee}interpolate(t,e){return arguments.length?(this._interpolate=t,this.rescale(e)):this._interpolate}ticks(t=10){return[]}tickData(t=10){return(this.ticks(t)??[]).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 ye=Math.sqrt(50),ve=Math.sqrt(10),xe=Math.sqrt(2);function ke(t,e,n){let r,i,s,o,a=-1;if(n=+n,(t=+t)===(e=+e))return[];if(Math.abs(t-e)<=Number.MIN_VALUE&&n>0)return[t];if((r=e<t)&&(i=t,t=e,e=i),o=Se(t,e,n),!isFinite(o))return[];if(o>0){let n=Math.round(t/o),r=Math.round(e/o);for(n*o<t&&++n,r*o>e&&--r,s=new Array(i=r-n+1);++a<i;)s[a]=(n+a)*o}else{o=-o;let n=Math.round(t*o),r=Math.round(e*o);for(n/o<t&&++n,r/o>e&&--r,s=new Array(i=r-n+1);++a<i;)s[a]=(n+a)/o}return r&&s.reverse(),s}function Se(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),s=r/10**i;let o=1;return s>=ye?o=10:s>=ve?o=5:s>=xe&&(o=2),i>=0?o*10**i:-(10**-i)/o}function Te(t,e,n){let r;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if(n<=0||0===(r=function(t,e,n){const r=(e-t)/Math.max(1,n-1);return r}(t,e,n))||!isFinite(r))return[];const i=new Array(n);for(let e=0;e<n;e++)i[e]=t+e*r;return i}function Ce(t,e,n){let r,i,s=-1;if(n=+n,(i=(e=+e)<(t=+t))&&(r=t,t=e,e=r),!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 i&&a.reverse(),a}function Ne(t,e=10){let n,r,i=0,s=t.length-1,o=t[i],a=t[s],h=10;for(a<o&&(r=o,o=a,a=r,r=i,i=s,s=r);h-- >0;){if(r=Se(o,a,e),r===n)return t[i]=o,t[s]=a,t;if(r>0)o=Math.floor(o/r)*r,a=Math.ceil(a/r)*r;else{if(!(r<0))break;o=Math.ceil(o*r)/r,a=Math.floor(a*r)/r}n=r}}class Ue extends be{type=t.ScaleEnum.Linear;clone(){return(new Ue).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}tickFormat(){return()=>{}}ticks(t=10){const e=this.calculateVisibleDomain(this._range);return ke(e[0],e[e.length-1],t)}forceTicks(t=10){const e=this.calculateVisibleDomain(this._range);return Te(e[0],e[e.length-1],t)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return Ce(e[0],e[e.length-1],t)}nice(t=10){const e=Ne(this.domain(),t);return e?this.domain(e):this}niceMin(t=10){const e=this._domain[this._domain.length-1],n=Ne(this.domain(),t);return n&&(n[n.length-1]=e,this.domain(n)),this}niceMax(t=10){const e=this._domain[0],n=Ne(this.domain(),t);return n&&(n[0]=e,this.domain(n)),this}}function Fe(t){return e=>-t(-e)}class Ee extends be{type=t.ScaleEnum.Log;_base;_logs;_pows;constructor(){super(le(10),he(10)),this._logs=this.transformer,this._pows=this.untransformer,this._domain=[1,10],this._base=10}clone(){return(new Ee).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){if(t)return this;super.rescale();const e=le(this._base),n=he(this._base);return this._domain[0]<0?(this._logs=Fe(e),this._pows=Fe(n),this.transformer=se,this.untransformer=oe):(this._logs=e,this._pows=n,this.transformer=e,this.untransformer=n),this}base(t,e){return arguments.length?(this._base=t,this.rescale(e)):this._base}tickFormat(){return ee}ticks(t=10){const e=this.domain();let n=e[0],r=e[e.length-1];const i=r<n;i&&([n,r]=[r,n]);let s,o,a=this._logs(n),h=this._logs(r),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>r)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>r)break;l.push(o)}2*l.length<t&&(l=ke(n,r,t))}else l=ke(a,h,Math.min(h-a,t)).map(this._pows);return i?l.reverse():l}nice(){return this.domain(me(this.domain(),{floor:t=>this._pows(Math.floor(this._logs(t))),ceil:t=>this._pows(Math.ceil(this._logs(t)))}))}}class Ae extends Ue{type=t.ScaleEnum.Pow;_exponent;constructor(){super(),this._exponent=1}clone(){return(new Ae).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=ee,this.untransformer=ee):.5===this._exponent?(this.transformer=re,this.untransformer=ie):(this.transformer=ne(this._exponent),this.untransformer=ne(1/this._exponent)),super.rescale()),this}exponent(t,e){return arguments.length?(this._exponent=t,this.rescale(e)):this._exponent}}function De(t,e){return t.length===e.length&&t.every(((t,n)=>t===e[n]))}class He{type=t.ScaleEnum.Quantile;_range=[];_domain=[];_thresholds=[];_unknown;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]=u(this._domain,e/n);return this}scale(t){return a(t)?this._range[c(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(h),this.rescale(e)}range(t,e){if(!t)return this._range.slice();const n=Array.from(t);return De(this._range,n)?this:(this._range=n,this.rescale(e))}clone(){return(new He).domain(this._domain,!0).range(this._range).unknown(this._unknown)}}class Oe{type=t.ScaleEnum.Quantile;_range=[0,1];_domain=[.5];x0=0;x1=1;n=1;_unknown;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[c(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 De(this._range,n)?this:(this.n=n.length-1,this._range=n,this.rescale(e))}clone(){return(new Oe).domain([this.x0,this.x1],!0).range(this._range).unknown(this._unknown)}ticks(t=10){const e=this.domain();return ke(e[0],e[e.length-1],t)}forceTicks(t=10){const e=this.domain();return Te(e[0],e[e.length-1],t)}stepTicks(t){const e=this.domain();return Ce(e[0],e[e.length-1],t)}nice(t=10){const e=Ne(this.domain(),t);return e?this.domain(e):this}niceMin(t=10){const e=this._domain[this._domain.length-1],n=Ne(this.domain(),t);return n&&(n[n.length-1]=e,this.domain(n)),this}niceMax(t=10){const e=this._domain[0],n=Ne(this.domain(),t);return n&&(n[0]=e,this.domain(n)),this}}class Re extends Ue{type=t.ScaleEnum.Sqrt;constructor(){super(re,ie)}clone(){return(new Re).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}}class Le extends Ue{type=t.ScaleEnum.Symlog;_const;constructor(){super(ue(1),ce(1)),this._const=1}clone(){return(new Le).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=ue(t),this.untransformer=ce(t),this.rescale(e)):this._const}}class Ye{type=t.ScaleEnum.Threshold;_range=[0,1];_domain=[.5];n=1;_unknown;unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}scale(t){return!n(t)&&a(+t)?this._range[c(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 Ye).domain(this._domain).range(this._range).unknown(this._unknown)}}const Ie=[["second",1,X],["second",5,5e3],["second",10,1e4],["second",30,3e4],["minute",1,Z],["minute",5,3e5],["minute",10,6e5],["minute",30,18e5],["hour",1,W],["hour",3,3*W],["hour",6,6*W],["hour",12,12*W],["day",1,J],["day",2,2*J],["day",7,7*J],["month",1,K],["month",3,3*K],["month",6,6*K],["year",1,365*J]];function qe(t){return+N(t)}function Be(t,e,n,r){const i=(+e-+t)/n,s=c(Ie.map((t=>t[2])),i);if(s===Ie.length){const i=Math.max(m(+t/tt,+e/tt,n),1),s=t=>(t[Q(r)](Math.floor(t[q(r)]()/i)*i),t[function(t){return t?"setUTCMonth":"setMonth"}(r)](0,1),t[function(t){return t?"setUTCHours":"setHours"}(r)](0,0,0,0),t),o=(t,e)=>(t[Q(r)](t[q(r)]()+e*i),t);return{floor:s,offset:o,ceil:Xt(s,o)}}if(0===s){const r=Math.max(m(+t,+e,n),1),i=t=>(t.setTime(Math.floor(+t/r)*r),t),s=(t,e)=>(t.setTime(+t+e*r),t);return{floor:i,offset:s,ceil:Xt(i,s)}}const[o,a]=Ie[i/Ie[s-1][2]<Ie[s][2]/i?s-1:s],h=((t,e)=>"year"===t&&e?{floor:st,offset:ot,count:at,field:ht}:"month"===t&&e?{floor:dt,offset:ft,count:mt,field:_t}:"day"===t&&e?{floor:yt,offset:vt,count:xt,field:kt}:"hour"===t&&e?{floor:Ut,offset:Ft,count:Ct,field:Et}:"minute"===t&&e?{floor:Rt,offset:Lt,count:Ht,field:Yt}:"second"===t&&e?{floor:Vt,offset:Pt,count:Bt,field:jt}:"year"===t?{floor:et,offset:nt,count:rt,field:it}:"month"===t?{floor:lt,offset:ut,count:ct,field:gt}:"day"===t?{floor:pt,offset:wt,count:Mt,field:bt}:"hour"===t?{floor:St,offset:Tt,count:Ct,field:Nt}:"minute"===t?{floor:At,offset:Dt,count:Ht,field:Ot}:"second"===t?{floor:It,offset:qt,count:Bt,field:$t}:{floor:zt,offset:Qt,count:Gt})(o,r);return Zt(a,h)}class $e extends be{type=t.ScaleEnum.Time;_isUtc;constructor(t=!1){super(),this._domain=t?[Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]:[+new Date(2e3,0,1),+new Date(2e3,0,2)],this._isUtc=t}invert(t){return new Date(super.invert(t))}domain(t,e){if(!t)return this._domain.map(N);const n=Array.from(t,qe);return this._domain=n,this.rescale(e)}ticks(t){const e=this.domain();let r=e[0],i=e[e.length-1];const s=i<r;s&&([r,i]=[i,r]);let a=t;(o(t)||n(t))&&(a=Be(r,i,n(t)?10:t,this._isUtc)),r=a.ceil(r);const h=[];let l=+r,u=0;for(;l<=+i&&u<100;)h.push(new Date(l)),l=+a.offset(new Date(l),1),u++;return s?h.reverse():h}tickFormat(t,e){return G(null==e?function(t,e){const n=N(t),r=n[B(e)]()+1,i=n[$(e)](),s=n[V(e)](),o=n[P(e)](),a=n[j(e)](),h=0===n[z(e)](),l=h&&0===a,u=l&&0===o,c=u&&0===s,g=c&&1===i;return g&&1===r?"YYYY":g?"YYYY-MM":c?"YYYY-MM-DD":u?"HH":l?"HH:mm":h?"HH:mm:ss":"HH:mm:ss SSS"}(this._domain[0],this._isUtc):e,this._isUtc)}clone(){return new $e(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 r=t;return(o(t)||n(t))&&(r=Be(e[0],e[e.length-1],n(t)?10:t,this._isUtc)),r&&this.domain(me(e,r)),this}utc(){return this._isUtc}}t.BandScale=pe,t.ContinuousScale=be,t.LinearScale=Ue,t.LogScale=Ee,t.OrdinalScale=te,t.PointScale=class extends pe{type=t.ScaleEnum.Point;_padding=0;constructor(t){super(!1),this.paddingInner(1,t),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},t.PowScale=Ae,t.QuantileScale=He,t.QuantizeScale=Oe,t.SqrtScale=Re,t.SymlogScale=Le,t.ThresholdScale=Ye,t.TimeScale=$e,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(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.Ordinal:case t.ScaleEnum.Point:case t.ScaleEnum.Band:return!0;default:return!1}}}));

@@ -48,3 +48,6 @@ import type { ScaleEnum } from './type';

}
export interface IBandLikeScale extends IBaseScale, IRangeFactor {
export interface IOrdinalScale extends IBaseScale {
specified: (_?: Record<string, unknown>) => this | Record<string, unknown>;
}
export interface IBandLikeScale extends IOrdinalScale, IRangeFactor {
readonly type: DiscreteScaleType;

@@ -51,0 +54,0 @@ rangeRound: (_: any[], slience?: boolean) => this;

@@ -9,2 +9,6 @@ import type { DiscreteScaleType, IBaseScale } from './interface';

protected _ordinalRange: Array<number>;
protected _specified: Record<string, unknown>;
specified(): Record<string, unknown>;
specified(_: Record<string, unknown>): this;
protected _getSpecifiedValue(input: any): undefined | any;
constructor();

@@ -11,0 +15,0 @@ clone(): IBaseScale;

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

import { isNil } from "@visactor/vutils";
import { ScaleEnum } from "./type";

@@ -8,2 +10,10 @@

export class OrdinalScale extends BaseScale {
specified(_) {
var _a;
return _ ? (this._specified = Object.assign(null !== (_a = this._specified) && void 0 !== _a ? _a : {}, _),
this) : Object.assign({}, this._specified);
}
_getSpecifiedValue(input) {
if (this._specified) return this._specified[input];
}
constructor() {

@@ -17,2 +27,4 @@ super(), this.type = ScaleEnum.Ordinal, this._index = new Map, this._domain = [],

scale(d) {
const special = this._getSpecifiedValue(d);
if (!isNil(special)) return special;
const key = `${d}`;

@@ -19,0 +31,0 @@ let i = this._index.get(key);

{
"name": "@visactor/vscale",
"version": "0.11.2",
"version": "0.12.0",
"description": "Scales for visual encoding, used in VGrammar, VTable",

@@ -5,0 +5,0 @@ "keywords": [

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

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