!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@antv/g")):"function"==typeof define&&define.amd?define(["@antv/g"],e):"object"==typeof exports?exports.Component=e(require("@antv/g")):t.Component=e(t.G)}(self,t=>(()=>{var e={10:e=>{"use strict";e.exports=t},28:(t,e,n)=>{var i=n(625).parse;i.parseSVG=i,i.makeAbsolute=function(t){var e,n={x:0,y:0},i={x:"x0",y:"y0",x1:"x0",y1:"y0",x2:"x0",y2:"y0"};return t.forEach(function(t){for(var s in"moveto"===t.command&&(e=t),t.x0=n.x,t.y0=n.y,i)s in t&&(t[s]+=t.relative?t[i[s]]:0);"x"in t||(t.x=n.x),"y"in t||(t.y=n.y),t.relative=!1,t.code=t.code.toUpperCase(),"closepath"==t.command&&(t.x=e.x,t.y=e.y),n=t}),t},t.exports=i},381:(t,e,n)=>{var i=n(899),s=n(559),r=Object.hasOwnProperty,a=Object.create(null);for(var o in i)r.call(i,o)&&(a[i[o]]=o);var l=t.exports={to:{},get:{}};function c(t,e,n){return Math.min(Math.max(e,t),n)}function h(t){var e=Math.round(t).toString(16).toUpperCase();return e.length<2?"0"+e:e}l.get=function(t){var e,n;switch(t.substring(0,3).toLowerCase()){case"hsl":e=l.get.hsl(t),n="hsl";break;case"hwb":e=l.get.hwb(t),n="hwb";break;default:e=l.get.rgb(t),n="rgb"}return e?{model:n,value:e}:null},l.get.rgb=function(t){if(!t)return null;var e,n,s,a=[0,0,0,1];if(e=t.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(s=e[2],e=e[1],n=0;n<3;n++){var o=2*n;a[n]=parseInt(e.slice(o,o+2),16)}s&&(a[3]=parseInt(s,16)/255)}else if(e=t.match(/^#([a-f0-9]{3,4})$/i)){for(s=(e=e[1])[3],n=0;n<3;n++)a[n]=parseInt(e[n]+e[n],16);s&&(a[3]=parseInt(s+s,16)/255)}else if(e=t.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(n=0;n<3;n++)a[n]=parseInt(e[n+1],0);e[4]&&(e[5]?a[3]=.01*parseFloat(e[4]):a[3]=parseFloat(e[4]))}else{if(!(e=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(e=t.match(/^(\w+)$/))?"transparent"===e[1]?[0,0,0,0]:r.call(i,e[1])?((a=i[e[1]])[3]=1,a):null:null;for(n=0;n<3;n++)a[n]=Math.round(2.55*parseFloat(e[n+1]));e[4]&&(e[5]?a[3]=.01*parseFloat(e[4]):a[3]=parseFloat(e[4]))}for(n=0;n<3;n++)a[n]=c(a[n],0,255);return a[3]=c(a[3],0,1),a},l.get.hsl=function(t){if(!t)return null;var e=t.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(e){var n=parseFloat(e[4]);return[(parseFloat(e[1])%360+360)%360,c(parseFloat(e[2]),0,100),c(parseFloat(e[3]),0,100),c(isNaN(n)?1:n,0,1)]}return null},l.get.hwb=function(t){if(!t)return null;var e=t.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(e){var n=parseFloat(e[4]);return[(parseFloat(e[1])%360+360)%360,c(parseFloat(e[2]),0,100),c(parseFloat(e[3]),0,100),c(isNaN(n)?1:n,0,1)]}return null},l.to.hex=function(){var t=s(arguments);return"#"+h(t[0])+h(t[1])+h(t[2])+(t[3]<1?h(Math.round(255*t[3])):"")},l.to.rgb=function(){var t=s(arguments);return t.length<4||1===t[3]?"rgb("+Math.round(t[0])+", "+Math.round(t[1])+", "+Math.round(t[2])+")":"rgba("+Math.round(t[0])+", "+Math.round(t[1])+", "+Math.round(t[2])+", "+t[3]+")"},l.to.rgb.percent=function(){var t=s(arguments),e=Math.round(t[0]/255*100),n=Math.round(t[1]/255*100),i=Math.round(t[2]/255*100);return t.length<4||1===t[3]?"rgb("+e+"%, "+n+"%, "+i+"%)":"rgba("+e+"%, "+n+"%, "+i+"%, "+t[3]+")"},l.to.hsl=function(){var t=s(arguments);return t.length<4||1===t[3]?"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)":"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+t[3]+")"},l.to.hwb=function(){var t=s(arguments),e="";return t.length>=4&&1!==t[3]&&(e=", "+t[3]),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+e+")"},l.to.keyword=function(t){return a[t.slice(0,3)]}},559:(t,e,n)=>{"use strict";var i=n(685),s=Array.prototype.concat,r=Array.prototype.slice,a=t.exports=function(t){for(var e=[],n=0,a=t.length;n{"use strict";function e(t,n,i,s){this.message=t,this.expected=n,this.found=i,this.location=s,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}!function(t,e){function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n}(e,Error),e.buildMessage=function(t,e){var n={literal:function(t){return'"'+s(t.text)+'"'},class:function(t){var e,n="";for(e=0;e0){for(e=1,n=1;eot&&(ot=rt,lt=[]),lt.push(t))}function ft(){var t,e,n,i,r;for(t=rt,e=[],n=Ot();n!==s;)e.push(n),n=Ot();if(e!==s)if(n=function(){var t,e,n,i,r,a;if(t=rt,(e=mt())!==s){for(n=[],i=rt,r=[],a=Ot();a!==s;)r.push(a),a=Ot();for(r!==s&&(a=mt())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;){for(n.push(i),i=rt,r=[],a=Ot();a!==s;)r.push(a),a=Ot();r!==s&&(a=mt())!==s?i=r=[r,a]:(rt=i,i=s)}n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}(),n===s&&(n=null),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?t=e=o(n):(rt=t,t=s)}else rt=t,t=s;else rt=t,t=s;return t}function mt(){var e,n,i,r,a,o;if(e=rt,n=function(){var e,n,i,r,a,o,l;if(e=rt,c.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(h)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s&&(r=At())!==s?(a=rt,(o=Bt())===s&&(o=null),o!==s&&(l=bt())!==s?a=o=[o,l]:(rt=a,a=s),a===s&&(a=null),a!==s?e=n=u(n,r,a):(rt=e,e=s)):(rt=e,e=s)}else rt=e,e=s;return e}(),n!==s){for(i=[],r=rt,a=[],o=Ot();o!==s;)a.push(o),o=Ot();for(a!==s&&(o=yt())!==s?r=a=[a,o]:(rt=r,r=s);r!==s;){for(i.push(r),r=rt,a=[],o=Ot();o!==s;)a.push(o),o=Ot();a!==s&&(o=yt())!==s?r=a=[a,o]:(rt=r,r=s)}i!==s?e=n=l(n,i):(rt=e,e=s)}else rt=e,e=s;return e}function yt(){var e,n;return d.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(p)),n!==s&&(n=g()),(e=n)===s&&(e=function(){var e,n,i,r;if(e=rt,f.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(m)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s&&(r=bt())!==s?e=n=y(n,r):(rt=e,e=s)}else rt=e,e=s;return e}())===s&&(e=function(){var e,n,i,r;if(e=rt,b.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(x)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s&&(r=xt())!==s?e=n=v(n,r):(rt=e,e=s)}else rt=e,e=s;return e}())===s&&(e=function(){var e,n,i,r;if(e=rt,w.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(k)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s&&(r=xt())!==s?e=n=S(n,r):(rt=e,e=s)}else rt=e,e=s;return e}())===s&&(e=function(){var e,n,i,r;if(e=rt,A.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(L)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?(r=function(){var t,e,n,i,r,a;if(t=rt,(e=vt())!==s){for(n=[],i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=vt())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;)n.push(i),i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=vt())!==s?i=r=[r,a]:(rt=i,i=s);n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}(),r!==s?e=n=y(n,r):(rt=e,e=s)):(rt=e,e=s)}else rt=e,e=s;return e}())===s&&(e=function(){var e,n,i,r;if(e=rt,M.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(B)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?(r=function(){var t,e,n,i,r,a;if(t=rt,(e=wt())!==s){for(n=[],i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=wt())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;)n.push(i),i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=wt())!==s?i=r=[r,a]:(rt=i,i=s);n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}(),r!==s?e=n=y(n,r):(rt=e,e=s)):(rt=e,e=s)}else rt=e,e=s;return e}())===s&&(e=function(){var e,n,i,r;if(e=rt,P.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(N)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?(r=function(){var t,e,n,i,r,a;if(t=rt,(e=kt())!==s){for(n=[],i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=kt())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;)n.push(i),i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=kt())!==s?i=r=[r,a]:(rt=i,i=s);n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}(),r!==s?e=n=y(n,r):(rt=e,e=s)):(rt=e,e=s)}else rt=e,e=s;return e}())===s&&(e=function(){var e,n,i,r;if(e=rt,T.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(O)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?(r=function(){var t,e,n,i,r,a;if(t=rt,(e=At())!==s){for(n=[],i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=At())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;)n.push(i),i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=At())!==s?i=r=[r,a]:(rt=i,i=s);n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}(),r!==s?e=n=y(n,r):(rt=e,e=s)):(rt=e,e=s)}else rt=e,e=s;return e}())===s&&(e=function(){var e,n,i,r;if(e=rt,z.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(_)),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?(r=function(){var t,e,n,i,r,a;if(t=rt,(e=St())!==s){for(n=[],i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=St())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;)n.push(i),i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=St())!==s?i=r=[r,a]:(rt=i,i=s);n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}(),r!==s?e=n=y(n,r):(rt=e,e=s)):(rt=e,e=s)}else rt=e,e=s;return e}()),e}function bt(){var t,e,n,i,r,a;if(t=rt,(e=At())!==s){for(n=[],i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=At())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;)n.push(i),i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=At())!==s?i=r=[r,a]:(rt=i,i=s);n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}function xt(){var t,e,n,i,r,a;if(t=rt,(e=Ct())!==s){for(n=[],i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=Ct())!==s?i=r=[r,a]:(rt=i,i=s);i!==s;)n.push(i),i=rt,(r=Bt())===s&&(r=null),r!==s&&(a=Ct())!==s?i=r=[r,a]:(rt=i,i=s);n!==s?t=e=l(e,n):(rt=t,t=s)}else rt=t,t=s;return t}function vt(){var t,e,n,i,r,a;return t=rt,(e=At())!==s?((n=Bt())===s&&(n=null),n!==s&&(i=At())!==s?((r=Bt())===s&&(r=null),r!==s&&(a=At())!==s?t=e=C(e,i,a):(rt=t,t=s)):(rt=t,t=s)):(rt=t,t=s),t}function wt(){var t,e,n,i;return t=rt,(e=At())!==s?((n=Bt())===s&&(n=null),n!==s&&(i=At())!==s?t=e=E(e,i):(rt=t,t=s)):(rt=t,t=s),t}function kt(){var t,e,n,i;return t=rt,(e=At())!==s?((n=Bt())===s&&(n=null),n!==s&&(i=At())!==s?t=e=$(e,i):(rt=t,t=s)):(rt=t,t=s),t}function St(){var t,e,n,i,r,a,o,l,c,h,u;return t=rt,(e=Lt())!==s?((n=Bt())===s&&(n=null),n!==s&&(i=Lt())!==s?((r=Bt())===s&&(r=null),r!==s&&(a=Ct())!==s&&Bt()!==s&&(o=Mt())!==s?((l=Bt())===s&&(l=null),l!==s&&(c=Mt())!==s?((h=Bt())===s&&(h=null),h!==s&&(u=At())!==s?t=e=I(e,i,a,o,c,u):(rt=t,t=s)):(rt=t,t=s)):(rt=t,t=s)):(rt=t,t=s)):(rt=t,t=s),t}function At(){var t,e,n,i;return t=rt,(e=Ct())!==s?((n=Bt())===s&&(n=null),n!==s&&(i=Ct())!==s?t=e=F(e,i):(rt=t,t=s)):(rt=t,t=s),t}function Lt(){var t;return(t=Pt())===s&&(t=Tt()),t!==s&&(t=G(t)),t}function Ct(){var t,e,n;return t=rt,(e=$t())===s&&(e=null),e!==s&&(n=Pt())!==s?t=e=[e,n]:(rt=t,t=s),t===s&&(t=rt,(e=$t())===s&&(e=null),e!==s&&(n=Tt())!==s?t=e=[e,n]:(rt=t,t=s)),t!==s&&(t=H(t)),t}function Mt(){var e;return W.test(t.charAt(rt))?(e=t.charAt(rt),rt++):(e=s,0===ct&>(V)),e!==s&&(e=D(e)),e}function Bt(){var t,e,n,i,r;if(t=rt,e=[],(n=Ot())!==s)for(;n!==s;)e.push(n),n=Ot();else e=s;if(e!==s)if((n=Et())===s&&(n=null),n!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?t=e=[e,n,i]:(rt=t,t=s)}else rt=t,t=s;else rt=t,t=s;if(t===s){if(t=rt,e=rt,(n=Et())!==s){for(i=[],r=Ot();r!==s;)i.push(r),r=Ot();i!==s?e=n=[n,i]:(rt=e,e=s)}else rt=e,e=s;e!==s&&(e=R()),t=e}return t}function Et(){var e;return 44===t.charCodeAt(rt)?(e=j,rt++):(e=s,0===ct&>(Y)),e}function Pt(){var e,n,i;return e=rt,n=function(){var e,n,i,r;return e=rt,(n=Tt())===s&&(n=null),n!==s?(46===t.charCodeAt(rt)?(i=K,rt++):(i=s,0===ct&>(Z)),i!==s&&(r=Tt())!==s?e=n=[n,i,r]:(rt=e,e=s)):(rt=e,e=s),e===s&&(e=rt,(n=Tt())!==s?(46===t.charCodeAt(rt)?(i=K,rt++):(i=s,0===ct&>(Z)),i!==s?e=n=[n,i]:(rt=e,e=s)):(rt=e,e=s)),e!==s&&(e=q(e)),e}(),n!==s?((i=Nt())===s&&(i=null),i!==s?e=n=[n,i]:(rt=e,e=s)):(rt=e,e=s),e===s&&(e=rt,(n=Tt())!==s&&(i=Nt())!==s?e=n=[n,i]:(rt=e,e=s)),e!==s&&(e=q(e)),e}function Nt(){var e,n,i,r;return e=rt,U.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(X)),n!==s?((i=$t())===s&&(i=null),i!==s&&(r=Tt())!==s?e=n=[n,i,r]:(rt=e,e=s)):(rt=e,e=s),e!==s&&(e=q(e)),e}function $t(){var e;return J.test(t.charAt(rt))?(e=t.charAt(rt),rt++):(e=s,0===ct&>(Q)),e}function Tt(){var e,n;if(e=[],tt.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(et)),n!==s)for(;n!==s;)e.push(n),tt.test(t.charAt(rt))?(n=t.charAt(rt),rt++):(n=s,0===ct&>(et));else e=s;return e!==s&&(e=nt(e)),e}function Ot(){var e;return it.test(t.charAt(rt))?(e=t.charAt(rt),rt++):(e=s,0===ct&>(st)),e!==s&&(e=R()),e}var zt,_t,It,Ft={m:"moveto",l:"lineto",h:"horizontal lineto",v:"vertical lineto",c:"curveto",s:"smooth curveto",q:"quadratic curveto",t:"smooth quadratic curveto",a:"elliptical arc",z:"closepath"};for(var Gt in Ft)Ft[Gt.toUpperCase()]=Ft[Gt];function Ht(t,e){e||(e=[{}]);for(var n=e.length;n--;){var i={code:t,command:Ft[t]};for(var s in t==t.toLowerCase()&&(i.relative=!0),e[n])i[s]=e[n][s];e[n]=i}return e}if((i=a())!==s&&rt===t.length)return i;throw i!==s&&rt{t.exports=function(t){return!(!t||"string"==typeof t)&&(t instanceof Array||Array.isArray(t)||t.length>=0&&(t.splice instanceof Function||Object.getOwnPropertyDescriptor(t,t.length-1)&&"String"!==t.constructor.name))}},899:t=>{"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}},n={};function i(t){var s=n[t];if(void 0!==s)return s.exports;var r=n[t]={exports:{}};return e[t](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};return(()=>{"use strict";function t(t){return null==t}i.r(s),i.d(s,{Axis:()=>Oi,BBox:()=>_i,Breadcrumb:()=>nt,Button:()=>J,Category:()=>Es,Checkbox:()=>er,CircleCrosshair:()=>js,Continuous:()=>cs,Layout:()=>ar,LineCrosshair:()=>Rs,Marker:()=>D,Navigator:()=>gs,PRIMILTIVE_ATTRIBUTES:()=>sn,PolygonCrosshair:()=>Us,Poptip:()=>ws,Scrollbar:()=>Oe,Select:()=>lr,Selection:()=>N,Slider:()=>Te,Sparkline:()=>ce,Switch:()=>Fs,Tag:()=>R,Timebar:()=>_r,Timeline:()=>zi,Tooltip:()=>zs,add:()=>jt,addPrefix:()=>k,applyStyleSheet:()=>A,applyToText:()=>Xn,arrayInterpolate:()=>gn,calcLayout:()=>rr,catmullRom2Bezier:()=>Qt,classNames:()=>Le,copyAttributes:()=>mi,createOffscreenGroup:()=>c,createTempText:()=>pi,deepAssign:()=>m,defined:()=>hi,degToRad:()=>Qe,distance:()=>Zt,ellipsisIt:()=>Jn,flex:()=>ir,formatTime:()=>pr,getCallbackValue:()=>en,getEventPos:()=>Se,getEventViewportPos:()=>Ae,getFont:()=>Zn,getLocalBBox:()=>di,getMask:()=>dr,getPrimitiveAttributes:()=>an,getRenderBBox:()=>Ii,getShapeSpace:()=>ui,getTimeDiff:()=>gr,getTimeScale:()=>fr,getTimeStart:()=>mr,getTranslate:()=>ti,grid:()=>sr,groupBy:()=>us,hide:()=>a,ifNegative:()=>xe,ifPositive:()=>ve,ifShow:()=>z,inRange:()=>Gn,interpolate:()=>mn,intersection:()=>Zs,isHorizontal:()=>gi,isInOffscreenGroup:()=>h,isPrimitiveAttribute:()=>rn,isVertical:()=>fi,keyframeInterpolate:()=>yn,lineLen:()=>Ys,max:()=>Kt,maybeAppend:()=>T,measureTextWidth:()=>jn,mid:()=>ke,min:()=>qt,multi:()=>we,normalize:()=>Ut,numberInterpolate:()=>pn,objectInterpolate:()=>fn,omit:()=>wn,parseDate:()=>ur,parseHTML:()=>Fr,parseHeightFromHTML:()=>Hn,parsePosition:()=>Ni,parseSeriesAttr:()=>P,path2marker:()=>Wr,percentTransform:()=>ei,radToDeg:()=>tn,removePrefix:()=>S,renderExtDo:()=>bn,renderHtmlExtDo:()=>xn,replaceChildren:()=>Ns,rotate:()=>Xt,sampling:()=>ze,scale:()=>Rt,scaleToPixel:()=>vn,select:()=>$,setMockMeasureTextWidth:()=>Rn,show:()=>r,splitStyle:()=>B,stringToHTML:()=>Ir,sub:()=>Yt,subStyleProps:()=>C,superStyleProps:()=>M,svg2marker:()=>Vr,textOf:()=>Un,throttle:()=>Dr,timer:()=>Rr,toKNotation:()=>be,toLowercaseFirstLetter:()=>w,toPrecision:()=>fe,toScientificNotation:()=>ye,toThousands:()=>me,toUppercaseFirstLetter:()=>v,transpose:()=>ds,traverse:()=>n,vertical:()=>Jt,visibility:()=>o,wrapIt:()=>Qn});var e=i(10);function n(t,e){e(t),t.children&&t.children.forEach(t=>{t&&n(t,e)})}function r(t){o(t,!0)}function a(t){o(t,!1)}function o(t,e){const i=e?"visible":"hidden";n(t,t=>{t.attr("visibility",i)})}class l extends e.Group{constructor(){super(...arguments),this.isMutationObserved=!0,this.addEventListener(e.ElementEvent.INSERTED,()=>{a(this)})}}function c(t){const e=t.appendChild(new l({class:"offscreen"}));return a(e),e}function h(t){let e=t;for(;e;){if("offscreen"===e.className)return!0;e=e.parent}return!1}const u=function(t){return"object"==typeof t&&null!==t};var d={}.toString;const p=function(t){if(!u(t)||!function(t,e){return d.call(t)==="[object "+e+"]"}(t,"Object"))return!1;if(null===Object.getPrototypeOf(t))return!0;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e};function g(t){return Array.isArray(t)}const f=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5;Object.entries(e).forEach(s=>{let[r,a]=s;const o=t;Object.prototype.hasOwnProperty.call(e,r)&&(a?p(a)?(p(t[r])||(o[r]={}),n1&&void 0!==arguments[1]?arguments[1]:{};super(m({},{style:e},t)),this._defaultOptions=e}connectedCallback(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0}disconnectedCallback(){this._offscreen?.destroy()}attributeChangedCallback(t){"visibility"===t&&y.call(this)}update(t,e){return this.attr(m({},this.attributes,t||{})),this.render?.(this.attributes,this,e)}clear(){this.removeChildren()}bindEvents(t,e){}getSubShapeStyle(t){const{x:e,y:n,transform:i,transformOrigin:s,class:r,className:a,zIndex:o,...l}=t;return l}}class x extends e.Text{_offscreen;get offscreenGroup(){return this._offscreen||(this._offscreen=c(this)),this._offscreen}disconnectedCallback(){this._offscreen?.destroy()}constructor(){let{style:t,...e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super({style:{text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle",...t},...e})}}function v(t){return t.toString().charAt(0).toUpperCase()+t.toString().slice(1)}function w(t){return t.toString().charAt(0).toLowerCase()+t.toString().slice(1)}function k(t,e){return`${e}${v(t)}`}function S(t,e){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const i=e||t.match(/^([a-z][a-z0-9]+)/)?.[0]||"",s=t.replace(new RegExp(`^(${i})`),"");return n?w(s):s}function A(t,e){Object.entries(e).forEach(e=>{let[n,i]=e;[t,...t.querySelectorAll(n)].filter(t=>t.matches(n)).forEach(t=>{t&&(t.style.cssText+=Object.entries(i).reduce((t,e)=>`${t}${e.join(":")};`,""))})})}const L=(t,e)=>{if(!t?.startsWith(e))return!1;const n=t[e.length];return n>="A"&&n<="Z"};function C(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i={};return Object.entries(t).forEach(t=>{let[s,r]=t;if("className"===s||"class"===s);else if(L(s,"show")&&L(S(s,"show"),e)!==n)s===k(e,"show")?i[s]=r:i[s.replace(new RegExp(v(e)),"")]=r;else if(!L(s,"show")&&L(s,e)!==n){const t=S(s,e);"filter"===t&&"function"==typeof r||(i[t]=r)}}),i}function M(t,e){return Object.entries(t).reduce((t,n)=>{let[i,s]=n;return i.startsWith("show")?t[`show${e}${i.slice(4)}`]=s:t[`${e}${v(i)}`]=s,t},{})}function B(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["x","y","class","className"];const n=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],i={},s={};return Object.entries(t).forEach(t=>{let[r,a]=t;e.includes(r)||(-1!==n.indexOf(r)?s[r]=a:i[r]=a)}),[i,s]}function E(t){return"number"==typeof t}function P(t){if(E(t))return[t,t,t,t];if(g(t)){const e=t.length;if(1===e)return[t[0],t[0],t[0],t[0]];if(2===e)return[t[0],t[1],t[0],t[1]];if(3===e)return[t[0],t[1],t[2],t[1]];if(4===e)return t}return[0,0,0,0]}class N{static registry=(()=>({g:e.Group,rect:e.Rect,circle:e.Circle,path:e.Path,text:x,ellipse:e.Ellipse,image:e.Image,line:e.Line,polygon:e.Polygon,polyline:e.Polyline,html:e.HTML}))();_elements;_parent;_data;_enter;_exit;_update;_merge;_split;_document;_transitions;_facetElements;constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[null,null,null,null,null],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[];this._elements=Array.from(t),this._data=e,this._parent=n,this._document=i,this._enter=s[0],this._update=s[1],this._exit=s[2],this._merge=s[3],this._split=s[4],this._transitions=r,this._facetElements=a}selectAll(t){const e="string"==typeof t?this._parent.querySelectorAll(t):t;return new N(e,null,this._elements[0],this._document)}selectFacetAll(t){const e="string"==typeof t?this._parent.querySelectorAll(t):t;return new N(this._elements,null,this._parent,this._document,void 0,void 0,e)}select(t){const e="string"==typeof t?this._parent.querySelectorAll(t)[0]||null:t;return new N([e],null,e,this._document)}append(t){const e="function"==typeof t?t:()=>this.createElement(t),n=[];if(null!==this._data){for(let t=0;t1&&void 0!==arguments[1]?arguments[1]:t=>t,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>null;const i=[],s=[],r=new Set(this._elements),a=[],o=new Set,l=new Map(this._elements.map((t,n)=>[e(t.__data__,n),t])),c=new Map(this._facetElements.map((t,n)=>[e(t.__data__,n),t])),h=function(t){const e=new Map;return t.forEach(t=>{const i=n(t.__data__);e.has(i)||e.set(i,[]),e.get(i).push(t)}),e}(this._elements);for(let u=0;u1&&void 0!==arguments[1]?arguments[1]:t=>t,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t=>t.remove(),n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t=>t,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:t=>t.remove();const s=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:t=>t)(this._enter),r=t(this._update),a=e(this._exit),o=n(this._merge),l=i(this._split);return r.merge(s).merge(a).merge(o).merge(l)}remove(){for(let t=0;te.remove()):e.remove()}return new N([],null,this._parent,this._document,void 0,this._transitions)}each(t){for(let e=0;ee:e;return this.each(function(i,s){void 0!==e&&(this[t]=n.call(this,i,s))})}style(t,e){const n="function"!=typeof e||arguments.length>2&&void 0!==arguments[2]&&!arguments[2]?()=>e:e;return this.each(function(i,s){void 0!==e&&(this.style[t]=n.call(this,i,s))})}styles(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.each(function(n,i){Object.entries(t).forEach(t=>{let[s,r]=t;const a="function"==typeof r&&e?r:()=>r;void 0!==r&&this.attr(s,a.call(this,n,i))})})}update(t){const e="function"!=typeof t||arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?()=>t:t;return this.each(function(n,i){t&&this.update&&this.update(e.call(this,n,i))})}maybeUpdate(t){const e="function"!=typeof t||arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?()=>t:t;return this.each(function(n,i){t&&this.update&&this.update(e.call(this,n,i))})}transition(t){const{_transitions:e}=this,n=new Array(this._elements.length);return this.each(function(e,i){n[i]=t.call(this,e,i)}),this._transitions=function(t){if(!g(t))return[];for(var e=[],n=0;n1?e-1:0),i=1;i!!t)}parent(){return this._parent}}function $(t){return new N([t],null,t,t.ownerDocument)}function T(t,e,n){return t.querySelector(e)?$(t).select(e):$(t).append(n)}function O(t){return"function"==typeof t}function z(t,e,n){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:t=>{t.node().removeChildren()};return t?n(e):(i&&s(e),null)}const _=(t,e,n)=>[["M",t-n,e],["A",n,n,0,1,0,t+n,e],["A",n,n,0,1,0,t-n,e],["Z"]],I=_,F=(t,e,n)=>[["M",t,e+n],["L",t,e-n]],G=(t,e,n)=>[["M",t-n,e],["L",t+n,e]],H=G,W=function(t){var e=typeof t;return null!==t&&"object"===e||"function"===e};function V(t){return"string"==typeof t}class D extends b{render(t,e){const{x:n=0,y:i=0}=t,{symbol:s,size:r=16,...a}=this.getSubShapeStyle(t),o=function(t){const e=function(t){let e="default";if(W(t)&&t instanceof Image)e="image";else if(O(t))e="symbol";else if(V(t)){const n=new RegExp("data:(image|text)");e=t.match(n)?"base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(t)?"url":"symbol"}return e}(t);return["base64","url","image"].includes(e)?"image":t&&"symbol"===e?"path":null}(s);z(!!o,$(e),t=>{t.maybeAppendByClassName("marker",o).attr("className",`marker ${o}-marker`).call(t=>{if("image"===o){const e=2*r;t.styles({img:s,width:e,height:e,x:n-r,y:i-r})}else{const e=r/2,o=O(s)?s:D.getSymbol(s);t.styles({d:o?.(n,i,e),...a})}})})}static MARKER_SYMBOL_MAP=(()=>new Map)();static registerSymbol=(t,e)=>{D.MARKER_SYMBOL_MAP.set(t,e)};static getSymbol=t=>D.MARKER_SYMBOL_MAP.get(t);static getSymbols=()=>Array.from(D.MARKER_SYMBOL_MAP.keys())}D.registerSymbol("cross",(t,e,n)=>[["M",t-n,e-n],["L",t+n,e+n],["M",t+n,e-n],["L",t-n,e+n]]),D.registerSymbol("hyphen",(t,e,n)=>[["M",t-n,e],["L",t+n,e]]),D.registerSymbol("line",F),D.registerSymbol("plus",(t,e,n)=>[["M",t-n,e],["L",t+n,e],["M",t,e-n],["L",t,e+n]]),D.registerSymbol("tick",(t,e,n)=>[["M",t-n/2,e-n],["L",t+n/2,e-n],["M",t,e-n],["L",t,e+n],["M",t-n/2,e+n],["L",t+n/2,e+n]]),D.registerSymbol("circle",_),D.registerSymbol("point",I),D.registerSymbol("bowtie",(t,e,n)=>{const i=n-1.5;return[["M",t-n,e-i],["L",t+n,e+i],["L",t+n,e-i],["L",t-n,e+i],["Z"]]}),D.registerSymbol("hexagon",(t,e,n)=>{const i=n/2*Math.sqrt(3);return[["M",t,e-n],["L",t+i,e-n/2],["L",t+i,e+n/2],["L",t,e+n],["L",t-i,e+n/2],["L",t-i,e-n/2],["Z"]]}),D.registerSymbol("square",(t,e,n)=>[["M",t-n,e-n],["L",t+n,e-n],["L",t+n,e+n],["L",t-n,e+n],["Z"]]),D.registerSymbol("diamond",(t,e,n)=>[["M",t-n,e],["L",t,e-n],["L",t+n,e],["L",t,e+n],["Z"]]),D.registerSymbol("triangle",(t,e,n)=>{const i=n*Math.sin(1/3*Math.PI);return[["M",t-n,e+i],["L",t,e-i],["L",t+n,e+i],["Z"]]}),D.registerSymbol("triangle-down",(t,e,n)=>{const i=n*Math.sin(1/3*Math.PI);return[["M",t-n,e-i],["L",t+n,e-i],["L",t,e+i],["Z"]]}),D.registerSymbol("line",F),D.registerSymbol("dot",G),D.registerSymbol("dash",H),D.registerSymbol("smooth",(t,e,n)=>[["M",t-n,e],["A",n/2,n/2,0,1,1,t,e],["A",n/2,n/2,0,1,0,t+n,e]]),D.registerSymbol("hv",(t,e,n)=>[["M",t-n-1,e-2.5],["L",t,e-2.5],["L",t,e+2.5],["L",t+n+1,e+2.5]]),D.registerSymbol("vh",(t,e,n)=>[["M",t-n-1,e+2.5],["L",t,e+2.5],["L",t,e-2.5],["L",t+n+1,e-2.5]]),D.registerSymbol("hvh",(t,e,n)=>[["M",t-(n+1),e+2.5],["L",t-n/2,e+2.5],["L",t-n/2,e-2.5],["L",t+n/2,e-2.5],["L",t+n/2,e+2.5],["L",t+n+1,e+2.5]]),D.registerSymbol("vhv",function(t,e){return[["M",t-5,e+2.5],["L",t-5,e],["L",t,e],["L",t,e-3],["L",t,e+3],["L",t+6.5,e+3]]}),D.registerSymbol("focus",(t,e,n)=>{const i=.2*n,s=.7*n;return[["M",t-n,e],["A",n,n,0,1,0,t+n,e],["A",n,n,0,1,0,t-n,e],["Z"],["M",t-s,e],["L",t-i,e],["M",t+i,e],["L",t+s,e],["M",t,e-s],["L",t,e-i],["M",t,e+i],["L",t,e+s]]});class R extends b{static tag="tag";constructor(t){super(t,{padding:4,spacing:4})}render(e,n){const{padding:i=0,marker:s,text:r,radius:a,spacing:o,align:l,verticalAlign:c}=e,h=C(e,"label"),u=C(e,"background"),[d,p,g,f]=P(i),m=T(n,".tag-content","g").attr("className","tag-content").style("zIndex",0).node(),y=s||{symbol:"triangle",size:0},b=T(m,".tag-marker",()=>new D({style:y})).attr("className","tag-marker").update(y).node(),{x:v,y:w}=function(t,e){const n=t.getLocalBounds();return{x:n.halfExtents[0]?n.max[0]+(e||0):t.style.x,y:n.halfExtents[1]?(n.min[1]+n.max[1])/2:t.style.y}}(b,o);$(m).maybeAppendByClassName("tag-text",()=>new x).styles({fontSize:12,text:t(r)?"":`${r}`,x:v,y:w,...h,textBaseline:"middle"}).call(t=>{r||t.remove()}),function(t,e,n,i,s){const r=t.getLocalBounds();let a=0,o=0;"start"===i&&(a=e),"center"===i&&(a=-r.halfExtents[0]),"end"===i&&(a=-e-2*r.halfExtents[0]),"top"===s&&(o=n+r.halfExtents[1]),"middle"===s&&(o=0),"bottom"===s&&(o=n-2*r.halfExtents[1]),t.setLocalPosition([a,o])}(m,f,d,l||"start",c||"top");const k=m.getLocalBounds();$(n).maybeAppendByClassName("tag-background","rect").styles({zIndex:-1,y:k.min[1]-d,x:k.min[0]-f,width:null!==u?f+p+2*k.halfExtents[0]:0,height:null!==u?d+g+2*k.halfExtents[1]:0,radius:a??2,fill:"#fafafa",stroke:"#d9d9d9",lineWidth:1,...u})}}const j=function(t){return void 0===t};function Y(t,e){if(Object.hasOwn)return Object.hasOwn(t,e);if(null==t)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(t),e)}function q(t,e,n,i){for(var s in n=n||0,i=i||5,e)if(Y(e,s)){var r=e[s];null!==r&&p(r)?(p(t[s])||(t[s]={}),n{t in X&&(s[t]=X[t])}),Object.keys(X.strict).forEach(t=>{s[t]=X.strict[t]}),K(s,this.attributes.disabled||{})),C(s,t)}render(t,e){const{text:n="",padding:i=0,markerSymbol:s,markerSpacing:r=0,x:a=0,y:o=0}=t;e.attr({cursor:"disabled"===this.state?"not-allowed":"pointer"});const[l,c,h,u]=P(i),d=this.buttonHeight,p=this.getStyle("marker"),{markerSize:g}=this,f={...p,symbol:s,x:a+u+g/2,y:o+d/2,size:g},m=T(e,".marker",()=>new D({className:"marker",style:f})).update({style:f}).node().getLocalBounds(),y=this.getStyle("text");this.textShape=T(e,".text","text").attr("className","text").styles({x:a+(g?m.max[0]+r:u),y:o+d/2,...y,text:n,textAlign:"left",textBaseline:"middle",wordWrap:!0,wordWrapWidth:this.textAvailableWidth,maxLines:1,textOverflow:"..."}).node();const b=this.textShape.getLocalBounds(),x=this.getStyle("button");$(e).maybeAppendByClassName(".background","rect").styles({zIndex:-1,...x,x:a,y:o,height:d,width:u+(g?g+r:0)+2*b.halfExtents[0]+c})}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.attr(K({},this.attributes,t));const{state:e}=this.attributes;this.state=e,this.render(this.attributes,this)}setState(t){this.update({state:t})}hide(){this.style.visibility="hidden"}show(){this.style.visibility="visible"}clickEvents=()=>{const{onClick:t,state:e}=this.attributes;"disabled"!==e&&t?.call(this,this)};mouseenterEvent=()=>{const{state:t}=this.attributes;"disabled"!==t&&(this.state="active",this.render(this.attributes,this))};mouseleaveEvent=()=>{const{state:t}=this.attributes;this.state=t,this.render(this.attributes,this)};bindEvents(){this.addEventListener("click",this.clickEvents),this.addEventListener("mouseenter",this.mouseenterEvent),this.addEventListener("mouseleave",this.mouseleaveEvent)}}const Q=function(t,e){if(t)if(g(t))for(var n=0,i=t.length;ni);const s=i.getLocalBounds(),a=2*s.halfExtents[0],o=2*s.halfExtents[1];f+=a,t(l)||f>l-u&&(i.attr({transform:`translateY(${m+o})`}),f=a,m+=o),this.bindInnerEvents(i,n);const{spacing:h=0,text:d="/",style:y}=c||{};if(e!==r.length-1){const t=new x({className:`${nt.tag}-separator`,id:`${nt.tag}-separator-${e}`,style:{x:f+h,y:m+o/2,...y,text:d,textAlign:"end",textBaseline:"middle"}});g.append(()=>t),f+=2*t.getLocalBounds().halfExtents[0]+h}}}update(t){this.attr(K({},this.attributes,t)),this.render(this.attributes,this)}bindInnerEvents(t,e){const{items:n,onClick:i}=this.attributes;i&&t.addEventListener("click",()=>{i.call(t,e.id,e,n)})}}const it=function(t){return t};class st{constructor(t){this.options=K({},this.getDefaultOptions()),this.update(t)}getOptions(){return this.options}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=K({},this.options,t),this.rescale(t)}rescale(t){}}function rt(t,e){return e-t?n=>(n-t)/(e-t):t=>.5}function at(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;in=>t(e(n)),t)}var ot=i(381),lt=i.n(ot);function ct(t,e,n){let i=n;return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function ht(t){const e=lt().get(t);if(!e)return null;const{model:n,value:i}=e;return"rgb"===n?i:"hsl"===n?function(t){const e=t[0]/360,n=t[1]/100,i=t[2]/100,s=t[3];if(0===n)return[255*i,255*i,255*i,s];const r=i<.5?i*(1+n):i+n-i*n,a=2*i-r;return[255*ct(a,r,e+1/3),255*ct(a,r,e),255*ct(a,r,e-1/3),s]}(i):null}const ut=(t,e)=>n=>t*(1-n)+e*n,dt=(t,e)=>"number"==typeof t&&"number"==typeof e?ut(t,e):"string"==typeof t&&"string"==typeof e?((t,e)=>{const n=ht(t),i=ht(e);return null===n||null===i?n?()=>t:()=>e:t=>{const e=new Array(4);for(let s=0;s<4;s+=1){const r=n[s],a=i[s];e[s]=r*(1-t)+a*t}const[s,r,a,o]=e;return`rgba(${Math.round(s)}, ${Math.round(r)}, ${Math.round(a)}, ${o})`}})(t,e):()=>t,pt=(t,e)=>{const n=ut(t,e);return t=>Math.round(n(t))};function gt(t){return!(j(t)||(e=t,null===e)||Number.isNaN(t));var e}const ft=Math.sqrt(50),mt=Math.sqrt(10),yt=Math.sqrt(2);function bt(t,e,n){const i=(e-t)/Math.max(0,n),s=Math.floor(Math.log(i)/Math.LN10),r=i/10**s;return s>=0?(r>=ft?10:r>=mt?5:r>=yt?2:1)*10**s:-(10**-s)/(r>=ft?10:r>=mt?5:r>=yt?2:1)}const xt=function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5;const i=[t,e];let s,r=0,a=i.length-1,o=i[r],l=i[a];return l0?(o=Math.floor(o/s)*s,l=Math.ceil(l/s)*s,s=bt(o,l,n)):s<0&&(o=Math.ceil(o*s)/s,l=Math.floor(l*s)/s,s=bt(o,l,n)),s>0?(i[r]=Math.floor(o/s)*s,i[a]=Math.ceil(l/s)*s):s<0&&(i[r]=Math.ceil(o*s)/s,i[a]=Math.floor(l*s)/s),i},vt=(t,e,n)=>{const[i,s]=t,[r,a]=e;let o,l;return i{const i=Math.min(t.length,e.length)-1,s=new Array(i),r=new Array(i),a=t[0]>t[i],o=a?[...t].reverse():t,l=a?[...e].reverse():e;for(let t=0;t{const n=function(t,e,n,i){let s=1,r=i||t.length;const a=t=>t;for(;se?r=n:s=n+1}return s}(t,e,0,i)-1,a=s[n];return at(r[n],a)(e)}},kt=(t,e,n,i)=>(Math.min(t.length,e.length)>2?wt:vt)(t,e,i?pt:n);class St extends st{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:ut,tickCount:5}}map(t){return gt(t)?this.output(t):this.options.unknown}invert(t){return gt(t)?this.input(t):this.options.unknown}nice(){if(!this.options.nice)return;const[t,e,n,...i]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(t,e,n,...i)}getTicks(){const{tickMethod:t}=this.options,[e,n,i,...s]=this.getTickMethodOptions();return t(e,n,i,...s)}getTickMethodOptions(){const{domain:t,tickCount:e}=this.options;return[t[0],t[t.length-1],e]}chooseNice(){return xt}rescale(){this.nice();const[t,e]=this.chooseTransforms();this.composeOutput(t,this.chooseClamp(t)),this.composeInput(t,e,this.chooseClamp(e))}chooseClamp(t){const{clamp:e,range:n}=this.options,i=this.options.domain.map(t),s=Math.min(i.length,n.length);return e?function(t,e){const n=ee?t:e;return t=>Math.min(Math.max(n,t),i)}(i[0],i[s-1]):it}composeOutput(t,e){const{domain:n,range:i,round:s,interpolate:r}=this.options,a=kt(n.map(t),i,r,s);this.output=at(a,e,t)}composeInput(t,e,n){const{domain:i,range:s}=this.options,r=kt(s,i.map(t),ut);this.input=at(e,n,r)}}const At=(t,e,n)=>{let i,s,r=t,a=e;if(r===a&&n>0)return[r];let o=bt(r,a,n);if(0===o||!Number.isFinite(o))return[];if(o>0){r=Math.ceil(r/o),a=Math.floor(a/o),s=new Array(i=Math.ceil(a-r+1));for(let t=0;t`${t}`:"object"==typeof t?t=>JSON.stringify(t):t=>t}class Tt extends st{getDefaultOptions(){return{domain:[],range:[],unknown:Et}}constructor(t){super(t)}map(t){return 0===this.domainIndexMap.size&&Pt(this.domainIndexMap,this.getDomain(),this.domainKey),Nt({value:this.domainKey(t),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(t){return 0===this.rangeIndexMap.size&&Pt(this.rangeIndexMap,this.getRange(),this.rangeKey),Nt({value:this.rangeKey(t),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(t){const[e]=this.options.domain,[n]=this.options.range;if(this.domainKey=$t(e),this.rangeKey=$t(n),!this.rangeIndexMap)return this.rangeIndexMap=new Map,void(this.domainIndexMap=new Map);t&&!t.range||this.rangeIndexMap.clear(),(!t||t.domain||t.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new Tt(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:t,compare:e}=this.options;return this.sortedDomain=e?[...t].sort(e):t,this.sortedDomain}}function Ot(t){return Math.round(1e12*t)/1e12}class zt extends Tt{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:Et,flex:[]}}constructor(t){super(t)}clone(){return new zt(this.options)}getStep(t){return void 0===this.valueStep?1:"number"==typeof this.valueStep?this.valueStep:void 0===t?Array.from(this.valueStep.values())[0]:this.valueStep.get(t)}getBandWidth(t){return void 0===this.valueBandWidth?1:"number"==typeof this.valueBandWidth?this.valueBandWidth:void 0===t?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(t)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:t,paddingInner:e}=this.options;return t>0?t:e}getPaddingOuter(){const{padding:t,paddingOuter:e}=this.options;return t>0?t:e}rescale(){super.rescale();const{align:t,domain:e,range:n,round:i,flex:s}=this.options,{adjustedRange:r,valueBandWidth:a,valueStep:o}=function(t){var e;const{domain:n}=t,i=n.length;if(0===i)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(null===(e=t.flex)||void 0===e?void 0:e.length)return function(t){const{domain:e,range:n,paddingOuter:i,paddingInner:s,flex:r,round:a,align:o}=t,l=e.length,c=function(t,e){const n=e-t.length;return n>0?[...t,...new Array(n).fill(1)]:n<0?t.slice(0,e):t}(r,l),[h,u]=n,d=u-h,p=d/(2/l*i+1-1/l*s),g=p*s/l,f=p-l*g,m=function(t){const e=Math.min(...t);return t.map(t=>t/e)}(c),y=f/m.reduce((t,e)=>t+e),b=new Bt(e.map((t,e)=>{const n=m[e]*y;return[t,a?Math.floor(n):n]})),x=new Bt(e.map((t,e)=>{const n=m[e]*y+g;return[t,a?Math.floor(n):n]})),v=Array.from(x.values()).reduce((t,e)=>t+e),w=h+(d-(v-v/l*s))*o;let k=a?Math.round(w):w;const S=new Array(l);for(let t=0;tu+e*c);return{valueStep:c,valueBandWidth:h,adjustedRange:f}}({align:t,range:n,round:i,flex:s,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:e});this.valueStep=o,this.valueBandWidth=a,this.adjustedRange=r}}var _t=function(t){if("object"!=typeof t||null===t)return t;var e;if(g(t)){e=[];for(var n=0,i=t.length;nt.append("rect").attr("className","column").each(function(t){this.attr(t)}),t=>t.each(function(t){this.attr(t)}),t=>t.remove())}update(t){this.attr(m({},this.attributes,t)),this.render()}clear(){this.removeChildren()}}class Gt extends e.DisplayObject{linesGroup=(()=>this.appendChild(new e.Group))();areasGroup=(()=>this.appendChild(new e.Group))();constructor(t){let{style:e,...n}=t;super(K({},{type:"lines"},{style:e,...n})),this.render()}render(){const{lines:t,areas:e,x:n,y:i}=this.attributes;this.style.transform=`translate(${n}, ${i})`,t&&this.renderLines(t),e&&this.renderAreas(e)}clear(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()}update(t){this.attr(m({},this.attributes,t)),this.render()}renderLines(t){$(this.linesGroup).selectAll(".line").data(t).join(t=>t.append("path").attr("className","line").each(function(t){this.attr(t)}),t=>t.each(function(t){this.attr(t)}),t=>t.remove())}renderAreas(t){$(this.linesGroup).selectAll(".area").data(t).join(t=>t.append("path").attr("className","area").each(function(t){this.attr(t)}),t=>t.each(function(t){this.style(t)}),t=>t.remove())}}const Ht=function(t,e,n){return tn?n:t},Wt=function(t){return null!==t&&"function"!=typeof t&&isFinite(t.length)};var Vt=function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(V(t)||V(e))return!1;if(Wt(t)||Wt(e)){if(t.length!==e.length)return!1;for(var n=!0,i=0;i2&&void 0!==arguments[2]?arguments[2]:[[0,0],[1,1]];const n=!!(arguments.length>1&&void 0!==arguments[1]&&arguments[1]),i=[];for(let e=0,n=t.length;e1&&void 0!==arguments[1]&&arguments[1];const n=e?t.length-1:0,i=t.map((t,e)=>[e===n?"M":"L",...t]);return e?i.reverse():i}function ee(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.length<=2)return te(t);const n=[],i=t.length;for(let s=0;si&&(n=r,i=a)}return n}};function oe(t){return 0===t.length?[0,0]:[ie(se(t,t=>ie(t)||0)),re(ae(t,t=>re(t)||0))]}function le(t){const e=It(t),n=e[0].length,[i,s]=[Array(n).fill(0),Array(n).fill(0)];for(let t=0;t=0?(r[t]+=i[t],i[t]=r[t]):(r[t]+=s[t],s[t]=r[t])}return e}class ce extends b{static tag="sparkline";get rawData(){const{data:t}=this.attributes;if(!t||0===t?.length)return[[]];const e=It(t);return E(e[0])?[e]:e}get data(){return this.attributes.isStack?le(this.rawData):this.rawData}get scales(){return this.createScales(this.data)}get baseline(){const{y:t}=this.scales,[e,n]=t.getOptions().domain||[0,0];return n<0?t.map(n):t.map(e<0?0:e)}get containerShape(){const{width:t,height:e}=this.attributes;return{width:t,height:e}}get linesStyle(){const{type:t,isStack:e,smooth:n}=this.attributes;if("line"!==t)throw new Error("linesStyle can only be used in line type");const i=C(this.attributes,"area"),s=C(this.attributes,"line"),{width:r}=this.containerShape,{data:a}=this;if(0===a[0].length)return{lines:[],areas:[]};const{x:o,y:l}=this.scales,c=function(t,e){const{x:n,y:i}=e;let[s,r]=i.getOptions().range||[0,0];return r>s&&([r,s]=[s,r]),t.map(t=>t.map((t,e)=>[n.map(e),Ht(i.map(t),r,s)]))}(a,{type:"line",x:o,y:l});let h=[];if(i){const{baseline:t}=this;h=e?n?function(t,e,n){const i=[];for(let s=t.length-1;s>=0;s-=1){const r=t[s],a=ee(r);let o;if(0===s)o=ne(a,e,n);else{const e=ee(t[s-1],!0),n=r[0];e[0][0]="L",o=[...a,...e,["M",...n],["Z"]]}i.push(o)}return i}(c,r,t):function(t,e,n){const i=[];for(let s=t.length-1;s>=0;s-=1){const r=te(t[s]);let a;if(0===s)a=ne(r,e,n);else{const e=te(t[s-1],!0);e[0][0]="L",a=[...r,...e,["Z"]]}i.push(a)}return i}(c,r,t):function(t,e,n,i){return t.map(t=>ne(e?ee(t):te(t),n,i))}(c,n,r,t)}return{lines:c.map((t,e)=>({stroke:this.getColor(e),d:n?ee(t):te(t),...s})),areas:h.map((t,e)=>({d:t,fill:this.getColor(e),...i}))}}get columnsStyle(){const t=C(this.attributes,"column"),{isStack:e,type:n,scale:i}=this.attributes;if("column"!==n)throw new Error("columnsStyle can only be used in column type");const{height:s}=this.containerShape;let{rawData:r}=this;if(!r)return{columns:[]};e&&(r=le(r));const{x:a,y:o}=this.createScales(r),[l,c]=oe(r),h=new Lt({domain:[0,c-(l>0?0:l)],range:[0,s*i]}),u=a.getBandWidth(),{rawData:d}=this;return{columns:r.map((n,i)=>n.map((n,s)=>{const l=u/r.length;return{fill:this.getColor(i),...t,...e?{x:a.map(s),y:o.map(n),width:u,height:h.map(d[i][s])}:{x:a.map(s)+l*i,y:n>=0?o.map(n):o.map(0),width:l,height:h.map(Math.abs(n))}}}))}}constructor(t){super(t,{type:"line",x:0,y:0,width:200,height:20,isStack:!1,color:["#83daad","#edbf45","#d2cef9","#e290b3","#6f63f4"],smooth:!0,lineLineWidth:1,areaOpacity:0,isGroup:!1,columnLineWidth:1,columnStroke:"#fff",scale:1,spacing:0})}render(t,e){T(e,".container","rect").attr("className","container").node();const{type:n,x:i,y:s}=t,r=`spark${n}`,a={x:i,y:s,..."line"===n?this.linesStyle:this.columnsStyle};$(e).selectAll(".spark").data([n]).join(t=>t.append(t=>"line"===t?new Gt({className:r,style:a}):new Ft({className:r,style:a})).attr("className",`spark ${r}`),t=>t.update(a),t=>t.remove())}getColor(t){const{color:e}=this.attributes;return g(e)?e[t%e.length]:O(e)?e.call(null,t):e}createScales(t){const{type:e,scale:n,range:i=[],spacing:s}=this.attributes,{width:r,height:a}=this.containerShape,[o,l]=oe(t),c=new Lt({domain:[i[0]??o,i[1]??l],range:[a,a*(1-n)]});return"line"===e?{type:e,x:new Lt({domain:[0,t[0].length-1],range:[0,r]}),y:c}:{type:e,x:new zt({domain:t[0].map((t,e)=>e),range:[0,r],paddingInner:s,paddingOuter:s/2,align:.5}),y:c}}}function he(t){if(!t)return{enter:!1,update:!1,exit:!1};const e=["enter","update","exit"],n=Object.fromEntries(Object.entries(t).filter(t=>{let[n]=t;return!e.includes(n)}));return Object.fromEntries(e.map(e=>function(t){return"boolean"!=typeof t&&"enter"in t&&"update"in t&&"exit"in t}(t)?!1===t[e]?[e,!1]:[e,{...t[e],...n}]:[e,n]))}function ue(t,e){t?t.finished.then(e):e()}function de(t,e){"update"in t?t.update(e):t.attr(e)}function pe(t,e,n){return 0===e.length?null:n?t.animate(e,n):(de(t,{style:e.slice(-1)[0]}),null)}function ge(e,n,i){const s={},r={};return Object.entries(n).forEach(n=>{let[i,a]=n;if(!t(a)){const t=e.style[i]||e.parsedStyle[i]||0;t!==a&&(s[i]=t,r[i]=a)}}),i?pe(e,[s,r],{fill:"both",...i}):(de(e,r),null)}function fe(t,e){return+t.toPrecision(e)}function me(t){return t.toLocaleString()}function ye(t){return t.toExponential()}function be(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Math.abs(t)<1e3?String(t):`${fe(t/1e3,e).toLocaleString()}K`}const xe=(t,e,n)=>t<0&&Number.isFinite(t)?e:n,ve=(t,e,n)=>t>0&&Number.isFinite(t)?e:n,we=(t,e)=>t*e,ke=(t,e)=>t/2+(e||0)/2;function Se(t){const{canvas:e,touches:n,offsetX:i,offsetY:s}=t;if(e){const{x:t,y:n}=e;return[t,n]}if(n){const{clientX:t,clientY:e}=n[0];return[t,e]}return i&&s?[i,s]:[0,0]}function Ae(t){const{nativeEvent:e,touches:n,clientX:i,clientY:s}=t;if(e)return[e.clientX,e.clientY];if(n){const{clientX:t,clientY:e}=n[0];return[t,e]}return"number"==typeof i&&"number"==typeof s?[i,s]:[0,0]}const Le=(t,e)=>{const n=t=>`${e}-${t}`,i=Object.fromEntries(Object.entries(t).map(t=>{let[e,i]=t;const s=n(i);return[e,{name:s,class:`.${s}`,id:`#${s}`,toString:()=>s}]}));return Object.assign(i,{prefix:n}),i},Ce={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},Me={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},Be={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},Ee=Le({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),Pe=Le({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle");class Ne extends b{render(t,e){const{x:n,y:i,size:s=10,radius:r=s/4,orientation:a,classNamePrefix:o,...l}=t,c=s,h=2.4*c,u=o?`${Pe.iconRect.name} ${o}handle-icon-rect`:Pe.iconRect.name,d=t=>o?`${Pe.iconLine}-${t} ${o}handle-icon-line`:`${Pe.iconLine}-${t}`,p=$(e).maybeAppendByClassName(Pe.iconRect,"rect").attr("className",u).styles({...l,width:c,height:h,radius:r,x:n-c/2,y:i-h/2,transformOrigin:"center"}),g=n+1/3*c-c/2,f=n+2/3*c-c/2,m=i+1/4*h-h/2,y=i+3/4*h-h/2;p.maybeAppendByClassName(`${Pe.iconLine}-1`,"line").attr("className",d(1)).styles({x1:g,x2:g,y1:m,y2:y,...l}),p.maybeAppendByClassName(`${Pe.iconLine}-2`,"line").attr("className",d(2)).styles({x1:f,x2:f,y1:m,y2:y,...l}),"vertical"===a&&(p.node().style.transform="rotate(90)")}}class $e extends b{label;icon;constructor(t){super(t,Be)}renderLabel(t){const{x:e,y:n,showLabel:i}=this.attributes,{x:s=0,y:r=0,transform:a,transformOrigin:o,...l}=C(this.attributes,"label"),[c,h]=B(l,[]),u=$(t).maybeAppendByClassName(Pe.labelGroup,"g").styles(h),{text:d,...p}={...Me,...c};z(!!i,u,t=>{this.label=t.maybeAppendByClassName(Pe.label,"text").styles({...p,x:e+s,y:n+r,transform:a,transformOrigin:o,text:`${d}`}),this.label.on("mousedown",t=>{t.stopPropagation()}),this.label.on("touchstart",t=>{t.stopPropagation()})})}renderIcon(t){const{x:e,y:n,orientation:i,type:s,classNamePrefix:r}=this.attributes,a={x:e,y:n,orientation:i,classNamePrefix:r,...Ce,...C(this.attributes,"icon")},{iconShape:o=()=>new Ne({style:a})}=this.attributes;$(t).maybeAppendByClassName(Pe.iconGroup,"g").selectAll(Pe.icon.class).data([o]).join(t=>t.append("string"==typeof o?o:()=>o(s)).attr("className",Pe.icon.name),t=>t.update(a),t=>t.remove())}render(t,e){this.renderIcon(e),this.renderLabel(e)}}class Te extends b{static tag="slider";range=[0,1];get values(){return this.attributes.values}set values(t){this.attributes.values=this.clampValues(t)}trackShape;brushArea;foregroundGroup;selectionShape;startHandle;endHandle;selectionStartPos;selectionWidth;prevPos;target;get sparklineStyle(){const{orientation:t}=this.attributes;if("horizontal"!==t)return null;const e=C(this.attributes,"sparkline");return{zIndex:0,...this.availableSpace,...e}}get shape(){const{trackLength:t,trackSize:e}=this.attributes,[n,i]=this.getOrientVal([[t,e],[e,t]]);return{width:n,height:i}}get availableSpace(){const{x:t,y:e,padding:n}=this.attributes,[i,s,r,a]=P(n),{width:o,height:l}=this.shape;return{x:a,y:i,width:o-(a+s),height:l-(i+r)}}constructor(t){super(t,{x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:t=>t.toString(),handleSpacing:2,orientation:"horizontal",padding:0,autoFitLabel:!0,scrollable:!0,selectionFill:"#5B8FF9",selectionFillOpacity:.45,selectionZIndex:2,showHandle:!0,showLabel:!0,slidable:!0,trackFill:"#416180",trackLength:200,trackOpacity:.05,trackSize:20,trackZIndex:-1,values:[0,1],type:"range",selectionType:"select",handleIconOffset:0,...M(Be,"handle"),...M(Ce,"handleIcon"),...M(Me,"handleLabel")}),this.selectionStartPos=0,this.selectionWidth=0,this.prevPos=0,this.target=""}getValues(){return this.values}setValues(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.attributes.values=t;const n=!1!==e&&this.attributes.animate;this.updateSelectionArea(n),this.updateHandlesPosition(n)}updateSelectionArea(t){const e=this.calcSelectionArea();this.foregroundGroup.selectAll(Ee.selection.class).each(function(n,i){ge(this,e[i],t)})}updateHandlesPosition(t){this.attributes.showHandle&&(this.startHandle&&ge(this.startHandle,this.getHandleStyle("start"),t),this.endHandle&&ge(this.endHandle,this.getHandleStyle("end"),t))}innerSetValues(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.values,i=this.clampValues(t);this.attributes.values=i,this.setValues(i),e&&this.onValueChange(n)}renderTrack(t){const{x:e,y:n}=this.attributes,i=C(this.attributes,"track");this.trackShape=$(t).maybeAppendByClassName(Ee.track,"rect").styles({x:e,y:n,...this.shape,...i})}renderBrushArea(t){const{x:e,y:n,brushable:i}=this.attributes;this.brushArea=$(t).maybeAppendByClassName(Ee.brushArea,"rect").styles({x:e,y:n,fill:"transparent",cursor:i?"crosshair":"default",...this.shape})}renderSparkline(t){const{x:e,y:n,orientation:i}=this.attributes;z("horizontal"===i,$(t).maybeAppendByClassName(Ee.sparklineGroup,"g"),t=>{const i={...this.sparklineStyle,x:e,y:n};t.maybeAppendByClassName(Ee.sparkline,()=>new ce({style:i})).update(i)})}renderHandles(){const{showHandle:t,type:e}=this.attributes,n=t?"range"===e?["start","end"]:["end"]:[],i=this;this.foregroundGroup?.selectAll(Ee.handle.class).data(n.map(t=>({type:t})),t=>t.type).join(t=>t.append(t=>{let{type:e}=t;return new $e({style:this.getHandleStyle(e)})}).each(function(t){let{type:e}=t;this.attr("class",`${Ee.handle.name} ${e}-handle`),i[`${e}Handle`]=this,this.addEventListener("pointerdown",i.onDragStart(e))}),t=>t.each(function(t){let{type:e}=t;this.update(i.getHandleStyle(e))}),t=>t.each(t=>{let{type:e}=t;i[`${e}Handle`]=void 0}).remove())}renderSelection(t){const{x:e,y:n,type:i,selectionType:s}=this.attributes;this.foregroundGroup=$(t).maybeAppendByClassName(Ee.foreground,"g");const r=C(this.attributes,"selection"),a=t=>t.style("visibility",t=>t.show?"visible":"hidden").style("cursor",t=>"select"===s?"grab":"invert"===s?"crosshair":"default").styles({...r,transform:`translate(${e}, ${n})`}),o=this;this.foregroundGroup.selectAll(Ee.selection.class).data("value"===i?[]:this.calcSelectionArea().map((t,e)=>({style:{...t},index:e,show:"select"===s?1===e:1!==e})),t=>t.index).join(t=>t.append("rect").attr("className",Ee.selection.name).call(a).each(function(t,e){1===e?(o.selectionShape=$(this),this.on("pointerdown",t=>{this.attr("cursor","grabbing"),o.onDragStart("selection")(t)}),o.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),o.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),o.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",()=>{this.attr("cursor","grabbing")}),this.addEventListener("pointerup",()=>{this.attr("cursor","pointer")}),this.addEventListener("pointerover",()=>{this.attr("cursor","pointer")})):this.on("pointerdown",o.onDragStart("track"))}),t=>t.call(a),t=>t.remove()),this.updateSelectionArea(!1),this.renderHandles()}render(t,e){this.renderTrack(e),this.renderSparkline(e),this.renderBrushArea(e),this.renderSelection(e)}clampValues(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;const[n,i]=this.range,[s,r]=this.getValues().map(t=>fe(t,e)),a=Array.isArray(t)?t:[s,t??r];let[o,l]=(a||[s,r]).map(t=>fe(t,e));if("value"===this.attributes.type)return[0,Ht(l,n,i)];o>l&&([o,l]=[l,o]);const c=l-o;return c>i-n?[n,i]:oi?r===i&&s===o?[o,i]:[i-c,i]:[o,l]}calcSelectionArea(t){const[e,n]=this.clampValues(t),{x:i,y:s,width:r,height:a}=this.availableSpace;return this.getOrientVal([[{y:s,height:a,x:i,width:e*r},{y:s,height:a,x:e*r+i,width:(n-e)*r},{y:s,height:a,x:n*r,width:(1-n)*r}],[{x:i,width:r,y:s,height:e*a},{x:i,width:r,y:e*a+s,height:(n-e)*a},{x:i,width:r,y:n*a,height:(1-n)*a}]])}calcHandlePosition(t){const{handleIconOffset:e}=this.attributes,{x:n,y:i,width:s,height:r}=this.availableSpace,[a,o]=this.clampValues(),l="start"===t?-e:e,c=("start"===t?a:o)*this.getOrientVal([s,r])+l;return{x:n+this.getOrientVal([c,s/2]),y:i+this.getOrientVal([r/2,c])}}inferTextStyle(t){const{orientation:e}=this.attributes;return"horizontal"===e?{}:"start"===t?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:"end"===t?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}}calcHandleText(t){const{type:e,orientation:n,formatter:i,autoFitLabel:s}=this.attributes,r=C(this.attributes,"handle"),a=C(r,"label"),{spacing:o}=r,l=this.getHandleSize(),c=this.clampValues(),h=i("start"===t?c[0]:c[1]),u=new x({style:{...a,...this.inferTextStyle(t),text:h}}),{width:d,height:p}=u.getBBox();if(u.destroy(),!s){if("value"===e)return{text:h,x:0,y:-p-o};const i=o+l+("horizontal"===n?d/2:0);return{text:h,["horizontal"===n?"x":"y"]:"start"===t?-i:i}}let g=0,f=0;const{width:m,height:y}=this.availableSpace,{x:b,y:v,width:w,height:k}=this.calcSelectionArea()[1],S=o+l;if("horizontal"===n){const e=S+d/2;g="start"===t?b-S-d>0?-e:e:m-b-w-S>d?e:-e}else{const e=p+S;f="start"===t?v-l>p?-e:S:y-(v+k)-l>p?e:-S}return{x:g,y:f,text:h}}getHandleLabelStyle(t){return{...C(this.attributes,"handleLabel"),...this.calcHandleText(t),...this.inferTextStyle(t)}}getHandleIconStyle(){const{handleIconShape:t}=this.attributes,e=C(this.attributes,"handleIcon");return{cursor:this.getOrientVal(["ew-resize","ns-resize"]),shape:t,size:this.getHandleSize(),...e}}getHandleStyle(t){const{x:e,y:n,showLabel:i,showLabelOnInteraction:s,orientation:r}=this.attributes,{x:a,y:o}=this.calcHandlePosition(t),l=this.calcHandleText(t);let c=i;return!i&&s&&(c=!!this.target),{...M(this.getHandleIconStyle(),"icon"),...M({...this.getHandleLabelStyle(t),...l},"label"),transform:`translate(${a+e}, ${o+n})`,orientation:r,showLabel:c,type:t,zIndex:3}}getHandleSize(){const{handleIconSize:t,width:e,height:n}=this.attributes;return t||Math.floor((this.getOrientVal([+n,+e])+4)/2.4)}getOrientVal(t){let[e,n]=t;const{orientation:i}=this.attributes;return"horizontal"===i?e:n}setValuesOffset(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const{type:n}=this.attributes,[i,s]=this.getValues(),r=[i+("range"===n?t:0),s+e].sort();this.innerSetValues(r,!0)}getRatio(t){const{width:e,height:n}=this.availableSpace;return t/this.getOrientVal([e,n])}dispatchCustomEvent(t,n,i){t.on(n,t=>{t.stopPropagation(),this.dispatchEvent(new e.CustomEvent(i,{detail:t}))})}bindEvents(){this.addEventListener("wheel",this.onScroll);const t=this.brushArea;this.dispatchCustomEvent(t,"click","trackClick"),this.dispatchCustomEvent(t,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(t,"pointerleave","trackMouseleave"),t.on("pointerdown",this.onDragStart("track"))}onScroll(t){const{scrollable:e}=this.attributes;if(e){const{deltaX:e,deltaY:n}=t,i=n||e,s=this.getRatio(i);this.setValuesOffset(s,s)}}onDragStart=t=>e=>{e.stopPropagation(),this.target=t,this.prevPos=this.getOrientVal(Ae(e));const{x:n,y:i}=this.availableSpace,{x:s,y:r}=this.getBBox();this.selectionStartPos=this.getRatio(this.prevPos-this.getOrientVal([n,i])-this.getOrientVal([+s,+r])),this.selectionWidth=0,document.addEventListener("pointermove",this.onDragging),document.addEventListener("pointerup",this.onDragEnd)};onDragging=t=>{const{slidable:e,brushable:n,type:i}=this.attributes;t.stopPropagation();const s=this.getOrientVal(Ae(t)),r=s-this.prevPos;if(!r)return;const a=this.getRatio(r);switch(this.target){case"start":e&&this.setValuesOffset(a);break;case"end":e&&this.setValuesOffset(0,a);break;case"selection":e&&this.setValuesOffset(a,a);break;case"track":if(!n)return;this.selectionWidth+=a,"range"===i?this.innerSetValues([this.selectionStartPos,this.selectionStartPos+this.selectionWidth].sort(),!0):this.innerSetValues([0,this.selectionStartPos+this.selectionWidth],!0)}this.prevPos=s};onDragEnd=()=>{document.removeEventListener("pointermove",this.onDragging),document.removeEventListener("pointermove",this.onDragging),document.removeEventListener("pointerup",this.onDragEnd),this.target="",this.updateHandlesPosition(!1)};onValueChange=t=>{const{onChange:n,type:i}=this.attributes,s="range"===i?t:t[1],r="range"===i?this.getValues():this.getValues()[1],a=new e.CustomEvent("valuechange",{detail:{oldValue:s,value:r}});this.dispatchEvent(a),n?.(r)}}class Oe extends b{static tag="scrollbar";slider;range=[0,1];get padding(){const{padding:t}=this.attributes;return P(t)}constructor(t){super(t,{x:0,y:0,isRound:!0,orientation:"vertical",padding:[2,2,2,2],scrollable:!0,slidable:!0,thumbCursor:"default",trackSize:10,value:0})}get value(){const{value:t}=this.attributes,[e,n]=this.range;return Ht(t,e,n)}get trackLength(){const{viewportLength:t,trackLength:e=t}=this.attributes;return e}get availableSpace(){const{trackSize:t}=this.attributes,e=this.trackLength,[n,i,s,r]=this.padding,[a,o]=this.getOrientVal([[e,t],[t,e]]);return{x:r,y:n,width:+a-(r+i),height:+o-(n+s)}}get trackRadius(){const{isRound:t,trackSize:e}=this.attributes;return t?e/2:0}get thumbRadius(){const{isRound:t,thumbRadius:e}=this.attributes;if(!t)return 0;const{width:n,height:i}=this.availableSpace;return e||this.getOrientVal([i,n])/2}getValues(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.value;const{viewportLength:e,contentLength:n}=this.attributes,i=e/n,[s,r]=this.range,a=t*(r-s-i);return[a,a+i]}getValue(){return this.value}renderSlider(t){const{x:e,y:n,orientation:i,trackSize:s,padding:r,slidable:a}=this.attributes,o=C(this.attributes,"track"),l=C(this.attributes,"thumb"),c={x:e,y:n,brushable:!1,orientation:i,padding:r,selectionRadius:this.thumbRadius,showHandle:!1,slidable:a,trackLength:this.trackLength,trackRadius:this.trackRadius,trackSize:s,values:this.getValues(),...M(o,"track"),...M(l,"selection")};this.slider=$(t).maybeAppendByClassName("scrollbar",()=>new Te({style:c})).update(c).node()}render(t,e){this.renderSlider(e)}setValue(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{value:n}=this.attributes,[i,s]=this.range;this.slider.setValues(this.getValues(Ht(t,i,s)),e),this.onValueChange(n)}onValueChange=t=>{const{value:n}=this.attributes;if(t===n)return;const i={detail:{oldValue:t,value:n}};this.dispatchEvent(new e.CustomEvent("scroll",i)),this.dispatchEvent(new e.CustomEvent("valuechange",i))};bindEvents(){this.slider.addEventListener("trackClick",t=>{t.stopPropagation(),this.onTrackClick(t.detail)}),this.onHover()}getOrientVal(t){const{orientation:e}=this.attributes;return"horizontal"===e?t[0]:t[1]}onTrackClick=t=>{const{slidable:e}=this.attributes;if(!e)return;const[n,i]=this.getLocalPosition(),[s,,,r]=this.padding,a=this.getOrientVal([n+r,i+s]),o=(this.getOrientVal(Se(t))-a)/this.trackLength;this.setValue(o,!0)};onHover(){this.slider.addEventListener("selectionMouseenter",this.onThumbMouseenter),this.slider.addEventListener("trackMouseenter",this.onTrackMouseenter),this.slider.addEventListener("selectionMouseleave",this.onThumbMouseleave),this.slider.addEventListener("trackMouseleave",this.onTrackMouseleave)}onThumbMouseenter=t=>{this.dispatchEvent(new e.CustomEvent("thumbMouseenter",{detail:t.detail}))};onTrackMouseenter=t=>{this.dispatchEvent(new e.CustomEvent("trackMouseenter",{detail:t.detail}))};onThumbMouseleave=t=>{this.dispatchEvent(new e.CustomEvent("thumbMouseleave",{detail:t.detail}))};onTrackMouseleave=t=>{this.dispatchEvent(new e.CustomEvent("trackMouseleave",{detail:t.detail}))}}function ze(t,e){if(t.length<=e)return t;const n=Math.floor(t.length/e),i=[];for(let e=0;enew e.Path({style:{d:[["M",10,10],["L",-10,0],["L",10,-10],["L",0,0],["L",10,10],["Z"]],fill:"black",transformOrigin:"center"}}),labelAlign:"parallel",labelDirection:"positive",labelFontSize:12,labelSpacing:0,gridConnect:"line",gridControlAngles:[],gridDirection:"positive",gridLength:0,gridType:"segment",lineArrowOffset:15,lineArrowSize:10,tickDirection:"positive",tickLength:5,tickLineWidth:1,tickStroke:"black",labelOverlap:[]},Je=(K({},Xe,{style:{type:"arc"}}),K({},Xe,{style:{}}),Le({mainGroup:Ie,gridGroup:_e,grid:Ve,lineGroup:Fe,line:De,tickGroup:Ge,tick:Ye,tickItem:qe,labelGroup:He,label:Ke,labelItem:Ze,titleGroup:We,title:Ue,lineFirst:Re,lineSecond:je},"axis"));function Qe(t){return t*Math.PI/180}function tn(t){return Number((180*t/Math.PI).toPrecision(5))}function en(t,e){return O(t)?t(...e):t}function nn(t,e){return t.style.opacity||(t.style.opacity=1),ge(t,{opacity:0},e)}const sn=["$el","cx","cy","d","dx","dy","fill","fillOpacity","filter","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","height","img","increasedLineWidthForHitTesting","innerHTML","isBillboard","billboardRotation","isSizeAttenuation","isClosed","isOverflowing","leading","letterSpacing","lineDash","lineHeight","lineWidth","markerEnd","markerEndOffset","markerMid","markerStart","markerStartOffset","maxLines","metrics","miterLimit","offsetX","offsetY","opacity","path","points","r","radius","rx","ry","shadowColor","src","stroke","strokeOpacity","text","textAlign","textBaseline","textDecorationColor","textDecorationLine","textDecorationStyle","textOverflow","textPath","textPathSide","textPathStartOffset","transform","transformOrigin","visibility","width","wordWrap","wordWrapWidth","x","x1","x2","y","y1","y2","z1","z2","zIndex"];function rn(t){return sn.includes(t)}function an(t){const e={};for(const n in t)rn(n)&&(e[n]=t[n]);return e}const on=Le({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function ln(t){return t.reduce((t,e,n)=>(t.push([0===n?"M":"L",...e]),t),[])}function cn(t,e,n){return"surround"===e.type?function(t,e,n){const{connect:i="line",center:s}=e;if("line"===i)return ln(t);if(!s)return[];const r=Zt(t[0],s),a=n?0:1;return t.reduce((t,e,n)=>(0===n?t.push(["M",...e]):t.push(["A",r,r,0,0,a,...e]),t),[])}(t,e,n):ln(t)}function hn(t,e,n){const{type:i,connect:s,center:r,closed:a}=n,o=a?[["Z"]]:[],[l,c]=[cn(t,n),cn(e.slice().reverse(),n,!0)],[h,u]=[t[0],e.slice(-1)[0]],d=(t,e)=>[l,t,c,e,o].flat();if("line"===s||"surround"===i)return d([["L",...u]],[["L",...h]]);if(!r)throw new Error("Arc grid need to specified center");const[p,g]=[Zt(u,r),Zt(h,r)];return d([["A",p,p,0,0,1,...u],["L",...u]],[["A",g,g,0,0,0,...h],["L",...h]])}class un extends b{render(t,e){const{type:n,center:i,areaFill:s,closed:r,...a}=t,o=function(t){const{data:e=[],closed:n}=t;return n?e.map(t=>{const{points:e}=t,[n]=e;return{...t,points:[...e,n]}}):e}(t),l=$(e).maybeAppendByClassName(on.lineGroup,"g"),c=$(e).maybeAppendByClassName(on.regionGroup,"g"),h=function(t,e,n,i){const{animate:s,isBillboard:r}=n,a=e.map((t,e)=>({id:t.id||`grid-line-${e}`,d:cn(t.points,n)}));return t.selectAll(on.line.class).data(a,t=>t.id).join(t=>t.append("path").each(function(t,e){const n=en(an({d:t.d,...i}),[t,e,a]);this.attr({class:on.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:r,...n})}),t=>t.transition(function(t,e){return ge(this,en(an({d:t.d,...i}),[t,e,a]),s.update)}),t=>t.transition(function(){const t=nn(this,s.exit);return ue(t,()=>this.remove()),t})).transitions()}(l,o,t,a),u=function(t,e,n){const{animate:i,connect:s,areaFill:r}=n;if(e.length<2||!r||!s)return[];const a=Array.isArray(r)?r:[r,"transparent"],o=t=>a[t%a.length],l=[];for(let t=0;te).join(t=>t.append("path").each(function(t,e){const n=en(t,[t,e,l]);this.attr(n)}).attr("className",on.region.name),t=>t.transition(function(t,e){return ge(this,en(t,[t,e,l]),i.update)}),t=>t.transition(function(){const t=nn(this,i.exit);return ue(t,()=>this.remove()),t})).transitions()}(c,o,t);return[...h,...u]}}const dn=function(t,e,n){for(var i=0,s=V(e)?e.split("."):e;t&&i0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={},i={};return Object.entries(e).forEach(e=>{let[s,r]=e;s in t?n[s]=mn(t[s],r):i[s]=r}),function(t){return Object.entries(n).forEach(e=>{let[n,s]=e;return i[n]=s(t)}),i}}function mn(t,e){return"number"==typeof t&&"number"==typeof e?pn(t,e):Array.isArray(t)&&Array.isArray(e)?gn(t,e):"object"==typeof t&&"object"==typeof e?fn(t,e):e=>t}function yn(t,e,n,i){if(!i)return t.attr("__keyframe_data__",n),null;const{duration:s=0}=i,r=mn(e,n),a=Math.ceil(+s/16),o=new Array(a).fill(0).map((t,e,n)=>({__keyframe_data__:r(e/(n.length-1))}));return t.animate(o,{fill:"both",...i})}function bn(t){return"function"==typeof t?t():V(t)||E(t)?new x({style:{text:String(t)}}):t}function xn(t,n){return"function"==typeof t?t():V(t)||E(t)?new e.HTML({style:{pointerEvents:"auto",...n,innerHTML:t}}):t}function vn(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{width:i,height:s}=t.getBBox(),r=e/Math.max(i,s);return n&&(t.style.transform=`scale(${r})`),r}function wn(t,e){const n={},i=Array.isArray(e)?e:[e];for(const e in t)i.includes(e)||(n[e]=t[e]);return n}function kn(t,e){return Object.fromEntries(Object.entries(t).map(t=>{let[n,i]=t;return[n,en(i,e)]}))}function Sn(t,e){return e&&O(e)?t.filter(e):t}function An(t,e){const{startAngle:n,endAngle:i}=e;return(i-n)*t+n}function Ln(t,e){if("linear"===e.type){const{startPos:[t,n],endPos:[i,s]}=e,[r,a]=[i-t,s-n];return Ut([r,a])}const n=Qe(An(t,e));return[-Math.sin(n),Math.cos(n)]}function Cn(t,e,n){return Jt(Ln(t,n),"positive"!==e)}function Mn(t,e){return Cn(t,e.labelDirection,e)}function Bn(t,e,n){return n?`${t} ${n}axis-${e}`:t}function En(t,e,n,i){return i&&t.attr("className",Bn(e.name,n,i)),t}function Pn(t,e){return"linear"===e.type?function(t,e){const{startPos:[n,i],endPos:[s,r]}=e,[a,o]=[s-n,r-i];return[n+a*t,i+o*t]}(t,e):function(t,e){const{radius:n,center:[i,s]}=e,r=Qe(An(t,e));return[i+n*Math.cos(r),s+n*Math.sin(r)]}(t,e)}function Nn(t){return 0===Ln(0,t)[1]}function $n(t){return 0===Ln(0,t)[0]}function Tn(t,e){return e-t===360}function On(t,e,n,i,s){const r=e-t,[a,o]=[s,s],[l,c]=[Qe(t),Qe(e)],h=t=>[n+s*Math.cos(t),i+s*Math.sin(t)],[u,d]=h(l),[p,g]=h(c);if(Tn(t,e)){const t=(c+l)/2,[e,n]=h(t);return[["M",u,d],["A",a,o,0,1,0,e,n],["A",a,o,0,1,0,p,g]]}return`M${u},${d},A${a},${o},0,${r>180?1:0},${t>e?0:1},${p},${g}`}function zn(t){const[[e,n],[i,s]]=t;return{x1:e,y1:n,x2:i,y2:s}}function _n(t,e,n){const{type:i}=e;let s;const r=C(e,"line");return s="linear"===i?function(t,e,n,i){const{showTrunc:s,startPos:r,endPos:a,truncRange:o,lineExtension:l,classNamePrefix:c}=e,[[h,u],[d,p]]=[r,a],[g,f,m,y]=l?function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0];const[[i,s],[r,a],[o,l]]=[t,e,n],[c,h]=[r-i,a-s],u=Math.sqrt(c**2+h**2),[d,p]=[-o/u,l/u];return[d*c,d*h,p*c,p*h]}(r,a,l):new Array(4).fill(0),b=e=>t.selectAll(Je.line.class).data(e,(t,e)=>e).join(t=>{const e=t.append("line").styles(n).transition(function(t){return ge(this,zn(t.line),!1)});return e.attr("className",t=>{if(!c)return`${Je.line.name} ${t.className}`;const e=Bn(Je.line.name,De,c);return t.className===Je.lineFirst.name?`${e} ${Bn(Je.lineFirst.name,Re,c)}`:t.className===Je.lineSecond.name?`${e} ${Bn(Je.lineSecond.name,je,c)}`:e}),e},t=>t.styles(n).transition(function(t){let{line:e}=t;return ge(this,zn(e),i.update)}),t=>t.remove()).transitions();if(!s||!o)return b([{line:[[h+g,u+f],[d+m,p+y]],className:Je.line.name}]);const[x,v]=o,w=d-h,k=p-u,[S,A]=[h+w*x,u+k*x],[L,C]=[h+w*v,u+k*v],M=b([{line:[[h+g,u+f],[S,A]],className:Je.lineFirst.name},{line:[[L,C],[d+m,p+y]],className:Je.lineSecond.name}]);return function(t,e){let{truncRange:n,truncShape:i,lineExtension:s}=e}(0,e),M}(t,e,wn(r,"arrow"),n):function(t,e,n,i){const{startAngle:s,endAngle:r,center:a,radius:o,classNamePrefix:l}=e;return t.selectAll(Je.line.class).data([{d:On(s,r,...a,o)}],(t,e)=>e).join(t=>{const n=t.append("path").attr("className",Je.line.name).styles(e).styles({d:t=>t.d});return En(n,Je.line,De,l),n},t=>t.transition(function(){const t=yn(this,function(t){const{startAngle:e,endAngle:n,center:i,radius:s}=t.attributes;return[e,n,...i,s]}(this),[s,r,...a,o],i.update);if(t){const e=()=>{const t=dn(this.attributes,"__keyframe_data__");this.style.d=On(...t)};t.onframe=e,t.onfinish=e}return t}).styles(e),t=>t.remove()).styles(n).transitions()}(t,e,wn(r,"arrow"),n),function(t,e,n,i){const{showArrow:s,showTrunc:r,lineArrow:a,lineArrowOffset:o,lineArrowSize:l}=n;let c;if(c="arc"===e?t.select(Je.line.class):r?t.select(Je.lineSecond.class):t.select(Je.line.class),!s||!a||"arc"===n.type&&Tn(n.startAngle,n.endAngle)){const t=c.node();return void(t&&(t.style.markerEnd=void 0))}const h=bn(a);h.attr(i),vn(h,l,!0),c.style("markerEnd",h).style("markerEndOffset",-o)}(t,i,e,r),s}function In(t){const{type:e,gridCenter:n}=t;return"linear"===e?n:n||t.center}function Fn(t,e,n,i){const{classNamePrefix:s}=n,r=C(n,"grid"),{type:a,areaFill:o}=r,l=In(n),c=Sn(e,n.gridFilter),h="segment"===a?function(t,e){const{gridLength:n}=e;return t.map((t,i)=>{let{value:s}=t;const[r,a]=Pn(s,e),[o,l]=Rt(function(t,e){return Cn(t,e.gridDirection,e)}(s,e),n);return{id:i,points:[[r,a],[r+o,a+l]]}})}(c,n):function(t,e){const n=e.gridControlAngles,i=In(e);if(!i)throw new Error("grid center is not provide");if(t.length<2)throw new Error("Invalid grid data");if(!n||0===n.length)throw new Error("Invalid gridControlAngles");const[s,r]=i;return t.map((t,i)=>{let{value:a}=t;const[o,l]=Pn(a,e),[c,h]=[o-s,l-r],u=[];return n.forEach(t=>{const e=Qe(t),[n,i]=[Math.cos(e),Math.sin(e)],a=c*n-h*i+s,o=c*i+h*n+r;u.push([a,o])}),{points:u,id:i}})}(c,n),u={...r,center:l,areaFill:O(o)?c.map((t,e)=>en(o,[t,e,c])):o,animate:i,data:h};return t.selectAll(Je.grid.class).data([1]).join(t=>{const e=t.append(()=>new un({style:u})).attr("className",Je.grid.name);return En(e,Je.grid,Ve,s),e},t=>t.transition(function(){return this.update(u)}),t=>t.remove()).transitions()}function Gn(t,e,n){return!((arguments.length>3&&void 0!==arguments[3]&&!arguments[3]||t!==e)&&!(arguments.length>4&&void 0!==arguments[4]&&arguments[4]&&t===n))||t>e&&t{const e=(new DOMParser).parseFromString(t,"text/html").body.firstElementChild;if(console.log(e?.getClientRects(),11),!e)return 0;const n=e.getAttribute("style")||"",i=Object.fromEntries(n.split(";").map(t=>t.trim()).filter(t=>t.includes(":")).map(t=>{const[e,n]=t.split(":").map(t=>t.trim());return[e.toLowerCase(),n]})),s=t=>{if(!t)return 0;const e=t.match(/([\d.]+)px/);return e?parseFloat(e[1]):0};if(i.height)return s(i.height);const r=s(i["font-size"])||16,a=i["line-height"];let o;o=a&&"normal"!==a?a.endsWith("px")?s(a):/^[\d.]+$/.test(a)?parseFloat(a)*r:r:1.2*r;let l=s(i["padding-top"]),c=s(i["padding-bottom"]);if(i.padding){const t=i.padding.split(/\s+/).map(s);1===t.length||2===t.length?(l=t[0],c=t[0]):(3===t.length||4===t.length)&&(l=t[0],c=t[2])}let h=s(i["border-top-width"]),u=s(i["border-bottom-width"]);if(i.border){const t=i.border.match(/([\d.]+)px/);t&&(h=parseFloat(t[1]),u=parseFloat(t[1]))}if(i["border-width"]){const t=i["border-width"].split(/\s+/).map(s);1===t.length||2===t.length?(h=t[0],u=t[0]):(3===t.length||4===t.length)&&(h=t[0],u=t[2])}return o+l+c+h+u};var Wn=new Map;let Vn,Dn;function Rn(t){Dn=t}const jn=(Yn=(t,n)=>{const{fontSize:i,fontFamily:s,fontWeight:r,fontStyle:a,fontVariant:o}=n;return Dn?Dn(t,i):(Vn||(Vn=e.runtime.offscreenCanvasCreator.getOrCreateContext(void 0)),Vn.font=[a,o,r,`${i}px`,s].join(" "),Vn.measureText(t).width)},qn=(t,e)=>[t,Object.values(e||Zn(t)).join()].join(""),void 0===(Kn=4096)&&(Kn=128),function(){for(var t=[],e=0;es&&(i=n,a(1),++e),n[t]=r}function a(t){e=0,n=Object.create(null),t||(i=Object.create(null))}return a(),{clear:a,has:function(t){return void 0!==n[t]||void 0!==i[t]},get:function(t){var e=n[t];return void 0!==e?e:void 0!==(e=i[t])?(r(t,e),e):void 0},set:function(t,e){void 0!==n[t]?n[t]=e:r(t,e)}}}(Kn));var i=Wn.get(Yn);if(i.has(n))return i.get(n);var s=Yn.apply(this,t);return i.set(n,s),s});var Yn,qn,Kn;const Zn=t=>{const e=t.style.fontFamily||"sans-serif",n=t.style.fontWeight||"normal",i=t.style.fontStyle||"normal",s=t.style.fontVariant;let r=t.style.fontSize;return r="object"==typeof r?r.value:r,{fontSize:r,fontFamily:e,fontWeight:n,fontStyle:i,fontVariant:s}};function Un(t){return"text"===t.nodeName?t:"g"===t.nodeName&&1===t.children.length&&"text"===t.children[0].nodeName?t.children[0]:null}function Xn(t,e){const n=Un(t);n&&n.attr(e)}function Jn(t,e){Xn(t,{wordWrap:!0,wordWrapWidth:e,maxLines:1,textOverflow:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"..."})}function Qn(t,e){Xn(t,{wordWrap:!0,wordWrapWidth:e,maxLines:arguments.length>2&&void 0!==arguments[2]?arguments[2]:2,textBaseline:arguments.length>3&&void 0!==arguments[3]?arguments[3]:"top"})}function ti(t,e,n){const{width:i,height:s}=t.getBBox(),[r,a]=[e,n].map((t,e)=>t.includes("%")?parseFloat(t.match(/[+-]?([0-9]*[.])?[0-9]+/)?.[0]||"0")/100*(0===e?i:s):t);return[r,a]}function ei(t,e){if(e)try{const n=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,i=e.replace(n,(e,n,i)=>`translate(${ti(t,n,i)})`);t.attr("transform",i)}catch(t){}}class ni{x1;y1;x2;y2;constructor(t,e,n,i){this.set(t,e,n,i)}get left(){return this.x1}get top(){return this.y1}get right(){return this.x2}get bottom(){return this.y2}get width(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0}get height(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0}rotatedPoints(t,e,n){const{x1:i,y1:s,x2:r,y2:a}=this,o=Math.cos(t),l=Math.sin(t),c=e-e*o+n*l,h=n-e*l-n*o;return[[o*i-l*a+c,l*i+o*a+h],[o*r-l*a+c,l*r+o*a+h],[o*i-l*s+c,l*i+o*s+h],[o*r-l*s+c,l*r+o*s+h]]}set(t,e,n,i){return nfunction(t,e){const[n,i,s,r]=t,[a,o,l,c]=e,h=s-n,u=r-i,d=l-a,p=c-o,g=h*p-d*u;if(0===g)return!1;const f=g>0,m=n-a,y=i-o,b=h*y-u*m;if(b<0===f)return!1;const x=d*y-p*m;return x<0!==f&&b>g!==f&&x>g!==f}(e,t))}function li(t,e,n){const{crossPadding:i}=e,s=new Set;let r=null;const a=function(t,e){const{type:n,labelDirection:i,crossSize:s}=t;if(!s)return!1;if("arc"===n){const{center:n,radius:r}=t,[a,o]=n,l="negative"===i?0:s,c=-r-l,h=r+l,[u,d,p,g]=P(e);return new ni(a+c-g,o+c-u,a+h+d,o+h+p)}const{startPos:[r,a],endPos:[o,l]}=t,[c,h,u,d]=$n(t)?[-e,0,e,0]:[0,e,0,-e],p=Rt(Mn(0,t),s),g=new ni(r,a,o,l);return g.x1+=d,g.y1+=c,g.x2+=h+p[0],g.y2+=u+p[1],g}(e,i),o=t=>!a||function(t,e){const{x1:n,x2:i,y1:s,y2:r}=t;return a=[[n,s],[i,s],[i,r],[n,r]],ii(e,void 0).every(t=>function(t,e){const n=t.length;if(n<3)return!1;const i=[e,[9999,e[1]]];let s=0,r=0;do{const a=[t[r],t[(r+1)%n]];if(ai(a,i)){if(0===ri(a[0],e,a[1]))return si(a,e);s++}r=(r+1)%n}while(0!==r);return!!(1&s)}(a,t));var a}(a,t),l=(t,e)=>!t||!t.firstChild||!function(t,e,n){const i=ii(t,n).flat(1),s=ii(e,n).flat(1),r=[[i[0],i[1],i[2],i[3]],[i[0],i[1],i[4],i[5]],[i[4],i[5],i[6],i[7]],[i[2],i[3],i[6],i[7]]];for(const t of r)if(oi(s,t))return!0;return!1}(t.firstChild,e.firstChild,P(n));for(const e of t)o(e)?!r||l(r,e)?r=e:(s.add(r),s.add(e)):s.add(e);return Array.from(s)}function ci(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t(e)?0:"number"==typeof e?e:Math.floor(jn(e,n))}const hi=t=>void 0!==t&&null!=t&&!Number.isNaN(t);function ui(t){const e=t&&t.getRenderBounds();if(!e)return{width:0,height:0};const n=e.getMax(),i=e.getMin();return{width:n[0]-i[0],height:n[1]-i[1]}}function di(t){const{min:e,max:n}=t.getLocalBounds(),[[i,s],[r,a]]=[e,n];return{x:i,y:s,width:r-i,height:a-s,left:i,bottom:a,top:s,right:r}}function pi(t,e){const n=$(t).append("text").node();return n.attr({...e,visibility:"hidden"}),n}function gi(t,e){const[n,i]=t,[s,r]=e;return n!==s&&i===r}function fi(t,e){const[n,i]=t,[s,r]=e;return n===s&&i!==r}function mi(t,e){const{attributes:n}=e;for(const[e,i]of Object.entries(n))"id"!==e&&"className"!==e&&t.attr(e,i)}const yi=(t,e)=>{let{seq:n=2}=e;return t.filter((t,e)=>!(e%n&&(a(t),1)))},bi=t=>t.filter(hi),xi=new Map([["hide",function(t,e,n,i){const s=t.length,{keepHeader:r,keepTail:a}=e;if(s<=1||2===s&&r&&a)return;const o=yi,l=t=>(t.forEach(i.show),t);let c=2;const h=t.slice();let u=t.slice();const d=Math.min(1,...t.map(t=>t.getBBox().width));if("linear"===n.type&&(Nn(n)||$n(n))){const e=di(t[0]).left,n=di(t[s-1]).right,i=Math.abs(n-e)||1;c=Math.max(Math.floor(s*d/i),c)}let p,g;for(r&&(p=h.splice(0,1)[0]),a&&(g=h.splice(-1,1)[0],h.reverse()),l(h);ct.getLocalEulerAngles()),l=()=>li(t,n,r).length<1,c=e=>t.forEach((t,n)=>{const s=Array.isArray(e)?e[n]:e;i.rotate(t,+s)});for(const t of s)if(c(t),l())return;a&&c(o)}],["ellipsis",function(e,n,i,s){if(e.length<=0)return;const{suffix:r="...",minLength:a,maxLength:o=1/0,step:l=" ",margin:c=[0,0,0,0]}=n,h=Zn(s.getTextShape(e[0])),u=ci(l,h),d=a?ci(a,h):u;let p=ci(o,h);(t(p)||p===1/0)&&(p=Math.max.apply(null,e.map(t=>t.getBBox().width)));let g=e.slice();const[f=0,m=0,y=f,b=m]=c;for(let t=p;t>d+u;t-=u)if(g.forEach(e=>{s.ellipsis(s.getTextShape(e),t,r)}),g=li(e,i,c),g.length<1)return}],["wrap",function(t,e,n,i,s){const{maxLines:r=3,recoverWhenFailed:a=!0,margin:o=[0,0,0,0]}=e,l=en(e.wordWrapWidth??50,[s]),c=t.map(t=>t.attr("maxLines")||1),h=Math.min(...c),u=()=>li(t,n,o).length<1,d=function(t){const{type:e,labelDirection:n}=t;return"linear"===e&&Nn(t)?"negative"===n?"bottom":"top":"middle"}(n),p=e=>t.forEach((t,n)=>{const s=Array.isArray(e)?e[n]:e;i.wrap(t,l,s,d)});if(!(h>r)){if("linear"===n.type&&Nn(n)){if(p(r),u())return}else for(let t=h;t<=r;t++)if(p(t),u())return;a&&p(c)}}]]);function vi(){for(var t=arguments.length,e=new Array(t),n=0;nt*("positive"===e?-1:1),1)}function wi(t){let e=t;for(;e<0;)e+=360;return Math.round(e%360)}function ki(t,e){const[n,i]=t,[s,r]=e,[a,o]=[n*s+i*r,n*r-i*s];return Math.atan2(o,a)}function Si(t,e,n){const{type:i,labelAlign:s}=n,r=Mn(t,n),a=wi(e),o=wi(tn(ki([1,0],r)));let l="center",c="middle";return"linear"===i?[90,270].includes(o)&&0===a?(l="center",c=1===r[1]?"top":"bottom"):o%180||![90,270].includes(a)?0===o?(Gn(a,0,90,!1,!0)||Gn(a,0,90)||Gn(a,270,360))&&(l="start"):90===o?Gn(a,0,90,!1,!0)?l="start":(Gn(a,90,180)||Gn(a,270,360))&&(l="end"):270===o?Gn(a,0,90,!1,!0)?l="end":(Gn(a,90,180)||Gn(a,270,360))&&(l="start"):180===o&&(90===a?l="start":(Gn(a,0,90)||Gn(a,270,360))&&(l="end")):l="center":"parallel"===s?c=Gn(o,0,180,!0)?"top":"bottom":"horizontal"===s?Gn(o,90,270,!1)?l="end":(Gn(o,270,360,!1)||Gn(o,0,90))&&(l="start"):"perpendicular"===s&&(l=Gn(o,90,270)?"end":"start"),{textAlign:l,textBaseline:c}}function Ai(t,e,n){const{showTick:i,tickLength:s,tickDirection:r,labelDirection:a,labelSpacing:o}=n,l=e.indexOf(t),c=en(o,[t,l,e]),[h,u]=[Mn(t.value,n),vi(a,r)],d=1===u?en(i?s:0,[t,l,e]):0,[p,g]=jt(Rt(h,c+d),Pn(t.value,n));return{x:p,y:g}}const Li={html:["fill"],text:[]};function Ci(t,e){["text","html"].includes(t.nodeName)&&t.attr(wn(e,Li[t.nodeName]))}function Mi(t,e){!function(t,e,n,i){const{labelOverlap:s=[]}=e;s.length&&s.forEach(s=>{const{type:r}=s,a=xi.get(r);(function(t,e,n){return!(e.labelOverlap.length<1)&&("hide"===n?!h(t[0]):"rotate"===n?!t.some(t=>!!t.attr("transform")?.includes("rotate")):"ellipsis"!==n&&"wrap"!==n||t.filter(t=>t.querySelector("text")).length>=1)})(t,e,r)&&a?.(t,s,e,i,n)})}(this.node().childNodes,t,e,{hide:a,show:r,rotate:(e,n)=>{!function(t,e,n){e.setLocalEulerAngles(t);const{value:i}=e.__data__,s=Si(i,t,n),r=e.querySelector(Je.labelItem.class);r&&Ci(r,s)}(+n,e,t)},ellipsis:(t,e,n)=>{t&&Jn(t,e||1/0,n)},wrap:(t,e,n)=>{t&&Qn(t,e,n)},getTextShape:t=>t.querySelector(Je.labelItem.class)})}function Bi(t,e,n,i,s){const r=n.indexOf(e),{labelRender:a,classNamePrefix:o}=s,l=$(t).append(a?function(t,e,n,i){const{labelRender:s}=i,r=(dn(i,"endPos.0",400)-dn(i,"startPos.0",0))/n.length,a=O(s)?en(s,[t,e,n,Mn(t.value,i)]):t.label||"",o=Hn(a)||30;return()=>xn(a,{width:r,height:o})}(e,r,n,s):function(t,e,n,i){const{labelFormatter:s}=i;return O(s)?()=>bn(en(s,[t,e,n,Mn(t.value,i)])):()=>bn(t.label||"")}(e,r,n,s)).attr("className",Je.labelItem.name).node();En($(l),Je.labelItem,Ze,o);const[c,{transform:h,...u}]=B(kn(i,[e,r,n]));ei(l,h);const d=function(t,e,n){const{labelAlign:i}=n,s=e.style.transform?.includes("rotate");if(s)return e.getLocalEulerAngles();let r=0;const a=Mn(t.value,n),o=Ln(t.value,n);return"horizontal"===i?0:(r="perpendicular"===i?ki([1,0],a):ki([o[0]<0?-1:1,0],o),function(t){let e=(t+360)%180;return Gn(e,-90,90)||(e+=180),e}(tn(r)))}(e,l,s);if(l.getLocalEulerAngles()||l.setLocalEulerAngles(d),Ci(l,{...Si(e.value,d,s),...c}),"html"===l.nodeName){const t=l.getBBox(),e=l.style.x||0;l.attr("x",e-t.width/2)}return t.attr(u),l}function Ei(t,e){return Cn(t,e.tickDirection,e)}function Pi(t,e,n,i,s,r){const a=function(t,e,n,i,s){const{tickFormatter:r,classNamePrefix:a}=s,o=Ei(e.value,s);let l="line";O(r)&&(l=()=>en(r,[e,n,i,o]));const c=t.append(l).attr("className",Je.tickItem.name);return En(c,Je.tickItem,qe,a),c}($(this),t,e,n,i);!function(t,e,n,i,s,r,a){const o=Ei(t.value,r),{x1:l,x2:c,y1:h,y2:u}=function(t,e,n,i,s){const{tickLength:r}=s,[[a,o],[l,c]]=function(t,e){const[n,i]=t;return[[0,0],[n*e,i*e]]}(i,en(r,[t,e,n]));return{x1:a,x2:l,y1:o,y2:c}}(t,e,n,o,r),[d,p]=B(kn(a,[t,e,n,o]));"line"===i.node().nodeName&&i.styles({x1:l,x2:c,y1:h,y2:u,...d}),s.attr(p),i.styles(d)}(t,e,n,a,this,i,s);const[o,l]=Pn(t.value,i);return ge(this,{transform:`translate(${o}, ${l})`},r)}function Ni(t){return/\S+-\S+/g.test(t)?t.split("-").map(t=>t[0]):t.length>2?[t[0]]:t.split("")}function $i(t,e,n,i,s){const r=C(i,"title"),[a,{transform:o,transformOrigin:l,...c}]=B(r);e.styles(c);const h=o||function(t,e,n){const{halfExtents:i}=t.getGeometryBounds(),s=2*i[1];if("vertical"===e){if("left"===n)return`rotate(-90) translate(0, ${s/2})`;if("right"===n)return`rotate(-90) translate(0, -${s/2})`}return""}(t.node(),a.direction,a.position);t.styles({...a,transformOrigin:l}),ei(t.node(),h);const{x:u,y:d}=function(t,e,n){const{titlePosition:i="lb",titleSpacing:s}=n,r=Ni(i),{min:[a,o],halfExtents:[l,c]}=t.node().getLocalBounds(),{halfExtents:[h,u]}=e.node().getLocalBounds();let[d,p]=[a+l,o+c];const[g,f,m,y]=P(s);if(["start","end"].includes(i)&&"linear"===n.type){const{startPos:t,endPos:e}=n,[s,r]="start"===i?[t,e]:[e,t],a=Ut([-r[0]+s[0],-r[1]+s[1]]),[o,l]=Rt(a,g);return{x:s[0]+o,y:s[1]+l}}return r.includes("t")&&(p-=c+u+g),r.includes("r")&&(d+=l+h+f),r.includes("l")&&(d-=l+h+y),r.includes("b")&&(p+=c+u+m),{x:d,y:p}}($(n._offscreen||n.querySelector(Je.mainGroup.class)),e,i);return ge(e.node(),{transform:`translate(${u}, ${d})`},s)}function Ti(t,e,n,i){const{showLine:s,showTick:o,showLabel:l,classNamePrefix:c}=t,h=e.maybeAppendByClassName(Je.lineGroup,"g");En(h,Je.lineGroup,Fe,c);const u=z(s,h,e=>_n(e,t,i))||[],d=e.maybeAppendByClassName(Je.tickGroup,"g");En(d,Je.tickGroup,Ge,c);const p=z(o,d,e=>function(t,e,n,i){const{classNamePrefix:s}=n,r=Sn(e,n.tickFilter),a=C(n,"tick");return t.selectAll(Je.tick.class).data(r,t=>t.id||t.label).join(t=>{const e=t.append("g").attr("className",Je.tick.name).transition(function(t,e){return Pi.call(this,t,e,r,n,a,!1)});return En(e,Je.tick,Ye,s),e},t=>t.transition(function(t,e){return this.removeChildren(),Pi.call(this,t,e,r,n,a,i.update)}),t=>t.transition(function(){const t=nn(this.childNodes[0],i.exit);return ue(t,()=>this.remove()),t})).transitions()}(e,n,t,i))||[],g=e.maybeAppendByClassName(Je.labelGroup,"g");En(g,Je.labelGroup,He,c);const f=z(l,g,s=>function(t,e,n,i,s){const{classNamePrefix:o}=n,l=Sn(e,n.labelFilter),c=C(n,"label");let h;const u=t.selectAll(Je.label.class).data(l,(t,e)=>e).join(t=>{const i=t.append("g").attr("className",Je.label.name).transition(function(t){Bi(this,t,e,c,n);const{x:i,y:s}=Ai(t,e,n);return this.style.transform=`translate(${i}, ${s})`,null});return En(i,Je.label,Ke,o),i},t=>t.transition(function(t){const s=function(t,e,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"destroy";if(function(t,e){return"text"===t.nodeName&&"text"===e.nodeName&&t.attributes.text===e.attributes.text}(t,e))return t.remove(),[null];const s=()=>{"destroy"===i?t.destroy():"hide"===i&&a(t),e.isVisible()&&r(e)};if(!n)return s(),[null];const{duration:o=0,delay:l=0}=n,c=Math.ceil(+o/2),h=+o/4,{center:[u,d]}=t.getGeometryBounds(),{center:[p,g]}=e.getGeometryBounds(),[f,m]=[(u+p)/2-u,(d+g)/2-d],{opacity:y=1}=t.style,{opacity:b=1}=e.style,x=t.style.transform||"",v=e.style.transform||"",w=t.animate([{opacity:y,transform:`translate(0, 0) ${x}`},{opacity:0,transform:`translate(${f}, ${m}) ${x}`}],{fill:"both",...n,duration:l+c+h}),k=e.animate([{opacity:0,transform:`translate(${-f}, ${-m}) ${v}`,offset:.01},{opacity:b,transform:`translate(0, 0) ${v}`}],{fill:"both",...n,duration:c+h,delay:l+c-h});return ue(k,s),[w,k]}(this.querySelector(Je.labelItem.class),Bi(this,t,e,c,n),i.update),{x:o,y:l}=Ai(t,e,n);return[...s,ge(this,{transform:`translate(${o}, ${l})`},i.update)]}),t=>(h=t,t.transition(function(){const t=nn(this.childNodes[0],i.exit);return ue(t,()=>$(this).remove()),t}),h)).transitions();var d,p;return p=()=>{Mi.call(t,n,s)},0===(d=u).length?p():Promise.all(d.map(t=>t?.finished)).then(p),u}(s,n,t,i,e.node()))||[];return[...u,...p,...f].filter(t=>!!t)}class Oi extends b{constructor(t){super(t,Xe)}render(t,e,n){const{titleText:i,data:s,animate:r,showTitle:a,showGrid:o,dataThreshold:l,truncRange:c,classNamePrefix:h}=t,u=e.className||"axis";h?e.attr("className",`${u} ${h}axis`):e.className||e.attr("className","axis");const d=ze(s,l).filter(t=>{let{value:e}=t;return!(c&&e>c[0]&&eFn(e,d,t,p))||[],m=$(e).maybeAppendByClassName(Je.mainGroup,"g");En(m,Je.mainGroup,Ie,h),i&&(!this.initialized&&p.enter||this.initialized&&p.update)&&Ti(t,$(this.offscreenGroup),d,he(!1));const y=Ti(t,$(m.node()),d,p),b=$(e).maybeAppendByClassName(Je.titleGroup,"g");En(b,Je.titleGroup,We,h);const x=z(a,b,e=>function(t,e,n,i){const{titleText:s,classNamePrefix:r}=n;return t.selectAll(Je.title.class).data([{title:s}].filter(t=>!!t.title),(t,e)=>t.title).join(a=>{const o=a.append(()=>bn(s)).attr("className",Je.title.name).transition(function(){return $i($(this),t,e,n,i.enter)});return En(o,Je.title,Ue,r),o},s=>s.transition(function(){return $i($(this),t,e,n,i.update)}),t=>t.remove()).transitions()}(e,this,t,p))||[];return[...f,...y,...x].flat().filter(t=>!!t)}}class zi{}class _i{x=0;y=0;width=0;height=0;get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this.x=t,this.y=e,this.width=n,this.height=i}static fromRect(t){return new _i(t.x,t.y,t.width,t.height)}toJSON(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}}isPointIn(t,e){return t>=this.left&&t<=this.right&&e>=this.top&&e<=this.bottom}}function Ii(t){const{min:[e,n],max:[i,s]}=t.getRenderBounds();return new _i(e,n,i-e,s-n)}const Fi={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:t=>t.toString(),labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},Gi=Le({background:"background",labelGroup:"label-group",label:"label"},"indicator");class Hi extends b{constructor(t){super(t,Fi),this.group=this.appendChild(new e.Group({})),this.isMutationObserved=!0}group;background;label;point=[0,0];renderBackground(){if(!this.label)return;const{position:t,padding:e}=this.attributes,[n,i,s,r]=P(e),{min:a,max:o}=this.label.node().getLocalBounds(),l=new _i(a[0]-r,a[1]-n,o[0]+i-a[0]+r,o[1]+s-a[1]+n),c=this.getPath(t,l),h=C(this.attributes,"background");this.background=$(this.group).maybeAppendByClassName(Gi.background,"path").styles({...h,d:c}),this.group.appendChild(this.label.node())}renderLabel(){const{formatter:t,labelText:e}=this.attributes,n=C(this.attributes,"label"),[{text:i,...s},r]=B(n);this.label=$(this.group).maybeAppendByClassName(Gi.labelGroup,"g").styles(r),e&&this.label.maybeAppendByClassName(Gi.label,()=>bn(t(e))).style("text",t(e).toString()).selectAll("text").styles(s)}adjustLayout(){const[t,e]=this.point,{x:n,y:i}=this.attributes;this.group.attr("transform",`translate(${n-t}, ${i-e})`)}getPath(t,e){const{radius:n}=this.attributes,{x:i,y:s,width:r,height:a}=e,o=[["M",i+n,s],["L",i+r-n,s],["A",n,n,0,0,1,i+r,s+n],["L",i+r,s+a-n],["A",n,n,0,0,1,i+r-n,s+a],["L",i+n,s+a],["A",n,n,0,0,1,i,s+a-n],["L",i,s+n],["A",n,n,0,0,1,i+n,s],["Z"]],l={top:4,right:6,bottom:0,left:2}[t],c=this.createCorner([o[l].slice(-2),o[l+1].slice(-2)]);return o.splice(l+1,1,...c),o[0][0]="M",o}createCorner(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;const n=gi(...t),[[i,s],[r,a]]=t,[o,[l,c]]=n?[r-i,[i,r]]:[a-s,[s,a]],h=o/2,u=e*(o/Math.abs(o)),d=u/2,p=u*Math.sqrt(3)/2*.8,[g,f,m,y,b]=[l,l+h-d,l+h,l+h+d,c];return n?(this.point=[m,s-p],[["L",g,s],["L",f,s],["L",m,s-p],["L",y,s],["L",b,s]]):(this.point=[i+p,m],[["L",i,g],["L",i,f],["L",i+p,m],["L",i,y],["L",i,b]])}applyVisibility(){const{visibility:t}=this.attributes;"hidden"===t?a(this):r(this)}bindEvents(){this.label.on(e.ElementEvent.BOUNDS_CHANGED,this.renderBackground)}render(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()}}function Wi(t,e,n){return n?`${t} ${n}legend-${e}`:t}const Vi="marker",Di="handle-marker",Ri="handle-label",ji=Le({text:"text"},"title");function Yi(t,e){const n=Object.entries(e).reduce((e,n)=>{let[i,s]=n;return t.node().attr(i)||(e[i]=s),e},{});t.styles(n)}class qi extends b{title;constructor(t){super(t,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})}getAvailableSpace(){const{width:t,height:e,position:n,spacing:i,inset:s}=this.attributes,r=this.querySelector(ji.text.class);if(!r)return new _i(0,0,+t,+e);const{width:a,height:o}=r.getBBox(),[l,c,h,u]=P(i);let[d,p,g,f]=[0,0,+t,+e];const m=Ni(n);if(m.includes("i"))return new _i(d,p,g,f);m.forEach((n,i)=>{"t"===n&&([p,f]=0===i?[o+h,+e-o-h]:[0,+e]),"r"===n&&([g]=[+t-a-u]),"b"===n&&([f]=[+e-o-l]),"l"===n&&([d,g]=0===i?[a+c,+t-a-c]:[0,+t])});const[y,b,x,v]=P(s),[w,k]=[v+b,y+x];return new _i(d+v,p+y,g-w,f-k)}getBBox(){return this.title?this.title.getBBox():new _i(0,0,0,0)}render(t,e){const{width:n,height:i,position:s,spacing:r,classNamePrefix:a,...o}=t,[l]=B(o),{x:c,y:h,textAlign:u,textBaseline:d}=function(t){const{width:e,height:n,position:i}=t,[s,r]=[+e/2,+n/2];let[a,o,l,c]=[+s,+r,"center","middle"];const h=Ni(i);return h.includes("l")&&([a,l]=[0,"start"]),h.includes("r")&&([a,l]=[+e,"end"]),h.includes("t")&&([o,c]=[0,"top"]),h.includes("b")&&([o,c]=[+n,"bottom"]),{x:a,y:o,textAlign:l,textBaseline:c}}(t);z(!!o.text,$(e),t=>{const e=Wi(ji.text.name,"title",a);this.title=t.maybeAppendByClassName(ji.text,"text").attr("className",e).styles(l).call(Yi,{x:c,y:h,textAlign:u,textBaseline:d}).node()})}}function Ki(){return"horizontal"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"horizontal")?arguments.length>1?arguments[1]:void 0:arguments.length>2?arguments[2]:void 0}D.registerSymbol("hiddenHandle",function(t,e,n){const i=1.4*n;return[["M",t-n,e-i],["L",t+n,e-i],["L",t+n,e+i],["L",t-n,e+i],["Z"]]}),D.registerSymbol("verticalHandle",function(t,e,n){const i=1.4*n,s=n/2,r=n/6,a=t+.4*i;return[["M",t,e],["L",a,e+s],["L",t+i,e+s],["L",t+i,e-s],["L",a,e-s],["Z"],["M",a,e+r],["L",t+i-2,e+r],["M",a,e-r],["L",t+i-2,e-r]]}),D.registerSymbol("horizontalHandle",function(t,e,n){const i=1.4*n,s=n/2,r=n/6,a=e+.4*i;return[["M",t,e],["L",t-s,a],["L",t-s,e+i],["L",t+s,e+i],["L",t+s,a],["Z"],["M",t-r,a],["L",t-r,e+i-2],["M",t+r,a],["L",t+r,e+i-2]]});const Zi=Le({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),Ui={showLabel:!0,formatter:t=>t.toString(),markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0};class Xi extends b{constructor(t){super(t,Ui)}marker;render(t,e){const n=$(e).maybeAppendByClassName(Zi.markerGroup,"g");this.renderMarker(n);const i=$(e).maybeAppendByClassName(Zi.labelGroup,"g");this.renderLabel(i)}renderMarker(t){const{orientation:e,classNamePrefix:n,markerSymbol:i=Ki(e,"horizontalHandle","verticalHandle")}=this.attributes;z(!!i,t,t=>{const e=C(this.attributes,"marker"),s={symbol:i,...e},r=Wi(Zi.marker.name,Di,n);if(this.marker=t.maybeAppendByClassName(Zi.marker,()=>new D({style:s,className:r})).update(s),n){const t=this.marker.node().querySelector(".marker");if(t){const e=Wi((t.getAttribute("class")||"").split(" ")[0],Di,n);t.setAttribute("class",e)}}})}renderLabel(t){const{showLabel:e,orientation:n,spacing:i=0,formatter:s,classNamePrefix:r}=this.attributes;z(e,t,t=>{const{text:e,...a}=C(this.attributes,"label"),{width:o=0,height:l=0}=t.select(Zi.marker.class)?.node().getBBox()||{},[c,h,u,d]=Ki(n,[0,l+i,"center","top"],[o+i,0,"start","middle"]),p=Wi(Zi.label.name,Ri,r);t.maybeAppendByClassName(Zi.label,"text").attr("className",p).styles({...a,x:c,y:h,text:s(e).toString(),textAlign:u,textBaseline:d})})}}const Ji={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},Qi=m({},Ji,{}),ts=m({},Ji,M(Ui,"handle"),{color:["#d0e3fa","#acc7f6","#8daaf2","#6d8eea","#4d73cd","#325bb1","#5a3e75","#8c3c79","#e23455","#e7655b"],indicatorBackgroundFill:"#262626",indicatorLabelFill:"white",indicatorLabelFontSize:12,indicatorVisibility:"hidden",labelAlign:"value",labelDirection:"positive",labelSpacing:5,showHandle:!0,showIndicator:!0,showLabel:!0,slidable:!0,titleText:"",type:"continuous"}),es=Le({title:"title",html:"html",titleGroup:"title-group",items:"items",itemsGroup:"items-group",contentGroup:"content-group",ribbonGroup:"ribbon-group",ribbon:"ribbon",handlesGroup:"handles-group",handle:"handle",startHandle:"start-handle",endHandle:"end-handle",labelGroup:"label-group",label:"label",indicator:"indicator"},"legend");function ns(t,e){const[n,i]=function(t,e){for(let n=1;n=i&&e<=s)return[i,s]}return[e,e]}(t,e);return{tick:e>(n+i)/2?i:n,range:[n,i]}}const is=Le({trackGroup:"background-group",track:"background",selectionGroup:"ribbon-group",selection:"ribbon",clipPath:"clip-path"},"ribbon");function ss(t){const{orientation:e,size:n,length:i}=t;return Ki(e,[i,n],[n,i])}function rs(t){const{type:e}=t,[n,i]=ss(t);return"size"===e?[["M",0,i],["L",0+n,0],["L",0+n,i],["Z"]]:[["M",0,i],["L",0,0],["L",0+n,0],["L",0+n,i],["Z"]]}function as(t){return rs(t)}function os(t){const{orientation:e,range:n}=t;if(!n)return[];const[i,s]=ss(t),[r,a]=n,o=Ki(e,r*i,0),l=Ki(e,0,r*s),c=Ki(e,a*i,i),h=Ki(e,s,a*s);return[["M",o,l],["L",o,h],["L",c,h],["L",c,l],["Z"]]}class ls extends b{constructor(t){super(t,{type:"color",orientation:"horizontal",size:30,range:[0,1],length:200,block:!1,partition:[],color:["#fff","#000"],trackFill:"#e5e5e5"})}render(t,n){!function(t,e){const n=C(e,"track"),{classNamePrefix:i}=e,s=Wi(is.track.name,"track",i);t.maybeAppendByClassName(is.track,"path").attr("className",s).styles({d:rs(e),...n})}($(n).maybeAppendByClassName(is.trackGroup,"g"),t),function(t,n){const i=C(n,"selection"),s=function(t){const{orientation:n,color:i,block:s,partition:r}=t;let a;a=O(i)?new Array(20).fill(0).map((t,e,n)=>i(e/(n.length-1))):i;const o=a.length,l=a.map(t=>(0,e.parseColor)(t).toString());return o?1===o?l[0]:s?function(t,e,n){const i=Array.from(e),s=t.length;return new Array(s).fill(0).reduce((e,n,r)=>{const a=i[r%i.length];return e+` ${t[r]}:${a}${rt+` ${n/(o-1)}:${e}`,`l(${Ki(n,"0","270")})`):""}(n),{classNamePrefix:r}=n,a=Wi(is.selection.name,"selection",r),o=t.maybeAppendByClassName(is.selection,"path").attr("className",a).styles({d:as(n),fill:s,...i}),l=o.maybeAppendByClassName(is.clipPath,"path").styles({d:os(n)}).node();o.style("clipPath",l)}($(n).maybeAppendByClassName(is.selectionGroup,"g"),t)}}class cs extends b{constructor(t){super(t,ts)}eventToOffsetScale=(()=>new Lt({}))();innerRibbonScale=(()=>new Lt({}))();title;label;ribbon;indicator;get handleOffsetRatio(){return this.ifHorizontal(.5,.5)}handlesGroup;startHandle;endHandle;getBBox(){const{width:t,height:e}=this.attributes;return new _i(0,0,t,e)}render(t,e){const{classNamePrefix:n}=t,i=e.className||"legend-continuous";n?e.attr("className",`${i} ${n}legend`):e.className||e.attr("className","legend-continuous");const{showLabel:s}=t;this.renderTitle($(e));const{x:r,y:a}=this.availableSpace,o=$(e).maybeAppendByClassName(es.contentGroup,"g").styles({transform:`translate(${r}, ${a})`});z(!!s,o.maybeAppendByClassName(es.labelGroup,"g").styles({zIndex:1}),t=>{this.renderLabel(t)});const l=o.maybeAppendByClassName(es.ribbonGroup,"g").styles({zIndex:0});this.handlesGroup=o.maybeAppendByClassName(es.handlesGroup,"g").styles({zIndex:2}),this.renderHandles(),this.renderRibbon(l),this.renderIndicator(o),this.adjustLabel(),this.adjustHandles()}get range(){const{data:t,domain:e}=this.attributes;return e?{min:e[0],max:e[1]}:function(t){return{min:Math.min(...t.map(t=>t.value)),max:Math.max(...t.map(t=>t.value))}}(t)}get ribbonScale(){const{min:t,max:e}=this.range;return this.innerRibbonScale.update({domain:[t,e],range:[0,1]}),this.innerRibbonScale}get ribbonRange(){const[t,e]=this.selection,n=this.ribbonScale;return[n.map(t),n.map(e)]}get selection(){const{min:t,max:e}=this.range,{defaultValue:[n,i]=[t,e]}=this.attributes;return[n,i]}ifHorizontal(t,e){return Ki(this.attributes.orientation,"function"==typeof t?t():t,"function"==typeof e?e():e)}renderTitle(t){const{showTitle:e,titleText:n,width:i,height:s,classNamePrefix:r}=this.attributes,a={...C(this.attributes,"title"),width:i,height:s,text:n,classNamePrefix:r},o=this;t.selectAll(es.title.class).data(e?[n]:[]).join(t=>t.append(()=>new qi({style:a})).attr("className",es.title.name).each(function(){o.title=this}),t=>t.update(a),t=>t.each(()=>{o.title=void 0}).remove())}get availableSpace(){if(this.title)return this.title.getAvailableSpace();const{width:t,height:e}=this.attributes;return new _i(0,0,t,e)}get labelFixedSpacing(){const{showTick:t}=this.attributes;return t?5:0}get labelPosition(){const{orientation:t,labelDirection:e}=this.attributes;return{vertical:{positive:"right",negative:"left"},horizontal:{positive:"bottom",negative:"top"}}[t][e]}cacheLabelBBox=null;get labelBBox(){const{showLabel:t}=this.attributes;if(!t)return new _i(0,0,0,0);if(this.cacheLabelBBox)return this.cacheLabelBBox;const{width:e,height:n}=(this.label.querySelector(Je.labelGroup.class)?.children.slice(-1)[0]).getBBox();return this.cacheLabelBBox=new _i(0,0,e,n),this.cacheLabelBBox}get labelShape(){const{showLabel:t,labelSpacing:e=0}=this.attributes;if(!t)return{width:0,height:0,size:0,length:0};const{width:n,height:i}=this.labelBBox;return{width:n,height:i,size:this.ifHorizontal(i,n)+e+this.labelFixedSpacing,length:this.ifHorizontal(n,i)}}get ribbonBBox(){const{showHandle:t,ribbonSize:e}=this.attributes,{width:n,height:i}=this.availableSpace,{size:s,length:r}=this.labelShape,[a,o]=this.ifHorizontal([i,n],[n,i]),{size:l,length:c}=t?this.handleShape:{size:0,length:0},h=this.handleOffsetRatio;let u=0;const d=this.labelPosition;u=e||(["bottom","right"].includes(d)?Math.min(a-s,(a-l)/h):a*(1-h)>l?Math.max(a-s,0):Math.max((a-s-l)/h,0));const p=Math.max(c,r),g=o-p,[f,m]=this.ifHorizontal([g,u],[u,g]),y=["top","left"].includes(d)?s:0,[b,x]=this.ifHorizontal([p/2,y],[y,p/2]);return new _i(b,x,f,m)}get ribbonShape(){const{width:t,height:e}=this.ribbonBBox;return this.ifHorizontal({size:e,length:t},{size:t,length:e})}renderRibbon(t){const{data:e,type:n,orientation:i,color:s,block:r,classNamePrefix:a}=this.attributes,o=C(this.attributes,"ribbon"),{min:l,max:c}=this.range,{x:h,y:u}=this.ribbonBBox,{length:d,size:p}=this.ribbonShape,g=m({transform:`translate(${h}, ${u})`,length:d,size:p,type:n,orientation:i,color:s,block:r,partition:e.map(t=>(t.value-l)/(c-l)),range:this.ribbonRange,classNamePrefix:a},o),f=Wi(es.ribbon.name,"ribbon",a);this.ribbon=t.maybeAppendByClassName(es.ribbon,()=>new ls({style:g,className:f})).update(g)}getHandleClassName(t){return`${es.prefix(`${t}-handle`)}`}renderHandles(){const{showHandle:t,orientation:e,classNamePrefix:n}=this.attributes,i=C(this.attributes,"handle"),[s,r]=this.selection,a={...i,orientation:e,classNamePrefix:n},{shape:o="slider"}=i,l="basic"===o?Xi:$e,c=this,h=Wi(es.handle.name,"handle",n);this.handlesGroup.selectAll(es.handle.class).data(t?[{value:s,type:"start"},{value:r,type:"end"}]:[],t=>t.type).join(t=>t.append(()=>new l({style:a,className:h})).attr("className",t=>{let{type:e}=t;return`${h} ${c.getHandleClassName(e)}`}).each(function(t){let{type:e,value:n}=t;this.update({labelText:n}),c[`${e}Handle`]=this,this.addEventListener("pointerdown",c.onDragStart(e))}),t=>t.update(a).each(function(t){let{value:e}=t;this.update({labelText:e})}),t=>t.each(t=>{let{type:e}=t;c[`${e}Handle`]=void 0}).remove())}adjustHandles(){const[t,e]=this.selection;this.setHandlePosition("start",t),this.setHandlePosition("end",e);const{classNamePrefix:n,showHandle:i}=this.attributes,{shape:s="slider"}=C(this.attributes,"handle");i&&"slider"===s&&n&&(this.startHandle&&this.updateSliderHandleClassNames(this.startHandle,n),this.endHandle&&this.updateSliderHandleClassNames(this.endHandle,n))}updateSliderHandleClassNames(t,e){const n=t.container||t,i=n.querySelector(".handle-icon-rect");if(i){const t=Wi("handle-icon-rect",Di,e);i.setAttribute("class",t),i.querySelectorAll("line").forEach(t=>{const n=Wi((t.getAttribute("class")||"").split(" ")[0],Di,e);t.setAttribute("class",n)})}const s=n.querySelector(".handle-label");if(s){const t=Wi("handle-label",Ri,e);s.setAttribute("class",t)}}cacheHandleBBox=null;get handleBBox(){if(this.cacheHandleBBox)return this.cacheHandleBBox;if(!this.attributes.showHandle)return new _i(0,0,0,0);const{width:t,height:e}=this.startHandle.getBBox(),{width:n,height:i}=this.endHandle.getBBox(),[s,r]=[Math.max(t,n),Math.max(e,i)];return this.cacheHandleBBox=new _i(0,0,s,r),this.cacheHandleBBox}get handleShape(){const{width:t,height:e}=this.handleBBox,[n,i]=this.ifHorizontal([e,t],[t,e]);return{width:t,height:e,size:n,length:i}}setHandlePosition(t,e){const{handleFormatter:n}=this.attributes,{x:i,y:s}=this.ribbonBBox,{size:r}=this.ribbonShape,a=this.getOffset(e),[o,l]=this.ifHorizontal([i+a,s+r*this.handleOffsetRatio],[i+r*this.handleOffsetRatio,s+a]),c=this.handlesGroup.select(`.${this.getHandleClassName(t)}`).node();c?.update({transform:`translate(${o}, ${l})`,formatter:n})}renderIndicator(t){const{classNamePrefix:e}=this.attributes,n=C(this.attributes,"indicator"),i=Wi(es.indicator.name,"indicator",e);this.indicator=t.maybeAppendByClassName(es.indicator,()=>new Hi({style:n,className:i})).update(n)}get labelData(){const{data:t}=this.attributes;return t.reduce((t,e,n,i)=>{const s=e?.id??n.toString();if(t.push({...e,id:s,index:n,type:"value",label:e?.label??e.value.toString(),value:this.ribbonScale.map(e.value)}),n"value"===t?.type&&(!n||n(t,t.index,i.filter(t=>"value"!==t.type))),labelFilter:(t,e,i)=>t?.type===a&&(!n||n(t,t.index,i.filter(t=>t.type===a))),labelFormatter:i,labelOverlap:[{type:"hide"}]};this.label=t.maybeAppendByClassName(es.label,()=>new Oi({style:o})).node(),this.label.update(o,!1)}get labelAxisStyle(){const{showTick:t,labelDirection:e,labelSpacing:n,tickLength:i}=this.attributes,{size:s}=this.ribbonShape,r=this.labelPosition,a=this.labelFixedSpacing;let[o,l,c]=[0,0,0];const h=i??s;return t?(c=h,l=a,"positive"===e?"right"===r?(o=h,c=h):"bottom"===r&&(o=c):"negative"===e&&("top"===r||"left"===r)&&(o=s)):"positive"===e?"right"===r?l=h:"bottom"===r&&(o=s+a,l=n):"negative"===e&&("left"===r||"top"===r)&&(l=n),{offset:o,spacing:l,tickLength:c}}adjustLabel(){const{showLabel:t}=this.attributes;if(!t)return;const{x:e,y:n,width:i,height:s}=this.ribbonBBox,{offset:r,spacing:a,tickLength:o}=this.labelAxisStyle,[l,c]=this.ifHorizontal([[e,n+r],[e+i,n+r]],[[e+r,n+s],[e+r,n]]);this.label.update({startPos:l,endPos:c,tickLength:o,labelSpacing:a},!1)}target;prevValue;bindEvents(){this.style.cursor="pointer",this.ribbon.on("pointerdown",this.onDragStart("ribbon")),this.ribbon.on("pointermove",this.onHovering),this.addEventListener("pointerout",this.hideIndicator)}onHovering=t=>{const{data:e,block:n}=this.attributes;t.stopPropagation();const i=this.getValueByCanvasPoint(t);if(n){const{range:t}=ns(e.map(t=>{let{value:e}=t;return e}),i),n=this.getRealSelection(t);this.showIndicator((t[0]+t[1])/2,`${n[0]}-${n[1]}`),this.dispatchIndicated(i,t)}else{const t=this.getTickValue(i);this.showIndicator(t,`${this.getRealValue(t)}`),this.dispatchIndicated(t)}};showIndicator(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:`${t}`;const{showIndicator:n}=this.attributes;if(!n||"number"!=typeof t)return void this.hideIndicator();const{min:i,max:s}=this.range,{x:a,y:o}=this.ribbonBBox,l=Ht(t,i,s),c=this.getOffset(l),h=this.ifHorizontal([c+a,o],[a,c+o]);this.indicator.update({x:h[0],y:h[1],position:this.ifHorizontal("top","left"),labelText:e}),r(this.indicator.node())}hideIndicator(){a(this.indicator.node())}onDragStart=t=>e=>{e.stopPropagation(),this.attributes.slidable&&(this.target=t,this.prevValue=this.getTickValue(this.getValueByCanvasPoint(e)),document.addEventListener("mousemove",this.onDragging),document.addEventListener("touchmove",this.onDragging),document.addEventListener("mouseleave",this.onDragEnd),document.addEventListener("mouseup",this.onDragEnd),document.addEventListener("mouseup",this.onDragEnd),document.addEventListener("touchend",this.onDragEnd))};onDragging=t=>{const{target:e}=this;this.updateMouse();const[n,i]=this.selection,s=this.getTickValue(this.getValueByCanvasPoint(t)),r=s-this.prevValue;"start"===e?n!==s&&this.updateSelection(s,i):"end"===e?i!==s&&this.updateSelection(n,s):"ribbon"===e&&0!==r&&(this.prevValue=s,this.updateSelection(r,r,!0))};onDragEnd=()=>{this.style.cursor="pointer",document.removeEventListener("mousemove",this.onDragging),document.removeEventListener("touchmove",this.onDragging),document.removeEventListener("mouseup",this.onDragEnd),document.removeEventListener("touchend",this.onDragEnd)};updateMouse(){this.attributes.slidable&&(this.style.cursor="grabbing")}setSelection(t,e){this.updateSelection(t,e)}updateSelection(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const[i,s]=this.selection;let[r,a]=[t,e];n&&(r+=i,a+=s);const{min:o,max:l}=this.range;[r,a]=function(t,e,n){const[i,s]=t,[r,a]=e,[o,l]=n;let[c,h]=[r,a];const u=h-c;return c>h&&([c,h]=[h,c]),u>s-i?[i,s]:cs?l===s&&o===c?[c,s]:[s-u,s]:[c,h]}([o,l],[r,a],this.selection),this.update({defaultValue:[r,a]}),this.dispatchSelection()}get step(){const{step:t=1}=this.attributes,{min:e,max:n}=this.range;return j(t)?fe(.01*(n-e),0):t}getTickValue(t){const{data:e,block:n}=this.attributes,{min:i}=this.range;return n?ns(e.map(t=>{let{value:e}=t;return e}),t).tick:function(t,e,n){return n+Math.round((t-n)/e)*e}(t,this.step,i)}getValueByCanvasPoint(t){const{min:e,max:n}=this.range,[i,s]=this.ribbon.node().getPosition(),r=this.ifHorizontal(i,s),a=this.ifHorizontal(...Se(t))-r;return Ht(this.getOffset(a,!0),e,n)}getOffset(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{min:n,max:i}=this.range,{length:s}=this.ribbonShape,r=this.eventToOffsetScale;return r.update({domain:[n,i],range:[0,s]}),e?r.invert(t):r.map(t)}getRealSelection(t){const{max:e}=this.range,[n,i]=t;return this.ifHorizontal([n,i],[e-i,e-n])}getRealValue(t){const{max:e}=this.range;return this.ifHorizontal(t,e-t)}dispatchSelection(){const t=this.getRealSelection(this.selection),n=new e.CustomEvent("valuechange",{detail:{value:t}});this.dispatchEvent(n)}dispatchIndicated(t,n){const{max:i}=this.range,s=this.ifHorizontal(()=>({value:t,range:n}),()=>({value:i-t,range:n?this.getRealSelection(n):void 0})),r=new e.CustomEvent("indicate",{detail:s});this.dispatchEvent(r)}}const hs=function(){};function us(t,e){return t.reduce((t,n)=>((t[n[e]]=t[n[e]]||[]).push(n),t),{})}function ds(t){return t[0]?.map((e,n)=>t.map(t=>t[n]))||[]}const ps=Le({prevBtnGroup:"prev-btn-group",prevBtn:"prev-btn",nextBtnGroup:"next-btn-group",nextBtn:"next-btn",pageInfoGroup:"page-info-group",pageInfo:"page-info",playWindow:"play-window",contentGroup:"content-group",controller:"controller",clipPath:"clip-path"},"navigator");class gs extends b{constructor(t){super(t,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:[["M",-6,-6],["L",6,0],["L",-6,6],["Z"]],buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:(t,e)=>`${t}/${e}`,defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})}playState="idle";contentGroup=(()=>this.appendChild(new e.Group({class:ps.contentGroup.name})))();playWindow=(()=>this.contentGroup.appendChild(new e.Group({class:ps.playWindow.name})))();get defaultPage(){const{defaultPage:t}=this.attributes;return Ht(t,0,Math.max(this.pageViews.length-1,0))}innerCurrPage=this.defaultPage;clipPath;prevBtnGroup;nextBtnGroup;pageInfoGroup;get pageViews(){return this.playWindow.children}get controllerShape(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}}get pageShape(){const{pageViews:t}=this,[e,n]=ds(t.map(t=>{const{width:e,height:n}=t.getBBox();return[e,n]})).map(t=>Math.max(...t)),{pageWidth:i=e,pageHeight:s=n}=this.attributes;return{pageWidth:i,pageHeight:s}}getContainer(){return this.playWindow}get totalPages(){return this.pageViews.length}get currPage(){return this.innerCurrPage}getBBox(){const{x:t,y:e}=super.getBBox(),n=this.controllerShape,{pageWidth:i,pageHeight:s}=this.pageShape;return new _i(t,e,i+n.width,s)}goTo(t){const{animate:e}=this.attributes,{currPage:n,playState:i,playWindow:s,pageViews:r}=this;if("idle"!==i||t<0||r.length<=0||t>=r.length)return null;r[n].setLocalPosition(0,0),this.prepareFollowingPage(t);const[a,o]=this.getFollowingPageDiff(t);this.playState="running";const l=pe(s,[{transform:"translate(0, 0)"},{transform:`translate(${-a}, ${-o})`}],e);return ue(l,()=>{this.innerCurrPage=t,this.playState="idle",this.setVisiblePages([t]),this.updatePageInfo()}),l}prev(){const{loop:t}=this.attributes,e=this.pageViews.length,n=this.currPage;if(!t&&n<=0)return null;const i=t?(n-1+e)%e:Ht(n-1,0,e);return this.goTo(i)}next(){const{loop:t}=this.attributes,e=this.pageViews.length,n=this.currPage;if(!t&&n>=e-1)return null;const i=t?(n+1)%e:Ht(n+1,0,e);return this.goTo(i)}renderClipPath(t){const{pageWidth:e,pageHeight:n}=this.pageShape;e&&n?(this.clipPath=t.maybeAppendByClassName(ps.clipPath,"rect").styles({width:e,height:n}),this.contentGroup.attr("clipPath",this.clipPath.node())):this.contentGroup.style.clipPath=void 0}setVisiblePages(t){this.playWindow.children.forEach((e,n)=>{t.includes(n)?r(e):a(e)})}adjustControllerLayout(){const{prevBtnGroup:t,nextBtnGroup:e,pageInfoGroup:n}=this,{orientation:i,controllerPadding:s}=this.attributes,{width:r,height:a}=n.getBBox(),[o,l]="horizontal"===i?[-180,0]:[-90,90];t.setLocalEulerAngles(o),e.setLocalEulerAngles(l);const{width:c,height:h}=t.getBBox(),{width:u,height:d}=e.getBBox(),p=Math.max(c,r,u),{offset:[[g,f],[m,y],[b,x]],textAlign:v}="horizontal"===i?{offset:[[0,0],[c/2+s,0],[c+r+2*s,0]],textAlign:"start"}:{offset:[[p/2,-h-s],[p/2,0],[p/2,d+s]],textAlign:"center"},w=n.querySelector("text");w&&(w.style.textAlign=v),t.setLocalPosition(g,f),n.setLocalPosition(m,y),e.setLocalPosition(b,x)}updatePageInfo(){const{currPage:t,pageViews:e,attributes:{formatter:n}}=this;e.length<2||(this.pageInfoGroup.querySelector(ps.pageInfo.class)?.attr("text",n(t+1,e.length)),this.adjustControllerLayout())}getFollowingPageDiff(t){const{currPage:e}=this;if(e===t)return[0,0];const{orientation:n}=this.attributes,{pageWidth:i,pageHeight:s}=this.pageShape,r=t=2,a=t.maybeAppendByClassName(ps.controller,"g");if(o(a.node(),r),!r)return;const l=C(this.attributes,"button"),c=C(this.attributes,"pageNum"),[{size:h,...u},d]=B(l),p=!a.select(ps.prevBtnGroup.class).node(),g=a.maybeAppendByClassName(ps.prevBtnGroup,"g").styles(d);this.prevBtnGroup=g.node();const f=g.maybeAppendByClassName(ps.prevBtn,"path");if(n){const t=Wi(ps.prevBtn.name,"prev-btn",n);f.node().setAttribute("class",t)}const m=a.maybeAppendByClassName(ps.nextBtnGroup,"g").styles(d);this.nextBtnGroup=m.node();const y=m.maybeAppendByClassName(ps.nextBtn,"path");if(n){const t=Wi(ps.nextBtn.name,"next-btn",n);y.node().setAttribute("class",t)}[f,y].forEach(t=>{t.styles({...u,transformOrigin:"center"}),vn(t.node(),h,!0)});const b=a.maybeAppendByClassName(ps.pageInfoGroup,"g");this.pageInfoGroup=b.node();const x=b.maybeAppendByClassName(ps.pageInfo,"text");if(x.styles(c),n){const t=Wi(ps.pageInfo.name,"page-info",n);x.node().setAttribute("class",t)}this.updatePageInfo(),a.node().setLocalPosition(i+e,s/2),p&&(this.prevBtnGroup.addEventListener("click",()=>{this.prev()}),this.nextBtnGroup.addEventListener("click",()=>{this.next()}))}render(t,e){const{x:n=0,y:i=0}=t;this.attr("transform",`translate(${n}, ${i})`);const s=$(e);this.renderClipPath(s),this.renderController(s),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)}bindEvents(){const t=(n=()=>this.render(this.attributes,this),i=50,function(){var t=this,e=arguments,a=s&&!r;clearTimeout(r),r=setTimeout(function(){r=null,s||n.apply(t,e)},i),a&&n.apply(t,e)});var n,i,s,r;this.playWindow.addEventListener(e.ElementEvent.INSERTED,t),this.playWindow.addEventListener(e.ElementEvent.REMOVED,t)}}function fs(t,e){for(var n in e)e.hasOwnProperty(n)&&"constructor"!==n&&void 0!==e[n]&&(t[n]=e[n])}const ms="component-poptip",ys="component-poptip-arrow",bs="component-poptip-text",xs={[`.${ms}`]:{visibility:"visible",position:"absolute","background-color":"rgba(0, 0, 0)","box-shadow":"0px 0px 10px #aeaeae","border-radius":"3px",color:"#fff",opacity:.8,"font-size":"12px",padding:"4px 6px",display:"flex","justify-content":"center","align-items":"center","z-index":8,transition:"visibility 50ms"},[`.${bs}`]:{"text-align":"center"},[`.${ms}[data-position='top']`]:{transform:"translate(-50%, -100%)"},[`.${ms}[data-position='left']`]:{transform:"translate(-100%, -50%)"},[`.${ms}[data-position='right']`]:{transform:"translate(0, -50%)"},[`.${ms}[data-position='bottom']`]:{transform:"translate(-50%, 0)"},[`.${ms}[data-position='top-left']`]:{transform:"translate(0,-100%)"},[`.${ms}[data-position='top-right']`]:{transform:"translate(-100%,-100%)"},[`.${ms}[data-position='left-top']`]:{transform:"translate(-100%, 0)"},[`.${ms}[data-position='left-bottom']`]:{transform:"translate(-100%, -100%)"},[`.${ms}[data-position='right-top']`]:{transform:"translate(0, 0)"},[`.${ms}[data-position='right-bottom']`]:{transform:"translate(0, -100%)"},[`.${ms}[data-position='bottom-left']`]:{transform:"translate(0, 0)"},[`.${ms}[data-position='bottom-right']`]:{transform:"translate(-100%, 0)"},[`.${ys}`]:{width:"4px",height:"4px",transform:"rotate(45deg)","background-color":"rgba(0, 0, 0)",position:"absolute","z-index":-1},[`.${ms}[data-position='top']`]:{transform:"translate(-50%, calc(-100% - 5px))"},[`[data-position='top'] .${ys}`]:{bottom:"-2px"},[`.${ms}[data-position='left']`]:{transform:"translate(calc(-100% - 5px), -50%)"},[`[data-position='left'] .${ys}`]:{right:"-2px"},[`.${ms}[data-position='right']`]:{transform:"translate(5px, -50%)"},[`[data-position='right'] .${ys}`]:{left:"-2px"},[`.${ms}[data-position='bottom']`]:{transform:"translate(-50%, 5px)"},[`[data-position='bottom'] .${ys}`]:{top:"-2px"},[`.${ms}[data-position='top-left']`]:{transform:"translate(0, calc(-100% - 5px))"},[`[data-position='top-left'] .${ys}`]:{left:"10px",bottom:"-2px"},[`.${ms}[data-position='top-right']`]:{transform:"translate(-100%, calc(-100% - 5px))"},[`[data-position='top-right'] .${ys}`]:{right:"10px",bottom:"-2px"},[`.${ms}[data-position='left-top']`]:{transform:"translate(calc(-100% - 5px), 0)"},[`[data-position='left-top'] .${ys}`]:{right:"-2px",top:"8px"},[`.${ms}[data-position='left-bottom']`]:{transform:"translate(calc(-100% - 5px), -100%)"},[`[data-position='left-bottom'] .${ys}`]:{right:"-2px",bottom:"8px"},[`.${ms}[data-position='right-top']`]:{transform:"translate(5px, 0)"},[`[data-position='right-top'] .${ys}`]:{left:"-2px",top:"8px"},[`.${ms}[data-position='right-bottom']`]:{transform:"translate(5px, -100%)"},[`[data-position='right-bottom'] .${ys}`]:{left:"-2px",bottom:"8px"},[`.${ms}[data-position='bottom-left']`]:{transform:"translate(0, 5px)"},[`[data-position='bottom-left'] .${ys}`]:{top:"-2px",left:"8px"},[`.${ms}[data-position='bottom-right']`]:{transform:"translate(-100%, 5px)"},[`[data-position='bottom-right'] .${ys}`]:{top:"-2px",right:"8px"}};function vs(t){let e=t&&document.getElementById(t);return e||(e=document.createElement("div"),e.setAttribute("id",t),document.body.appendChild(e)),e}class ws extends b{static tag="poptip";get visible(){return"visible"===this.visibility}static defaultOptions=(()=>({style:{x:0,y:0,width:0,height:0,target:null,visibility:"hidden",text:"",position:"top",follow:!1,offset:[0,0],domStyles:xs,template:`
`}}))();container;visibility="visible";map=(()=>new Map)();domStyles="";constructor(t){super(K({style:{id:"component-poptip"}},ws.defaultOptions,t)),this.initShape(),this.render(this.attributes,this)}render(t,e){this.visibility=this.style.visibility,this.updatePoptipElement()}update(t){this.attr(K({},this.style,t)),this.render(this.attributes,this)}bind(t,e){if(!t)return;const{text:n}=this.style,i=i=>{let s=t,r=this.style,a=n;if(e){const{html:t,target:n,...h}="function"==typeof e?e.call(null,i):e;o={},c=h,(l=this.style)&&fs(o,l),c&&fs(o,c),r=o,(n||!1===n)&&(s=n),"string"==typeof t&&(a=t)}var o,l,c;const{position:h,arrowPointAtCenter:u,follow:d,offset:p}=r;if(s){const{clientX:t,clientY:e}=i,[n,r]=function(t,e,n,i){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(arguments.length>5&&void 0!==arguments[5]&&arguments[5])return[t,e];const{x:r,y:a,width:o,height:l}=n.getBoundingClientRect();switch(i){case"top":return s?[r+o/2,a]:[t,a];case"left":return s?[r,a+l/2]:[r,e];case"bottom":return s?[r+o/2,a+l]:[t,a+l];case"right":return s?[r+o,a+l/2]:[r+o,e];case"top-right":case"right-top":return[r+o,a];case"left-bottom":case"bottom-left":return[r,a+l];case"right-bottom":case"bottom-right":return[r+o,a+l];default:return[r,a]}}(t,e,s,h,u,d);this.showTip(n,r,{text:a,position:h,offset:p})}else this.hideTip()},s=()=>{this.hideTip()};t.addEventListener("mousemove",i),t.addEventListener("mouseleave",s),this.map.set(t,[i,s])}unbind(t){if(this.map.has(t)){const[e,n]=this.map.get(t)||[];e&&t.removeEventListener("mousemove",e),n&&t.removeEventListener("mouseleave",n),this.map.delete(t)}}clear(){this.container.innerHTML=""}destroy(){[...this.map.keys()].forEach(t=>this.unbind(t)),this.container?.remove(),super.destroy()}showTip(t,e,n){const i=dn(n,"text");if((!i||"string"==typeof i)&&(this.applyStyles(),t&&e&&n)){const{offset:s,position:r}=n;if(r&&this.container.setAttribute("data-position",r),this.setOffsetPosition(t,e,s),"string"==typeof i){const t=this.container.querySelector(`.${bs}`);t&&(t.innerHTML=i)}this.visibility="visible",this.container.style.visibility="visible"}}hideTip(){this.visibility="hidden",this.container.style.visibility="hidden"}getContainer(){return this.container}getClassName(){const{containerClassName:t}=this.style;return`${ms}${t?` ${t}`:""}`}initShape(){const{id:t}=this.style;this.container=function(t){const e=(t=>{let e;return function(){for(var n=arguments.length,i=new Array(n),s=0;sthis.showTip()),this.container.addEventListener("mouseleave",()=>this.hideTip())}updatePoptipElement(){const{container:t}=this;this.clear();const{id:e,template:n,text:i}=this.style;this.container.setAttribute("id",e),this.container.className=this.getClassName();const s=``;var r;t.innerHTML=s,V(n)?t.innerHTML+=n:n&&((r=n)instanceof Element||r instanceof Document)&&t.appendChild(n),i&&(t.getElementsByClassName(bs)[0].textContent=i),this.applyStyles(),this.container.style.visibility=this.visibility}applyStyles(){const t=m({},xs,this.style.domStyles),e=Object.entries(t).reduce((t,e)=>{let[n,i]=e;const s=Object.entries(i).reduce((t,e)=>{let[n,i]=e;return`${t}${n}: ${i};`},"");return`${t}${n}{${s}}`},"");if(this.domStyles!==e){this.domStyles=e;let t=this.container.querySelector("style");t&&this.container.removeChild(t),t=document.createElement("style"),t.innerHTML=e,this.container.appendChild(t)}}setOffsetPosition(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.style.offset;const[i=0,s=0]=n;this.container.style.left=`${t+i}px`,this.container.style.top=`${e+s}px`}}const ks=Le({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",focusGroup:"focus-group",focus:"focus",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item"),Ss={offset:[0,20],domStyles:{".component-poptip":{opacity:"1",padding:"8px 12px",background:"#fff",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".component-poptip-arrow":{display:"none"},".component-poptip-text":{color:"#000",lineHeight:"20px"}}};class As extends b{keyFields={};constructor(t,n){super(t,{span:[1,1],marker:()=>new e.Circle({style:{r:6}}),markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"}),this.keyFields=n||{}}poptipGroup;focusGroup;markerGroup;labelGroup;valueGroup;background;get showValue(){const{valueText:t}=this.attributes;return!!t&&("string"==typeof t||"number"==typeof t?""!==t:"function"==typeof t||""!==t.attr("text"))}get actualSpace(){const t=this.labelGroup,e=this.valueGroup,{markerSize:n,focus:i,focusMarkerSize:s}=this.attributes,{width:r,height:a}=t.node().getBBox(),{width:o,height:l}=e.node().getBBox();return{markerWidth:n,labelWidth:r,valueWidth:o,focusWidth:i?s??12:0,height:Math.max(n,a,l)}}get span(){const{span:t}=this.attributes;if(!t)return[1,1];const[e,n]=P(t),i=this.showValue?n:0,s=e+i;return[e/s,i/s]}setAttribute(t,e){super.setAttribute(t,e)}get shape(){const{markerSize:t,width:e}=this.attributes,n=this.actualSpace,{markerWidth:i,focusWidth:s,height:r}=n;let{labelWidth:a,valueWidth:o}=this.actualSpace;const[l,c,h]=this.spacing;if(e){const n=e-t-l-c-s-h,[i,r]=this.span;[a,o]=[i*n,r*n]}return{width:i+a+o+l+c+s+h,height:r,markerWidth:i,labelWidth:a,valueWidth:o,focusWidth:s}}get spacing(){const{spacing:t,focus:e}=this.attributes;if(!t)return[0,0,0];const[n,i,s]=P(t);return[n,this.showValue?i:0,e?s:0]}get layout(){const{markerWidth:t,labelWidth:e,valueWidth:n,focusWidth:i,width:s,height:r}=this.shape,[a,o,l]=this.spacing;return{height:r,width:s,markerWidth:t,labelWidth:e,valueWidth:n,focusWidth:i,position:[t/2,t+a,t+e+a+o,t+e+n+a+o+l+i/2]}}get scaleSize(){const t=function(t){const e=t.querySelector(ks.marker.class);return e?e.style:{}}(this.markerGroup.node()),{markerSize:e,markerStrokeWidth:n=t.strokeWidth,markerLineWidth:i=t.lineWidth,markerStroke:s=t.stroke}=this.attributes,r=+(n||i||(s?1:0))*Math.sqrt(2),{width:a,height:o}=this.markerGroup.node().getBBox();return(1-r/Math.max(a,o))*e}renderMarker(t){const{marker:e,classNamePrefix:n}=this.attributes,i=C(this.attributes,"marker");this.markerGroup=t.maybeAppendByClassName(ks.markerGroup,"g").style("zIndex",0),z(!!e,this.markerGroup,()=>{const t=this.markerGroup.node(),s=t.childNodes?.[0],r=Wi(ks.marker.name,Vi,n),a="string"==typeof e?new D({style:{symbol:e},className:r}):e();if(s)if(a.nodeName===s.nodeName)s instanceof D?s.update({...i,symbol:e}):(mi(s,a),$(s).styles(i));else{if(s.remove(),!(a instanceof D)){const t=Wi(ks.marker.name,Vi,n);a.className=t}$(a).styles(i),t.appendChild(a)}else{if(!(a instanceof D)){const t=Wi(ks.marker.name,Vi,n);a.className=t,$(a).styles(i)}t.appendChild(a)}this.markerGroup.node().scale(1/this.markerGroup.node().getScale()[0]);const o=vn(this.markerGroup.node(),this.scaleSize,!0);this.markerGroup.node().style._transform=`scale(${o})`})}renderLabel(t){const{text:e,...n}=C(this.attributes,"label"),{classNamePrefix:i}=this.attributes;this.labelGroup=t.maybeAppendByClassName(ks.labelGroup,"g").style("zIndex",0);const s=Wi(ks.label.name,"label",i),r=this.labelGroup.maybeAppendByClassName(ks.label,()=>bn(e));r.node().setAttribute("class",s),r.styles(n)}renderValue(t){const{text:e,...n}=C(this.attributes,"value"),{classNamePrefix:i}=this.attributes;this.valueGroup=t.maybeAppendByClassName(ks.valueGroup,"g").style("zIndex",0),z(this.showValue,this.valueGroup,()=>{const t=Wi(ks.value.name,"value",i),s=this.valueGroup.maybeAppendByClassName(ks.value,()=>bn(e));s.node().setAttribute("class",t),s.styles(n)})}createPoptip(){const{poptip:t}=this.attributes,{render:e,...n}=t||{},i=new ws({style:m(Ss,n)});return this.poptipGroup=i,i}bindPoptip(t){const{poptip:e}=this.attributes;e&&(this.poptipGroup||this.createPoptip()).bind(t,()=>{const{labelText:t,valueText:n,markerFill:i}=this.attributes,s="string"==typeof t?t:t?.attr("text"),r="string"==typeof n?n:n?.attr("text");if("function"==typeof e.render)return{html:e.render({...this.keyFields,label:s,value:r,color:i})};let a="";return"string"!=typeof s&&"number"!=typeof s||(a+=`
${s}
`),"string"!=typeof r&&"number"!=typeof r||(a+=`
${r}
`),{html:a}})}renderFocus(t){const{focus:n,focusMarkerSize:i,classNamePrefix:s}=this.attributes,r={x:0,y:0,size:i,opacity:.6,symbol:"focus",stroke:"#aaaaaa",lineWidth:1};j(n)||(this.focusGroup=t.maybeAppendByClassName(ks.focusGroup,"g").style("zIndex",0),z(n,this.focusGroup,()=>{const n=Wi(ks.focus.name,"focus-icon",s),i=new D({style:{...r,symbol:"focus"},className:n}),a=new e.Circle({style:{r:r.size/2,fill:"transparent"}}),o=this.focusGroup.node();o.appendChild(a),o.appendChild(i),i.update({opacity:0}),t.node().addEventListener("pointerenter",()=>{i.update({opacity:1})}),t.node().addEventListener("pointerleave",()=>{i.update({opacity:0})})}))}renderPoptip(t){const{poptip:e}=this.attributes;e&&[t.maybeAppendByClassName(ks.value,"g").node(),t.maybeAppendByClassName(ks.label,"g").node()].forEach(t=>{t&&this.bindPoptip(t)})}renderBackground(t){const{width:e,height:n}=this.shape,i=C(this.attributes,"background");this.background=t.maybeAppendByClassName(ks.backgroundGroup,"g").style("zIndex",-1);const s=this.background.maybeAppendByClassName(ks.background,"rect");s.styles({width:e,height:n,...i});const{classNamePrefix:r=""}=this.attributes;if(r){const t=Wi(ks.background.name,"background",r);s.node().setAttribute("class",t)}}adjustLayout(){const{layout:{labelWidth:t,valueWidth:e,height:n,position:[i,s,r,a]}}=this,o=n/2;this.markerGroup.styles({transform:`translate(${i}, ${o})${this.markerGroup.node().style._transform}`}),this.labelGroup.styles({transform:`translate(${s}, ${o})`}),this.focusGroup&&this.focusGroup.styles({transform:`translate(${a}, ${o})`}),Jn(this.labelGroup.select(ks.label.class).node(),Math.ceil(t)),this.showValue&&(this.valueGroup.styles({transform:`translate(${r}, ${o})`}),Jn(this.valueGroup.select(ks.value.class).node(),Math.ceil(e)))}render(t,e){const n=$(e),{x:i=0,y:s=0}=t;n.styles({transform:`translate(${i}, ${s})`}),this.renderMarker(n),this.renderLabel(n),this.renderValue(n),this.renderBackground(n),this.renderPoptip(n),this.renderFocus(n),this.adjustLayout()}}const Ls=Le({page:"item-page",navigator:"navigator",item:"item"},"items"),Cs=function(t,e){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return t?e(t):n};class Ms extends b{constructor(t){super(t,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:hs,mouseenter:hs,mouseleave:hs})}navigator;navigatorShape=[0,0];get pageViews(){return this.navigator.getContainer()}get grid(){const{gridRow:t,gridCol:e,data:n}=this.attributes;if(!t&&!e)throw new Error("gridRow and gridCol can not be set null at the same time");return t&&e?[t,e]:t?[t,n.length]:[n.length,e]}get renderData(){const{data:t,layout:e,poptip:n,focus:i,focusMarkerSize:s,classNamePrefix:r}=this.attributes,a=C(this.attributes,"item");return t.map((o,l)=>{const{id:c=l,label:h,value:u}=o;return{id:`${c}`,index:l,style:{layout:e,labelText:h,valueText:u,poptip:n,focus:i,focusMarkerSize:s,classNamePrefix:r,...Object.fromEntries(Object.entries(a).map(e=>{let[n,i]=e;return[n,en(i,[o,l,t])]}))}}})}getGridLayout(){const{orientation:t,width:e,rowPadding:n,colPadding:i}=this.attributes,[s]=this.navigatorShape,[r,a]=this.grid,o=a*r;let l=0;return this.pageViews.children.map((c,h)=>{const u=Math.floor(h/o),d=h%o,p=this.ifHorizontal(a,r),g=[Math.floor(d/p),d%p];"vertical"===t&&g.reverse();const[f,m]=g,y=(e-s-(a-1)*i)/a,b=c.getBBox().height;let[x,v]=[0,0];return"horizontal"===t?([x,v]=[l,f*(b+n)],l=m===a-1?0:l+y+i):([x,v]=[m*(y+i),l],l=f===r-1?0:l+b+n),{page:u,index:h,row:f,col:m,pageIndex:d,width:y,height:b,x,y:v}})}getFlexLayout(){const{width:t,height:e,rowPadding:n,colPadding:i}=this.attributes,[s]=this.navigatorShape,[r,a]=this.grid,[o,l]=[t-s,e];let[c,h,u,d,p,g,f,m]=[0,0,0,0,0,0,0,0];return this.pageViews.children.map((t,e)=>{const{width:s,height:y}=t.getBBox(),b=0===f?0:i,x=f+b+s;return x<=o&&Cs(p,t=>tt0?(this.navigatorShape=[55,0],t.call(this)):e}ifHorizontal(t,e){const{orientation:n}=this.attributes;return Ki(n,t,e)}flattenPage(t){t.querySelectorAll(Ls.item.class).forEach(e=>{t.appendChild(e)}),t.querySelectorAll(Ls.page.class).forEach(e=>{t.removeChild(e).destroy()})}renderItems(t){const{click:e,mouseenter:n,mouseleave:i,classNamePrefix:s}=this.attributes;this.flattenPage(t);const r=this.dispatchCustomEvent.bind(this),a=Wi(Ls.item.name,"item",s);$(t).selectAll(Ls.item.class).data(this.renderData,t=>t.id).join(t=>t.append(t=>{let{style:e,...n}=t;return new As({style:e},n)}).attr("className",a).on("click",function(){e?.(this),r("itemClick",{item:this})}).on("pointerenter",function(){n?.(this),r("itemMouseenter",{item:this})}).on("pointerleave",function(){i?.(this),r("itemMouseleave",{item:this})}),t=>t.each(function(t){let{style:e}=t;this.update(e)}),t=>t.remove())}relayoutNavigator(){const{layout:t,width:e}=this.attributes,n=this.pageViews.children[0]?.getBBox().height||0,[i,s]=this.navigatorShape;this.navigator.update("grid"===t?{pageWidth:e-i,pageHeight:n-s}:{})}adjustLayout(){const t=Object.entries(us(this.itemsLayout,"page")).map(t=>{let[e,n]=t;return{page:e,layouts:n}}),n=[...this.navigator.getContainer().children];t.forEach(t=>{let{layouts:i}=t;const s=this.pageViews.appendChild(new e.Group({className:Ls.page.name}));i.forEach(t=>{const{x:e,y:i,index:r,width:a,height:o}=t,l=n[r];var c,h,u,d;s.appendChild(l),h=t,u=l,(d=V(c="__layout__")?c.split("."):c).forEach(function(t,e){et.append(()=>new gs({style:s})).attr("className",Ls.navigator.name).each(function(){r.navigator=this}),t=>t.each(function(){this.update(s)}),t=>t.remove()),this.navigator}getBBox(){return this.navigator.getBBox()}render(t,e){const{data:n}=this.attributes;if(!n||0===n.length)return;const i=this.renderNavigator($(e));this.renderItems(i.getContainer()),this.adjustLayout()}dispatchCustomEvent(t,n){const i=new e.CustomEvent(t,{detail:n});this.dispatchEvent(i)}}class Bs extends e.HTML{update(t){this.attr(t)}}class Es extends b{constructor(t){super(t,Qi)}titleGroup;title;itemsGroup;items;renderTitle(t,e,n){const{showTitle:i,titleText:s,classNamePrefix:r}=this.attributes,a=C(this.attributes,"title"),[o,l]=B(a);this.titleGroup=t.maybeAppendByClassName(es.titleGroup,"g").styles(l);const c={width:e,height:n,...o,text:i?s:"",classNamePrefix:r};this.title=this.titleGroup.maybeAppendByClassName(es.title,()=>new qi({style:c})).update(c)}renderCustom(t){const{data:e}=this.attributes,n={innerHTML:this.attributes.render(e),pointerEvents:"auto"};t.maybeAppendByClassName(es.html,()=>new Bs({className:es.html.name,style:n})).update(n)}renderItems(t,e){const{x:n,y:i,width:s,height:r}=e,a=C(this.attributes,"title",!0),[o,l]=B(a),c={...o,width:s,height:r,x:0,y:0};this.itemsGroup=t.maybeAppendByClassName(es.itemsGroup,"g").styles({...l,transform:`translate(${n}, ${i})`});const h=this;this.itemsGroup.selectAll(es.items.class).data(["items"]).join(t=>t.append(()=>new Ms({style:c})).attr("className",es.items.name).each(function(){h.items=$(this)}),t=>t.update(c),t=>t.remove())}adjustLayout(){const{showTitle:t}=this.attributes;if(t){const{x:t,y:e}=this.title.node().getAvailableSpace();this.itemsGroup.node().style.transform=`translate(${t}, ${e})`}}get availableSpace(){const{showTitle:t,width:e,height:n}=this.attributes;return t?this.title.node().getAvailableSpace():new _i(0,0,e,n)}getBBox(){const t=this.title?.node(),e=this.items?.node();return t&&e?function(t,e){const{position:n,spacing:i,inset:s,text:r}=t.attributes,a=t.getBBox(),o=e.getBBox(),l=Ni(n),[c,h,u,d]=P(r?i:0),[p,g,f,m]=P(s),[y,b]=[d+h,c+u],[x,v]=[m+g,p+f];if("l"===l[0])return new _i(a.x,a.y,o.width+a.width+y+x,Math.max(o.height+v,a.height));if("t"===l[0])return new _i(a.x,a.y,Math.max(o.width+x,a.width),o.height+a.height+b+v);const[w,k]=[e.attributes.width||o.width,e.attributes.height||o.height];return new _i(o.x,o.y,w+a.width+y+x,k+a.height+b+v)}(t,e):super.getBBox()}render(t,e){const{width:n,height:i,x:s=0,y:r=0,classNamePrefix:a,render:o}=this.attributes,l=$(e),c=e.className||"legend-category";a?e.attr("className",`${c} ${a}legend`):e.className||e.attr("className","legend-category"),e.style.transform=`translate(${s}, ${r})`,o?this.renderCustom(l):(this.renderTitle(l,n,i),this.renderItems(l,this.availableSpace),this.adjustLayout())}}function Ps(t){var e=document.createElement("div");e.innerHTML=t;var n=e.childNodes[0];return n&&e.contains(n)&&e.removeChild(n),n}const Ns=(t,e)=>{null!=e?t.replaceChildren?Array.isArray(e)?t.replaceChildren(...e):t.replaceChildren(e):(t.innerHTML="",Array.isArray(e)?e.forEach(e=>t.appendChild(e)):t.appendChild(e)):t.innerHTML=""};function $s(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return{CONTAINER:`${t}tooltip`,TITLE:`${t}tooltip-title`,LIST:`${t}tooltip-list`,LIST_ITEM:`${t}tooltip-list-item`,NAME:`${t}tooltip-list-item-name`,MARKER:`${t}tooltip-list-item-marker`,NAME_LABEL:`${t}tooltip-list-item-name-label`,VALUE:`${t}tooltip-list-item-value`,CROSSHAIR_X:`${t}tooltip-crosshair-x`,CROSSHAIR_Y:`${t}tooltip-crosshair-y`}}const Ts={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function Os(){const t=$s(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"");return{[`.${t.CONTAINER}`]:{position:"absolute",visibility:"visible","z-index":8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)","background-color":"rgba(255, 255, 255, 0.96)","box-shadow":"0 6px 12px 0 rgba(0, 0, 0, 0.12)","border-radius":"4px",color:"rgba(0, 0, 0, 0.65)","font-size":"12px","line-height":"20px",padding:"12px","min-width":"120px","max-width":"360px","font-family":"Roboto-Regular"},[`.${t.TITLE}`]:{color:"rgba(0, 0, 0, 0.45)"},[`.${t.LIST}`]:{margin:"0px","list-style-type":"none",padding:"0px"},[`.${t.LIST_ITEM}`]:{"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},[`.${t.MARKER}`]:{width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},[`.${t.NAME}`]:{display:"flex","align-items":"center","max-width":"216px"},[`.${t.NAME_LABEL}`]:{flex:1,...Ts},[`.${t.VALUE}`]:{display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)",...Ts},[`.${t.CROSSHAIR_X}`]:{position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},[`.${t.CROSSHAIR_Y}`]:{position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"}}}class zs extends b{static tag="tooltip";timestamp=-1;get HTMLTooltipElement(){return this.element}getContainer(){return this.element}get elementSize(){return{width:this.element.offsetWidth,height:this.element.offsetHeight}}get HTMLTooltipItemsElements(){const{data:t,template:e}=this.attributes;return t.map((t,n)=>{let{name:i="",color:s="black",index:r,...a}=t;const o={name:i,color:s,index:r??n,...a};return Ps((l=e.item,c=o,l&&c?l.replace(/\\?\{([^{}]+)\}/g,function(t,e){return"\\"===t.charAt(0)?t.slice(1):void 0===c[e]?"":c[e]}):l));var l,c})}element;constructor(t){const e=t.style?.template?.prefixCls,n=$s(e);super(t,{data:[],x:0,y:0,visibility:"visible",title:"",position:"bottom-right",offset:[5,5],enterable:!1,container:{x:0,y:0},bounding:null,template:{prefixCls:"",container:`
`,title:`
`,item:`
  • \n \n \n {name}\n \n {value}\n
  • `},style:Os(e)}),this.initShape(),this.render(this.attributes,this)}render(t,e){this.renderHTMLTooltipElement(),this.updatePosition()}destroy(){this.element?.remove(),super.destroy()}show(t,e){if(void 0!==t&&void 0!==e){const n=()=>{this.attributes.x=t??this.attributes.x,this.attributes.y=e??this.attributes.y,this.updatePosition()};"hidden"===this.element.style.visibility?this.closeTransition(n):n()}this.element.style.visibility="visible"}hide(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const{enterable:n}=this.attributes;n&&this.isCursorEntered(t,e)||(this.element.style.visibility="hidden")}initShape(){const{template:t}=this.attributes;this.element=Ps(t.container),this.id&&this.element.setAttribute("id",this.id)}prevCustomContentKey=this.attributes.contentKey;renderCustomContent(){if(void 0!==this.prevCustomContentKey&&this.prevCustomContentKey===this.attributes.contentKey)return;this.prevCustomContentKey=this.attributes.contentKey;const{content:t}=this.attributes;t&&("string"==typeof t?this.element.innerHTML=t:Ns(this.element,t))}renderHTMLTooltipElement(){const{template:t,title:e,enterable:n,style:i,content:s}=this.attributes,r=$s(t.prefixCls),a=this.element;if(this.element.style.pointerEvents=n?"auto":"none",s)this.renderCustomContent();else{e?(a.innerHTML=t.title,a.getElementsByClassName(r.TITLE)[0].innerHTML=e):a.getElementsByClassName(r.TITLE)?.[0]?.remove();const n=this.HTMLTooltipItemsElements,i=document.createElement("ul");i.className=r.LIST,Ns(i,n);const s=this.element.querySelector(`.${r.LIST}`);s?s.replaceWith(i):a.appendChild(i)}A(a,i)}getRelativeOffsetFromCursor(t){const{position:e,offset:n}=this.attributes,i=(t||e).split("-"),s={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},{width:r,height:a}=this.elementSize;let o=[-r/2,-a/2];return i.forEach(t=>{const[e,i]=o,[l,c]=s[t];o=[e+(r/2+n[0])*l,i+(a/2+n[1])*c]}),o}setOffsetPosition(t){let[e,n]=t;const{x:i=0,y:s=0,container:{x:r,y:a}}=this.attributes;this.element.style.left=`${+i+r+e}px`,this.element.style.top=`${+s+a+n}px`}updatePosition(){const{showDelay:t=60}=this.attributes,e=Date.now();this.timestamp>0&&e-this.timestampd+g,top:hp+f},y=[];a.split("-").forEach(t=>{m[t]?y.push(u[t]):y.push(t)});const b=y.join("-");return this.getRelativeOffsetFromCursor(b)}isCursorEntered(t,e){if(this.element){const{x:n,y:i,width:s,height:r}=this.element.getBoundingClientRect();return new _i(n,i,s,r).isPointIn(t,e)}return!1}closeTransition(t){const e=this.element.style.transition;this.element.style.transition="none",t(),setTimeout(()=>{this.element.style.transition=e},10)}}const _s={default:{sizeStyle:{width:44,height:22,radius:11},tagStyle:{textStyle:{fontSize:12,lineHeight:16,fill:"#fff"},padding:0},markerStyle:{size:11}},small:{sizeStyle:{width:28,height:16,radius:8},tagStyle:{textStyle:{fontSize:10,lineHeight:14,fill:"#fff"},padding:0},markerStyle:{size:8}},mini:{sizeStyle:{width:20,height:14,radius:7},tagStyle:{textStyle:{fontSize:7,lineHeight:10,fill:"#fff"},padding:0},markerStyle:{size:7}}};function Is(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const i=Number(t.style.height)-2*e;return{x:n?Number(t.style.width)+Number(t.style.x)-e-i:Number(t.style.x)+e,y:Number(t.style.y)+e,width:i,height:i,radius:i/2}}class Fs extends b{static tag="switch";checked;constructor(t){super(t,{x:0,y:0,size:"default",spacing:2,checked:!0,disabled:!1})}render(t,e){const{size:n,spacing:i,disabled:s,checked:r,unCheckedChildren:a,checkedChildren:o}=t,l=$(e).maybeAppendByClassName("switch-content","g").node(),c=l.getLocalBounds(),{sizeStyle:h,tagStyle:u}=dn(_s,n,_s.default),d=s?"no-drop":"pointer",p=r?"#1890FF":"#00000040";let g=h;const f=r?o:a;(o||a)&&$(l).maybeAppendByClassName("switch-tag",()=>new R({})).call(t=>{const e=t.node();e.update({cursor:d,backgroundStyle:null,text:!1,marker:!1,...u,...f});const{max:n,min:i}=e?.getLocalBounds()||{},s=n[0]-i[0]+h.radius,a=n[1]-i[1],o=Math.max(s+h.height+2,h.width);g={...h,width:o},e.update(function(t,e){let{width:n,height:i}=e,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return{x:arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?Number(t.width)+Number(t.x)-n:Number(t.x)+s,y:Number(t.y)+(Number(t.height)-i)/2}}({x:c.min[0],y:c.min[1],width:o,height:g.height},{width:s,height:a},g.radius,r))});const m=$(l).maybeAppendByClassName("switch-background","rect").styles({zIndex:(l.style.zIndex||0)-1,x:c.min[0],y:c.min[1],fill:p,cursor:d,fillOpacity:s?.4:1,...g}).node(),y=$(l).maybeAppendByClassName("switch-background-stroke","rect").styles({zIndex:(l.style.zIndex||0)-2,x:c.min[0],y:c.min[1],stroke:p,lineWidth:0,...g}).node();$(l).maybeAppendByClassName("switch-handle","rect").styles({fill:"#fff",cursor:d}).call(t=>{const e=t.node(),n=Is(m,i,r),s=Is(m,i,!r);e.attr("x")&&!Dt(n,s)&&this.checked!==r?(e.attr(s),e.getAnimations()[0]?.cancel(),y.getAnimations()[0]?.cancel(),e.animate([{x:s.x},{x:n.x}],{duration:120,fill:"both"}),y.animate([{lineWidth:0,strokeOpacity:.5},{lineWidth:14,strokeOpacity:0}],{duration:400,easing:"ease-on"})):e.attr(n)}),this.checked=!!r}}const Gs={tagText:"",lineStroke:"#416180",lineStrokeOpacity:.45,lineLineWidth:1,lineLineDash:[5,5]},Hs=m({},Gs,{type:"line",tagPosition:"start",tagAlign:"center",tagVerticalAlign:"bottom"}),Ws=m({},Gs,{type:"circle",defaultRadius:0}),Vs=m({},Gs,{type:"polygon",defaultRadius:0,startAngle:0});class Ds extends b{static tag="crosshair-base";pointer;shapesGroup;tagShape;crosshairShape;get localPointer(){const[t,e]=this.getPosition(),[n,i]=this.pointer;return[n-t,i-e]}get tagStyle(){return C(this.attributes,"tag")}get crosshairStyle(){return{...C(this.attributes,"line"),d:this.crosshairPath}}constructor(t){super(t,Gs)}render(t,e){const n=$(e).maybeAppendByClassName(".crosshair-group","g").node();this.shapesGroup=n;const i=this.tagStyle,s=this.crosshairStyle;this.tagShape=$(n).maybeAppendByClassName("crosshair-tag",()=>new R({style:i})).styles(i).node(),this.crosshairShape=$(n).maybeAppendByClassName(".crosshair-path","path").styles(s).node(),this.adjustLayout()}setPointer(t){this.pointer=t}}class Rs extends Ds{static tag="line-crosshair";static defaultOptions=(()=>({style:Hs}))();get crosshairPath(){const{startPos:[t,e],endPos:[n,i]}=this.attributes;return[["M",0,0],["L",n-t,i-e],["Z"]]}get localPointer(){if(!this.pointer)return this.attributes.startPos;const[t,e]=this.getPosition(),[n,i]=this.pointer;return[n-t,i-e]}get isVertical(){const{startPos:[t,e],endPos:[n,i]}=this.attributes;return t===n&&e!==i}get tagShapeSpace(){const{width:t,height:e}=ui(this.tagShape);return{width:t,height:e}}constructor(t){super(m({},Rs.defaultOptions,t))}update(t){super.update(t)}setPointer(t){super.setPointer(t),this.adjustPosition()}setText(t){this.tagShape.update({text:t}),this.adjustTag()}adjustLayout(){this.adjustPosition(),this.adjustTag()}adjustPosition(){const[t,e]=this.localPointer,{startPos:[n,i]}=this.attributes,s=this.getOrientVal([n,e],[t,i]);this.shapesGroup.setLocalPosition(s)}adjustTag(){const{tagText:t,tagPosition:e,startPos:[n,i],endPos:[s,o]}=this.attributes;if(!t||""===t)return void a(this.tagShape);r(this.tagShape);const{width:l,height:c}=this.tagShapeSpace,[h,u]=this.getOrientVal({start:[-l/2,c/2],end:[s-n+l/2,c/2]},{start:[0,0],end:[0,o-i+c]})[e];this.tagShape.setLocalPosition(h,u)}getOrientVal(t,e){return this.isVertical?e:t}}class js extends Ds{static tag="circle-crosshair";static defaultOptions=(()=>({style:Ws}))();get crosshairPath(){return this.createCirclePath()}constructor(t){super(m({},js.defaultOptions,t))}update(t){super.update(t)}setPointer(t){let[e,n]=t;super.setPointer([e,n]);const[i,s]=this.localPointer,{center:[r,a]}=this.attributes,o=this.createCirclePath(((i-r)**2+(s-a)**2)**.5);this.crosshairShape.attr({d:o})}adjustLayout(){a(this.tagShape)}createCirclePath(t){const{center:[e,n],defaultRadius:i}=this.attributes;return _(e,n,t||i)}}function Ys(t,e){let[n,i]=t,[s,r]=e;return((n-s)**2+(i-r)**2)**.5}function qs(t,e,n,i,s,r){return(t===e||Math.min(t,e)<=s&&s<=Math.max(t,e))&&(n===i||Math.min(n,i)<=r&&r<=Math.max(n,i))}function Ks(t,e,n){const i=t;(!t.length||e=0&&t<=1&&e>=0&&e<=1&&(d[0]=s+t*(a-s),d[1]=r+t*(o-r))}return d}class Us extends Ds{static tag="polygon-crosshair";static defaultOptions=(()=>({style:Vs}))();get crosshairPath(){return this.createPolygonPath()}constructor(t){super(m({},Us.defaultOptions,t))}update(t){super.update(t)}get points(){const{startAngle:t,sides:e}=this.attributes,n=2*Math.PI/e,i=[1,0],s=[];for(let r=0;r{let[a,o]=s;const[l,c]=Rt([a,o],t||e);return[0===r?"M":"L",n+l,i+c]});return s.push(["Z"]),s}intersection(t){let[e,n]=t;const{points:i}=this,{center:[s,r]}=this.attributes;let a,o;for(let t=1;t<=i.length;t+=1){const[l,c]=i[t-1],[h,u]=i[t%i.length],d=Zs([e,n],[s,r],[l+s,c+r],[h+s,u+r]);0!==d.length&&([a,o]=d)}return[a,o]}}const Xs=M({fill:"rgba(0,0,0,0.45)",fontSize:10,textAlign:"start",textBaseline:"middle",overflow:"clip"},"label"),Js={width:12,height:12,radius:2,stroke:"#dadada",lineWidth:1,fill:"#ffffff",cursor:"pointer"},Qs={width:12,height:12,radius:2,stroke:"#3471F9",lineWidth:1,fill:"#3471F9",cursor:"pointer"},tr={d:[["M",3,6],["L","5","8.5"],["L","8.5","4"]],lineWidth:1,cursor:"pointer"};class er extends b{static tag="checkbox";checkboxBoxShape;checked;constructor(t){super(t,{labelText:"",spacing:4,checked:!1,...Xs})}render(t,e){const{checked:n,spacing:i}=t;this.checked=!!n;const s=T(e,".checkbox-content","g").attr("className","checkbox-content").node(),r=C(t,"box"),a=C(t,"checked"),o=C(t,"label"),l={...this.checked?Qs:Js,...r},c={...tr,...a};this.checkboxBoxShape=T(s,".checkbox-box","rect").styles({className:"checkbox-box",zIndex:(s.style.zIndex||0)-1,...l}).node(),T(this.checkboxBoxShape,".checkbox-checked","path").styles({className:"checkbox-box-checked",stroke:"#fff",...c});const{x:h,y:u}=function(t,e){const n=t.getLocalBounds();return{x:n.halfExtents[0]?n.max[0]+(e||0):t.style.x,y:n.halfExtents[1]?(n.min[1]+n.max[1])/2:t.style.y}}(this.checkboxBoxShape,Number(i));T(s,".checkbox-label","text").styles({className:"checkbox-label",x:h,y:u,...o})}}function nr(t){let e=1/0,n=1/0,i=-1/0,s=-1/0;for(let r=0;ri&&(i=h),u>s&&(s=u)}return new _i(e,n,i-e,s-n)}const ir=function(t,e,n){const{width:i,height:s}=t,{flexDirection:r="row",flexWrap:a="nowrap",justifyContent:o="flex-start",alignContent:l="flex-start",alignItems:c="flex-start"}=n,h="row"===r,u="row"===r||"column"===r,d=h?u?[1,0]:[-1,0]:u?[0,1]:[0,-1];let[p,g]=[0,0];const f=e.map(t=>{const{width:e,height:n}=t,[i,s]=[p,g];return[p,g]=[p+e*d[0],g+n*d[1]],new _i(i,s,e,n)}),m=nr(f),y={"flex-start":0,"flex-end":h?i-m.width:s-m.height,center:h?(i-m.width)/2:(s-m.height)/2},b=f.map(t=>{const{x:e,y:n}=t,i=_i.fromRect(t);return i.x=h?e+y[o]:e,i.y=h?n:n+y[o],i}),x=(nr(b),t=>{const[e,n]=h?["height",s]:["width",i];switch(c){case"flex-start":default:return 0;case"flex-end":return n-t[e];case"center":return n/2-t[e]/2}});return b.map(t=>{const{x:e,y:n}=t,i=_i.fromRect(t);return i.x=h?e:e+x(i),i.y=h?n+x(i):n,i}).map(e=>{const n=_i.fromRect(e);return n.x+=t.x??0,n.y+=t.y??0,n})},sr=function(t,e,n){return[]},rr=(t,e,n)=>{if(0===e.length)return[];const i={flex:ir,grid:sr},s=n.display in i?i[n.display]:null;return s?.call(null,t,e,n)||[]};class ar extends e.Group{layoutEvents=(()=>[e.ElementEvent.BOUNDS_CHANGED,e.ElementEvent.INSERTED,e.ElementEvent.REMOVED])();$margin=(()=>P(0))();$padding=(()=>P(0))();set margin(t){this.$margin=P(t)}get margin(){return this.$margin}set padding(t){this.$padding=P(t)}get padding(){return this.$padding}getBBox(){const{x:t=0,y:e=0,width:n,height:i}=this.attributes,[s,r,a,o]=this.$margin;return new _i(t-o,e-s,n+o+r,i+s+a)}appendChild(t,e){return t.isMutationObserved=!0,super.appendChild(t,e),t}getAvailableSpace(){const{width:t,height:e}=this.attributes,[n,i,s,r]=this.$padding,[a,,,o]=this.$margin;return new _i(r+o,n+a,t-r-i,e-n-s)}constructor(t){super(t);const{margin:e=0,padding:n=0}=t.style||{};this.margin=e,this.padding=n,this.isMutationObserved=!0,this.bindEvents()}layout(){if(this.attributes.display&&this.isConnected&&!this.children.some(t=>!t.isConnected))try{const{x:t,y:e}=this.attributes;this.style.transform=`translate(${t}, ${e})`;const n=rr(this.getAvailableSpace(),this.children.map(t=>t.getBBox()),this.attributes);this.children.forEach((t,e)=>{const{x:i,y:s}=n[e];t.style.transform=`translate(${i}, ${s})`})}catch(t){}}bindEvents(){this.layoutEvents.forEach(t=>{this.addEventListener(t,t=>{t.target&&(t.target.isMutationObserved=!0,this.layout())})})}attributeChangedCallback(t,e,n){"margin"===t?this.margin=n:"padding"===t&&(this.padding=n),this.layout()}}class or extends b{static defaultOptions={style:{value:"",label:"",cursor:"pointer"}};hoverColor="#f5f5f5";selectedColor="#e6f7ff";background=(()=>this.appendChild(new e.Rect({})))();label=(()=>this.background.appendChild(new e.Group({})))();get padding(){return P(this.style.padding)}renderLabel(){const{label:t,value:e}=this.style,n=C(this.attributes,"label");$(this.label).maybeAppend(".label",()=>bn(t)).attr("className","label").styles(n),this.label.attr("__data__",e)}renderBackground(){const t=this.label.getBBox(),[e,n,i,s]=this.padding,{width:r,height:a}=t,o=r+s+n,l=a+e+i,c=C(this.attributes,"background"),{width:h=0,height:u=0,selected:d}=this.style;this.background.attr({...c,width:Math.max(o,h),height:Math.max(l,u),fill:d?this.selectedColor:"#fff"}),this.label.attr({transform:`translate(${s}, ${(l-a)/2})`})}constructor(t){super(m({},or.defaultOptions,t))}render(){this.renderLabel(),this.renderBackground()}bindEvents(){this.addEventListener("pointerenter",()=>{this.style.selected||this.background.attr("fill",this.hoverColor)}),this.addEventListener("pointerleave",()=>{this.style.selected||this.background.attr("fill",this.style.backgroundFill)});const t=this;this.addEventListener("click",()=>{const{label:e,value:n,onClick:i}=this.style;i?.(n,{label:e,value:n},t)})}}class lr extends b{static defaultOptions={style:{x:0,y:0,width:140,height:32,options:[],bordered:!0,defaultValue:"",selectRadius:8,selectStroke:"#d9d9d9",showDropdownIcon:!0,placeholderText:"请选择",placeholderFontSize:12,placeholderTextBaseline:"top",placeholderFill:"#c2c2c2",dropdownFill:"#fff",dropdownStroke:"#d9d9d9",dropdownRadius:8,dropdownShadowBlur:4,dropdownShadowColor:"rgba(0, 0, 0, 0.08)",dropdownPadding:8,dropdownSpacing:10,optionPadding:[8,12],optionFontSize:12,optionTextBaseline:"top",optionBackgroundFill:"#fff",optionBackgroundRadius:4,optionLabelFontSize:12,optionLabelTextBaseline:"top"}};currentValue=(()=>lr.defaultOptions.style?.defaultValue)();isPointerInSelect=!1;setValue(t){this.currentValue=t,this.render()}getValue(){return this.currentValue}get dropdownPadding(){return P(this.style.dropdownPadding)}select=(()=>this.appendChild(new e.Rect({className:"select",style:{cursor:"pointer",width:0,height:0}})))();dropdown=(()=>this.appendChild(new e.Rect({className:"dropdown"})))();renderSelect(){const{x:t,y:e,width:n,height:i,bordered:s,showDropdownIcon:r}=this.style,a=C(this.attributes,"select"),o=C(this.attributes,"placeholder");this.select.attr({x:t,y:e,width:n,height:i,...a,fill:"#fff",strokeWidth:s?1:0});const l=this.dropdownPadding;r&&$(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform",`translate(${t+n-10-l[1]-l[3]}, ${e+i/2})`).style("lineWidth",1).style("stroke",this.select.style.stroke);const c=this.style.options?.find(t=>t.value===this.currentValue),h={x:t+l[3],...o};$(this.select).selectAll(".placeholder").data(c?[]:[1]).join(t=>t.append("text").attr("className","placeholder").styles(h).style("y",function(){const t=this.getBBox();return e+(i-t.height)/2}),t=>t.styles(h),t=>t.remove());const u=C(this.attributes,"optionLabel"),d={x:t+l[3],...u};$(this.select).selectAll(".value").data(c?[c]:[]).join(t=>t.append(t=>bn(t.label)).attr("className","value").styles(d).style("y",function(){const t=this.getBBox();return e+(i-t.height)/2}),t=>t.styles(d),t=>t.remove())}renderDropdown(){const{x:t,y:n,width:i,height:s,options:r,onSelect:o,open:l}=this.style,c=C(this.attributes,"dropdown"),h=C(this.attributes,"option"),u=this.dropdownPadding;$(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(r,t=>t.value).join(t=>t.append(t=>new or({className:"dropdown-item",style:{...t,...h,width:i-u[1]-u[3],selected:t.value===this.currentValue,onClick:(t,n,i)=>{this.setValue(t),o?.(t,n,i),this.dispatchEvent(new e.CustomEvent("change",{detail:{value:t,option:n,item:i}})),a(this.dropdown)}}})).each(function(t,e){const n=this.parentNode?.children,i=n.reduce((t,n,i)=>(it.update(t=>({selected:t.value===this.currentValue})),t=>t.remove());const d=this.dropdown.getElementsByClassName("dropdown-container")?.[0]?.getBBox(),{spacing:p}=c;this.dropdown.attr({transform:`translate(${t}, ${n+s+p})`,width:d.width+u[1]+u[3],height:d.height+u[0]+u[2],...c}),!l&&a(this.dropdown)}constructor(t){super(m({},lr.defaultOptions,t));const{defaultValue:e}=this.style;e&&this.style.options?.some(t=>t.value===e)&&(this.currentValue=e)}render(){this.renderSelect(),this.renderDropdown()}bindEvents(){this.addEventListener("click",t=>{t.stopPropagation()}),this.select.addEventListener("click",()=>{"visible"===this.dropdown.style.visibility?a(this.dropdown):r(this.dropdown)}),this.addEventListener("pointerenter",()=>{this.isPointerInSelect=!0}),this.addEventListener("pointerleave",()=>{this.isPointerInSelect=!1}),document?.addEventListener("click",()=>{this.isPointerInSelect||a(this.dropdown)})}}const cr=["year","month","day","hour","minute","second"],hr=["YYYY","MM","DD","hh","mm","ss"];function ur(t){return t instanceof Date?t:new Date(t)}function dr(t){let[e,n]=t;const i=cr.indexOf(e),s=cr.indexOf(n);let r="";for(let t=i;t<=s;t+=1)if(r+=hr[t],t2&&(e=":"),r+=e}return r}function pr(t,e){const n={YYYY:t.getFullYear(),MM:t.getMonth()+1,DD:t.getDate(),HH:t.getHours(),mm:t.getMinutes(),ss:t.getSeconds()};let i=e;return Object.keys(n).forEach(t=>{const e=n[t];i=i.replace(t,"YYYY"===t?`${e}`:`${e}`.padStart(2,"0"))}),i}function gr(t,e){return ur(t).getTime()-ur(e).getTime()}function fr(t,e){const[n,i]=[ur(t),ur(e)];return n.getFullYear()!==i.getFullYear()?"year":n.getMonth()!==i.getMonth()?"month":n.getDay()!==i.getDay()?"day":n.getHours()!==i.getHours()?"hour":n.getMinutes()!==i.getMinutes()?"minute":"second"}function mr(t,e){const n=new Date(t);return{year:t=>{t.setMonth(0),t.setHours(0,0,0,0)},month:t=>{t.setDate(1),t.setHours(0,0,0,0)},day:t=>t.setHours(0,0,0,0),hour:t=>t.setMinutes(0,0,0),minute:t=>t.setSeconds(0,0),second:t=>t.setMilliseconds(0)}[e](n),pr(n,dr(["year",e]))}class yr extends b{static tag="IconBase";static defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}};static backgroundOpacities={default:0,hover:.8,active:1};showBackground=!0;get label(){return"BaseIcon"}indicator;background=(()=>this.appendChild(new e.Rect({})))();icon=(()=>this.appendChild(new e.Group({})))();get lineWidth(){return Math.log10(this.attributes.size)}get padding(){return P(this.attributes.size/5)}get iconSize(){const{size:t}=this.attributes,[e,n,i,s]=this.padding;return Math.max(t-Math.max(s+n,e+i),2*this.lineWidth+1)}renderBackground(){const{x:t,y:e,size:n}=this.attributes,i=n/2,s=C(this.attributes,"background");this.background.attr({x:t-i,y:e-i,width:n,height:n,...s})}showIndicator(){if(!this.label)return;const{size:t}=this.attributes,{x:e,y:n}=this.background.getBBox();this.indicator.update({x:e+t/2,y:n-5,labelText:this.label,visibility:"visible"})}hideIndicator(){this.indicator.update({visibility:"hidden"})}constructor(t){super(m({},{style:{backgroundOpacity:yr.backgroundOpacities.default}},yr.defaultOptions,t))}connectedCallback(){super.connectedCallback();const{size:t}=this.attributes,{x:e,y:n}=this.background.getBBox(),i=this.ownerDocument?.defaultView;i&&(this.indicator=i.appendChild(new Hi({style:{x:e+t/2,y:n-t/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))}disconnectedCallback(){this.indicator.destroy()}render(){this.renderIcon(),this.showBackground&&this.renderBackground()}bindEvents(){const{onClick:t}=this.attributes;if(this.addEventListener("click",()=>{t?.(this)}),this.showBackground){const t=()=>this.background.attr({opacity:yr.backgroundOpacities.default}),e=()=>this.background.attr({opacity:yr.backgroundOpacities.hover}),n=()=>this.background.attr({opacity:yr.backgroundOpacities.active});this.addEventListener("pointerenter",()=>{e(),this.showIndicator()}),this.addEventListener("pointerleave",()=>{t(),this.hideIndicator()}),this.addEventListener("pointerdown",()=>{n()}),this.addEventListener("pointerup",()=>{t()})}}}const br=function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#565758";return new e.Path({style:{fill:n,d:`M ${t},${t} L -${t},0 L ${t},-${t} Z`,transformOrigin:"center"}})};class xr extends yr{get label(){return"播放"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,i=this.iconSize,s=i/3*3**.5*.8,r=[[t+s,e],[t-s/2,e-i/2*.8],[t-s/2,e+i/2*.8],[t+s,e]];$(this.icon).maybeAppend(".play","polygon").styles({points:r,fill:n})}}class vr extends yr{get label(){return"暂停"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,i=this.iconSize,s=i/3,r=[[t-s,e-i/2],[t-s,e+i/2],[t-s/2,e+i/2],[t-s/2,e-i/2],[t-s,e-i/2],[t+s/2,e-i/2],[t+s/2,e+i/2],[t+s,e+i/2],[t+s,e-i/2]];$(this.icon).maybeAppend(".pause","polygon").styles({points:r,fill:n})}}class wr extends yr{get label(){return"范围时间"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,{iconSize:i,lineWidth:s}=this,r=s;$(this.icon).maybeAppend(".left-line","line").styles({x1:t-i/2,y1:e-i/2,x2:t-i/2,y2:e+i/2,stroke:n,lineWidth:s}),$(this.icon).maybeAppend(".right-line","line").styles({x1:t+i/2,y1:e-i/2,x2:t+i/2,y2:e+i/2,stroke:n,lineWidth:s}),$(this.icon).maybeAppend(".left-arrow","line").styles({x1:t,y1:e,x2:t-i/2+2*r,y2:e,stroke:n,lineWidth:s,markerEnd:br(2*s,n)}),$(this.icon).maybeAppend(".right-arrow","line").styles({x1:t,y1:e,x2:t+i/2-2*r,y2:e,stroke:n,lineWidth:s,markerEnd:br(2*s,n)})}}class kr extends yr{get label(){return"单一时间"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,{iconSize:i,lineWidth:s}=this;$(this.icon).maybeAppend(".line","line").styles({x1:t,y1:e-i/2,x2:t,y2:e+i/2,stroke:n,lineWidth:s});const r=s;$(this.icon).maybeAppend(".left-arrow","line").styles({x1:t-i/2-2*r,y1:e,x2:t-2*r,y2:e,stroke:n,lineWidth:s,markerEnd:br(2*s,n)}),$(this.icon).maybeAppend(".right-arrow","line").styles({x1:t+i/2+2*r,y1:e,x2:t+2*r,y2:e,stroke:n,lineWidth:s,markerEnd:br(2*s,n)})}}const Sr=t=>[[-t/2,-t/2],[-t/2,t/2],[t/2,t/2]];class Ar extends yr{get label(){return"折线图"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,{iconSize:i,lineWidth:s}=this,r=s,a=(i-2*r-s)/4,o=(i-2*r-s)/2,[l,c]=[t-i/2+r,e+i/2-2*r];$(this.icon).maybeAppend(".coordinate","polyline").styles({points:Sr(i).map(n=>{let[i,s]=n;return[i+t,s+e]}),stroke:n,lineWidth:s}),$(this.icon).maybeAppend(".line","polyline").styles({points:[[l,c],[l+a,c-o],[l+2*a,c],[l+4*a,c-2*o]],stroke:n,lineWidth:s})}}class Lr extends yr{get label(){return"条形图"}get data(){return[1,4,2,4,3]}renderIcon(){const{data:t}=this,{x:e,y:n,color:i}=this.attributes,{iconSize:s,lineWidth:r}=this,a=r,o=(s-a)/t.length,l=(s-2*a)/4,[c,h]=[e-s/2+2*a,n+s/2-a];$(this.icon).maybeAppend(".coordinate","polyline").styles({points:Sr(s).map(t=>{let[i,s]=t;return[i+e,s+n]}),stroke:i,lineWidth:r}),$(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map((t,e)=>({value:t,index:e}))).join(t=>t.append("line").attr("className","column").style("x1",t=>{let{index:e}=t;return c+o*e}).style("y1",h).style("x2",t=>{let{index:e}=t;return c+o*e}).style("y2",t=>{let{value:e}=t;return h-l*e}).styles({y1:h,stroke:i,lineWidth:r}))}}class Cr extends yr{static tag="SpeedSelect";showBackground=!1;get padding(){return P(0)}renderIcon(){const{iconSize:t}=this,{x:e,y:n,speed:i=1}=this.attributes,s=(r=this.attributes,a=["x","y","transform","transformOrigin","width","height","size","color","speed"],function(t,e,n){if(!g(t)&&!p(t))return t;var i=n;return Q(t,function(t,n){i=e(i,t,n)}),i}(r,function(t,e,n){return a.includes(n)||(t[n]=e),t},{}));var r,a;const o=Ht(t,20,1/0),l={...s,x:e-o/2,y:n-10,width:o,height:20,defaultValue:i,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:t/5,placeholderFontSize:t/2,optionPadding:0,optionLabelFontSize:t/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]};$(this.icon).maybeAppend(".speed",()=>new lr({style:l})).attr("className","speed").each(function(){this.update(l)})}}class Mr extends b{static tag="ToggleIcon";icon=(()=>this.appendChild(new e.Group({})))();currentType;getType(){return this.currentType}constructor(t){super(t),this.currentType=this.attributes.type}render(){const{onChange:t,...e}=this.attributes;$(this.icon).selectAll(".icon").data([this.currentType]).join(t=>t.append(t=>{const e=this.toggles.find(e=>{let[n]=e;return n===t})?.[1];if(!e)throw new Error(`Invalid type: ${t}`);return new e({})}).attr("className","icon").styles(e,!1).update({}),t=>t.styles({restStyles:e}).update({}),t=>t.remove())}bindEvents(){const{onChange:t}=this.attributes;this.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();const n=(this.toggles.findIndex(t=>{let[e]=t;return e===this.currentType})+1)%this.toggles.length,i=this.toggles[n][0];t?.(this.currentType),this.currentType=i,this.render()})}}class Br extends Mr{toggles=(()=>[["play",xr],["pause",vr]])();constructor(t){super(m({},{style:{type:"play"}},t))}}class Er extends Mr{toggles=(()=>[["range",wr],["value",kr]])();constructor(t){super(m({},{style:{type:"range"}},t))}}class Pr extends Mr{toggles=(()=>[["line",Ar],["column",Lr]])();constructor(t){super(m({},{style:{type:"column"}},t))}}const Nr={reset:class extends yr{arcPath(t,e,n){const[i,s]=[n,n],r=i=>[t+n*Math.cos(i),e+n*Math.sin(i)],[a,o]=r(-5/4*Math.PI),[l,c]=r(1/4*Math.PI);return`M${a},${o},A${i},${s},0,1,1,${l},${c}`}get label(){return"重置"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,i=this.iconSize,{lineWidth:s}=this,r=s+.5;$(this.icon).maybeAppend(".reset","path").styles({stroke:n,lineWidth:s,d:this.arcPath(t,e,i/2-s),markerStart:br(r,n)})}},speed:Cr,backward:class extends yr{get label(){return"快退"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,i=this.iconSize,s=i/2,r=i/2/3**.5,a=[[t,e],[t,e-r],[t-s,e],[t,e+r],[t,e],[t+s,e-r],[t+s,e+r],[t,e]];$(this.icon).maybeAppend(".backward","polygon").styles({points:a,fill:n})}},playPause:Br,forward:class extends yr{get label(){return"快进"}renderIcon(){const{x:t,y:e,color:n}=this.attributes,i=this.iconSize,s=i/2,r=i/2/3**.5,a=[[t,e],[t,e-r],[t+s,e],[t,e+r],[t,e],[t-s,e-r],[t-s,e+r],[t,e]];$(this.icon).maybeAppend(".forward","polygon").styles({points:a,fill:n})}},selectionType:Er,chartType:Pr,split:class extends yr{showBackground=!1;constructor(t){super(m({},{style:{color:"#d8d9d9"}},t))}renderIcon(){const{x:t,y:e,color:n}=this.attributes,{iconSize:i,lineWidth:s}=this;$(this.icon).maybeAppend(".split","line").styles({x1:t,y1:e-i/2,x2:t,y2:e+i/2,stroke:n,lineWidth:s})}}};class $r extends b{static defaultOptions={style:{x:0,y:0,width:300,height:40,padding:0,align:"center",iconSize:25,iconSpacing:0,speed:1,state:"pause",chartType:"line",selectionType:"range",backgroundFill:"#fbfdff",backgroundStroke:"#ebedf0",functions:[["reset","speed"],["backward","playPause","forward"],["selectionType","chartType"]]}};background=(()=>this.appendChild(new e.Rect({})))();functions=(()=>this.appendChild(new e.Group({})))();speedSelect;get padding(){return P(this.attributes.padding)}renderBackground(){const{x:t,y:e,width:n,height:i}=this.style,s=C(this.attributes,"background");this.background.attr({x:t,y:e,width:n,height:i,...s})}renderFunctions(){const{functions:t,iconSize:e,iconSpacing:n,x:i,y:s,width:r,height:a,align:o}=this.attributes,{padding:[,l,,c]}=this,h=t.reduce((t,e)=>t.length&&e.length?t.concat("split",...e):t.concat(...e),[]),u=h.length*(e+n)-n,d={left:c+e/2,center:(r-u)/2+e/2,right:r-u-c-l+e/2}[o]||0;this.speedSelect?.destroy(),this.functions.removeChildren(),h.forEach((t,r)=>{const o=Nr[t],l={x:i+r*(e+n)+d,y:s+a/2,size:e};if(o===Cr?(l.speed=this.attributes.speed,l.onSelect=e=>this.handleFunctionChange(t,{value:e})):[Br,Er,Pr].includes(o)?(l.onChange=e=>this.handleFunctionChange(t,{value:e}),o===Br&&(l.type="play"===this.attributes.state?"pause":"play"),o===Er&&(l.type="range"===this.attributes.selectionType?"value":"range"),o===Pr&&(l.type="line"===this.attributes.chartType?"column":"line")):l.onClick=()=>this.handleFunctionChange(t,{value:t}),o===Cr){const t=this.ownerDocument?.defaultView;t&&(this.speedSelect=new o({style:{...l,zIndex:100}}),t.appendChild(this.speedSelect))}else this.functions.appendChild(new o({style:l}))})}constructor(t){super(m({},$r.defaultOptions,t))}disconnectedCallback(){super.disconnectedCallback(),this.speedSelect?.destroy()}render(){this.renderBackground(),this.renderFunctions()}handleFunctionChange(t,e){const{onChange:n}=this.attributes;n?.(t,e)}}class Tr extends e.Circle{static defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}};constructor(t){super(m({},Tr.defaultOptions,t)),this.bindEvents()}bindEvents(){this.addEventListener("mouseenter",()=>{this.attr("lineWidth",Math.ceil(+(this.style.r||0)/2))}),this.addEventListener("mouseleave",()=>{this.attr("lineWidth",0)})}}class Or extends b{static defaultOptions={style:{x:0,y:0,width:10,height:50,iconSize:10,type:"start",backgroundFill:"#fff",backgroundFillOpacity:.5,iconStroke:"#9a9a9a",iconLineWidth:1,borderStroke:"#e8e8e8",borderLineWidth:1}};renderBackground(){const{x:t,y:e,width:n,height:i}=this.attributes,s=C(this.attributes,"background");$(this).maybeAppend("background","rect").attr("className","background").styles({x:t-n/2,y:e-i/2,width:n,height:i,...s})}renderIcon(){const{x:t,y:e,iconSize:n}=this.attributes,i=C(this.attributes,"icon"),s=n/2;$(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles({x1:t-1,y1:e-s,x2:t-1,y2:e+s,...i}),$(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles({x1:t+1,y1:e-s,x2:t+1,y2:e+s,...i})}renderBorder(){const{x:t,y:e,width:n,height:i,type:s}=this.attributes,r=C(this.attributes,"border"),a="start"===s?+n/2:-n/2;$(this).maybeAppend("border","line").attr("className","border").styles({x1:a+t,y1:e-i/2,x2:a+t,y2:e+i/2,...r})}render(){this.renderBackground(),this.renderIcon(),this.renderBorder()}constructor(t){super(m({},Or.defaultOptions,t))}}function zr(t){const e=String(Math.floor(t/3600)).padStart(2,"0"),n=String(Math.floor(t%3600/60)).padStart(2,"0"),i=String(Math.floor(t%60)).padStart(2,"0");return t<3600?`${n}:${i}`:`${e}:${n}:${i}`}class _r extends b{static defaultOptions={style:{x:0,y:0,axisLabelFill:"#6e6e6e",axisLabelTextAlign:"left",axisLabelTextBaseline:"top",axisLabelTransform:"translate(5, -12)",axisLineLineWidth:1,axisLineStroke:"#cacdd1",axisTickLength:15,axisTickLineWidth:1,axisTickStroke:"#cacdd1",chartShowLabel:!1,chartType:"line",controllerAlign:"center",controllerHeight:40,data:[],interval:"day",loop:!1,playMode:"acc",selectionType:"range",type:"time"}};axis=(()=>this.appendChild(new Oi({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})))();timeline=(()=>this.appendChild(new Te({style:{onChange:t=>{this.handleSliderChange(t)}}})))();controller=(()=>this.appendChild(new $r({})))();states={};playInterval;get data(){const{data:t}=this.attributes;return t.sort((t,e)=>t.timee.time?1:0)}get space(){const{x:t,y:e,width:n,height:i,type:s,controllerHeight:r}=this.attributes,a=Ht(+i-r,0,+i),o=new _i(t,e+ +i-r,+n,r);let l,c=0;"chart"===s?(c=35,l=new _i(t,e+a-c,+n,c)):l=new _i;const h="time"===s?10:a;return{axisBBox:l,controllerBBox:o,timelineBBox:new _i(t,e+("time"===s?a:a-h),+n,h-c)}}setBySliderValues(t){const{data:e}=this,[n,i]=Array.isArray(t)?t:[0,t],s=e.length,r=e[Math.floor(n*s)],a=e[Math.ceil(i*s)-(Array.isArray(t)?0:1)];this.states.values=[r?.time??e[0].time,a?.time??1/0]}setByTimebarValues(t){const{data:e}=this,[n,i]=Array.isArray(t)?t:[void 0,t],s=e.find(t=>{let{time:e}=t;return e===n}),r=e.find(t=>{let{time:e}=t;return e===i});this.states.values=[s?.time??e[0]?.time,r?.time??1/0]}setByIndex(t){const{data:e}=this,[n,i]=t;this.states.values=[e[n]?.time??e[0].time,this.data[i]?.time??1/0]}get sliderValues(){const{values:t,selectionType:e}=this.states,[n,i]=Array.isArray(t)?t:[void 0,t],{data:s}=this,r=s.length,a="value"===e;return[(()=>{const t=s.findIndex(t=>{let{time:e}=t;return e===n});return a?0:t>-1?t/r:0})(),(()=>{if(i===1/0)return 1;const t=s.findIndex(t=>{let{time:e}=t;return e===i});return t>-1?t/r:a?.5:1})()]}get values(){const{values:t,selectionType:e}=this.states,[n,i]=Array.isArray(t)?t:[this.data[0].time,t];return"value"===e?i:[n,i]}getDatumByRatio(t){const{data:e}=this,n=e.length;return e[Math.floor(t*(n-1))]}get chartHandleIconShape(){const{selectionType:t}=this.states,{timelineBBox:{height:n}}=this.space;return"range"===t?t=>new Or({style:{type:t,height:n,iconSize:n/6}}):()=>new e.Line({style:{x1:0,y1:-n/2,x2:0,y2:n/2,lineWidth:2,stroke:"#c8c8c8"}})}getChartStyle(t){const{x:e,y:n,width:i,height:s}=t,{selectionType:r,chartType:a}=this.states,{data:o}=this,{type:l,labelFormatter:c}=this.attributes,{type:h,...u}=C(this.attributes,"chart"),d="range"===r;if("time"===l)return{handleIconShape:()=>new Tr({}),selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:d?-15:0,autoFitLabel:d,handleSpacing:d?-15:0,trackFill:"#edeeef",trackLength:i,trackOpacity:.5,trackRadius:s/2,trackSize:s/2,type:r,values:this.sliderValues,formatter:t=>{if(c)return c(t);const e=this.getDatumByRatio(t).time;return"number"==typeof e?zr(e):pr(e,"YYYY-MM-DD HH:mm:ss")},transform:`translate(${e}, ${n})`,zIndex:1,...u};const p="range"===r?5:0,g=o.map(t=>{let{value:e}=t;return e});return{handleIconOffset:p,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:g,sparklineType:a,sparklineScale:.8,trackLength:i,trackSize:s,type:r,values:this.sliderValues,transform:`translate(${e}, ${n})`,zIndex:1,...u}}renderChart(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.space.timelineBBox;this.timeline.update(this.getChartStyle(t))}updateSelection(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)}getAxisStyle(t){const{data:e}=this,{interval:n,labelFormatter:i}=this.attributes,s=C(this.attributes,"axis"),{x:r,y:a,width:o}=t,l=[...e,{time:0}].map((t,e,n)=>{let{time:i}=t;return{label:`${i}`,value:e/(n.length-1),time:i}});return{startPos:[r,a],endPos:[r+o,a],data:l,labelFilter:(t,e)=>e{let{time:e}=t;return i?i(e):function(t,e){return"number"==typeof t?zr(t):function(t,e){const n=new Date(t);switch(e){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(n.getHours())&&0===n.getMinutes()?pr(n,"HH:mm\nYYYY-MM-DD"):pr(n,"HH:mm");case"half-day":return n.getHours()<12?`AM\n${pr(n,"YYYY-MM-DD")}`:"PM";case"day":return[1,10,20].includes(n.getDate())?pr(n,"DD\nYYYY-MM"):pr(n,"DD");case"week":return n.getDate()<=7?pr(n,"DD\nYYYY-MM"):pr(n,"DD");case"month":return[0,6].includes(n.getMonth())?pr(n,"MM月\nYYYY"):pr(n,"MM月");case"season":return[0].includes(n.getMonth())?pr(n,"MM月\nYYYY"):pr(n,"MM月");case"year":return pr(n,"YYYY");default:return pr(n,"YYYY-MM-DD HH:mm")}}(t,e)}(e,n)},...s}}renderAxis(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.space.axisBBox;const{type:e}=this.attributes;"chart"===e&&this.axis.update(this.getAxisStyle(t))}renderController(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.space.controllerBBox;const{type:e}=this.attributes,{state:n,speed:i,selectionType:s,chartType:r}=this.states,a=C(this.attributes,"controller"),o=this,l={...t,iconSize:20,speed:i,state:n,selectionType:s,chartType:r,onChange(t,e){let{value:n}=e;switch(t){case"reset":o.internalReset();break;case"speed":o.handleSpeedChange(n);break;case"backward":o.internalBackward();break;case"playPause":"play"===n?o.internalPlay():o.internalPause();break;case"forward":o.internalForward();break;case"selectionType":o.handleSelectionTypeChange(n);break;case"chartType":o.handleChartTypeChange(n)}},...a};"time"===e&&(l.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(l)}dispatchOnChange(t){const{data:e}=this,{onChange:n}=this.attributes,{values:i,selectionType:s}=this.states,[r,a]=i,o=a===1/0?e.at(-1).time:a;t&&((t,e)=>{if(Array.isArray(t)){if(!Array.isArray(e))return!1;if(t[0]===e[0]){if(t[1]===e[1])return!0;if(t[1]===1/0||e[1]===1/0)return!0}return!1}return!Array.isArray(e)&&t===e})(t,"range"===s?[r,o]:o)||n?.("range"===s?[r,o]:o)}handleSliderChange=t=>{const e=(()=>{const t=this.states.values;return Array.isArray(t)?[...t]:t})();this.setBySliderValues(t),this.dispatchOnChange(e)};internalReset(t){const{selectionType:e}=this.states;this.internalPause(),this.setBySliderValues("range"===e?[0,1]:[0,0]),this.renderController(),this.updateSelection(),t||(this.attributes?.onReset?.(),this.dispatchOnChange())}reset(){this.internalReset()}moveSelection(t,e){const{data:n}=this,i=n.length,{values:s,selectionType:r,playMode:a}=this.states,[o,l]=s,c=n.findIndex(t=>{let{time:e}=t;return e===o});let h=n.findIndex(t=>{let{time:e}=t;return e===l});-1===h&&(h=i);const u="backward"===t?-1:1;let d;"range"===r?"acc"===a?(d=[c,h+u],-1===u&&c===h&&(d=[c,i])):d=[c+u,h+u]:d=[c,h+u];const p=(t=>{const[e,n]=t.sort((t,e)=>t-e),s=t=>Ht(t,0,i);return n>i?"value"===r?[0,0]:"acc"===a?[s(e),s(e)]:[0,s(n-e)]:e<0?"acc"===a?[0,s(n)]:[s(e+i-n),i]:[s(e),s(n)]})(d);return this.setByIndex(p),this.updateSelection(),p}internalBackward(t){const e=this.moveSelection("backward",t);return t||(this.attributes?.onBackward?.(),this.dispatchOnChange()),e}backward(){this.internalBackward()}internalPlay(t){const{data:e}=this,{loop:n}=this.attributes,{speed:i=1}=this.states;this.playInterval=window.setInterval(()=>{this.internalForward()[1]!==e.length||n||(this.internalPause(),this.renderController())},1e3/i),this.states.state="play",!t&&this.attributes?.onPlay?.()}play(){this.internalPlay()}internalPause(t){clearInterval(this.playInterval),this.states.state="pause",!t&&this.attributes?.onPause?.()}pause(){this.internalPause()}internalForward(t){const e=this.moveSelection("forward",t);return t||(this.attributes?.onForward?.(),this.dispatchOnChange()),e}forward(){this.internalForward()}handleSpeedChange(t){this.states.speed=t;const{state:e}=this.states;"play"===e&&(this.internalPause(!0),this.internalPlay(!0)),this.attributes?.onSpeedChange?.(t)}handleSelectionTypeChange(t){this.states.selectionType=t,this.renderChart(),this.attributes?.onSelectionTypeChange?.(t)}handleChartTypeChange(t){this.states.chartType=t,this.renderChart(),this.attributes?.onChartTypeChange?.(t)}constructor(t){super(m({},_r.defaultOptions,t));const{selectionType:e,chartType:n,speed:i,state:s,playMode:r,values:a}=this.attributes;this.states={chartType:n,playMode:r,selectionType:e,speed:i,state:s},this.setByTimebarValues(a)}render(){const{axisBBox:t,controllerBBox:e,timelineBBox:n}=this.space;this.renderController(e),this.renderAxis(t),this.renderChart(n),"play"===this.states.state&&this.internalPlay()}destroy(){super.destroy(),this.internalPause(!0)}}function Ir(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}function Fr(t){return"string"==typeof t?Ir(t):t}var Gr=i(28),Hr=i.n(Gr);function Wr(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1024,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1014;return(i,s,r)=>Hr()(t).map(t=>{const a=[];return a.push(!0===t.relative?t.code.toLowerCase():t.code.toUpperCase()),[[t.x1,t.y1],[t.x2,t.y2],[t.x,t.y]].forEach(o=>{const[l,c]=o;void 0!==l&&a.push(!0===t.relative?l/e*2*r:i-r+2*r*(l/e)),void 0!==c&&a.push(!0===t.relative?c/n*2*r:s-r+2*r*(c/n))}),a})}function Vr(t){const e=/[];let i=1024,s=1024;return null!==n&&n.length>=3&&(Number.isNaN(parseInt(n[1],10))||(i=parseInt(n[1],10)),Number.isNaN(parseInt(n[2],10))||(s=parseInt(n[2],10))),Wr(e[1],i,s)}function Dr(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(n,i,s)=>{const r=s.value;let a;"function"==typeof r&&(s.value=function(){for(var n=arguments.length,i=new Array(n),s=0;s{r.apply(o,i),a=null},t)})}}function Rr(t){const e=localStorage.getItem("__debug__");return(n,i,s)=>{const r=`[${i}] ${t}`,a=s.value;"function"==typeof a&&(s.value=function(){e&&console.time(r);for(var t=arguments.length,n=new Array(t),i=0;i