@visactor/vrender-components 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@visactor/vrender"),require("@visactor/vutils"),require("@visactor/vscale")):"function"==typeof define&&define.amd?define(["exports","@visactor/vrender","@visactor/vutils","@visactor/vscale"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).VRender=t.VRender||{},t.VRender.Components={}),t.vrender,t.vutils,t.vscale)}(this,(function(t,e,i,s){"use strict";const a=["x","y","dx","dy","scaleX","scaleY","angle","anchor","postMatrix","visible","clip","pickable","childrenPickable","zIndex"];class n extends e.Group{mode;constructor(t,e="2d"){super(t),this.mode=e,this.setTheme({common:{strokeBoundsBuffer:0}}),this.attribute=t,this.onSetStage((()=>{this.render(),this.bindEvents()}))}setAttribute(t,e,s){i.isPlainObject(this.attribute[t])?i.merge(this.attribute[t],e):this.attribute[t]=e,a.includes(t)||this.render(),this.valid=this.isValid(),this.updateShapeAndBoundsTagSetted()||!s&&!this.needUpdateTag(t)?this.addUpdateBoundTag():this.addUpdateShapeAndBoundsTag(),this.addUpdatePositionTag(),this.onAttributeUpdate()}setAttributes(t,e){const i=Object.keys(t);this._mergeAttributes(t,i),i.every((t=>a.includes(t)))||this.render(),this.valid=this.isValid(),this.updateShapeAndBoundsTagSetted()||!e&&!this.needUpdateTags(i)?this.addUpdateBoundTag():this.addUpdateShapeAndBoundsTag(),this.addUpdatePositionTag(),this.onAttributeUpdate()}_mergeAttributes(t,e){i.isNil(e)&&(e=Object.keys(t));for(let s=0;s<e.length;s++){const a=e[s];i.isPlainObject(this.attribute[a])?i.merge(this.attribute[a],t[a]):this.attribute[a]=t[a]}}bindEvents(){}_getNodeId(t){return`${this.id}-${this.name}-${t}`}}class r extends n{name="scrollbar";static defaultAttributes={direction:"horizontal",round:!0,sliderSize:20,sliderStyle:{fill:"rgba(0, 0, 0, .5)"},railStyle:{fill:"rgba(0, 0, 0, .0)"},padding:2,scrollRange:[0,1]};_container;_slider;_rail;_sliderRenderBounds;_sliderLimitRange;_prePos;_viewPosition;_sliderSize;constructor(t){super(i.merge({},r.defaultAttributes,t))}setScrollRange(t,e=!0){const{direction:s="horizontal",limitRange:a=[0,1],range:n}=this.attribute,r=i.clampRange(t,a[0],a[1]);if(e){const t=this._getSliderPos(r);this._slider&&("horizontal"===s?this._slider.setAttribute("x",t[0],!0):this._slider.setAttribute("y",t[0],!0),this.stage?.autoRender||this.stage?.renderNextFrame())}this.attribute.range=r,this._onChange({pre:n,value:r})}getScrollRange(){return this.attribute.range}bindEvents(){this._rail&&this._rail.addEventListener("pointerdown",this._onRailPointerDown),this._slider&&this._slider.addEventListener("pointerdown",this._onSliderPointerDown)}render(){this._reset();const{direction:t="horizontal",width:e,height:s,range:a,limitRange:n=[0,1],railStyle:r,sliderStyle:l,padding:o=2}=this.attribute,d=this.createOrUpdateChild("scrollbar-container",{},"group"),h=d.createOrUpdateChild("scrollbar-rail",{x:0,y:0,width:e,height:s,...r},"rect");this._rail=h;const c=this._getSliderRenderBounds(),u=this._getSliderPos(i.clampRange(a,n[0],n[1])),_=u[1]-u[0];let b;this._sliderSize=_,b="horizontal"===t?{x:u[0],y:c.y1,width:_,height:c.height}:{x:c.x1,y:u[0],width:c.width,height:_};const p=d.createOrUpdateChild("slider",{...b,borderRadius:this._getDefaultSliderBorderRadius(),...l,boundsPadding:i.normalizePadding(o),pickMode:"imprecise"},"rect");this._slider=p,this._container=d;const g=this._container.AABBBounds;this._viewPosition={x:g.x1,y:g.y1}}_getSliderRenderBounds(){if(this._sliderRenderBounds)return this._sliderRenderBounds;const{width:t,height:e,padding:s=2}=this.attribute,[a,n,r,l]=i.normalizePadding(s),o={x1:l,y1:a,x2:t-n,y2:e-r,width:t-(l+n),height:e-(a+r)};return this._sliderRenderBounds=o,o}_getDefaultSliderBorderRadius(){const{direction:t,round:e}=this.attribute;if(e){const{width:e,height:i}=this._getSliderRenderBounds();return"horizontal"===t?i:e}return 0}_getSliderPos(t){const{direction:e}=this.attribute,{width:i,height:s,x1:a,y1:n}=this._getSliderRenderBounds();return"horizontal"===e?[i*t[0]+a,i*t[1]+a]:[s*t[0]+n,s*t[1]+n]}_getScrollRange(){if(this._sliderLimitRange)return this._sliderLimitRange;const{limitRange:t=[0,1],direction:e}=this.attribute,[s,a]=i.clampRange(t,0,1),{width:n,height:r,x1:l,y1:o}=this._getSliderRenderBounds(),d=this._sliderSize;return"horizontal"===e?i.clampRange([l+s*n,l+a*n],l,n-d):i.clampRange([o+s*r,o+a*r],o,r-d)}_onRailPointerDown=t=>{const{viewX:e,viewY:s}=t,{direction:a,width:n,height:r,range:l}=this.attribute,o=this._sliderSize,[d,h]=this._getScrollRange();let c;if("vertical"===a){const t=s-this._viewPosition.y,e=i.clamp(t-o/2,d,h);c=t/r,this._slider.setAttribute("y",e,!0)}else{const t=e-this._viewPosition.x,s=i.clamp(t-o/2,d,h);c=t/n,this._slider.setAttribute("x",s,!0)}this.setScrollRange([c-(l[1]-l[0])/2,c+(l[1]-l[0])/2],!1),this.stage?.autoRender||this.stage?.renderNextFrame()};_onSliderPointerDown=t=>{t.stopPropagation();const{direction:i}=this.attribute;this._prePos="horizontal"===i?t.clientX:t.clientY,"browser"===e.global.env?(e.global.addEventListener("pointermove",this._onSliderPointerMove),e.global.addEventListener("pointerup",this._onSliderPointerUp)):(this._slider.addEventListener("pointermove",this._onSliderPointerMove),this._slider.addEventListener("pointerup",this._onSliderPointerUp),this._slider.addEventListener("pointerupoutside",this._onSliderPointerUp))};_onSliderPointerMove=t=>{t.stopPropagation();const{direction:e}=this.attribute;let i,s,a=0;const n=this.getScrollRange(),{width:r,height:l}=this._getSliderRenderBounds();"vertical"===e?(s=t.clientY,a=s-this._prePos,i=a/l):(s=t.clientX,a=s-this._prePos,i=a/r),this.setScrollRange([n[0]+i,n[1]+i],!0),this._prePos=s};_onSliderPointerUp=t=>{t.preventDefault(),"browser"===e.global.env?(e.global.removeEventListener("pointermove",this._onSliderPointerMove),e.global.removeEventListener("pointerup",this._onSliderPointerUp)):(this._slider.removeEventListener("pointermove",this._onSliderPointerMove),this._slider.removeEventListener("pointerup",this._onSliderPointerUp),this._slider.removeEventListener("pointerupoutside",this._onSliderPointerUp))};_onChange(t){const i=new e.CustomEvent("scroll",t);i.manager=this.stage?.eventSystem.manager,this.dispatchEvent(i)}_reset(){this._sliderRenderBounds=null,this._sliderLimitRange=null}}function l(t,e){t.forEachChildren((t=>{const i=e(t);t.isContainer&&!i&&l(t,e)}))}const o=t=>!i.isNil(t)&&!1!==t.visible,d=["#ffffff","#000000"];function h(t,e,i,s,a){const n=b(t),r=b(e);return c(n,r,i,s)?n:function(t,e,i,s,a){const n=[];a&&(a instanceof Array?n.push(...a):n.push(a));n.push(...d);for(const a of n)if(t!==a&&c(a,e,i,s))return a;return}(n,r,i,s,a)}function c(t,e,i,s){return s?u(t,e)>s:"largeText"===i?u(t,e)>3:u(t,e)>4.5}function u(t,e){const i=_(t),s=_(e);return((i>s?i:s)+.05)/((i>s?s:i)+.05)}function _(t){const e=i.ColorUtil.hexToRgb(t),s=e[0]/255,a=e[1]/255,n=e[2]/255;let r,l,o;r=s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4),l=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),o=n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4);return.2126*r+.7152*l+.0722*o}function b(t){if(t?.includes("#"))return t;const e=new i.ColorUtil.Color(t),{r:s,g:a,b:n}=e.color;return"#"+i.ColorUtil.rgbToHex(s,a,n)}var p,g="undefined"!=typeof Float32Array?Float32Array:Array;function m(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function y(t,e,i){const s=(n=e,r=(a=t)[0],l=a[1],o=n[0],d=n[1],h=Math.sqrt(r*r+l*l)*Math.sqrt(o*o+d*d),c=h&&(r*o+l*d)/h,Math.acos(Math.min(Math.max(c,-1),1)));var a,n,r,l,o,d,h,c;const u=function(t,e){return t[0]*e[1]-e[0]*t[1]}(t,e)>=0;return i?u?2*Math.PI-s:s:u?s:2*Math.PI-s}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)}),p=new g(2),g!=Float32Array&&(p[0]=0,p[1]=0);const x=-.5*Math.PI,v=1.5*Math.PI,f="PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol";var A;!function(t){t.selected="selected",t.selectedReverse="selected_reverse",t.hover="hover",t.hoverReverse="hover_reverse"}(A||(A={}));const S={[A.selectedReverse]:{},[A.selected]:{},[A.hover]:{},[A.hoverReverse]:{}},E=(t,s,a)=>new i.TextMeasure({defaultFontParams:{fontFamily:f,fontSize:11},getTextBounds:a?void 0:e.getTextBounds,specialCharSet:"-/: .,@%'\"~"+i.TextMeasure.ALPHABET_CHAR_SET+i.TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),...s??{}},t);function k(t,i){if(!t)return{width:0,height:0};const s=e.getTextBounds({text:t,fontFamily:i.fontFamily??"",fontSize:i.fontSize||12,fontWeight:i.fontWeight,textAlign:i.textAlign??"center",textBaseline:i.textBaseline,ellipsis:!!i.ellipsis,maxLineWidth:i.maxLineWidth||1/0,lineHeight:i.fontSize||12});return{width:s.width(),height:s.height()}}class M extends n{name="tag";static defaultAttributes={visible:!0,textStyle:{fontSize:12,fill:"#000",textAlign:"left",textBaseline:"top"},space:4,padding:4,shape:{fill:"#000"}};constructor(t){super(i.merge({},M.defaultAttributes,t))}render(){const{text:t="",textStyle:e={},shape:s={},panel:a={},space:n=4,minWidth:r,maxWidth:l,padding:o=4,visible:d,state:h}=this.attribute,c=i.normalizePadding(o),u=this.createOrUpdateChild("tag-content",{x:0,y:0,zIndex:1},"group");let _,b=c[1]+c[3],p=c[0]+c[2],g=0,m=0;const{visible:y,...x}=s;if(i.isBoolean(y)){const t=x?.size||10,e=i.isNumber(t)?t:Math.max(t[0],t[1]);_=u.createOrUpdateChild("tag-shape",{symbolType:"circle",size:t,strokeBoundsBuffer:0,...x,visible:y,x:e/2,y:e/2},"symbol"),i.isEmpty(h?.shape)||(_.states=h.shape),y&&(m=e+n)}b+=m,g+=m;const v={text:t,visible:i.isValid(t)&&!1!==d,lineHeight:e?.fontSize,...e,x:g,y:0};i.isNil(v.lineHeight)&&(v.lineHeight=v.fontSize);const f=u.createOrUpdateChild("tag-text",v,"text");i.isEmpty(h?.text)||(f.states=h.text);const A=k(v.text,e),S=A.width,E=A.height;b+=S;const M=s.size??10,w=i.isNumber(M)?M:Math.max(M[0],M[1]);p+=Math.max(E,s?.visible?w:0);const{textAlign:L,textBaseline:B}=e;(i.isValid(r)||i.isValid(l))&&(i.isValid(r)&&b<r&&(b=r),i.isValid(l)&&b>l&&(b=l,f.setAttribute("maxLineWidth",l-c[1]-c[2])));let T=0,C=0;"center"===L?(T-=b/2,_&&_.setAttribute("x",(_.attribute.x||0)-S/2),u.setAttribute("x",-m/2)):"right"===L||"end"===L?(T-=b,_&&_.setAttribute("x",(_.attribute.x||0)-S),u.setAttribute("x",-c[1]-m)):"left"!==L&&"start"!==L||u.setAttribute("x",c[3]),"middle"===B?(C-=p/2,_&&_.setAttribute("y",0)):"bottom"===B?(C-=p,_&&_.setAttribute("y",-E/2),u.setAttribute("y",-c[2])):"top"===B&&(u.setAttribute("y",c[0]),_&&_.setAttribute("y",E/2));const{visible:P,...I}=a;if(i.isBoolean(P)){const e=this.createOrUpdateChild("tag-panel",{...I,visible:P&&!!t,x:T,y:C,width:b,height:p},"rect");i.isEmpty(h?.panel)||(e.states=h.panel)}}}class w extends n{name="crosshair";render(){this.renderCrosshair(this)}}class L extends w{static defaultAttributes={lineStyle:{stroke:"#b2bacf",lineWidth:1,lineDash:[2]}};constructor(t){super(i.merge({},L.defaultAttributes,t))}renderCrosshair(t){const{start:e,end:i,lineStyle:s}=this.attribute;return t.createOrUpdateChild("crosshair-line",{points:[e,i],...s},"line")}setLocation(t){const{start:e,end:i}=t;this.setAttributes({start:e,end:i})}}class B extends w{static defaultAttributes={rectStyle:{fill:"#b2bacf",opacity:.2}};topLabelShape;bottomLabelShape;leftLabelShape;rightLabelShape;constructor(t){super(i.merge({},B.defaultAttributes,t))}renderCrosshair(t){const{start:e,end:i,rectStyle:s}=this.attribute;return t.createOrUpdateChild("crosshair-rect",{x:e.x,y:e.y,width:i.x-e.x,height:i.y-e.y,...s},"rect")}setLocation(t){const{start:e,end:i}=t;this.setAttributes({start:e,end:i})}}class T extends w{static defaultAttributes={lineStyle:{stroke:["#b2bacf",!1,!1,!1],lineWidth:1,lineDash:[2]}};constructor(t){super(i.merge({},T.defaultAttributes,t))}renderCrosshair(t){const{center:e,radius:i,lineStyle:s}=this.attribute;return t.createOrUpdateChild("crosshair-circle",{...e,outerRadius:i,...this.attribute,...s},"arc")}setLocation(t){const{center:e}=this.attribute,s=i.PointService.distancePP(t,e);this.setAttribute("radius",s)}}class C extends w{static defaultAttributes={sectorStyle:{fill:"#b2bacf",opacity:.2}};constructor(t){super(i.merge({},C.defaultAttributes,t))}renderCrosshair(t){const{center:e,radius:i,innerRadius:s=0,sectorStyle:a}=this.attribute,{startAngle:n,endAngle:r}=this.attribute;return t.createOrUpdateChild("crosshair-sector",{...e,outerRadius:i,innerRadius:s,startAngle:n,endAngle:r,...a},"arc")}setLocation(t){const{center:e,startAngle:s=x,endAngle:a=v}=this.attribute,n=a-s,r=i.radianToDegree(i.getAngleByPoint(e,t));this.setAttributes({startAngle:r-n/2,endAngle:r+n/2})}}class P extends w{static defaultAttributes={lineStyle:{stroke:"#b2bacf",lineWidth:1,lineDash:[2]}};constructor(t){super(i.merge({},P.defaultAttributes,t))}renderCrosshair(t){const{center:e,radius:s,sides:a=6,lineStyle:n}=this.attribute,{startAngle:r,endAngle:l}=this.attribute,o=(l-r)%(2*Math.PI)==0,d=(l-r)/a;let h;for(let t=0;t<=a;t++){const n=r+d*t,l=i.polarToCartesian(e,s,n);0===t?h=`M${l.x},${l.y}`:h+=`L${l.x},${l.y}`,t===a&&o&&(h+="Z")}return t.createOrUpdateChild("crosshair-polygon",{path:h,...n},"path")}setLocation(t){const{center:e}=this.attribute,s=i.PointService.distancePP(t,e);this.setAttribute("radius",s)}}const I=5,H=31,z=32,V=new Uint32Array(z+1),D=new Uint32Array(z+1);D[0]=0,V[0]=~D[0];for(let t=1;t<=z;++t)D[t]=D[t-1]<<1|1,V[t]=~D[t];function N(t,e,i=0){const s=Math.max(1,Math.sqrt(t*e/1e6)),a=~~((t+2*i+s)/s),n=~~((e+2*i+s)/s),r=t=>~~((t+i)/s);return r.invert=t=>t*s-i,r.bitmap=()=>function(t,e){const i=new Uint32Array(~~((t*e+z)/z));function s(t,e){i[t]|=e}function a(t,e){i[t]&=e}return{array:i,get:(e,s)=>{const a=s*t+e;return i[a>>>I]&1<<(a&H)},set:(e,i)=>{const a=i*t+e;s(a>>>I,1<<(a&H))},clear:(e,i)=>{const s=i*t+e;a(s>>>I,~(1<<(s&H)))},getRange:({x1:e,y1:s,x2:a,y2:n})=>{let r,l,o,d,h=n;for(;h>=s;--h)if(r=h*t+e,l=h*t+a,o=r>>>I,d=l>>>I,o===d){if(i[o]&V[r&H]&D[1+(l&H)])return!0}else{if(i[o]&V[r&H])return!0;if(i[d]&D[1+(l&H)])return!0;for(let t=o+1;t<d;++t)if(i[t])return!0}return!1},setRange:({x1:e,y1:i,x2:a,y2:n})=>{let r,l,o,d,h;for(;i<=n;++i)if(r=i*t+e,l=i*t+a,o=r>>>I,d=l>>>I,o===d)s(o,V[r&H]&D[1+(l&H)]);else for(s(o,V[r&H]),s(d,D[1+(l&H)]),h=o+1;h<d;++h)s(h,4294967295)},clearRange:({x1:e,y1:i,x2:s,y2:n})=>{let r,l,o,d,h;for(;i<=n;++i)if(r=i*t+e,l=i*t+s,o=r>>>I,d=l>>>I,o===d)a(o,D[r&H]|V[1+(l&H)]);else for(a(o,D[r&H]),a(d,V[1+(l&H)]),h=o+1;h<d;++h)a(h,0)},outOfBounds:({x1:i,y1:s,x2:a,y2:n})=>i<0||s<0||n>=e||a>=t,toImageData:s=>{const a=s.createImageData(t,e),n=a.data;for(let s=0;s<e;++s)for(let e=0;e<t;++e){const a=s*t+e,r=4*a,l=i[a>>>I]&1<<(a&H);n[r+0]=255*l,n[r+1]=255*l,n[r+2]=255*l,n[r+3]=31}return a}}}(a,n),r.ratio=s,r.padding=i,r.width=t,r.height=e,r}function R(t,e,s=!1){if(s){const{x1:s,x2:a,y1:n,y2:r}=e,l=i.clamp(s,0,t.width),o=i.clamp(a,0,t.width),d=i.clamp(n,0,t.height),h=i.clamp(r,0,t.height);return{x1:t(l),x2:t(o),y1:t(d),y2:t(h)}}return{x1:t(e.x1),x2:t(e.x2),y1:t(e.y1),y2:t(e.y2)}}function $(t,e,i,s=!0){const a=R(t,i);return!(s&&e.outOfBounds(a))&&!e.getRange(a)}function O(t,e){return!(!t||!e)&&e.encloses(t)}function U(t,e,i,s=[],a=!0){for(let n=0;n<s.length;n++){const r=i.clone();if(r.setAttributes(s[n]),r.update(),$(t,e,R(t,r.AABBBounds),a))return e.setRange(R(t,r.AABBBounds,!0)),s[n]}return!1}function W(t,e,s,a,n,r,l){if("bound"===s.type||"position"===s.type){if(i.isFunction(l)){const o=((i.isFunction(s.position)?s.position(n.attribute):s.position)||function(t){if("rect"===t)return G;return F}(a.type)).map((t=>l(n.AABBBounds,r,t,a.offset)));return U(t,e,n,o,a.overlap?.clampForce)}return!1}if("moveY"===s.type){const r=(s.offset?i.isFunction(s.offset)?s.offset(n.attribute):s.offset:[]).map((t=>({x:n.attribute.x,y:n.attribute.y+t})));return U(t,e,n,r,a.overlap?.clampForce)}if("moveX"===s.type){const r=(s.offset?i.isFunction(s.offset)?s.offset(n.attribute):s.offset:[]).map((t=>({x:n.attribute.x+t,y:n.attribute.y})));return U(t,e,n,r,a.overlap?.clampForce)}return!1}const F=["top","bottom","right","left","top-right","bottom-right","top-left","bottom-left"],G=["top","inside-top","inside"];const X={fadeIn:(t={})=>({from:{opacity:0,fillOpacity:0,strokeOpacity:0},to:{opacity:t.opacity??1,fillOpacity:t.fillOpacity??1,strokeOpacity:t.strokeOpacity??1}}),fadeOut:(t={})=>({from:{opacity:t.opacity??1,fillOpacity:t.fillOpacity??1,strokeOpacity:t.strokeOpacity??1},to:{opacity:0,fillOpacity:0,strokeOpacity:0}})};function Y(t,e){return X[e]?.(t)??{from:{},to:{}}}const Z="same-time",q=300,j="linear";class J extends n{name="label";_baseMarks;_bitmap;setBitmap(t){this._bitmap=t}_bmpTool;setBitmapTool(t){this._bmpTool=t}_relationMap;_prevRelationMap;_textMap;onAfterLabelOverlap;_lastHover;_lastSelect;_enableAnimation;render(){const t=this._checkMarks(),e=this.layout(t);this._smartInvert(e),this._renderLabels(e)}_bindEvent(t){if(!t)return;const{hover:e,select:i}=this.attribute;e&&(t.addEventListener("pointermove",this._onHover),t.addEventListener("pointerout",this._onUnHover)),i&&t.addEventListener("pointerdown",this._onClick)}_setStates(t){if(!t)return;const e=this.attribute.state;e&&!i.isEmpty(e)&&(t.states=e)}_onHover=t=>{const e=t.target;e===this._lastHover||i.isEmpty(e.states)||(e.addState(A.hover,!0),l(this,(t=>{t===e||i.isEmpty(t.states)||t.addState(A.hoverReverse,!0)})),this._lastHover=e)};_onUnHover=t=>{this._lastHover&&(l(this,(t=>{i.isEmpty(t.states)||(t.removeState(A.hoverReverse),t.removeState(A.hover))})),this._lastHover=null)};_onClick=t=>{const e=t.target;if(this._lastSelect===e&&e.hasState("selected"))return this._lastSelect=null,void l(this,(t=>{i.isEmpty(t.states)||(t.removeState(A.selectedReverse),t.removeState(A.selected))}));i.isEmpty(e.states)||(e.addState(A.selected,!0),l(this,(t=>{t===e||i.isEmpty(t.states)||t.addState(A.selectedReverse,!0)})),this._lastSelect=e)};_createLabelText(t){const i=e.createText(t);return this._bindEvent(i),this._setStates(i),i}_checkMarks(){const t=this.getBaseMarks(),e=[];return t.forEach((t=>{"willRelease"!==t.releaseStatus&&e.push(t)})),this._prevRelationMap=new Map(this._relationMap),this._relationMap?.clear(),e}layout(t){const{textStyle:s,position:a,offset:n}=this.attribute;let{data:r}=this.attribute;if(i.isFunction(r)&&(r=r({})),!r||0===r.length)return[];let l=[];i.isFunction(this.attribute.sort)&&t&&t.length&&(t=t.sort(this.attribute.sort)),this._relationMap||(this._relationMap=new Map);for(let o=0;o<r.length;o++){const d=r[o],h=t?.[o],c={...s,...d,_relatedIndex:o};if(this._relationMap.set(o,h),d){const t=e.createText(c);t.update();const s=this.getGraphicBounds(t),r=this.getGraphicBounds(h,{x:d.x,y:d.y}),o=this.labeling(s,r,i.isFunction(a)?a(d):a,n);if(!o)continue;c.x=o.x,c.y=o.y,l.push(c)}}return this._baseMarks=t,!1!==this.attribute.overlap&&(l=this.overlapping(l,this.attribute.overlap)),l}overlapping(t,s={}){if(0===t.length)return[];const a=[],n=this.getBaseMarkGroup(),r=s.size??{width:n?.AABBBounds.width()??0,height:n?.AABBBounds.height()??0};if(0===r.width||0===r.height)return t;const{avoidBaseMark:l,strategy:o=[],hideOnHit:d=!0,clampForce:h=!0}=s,c=this._bmpTool||N(r.width,r.height),u=this._bitmap||c.bitmap(),_=o.some((t=>"bound"===t.type));l&&this._baseMarks?.forEach((t=>{t.AABBBounds&&u.setRange(R(c,t.AABBBounds,!0))}));for(let i=0;i<t.length;i++){if(!1===t[i].visible)continue;const s=e.createText(t[i]),n=this._baseMarks?.[i];if(s.update(),$(c,u,s.AABBBounds,h)){if(!_){u.setRange(R(c,s.AABBBounds,!0)),a.push({...s.attribute,_insideGraphic:O(s.AABBBounds,n?.AABBBounds)});continue}if(_&&n?.AABBBounds&&O(s.AABBBounds,n?.AABBBounds)){u.setRange(R(c,s.AABBBounds,!0)),a.push({...s.attribute,_insideGraphic:!0,_computedBound:s.AABBBounds});continue}}let r=!1;for(let e=0;e<o.length;e++)if(r=W(c,u,o[e],this.attribute,s,this.getGraphicBounds(n,t[i]),this.labeling),!1!==r){a.push({...s.attribute,x:r.x,y:r.y,_insideGraphic:O(s.AABBBounds,n?.AABBBounds)});break}!r&&!d&&a.push({...s.attribute,_insideGraphic:O(s.AABBBounds,n?.AABBBounds),_computedBound:s.AABBBounds})}return i.isFunction(this.onAfterLabelOverlap)&&this.onAfterLabelOverlap(u),a}getBaseMarks(){const t=this.getBaseMarkGroup();if(t)return t.getChildren()}getBaseMarkGroup(){const{baseMarkGroupName:t}=this.attribute;if(t)return this.getRootNode().find((e=>e.name===t),!0)}getGraphicBounds(t,e={}){return t?.AABBBounds||{x1:e.x,x2:e.x,y1:e.y,y2:e.y}}_renderLabels(t){const s=this.attribute.animation??{},a=!1===this._enableAnimation||!1===s,n=s.mode??Z,r=s.duration??q,l=s.easing??j,o=s.delay??0,d=new Map,h=this._textMap||new Map,c=[];t.forEach(((t,u)=>{const _=this._createLabelText(t),b=this._relationMap.get(t._relatedIndex),p=h?.get(b)?"update":"enter";if("enter"===p)if(c.push(_),d.set(b,_),!a&&b){const{from:e,to:i}=Y(t,"fadeIn");this.add(_),b.onAnimateBind=()=>{_.setAttributes(e);const t=this._afterRelatedGraphicAttributeUpdate(_,c,u,b,{mode:n,duration:r,easing:l,to:i,delay:o});b.on("afterAttributeUpdate",t)}}else this.add(_);if("update"===p){const t=h.get(b);h.delete(b),d.set(b,t),a?t.setAttributes(_.attribute):(t.animate().to(_.attribute,r,l),!1!==s.increaseEffect&&t.attribute.text!==_.attribute.text&&i.isValidNumber(Number(t.attribute.text)*Number(_.attribute.text))&&t.animate().play(new e.IncreaseCount({text:t.attribute.text},{text:_.attribute.text},r,l)))}})),h.forEach((t=>{a?this.removeChild(t):t?.animate().to(Y(t.attribute,"fadeOut").to,r,l).onEnd((()=>{this.removeChild(t)}))})),this._textMap=d}_afterRelatedGraphicAttributeUpdate(t,i,s,a,{mode:n,duration:r,easing:l,to:o,delay:d}){const h=c=>{const{detail:u}=c;if(!u)return{};if(!(u&&u.type===e.AttributeUpdateType.ANIMATE_UPDATE&&u.animationState&&"wait"!==u.animationState.step?.type))return{};if(u.type===e.AttributeUpdateType.ANIMATE_END)return void t.setAttributes(o);const _=()=>{a&&(a.onAnimateBind=void 0,a.removeEventListener("afterAttributeUpdate",h))};switch(n){case"after":u.animationState.end&&t.animate({onEnd:_}).wait(d).to(o,r,l);break;case"after-all":s===i.length-1&&u.animationState.end&&i.forEach((t=>{t.animate({onEnd:_}).wait(d).to(o,r,l)}));break;default:u.animationState.isFirstFrameOfStep&&t.animate({onEnd:_}).wait(d).to(o,r,l)}};return h}_smartInvert(t){if(!1!==this.attribute.smartInvert)for(let i=0;i<t.length;i++){const s=t?.[i];if(!s)continue;let a=s._insideGraphic;if(void 0===a){const t=e.createText(s);t.update(),a=O(t.AABBBounds,this._relationMap.get(s._relatedIndex)?.AABBBounds)}if(s.stroke&&s.lineWidth>0)s.fill=h(s.fill,s.stroke,this.attribute.smartInvert?.textType,this.attribute.smartInvert?.contrastRatiosThreshold,this.attribute.smartInvert?.alternativeColors);else if(a){const t=this._relationMap.get(s._relatedIndex).attribute.fill,e=s.fill;s.fill=h(e,t,this.attribute.smartInvert?.textType,this.attribute.smartInvert?.contrastRatiosThreshold,this.attribute.smartInvert?.alternativeColors)}else if(s.lineWidth>0){const t=this._relationMap.get(s._relatedIndex);s.stroke=t.attribute.fill;const e=s.stroke,i=s.fill;s.fill=h(i,e,this.attribute.smartInvert?.textType,this.attribute.smartInvert?.contrastRatiosThreshold,this.attribute.smartInvert?.alternativeColors)}}}setLocation(t){this.translateTo(t.x,t.y)}disableAnimation(){this._enableAnimation=!1}enableAnimation(){this._enableAnimation=!0}}class K extends J{name="symbol-label";static defaultAttributes={textStyle:{fontSize:12,fill:"#000",textAlign:"center",textBaseline:"middle",boundsPadding:[-1,0,-1,0]},position:"top",offset:5,pickable:!1};constructor(t){super(i.merge({},K.defaultAttributes,t))}labeling(t,e,i="top",s=0){if(!t)return;const{x1:a,y1:n,x2:r,y2:l}=t,o=Math.abs(r-a),d=Math.abs(l-n),h=(e.x1+e.x2)/2,c=(e.y1+e.y2)/2;let u=0,_=0,b=0,p=0;e&&(b=Math.abs(e.x1-e.x2)/2,p=Math.abs(e.y1-e.y2)/2);const g={"top-right":-235,"top-left":235,"bottom-right":45,"bottom-left":-45};switch(i){case"top":_=-1;break;case"bottom":_=1;break;case"left":u=-1;break;case"right":u=1;break;case"bottom-left":case"bottom-right":case"top-left":case"top-right":u=Math.sin(g[i]*(Math.PI/180)),_=Math.cos(g[i]*(Math.PI/180));break;case"center":u=0,_=0}return{x:h+u*(s+b)+Math.sign(u)*(o/2),y:c+_*(s+p)+Math.sign(_)*(d/2)}}}class Q extends J{static tag="rect-label";static defaultAttributes={textStyle:{fontSize:12,fill:"#000",textAlign:"center",textBaseline:"middle",boundsPadding:[-1,0,-1,0]},position:"top",offset:5,pickable:!1};constructor(t){super(i.merge({},Q.defaultAttributes,t))}labeling(t,e,i="top",s=0){if(!t||!e)return;const{x1:a,y1:n,x2:r,y2:l}=t,o=Math.abs(r-a),d=Math.abs(l-n),h=Math.abs(e.x2-e.x1),c=Math.abs(e.y2-e.y1);let u=(e.x1+e.x2)/2,_=(e.y1+e.y2)/2,b=0,p=0;switch(i){case"top":case"inside-top":p=-.5;break;case"bottom":case"inside-bottom":p=.5;break;case"left":case"inside-left":b=-.5;break;case"right":case"inside-right":b=.5}u+=b*h,_+=p*c;let g=0,m=0;const y=i.includes("inside");i.includes("top")?m=y?1:-1:i.includes("bottom")?m=y?-1:1:i.includes("left")?g=y?1:-1:i.includes("right")&&(g=y?-1:1);return{x:u+g*s+g*o/2,y:_+m*s+m*d/2}}}class tt extends J{name="line-label";static defaultAttributes={textStyle:{fontSize:12,fill:"#000",textAlign:"center",textBaseline:"middle",boundsPadding:[-1,0,-1,0]},position:"end",offset:6,pickable:!1};constructor(t){super(i.merge({},tt.defaultAttributes,t))}getGraphicBounds(t,e={}){if("line"!==t.type)return super.getGraphicBounds(t,e);const{position:i="end"}=this.attribute,s=t?.attribute?.points||[e],a="start"===i?0:s.length-1;return{x1:s[a].x,x2:s[a].x,y1:s[a].y,y2:s[a].y}}labeling(t,e,i="end",s=0){if(!t||!e)return;const{x1:a,x2:n}=t,r=Math.abs(n-a),l=e.x1;let o=l;return"end"===i?o=l+r/2+s:"start"===i&&(o=l-r/2-s),{x:o,y:e.y1}}}const et={rect:Q,symbol:K};class it extends n{name="data-label";_componentMap;static defaultAttributes={pickable:!1};constructor(t){super(i.merge({},it.defaultAttributes,t))}render(){const{dataLabels:t,size:e}=this.attribute;if(!t||0===t.length)return;const{width:s=0,height:a=0}=e||{};if(!s||!a||!i.isValidNumber(a*s))return;this._componentMap||(this._componentMap=new Map);const n=N(s,a),r=n.bitmap(),l=new Map,o=this._componentMap;for(let e=0;e<t.length;e++){const i=t[e];if(et[i.type]){const{baseMarkGroupName:t}=i;let e=this._componentMap.get(t);e?(e.setBitmapTool(n),e.setBitmap(r),e.setAttributes(i),l.set(t,e)):(e=new et[i.type](i),e.setBitmap(r),e.setBitmapTool(n),this.add(e),l.set(t,e))}}o.forEach(((t,e)=>{l.get(e)||this.removeChild(t)})),this._componentMap=l}setLocation(t){this.translateTo(t.x,t.y)}disableAnimation(){this._componentMap.forEach((t=>{t.disableAnimation()}))}enableAnimation(){this._componentMap.forEach((t=>{t.enableAnimation()}))}}function st(t,e){let i="";return 0===t.length||(t.forEach(((t,e)=>{0===e?i=`M${t.x},${t.y}`:i+=`L${t.x},${t.y}`})),e&&(i+="Z")),i}function at(t,e,s,a){let n="";if(!t||0===e.length)return n;const r=e[0],l=i.PointService.distancePP(t,r),o=s?0:1;return a?n+=`M${t.x},${t.y-l}A${l},${l},0,0,${o},${t.x},${t.y+l}A${l},${l},0,0,${o},${t.x},${t.y-l}Z`:e.forEach(((t,e)=>{0===e?n=`M${t.x},${t.y}`:n+=`A${l},${l},0,0,${o},${t.x},${t.y}`})),n}function nt(t,e,s){const{type:a,closed:n}=s,r=e.slice(0).reverse();let l="",o="";if("line"===a&&s.smoothLink&&s.center){const e=t[0],a=r[0],d=s.center;l=st(t,!!n),o=st(r,!!n);const h=i.PointService.distancePP(a,d),c=i.PointService.distancePP(e,d);l+=`A${h},${h},0,0,1,${a.x},${a.y}L${a.x},${a.y}`,o+=`A${c},${c},0,0,0,${e.x},${e.y}`}else if("circle"===a){const{center:e}=s;l=at(e,t,!1,!!n),o=at(e,r,!0,!!n)}else"line"!==a&&"polygon"!==a||(l=st(t,!!n),o=st(r,!!n));return n?l+=o:(o="L"+o.substring(1),l+=o,l+="Z"),l}class rt extends n{name="grid";static defaultAttributes={style:{lineWidth:1,stroke:"#416180"},zIndex:0};constructor(t){super(i.merge({},rt.defaultAttributes,t))}render(){this.removeAllChild();const{type:t,items:s,style:a,closed:n,alternateColor:r,depth:l=0}=this.attribute;if(!i.isEmpty(s)&&(s.forEach(((s,r)=>{const{id:o,points:d}=s;let h="";if("line"===t||"polygon"===t)h=st(d,!!n);else if("circle"===t){const{center:t}=this.attribute;h=at(t,d,!1,!!n)}const c=e.createPath({path:h,z:l,...i.isFunction(a)?i.merge({},rt.defaultAttributes.style,a(s,r)):a});c.name=`${this.name}-line`,c.id=this._getNodeId(`path-${o}`),this.add(c)})),l&&"line"===t&&s.forEach(((t,s)=>{const{id:r,points:o}=t,d=[];d.push(o[0]);const h=o[1].x-o[0].x,c=o[1].y-o[0].y,u=Math.sqrt(h*h+c*c),_=l/u;d.push({x:o[0].x+h*_,y:o[0].y+c*_});const b=st(d,!!n),p=i.abs(d[0].x-d[1].x),g=i.abs(d[0].y-d[1].y),m=e.createPath({path:b,z:0,alpha:p>g?(o[1].x-o[0].x>0?-1:1)*i.pi/2:0,beta:p<g?-i.pi/2:0,anchor3d:p>g?[d[0].x,0]:[0,d[0].y],...i.isFunction(a)?i.merge({},rt.defaultAttributes.style,a(t,s)):a});m.name=`${this.name}-line`,m.id=this._getNodeId(`path-${r}`),this.add(m)})),s.length>1&&r)){const t=i.isArray(r)?r:[r,"transparent"],a=e=>t[e%t.length];for(let t=0;t<s.length-1;t++){const[i,n]=[s[t].points,s[t+1].points],r=nt(i,n,this.attribute),l=e.createPath({path:r,fill:a(t)});l.name=`${this.name}-region`,l.id=this._getNodeId(`region-${t}`),this.add(l)}}}_getNodeId(t){return`${this.id}-${t}`}}class lt extends n{name="segment";line;startSymbol;endSymbol;_startAngle;_endAngle;static defaultAttributes={lineStyle:{lineWidth:1,stroke:"#000"},startSymbol:{visible:!1,symbolType:"triangle",size:12,refX:0,refY:0,refAngle:0,style:{fill:"#000",zIndex:1}},endSymbol:{visible:!1,symbolType:"triangle",size:12,refX:0,refY:0,refAngle:0,style:{fill:"#000",zIndex:1}}};constructor(t){super(i.merge({},lt.defaultAttributes,t))}computeLineAngle(){const{points:t}=this.attribute,e=t[0],i=t[1],s=t[t.length-2],a=t[t.length-1],n=[e.x-i.x,e.y-i.y],r=Math.atan2(n[1],n[0]),l=[a.x-s.x,a.y-s.y],o=Math.atan2(l[1],l[0]);this._startAngle=r,this._endAngle=o}render(){this.removeAllChild();const{points:t,startSymbol:s,endSymbol:a,lineStyle:n,state:r}=this.attribute;t.length>1&&this.computeLineAngle();const l=this.renderSymbol(s,"start"),o=this.renderSymbol(a,"end");this.startSymbol=l,this.endSymbol=o;let d=t;if(s?.visible){const e=s?.clip?s?.size||10:0;d=[{x:t[0].x-e/2*(Math.cos(this._startAngle)||0),y:t[0].y-e/2*(Math.sin(this._startAngle)||0)},...d.slice(1)]}if(a?.visible){const e=a?.clip?a?.size||10:0,i={x:t[t.length-1].x-e/2*(Math.cos(this._endAngle)||0),y:t[t.length-1].y-e/2*(Math.sin(this._endAngle)||0)};d=[...d.slice(0,d.length-1),i]}const h=e.createLine({points:d,fill:!1,...n});h.name="line",h.id=this._getNodeId("line"),i.isEmpty(r?.line)||(h.states=r.line),this.line=h,this.add(h)}renderSymbol(t,s){let a;if(t?.visible){const n=this._startAngle,r=this._endAngle,{points:l,state:o}=this.attribute,d=l[0],h=l[l.length-1],{refX:c=0,refY:u=0,refAngle:_=0,style:b,symbolType:p,size:g=12}=t;let m,y;"start"===s?(m={x:d.x+(n?c*Math.cos(n)+u*Math.cos(n-Math.PI/2):0),y:d.y+(n?c*Math.sin(n)+u*Math.sin(n-Math.PI/2):0)},y=n+Math.PI/2):(m={x:h.x+(r?c*Math.cos(r)+u*Math.cos(r-Math.PI/2):0),y:h.y+(r?c*Math.sin(r)+u*Math.sin(r-Math.PI/2):0)},y=r+Math.PI/2),a=e.createSymbol({...m,symbolType:p,size:g,angle:y+_,strokeBoundsBuffer:0,...b}),a.name=`${s}-symbol`,a.id=this._getNodeId(`${s}-symbol`),i.isEmpty(o?.symbol)||(a.states=o.symbol),this.add(a)}return a}getStartAngle(){return this._startAngle}getEndAngle(){return this._endAngle}}var ot,dt;t.AXIS_ELEMENT_NAME=void 0,(ot=t.AXIS_ELEMENT_NAME||(t.AXIS_ELEMENT_NAME={})).innerView="inner-view",ot.axisContainer="axis-container",ot.labelContainer="axis-label-container",ot.tickContainer="axis-tick-container",ot.tick="axis-tick",ot.subTick="axis-sub-tick",ot.label="axis-label",ot.title="axis-title",ot.gridContainer="axis-grid-container",ot.grid="axis-grid",ot.gridRegion="axis-grid-region",ot.line="axis-line",ot.background="axis-background",t.AxisStateValue=void 0,(dt=t.AxisStateValue||(t.AxisStateValue={})).selected="selected",dt.selectedReverse="selected_reverse",dt.hover="hover",dt.hoverReverse="hover_reverse";const ht={[t.AxisStateValue.selectedReverse]:{},[t.AxisStateValue.selected]:{},[t.AxisStateValue.hover]:{},[t.AxisStateValue.hoverReverse]:{}},ct={title:{space:4,padding:0,textStyle:{fontSize:12,fill:"#333333",fontWeight:"normal",fillOpacity:1}},label:{visible:!0,inside:!1,space:4,padding:0,style:{fontSize:12,fill:"#333",fontWeight:"normal",fillOpacity:1}},tick:{visible:!0,inside:!1,alignWithLabel:!0,length:4,style:{lineWidth:1,stroke:"#000",strokeOpacity:1}},subTick:{visible:!1,inside:!1,count:4,length:2,style:{lineWidth:1,stroke:"#999",strokeOpacity:1}},line:{visible:!0,style:{lineWidth:1,stroke:"#000",strokeOpacity:1}},grid:{style:{lineWidth:1,stroke:"#999",strokeOpacity:1,lineDash:[4,4]}},subGrid:{visible:!1,style:{lineWidth:1,stroke:"#999",strokeOpacity:1,lineDash:[4,4]}}};class ut extends n{name="axis";_innerView;getInnerView(){return this._innerView}_prevInnerView;getPrevInnerView(){return this._prevInnerView}data=[];tickLineItems=[];subTickLineItems=[];axisLabelLayerSize={};axisLabelsContainer=null;axisContainer;_lastHover;_lastSelect;getBoundsWithoutRender(t){const s=i.cloneDeep(this.attribute);i.merge(this.attribute,t);const a=e.createGroup({x:this.attribute.x,y:this.attribute.y});return this.add(a),this._renderInner(a),this.removeChild(a),this.attribute=s,a.AABBBounds}render(){this.removeAllChild(),this._prevInnerView=this._innerView,this._innerView=e.createGroup({x:0,y:0,pickable:!1}),this.add(this._innerView),this._renderInner(this._innerView),this._bindEvent()}_bindEvent(){const{hover:t,select:e}=this.attribute;t&&(this._innerView.addEventListener("pointermove",this._onHover),this._innerView.addEventListener("pointerout",this._onUnHover)),e&&this._innerView.addEventListener("pointerdown",this._onClick)}_onHover=t=>{const e=t.target;e!==this._lastHover&&e.name&&!i.isEmpty(e.states)&&(e.addState(A.hover,!0),l(this.axisContainer,(t=>{t!==e&&t.name&&!i.isEmpty(t.states)&&t.addState(A.hoverReverse,!0)})),this._lastHover=e)};_onUnHover=t=>{this._lastHover&&(l(this.axisContainer,(t=>{t.name&&!i.isEmpty(t.states)&&(t.removeState(A.hoverReverse),t.removeState(A.hover))})),this._lastHover=null)};_onClick=t=>{const e=t.target;if(this._lastSelect===e&&e.hasState(A.selected))return this._lastSelect=null,void l(this.axisContainer,(t=>{t.name&&!i.isEmpty(t.states)&&(t.removeState(A.selectedReverse),t.removeState(A.selected))}));e.name&&!i.isEmpty(e.states)&&(e.addState(A.selected,!0),l(this.axisContainer,(t=>{t!==e&&t.name&&!i.isEmpty(t.states)&&t.addState(A.selectedReverse,!0)})),this._lastSelect=e)};_renderInner(s){const{title:a,label:n,tick:r,line:l,grid:o,items:d,panel:h}=this.attribute,c=e.createGroup({x:0,y:0,zIndex:1});if(c.name=t.AXIS_ELEMENT_NAME.axisContainer,c.id=this._getNodeId("container"),c.setMode(this.mode),this.axisContainer=c,s.add(c),l?.visible&&this.renderLine(c),d&&d.length){if(this.data=this._transformItems(d[0]),r?.visible&&this.renderTicks(c),n?.visible){const i=e.createGroup({x:0,y:0,pickable:!1});i.name=t.AXIS_ELEMENT_NAME.labelContainer,i.id=this._getNodeId("label-container"),this.axisLabelsContainer=i,c.add(i),d.forEach(((t,e)=>{this.renderLabels(i,t,e)}))}o?.visible&&this.renderGrid(s)}if(a?.visible&&this.renderTitle(c),h&&h.visible){const s=c.AABBBounds,a=e.createRect({x:s.x1,y:s.y1,width:s.width(),height:s.height(),...h.style});a.name=t.AXIS_ELEMENT_NAME.background,a.id=this._getNodeId("background"),i.isEmpty(h.state)||(a.states=i.merge({},S,h.state)),c.insertBefore(a,c.firstChild)}}renderTicks(s){const a=this.getTickLineItems(),n=e.createGroup({x:0,y:0,pickable:!1});n.name=t.AXIS_ELEMENT_NAME.tickContainer,n.id=this._getNodeId("tick-container"),s.add(n);const r=i.isEmpty(this.attribute.tick?.state)?null:i.merge({},S,this.attribute.tick.state);a.forEach(((i,s)=>{const l=e.createLine({...this._getTickLineAttribute("tick",i,s,a)});l.name=t.AXIS_ELEMENT_NAME.tick,l.id=this._getNodeId(i.id),l.states=r,n.add(l)})),this.tickLineItems=a;const{subTick:l}=this.attribute;if(l?.visible){const s=this.getSubTickLineItems();if(s.length){const r=i.isEmpty(l.state)?null:i.merge({},S,l.state);s.forEach(((i,s)=>{const l=e.createLine({...this._getTickLineAttribute("subTick",i,s,a)});l.name=t.AXIS_ELEMENT_NAME.subTick,l.id=this._getNodeId(`${s}`),l.states=r,n.add(l)}))}this.subTickLineItems=s}}renderLabels(s,a,n){let r;r=0===n?this.data:this._transformItems(a);const l=e.createGroup({x:0,y:0,pickable:!1});l.name=`${t.AXIS_ELEMENT_NAME.labelContainer}-layer-${n}`,l.id=this._getNodeId(`label-container-layer-${n}`),s.add(l);let o=0,d=0,h="center",c="middle";const u=i.isEmpty(this.attribute.label?.state)?null:i.merge({},S,this.attribute.label.state);return r.forEach(((i,s)=>{const a=this._getLabelAttribute(i,s,r,n),_=e.createText(a);_.name=t.AXIS_ELEMENT_NAME.label,_.id=this._getNodeId(`layer${n}-label-${i.id}`),_.states=u,l.add(_);const b=a.angle??0;o=Math.max(o,_.AABBBounds.width()),d=Math.max(d,_.AABBBounds.height()),b&&(o=Math.abs(o*Math.cos(b)),d=Math.abs(d*Math.sin(b))),h=a.textAlign,c=a.textBaseline})),this.axisLabelLayerSize[n]={width:o,height:d,textAlign:h,textBaseline:c},l}renderTitle(e){const i=this.getTitleAttribute(),s=new M({...i});s.name=t.AXIS_ELEMENT_NAME.title,s.id=this._getNodeId("title"),e.add(s)}renderGrid(t){this._renderGridByType("grid",t);const{visible:e}=this.attribute.subGrid||{};e&&this._renderGridByType("subGrid",t)}getVerticalCoord(t,e,i){const s=this.getVerticalVector(e,i,t);return{x:t.x+s[0],y:t.y+s[1]}}getTextAlign(t){let e="center";return i.isNumberClose(t[0],0)?e="center":t[0]>0?e="start":t[0]<0&&(e="end"),e}getTickLineItems(){const{tick:t}=this.attribute,e=this.data,s=[],{alignWithLabel:a,inside:n=!1,length:r}=t;let l=1;return e.length>=2&&(l=e[1].value-e[0].value),e.forEach((t=>{let e=t.point,o=t.value;if(!a){const i=t.value-l/2;if(this.isInValidValue(i))return;e=this.getTickCoord(i),o=i}const d=this.getVerticalCoord(e,r,n);if("3d"===this.mode){const a=this.getVerticalVector(r,n,e);let l=0,h=0;i.abs(a[0])>i.abs(a[1])?l=i.pi/2*(d.x>e.x?1:-1):h=i.pi/2*(d.y>e.y?-1:1),s.push({start:e,end:d,value:o,id:`tick-${t.id}`,anchor:[e.x,e.y],alpha:l,beta:h})}else s.push({start:e,end:d,value:o,id:`tick-${t.id}`})})),s}getSubTickLineItems(){const{subTick:t}=this.attribute,e=[],{count:i=4,inside:s=!1,length:a=2}=t,n=this.tickLineItems,r=n.length;if(r>=2)for(let t=0;t<r-1;t++){const r=n[t],l=n[t+1];for(let t=0;t<i;t++){const n=(t+1)/(i+1),o=(1-n)*r.value+n*l.value,d=this.getTickCoord(o),h=this.getVerticalCoord(d,a,s);e.push({start:d,end:h,value:o,id:`sub-tick-${o}`})}}return e}_getTickLineAttribute(t,e,s,a){let n=i.get(this.attribute,`${t}.style`);const r=this.data[s];n=i.isFunction(n)?i.merge({},i.get(ct,`${t}.style`),"tick"===t?n(r.rawValue,s,r,this.data):n(e.value,s,e,a)):n;const{start:l,end:o,anchor:d,alpha:h,beta:c}=e;return{points:[l,o],anchor:d,alpha:h,beta:c,...n}}_getLabelAttribute(t,e,s,a){const{space:n=4,inside:r=!1,formatMethod:l,...o}=this.attribute.label;let d=n,h=0;this.attribute.tick?.visible&&this.attribute.tick?.inside===r&&(h=this.attribute.tick?.length||4),this.attribute.subTick?.visible&&this.attribute.subTick?.inside===r&&(h=Math.max(h,this.attribute.subTick?.length||2)),d+=h;const c=this.getRelativeVector(t.point);a>0&&(0===c[1]?d+=(this.axisLabelLayerSize[a-1].height+i.get(this.attribute,"label.space",4))*a:d+=(this.axisLabelLayerSize[a-1].width+i.get(this.attribute,"label.space",4))*a);const u=this.getVerticalCoord(t.point,d,r),_=this.getVerticalVector(d,r,u),b=l?l(t.label,t,e,s,a):t.label;let{style:p}=o;return p=i.isFunction(p)?i.merge({},ct.label.style,p(t,e,s,a)):p,p=i.merge({textAlign:this.getTextAlign(_),textBaseline:this.getTextBaseline(_,r)},p),i.isFunction(p.text)&&(p.text=p.text({label:t.label,value:t.rawValue,index:t.index,layer:a})),{...u,text:b,lineHeight:p?.fontSize,...p}}_transformItems(t){const e=[];return t.forEach((t=>{e.push({...t,point:this.getTickCoord(t.value),id:t.id??t.label})})),e}_renderGridByType(e,i){const s=this.getGridAttribute(e),a=new rt({pickable:!1,...s,zIndex:0});a.name="subGrid"===e?`${t.AXIS_ELEMENT_NAME.grid}-sub`:`${t.AXIS_ELEMENT_NAME.grid}`,a.id=this._getNodeId(e),i.add(a)}}class _t extends ut{static defaultAttributes=ct;constructor(t,e){super(i.merge({},_t.defaultAttributes,t),e),"3d"===e&&this.setMode(e)}renderLine(e){const{start:s,end:a,line:n}=this.attribute,{startSymbol:r,endSymbol:l,style:o,breakRange:d,breakShape:h,breakShapeStyle:c,state:u,..._}=n,b={points:[s,a],startSymbol:r,endSymbol:l,lineStyle:o,..._};i.isEmpty(u)||(b.state={line:i.merge({},ht,u),symbol:i.merge({},ht,u)});const p=new lt(b);p.name=t.AXIS_ELEMENT_NAME.line,p.id=this._getNodeId("line"),e.add(p)}isInValidValue(t){return t<0||t>1}getTickCoord(t){const{start:e}=this.attribute,i=this.getRelativeVector();return{x:e.x+i[0]*t,y:e.y+i[1]*t}}getRelativeVector(){const{start:t,end:e}=this.attribute;return[e.x-t.x,e.y-t.y]}getVerticalVector(t,e=!1){const{verticalFactor:i=1}=this.attribute,s=function(t,e){var i=e[0],s=e[1],a=i*i+s*s;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t}([0,0],this.getRelativeVector());return m([0,0],[s[1],-1*s[0]],t*(e?1:-1)*i)}getTitleAttribute(){const{position:t="middle",space:e=4,textStyle:s={},autoRotate:a=!0,shape:n,background:r,state:l,...o}=this.attribute.title;let d=.5;"start"===t?d=0:"end"===t&&(d=1);const{verticalFactor:h=1}=this.attribute,c=-1*h,u=this.getTickCoord(d),_=this.getRelativeVector();let b=0;if(this.attribute.label?.visible&&!1===this.attribute.label?.inside){const t=+i.get(this.attribute,"label.space",4);if(b+=t,0===_[1])Object.keys(this.axisLabelLayerSize).forEach(((e,i)=>{b+=this.axisLabelLayerSize[e].height+(i>0?t:0)}));else{Object.keys(this.axisLabelLayerSize).forEach(((e,i)=>{b+=this.axisLabelLayerSize[e].width+(i>0?t:0)}));const e=this.axisLabelLayerSize[0].textAlign,i="start"===e||"left"===e,s="center"===e,a=_[1]>0;b=1===c?a?i?b:s?b/2:0:i?t:s?b/2:b:a?i?0:s?b/2:b:i?b:s?b/2:0}}let p=0;this.attribute.tick?.visible&&!1===this.attribute.tick?.inside&&(p=this.attribute.tick?.length||4),this.attribute.subTick?.visible&&!1===this.attribute.subTick?.inside&&(p=Math.max(p,this.attribute.subTick?.length||2));const g=p+b+e,m=this.getVerticalCoord(u,g,!1),x=this.getVerticalVector(g,!1);let v,f,{angle:A}=o;if(v="start"===t?"start":"end"===t?"end":"center",i.isNil(A)&&a){A=y(_,[1,0],!0);const{verticalFactor:t=1}=this.attribute;f=1===-1*t?"bottom":"top"}else v=this.getTextAlign(x),f=this.getTextBaseline(x,!1);const S={...m,...o,textStyle:{textAlign:v,textBaseline:f,...s},state:i.isEmpty(l)?null:{text:l.text,shape:l.shape,panel:l.background}};return S.angle=A,n&&n.visible&&(S.shape={visible:!0,...n.style},n.space&&(S.space=n.space)),r&&r.visible&&(S.panel={visible:!0,...r.style}),S}_getGridPoint(t,e){let s;if("line"===t){const{length:t}=this.attribute.grid;s=[e,this.getVerticalCoord(e,t,!0)]}else if("circle"===t||"polygon"===t){const{center:t,sides:a,startAngle:n=x,endAngle:r=v}=this.attribute.grid;s=function(t,e,s,a,n){const r=[],l=n-a;for(let n=0;n<e;n++){const o=a+n*l/e;r.push(i.polarToCartesian(t,s,o))}return r}(t,a,i.PointService.distancePP(t,e),n,r)}return s}getGridAttribute(t){const{type:e,alignWithLabel:s=!0}=this.attribute.grid;let a=1;let n;this.data.length>=2&&(a=this.data[1].value-this.data[0].value);let r=[];if("grid"===t){n=this.attribute.grid;const t=[];this.data.forEach((i=>{let{point:n}=i;if(!s){const t=i.value-a/2;if(this.isInValidValue(t))return;n=this.getTickCoord(t)}t.push({id:i.label,datum:i,points:this._getGridPoint(e,n)})})),r=t}else{n=i.merge({},this.attribute.grid,this.attribute.subGrid);const t=[],{count:l=4}=this.attribute.subTick||{};if(this.data.length>=2){const i=[];this.data.forEach((t=>{let e=t.value;if(!s){const i=t.value-a/2;if(this.isInValidValue(i))return;e=i}i.push({value:e})}));for(let s=0;s<i.length-1;s++){const a=i[s],n=i[s+1];t.push({id:`sub-${s}-0`,points:this._getGridPoint(e,this.getTickCoord(a.value)),datum:{}});for(let i=0;i<l;i++){const r=(i+1)/(l+1),o=(1-r)*a.value+r*n.value,d=this.getTickCoord(o);t.push({id:`sub-${s}-${i+1}`,points:this._getGridPoint(e,d),datum:{}})}s===i.length-2&&t.push({id:`sub-${s}-${l+1}`,points:this._getGridPoint(e,this.getTickCoord(n.value)),datum:{}})}r=t}}return{...n,items:r}}getTextBaseline(t,e){let s="middle";const{verticalFactor:a=1}=this.attribute,n=(e?1:-1)*a;return i.isNumberClose(t[1],0)?s=i.isNumberClose(t[0],0)?1===n?"bottom":"top":"middle":t[1]>0?s="top":t[1]<0&&(s="bottom"),s}}class bt extends ut{static defaultAttributes=ct;constructor(t){super(i.merge({},bt.defaultAttributes,t))}renderLine(s){const{startAngle:a=x,endAngle:n=v,radius:r,center:l,innerRadius:o=0,line:d,inside:h=!1}=this.attribute;let c=r,u=o;h&&o>0&&(c=o,u=0);const _={...l,startAngle:a,endAngle:n,radius:c,innerRadius:u,...d?.style},b=e.createCircle(_);b.name=t.AXIS_ELEMENT_NAME.line,b.id=this._getNodeId("line"),i.isEmpty(d?.state)||(b.states=i.merge({},ht,d.state)),s.add(b)}isInValidValue(t){const{startAngle:e=x,endAngle:i=v}=this.attribute;return Math.abs(i-e)%(2*Math.PI)==0?t>1:t<0||t>1}getTickCoord(t){const{startAngle:e=x,endAngle:s=v,center:a,radius:n,inside:r=!1,innerRadius:l=0}=this.attribute,o=e+(s-e)*t;return i.polarToCartesian(a,r&&l>0?l:n,o)}getVerticalVector(t,e=!1,i){const{inside:s=!1}=this.attribute,{center:a}=this.attribute,n=[i.x-a.x,i.y-a.y];var r,l,o;return m(n,n,(e?-1:1)*(s?-1:1)*t/(l=(r=n)[0],o=r[1],Math.hypot(l,o))),n}getRelativeVector(t){const{center:e}=this.attribute;return[t.y-e.y,-1*(t.x-e.x)]}getTitleAttribute(){const{center:t,radius:e,innerRadius:s=0}=this.attribute,{space:a=4,textStyle:n={},shape:r,background:l,state:o,...d}=this.attribute.title;let h=t,c=0;this.attribute.label?.visible&&!1===this.attribute.label?.inside&&(c=i.get(this.attribute.label,"style.fontSize",12)+i.get(this.attribute.label,"space",4));let u=0;this.attribute.tick?.visible&&!1===this.attribute.tick?.inside&&(u=this.attribute.tick?.length||4),this.attribute.subTick?.visible&&!1===this.attribute.subTick?.inside&&(u=Math.max(u,this.attribute.subTick?.length||2));const _=e+u+c+a;let b="middle",{position:p}=this.attribute.title;i.isNil(p)&&(p=0===s?"end":"middle"),"start"===p?(b="bottom",h={x:t.x,y:t.y-_}):"end"===p&&(b="top",h={x:t.x,y:t.y+_});const g={...h,...d,textStyle:{textBaseline:b,textAlign:"center",...n},state:i.isEmpty(o)?null:{text:o.text,shape:o.shape,panel:o.background}},{angle:m}=d;return g.angle=m,r&&r.visible&&(g.shape={visible:!0,...r.style},r.space&&(g.space=r.space)),l&&l.visible&&(g.panel={visible:!0,...l.style}),g}getSubTickLineItems(){const{subTick:t}=this.attribute,e=[],{count:i=4,inside:s=!1,length:a=2}=t,n=this.tickLineItems,r=n.length;if(r>=2){const t=this.data[1].value-this.data[0].value,l=this.attribute?.tick?.alignWithLabel;for(let o=0;o<r;o++){const r=n[o],d=n[o+1];for(let n=0;n<i;n++){const o=(n+1)/(i+1),h=(1-o)*r.value+o*(d?d.value:l?1:r.value+t),c=this.getTickCoord(h),u=this.getVerticalCoord(c,a,s);e.push({start:c,end:u,value:h})}}}return e}getGridAttribute(t){let e,s=[];const{radius:a,innerRadius:n=0,startAngle:r=x,endAngle:l=v,center:o,grid:d}=this.attribute,{alignWithLabel:h=!0}=d||{},c=a-n;let u=1;if(this.data.length>=2&&(u=this.data[1].value-this.data[0].value),"grid"===t){e=this.attribute.grid;const t=[];let i;i=Math.abs(l-r)%(2*Math.PI)==0?[...this.data].concat(this.data[0]):this.data,i.forEach((e=>{let{point:i}=e;if(!h){const t=e.value-u/2;if(this.isInValidValue(t))return;i=this.getTickCoord(t)}const s=this.getVerticalCoord(i,c,!0);t.push({id:e.id,points:[i,s],datum:e})})),s=t}else{e=i.merge({},this.attribute.grid,this.attribute.subGrid);const t=[],{count:a=4}=this.attribute.subTick||{},n=this.data.length;if(n>=2){const e=[];this.data.forEach((t=>{let i=t.value;if(!h){const e=t.value-u/2;if(this.isInValidValue(e))return;i=e}e.push({value:i})}));for(let i=0;i<n;i++){const s=e[i],n=e[i+1];t.push({id:`sub-${i}-0`,points:[this.getTickCoord(s.value),this.getVerticalCoord(this.getTickCoord(s.value),c,!0)],datum:{}});for(let e=0;e<a;e++){const r=(e+1)/(a+1),l=(1-r)*s.value+r*(n?n.value:h?1:s.value+u),o=this.getTickCoord(l),d=this.getVerticalCoord(o,c,!0);t.push({id:`sub-${i}-${e+1}`,points:[o,d],datum:{}})}}Math.abs(l-r)%(2*Math.PI)==0&&t.push(t[0]),s=t}}return{...e,items:s,center:o}}getTextBaseline(t){let e="middle";return i.isNumberClose(t[1],0)?e="middle":t[1]>0&&t[1]>Math.abs(t[0])?e="top":t[1]<0&&Math.abs(t[1])>Math.abs(t[0])&&(e="bottom"),e}}class pt extends e.ACustomAnimate{_oldElementMap;_newElementAttrMap;mode=e.AnimateMode.NORMAL;onBind(){const t=this.target.getInnerView(),e=this.target.getPrevInnerView();e&&(this._oldElementMap=function(t){const e={};return l(t,(t=>{"group"!==t.type&&t.id&&(e[t.id]=t)})),e}(e),this._newElementAttrMap={},l(t,(t=>{if("group"!==t.type&&t.id){const e=this._oldElementMap[t.id];if(e){if(!i.isEqual(t.attribute,e.attribute)){const s=i.cloneDeep(t.attribute);this._newElementAttrMap[t.id]={state:"update",node:t,attrs:{...s,opacity:s.opacity??1,fillOpacity:s.fillOpacity??1,strokeOpacity:s.strokeOpacity??1}},t.setAttributes(e.attribute)}}else{const e={opacity:t.attribute.opacity??1,fillOpacity:t.attribute.fillOpacity??1,strokeOpacity:t.attribute.strokeOpacity??1};this._newElementAttrMap[t.id]={state:"enter",node:t,attrs:e},t.setAttributes({opacity:0,fillOpacity:0,strokeOpacity:0})}}})))}onStart(){let t=this.duration,e=this.easing;Object.keys(this._newElementAttrMap).forEach((s=>{const{node:a,attrs:n,state:r}=this._newElementAttrMap[s];"enter"===r&&(t=i.isValidNumber(this.params.enter?.duration)?this.params.enter.duration:t,e=this.params.enter?.easing?this.params.enter?.easing:e),"path"===a.type?a.animate({interpolate:(t,e,s,a,n)=>"path"===t&&(n.path=i.interpolateString(s,a)(e),!0)}).to(n,t,e):a.animate().to(n,t,e)}))}onUpdate(t,e,i){}}class gt extends e.ACustomAnimate{constructor(t,e,i,s){super(null,null,i,s)}getEndProps(){return{}}onBind(){this.target.setTheme({common:{opacity:0}})}onEnd(){this.target.setTheme({common:{opacity:1}})}onUpdate(t,e,i){this.target.setTheme({common:{opacity:e}})}}class mt extends e.ACustomAnimate{constructor(t,e,i,s){super(null,null,i,s)}getEndProps(){return{}}onBind(){this.target.setTheme({common:{opacity:1}})}onEnd(){this.target.setTheme({common:{opacity:0}})}onUpdate(t,e,i){this.target.setTheme({common:{opacity:1-e}})}}var yt;!function(t){t.startHandler="startHandler",t.endHandler="endHandler",t.middleHandler="middleHandler",t.background="background"}(yt||(yt={}));const xt={orient:"bottom",showDetail:"auto",brushSelect:!0,backgroundStyle:{fill:"white",stroke:"#D1DBEE",lineWidth:1,borderRadius:2},dragMaskStyle:{fill:"#B0C8F9",fillOpacity:.2},backgroundChartStyle:{area:{visible:!0,stroke:"#D1DBEE",lineWidth:1,fill:"#F6F8FC"},line:{visible:!0,stroke:"#D1DBEE",lineWidth:1}},selectedBackgroundStyle:{fill:"#B0C8F9",fillOpacity:.5},selectedBackgroundChartStyle:{area:{visible:!0,stroke:"#B0C8F9",lineWidth:1,fill:"#fbb934"},line:{visible:!0,stroke:"#fbb934",lineWidth:1}},middleHandlerStyle:{visible:!1,background:{size:8,style:{fill:"white",stroke:"#B0C8F9",borderRadius:2}},icon:{size:6,fill:"white",stroke:"#B0C8F9",symbolType:"M 0.3 -0.5 C 0.41 -0.5 0.5 -0.41 0.5 -0.3 C 0.5 -0.3 0.5 0.3 0.5 0.3 C 0.5 0.41 0.41 0.5 0.3 0.5 C 0.3 0.5 -0.3 0.5 -0.3 0.5 C -0.41 0.5 -0.5 0.41 -0.5 0.3 C -0.5 0.3 -0.5 -0.3 -0.5 -0.3 C -0.5 -0.41 -0.41 -0.5 -0.3 -0.5 C -0.3 -0.5 0.3 -0.5 0.3 -0.5 Z",lineWidth:.5}},startHandlerStyle:{symbolType:"M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z",fill:"white",stroke:"#B0C8F9",lineWidth:.5},endHandlerStyle:{symbolType:"M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z",fill:"white",stroke:"#B0C8F9",lineWidth:.5},startTextStyle:{padding:4,textStyle:{fontSize:10,fill:"#6F6F6F"}},endTextStyle:{padding:4,textStyle:{fontSize:10,fill:"#6F6F6F"}}};class vt extends n{name="dataZoom";static defaultAttributes=xt;_isHorizontal;_background;_container;_startHandler;_middleHandlerSymbol;_middleHandlerRect;_endHandler;_selectedBackground;_dragMask;_startText;_endText;_startValue;_endValue;_showText;_previewData=[];_previewGroup;_previewLine;_previewArea;_selectedPreviewGroupClip;_selectedPreviewGroup;_selectedPreviewLine;_selectedPreviewArea;_activeTag;_activeItem;_activeState=!1;_activeCache={startPos:{x:0,y:0},lastPos:{x:0,y:0}};_layoutCache={attPos:"x",attSize:"width",max:0};state={start:0,end:1};_previewCallbackX;_previewCallbackY;_previewCallbackX1;_previewCallbackY1;_updateStateCallback;_statePointToData=t=>t;constructor(t){super(i.merge({},vt.defaultAttributes,t));const{start:e,end:s,size:a,orient:n,showDetail:r,position:l,previewData:o,previewCallbackX:d,previewCallbackY:h,previewCallbackX1:c,previewCallbackY1:u}=this.attribute,{width:_,height:b}=a;e&&(this.state.start=e),s&&(this.state.end=s),this._isHorizontal="top"===n||"bottom"===n,this._layoutCache.max=this._isHorizontal?_:b,this._layoutCache.attPos=this._isHorizontal?"x":"y",this._layoutCache.attSize=this._isHorizontal?"width":"height",this._activeCache.startPos=l,this._activeCache.lastPos=l,this._showText="auto"!==r&&r,o&&(this._previewData=o),i.isFunction(d)&&(this._previewCallbackX=d),i.isFunction(h)&&(this._previewCallbackY=h),i.isFunction(c)&&(this._previewCallbackX1=c),i.isFunction(u)&&(this._previewCallbackY1=u)}bindEvents(){const{showDetail:t,brushSelect:i}=this.attribute;this._startHandler&&this._startHandler.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"start"))),this._endHandler&&this._endHandler.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"end"))),this._middleHandlerSymbol&&this._middleHandlerSymbol.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"middleSymbol"))),this._middleHandlerRect&&this._middleHandlerRect.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"middleRect")));const s=i?"background":"middleRect";this._selectedBackground&&this._selectedBackground.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,s))),i&&this._background&&this._background.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"background"))),i&&this._previewGroup&&this._previewGroup.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"background"))),this._selectedPreviewGroup&&this._selectedPreviewGroup.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,s))),"browser"===e.global.env&&(e.global.addEventListener("pointermove",this._onHandlerPointerMove.bind(this)),e.global.addEventListener("pointerup",this._onHandlerPointerUp.bind(this))),this.addEventListener("pointermove",this._onHandlerPointerMove),this.addEventListener("pointerup",this._onHandlerPointerUp),this.addEventListener("pointerside",this._onHandlerPointerUp),"auto"===t&&(this.addEventListener("pointerenter",this._onHandlerPointerEnter),this.addEventListener("pointerleave",this._onHandlerPointerLeave))}dragMaskSize(){const{position:t}=this.attribute,{attPos:e,max:i}=this._layoutCache;return this._activeCache.lastPos[e]-t[e]>i?i+t[e]-this._activeCache.startPos[e]:this._activeCache.lastPos[e]-t[e]<0?t[e]-this._activeCache.startPos[e]:this._activeCache.lastPos[e]-this._activeCache.startPos[e]}eventPosToStagePos(t){const e=this.stage?.window.getBoundingClientRect();return{x:t.clientX-(e?.left||0)-(this.stage?.x||0),y:t.clientY-(e?.top||0)-(this.stage?.y||0)}}_onHandlerPointerDown=(t,e)=>{"start"===e?(this._activeTag=yt.startHandler,this._activeItem=this._startHandler):"end"===e?(this._activeTag=yt.endHandler,this._activeItem=this._endHandler):"middleRect"===e?(this._activeTag=yt.middleHandler,this._activeItem=this._middleHandlerRect):"middleSymbol"===e?(this._activeTag=yt.middleHandler,this._activeItem=this._middleHandlerSymbol):"background"===e&&(this._activeTag=yt.background,this._activeItem=this._background),this._activeState=!0,this._activeCache.startPos=this.eventPosToStagePos(t),this._activeCache.lastPos=this.eventPosToStagePos(t)};_onHandlerPointerMove=t=>{const{start:e,end:i,brushSelect:s}=this.attribute,a=this.eventPosToStagePos(t),{attPos:n,max:r}=this._layoutCache,l=(a[n]-this._activeCache.lastPos[n])/r;this._activeState&&(this._activeTag===yt.middleHandler?this.moveZoomWithMiddle((this.state.start+this.state.end)/2+l):this._activeTag===yt.startHandler?this.state.start+l>this.state.end?(this.state.start=this.state.end,this.state.end=this.state.start+l,this._activeTag=yt.endHandler):this.state.start=this.state.start+l:this._activeTag===yt.endHandler&&(this.state.end+l<this.state.start?(this.state.end=this.state.start,this.state.start=this.state.end+l,this._activeTag=yt.startHandler):this.state.end=this.state.end+l),this._activeCache.lastPos=a),this.state.start=Math.min(Math.max(this.state.start,0),1),this.state.end=Math.min(Math.max(this.state.end,0),1),s&&this.renderDragMask(),e===this.state.start&&i===this.state.end||(this.setAttributes({start:this.state.start,end:this.state.end}),this._updateStateCallback&&this._updateStateCallback(this.state.start,this.state.end))};_onHandlerPointerUp(t){const{start:e,end:i,brushSelect:s}=this.attribute;if(this._activeState&&this._activeTag===yt.background){const e=this.eventPosToStagePos(t);this.backgroundDragZoom(this._activeCache.startPos,e)}this._activeState=!1,s&&this.renderDragMask(),e===this.state.start&&i===this.state.end||(this.setAttributes({start:this.state.start,end:this.state.end}),this._updateStateCallback&&this._updateStateCallback(this.state.start,this.state.end))}_onHandlerPointerEnter(t){this._showText=!0,this.renderText()}_onHandlerPointerLeave(t){this._showText=!1,this.renderText()}backgroundDragZoom(t,e){const{attPos:i,max:s}=this._layoutCache,{position:a}=this.attribute,n=t[i]-a[i],r=e[i]-a[i],l=Math.min(Math.max(Math.min(n,r)/s,0),1),o=Math.min(Math.max(Math.max(n,r)/s,0),1);Math.abs(l-o)<.01?this.moveZoomWithMiddle(l):(this.state.start=l,this.state.end=o)}moveZoomWithMiddle(t){let e=t-(this.state.start+this.state.end)/2;0!==e&&(e>0?this.state.end+e>1&&(e=1-this.state.end):e<0&&this.state.start+e<0&&(e=-this.state.start),this.state.start=this.state.start+e,this.state.end=this.state.end+e)}renderDragMask(){const{dragMaskStyle:t}=this.attribute,{position:e,width:i,height:s}=this.getLayoutAttrFromConfig();this._isHorizontal?this._dragMask=this._container.createOrUpdateChild("dragMask",{x:this.dragMaskSize()<0?this._activeCache.lastPos.x:this._activeCache.startPos.x,y:e.y,width:this._activeState&&this._activeTag===yt.background&&Math.abs(this.dragMaskSize())||0,height:s,...t},"rect"):this._dragMask=this._container.createOrUpdateChild("dragMask",{x:e.x,y:this.dragMaskSize()<0?this._activeCache.lastPos.y:this._activeCache.startPos.y,width:i,height:this._activeState&&this._activeTag===yt.background&&Math.abs(this.dragMaskSize())||0,...t},"rect")}renderText(){const{startTextStyle:t,endTextStyle:e}=this.attribute,{formatMethod:s,...a}=t,{formatMethod:n,...r}=e,{start:l,end:o}=this.state;this._startValue=this._statePointToData(l),this._endValue=this._statePointToData(o);const{position:d,width:h,height:c}=this.getLayoutAttrFromConfig();this._isHorizontal?(this._startText=this.maybeAddLabel(this._container,i.merge({},a,{text:s?s(this._startValue):this._startValue,x:d.x+l*h,y:d.y+c/2,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"right",textBaseline:"middle"}}),`data-zoom-start-text-${d}`),this._endText=this.maybeAddLabel(this._container,i.merge({},r,{text:n?n(this._endValue):this._endValue,x:d.x+o*h,y:d.y+c/2,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"left",textBaseline:"middle"}}),`data-zoom-end-text-${d}`)):(this._startText=this.maybeAddLabel(this._container,i.merge({},a,{text:s?s(this._startValue):this._startValue,x:d.x+h/2,y:d.y+l*c,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"center",textBaseline:"bottom"}}),`data-zoom-start-text-${d}`),this._endText=this.maybeAddLabel(this._container,i.merge({},r,{text:n?n(this._endValue):this._endValue,x:d.x+h/2,y:d.y+o*c,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"center",textBaseline:"top"}}),`data-zoom-end-text-${d}`))}getLayoutAttrFromConfig(){const{position:t,size:e,orient:i,middleHandlerStyle:s}=this.attribute,{width:a,height:n}=e;let r,l,o;return s?.visible?this._isHorizontal?(r=a,l=n-(s.background?.size??10),o={x:t.x,y:t.y+(s.background?.size??10)}):(r=a-(s.background?.size??10),l=n,o={x:t.x+("left"===i?s.background?.size??10:0),y:t.y}):(r=a,l=n,o=t),{position:o,width:r,height:l}}render(){const{orient:t,backgroundStyle:e,backgroundChartStyle:i,selectedBackgroundStyle:s,selectedBackgroundChartStyle:a,middleHandlerStyle:n,startHandlerStyle:r,endHandlerStyle:l,brushSelect:o}=this.attribute,{start:d,end:h}=this.state,{position:c,width:u,height:_}=this.getLayoutAttrFromConfig(),b=this.createOrUpdateChild("dataZoom-container",{},"group");this._container=b,this._background=b.createOrUpdateChild("background",{x:c.x,y:c.y,width:u,height:_,cursor:o?"crosshair":"auto",...e},"rect"),i?.line?.visible&&this.setPreviewAttributes("line",b),i?.area?.visible&&this.setPreviewAttributes("area",b),o&&this.renderDragMask(),this._isHorizontal?this._selectedBackground=b.createOrUpdateChild("selectedBackground",{x:c.x+d*u,y:c.y,width:(h-d)*u,height:_,cursor:o?"crosshair":"move",...s},"rect"):this._selectedBackground=b.createOrUpdateChild("selectedBackground",{x:c.x,y:c.y+d*_,width:u,height:(h-d)*_,cursor:o?"crosshair":"move",...s},"rect"),a?.line?.visible&&this.setSelectedPreviewAttributes("line",b),a?.area?.visible&&this.setSelectedPreviewAttributes("area",b),this.renderText(),this._isHorizontal?(this._startHandler=b.createOrUpdateChild("startHandler",{x:c.x+d*u,y:c.y+_/2,size:_,angle:0,symbolType:r?.symbolType??"square",cursor:"ew-resize",strokeBoundsBuffer:0,boundsPadding:2,pickMode:"imprecise",...r},"symbol"),this._endHandler=b.createOrUpdateChild("endHandler",{x:c.x+h*u,y:c.y+_/2,size:_,angle:0,symbolType:l?.symbolType??"square",cursor:"ew-resize",strokeBoundsBuffer:0,boundsPadding:2,pickMode:"imprecise",...l},"symbol"),n?.visible&&(this._middleHandlerRect=b.createOrUpdateChild("middleHandlerRect",{x:c.x+d*u,y:c.y-(n?.background?.size||10),width:(h-d)*u,height:n?.background?.size||10,...n?.background?.style},"rect"),this._middleHandlerSymbol=b.createOrUpdateChild("middleHandlerSymbol",{x:c.x+(d+h)/2*u,y:c.y-(n?.background?.size||10)/2,strokeBoundsBuffer:0,angle:0,symbolType:n?.icon?.symbolType??"square",...n?.icon},"symbol"))):(this._startHandler=b.createOrUpdateChild("startHandler",{x:c.x+u/2,y:c.y+d*_,size:u,angle:Math.PI/180*90,symbolType:r?.symbolType??"square",cursor:"ns-resize",boundsPadding:2,pickMode:"imprecise",strokeBoundsBuffer:0,...r},"symbol"),n?.visible&&(this._middleHandlerRect=b.createOrUpdateChild("middleHandlerRect",{x:"left"===t?c.x-(n?.background?.size||10):c.x+u,y:c.y+d*_,width:n?.background?.size||10,height:(h-d)*_,...n?.background?.style},"rect"),this._middleHandlerSymbol=b.createOrUpdateChild("middleHandlerSymbol",{x:"left"===t?c.x-(n?.background?.size||10)/2:c.x+u+(n?.background?.size||10)/2,y:c.y+(d+h)/2*_,angle:Math.PI/180*90,symbolType:n?.icon?.symbolType??"square",strokeBoundsBuffer:0,...n?.icon},"symbol")),this._endHandler=b.createOrUpdateChild("endHandler",{x:c.x+u/2,y:c.y+h*_,size:u,angle:Math.PI/180*90,symbolType:l?.symbolType??"square",cursor:"ns-resize",boundsPadding:2,pickMode:"imprecise",strokeBoundsBuffer:0,...l},"symbol"))}computeBasePoints(){const{orient:t}=this.attribute,{position:e,width:i,height:s}=this.getLayoutAttrFromConfig();let a,n;return this._isHorizontal?(a=[{x:e.x,y:e.y+s}],n=[{x:e.x+i,y:e.y+s}]):"left"===t?(a=[{x:e.x+i,y:e.y}],n=[{x:e.x+i,y:e.y+s}]):(a=[{x:e.x,y:e.y+s}],n=[{x:e.x,y:e.y}]),{basePointStart:a,basePointEnd:n}}getPreviewLinePoints(){const t=this._previewData.map((t=>({x:this._previewCallbackX&&this._previewCallbackX(t),y:this._previewCallbackY&&this._previewCallbackY(t)})));if(0===t.length)return t;const{basePointStart:e,basePointEnd:i}=this.computeBasePoints();return e.concat(t).concat(i)}getPreviewAreaPoints(){const t=this._previewData.map((t=>({x:this._previewCallbackX&&this._previewCallbackX(t),y:this._previewCallbackY&&this._previewCallbackY(t),x1:this._previewCallbackX1&&this._previewCallbackX1(t),y1:this._previewCallbackY1&&this._previewCallbackY1(t)})));if(0===t.length)return t;const{basePointStart:e,basePointEnd:i}=this.computeBasePoints();return e.concat(t).concat(i)}setPreviewAttributes(t,e){this._previewGroup||(this._previewGroup=e.createOrUpdateChild("previewGroup",{pickable:!1},"group")),"line"===t?this._previewLine=this._previewGroup.createOrUpdateChild("previewLine",{},"line"):this._previewArea=this._previewGroup.createOrUpdateChild("previewArea",{curveType:"basis"},"area");const{backgroundChartStyle:i}=this.attribute;"line"===t&&this._previewLine.setAttributes({points:this.getPreviewLinePoints(),curveType:"basis",pickable:!1,...i?.line}),"area"===t&&this._previewArea.setAttributes({points:this.getPreviewAreaPoints(),curveType:"basis",pickable:!1,...i?.area})}setSelectedPreviewAttributes(t,e){this._selectedPreviewGroupClip||(this._selectedPreviewGroupClip=e.createOrUpdateChild("selectedPreviewGroupClip",{pickable:!1},"group"),this._selectedPreviewGroup=this._selectedPreviewGroupClip.createOrUpdateChild("selectedPreviewGroup",{},"group")),"line"===t?this._selectedPreviewLine=this._selectedPreviewGroup.createOrUpdateChild("selectedPreviewLine",{},"line"):this._selectedPreviewArea=this._selectedPreviewGroup.createOrUpdateChild("selectedPreviewArea",{curveType:"basis"},"area");const{position:i,size:s,selectedBackgroundChartStyle:a}=this.attribute,{width:n,height:r}=s,{start:l,end:o}=this.state;this.computeBasePoints(),this._selectedPreviewGroupClip.setAttributes({x:this._isHorizontal?i.x+l*n:i.x,y:this._isHorizontal?i.y:i.y+l*r,width:this._isHorizontal?(o-l)*n:n,height:this._isHorizontal?r:(o-l)*r,clip:!0,pickable:!1}),this._selectedPreviewGroup.setAttributes({x:-(this._isHorizontal?i.x+l*n:i.x),y:-(this._isHorizontal?i.y:i.y+l*r),width:this._isHorizontal?(o-l)*n:n,height:this._isHorizontal?r:(o-l)*r,pickable:!1}),"line"===t&&this._selectedPreviewLine.setAttributes({points:this.getPreviewLinePoints(),curveType:"basis",pickable:!1,...a?.line}),"area"===t&&this._selectedPreviewArea.setAttributes({points:this.getPreviewAreaPoints(),curveType:"basis",pickable:!1,...a?.area})}maybeAddLabel(t,e,i){let s=this.find((t=>t.name===i),!0);return s?s.setAttributes(e):(s=new M(e),s.name=i),t.add(s),s}setStartAndEnd(t,e){const{start:s,end:a}=this.attribute;i.isValid(t)&&i.isValid(e)&&(t!==this.state.start||e!==this.state.end)&&(this.state.start=t,this.state.end=e,s===this.state.start&&a===this.state.end||this.setAttributes({start:t,end:e}))}setPreviewData(t){this._previewData=t}setText(t,e){"start"===e?this._startText.setAttribute("text",t):this._endText.setAttribute("text",t)}getStartValue(){return this._startValue}getEndTextValue(){return this._endValue}getMiddleHandlerSize(){const{middleHandlerStyle:t}=this.attribute,e=t?.background?.size??10,s=t?.icon?.size??10;return Math.max(e,...i.array(s))}setUpdateStateCallback(t){i.isFunction(t)&&(this._updateStateCallback=t)}setPreviewCallbackX(t){i.isFunction(t)&&(this._previewCallbackX=t)}setPreviewCallbackY(t){i.isFunction(t)&&(this._previewCallbackY=t)}setPreviewCallbackX1(t){i.isFunction(t)&&(this._previewCallbackX1=t)}setPreviewCallbackY1(t){i.isFunction(t)&&(this._previewCallbackY1=t)}setStatePointToData(t){i.isFunction(t)&&(this._statePointToData=t)}}var ft,At,St;t.IMarkLineLabelPosition=void 0,(ft=t.IMarkLineLabelPosition||(t.IMarkLineLabelPosition={})).start="start",ft.middle="middle",ft.end="end",ft.insideStartTop="insideStartTop",ft.insideStartBottom="insideStartBottom",ft.insideMiddleTop="insideMiddleTop",ft.insideMiddleBottom="insideMiddleBottom",ft.insideEndTop="insideEndTop",ft.insideEndBottom="insideEndBottom",t.IMarkAreaLabelPosition=void 0,(At=t.IMarkAreaLabelPosition||(t.IMarkAreaLabelPosition={})).left="left",At.right="right",At.top="top",At.bottom="bottom",At.middle="middle",At.insideLeft="insideLeft",At.insideRight="insideRight",At.insideTop="insideTop",At.insideBottom="insideBottom",t.IMarkPointItemPosition=void 0,(St=t.IMarkPointItemPosition||(t.IMarkPointItemPosition={})).top="top",St.bottom="bottom",St.middle="middle",St.insideTop="insideTop",St.insideBottom="insideBottom",St.insideMiddle="insideMiddle";class Et extends n{_container;_label;render(){this.removeAllChild();const t=this.attribute.visible??!0,i=e.createGroup({pickable:!1,childrenPickable:!1});i.name="marker-container",this.add(i),t&&this.renderMarker(i)}}const kt={startSymbol:{visible:!1,symbolType:"triangle",size:12,fill:"rgba(46, 47, 50)",lineWidth:0},endSymbol:{visible:!0,symbolType:"triangle",size:12,fill:"rgba(46, 47, 50)",lineWidth:0},label:{position:t.IMarkLineLabelPosition.end,refX:0,refY:0,refAngle:0,textStyle:{fill:"#fff",stroke:"#fff",lineWidth:0,fontSize:10,fontWeight:"normal",fontStyle:"normal"},padding:[2,2,4,4],panel:{visible:!0,borderRadius:0,fill:"rgb(48, 115, 242)",fillOpacity:.8}},lineStyle:{stroke:"#b2bacf",lineWidth:1,lineDash:[2]}},Mt={start:{textAlign:"right",textBaseline:"middle"},insideStartTop:{textAlign:"left",textBaseline:"bottom"},insideStartBottom:{textAlign:"left",textBaseline:"top"},middle:{textAlign:"center",textBaseline:"middle"},insideMiddleTop:{textAlign:"center",textBaseline:"bottom"},insideMiddleBottom:{textAlign:"center",textBaseline:"top"},end:{textAlign:"left",textBaseline:"middle"},insideEndTop:{textAlign:"right",textBaseline:"bottom"},insideEndBottom:{textAlign:"right",textBaseline:"top"}},wt={label:{position:t.IMarkAreaLabelPosition.right,textStyle:{fill:"#fff",stroke:"#fff",lineWidth:0,fontSize:10,fontWeight:"normal",fontStyle:"normal"},padding:[2,2,4,4],panel:{visible:!0,borderRadius:0,fill:"rgb(48, 115, 242)",fillOpacity:.8}},areaStyle:{fill:"#b2bacf",visible:!0}},Lt={left:{textAlign:"right",textBaseline:"middle"},insideLeft:{textAlign:"left",textBaseline:"middle"},right:{textAlign:"left",textBaseline:"middle"},insideRight:{textAlign:"right",textBaseline:"middle"},top:{textAlign:"center",textBaseline:"bottom"},insideTop:{textAlign:"center",textBaseline:"top"},bottom:{textAlign:"center",textBaseline:"top"},insideBottom:{textAlign:"center",textBaseline:"bottom"},middle:{textAlign:"center",textBaseline:"middle"}},Bt={itemLine:{visible:!0,decorativeLine:{visible:!1,length:30},startSymbol:{visible:!0,clip:!0,symbolType:"circle",size:20,style:{fill:!1,stroke:"rgba(46, 47, 50)"}},endSymbol:{visible:!1,clip:!0,symbolType:"triangle",size:12,style:{fill:!1,stroke:"rgba(46, 47, 50)"}},lineStyle:{stroke:"#000",lineWidth:1}},itemContent:{type:"text",position:"middle",refX:10,symbolStyle:{symbolType:"star",fill:"rgb(48, 115, 242)",fillOpacity:.8,size:20},textStyle:{dx:0,dy:0},imageStyle:{width:80,height:80},richTextStyle:{width:100,height:100}}},Tt={top:{textAlign:"left",textBaseline:"bottom"},bottom:{textAlign:"left",textBaseline:"top"},middle:{textAlign:"left",textBaseline:"middle"},insideTop:{textAlign:"right",textBaseline:"bottom"},insideBottom:{textAlign:"right",textBaseline:"top"},insideMiddle:{textAlign:"right",textBaseline:"middle"}};class Ct extends Et{static defaultAttributes=kt;_line;constructor(t){super(i.merge({},Ct.defaultAttributes,t))}setLabelPos(){const{points:t,label:e}=this.attribute,i=e?.position??"end",s=this._line.getEndAngle(),a=e?.refX*Math.cos(s)+e.refY*Math.cos(s-Math.PI/2),n=e?.refX*Math.sin(s)+e.refY*Math.sin(s-Math.PI/2);i.includes("start")||i.includes("Start")?this._label.setAttributes({x:t[0].x+a,y:t[0].y+n}):i.includes("middle")||i.includes("Middle")?this._label.setAttributes({x:(t[0].x+t[t.length-1].x)/2+a,y:(t[0].y+t[t.length-1].y)/2+n}):this._label.setAttributes({x:t[t.length-1].x+a,y:t[t.length-1].y+n}),this._label.setAttributes({angle:e.autoRotate&&s+(e?.refAngle??0),textStyle:{...Mt[i],...e.textStyle}})}renderMarker(t){const{points:e,startSymbol:i,endSymbol:s,label:a,lineStyle:n}=this.attribute,r=new lt({points:e,startSymbol:i,endSymbol:s,lineStyle:n});r.name="mark-line-line",this._line=r,t.add(r);const l=new M({...a});l.name="mark-line-label",this._label=l,t.add(l),this.setLabelPos()}}class Pt extends Et{static defaultAttributes=wt;_area;constructor(t){super(i.merge({},Pt.defaultAttributes,t))}getLeftPos(){return{x:this._area.AABBBounds.x1,y:(this._area.AABBBounds.y1+this._area.AABBBounds.y2)/2}}getRightPos(){return{x:this._area.AABBBounds.x2,y:(this._area.AABBBounds.y1+this._area.AABBBounds.y2)/2}}getTopPos(){return{x:(this._area.AABBBounds.x1+this._area.AABBBounds.x2)/2,y:this._area.AABBBounds.y1}}getBottomPos(){return{x:(this._area.AABBBounds.x1+this._area.AABBBounds.x2)/2,y:this._area.AABBBounds.y2}}getMiddlePos(){return{x:(this._area.AABBBounds.x1+this._area.AABBBounds.x2)/2,y:(this._area.AABBBounds.y1+this._area.AABBBounds.y2)/2}}setLabelPos(){const{label:t}=this.attribute,e=t?.position??"middle";e.includes("left")||e.includes("Left")?this._label.setAttributes({...this.getLeftPos()}):e.includes("right")||e.includes("Right")?this._label.setAttributes({...this.getRightPos()}):e.includes("top")||e.includes("Top")?this._label.setAttributes({...this.getTopPos()}):e.includes("bottom")||e.includes("Bottom")?this._label.setAttributes({...this.getBottomPos()}):this._label.setAttributes({...this.getMiddlePos()}),this._label.setAttributes({textStyle:{...Lt[e],...t.textStyle}})}renderMarker(t){const{points:i,label:s,areaStyle:a}=this.attribute,n=e.createPolygon({points:i,...a});n.name="mark-area-area",this._area=n,t.add(n);const r=new M({...s});r.name="mark-area-label",this._label=r,t.add(r),this.setLabelPos()}}class It extends Et{static defaultAttributes=Bt;_item;_line;_decorativeLine;constructor(t){super(i.merge({},It.defaultAttributes,t))}setLabelPos(){}setItemAttributes(e,i,s,a){const{autoRotate:n=!0,refX:r=0,refY:l=0,refAngle:o=0,textStyle:d,richTextStyle:h,imageStyle:c,position:u=t.IMarkPointItemPosition.middle}=i,_=this._line?.getEndAngle()||0,b=r*Math.cos(_)+l*Math.cos(_-Math.PI/2),p=r*Math.sin(_)+l*Math.sin(_-Math.PI/2);"text"===a?e.setAttributes({...d,textStyle:{...Tt[i?.position||"end"],...d?.textStyle}}):"richText"===a?e.setAttributes({dx:this.getItemDx(e,u,h)+(h?.dx||0),dy:this.getItemDy(e,u,h)+(h?.dy||0)}):"image"===a&&e.setAttributes({dx:this.getItemDx(e,u,c)+(c?.dx||0),dy:this.getItemDy(e,u,c)+(c?.dy||0)}),e.setAttributes({x:s.x+(b||0),y:s.y+(p||0),angle:n&&_+o})}getItemDx(t,e,i){const s=t?.AABBBounds?.width()??(i?.width||0);return e.includes("inside")?-s:0}getItemDy(t,e,i){const s=t?.AABBBounds?.height()??(i?.height||0);return e.includes("top")||e.includes("Top")?-s:e.includes("middle")||e.includes("Middle")?-s/2:0}renderItem(t,i){const{type:s="text",symbolStyle:a,richTextStyle:n,imageStyle:r,renderCustomCallback:l}=t;let o;return"symbol"===s?o=e.createSymbol({...i,...a}):"text"===s?o=new M({...i}):"richText"===s?o=e.createRichText({...i,...n}):"image"===s?o=e.createImage({...i,...r}):"custom"===s&&l&&(o=l()),this.setItemAttributes(o,t,i,s),o}renderItemLine(t,e,i){const{startSymbol:s,endSymbol:a,lineStyle:n,type:r="type-s"}=t;let l=[];l="type-do"===r?[e,{x:(e.x+i.x)/2,y:i.y},i]:"type-po"===r?[e,{x:i.x,y:e.y},i]:"type-op"===r?[e,{x:e.x,y:i.y},i]:[e,i];return new lt({points:l,startSymbol:s,endSymbol:a,lineStyle:n})}renderDecorativeLine(t,i){const{lineStyle:s}=t,a=t?.decorativeLine?.length||10,n=this._line.getEndAngle()||0,r=a/2*Math.cos(n-Math.PI/2),l=a/2*Math.sin(n-Math.PI/2),o=-a/2*Math.cos(n-Math.PI/2),d=-a/2*Math.sin(n-Math.PI/2);return e.createLine({points:[{x:i.x+r,y:i.y+l},{x:i.x+o,y:i.y+d}],...s})}renderMarker(t){const{position:e,itemLine:i,itemContent:s}=this.attribute,a={x:e.x+(s?.offsetX||0),y:e.y+(s?.offsetY||0)};if(i?.visible){const s=this.renderItemLine(i,e,a);if(s.name="mark-point-line",this._line=s,t.add(s),i?.decorativeLine?.visible){const e=this.renderDecorativeLine(i,a);e.name="mark-point-decorativeLine",this._decorativeLine=e,t.add(e)}}const n=this.renderItem(s,a);this._item=n,t.add(n)}}const Ht={space:8,style:{fill:"rgb(47, 69, 84)",cursor:"pointer",size:15},state:{disable:{fill:"rgb(170, 170, 170)",cursor:"not-allowed"},hover:{}}};class zt extends n{name="pager";_current=1;getCurrent(){return this._current}_total;preHandler;nextHandler;text;static defaultAttributes={handler:Ht,textStyle:{fill:"rgb(51, 51, 51)",fontSize:12}};constructor(t){super(i.merge({},zt.defaultAttributes,t))}render(){this._reset();const{layout:t="horizontal",handler:s=Ht,total:a,defaultCurrent:n=1,textStyle:r,padding:l=0}=this.attribute;this._current=n;const o=i.normalizePadding(l),d="horizontal"===t,h=e.createGroup({x:0,y:0}),c=s.style||{},u=c.size||15,_=s.space??8,b=s.state||{};let{preShape:p,nextShape:g}=s;p||(p=d?"triangleLeft":"triangleUp"),g||(g=d?"triangleRight":"triangleDown");const m=e.createSymbol({strokeBoundsBuffer:0,...c,x:0,y:0,symbolType:p,size:u});m.states=b,m.name="preHandler",this.preHandler=m,h.add(m);const{width:y,height:x}=k(`${a}/${a}`,{textAlign:"center",textBaseline:"middle",...r}),v=i.isNumber(u)?u:u[0],f=i.isNumber(u)?u:u[1],A=e.createText({x:d?v/2+_+y/2:0,y:d?0:f/2+_+x/2,text:`${n}/${a}`,textAlign:"center",textBaseline:"middle",lineHeight:r?.fontSize,...r});this.text=A,h.add(A);const S=e.createSymbol({strokeBoundsBuffer:0,...c,x:d?v+2*_+y:0,y:d?0:f+2*_+x,symbolType:g,size:u});S.name="nextHandler",S.states=b,this.nextHandler=S,h.add(S),1===this._total?(m.addState("disable"),S.addState("disable")):1===this._current?m.addState("disable"):this._current===a&&S.addState("disable");const E=h.AABBBounds,M=E.width(),w=E.height();h.translateTo(0-E.x1+o[3],0-E.y1+o[0]),this.add(h),this.attribute.width=M+o[1]+o[3],this.attribute.height=w+o[0]+o[2],this._bindEvents()}_bindEvents(){this.preHandler&&(this.preHandler.addEventListener("pointerenter",this._onHover),this.preHandler.addEventListener("pointerleave",this._onUnHover),this.preHandler.addEventListener("pointerdown",this._onClick)),this.nextHandler&&(this.nextHandler.addEventListener("pointerenter",this._onHover),this.nextHandler.addEventListener("pointerleave",this._onUnHover),this.nextHandler.addEventListener("pointerdown",this._onClick))}_onHover=t=>{const e=t.target;e.hasState("disable")||e.addState("hover")};_onUnHover=t=>{t.target.removeState("hover")};_onClick=t=>{const i=t.target;if("preHandler"===i.name){if(1===this._current)return;this._current-=1,1===this._current?i.addState("disable"):i.removeState("disable");const t=new e.CustomEvent("toPrev",{current:this._current,total:this._total,direction:"pre"});t.manager=this.stage?.eventSystem.manager,this.dispatchEvent(t)}if("nextHandler"===i.name){if(this._current===this._total)return;this._current+=1,this._current===this._total?i.addState("disable"):i.removeState("disable");const t=new e.CustomEvent("toNext",{current:this._current,total:this._total,direction:"next"});t.manager=this.stage?.eventSystem.manager,this.dispatchEvent(t)}this._current>1&&this.preHandler.removeState("disable"),this._current<this._total&&this.nextHandler.removeState("disable"),this.text.setAttribute("text",`${this._current}/${this._total}`)};_reset(){this.removeAllChild(),this._current=1,this._total=this.attribute.total,this.preHandler=this.nextHandler=this.text=null}}const Vt=16,Dt=8,Nt=12,Rt=12;var $t,Ot,Ut;t.LegendStateValue=void 0,($t=t.LegendStateValue||(t.LegendStateValue={})).selected="selected",$t.unSelected="unSelected",$t.selectedHover="selectedHover",$t.unSelectedHover="unSelectedHover",$t.focus="focus",t.LegendEvent=void 0,(Ot=t.LegendEvent||(t.LegendEvent={})).legendItemHover="legendItemHover",Ot.legendItemUnHover="legendItemUnHover",Ot.legendItemClick="legendItemClick",t.LEGEND_ELEMENT_NAME=void 0,(Ut=t.LEGEND_ELEMENT_NAME||(t.LEGEND_ELEMENT_NAME={})).innerView="innerView",Ut.title="legendTitle",Ut.item="legendItem",Ut.itemShape="legendItemShape",Ut.itemLabel="legendItemLabel",Ut.itemValue="legendItemValue",Ut.focus="legendItemFocus";class Wt extends n{name="legend";_innerView;_title=null;render(){this.removeAllChild();const{interactive:s=!0,title:a,padding:n=0}=this.attribute,r=i.normalizePadding(n),l=e.createGroup({x:r[3],y:r[0],pickable:s,childrenPickable:s});l.name=t.LEGEND_ELEMENT_NAME.innerView,this.add(l),this._innerView=l,a?.visible&&this._renderTitle(a),this._renderContent(),this._adjustLayout(),s&&this._bindEvents();const o=this._innerView.AABBBounds;this.attribute.width=o.width()+r[1]+r[3],this.attribute.height=o.height()+r[0]+r[2]}_renderTitle(e){const{text:s="",textStyle:a,padding:n=0,background:r,minWidth:l,maxWidth:o,shape:d}=e,h={x:0,y:0,text:s,textStyle:a,padding:i.normalizePadding(n),minWidth:l,maxWidth:o};d&&d.visible&&(h.shape={visible:!0,...d.style},i.isValid(d.space)&&(h.space=d.space)),r&&r.visible&&(h.panel={visible:!0,...r.style});const c=new M(h);c.name=t.LEGEND_ELEMENT_NAME.title,this._title=c,this._innerView.add(c)}_adjustLayout(){if(this._title){const t=this._innerView.AABBBounds.width(),e=this._title.AABBBounds.width(),i=this.attribute.title?.align;"center"===i?this._title.setAttribute("x",(t-e)/2):"end"===i&&this._title.setAttribute("x",t-e)}}}const Ft={[t.LegendStateValue.focus]:{},[t.LegendStateValue.selected]:{},[t.LegendStateValue.selectedHover]:{},[t.LegendStateValue.unSelected]:{},[t.LegendStateValue.unSelectedHover]:{}};class Gt extends Wt{name="discreteLegend";_itemsContainer=null;_itemWidthByUser;_itemHeightByUser=void 0;_itemHeight=0;_itemMaxWidth=0;_pager;static defaultAttributes={layout:"horizontal",title:{align:"start",space:Nt,textStyle:{fontSize:12,fontWeight:"bold",fill:"#2C3542"}},item:{spaceCol:Vt,spaceRow:Dt,shape:{space:8,style:{size:10,cursor:"pointer"},state:{selectedHover:{opacity:.85},unSelected:{fill:"#D8D8D8"}}},label:{space:8,style:{fontSize:12,fill:"#2C3542",cursor:"pointer"},state:{selectedHover:{opacity:.85},unSelected:{fill:"#D8D8D8"}}},value:{alignRight:!1,style:{fontSize:12,fill:"#ccc",cursor:"pointer"},state:{selectedHover:{opacity:.85},unSelected:{fill:"#D8D8D8"}}},background:{style:{cursor:"pointer"}},focus:!1,focusIconStyle:{size:10,symbolType:"M8 1C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1ZM8.75044 2.55077L8.75 3.75H7.25L7.25006 2.5507C4.81247 2.88304 2.88304 4.81247 2.5507 7.25006L3.75 7.25V8.75L2.55077 8.75044C2.8833 11.1878 4.81264 13.117 7.25006 13.4493L7.25 12.25H8.75L8.75044 13.4492C11.1876 13.1167 13.1167 11.1876 13.4492 8.75044L12.25 8.75V7.25L13.4493 7.25006C13.117 4.81264 11.1878 2.8833 8.75044 2.55077ZM8 5.5C9.38071 5.5 10.5 6.61929 10.5 8C10.5 9.38071 9.38071 10.5 8 10.5C6.61929 10.5 5.5 9.38071 5.5 8C5.5 6.61929 6.61929 5.5 8 5.5ZM8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9C8.55228 9 9 8.55228 9 8C9 7.44772 8.55228 7 8 7Z",fill:"#333",cursor:"pointer"}},autoPage:!0,pager:{space:Rt,handler:{style:{size:10},space:4}},hover:!0,select:!0,selectMode:"multiple",allowAllCanceled:!0};constructor(t){super(i.merge({},Gt.defaultAttributes,t))}setSelected(e){(this._itemsContainer?.getChildren()).forEach((i=>{const s=i.data;e.includes(s.label)?(this._setLegendItemState(i,t.LegendStateValue.selected),this._removeLegendItemState(i,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover])):(this._removeLegendItemState(i,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover]),this._setLegendItemState(i,t.LegendStateValue.unSelected))}))}_renderContent(){const{item:t={},items:s,reversed:a,maxCol:n=1,maxRow:r=2}=this.attribute;if(!1===t.visible||i.isEmpty(s))return;let l=s;a&&(l=s?.reverse());const o=e.createGroup({x:0,y:0});this._itemsContainer=o;const{layout:d,maxWidth:h,maxHeight:c,defaultSelected:u=[],autoPage:_}=this.attribute,b="horizontal"===d,{spaceCol:p=Vt,spaceRow:g=Dt,maxWidth:m,width:y,height:x}=t;i.isValid(m)?i.isValid(y)?this._itemWidthByUser=Math.min(m,y):this._itemWidthByUser=m:i.isValid(y)&&(this._itemWidthByUser=y),i.isValid(x)&&(this._itemHeightByUser=x);let v=!1,f=0,A=0,S=0,E=1,k=1;l.forEach(((t,e)=>{t.id||(t.id=t.label),t.index=e;const s=this._renderEachItem(t,!!i.isEmpty(u)||u?.includes(t.label),e),a=s.attribute.width,l=s.attribute.height;this._itemHeight=Math.max(this._itemHeight,l),f=Math.max(a,f),this._itemMaxWidth=Math.max(a,this._itemMaxWidth),b?(E=r,i.isValid(h)&&h<A+a&&(v=!0,A=0,S+=l+g,k+=1),e>0&&s.setAttributes({x:A,y:S}),A+=p+a):(E=n,i.isValid(c)&&c<S+l&&(v=!0,S=0,A+=f+p,f=0,k+=1),e>0&&s.setAttributes({x:A,y:S}),S+=g+l),o.add(s)})),v&&_&&k>E?this._renderPager(b):(o.setAttribute("y",this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",8):0),this._innerView.add(o))}_bindEvents(){if(!this._itemsContainer)return;const{hover:t=!0,select:e=!0}=this.attribute;t&&(this._itemsContainer.addEventListener("pointermove",this._onHover),this._itemsContainer.addEventListener("pointerout",this._onUnHover)),e&&this._itemsContainer.addEventListener("pointerdown",this._onClick)}_renderEachItem(s,a,n){const{id:r,label:l,value:o,shape:d}=s,{shape:h={},label:c={},value:u={},padding:_=0,background:b,focus:p,focusIconStyle:g={}}=this.attribute.item,m=i.normalizePadding(_);let y;!1===b.visible?(y=e.createGroup({x:0,y:0,cursor:b?.style.cursor}),this._appendDataToShape(y,t.LEGEND_ELEMENT_NAME.item,s,y)):(y=e.createGroup({x:0,y:0,...b?.style}),this._appendDataToShape(y,t.LEGEND_ELEMENT_NAME.item,s,y,b?.state)),y.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected);const x=e.createGroup({x:0,y:0,pickable:!1});y.add(x);let v=0;const f=i.get(h,"style.size",10),A=i.get(h,"space",8),S=e.createSymbol({x:0,y:0,symbolType:"circle",strokeBoundsBuffer:0,...d,...h.style});let E;Object.keys(h.state).forEach((t=>{const e=h.state[t].fill||h.state[t].stroke;d.fill&&i.isNil(h.state[t].fill)&&e&&(h.state[t].fill=e),d.stroke&&i.isNil(h.state[t].stroke)&&e&&(h.state[t].stroke=e)})),this._appendDataToShape(S,t.LEGEND_ELEMENT_NAME.itemShape,s,y,h?.state),S.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected),x.add(S);let k=0;if(p){const a=i.get(g,"size",10);E=e.createSymbol({x:0,y:-a/2-1,strokeBoundsBuffer:0,...g,visible:!1,pickMode:"imprecise",boundsPadding:m}),this._appendDataToShape(E,t.LEGEND_ELEMENT_NAME.focus,s,y),k=a}const M=e.createText({x:f/2+A,y:0,textAlign:"start",textBaseline:"middle",lineHeight:c?.style.fontSize,...c?.style,text:c.formatMethod?c.formatMethod(l,s,n):l});this._appendDataToShape(M,t.LEGEND_ELEMENT_NAME.itemLabel,s,y,c?.state),M.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected),x.add(M);const w=i.get(c,"space",8);if(v+=f/2+A+M.AABBBounds.width()+w,i.isValid(o)){const r=i.get(u,"space",p?8:0),l=e.createText({x:v+w,y:0,textAlign:"start",textBaseline:"middle",lineHeight:u?.style.fontSize,...u?.style,text:u.formatMethod?u.formatMethod(o,s,n):o});this._appendDataToShape(l,t.LEGEND_ELEMENT_NAME.itemValue,s,y,u?.state),l.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected),this._itemWidthByUser&&(l.setAttribute("maxLineWidth",this._itemWidthByUser-m[1]-m[3]-f-A-M.AABBBounds.width()-w-k-r),u.alignRight&&l.setAttributes({textAlign:"right",x:this._itemWidthByUser-f/2-m[1]-m[3]-k-r})),v=l.AABBBounds.x2+r,x.add(l)}else this._itemWidthByUser&&M.setAttribute("maxLineWidth",this._itemWidthByUser-m[1]-m[3]-f-A-k);E&&(E.setAttribute("x",v),x.add(E));const L=x.AABBBounds,B=L.width(),T=L.height(),C=this._itemWidthByUser||B+m[1]+m[3],P=this._itemHeightByUser||T+m[0]+m[2];return y.attribute.width=C,y.attribute.height=P,x.translateTo(-L.x1+m[3],-L.y1+m[0]),y}_renderPager(t){const s=this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",8):0,{maxWidth:a,maxHeight:n,maxCol:r=1,maxRow:l=2,item:o={},pager:d={}}=this.attribute,{spaceCol:h=Vt,spaceRow:c=Dt}=o,u=this._itemsContainer,{animation:_=!0,animationDuration:b=450,animationEasing:p="quadIn",space:g=Rt,...m}=d;let y,x=0,v=0,f=0,A=0,S=1;t?(y=new zt({layout:1===l?"horizontal":"vertical",total:99,...i.merge({handler:{preShape:"triangleUp",nextShape:"triangleDown"}},m)}),this._pager=y,this._innerView.add(y),x=(l-1)*c+this._itemHeight*l,v=a-y.AABBBounds.width()-g,u.getChildren().forEach(((t,e)=>{const{width:i,height:s}=t.attribute;v<f+i&&(f=0,A+=s+c,S+=1),e>0&&t.setAttributes({x:f,y:A}),f+=h+i})),y.setAttributes({total:Math.ceil(S/l),x:v,y:s+x/2-y.AABBBounds.height()/2})):(y=new zt({layout:"horizontal",total:99,...m}),this._pager=y,this._innerView.add(y),v=this._itemMaxWidth*r+(r-1)*h,x=n-y.AABBBounds.height()-g-s,u.getChildren().forEach(((t,e)=>{const{height:i}=t.attribute;x<A+i&&(A=0,f+=this._itemMaxWidth+h,S+=1),e>0&&t.setAttributes({x:f,y:A}),A+=c+i})),y.setAttributes({total:Math.ceil(S/r),x:(v-y.AABBBounds.width())/2,y:n-y.AABBBounds.height()})),d.defaultCurrent>1&&(t?u.setAttribute("y",-(d.defaultCurrent-1)*(x+c)):u.setAttribute("x",-(d.defaultCurrent-1)*(v+h)));const E=e.createGroup({x:0,y:s,width:v,height:x,clip:!0,pickable:!1});E.add(u),this._innerView.add(E);const k=e=>{const{current:i}=e.detail;_?u.animate().to(t?{y:-(i-1)*(x+c)}:{x:-(i-1)*(v+h)},b,p):t?u.setAttribute("y",-(i-1)*(x+c)):u.setAttribute("x",-(i-1)*(v+h))};this._pager.addEventListener("toPrev",k),this._pager.addEventListener("toNext",k)}_onHover=e=>{const i=e.target;if(i?.name?.startsWith(t.LEGEND_ELEMENT_NAME.item)){const e=i.delegate;e.hasState(t.LegendStateValue.selected)?this._setLegendItemState(e,t.LegendStateValue.selectedHover):this._setLegendItemState(e,t.LegendStateValue.unSelectedHover);const s=e.getChildren()[0].find((e=>e.name===t.LEGEND_ELEMENT_NAME.focus),!1);s&&s.setAttribute("visible",!0),this._dispatchEvent(t.LegendEvent.legendItemHover,e)}};_onUnHover=e=>{const i=e.target;if(i?.name?.startsWith(t.LEGEND_ELEMENT_NAME.item)){const e=i.delegate;e.removeState(t.LegendStateValue.unSelectedHover),e.removeState(t.LegendStateValue.selectedHover),e.getChildren()[0].getChildren().forEach((e=>{e.removeState(t.LegendStateValue.unSelectedHover),e.removeState(t.LegendStateValue.selectedHover)}));const s=e.getChildren()[0].find((e=>e.name===t.LEGEND_ELEMENT_NAME.focus),!1);s&&s.setAttribute("visible",!1),this._dispatchEvent(t.LegendEvent.legendItemUnHover,e)}};_onClick=e=>{const i=e.target;if(i?.name?.startsWith(t.LEGEND_ELEMENT_NAME.item)){const e=i.delegate;if(i.name===t.LEGEND_ELEMENT_NAME.focus){const i=e.hasState(t.LegendStateValue.focus);e.toggleState(t.LegendStateValue.focus),i?this._itemsContainer?.getChildren().forEach((e=>{this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover,t.LegendStateValue.focus]),this._setLegendItemState(e,t.LegendStateValue.selected)})):(this._setLegendItemState(e,t.LegendStateValue.selected),this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover]),this._itemsContainer?.getChildren().forEach((i=>{e!==i&&(this._removeLegendItemState(i,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover,t.LegendStateValue.focus]),this._setLegendItemState(i,t.LegendStateValue.unSelected))})))}else{this._itemsContainer?.getChildren().forEach((e=>{e.removeState(t.LegendStateValue.focus)}));const{selectMode:i="multiple",allowAllCanceled:s=!0}=this.attribute,a=e.hasState(t.LegendStateValue.selected),n=this._getSelectedLegends();if("multiple"===i){if(!1===s&&a&&1===n.length)return void this._dispatchEvent(t.LegendEvent.legendItemClick,e);a?(this._removeLegendItemState(e,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover]),this._setLegendItemState(e,t.LegendStateValue.unSelected)):(this._setLegendItemState(e,t.LegendStateValue.selected),this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover]))}else this._setLegendItemState(e,t.LegendStateValue.selected),this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover]),this._itemsContainer?.getChildren().forEach((i=>{e!==i&&(this._removeLegendItemState(i,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover]),this._setLegendItemState(i,t.LegendStateValue.unSelected))}))}this._dispatchEvent(t.LegendEvent.legendItemClick,e)}};_setLegendItemState(e,i,s=!0){e.addState(i,s),e.getChildren()[0].getChildren().forEach((e=>{e.name!==t.LEGEND_ELEMENT_NAME.focus&&e.addState(i,s)}))}_removeLegendItemState(e,i){i.forEach((t=>{e.removeState(t)})),e.getChildren()[0].getChildren().forEach((e=>{e.name!==t.LEGEND_ELEMENT_NAME.focus&&i.forEach((t=>{e.removeState(t)}))}))}_getSelectedLegends(){const e=[];return this._itemsContainer?.getChildren().forEach((i=>{i.hasState(t.LegendStateValue.selected)&&e.push(i.data)})),e}_appendDataToShape(t,e,s,a,n={}){t.name=e,t.data=s,t.delegate=a,t.states=i.merge({},Ft,n)}_dispatchEvent(i,s){const a=this._getSelectedLegends();a.sort(((t,e)=>t.index-e.index));const n=a.map((t=>t.label)),r=new e.CustomEvent(i,{item:s,data:s.data,selected:s.hasState(t.LegendStateValue.selected),currentSelectedItems:a,currentSelected:n});r.manager=this.stage?.eventSystem.manager,this.dispatchEvent(r)}}var Xt;function Yt(t){return i.isArray(t)?t:[t,t]}function Zt(t){return t?"ew-resize":"ns-resize"}t.SLIDER_ELEMENT_NAME=void 0,(Xt=t.SLIDER_ELEMENT_NAME||(t.SLIDER_ELEMENT_NAME={})).innerView="innerView",Xt.railContainer="sliderRailContainer",Xt.rail="sliderRail",Xt.startText="sliderStartText",Xt.endText="sliderEndText",Xt.startHandler="sliderStartHandler",Xt.startHandlerText="startHandlerText",Xt.endHandler="sliderEndHandler",Xt.endHandlerText="sliderEndHandlerText",Xt.track="sliderTrack",Xt.trackContainer="sliderTrackContainer";class qt extends n{name="slider";static defaultAttributes={slidable:!0,layout:"horizontal",align:"bottom",height:8,showHandler:!0,handlerSize:14,handlerStyle:{symbolType:"circle",fill:"#fff",stroke:"#91caff",lineWidth:2},railStyle:{fill:"rgba(0,0,0,.04)"},trackStyle:{fill:"#91caff"},showValue:!0,valueStyle:{fill:"#2C3542",fontSize:12},startText:{style:{fill:"#2C3542",fontSize:12}},endText:{style:{fill:"#2C3542",fontSize:12}},handlerText:{visible:!0,space:4,precision:0,style:{fill:"#2C3542",fontSize:12}}};_isHorizontal=!0;_innerView;_startHandler=null;_endHandler=null;_startHandlerText=null;_endHandlerText=null;_railContainer;_rail;_track;_prePos;_currentHandler=null;_currentValue={};get track(){return this._track}get currentValue(){return this._currentValue}get startHandler(){return this._startHandler}get endHandler(){return this._endHandler}constructor(t){super(i.merge({},qt.defaultAttributes,t))}setValue(t){const[e,s]=i.array(t),{layout:a,railWidth:n,railHeight:r,min:l,max:o}=this.attribute,{startHandler:d,endHandler:h}=this._getHandlers(),c="vertical"===a?r:n,u=(e-l)/(o-l)*c;if(d&&this._updateHandler(d,u,e),h){const t=(s-l)/(o-l)*c;this._updateHandler(h,t,s)}this._updateTrack()}render(){this.removeAllChild();const{layout:s="horizontal",railWidth:a,railHeight:n,startText:r,endText:l,min:o,max:d,showHandler:h=!0}=this.attribute;let{value:c}=this.attribute;i.isNil(c)&&(c=[o,d]),this._currentValue={startValue:Yt(c)[0],endValue:Yt(c)[1]};const u="horizontal"===s;this._isHorizontal=u;const _=e.createGroup({x:0,y:0});_.name=t.SLIDER_ELEMENT_NAME.innerView,this.add(_),this._innerView=_;let b,p=0;if(r&&r.visible){b=e.createText({x:u?0:a/2,y:u?n/2:0,textAlign:u?"start":"center",textBaseline:u?"middle":"top",text:r.text,lineHeight:r.style?.fontSize,...r.style}),b.name=t.SLIDER_ELEMENT_NAME.startText,_.add(b);const s=i.isValid(r.space)?r.space:0;p+=(u?b.AABBBounds.width():b.AABBBounds.height())+s}const g=e.createGroup({x:u?p:0,y:u?0:p});_.add(g);const m=e.createGroup({x:0,y:0});let y;if(m.name=t.SLIDER_ELEMENT_NAME.railContainer,this._railContainer=m,g.add(m),this._renderRail(m),p+=u?a:n,l&&l.visible){const s=i.isValid(l.space)?l.space:0;y=e.createText({x:u?p+s:a/2,y:u?n/2:p+s,textAlign:u?"start":"center",textBaseline:u?"middle":"top",text:l.text,lineHeight:l.style?.fontSize,...l.style}),y.name=t.SLIDER_ELEMENT_NAME.endText,_.add(y)}this._renderTrack(m),h&&(this._renderHandlers(g),this._bindEvents())}_renderRail(i){const{railWidth:s,railHeight:a,railStyle:n,slidable:r}=this.attribute;let l="default";!1!==r&&(l="pointer");const o=e.createRect({x:0,y:0,width:s,height:a,cursor:l,...n});return o.name=t.SLIDER_ELEMENT_NAME.rail,i.add(o),this._rail=o,o}_renderHandlers(e){const{range:s,min:a,max:n,handlerSize:r=14,handlerStyle:l,handlerText:o,railHeight:d,railWidth:h,slidable:c}=this.attribute;let{value:u}=this.attribute;i.isNil(u)&&(u=[a,n]);const _=o&&o.visible,b=this._isHorizontal,p=b?h:d,[g,m]=Yt(u),y=(g-a)/(n-a)*p,x=this._renderHandler({x:b?y:h/2,y:b?d/2:y,size:r,strokeBoundsBuffer:0,cursor:!1===c?"default":Zt(b),...l});if(x.name=t.SLIDER_ELEMENT_NAME.startHandler,this._startHandler=x,e.add(x),this._currentValue.startPos=y,_){const i=this._renderHandlerText(g);i.name=t.SLIDER_ELEMENT_NAME.startHandlerText,e.add(i),this._startHandlerText=i}if(s){const i=(m-a)/(n-a)*p,s=this._renderHandler({x:b?i:h/2,y:b?d/2:i,size:r,strokeBoundsBuffer:0,cursor:!1===c?"default":Zt(b),...l});if(s.name=t.SLIDER_ELEMENT_NAME.endHandler,this._endHandler=s,e.add(s),this._currentValue.endPos=i,_){const i=this._renderHandlerText(m);i.name=t.SLIDER_ELEMENT_NAME.endHandlerText,e.add(i),this._endHandlerText=i}}}_renderTrack(s){const{range:a,min:n,max:r,railHeight:l,railWidth:o,trackStyle:d,railStyle:h,slidable:c}=this.attribute;let{value:u}=this.attribute;i.isNil(u)&&(u=[n,r]);const _=this._isHorizontal,b=_?o:l;let[p,g]=Yt(u);a||(p=n);const m=e.createGroup({x:0,y:0,width:o,height:l,borderRadius:h?.borderRadius,clip:!0,pickable:!1});m.name=t.SLIDER_ELEMENT_NAME.trackContainer;const y=i.isObject(a)&&!0===a.draggableTrack;let x;x=!1===c?"default":!1===a||!1===y?"pointer":Zt(_);const v=(g-p)/(r-n)*b,f=e.createRect({x:_?(p-n)/(r-n)*b:0,y:_?0:(p-n)/(r-n)*b,width:_?v:o,height:_?l:v,cursor:x,...d});f.name=t.SLIDER_ELEMENT_NAME.track,this._track=f,m.add(f),s.add(m)}_renderHandler(t){return e.createSymbol(t)}_renderHandlerText(t){const{align:i,min:s,max:a,handlerSize:n=14,handlerText:r={},railHeight:l,railWidth:o,slidable:d}=this.attribute,h=this._isHorizontal,c=(t-s)/(a-s)*(h?o:l),u=r.space??4,_={text:r?.formatter?r.formatter(t):t.toFixed(r?.precision??0),lineHeight:r.style?.lineHeight,cursor:!1===d?"default":Zt(h),...r.style};h?"top"===i?(_.textBaseline="bottom",_.textAlign="center",_.x=c,_.y=(l-n)/2-u):(_.textBaseline="top",_.textAlign="center",_.x=c,_.y=(l+n)/2+u):"left"===i?(_.textBaseline="middle",_.textAlign="end",_.x=(o-n)/2-u,_.y=c):(_.textBaseline="middle",_.textAlign="start",_.x=(o+n)/2+u,_.y=c);return e.createText(_)}_bindEvents(){const{slidable:t,range:e}=this.attribute;t&&(this._startHandler&&this._startHandler.addEventListener("pointerdown",this._onHandlerPointerdown),this._startHandlerText&&this._startHandlerText.addEventListener("pointerdown",this._onHandlerPointerdown),this._endHandler&&this._endHandler.addEventListener("pointerdown",this._onHandlerPointerdown),this._endHandlerText&&this._endHandlerText.addEventListener("pointerdown",this._onHandlerPointerdown),i.isObject(e)&&e.draggableTrack&&this._track.addEventListener("pointerdown",this._onTrackPointerdown),this._railContainer.addEventListener("pointerdown",this._onRailPointerDown))}_onHandlerPointerdown=t=>{t.stopPropagation(),this._currentHandler=t.target,this._prePos=this._isHorizontal?t.clientX:t.clientY,"browser"===e.global.env?(e.global.addEventListener("pointermove",this._onHandlerPointerMove),e.global.addEventListener("pointerup",this._onHandlerPointerUp)):(this._currentHandler.addEventListener("pointermove",this._onHandlerPointerMove),this._currentHandler.addEventListener("pointerup",this._onHandlerPointerUp),this._currentHandler.addEventListener("pointerupoutside",this._onHandlerPointerUp))};_onHandlerPointerMove=t=>{t.stopPropagation();const{railWidth:e,railHeight:s,min:a,max:n}=this.attribute;let r,l,o,d=0;this._isHorizontal?(r=t.clientX,d=r-this._prePos,l=this._currentHandler?.attribute.x,o=e):(r=t.clientY,d=r-this._prePos,l=this._currentHandler?.attribute.y,o=s);const h=i.clamp(l+d,0,o),c=h/o*(n-a)+a;"text"===this._currentHandler.type?this._updateHandlerText(this._currentHandler,h,c):this._updateHandler(this._currentHandler,h,c),this._updateTrack(),this._prePos=r,this._dispatchChangeEvent()};_onHandlerPointerUp=t=>{if(t.preventDefault(),this._currentHandler=null,"browser"===e.global.env)e.global.removeEventListener("pointermove",this._onHandlerPointerMove),e.global.removeEventListener("pointerup",this._onHandlerPointerUp);else{const e=t.target;e.removeEventListener("pointermove",this._onHandlerPointerMove),e.removeEventListener("pointerup",this._onHandlerPointerUp),e.removeEventListener("pointerupoutside",this._onHandlerPointerUp)}};_onTrackPointerdown=t=>{t.stopPropagation(),this._prePos=this._isHorizontal?t.clientX:t.clientY,"browser"===e.global.env?(e.global.addEventListener("pointermove",this._onTrackPointerMove),e.global.addEventListener("pointerup",this._onTrackPointerUp)):(this._track.addEventListener("pointermove",this._onTrackPointerMove),this._track.addEventListener("pointerup",this._onTrackPointerUp),this._track.addEventListener("pointerupoutside",this._onTrackPointerUp))};_onTrackPointerMove=t=>{t.stopPropagation();const{railWidth:e,railHeight:s,min:a,max:n}=this.attribute,{startHandler:r,endHandler:l}=this._getHandlers();let o,d,h;this._isHorizontal?(o=t.clientX,d=this._track.attribute.width,h=e):(o=t.clientY,d=this._track.attribute.height,h=s);const c=o-this._prePos;if(r){const t=this._isHorizontal?r.attribute.x:r.attribute.y,e=i.clamp(t+c,0,h-d),s=e/h*(n-a)+a;this._updateHandler(r,e,s)}if(l){const t=this._isHorizontal?l.attribute.x:l.attribute.y,e=i.clamp(t+c,d,h),s=e/h*(n-a)+a;this._updateHandler(l,e,s),this._track.setAttributes(this._isHorizontal?{x:Math.min(r?.attribute.x,l?.attribute.x),width:Math.abs(r?.attribute.x-l?.attribute.x)}:{y:Math.min(r?.attribute.y,l?.attribute.y),height:Math.abs(r?.attribute.y-l?.attribute.y)})}this._prePos=o,this._dispatchChangeEvent()};_onTrackPointerUp=t=>{t.preventDefault(),"browser"===e.global.env?(e.global.removeEventListener("pointermove",this._onTrackPointerMove),e.global.removeEventListener("pointerup",this._onTrackPointerUp)):(this._track.removeEventListener("pointermove",this._onTrackPointerMove),this._track.removeEventListener("pointerup",this._onTrackPointerUp),this._track.removeEventListener("pointerupoutside",this._onTrackPointerUp))};_onRailPointerDown=t=>{t.stopPropagation();const{railWidth:e,railHeight:s,min:a,max:n}=this.attribute,r=this._startHandler,l=this._endHandler;let o,d,h,c;this._isHorizontal?(o=t.viewX-this._rail.globalAABBBounds.x1,d=r?.attribute.x,h=l?.attribute.x,c=e):(o=t.viewY-this._rail.globalAABBBounds.y1,d=r?.attribute.y,h=l?.attribute.y,c=s);const u=o/c*(n-a)+a;if(i.isValid(h)){const t=Math.abs(o-d)>Math.abs(o-h)?l:r;this._updateHandler(t,o,u)}else this._updateHandler(r,o,u);this._updateTrack(),this._dispatchChangeEvent()};_updateTrack(){const t=this._startHandler,e=this._endHandler;if(this._isHorizontal){const i=t?.attribute.x;if(e){const t=e?.attribute.x;this._track.setAttributes({x:Math.min(i,t),width:Math.abs(i-t)})}else this._track.setAttributes({width:i})}else{const i=t?.attribute.y;if(e){const t=e?.attribute.y;this._track.setAttributes({y:Math.min(i,t),height:Math.abs(i-t)})}else this._track.setAttributes({height:i})}}_updateHandler(e,i,s){const a=this._isHorizontal;e.setAttribute(a?"x":"y",i);const n=e.name===t.SLIDER_ELEMENT_NAME.startHandler?this._startHandlerText:this._endHandlerText;if(n){const{handlerText:t}=this.attribute;n?.setAttributes({text:t?.formatter?t.formatter(s):s.toFixed(t?.precision??0),[a?"x":"y"]:i})}e.name===t.SLIDER_ELEMENT_NAME.startHandler?(this._currentValue.startValue=s,this._currentValue.startPos=i):(this._currentValue.endValue=s,this._currentValue.endPos=i)}_updateHandlerText(e,i,s){const a=this._isHorizontal,{handlerText:n}=this.attribute;e.setAttributes({[a?"x":"y"]:i,text:n?.formatter?n.formatter(s):s.toFixed(n?.precision??0)});const r=e.name===t.SLIDER_ELEMENT_NAME.startHandlerText?this._startHandler:this._endHandler;r&&r?.setAttributes({[a?"x":"y"]:i}),e.name===t.SLIDER_ELEMENT_NAME.startHandlerText?(this._currentValue.startValue=s,this._currentValue.startPos=i):(this._currentValue.endValue=s,this._currentValue.endPos=i)}_dispatchChangeEvent(){const t=!!this.attribute.range,i=this._currentValue,s=new e.CustomEvent("change",{value:t?[Math.min(i.endValue,i.startValue),Math.max(i.endValue,i.startValue)]:i.startValue,position:t?[Math.min(i.endPos,i.startPos),Math.max(i.endPos,i.startPos)]:i.startPos});s.manager=this.stage?.eventSystem.manager,this.dispatchEvent(s)}_getHandlers(){let t,e=this._startHandler,i=this._endHandler;return this._isHorizontal?i&&i.attribute.x<e?.attribute.x&&(t=e,e=i,i=t):i&&i.attribute.y<e?.attribute.y&&(t=e,e=i,i=t),{startHandler:e,endHandler:i}}}class jt extends Wt{name="colorLegend";static defaultAttributes={layout:"horizontal",title:{align:"start",space:Nt,textStyle:{fontSize:12,fontWeight:"bold",fill:"rgba(46, 47, 50, 1)"}},handlerSize:10,handlerStyle:{lineWidth:4,stroke:"#fff",outerBorder:{distance:2,lineWidth:1,stroke:"#ccc"}}};_slider;_colorScale;_color;constructor(t){super(i.merge({},jt.defaultAttributes,t))}setSelected(t){this._slider&&(this._slider.setValue(t),this._updateColor())}_renderContent(){const{colors:t,slidable:e,layout:a,align:n,min:r,max:l,value:o,railWidth:d,railHeight:h,showHandler:c=!0,handlerSize:u,handlerStyle:_,railStyle:b,trackStyle:p,startText:g,endText:m,handlerText:y,showTooltip:x,tooltip:v}=this.attribute,f=[],A=(l-r)/(t.length-1);for(let e=0;e<t.length;e++)f.push(r+A*e);this._colorScale=(new s.LinearScale).domain(f,!0).range(t),this._color=this._getTrackColor();const S=new qt({x:0,y:0,range:{draggableTrack:!0},slidable:e,layout:a,align:n,min:r,max:l,value:o,railWidth:d,railHeight:h,showHandler:c,handlerSize:u,handlerStyle:_,railStyle:b,trackStyle:{fill:this._color,...p},startText:g,endText:m,handlerText:y,showTooltip:x,tooltip:v});this._innerView.add(S),this._slider=S,S.translateTo(0-S.AABBBounds.x1,(this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",Nt):0)-S.AABBBounds.y1),this._updateColor()}_bindEvents(){this._slider&&this._slider.addEventListener("change",this._onSliderChange)}_getTrackColor(){const{colors:t,layout:e}=this.attribute;if(i.isEmpty(t))return;const s=t.length;if(1===s)return t[0];const a=[];for(let e=0;e<s;e++){const i=e/(s-1);a.push({offset:i,color:t[e]})}const n="horizontal"===e;return{gradient:"linear",stops:a,x0:0,y0:0,x1:n?1:0,y1:n?0:1}}_onSliderChange=t=>{this._updateColor(),this.dispatchEvent(t)};_updateColor(){const{layout:t="horizontal",colors:e,railWidth:i,railHeight:s}=this.attribute,{startHandler:a,endHandler:n,track:r}=this._slider,{startValue:l,endValue:o,startPos:d,endPos:h}=this._slider.currentValue,c=this._colorScale.scale(l),u=this._colorScale.scale(o);a?.setAttribute("fill",c),n?.setAttribute("fill",u);const _="horizontal"===t?i:s;if(Math.abs(d-h)!==_&&e&&e.length>1){const t=this._color.stops,e=Math.min(d,h),i=Math.max(d,h),s=e/_,a=i/_,n=a-s,c=t.filter((t=>t.offset>s&&t.offset<a)),u=Math.min(l,o),b=Math.max(l,o),p=this._colorScale.scale(u),g=this._colorScale.scale(b),m=[{offset:0,color:p}];c.forEach((t=>{m.push({offset:(t.offset-s)/n,color:t.color})})),m.push({offset:1,color:g}),r.setAttribute("fill",{...this._color,stops:m})}}}function Jt(t="bottom"){let e=0;const i=3.5,s=2.5;return"top"===t?`\n M${e},-6L${e-i},-2.5\n v5\n h7\n v-5\n Z\n`:"left"===t?(e=1,`\n M${e-6},0L${e-6+s},-3.5\n h5\n v7\n h-5\n Z\n`):"right"===t?(e=-1,`\n M${e+6},0L${e+6-s},-3.5\n h-5\n v7\n h5\n Z\n `):`\n M${e},6L${e-i},2.5\n v-5\n h7\n v5\n Z\n`}class Kt extends Wt{name="sizeLegend";static defaultAttributes={layout:"horizontal",title:{align:"start",space:Nt,textStyle:{fontSize:12,fontWeight:"bold",fill:"rgba(46, 47, 50, 1)"}},handlerSize:10,handlerStyle:{lineWidth:1,stroke:"#ccc",fill:"#fff"},sizeBackground:{fill:"rgba(20,20,20,0.1)"}};_slider;constructor(t){super(i.merge({},Kt.defaultAttributes,t))}setSelected(t){this._slider&&this._slider.setValue(t)}_renderContent(){const{slidable:t,layout:s,align:a,min:n,max:r,value:l,railWidth:o,railHeight:d,showHandler:h=!0,handlerSize:c,handlerStyle:u,railStyle:_,trackStyle:b,startText:p,endText:g,handlerText:m,showTooltip:y,tooltip:x,sizeBackground:v}=this.attribute,f=e.createGroup({x:0,y:0});this._innerView.add(f);const A=new qt({x:0,y:0,zIndex:1,range:{draggableTrack:!0},slidable:t,layout:s,align:a,min:n,max:r,value:l,railWidth:o,railHeight:d,showHandler:h,handlerSize:c,handlerStyle:{symbolType:Jt(a),...u},railStyle:_,trackStyle:b,startText:p,endText:g,handlerText:m,showTooltip:y,tooltip:x});f.add(A);let S,E=0;const k=12;"horizontal"===s?"top"===a?(S=`M0,0L${o},0L${o},12Z`,E=d):(S=`M0,12L${o},12L${o},0Z`,A.setAttribute("y",k)):"left"===a?S=`M${o},0L${o},0L${o+k},${d}L${o},${d}Z`:(S=`M0,${d}L12,${d}L12,0Z`,A.setAttribute("x",k));const M=e.createPath({x:0,y:E,path:S,...v,zIndex:0});f.add(M);const w=this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",Nt):0;f.translate(0-f.AABBBounds.x1,w-f.AABBBounds.y1),this._slider=A}_bindEvents(){this._slider&&this._slider.addEventListener("change",this._onSliderChange)}_onSliderChange=t=>{this.dispatchEvent(t)}}class Qt extends n{name="title";_mainTitle;_subTitle;static defaultAttributes={textStyle:{ellipsis:"...",fill:"#333",fontSize:20,fontWeight:"bold",textAlign:"left",textBaseline:"top"},subtextStyle:{ellipsis:"...",fill:"#6F6F6F",fontSize:16,fontWeight:"normal",textAlign:"left",textBaseline:"top"}};constructor(t){super(i.merge({},Qt.defaultAttributes,t))}render(){const{text:t,textStyle:e,subtext:s,subtextStyle:a,width:n,height:r,minWidth:l,maxWidth:o,minHeight:d,maxHeight:h,align:c,verticalAlign:u,padding:_=0}=this.attribute,b=i.normalizePadding(_),p=this.createOrUpdateChild("title-container",{x:b[3],y:b[0],zIndex:1},"group");if(!1!==this.attribute?.visible&&!1!==e?.visible)if(e&&i.isValid(e?.character)){const t={x:e.x??0,y:e.y??0,width:e.width??n??0,height:e.height??r??0,ellipsis:e.ellipsis??!0,wordBreak:e.wordBreak??"break-word",maxHeight:e.maxHeight,maxWidth:e.maxWidth,textConfig:e.character};this._mainTitle=p.createOrUpdateChild("mainTitle",t,"richtext")}else i.isValid(t)&&(this._mainTitle=p.createOrUpdateChild("mainTitle",{text:[t],...e,maxLineWidth:e?.maxLineWidth??n,heightLimit:e?.heightLimit,lineClamp:e?.lineClamp,ellipsis:e?.ellipsis??!0,x:0,y:0},"wrapText"));const g=this._mainTitle?this._mainTitle?.AABBBounds.height():0,m=this._mainTitle?this._mainTitle?.AABBBounds.width():0;if(!1!==this.attribute?.visible&&!1!==a?.visible)if(a&&i.isValid(a?.character)){const t={x:a.x??0,y:a.y??g,width:a.width??n??0,height:a.height??r??0,ellipsis:a.ellipsis??!0,wordBreak:a.wordBreak??"break-word",maxHeight:a.maxHeight,maxWidth:a.maxWidth,textConfig:a.character};this._subTitle=p.createOrUpdateChild("subTitle",t,"richtext")}else i.isValid(s)&&(this._subTitle=p.createOrUpdateChild("subTitle",{text:[s],...a,maxLineWidth:a?.maxLineWidth??n,heightLimit:a?.heightLimit,lineClamp:a?.lineClamp,ellipsis:a?.ellipsis??!0,x:0,y:g},"wrapText"));const y=this._subTitle?this._subTitle?.AABBBounds.height():0,x=this._subTitle?this._subTitle?.AABBBounds.width():0;let v=Math.max(m,x),f=g+(a?.height??y);if(i.isValid(n)&&(v=n,this._mainTitle?.setAttribute("maxLineWidth",n),this._subTitle?.setAttribute("maxLineWidth",n)),i.isValid(r)&&(f=r),i.isValid(l)&&v<l&&(v=l),i.isValid(o)&&(this._mainTitle?.setAttribute("maxLineWidth",o),this._subTitle?.setAttribute("maxLineWidth",o),this._mainTitle?.setAttribute("maxWidth",o),this._subTitle?.setAttribute("maxWidth",o),v>o&&(v=o)),i.isValid(d)&&f<d&&(f=d),i.isValid(h)&&(this._mainTitle?.setAttribute("maxHeight",h),this._subTitle?.setAttribute("maxHeight",h-g),f>h&&(f=h)),p.attribute.width=v+b[1]+b[3],p.attribute.height=f+b[0]+b[2],i.isValid(c)||i.isValid(e?.align)){const t=e?.align?e?.align:c,i=e?.width??m;"left"===t?(this._mainTitle?.setAttribute("x",0),this._mainTitle?.setAttribute("textAlign","left")):"center"===t?(this._mainTitle?.setAttribute("x",i/2),this._mainTitle?.setAttribute("textAlign","center")):"right"===t&&(this._mainTitle?.setAttribute("x",i),this._mainTitle?.setAttribute("textAlign","right"))}if(i.isValid(u)||i.isValid(e?.verticalAlign)){const t=e?.verticalAlign?e?.verticalAlign:u,i=e?.height?e?.height:v;"top"===t?(this._mainTitle?.setAttribute("y",0),this._mainTitle?.setAttribute("textBaseline","top")):"middle"===t?(this._mainTitle?.setAttribute("y",i/2),this._mainTitle?.setAttribute("textBaseline","middle")):"bottom"===t&&(this._mainTitle?.setAttribute("y",i),this._mainTitle?.setAttribute("textBaseline","bottom"))}if(i.isValid(c)||i.isValid(a?.align)){const t=a?.align?a?.align:c,e=a?.width??x;"left"===t?(this._subTitle?.setAttribute("x",0),this._subTitle?.setAttribute("textAlign","left")):"center"===t?(this._subTitle?.setAttribute("x",e/2),this._subTitle?.setAttribute("textAlign","center")):"right"===t&&(this._subTitle?.setAttribute("x",e),this._subTitle?.setAttribute("textAlign","right"))}if(i.isValid(u)||i.isValid(e?.verticalAlign)){const t=a?.verticalAlign?a?.verticalAlign:u,e=g,i=a?.height??0;"top"===t?(this._subTitle?.setAttribute("y",e),this._subTitle?.setAttribute("textBaseline","top")):"middle"===t?(this._subTitle?.setAttribute("y",e+i/2),this._subTitle?.setAttribute("textBaseline","middle")):"bottom"===t&&(this._subTitle?.setAttribute("y",e+i),this._subTitle?.setAttribute("textBaseline","bottom"))}}}const te={title:{style:{text:"",fontSize:20,fill:"black",fontWeight:"normal",fillOpacity:1,textBaseline:"top",textAlign:"center"}},content:{style:{text:"",fontSize:16,fill:"black",fontWeight:"normal",fillOpacity:1,textBaseline:"top",textAlign:"center"}}};const ee=(t,e)=>{let i=t.x0,s=t.x1;const a="number"==typeof e?t.thickness*e:t.thickness;let n=t.y0-t.thickness/2,r=t.y1-t.thickness/2;"center"===t.align?(n=t.y0-a/2,r=t.y1-a/2):"end"===t.align&&(n=t.y0+t.thickness/2-a,r=t.y1+t.thickness/2-a);let l=(i+s)/2,o=n+a,d=r+a;t.round&&(i=Math.round(i),s=Math.round(s),n=Math.round(n),r=Math.round(r),o=Math.round(o),d=Math.round(d),l=Math.round(l));const h=Math.abs(s-i)>1e-6,c=t.endArrow&&h?`L${s},${r-a/2}L${s+a},${(r+d)/2}L${s},${d+a/2}`:"",u=t.startArrow&&h?`L${i},${o+a/2}L${i-a},${(n+o)/2}L${i},${n-a/2}`:"";return!1===t.isSmooth?`M${i},${n}L${s},${r}${c}L${s},${d}L${i},${o}${u}Z`:`M${i},${n}\n C${l},${n},${l},${r},${s},${r}\n ${c}\n L${s},${d}\n C${l},${d},${l},${o},${i},${o}\n ${u}\n Z`},ie=(t,e)=>{let i=t.y0,s=t.y1,a=t.x0-t.thickness/2,n=t.x1-t.thickness/2;const r="number"==typeof e?t.thickness*e:t.thickness;"center"===t.align?(a=t.x0-r/2,n=t.x1-r/2):"end"===t.align&&(a=t.x0+t.thickness/2-r,n=t.x1+t.thickness/2-r);let l=(i+s)/2,o=a+r,d=n+r;t.round&&(i=Math.round(i),s=Math.round(s),a=Math.round(a),n=Math.round(n),o=Math.round(o),d=Math.round(d),l=Math.round(l));const h=Math.abs(s-i)>1e-6,c=t.endArrow&&h?`L${n-r/2},${s}L${(n+d)/2},${s+r}L${d+r/2},${s}`:"",u=t.startArrow&&h?`L${o+r/2},${i}L${(o+a)/2},${i-r}L${a-r/2},${i}`:"";return!1===t.isSmooth?`M${a},${i}L${n},${s}${c}L${d},${s}L${o},${i}${u}Z`:`M${a},${i}\n C${a},${l},${n},${l},${n},${s}\n ${c}\n L${d},${s}\n C${d},${l},${o},${l},${o},${i}\n ${u}\n Z`};class se extends n{static defaultAttributes={direction:"horizontal",align:"start"};_container;_backPath;_frontPath;constructor(t){super(i.merge({},se.defaultAttributes,t))}render(){const{direction:t="horizontal"}=this.attribute,e="vertical"===t?ie:ee,i="number"==typeof this.attribute.ratio&&this.attribute.ratio>=0&&this.attribute.ratio<=1,s=["direction","x0","x1","y0","y1","thickness","round","ratio","align","isSmooth","backgroudStyle"],a={};if(Object.keys(this.attribute).forEach((t=>{s.includes(t)||(a[t]=this.attribute[t])})),i){const t=this.createOrUpdateChild("sankey-link-background",Object.assign({},a,this.attribute.backgroudStyle,{path:e(this.attribute,1),visible:!0,pickable:!1,zIndex:-1}),"path");this._backPath=t}else this._backPath&&this._backPath.setAttribute("visible",!1);const n=this.createOrUpdateChild("sankey-link-front",Object.assign({},a,{path:e(this.attribute,i?this.attribute.ratio:1),pickable:!1}),"path");this._frontPath=n}}class ae extends e.Symbol{constructor(t){super(t)}}var ne,re;!function(t){t.OnPlay="onPlay",t.OnPause="onPause",t.OnForward="onForward",t.OnBackward="onBackward"}(ne||(ne={})),function(t){t.Start="start",t.Pause="pause",t.Forward="forward",t.Backward="backward"}(re||(re={}));class le extends n{static defaultControllerAttr={x:0,y:0,size:20,fill:"#91caff",pickMode:"imprecise",cursor:"pointer"};static defaultAttributes={visible:!0,[re.Start]:{},[re.Pause]:{},[re.Backward]:{},[re.Forward]:{}};_isPaused=!0;_playController;_forwardController;_backwardController;_layout;_startAttr;_pauseAttr;_forwardAttr;_backwardAttr;constructor(t){super(i.merge({},le.defaultAttributes,t)),this.updateAttributes(),this._initPlay(),this._initBackward(),this._initForward(),this._initEvents()}updateAttributes=()=>{this._startAttr={style:{symbolType:"M 414.5 0.0238 c 228.9128 0 414.4762 185.5634 414.4762 414.4762 s -185.5634 414.4762 -414.4762 414.4762 S 0.0238 643.4128 0.0238 414.5 S 185.5872 0.0238 414.5 0.0238 z m 0 73.1429 C 225.9865 73.1667 73.1667 225.9865 73.1667 414.5 s 152.8198 341.3333 341.3333 341.3333 s 341.3333 -152.8198 341.3333 -341.3333 S 603.0135 73.1667 414.5 73.1667 z m -73.1429 161.4994 a 48.7619 48.7619 0 0 1 25.9901 7.5093 l 201.7524 127.1223 a 48.7619 48.7619 0 0 1 0.3657 82.2613 l -201.7524 129.6335 A 48.7619 48.7619 0 0 1 292.5952 540.1838 v -256.7314 a 48.7619 48.7619 0 0 1 48.7619 -48.7619 z m 24.381 92.9402 v 167.9116 l 131.9497 -84.7726 L 365.7381 327.6063 z",...le.defaultControllerAttr,...this.attribute.start.style}},this._pauseAttr={style:{symbolType:"M 414.5 0.0238 c 228.9128 0 414.4762 185.5634 414.4762 414.4762 s -185.5634 414.4762 -414.4762 414.4762 S 0.0238 643.4128 0.0238 414.5 S 185.5872 0.0238 414.5 0.0238 z m 0 73.1429 C 225.9865 73.1667 73.1667 225.9865 73.1667 414.5 s 152.8198 341.3333 341.3333 341.3333 s 341.3333 -152.8198 341.3333 -341.3333 S 603.0135 73.1667 414.5 73.1667 z m -48.7619 195.0476 v 316.9524 h -73.1429 V 268.2143 h 73.1429 z m 158.4762 0 v 316.9524 h -73.1429 V 268.2143 h 73.1429 z",...le.defaultControllerAttr,...this.attribute.pause.style}},this._forwardAttr={style:{...le.defaultControllerAttr,...this.attribute.forward.style}},this._backwardAttr={style:{...le.defaultControllerAttr,...this.attribute.backward.style}},this.updateLayout()};updateLayout=()=>{this._layout=this.attribute.layout,"horizontal"===this._layout?(this._backwardAttr.style.symbolType=this._backwardAttr.style?.symbolType??"M 521.29 734.276 L 230.929 448.019 L 521.29 161.762 c 37.685 -37.153 38.003 -97.625 0.707 -134.384 c -37.297 -36.758 -98.646 -36.435 -136.331 0.718 l -357.43 352.378 c -0.155 0.153 -0.297 0.314 -0.451 0.468 c -0.084 0.082 -0.172 0.157 -0.256 0.239 c -18.357 18.092 -27.581 41.929 -27.743 65.902 c -0.004 0.311 -0.017 0.623 -0.018 0.934 c 0.001 0.316 0.014 0.632 0.018 0.948 c 0.165 23.97 9.389 47.803 27.743 65.892 c 0.083 0.082 0.171 0.157 0.255 0.239 c 0.154 0.154 0.296 0.315 0.452 0.468 l 357.43 352.378 c 37.685 37.153 99.034 37.476 136.331 0.718 c 37.297 -36.758 36.979 -97.231 -0.707 -134.384 z",this._forwardAttr.style.symbolType=this._forwardAttr.style?.symbolType??"M 30 163 L 320.361 449.257 L 30 735.514 c -37.685 37.153 -38.003 97.625 -0.707 134.384 c 37.297 36.758 98.646 36.435 136.331 -0.718 l 357.43 -352.378 c 0.155 -0.153 0.297 -0.314 0.451 -0.468 c 0.084 -0.082 0.172 -0.157 0.256 -0.239 c 18.357 -18.092 27.581 -41.929 27.743 -65.902 c 0.004 -0.311 0.017 -0.623 0.018 -0.934 c -0.001 -0.316 -0.014 -0.632 -0.018 -0.948 c -0.165 -23.97 -9.389 -47.803 -27.743 -65.892 c -0.083 -0.082 -0.171 -0.157 -0.255 -0.239 c -0.154 -0.154 -0.296 -0.315 -0.452 -0.468 l -357.43 -352.378 c -37.685 -37.153 -99.034 -37.476 -136.331 -0.718 c -37.297 36.758 -36.979 97.231 0.707 134.384 z"):"vertical"===this._layout&&(this._backwardAttr.style.symbolType=this._backwardAttr.style?.symbolType??"m 161.724 521.29 l 286.257 -290.361 l 286.257 290.361 c 37.153 37.685 97.625 38.003 134.384 0.707 c 36.758 -37.297 36.435 -98.646 -0.718 -136.331 l -352.378 -357.43 c -0.153 -0.155 -0.314 -0.297 -0.468 -0.451 c -0.082 -0.084 -0.157 -0.172 -0.239 -0.256 c -18.092 -18.357 -41.929 -27.581 -65.902 -27.743 c -0.311 -0.004 -0.623 -0.017 -0.934 -0.018 c -0.316 0.001 -0.632 0.014 -0.948 0.018 c -23.97 0.165 -47.803 9.389 -65.892 27.743 c -0.082 0.083 -0.157 0.171 -0.239 0.255 c -0.154 0.154 -0.315 0.296 -0.468 0.452 l -352.378 357.43 c -37.153 37.685 -37.476 99.034 -0.718 136.331 c 36.758 37.297 97.231 36.979 134.384 -0.707 z",this._forwardAttr.style.symbolType=this._forwardAttr.style?.symbolType??"M 734.276 28.71 L 448.019 319.071 L 161.762 28.71 c -37.153 -37.685 -97.625 -38.003 -134.384 -0.707 c -36.758 37.297 -36.435 98.646 0.718 136.331 l 352.378 357.43 c 0.153 0.155 0.314 0.297 0.468 0.451 c 0.082 0.084 0.157 0.172 0.239 0.256 c 18.092 18.357 41.929 27.581 65.902 27.743 c 0.311 0.004 0.623 0.017 0.934 0.018 c 0.316 -0.001 0.632 -0.014 0.948 -0.018 c 23.97 -0.165 47.803 -9.389 65.892 -27.743 c 0.082 -0.083 0.157 -0.171 0.239 -0.255 c 0.154 -0.154 0.315 -0.296 0.468 -0.452 l 352.378 -357.43 c 37.153 -37.685 37.476 -99.034 0.718 -136.331 c -36.758 -37.297 -97.231 -36.979 -134.384 0.707 z")};_initPlay=()=>{i.isNil(this._playController)&&(this._playController=new ae({...this._startAttr.style}),this.add(this._playController))};_initBackward=()=>{i.isNil(this._backwardController)&&(this._backwardController=new ae({...this._backwardAttr.style}),this.add(this._backwardController))};_initForward=()=>{i.isNil(this._forwardController)&&(this._forwardController=new ae({...this._forwardAttr.style}),this.add(this._forwardController))};_initEvents=()=>{this._playController.addEventListener("pointerdown",(t=>{t.stopPropagation(),!0===this._isPaused?this.play():this.pause()})),this._backwardController.addEventListener("pointerdown",(t=>{t.stopPropagation(),this.backward()})),this._forwardController.addEventListener("pointerdown",(t=>{t.stopPropagation(),this.forward()}))};_createCustomEvent=t=>{const i=new e.CustomEvent(t,{eventType:t});return i.manager=this.stage?.eventSystem.manager,i};render(){this.updateAttributes(),this.renderPlay(),this.renderBackward(),this.renderForward()}renderPlay=()=>{this._isPaused?this._playController.setAttributes({symbolType:this._playController.getComputedAttribute("symbolType"),...this._startAttr.style}):this._playController.setAttributes({symbolType:this._playController.getComputedAttribute("symbolType"),...this._pauseAttr.style})};renderBackward=()=>{this._backwardController.setAttributes(this._backwardAttr.style)};renderForward=()=>{this._forwardController.setAttributes(this._forwardAttr.style)};play=()=>{const t=this._createCustomEvent(ne.OnPlay);this.dispatchEvent(t)};pause=()=>{const t=this._createCustomEvent(ne.OnPause);this.dispatchEvent(t)};forward=()=>{const t=this._createCustomEvent(ne.OnForward);this.dispatchEvent(t)};backward=()=>{const t=this._createCustomEvent(ne.OnBackward);this.dispatchEvent(t)};togglePlay=()=>{this._playController.setAttributes(this._startAttr.style),this._isPaused=!0};togglePause=()=>{this._playController.setAttributes(this._pauseAttr.style),this._isPaused=!1}}const oe={style:{x:0,y:0,dx:0,dy:0,size:20},order:0,space:10},de=[200,10];var he,ce;t.DirectionEnum=void 0,(he=t.DirectionEnum||(t.DirectionEnum={})).Default="default",he.Reverse="reverse",t.PlayerEventEnum=void 0,(ce=t.PlayerEventEnum||(t.PlayerEventEnum={})).OnChange="onChange",ce.OnPlay="onPlay",ce.OnPause="onPause",ce.OnBackward="onBackward",ce.OnForward="onForward",ce.OnEnd="onEnd";const ue=({direction:e,maxIndex:i,minIndex:s,dataIndex:a})=>(({direction:e,maxIndex:i,dataIndex:s})=>e===t.DirectionEnum.Default&&s===i)({direction:e,maxIndex:i,dataIndex:a})||(({direction:e,minIndex:i,dataIndex:s})=>e===t.DirectionEnum.Reverse&&s===i)({direction:e,minIndex:s,dataIndex:a}),_e=({direction:e,maxIndex:i,minIndex:s,dataIndex:a})=>(({direction:e,minIndex:i,dataIndex:s})=>e===t.DirectionEnum.Default&&s===i)({direction:e,minIndex:s,dataIndex:a})||(({direction:e,maxIndex:i,dataIndex:s})=>e===t.DirectionEnum.Reverse&&s===i)({direction:e,maxIndex:i,dataIndex:a}),be=t=>"top"===t||"bottom"===t;class pe extends n{static defaultAttributes={visible:!0,data:[],interval:1e3,orient:"bottom",align:"center",size:{height:20,width:300},slider:{space:10,dx:0,dy:0,railStyle:{borderRadius:5},trackStyle:{},handlerStyle:{}},controller:{start:{...oe,key:"start",position:"start",space:0},pause:{...oe,key:"pause",position:"start"},forward:{...oe,key:"forward",position:"end"},backward:{...oe,key:"backward",position:"start"}}};_slider;_controller;_data=[];_minIndex;_maxIndex;_railStyle;_trackStyle;_handlerStyle;_start;_pause;_forward;_backward;_size;_orient;_layoutInfo={};constructor(t){super(i.merge({},pe.defaultAttributes,t)),this._initAttributes(),this._initLayoutInfo(),this._initController(),this._initSlider()}_initAttributes(){this._size=this.attribute.size,this._orient=this.attribute.orient,this._data=this.attribute.data,this._minIndex=0,this._maxIndex=this._data.length-1,this._railStyle={...this.attribute?.slider?.railStyle},this._trackStyle={...this.attribute?.slider?.trackStyle},this._handlerStyle={...this.attribute?.slider?.handlerStyle},this._start={...this.attribute?.controller?.start},this._pause={...this.attribute?.controller?.pause},this._forward={...this.attribute?.controller?.forward},this._backward={...this.attribute?.controller?.backward}}_initLayoutInfo(){const t=[this._start,this._backward,this._forward].sort(((t,e)=>t.order-e.order)),e=t.filter((t=>"end"!==t.position)),s=t.filter((t=>"end"===t.position)),a=(be(this._orient)?this._railStyle.height:this._railStyle.width)??de[1],n=t.reduce(((t,e)=>{const s=e.style.size,a=i.isNumber(s)?s:i.max(s[0],s[1]);return t+e.space+a}),0),r=(be(this._orient)?this._size?.width:this._size?.height)-n,l=r-this.attribute.slider.space,o=e.reduce(((t,e)=>{const{key:s,space:a,style:{size:n}}=e,r=i.isNumber(n)?n:i.max(n[0],n[1]);return this._layoutInfo[s]={...this._layoutInfo[s],size:r,x:be(this._orient)?t+a:(this._size.width-r)/2,y:be(this._orient)?(this._size.height-r)/2:t+a},t+a+r}),0);this._layoutInfo.slider={...this._layoutInfo.slider,size:l,x:be(this._orient)?o+this.attribute.slider.space:(this._size.width-a)/2,y:be(this._orient)?(this._size.height-a)/2:o+this.attribute.slider.space},s.reduce(((t,e)=>{const{key:s,space:a,style:{size:n}}=e,r=i.isNumber(n)?n:i.max(n[0],n[1]);return this._layoutInfo[s]={...this._layoutInfo[s],size:r,x:be(this._orient)?t+a:(this._size.width-r)/2,y:be(this._orient)?(this._size.height-r)/2:t+a},t+a+r}),o+r)}_updateSliderAttrs=()=>{let t;i.isValidNumber(this._handlerStyle.size)?t=this._handlerStyle.size:this._handlerStyle.size&&this._handlerStyle.size.length&&(t=i.max(this._handlerStyle.size[0],this._handlerStyle.size[1]));const e={min:this._minIndex,max:this._maxIndex,value:this.attribute.dataIndex??0,railWidth:this._railStyle.width,railHeight:this._railStyle.height,railStyle:this._railStyle,trackStyle:this._trackStyle,handlerSize:i.isValidNumber(t)?t:void 0,handlerStyle:this._handlerStyle,dy:this.attribute.slider.dy,dx:this.attribute.slider.dx,slidable:!0,visible:!0,range:!1,handlerText:{visible:!1},startText:{visible:!1},endText:{visible:!1}};if(be(this._orient)){const t=Math.max(0,this._layoutInfo.slider.size),i=this._railStyle.height??de[1];e.layout="horizontal",e.railHeight=i,e.railWidth=t,e.x=this._layoutInfo.slider.x,e.y=this._layoutInfo.slider.y}else{const t=Math.max(0,this._layoutInfo.slider.size),i=this._railStyle.width??de[1];e.layout="vertical",e.railWidth=i,e.railHeight=t,e.x=this._layoutInfo.slider.x,e.y=this._layoutInfo.slider.y}return e};_initSlider=()=>{const t=this._updateSliderAttrs();this._slider=new qt(t),this.add(this._slider)};_updateControllerAttrs=()=>{const t={visible:!0,start:this._start,pause:this._pause,forward:this._forward,backward:this._backward};return be(this._orient)?(t.layout="horizontal",t.start={style:{...t.start.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.pause={style:{...t.pause.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.backward={style:{...t.backward.style,x:this._layoutInfo.backward.x,y:this._layoutInfo.backward.y}},t.forward={style:{...t.forward.style,x:this._layoutInfo.forward.x,y:this._layoutInfo.forward.y}}):(t.layout="vertical",t.start={style:{...t.start.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.pause={style:{...t.pause.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.backward={style:{...t.backward.style,x:this._layoutInfo.backward.x,y:this._layoutInfo.backward.y}},t.forward={style:{...t.forward.style,x:this._layoutInfo.forward.x,y:this._layoutInfo.forward.y}}),t};_initController=()=>{const t=this._updateControllerAttrs();this._controller=new le(t),this.add(this._controller)};render(){this._initLayoutInfo(),this.renderSlider(),this.renderController()}renderSlider(){const t=this._updateSliderAttrs();this._slider.setAttributes(t)}renderController(){const t=this._updateControllerAttrs();this._controller.setAttributes(t)}dispatchCustomEvent(t,i){const s=new e.CustomEvent(t,{eventType:t,index:i,value:this._data[i]});s.manager=this.stage?.eventSystem.manager,this.dispatchEvent(s)}}const ge={brushMode:"single",brushType:"rect",brushStyle:{fill:"#B0C8F9",fillOpacity:.2,stroke:"#B0C8F9",strokeWidth:2},brushMoved:!0,removeOnClick:!0,delayType:"throttle",delayTime:10,interactiveRange:{y1:-1/0,y2:1/0,x1:-1/0,x2:1/0}},me={debounce:i.debounce,throttle:i.throttle};class ye extends n{name="brush";static defaultAttributes=ge;_container;_activeDrawState=!1;_cacheDrawPoints=[];_activeMoveState=!1;_operatingMaskMoveDx=0;_operatingMaskMoveDy=0;_operatingMaskMoveRangeX=[-1/0,1/0];_operatingMaskMoveRangeY=[-1/0,1/0];_cacheMovePoint;_operatingMask;_brushMaskAABBBoundsDict={};_updateDragMaskCallback;constructor(t){super(i.merge({},ye.defaultAttributes,t))}bindBrushEvents(){const{delayType:t="throttle",delayTime:e=0}=this.attribute;this.stage.addEventListener("pointerdown",this._onBrushStart),this.stage.addEventListener("pointermove",me[t](this._onBrushing,e)),this.stage.addEventListener("pointerup",this._onBrushEnd),this.stage.addEventListener("pointerupoutside",this._onBrushEnd)}_isPosInBrushMask(t){const e=this.eventPosToStagePos(t),s=this._container.getChildren();for(let t=0;t<s.length;t++){const{points:a=[],dx:n=0,dy:r=0}=s[t].attribute,l=a.map((t=>({x:t.x+n,y:t.y+r})));if(i.polygonContainPoint(l,e.x,e.y))return this._operatingMask=s[t],!0}return!1}_onBrushStart=t=>{if(this._outOfInteractiveRange(t))return;const e=this.attribute?.brushMoved??!0;this._activeMoveState=e&&this._isPosInBrushMask(t),this._activeDrawState=!this._activeMoveState,this._activeDrawState&&this._initDraw(t),this._activeMoveState&&this._initMove(t)};_onBrushing=t=>{this._outOfInteractiveRange(t)||(this._activeDrawState&&this._drawing(t),this._activeMoveState&&this._moving(t))};_onBrushEnd=t=>{this._outOfInteractiveRange(t)||(this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:this._activeDrawState?"brushEnd":"brushMaskUp",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict}),this._activeDrawState=!1,this._activeMoveState=!1,this._operatingMask.setAttribute("pickable",!1))};_initDraw(t){const{brushMode:e,removeOnClick:i}=this.attribute,s=this.eventPosToStagePos(t);this._cacheDrawPoints=[s],this._operatingMask||this._addBrushMask(),"single"===e&&i?(this._container.incrementalClearChild(),this._addBrushMask()):"multiple"===e&&this._addBrushMask(),this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushStart",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_initMove(t){this._cacheMovePoint=this.eventPosToStagePos(t),this._operatingMaskMoveDx=this._operatingMask.attribute.dx??0,this._operatingMaskMoveDy=this._operatingMask.attribute.dy??0;const{interactiveRange:e}=this.attribute,{minY:i=-1/0,maxY:s=1/0,minX:a=-1/0,maxX:n=1/0}=e,{x1:r,x2:l,y1:o,y2:d}=this._operatingMask.globalAABBBounds,h=a-r,c=n-l,u=i-o,_=s-d;this._operatingMaskMoveRangeX=[h,c],this._operatingMaskMoveRangeY=[u,_],this._operatingMask.setAttribute("pickable",!0),this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushMaskDown",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_drawing(t){const e=this.eventPosToStagePos(t);if(this._cacheDrawPoints.length>0){const t=this._cacheDrawPoints[this._cacheDrawPoints.length-1];if(e.x===t?.x&&e.y===t?.y)return}this._cacheDrawPoints.push(e);const i=this._computeMaskPoints();this._operatingMask.setAttribute("points",i),this._brushMaskAABBBoundsDict[this._operatingMask.name]=this._operatingMask.AABBBounds,this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushing",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_moving(t){const e=this._cacheMovePoint,i=this.eventPosToStagePos(t);if(i.x===e?.x&&i.y===e?.y)return;const s=i.x-e.x,a=i.y-e.y,n=Math.min(this._operatingMaskMoveRangeX[1],Math.max(this._operatingMaskMoveRangeX[0],s))+this._operatingMaskMoveDx,r=Math.min(this._operatingMaskMoveRangeY[1],Math.max(this._operatingMaskMoveRangeY[0],a))+this._operatingMaskMoveDy;this._operatingMask.setAttributes({dx:n,dy:r}),this._brushMaskAABBBoundsDict[this._operatingMask.name]=this._operatingMask.AABBBounds,this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushMaskMove",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_computeMaskPoints(){const{brushType:t,xRange:e=[0,0],yRange:s=[0,0]}=this.attribute;let a=[];const n=this._cacheDrawPoints[0],r=this._cacheDrawPoints[this._cacheDrawPoints.length-1];return a="rect"===t?[n,{x:r.x,y:n.y},r,{x:n.x,y:r.y}]:"x"===t?[{x:n.x,y:s[0]},{x:r.x,y:s[0]},{x:r.x,y:s[1]},{x:n.x,y:s[1]}]:"y"===t?[{x:e[0],y:n.y},{x:e[0],y:r.y},{x:e[1],y:r.y},{x:e[1],y:n.y}]:i.cloneDeep(this._cacheDrawPoints),a}_addBrushMask(){const{brushStyle:t}=this.attribute,s=e.createPolygon({points:i.cloneDeep(this._cacheDrawPoints),cursor:"move",pickable:!1,...t});s.name=`brush-${Date.now()}`,this._operatingMask=s,this._container.add(s),this._brushMaskAABBBoundsDict[s.name]=s.AABBBounds}_outOfInteractiveRange(t){const{interactiveRange:e}=this.attribute,{minY:i=-1/0,maxY:s=1/0,minX:a=-1/0,maxX:n=1/0}=e,r=this.eventPosToStagePos(t);return r.x>n||r.x<a||r.y>s||r.y<i}eventPosToStagePos(t){const e=this.stage?.window.getBoundingClientRect();return{x:t.clientX-(e?.left||0)-(this.stage?.x||0),y:t.clientY-(e?.top||0)-(this.stage?.y||0)}}render(){this.bindBrushEvents();const t=this.createOrUpdateChild("brush-container",{},"group");this._container=t}setUpdateDragMaskCallback(t){i.isFunction(t)&&(this._updateDragMaskCallback=t)}}const xe=(t,...e)=>{const s=[t.shape,...e.map((t=>t?.shape))],a=[t.key,...e.map((t=>t?.key))],n=[t.value,...e.map((t=>t?.value))];return i.merge(t,...e,{shape:s.every(i.isNil)?void 0:i.merge({},...s),key:a.every(i.isNil)?void 0:i.merge({},...a),value:n.every(i.isNil)?void 0:i.merge({},...n)})},ve={panel:{visible:!0,borderRadius:[3,3,3,3],fill:"white",shadow:!0,shadowBlur:12,shadowColor:"rgba(0, 0, 0, 0.1)",shadowOffsetX:0,shadowOffsetY:4,shadowSpread:0,stroke:"white"},titleStyle:{value:{fill:"#4E5969",fontFamily:f,fontSize:14,lineHeight:18,textAlign:"left",textBaseline:"middle"},spaceRow:6},contentStyle:{shape:{fill:"black",size:8,symbolType:"circle",spacing:6},key:{fill:"#4E5969",fontFamily:f,fontSize:12,lineHeight:18,textAlign:"left",textBaseline:"middle",spacing:26},value:{fill:"#4E5969",fontFamily:f,fontSize:12,lineHeight:18,textAlign:"right",textBaseline:"middle",spacing:0},spaceRow:6},padding:10,positionX:"right",positionY:"bottom",offsetX:10,offsetY:10,parentBounds:(new i.AABBBounds).setValue(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),autoCalculatePosition:!0,autoMeasure:!0,pickable:!1,childrenPickable:!1,zIndex:500},fe=["pointerX","pointerY","offsetX","offsetY","positionX","positionY","parentBounds"],Ae="tooltip-title",Se="tooltip-content",Ee="shape",ke="value";class Me extends n{name="tooltip";_tooltipPanel;_tooltipTitleContainer;_tooltipTitleSymbol;_tooltipTitle;_tooltipContent;static defaultAttributes=ve;constructor(t){super(i.merge({},Me.defaultAttributes,t))}render(){const{visible:t,content:e,panel:s,keyWidth:a,valueWidth:n,hasContentShape:r,autoCalculatePosition:l,autoMeasure:d}=this.attribute;if(!t)return void this.hideAll();d&&Me.measureTooltip(this.attribute),l&&Me.calculateTooltipPosition(this.attribute);const h=i.normalizePadding(this.attribute.padding);this._tooltipPanel=this.createOrUpdateChild("tooltip-background",{visible:!0,...s},"rect"),this._tooltipTitleContainer=this.createOrUpdateChild(Ae,{visible:!0,x:h[3],y:h[0]},"group");const c=Me.getTitleAttr(this.attribute);this._tooltipTitleSymbol=this._tooltipTitleContainer.createOrUpdateChild(`${Ae}-${Ee}`,i.merge({symbolType:"circle"},c.shape,{visible:o(c)&&o(c.shape)}),"symbol");const u=o(c.shape)?c.shape.size+c.shape.spacing:0;this._tooltipTitle=this._tooltipTitleContainer.createOrUpdateChild(`${Ae}-${ke}`,i.merge({text:""},c.value,{visible:o(c)&&o(c.value)}),"text");const{textAlign:_,textBaseline:b}=c.value,p=s.width-h[3]-h[0]-u;"center"===_?this._tooltipTitle.setAttribute("x",u+p/2):"right"===_||"end"===_?this._tooltipTitle.setAttribute("x",u+p):this._tooltipTitle.setAttribute("x",u),"bottom"===b?this._tooltipTitle.setAttribute("y",c.height):"middle"===b?this._tooltipTitle.setAttribute("y",c.height/2):this._tooltipTitle.setAttribute("y",0);const g=o(c)?c.height+c.spaceRow:0;if(this._tooltipContent=this.createOrUpdateChild(Se,{visible:!0},"group"),this._tooltipContent.removeAllChild(),e?.length){this._tooltipContent.setAttribute("x",h[3]),this._tooltipContent.setAttribute("y",h[0]+g);let t=0;e.forEach(((e,s)=>{const l=Me.getContentAttr(this.attribute,s);if(!o(l))return;const d=`${Se}-${s}`,h=this._tooltipContent.createOrUpdateChild(d,{visible:!0,x:0,y:t},"group");let c=0;if(o(l.shape)){h.createOrUpdateChild(`${d}-${Ee}`,{visible:!0,...l.shape},"symbol").setAttribute("y",l.height/2)}if(r&&(c+=l.shape.size+l.shape.spacing),o(l.key)){const t=h.createOrUpdateChild(`${d}-key`,{visible:!0,...l.key},"text"),{textAlign:e}=l.key;"center"===e?t.setAttribute("x",c+a/2):"right"===e||"end"===e?t.setAttribute("x",c+a):t.setAttribute("x",c),t.setAttribute("y",l.height/2),c+=a+l.key.spacing}if(o(l.value)){const t=h.createOrUpdateChild(`${d}-${ke}`,{visible:!0,...l.value},"text");let e="right";i.isValid(l.value.textAlign)?e=l.value.textAlign:o(l.key)||(e="left"),t.setAttribute("textAlign",e),"center"===e?t.setAttribute("x",c+n/2):"right"===e||"end"===e?t.setAttribute("x",c+n):t.setAttribute("x",c),c+=n,t.setAttribute("y",l.height/2),h.add(t)}t+=l.height+l.spaceRow}))}}setAttributes(t,e){const s=Object.keys(t);this.attribute.autoCalculatePosition&&s.every((t=>fe.includes(t)))?(this._mergeAttributes(t,s),i.isNil(this.attribute.panel.width)&&this.attribute.autoMeasure&&Me.measureTooltip(this.attribute),Me.calculateTooltipPosition(this.attribute),super.setAttributes({x:this.attribute.x,y:this.attribute.y},e)):super.setAttributes(t,e)}static calculateTooltipPosition(t){const{width:e=0,height:i=0}=t.panel,{offsetX:s,offsetY:a,pointerX:n,pointerY:r,positionX:l,positionY:o,parentBounds:d}=t;let h=n,c=r;return"left"===l?h-=e+s:"center"===l?h-=e/2:h+=s,"top"===o?c-=i+a:"middle"===o?c-=i/2:c+=a,h+e>d.x2&&(h-=e+s),c+i>d.y2&&(c-=i+a),h<d.x1&&(h=d.x1),c<d.y1&&(c=d.y1),t.x=h,t.y=c,t}static measureTooltip(t){const{content:s,contentStyle:a}=t,n=i.normalizePadding(t.padding),r=Me.getTitleAttr(t);let l=0,d=n[0]+n[2],h=0;const{value:c,shape:u}=r,{visible:_=!1,symbolType:b=""}=u??{};if(i.isValid(c)){const{width:t,height:e}=E(c).quickMeasure(c.text);l=t,h=e}if(_&&e.builtinSymbolsMap[b]&&(l+=u.size+u.spacing,h=Math.max(u.size,h)),t.title.width=l,t.title.height=h,o(r)&&(d+=h+r.spaceRow),s?.length){const i=[];if(s.forEach(((e,s)=>{const a=Me.getContentAttr(t,s);(e.key||e.value)&&o(a)&&i.push([e,a])})),i.length){let n=!1;const r=[],h=[],c=[];i.forEach((([t,s],l)=>{const{key:u,value:_,shape:b,spaceRow:p}=s,g=o(b),m=b?.symbolType??"",y=E(u),x=E(_);let v=0;if(o(u)){const{width:t,height:e}=y.quickMeasure(u.text);h.push(t),v=Math.max(v,e)}if(o(_)){const{width:t,height:e}=x.quickMeasure(_.text);c.push(t),v=Math.max(v,e)}g&&e.builtinSymbolsMap[m]&&(n=!0,r.push(b.size),v=Math.max(b.size,v)),t.height=v,d+=v,l<i.length-1&&(d+=p??a.spaceRow)}));const u=r.length?Math.max(...r):0,_=h.length?Math.max(...h):0,b=c.length?Math.max(...c):0;l=Math.max(_+b+a.key.spacing+a.value.spacing+(n?u+a.shape.spacing:0),l),s.forEach((t=>{t.width=l})),t.hasContentShape=n,t.keyWidth=_,t.valueWidth=b}}return t.panel.width=l+n[1]+n[3],t.panel.height=d,t}static getTitleAttr(t){return xe({},Me.defaultAttributes.titleStyle,Me.defaultAttributes.title,t.titleStyle,t.title)}static getContentAttr(t,e){return xe({},Me.defaultAttributes.contentStyle,t.contentStyle,t.content[e])}}t.AbstractComponent=n,t.BasePlayer=pe,t.Brush=ye,t.CircleAxis=bt,t.CircleCrosshair=T,t.ColorContinuousLegend=jt,t.ContinuousPlayer=class extends pe{_dataIndex;_activeIndex;_alternate;_interval;_totalDuration;_isPlaying=!1;_startTime=Date.now();_elapsed;_rafId;constructor(t){super(t),this._initAttributes(),this._initEvents()}_initAttributes=()=>{super._initAttributes(),this._maxIndex=this._data.length,this._slider.setAttribute("max",this._maxIndex),this._isPlaying=!1,this._elapsed=0,this._interval=this.attribute.interval??1e3,this._dataIndex=this.attribute.dataIndex??this._minIndex;const t=this._data.length;this.attribute.totalDuration&&this._data.length?(this._totalDuration=this.attribute.totalDuration,this._interval=this._totalDuration/(t??1)):(this._totalDuration=this._interval*t,this._interval=this.attribute.interval)};_initEvents=()=>{this._controller.addEventListener(ne.OnPlay,(t=>{t.stopPropagation(),this.play()})),this._controller.addEventListener(ne.OnPause,(t=>{t.stopPropagation(),this.pause()})),this._controller.addEventListener(ne.OnForward,(t=>{t.stopPropagation(),this.forward()})),this._controller.addEventListener(ne.OnBackward,(t=>{t.stopPropagation(),this.backward()})),this._slider.addEventListener("change",(t=>{t.stopPropagation();const e=t.detail?.value,i=e/this._maxIndex;this._elapsed=i*this._totalDuration,this._startTime=Date.now()-this._elapsed,this._dispatchChange(e)}))};_getSliderValue=()=>{const t=this._elapsed/this._totalDuration;return Math.min(t*this._maxIndex,this._maxIndex)};_updateSlider=()=>{const t=this._getSliderValue();this._dataIndex=Math.floor(t),this._slider.setValue(Math.min(t,this._maxIndex)),this._dispatchChange(Math.floor(t))};_dispatchChange=e=>{const i=Math.floor(e);i!==this._activeIndex&&(this._dataIndex=i,this._activeIndex=i,i!==this._maxIndex&&this.dispatchCustomEvent(t.PlayerEventEnum.OnChange))};dispatchCustomEvent(t){super.dispatchCustomEvent(t,this._dataIndex)}play=async()=>{this._isPlaying||(this._controller.togglePause(),this._isPlaying=!0,this._elapsed>=this._totalDuration&&(this._elapsed=0),this._startTime=Date.now()-this._elapsed,this.dispatchCustomEvent(t.PlayerEventEnum.OnPlay),this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this)))};_play=()=>{this._elapsed=Date.now()-this._startTime;const t=this._getSliderValue();this._updateSlider(),t>=this._maxIndex?this._playEnd():this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this))};_playEnd=()=>{this._isPlaying=!1,e.global.getCancelAnimationFrame()(this._rafId),this._controller.togglePlay(),this.dispatchCustomEvent(t.PlayerEventEnum.OnEnd)};pause=()=>{this._isPlaying&&(this._isPlaying=!1,this._elapsed=Date.now()-this._startTime,e.global.getCancelAnimationFrame()(this._rafId),this._controller.togglePlay(),this.dispatchCustomEvent(t.PlayerEventEnum.OnPause))};backward=()=>{const e=Date.now(),i=1*this._interval,s=this._elapsed-i;s<=0?(this._elapsed=0,this._startTime=e):(this._elapsed=s,this._startTime=this._startTime+this._interval),this._updateSlider(),this.dispatchCustomEvent(t.PlayerEventEnum.OnBackward)};forward=()=>{const e=Date.now(),i=1*this._interval,s=this._elapsed+i;s>=this._totalDuration?(this._startTime=e-this._totalDuration,this._elapsed=this._totalDuration):(this._startTime=this._startTime-i,this._elapsed=s),this._updateSlider(),this.dispatchCustomEvent(t.PlayerEventEnum.OnForward)};render(){super.render()}},t.DEFAULT_ITEM_SPACE_COL=Vt,t.DEFAULT_ITEM_SPACE_ROW=Dt,t.DEFAULT_LABEL_SPACE=8,t.DEFAULT_PAGER_SPACE=Rt,t.DEFAULT_SHAPE_SIZE=10,t.DEFAULT_SHAPE_SPACE=8,t.DEFAULT_STATES=ht,t.DEFAULT_TITLE_SPACE=Nt,t.DEFAULT_VALUE_SPACE=8,t.DataLabel=it,t.DataZoom=vt,t.DiscreteLegend=Gt,t.DiscretePlayer=class extends pe{_dataIndex;_activeIndex=-1;_alternate;_interval;_isPlaying;_direction;_tickTime;_rafId;_isReachEnd=!1;constructor(t){super(i.merge({},t)),this._initAttributes(),this._initEvents()}setAttributes(t,e){super.setAttributes(t,e),this._initAttributes()}_initAttributes=()=>{super._initAttributes(),this._alternate=this.attribute.alternate??!1,this._interval=this.attribute.interval??1e3,this._direction=this.attribute.direction??t.DirectionEnum.Default,this._dataIndex=i.isNil(this.attribute.dataIndex)?"default"===this._direction?this._minIndex:this._maxIndex:this.attribute.dataIndex??0,this._slider.setAttribute("value",this._dataIndex)};_initEvents=()=>{this._controller.addEventListener(ne.OnPlay,(t=>{t.stopPropagation(),this.play()})),this._controller.addEventListener(ne.OnPause,(t=>{t.stopPropagation(),this.pause()})),this._controller.addEventListener(ne.OnForward,(t=>{t.stopPropagation(),this.forward()})),this._controller.addEventListener(ne.OnBackward,(t=>{t.stopPropagation(),this.backward()})),this._slider.addEventListener("change",(e=>{const i=Math.floor(e.detail.value)+.5;this._dataIndex=e.detail.value>=i?Math.ceil(e.detail.value):Math.floor(e.detail.value),this._slider.setValue(this._dataIndex),this.dispatchCustomEvent(t.PlayerEventEnum.OnChange)}))};dispatchCustomEvent(t){super.dispatchCustomEvent(t,this._dataIndex)}play=()=>{this._isPlaying||1!==this._data.length&&(this._controller.togglePause(),this._isPlaying=!0,(ue({dataIndex:this._dataIndex,maxIndex:this._maxIndex,minIndex:this._minIndex,direction:this._direction})||_e({dataIndex:this._dataIndex,maxIndex:this._maxIndex,minIndex:this._minIndex,direction:this._direction}))&&(this._direction===t.DirectionEnum.Default?this._updateDataIndex(this._minIndex):this._updateDataIndex(this._maxIndex)),this.dispatchCustomEvent(t.PlayerEventEnum.OnPlay),this._isReachEnd=!1,this._tickTime=Date.now(),this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this,!0)))};_play=i=>{const s=Date.now();if(this._isReachEnd&&s-this._tickTime>=this._interval)return this._isReachEnd=!1,void this._playEnd();i&&this._activeIndex!==this._dataIndex?(this.dispatchCustomEvent(t.PlayerEventEnum.OnChange),this._activeIndex=this._dataIndex):s-this._tickTime>=this._interval&&(this._tickTime=s,this._updateDataIndex(((t,e,i,s)=>"default"===t?Math.min(e+1,s):Math.max(e-1,i))(this._direction,this._dataIndex,this._minIndex,this._maxIndex)),this._activeIndex=this._dataIndex,this.dispatchCustomEvent(t.PlayerEventEnum.OnChange)),("default"===this._direction&&this._dataIndex>=this._maxIndex||"reverse"===this._direction&&this._dataIndex<=this._minIndex)&&(this._isReachEnd=!0),this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this,!1))};_updateDataIndex=t=>{this._dataIndex=t,this._slider.setValue(this._dataIndex)};_playEnd=()=>{this._isPlaying=!1,this._controller.togglePlay(),e.global.getCancelAnimationFrame()(this._rafId),this._activeIndex=-1,this.dispatchCustomEvent(t.PlayerEventEnum.OnEnd)};pause=()=>{this._isPlaying&&(this._isPlaying=!1,e.global.getCancelAnimationFrame()(this._rafId),this._controller.togglePlay(),this.dispatchCustomEvent(t.PlayerEventEnum.OnPause))};backward=()=>{const e=Math.max(this._dataIndex-1,this._minIndex);this._updateDataIndex(e),this.dispatchCustomEvent(t.PlayerEventEnum.OnChange),this.dispatchCustomEvent(t.PlayerEventEnum.OnBackward)};forward=()=>{const e=Math.min(this._dataIndex+1,this._maxIndex);this._updateDataIndex(e),this.dispatchCustomEvent(t.PlayerEventEnum.OnChange),this.dispatchCustomEvent(t.PlayerEventEnum.OnForward)}},t.Grid=rt,t.GroupFadeIn=gt,t.GroupFadeOut=mt,t.GroupTransition=pt,t.Indicator=class extends n{name="indicator";_title;_content;render(){const{visible:t,title:e,content:s,size:a,limitRatio:n=1/0}=this.attribute,r=Math.min(a.width,a.height)*n,l=this.createOrUpdateChild("indicator-container",{x:0,y:0,zIndex:1},"group");if(!0!==t)return void(l&&l.hideAll());if(i.isValid(e))if(!1!==e.visible){const t=i.merge({},i.get(te,"title.style"),e.style);this._title=l.createOrUpdateChild("indicator-title",{...t,lineHeight:i.isValid(t.lineHeight)?t.lineHeight:t.fontSize,visible:e.visible,x:0,y:0},"text"),e.autoFit&&i.isValidNumber(r)&&this._setAutoFit(r,this._title,e),e.autoLimit&&i.isValidNumber(n)&&this._title.setAttribute("maxLineWidth",r)}else{const t=l.find((t=>"indicator-title"===t.name),!1);t&&l.removeChild(t),this._title=void 0}const o=this._title?this._title.AABBBounds.height():0;if(i.isValid(s)){const t=this._title&&e?.space?e.space:0,a=i.array(s),d=[];let h=0;a.forEach(((e,s)=>{if(!1!==e.visible){const a=i.merge({},i.get(te,"content.style"),e.style),c=l.createOrUpdateChild("indicator-content-"+s,{...a,lineHeight:i.isValid(a.lineHeight)?a.lineHeight:a.fontSize,visible:e.visible,x:0,y:o+t+h},"text");e.autoFit&&i.isValidNumber(r)&&this._setAutoFit(r,c,e),e.autoLimit&&i.isValidNumber(n)&&c.setAttribute("maxLineWidth",r),d.push(c);const u=e?.space?e.space:0;h+=c.AABBBounds.height()+u}else{const t=l.find((t=>t.name==="indicator-content-"+s),!1);t&&l.removeChild(t)}})),this._content=d}const d=l?.AABBBounds.height()??0;l.setAttribute("y",a.height/2-d/2),l.setAttribute("x",a.width/2)}_setAutoFit(t,e,s){const a=k(s.style?.text??"",s.style??{}).width;if(a>0){const n=t*(s.fitPercent??.5)/a,r=Math.floor((s.style?.fontSize??20)*n);e.setAttribute("fontSize",r),e.setAttribute("lineHeight",i.isValid(s.style.lineHeight)?s.style.lineHeight:r)}}},t.LabelBase=J,t.LineAxis=_t,t.LineCrosshair=L,t.LineLabel=tt,t.LinkPath=se,t.MarkArea=Pt,t.MarkLine=Ct,t.MarkPoint=It,t.Pager=zt,t.PolygonCrosshair=P,t.RectCrosshair=B,t.RectLabel=Q,t.ScrollBar=r,t.SectorCrosshair=C,t.Segment=lt,t.SizeContinuousLegend=Kt,t.Slider=qt,t.SymbolLabel=K,t.Tag=M,t.Title=Qt,t.Tooltip=Me,t.getHorizontalPath=ee,t.getSizeHandlerPath=Jt,t.getVerticalPath=ie,t.version="0.10.0"}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@visactor/vrender"),require("@visactor/vutils"),require("@visactor/vscale")):"function"==typeof define&&define.amd?define(["exports","@visactor/vrender","@visactor/vutils","@visactor/vscale"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).VRender=t.VRender||{},t.VRender.Components={}),t.vrender,t.vutils,t.vscale)}(this,(function(t,e,i,s){"use strict";const a=["x","y","dx","dy","scaleX","scaleY","angle","anchor","postMatrix","visible","clip","pickable","childrenPickable","zIndex"];class n extends e.Group{mode;constructor(t,e="2d"){super(t),this.mode=e,this.setTheme({common:{strokeBoundsBuffer:0}}),this.attribute=t,this.onSetStage((()=>{this.render(),this.bindEvents()}))}setAttribute(t,e,s){i.isPlainObject(this.attribute[t])?i.merge(this.attribute[t],e):this.attribute[t]=e,a.includes(t)||this.render(),this.valid=this.isValid(),this.updateShapeAndBoundsTagSetted()||!s&&!this.needUpdateTag(t)?this.addUpdateBoundTag():this.addUpdateShapeAndBoundsTag(),this.addUpdatePositionTag(),this.onAttributeUpdate()}setAttributes(t,e){const i=Object.keys(t);this._mergeAttributes(t,i),i.every((t=>a.includes(t)))||this.render(),this.valid=this.isValid(),this.updateShapeAndBoundsTagSetted()||!e&&!this.needUpdateTags(i)?this.addUpdateBoundTag():this.addUpdateShapeAndBoundsTag(),this.addUpdatePositionTag(),this.onAttributeUpdate()}_mergeAttributes(t,e){i.isNil(e)&&(e=Object.keys(t));for(let s=0;s<e.length;s++){const a=e[s];i.isPlainObject(this.attribute[a])?i.merge(this.attribute[a],t[a]):this.attribute[a]=t[a]}}bindEvents(){}_getNodeId(t){return`${this.id}-${this.name}-${t}`}}class r extends n{name="scrollbar";static defaultAttributes={direction:"horizontal",round:!0,sliderSize:20,sliderStyle:{fill:"rgba(0, 0, 0, .5)"},railStyle:{fill:"rgba(0, 0, 0, .0)"},padding:2,scrollRange:[0,1]};_container;_slider;_rail;_sliderRenderBounds;_sliderLimitRange;_prePos;_viewPosition;_sliderSize;constructor(t){super(i.merge({},r.defaultAttributes,t))}setScrollRange(t,e=!0){const{direction:s="horizontal",limitRange:a=[0,1],range:n}=this.attribute,r=i.clampRange(t,a[0],a[1]);if(e){const t=this._getSliderPos(r);this._slider&&("horizontal"===s?this._slider.setAttribute("x",t[0],!0):this._slider.setAttribute("y",t[0],!0),this.stage?.autoRender||this.stage?.renderNextFrame())}this.attribute.range=r,this._onChange({pre:n,value:r})}getScrollRange(){return this.attribute.range}bindEvents(){this._rail&&this._rail.addEventListener("pointerdown",this._onRailPointerDown),this._slider&&this._slider.addEventListener("pointerdown",this._onSliderPointerDown)}render(){this._reset();const{direction:t="horizontal",width:e,height:s,range:a,limitRange:n=[0,1],railStyle:r,sliderStyle:l,padding:o=2}=this.attribute,d=this.createOrUpdateChild("scrollbar-container",{},"group"),h=d.createOrUpdateChild("scrollbar-rail",{x:0,y:0,width:e,height:s,...r},"rect");this._rail=h;const c=this._getSliderRenderBounds(),u=this._getSliderPos(i.clampRange(a,n[0],n[1])),_=u[1]-u[0];let p;this._sliderSize=_,p="horizontal"===t?{x:u[0],y:c.y1,width:_,height:c.height}:{x:c.x1,y:u[0],width:c.width,height:_};const b=d.createOrUpdateChild("slider",{...p,borderRadius:this._getDefaultSliderBorderRadius(),...l,boundsPadding:i.normalizePadding(o),pickMode:"imprecise"},"rect");this._slider=b,this._container=d;const g=this._container.AABBBounds;this._viewPosition={x:g.x1,y:g.y1}}_getSliderRenderBounds(){if(this._sliderRenderBounds)return this._sliderRenderBounds;const{width:t,height:e,padding:s=2}=this.attribute,[a,n,r,l]=i.normalizePadding(s),o={x1:l,y1:a,x2:t-n,y2:e-r,width:t-(l+n),height:e-(a+r)};return this._sliderRenderBounds=o,o}_getDefaultSliderBorderRadius(){const{direction:t,round:e}=this.attribute;if(e){const{width:e,height:i}=this._getSliderRenderBounds();return"horizontal"===t?i:e}return 0}_getSliderPos(t){const{direction:e}=this.attribute,{width:i,height:s,x1:a,y1:n}=this._getSliderRenderBounds();return"horizontal"===e?[i*t[0]+a,i*t[1]+a]:[s*t[0]+n,s*t[1]+n]}_getScrollRange(){if(this._sliderLimitRange)return this._sliderLimitRange;const{limitRange:t=[0,1],direction:e}=this.attribute,[s,a]=i.clampRange(t,0,1),{width:n,height:r,x1:l,y1:o}=this._getSliderRenderBounds(),d=this._sliderSize;return"horizontal"===e?i.clampRange([l+s*n,l+a*n],l,n-d):i.clampRange([o+s*r,o+a*r],o,r-d)}_onRailPointerDown=t=>{const{viewX:e,viewY:s}=t,{direction:a,width:n,height:r,range:l}=this.attribute,o=this._sliderSize,[d,h]=this._getScrollRange();let c;if("vertical"===a){const t=s-this._viewPosition.y,e=i.clamp(t-o/2,d,h);c=t/r,this._slider.setAttribute("y",e,!0)}else{const t=e-this._viewPosition.x,s=i.clamp(t-o/2,d,h);c=t/n,this._slider.setAttribute("x",s,!0)}this.setScrollRange([c-(l[1]-l[0])/2,c+(l[1]-l[0])/2],!1),this.stage?.autoRender||this.stage?.renderNextFrame()};_onSliderPointerDown=t=>{t.stopPropagation();const{direction:i}=this.attribute;this._prePos="horizontal"===i?t.clientX:t.clientY,"browser"===e.global.env?(e.global.addEventListener("pointermove",this._onSliderPointerMove),e.global.addEventListener("pointerup",this._onSliderPointerUp)):(this._slider.addEventListener("pointermove",this._onSliderPointerMove),this._slider.addEventListener("pointerup",this._onSliderPointerUp),this._slider.addEventListener("pointerupoutside",this._onSliderPointerUp))};_onSliderPointerMove=t=>{t.stopPropagation();const{direction:e}=this.attribute;let i,s,a=0;const n=this.getScrollRange(),{width:r,height:l}=this._getSliderRenderBounds();"vertical"===e?(s=t.clientY,a=s-this._prePos,i=a/l):(s=t.clientX,a=s-this._prePos,i=a/r),this.setScrollRange([n[0]+i,n[1]+i],!0),this._prePos=s};_onSliderPointerUp=t=>{t.preventDefault(),"browser"===e.global.env?(e.global.removeEventListener("pointermove",this._onSliderPointerMove),e.global.removeEventListener("pointerup",this._onSliderPointerUp)):(this._slider.removeEventListener("pointermove",this._onSliderPointerMove),this._slider.removeEventListener("pointerup",this._onSliderPointerUp),this._slider.removeEventListener("pointerupoutside",this._onSliderPointerUp))};_onChange(t){const i=new e.CustomEvent("scroll",t);i.manager=this.stage?.eventSystem.manager,this.dispatchEvent(i)}_reset(){this._sliderRenderBounds=null,this._sliderLimitRange=null}}function l(t,e){t.forEachChildren((t=>{const i=e(t);t.isContainer&&!i&&l(t,e)}))}const o=t=>!i.isNil(t)&&!1!==t.visible,d=["#ffffff","#000000"];function h(t,e,i,s,a){const n=p(t),r=p(e);return c(n,r,i,s)?n:function(t,e,i,s,a){const n=[];a&&(a instanceof Array?n.push(...a):n.push(a));n.push(...d);for(const a of n)if(t!==a&&c(a,e,i,s))return a;return}(n,r,i,s,a)}function c(t,e,i,s){return s?u(t,e)>s:"largeText"===i?u(t,e)>3:u(t,e)>4.5}function u(t,e){const i=_(t),s=_(e);return((i>s?i:s)+.05)/((i>s?s:i)+.05)}function _(t){const e=i.ColorUtil.hexToRgb(t),s=e[0]/255,a=e[1]/255,n=e[2]/255;let r,l,o;r=s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4),l=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),o=n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4);return.2126*r+.7152*l+.0722*o}function p(t){if(t?.includes("#"))return t;const e=new i.ColorUtil.Color(t),{r:s,g:a,b:n}=e.color;return"#"+i.ColorUtil.rgbToHex(s,a,n)}var b,g="undefined"!=typeof Float32Array?Float32Array:Array;function m(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function y(t,e,i){const s=(n=e,r=(a=t)[0],l=a[1],o=n[0],d=n[1],h=Math.sqrt(r*r+l*l)*Math.sqrt(o*o+d*d),c=h&&(r*o+l*d)/h,Math.acos(Math.min(Math.max(c,-1),1)));var a,n,r,l,o,d,h,c;const u=function(t,e){return t[0]*e[1]-e[0]*t[1]}(t,e)>=0;return i?u?2*Math.PI-s:s:u?s:2*Math.PI-s}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)}),b=new g(2),g!=Float32Array&&(b[0]=0,b[1]=0);const x=-.5*Math.PI,v=1.5*Math.PI,f="PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol";var A;!function(t){t.selected="selected",t.selectedReverse="selected_reverse",t.hover="hover",t.hoverReverse="hover_reverse"}(A||(A={}));const S={[A.selectedReverse]:{},[A.selected]:{},[A.hover]:{},[A.hoverReverse]:{}},E=(t,s,a)=>new i.TextMeasure({defaultFontParams:{fontFamily:f,fontSize:11},getTextBounds:a?void 0:e.getTextBounds,specialCharSet:"-/: .,@%'\"~"+i.TextMeasure.ALPHABET_CHAR_SET+i.TextMeasure.ALPHABET_CHAR_SET.toUpperCase(),...s??{}},t);function k(t,i){if(!t)return{width:0,height:0};const s=e.getTextBounds({text:t,fontFamily:i.fontFamily??"",fontSize:i.fontSize||12,fontWeight:i.fontWeight,textAlign:i.textAlign??"center",textBaseline:i.textBaseline,ellipsis:!!i.ellipsis,maxLineWidth:i.maxLineWidth||1/0,lineHeight:i.fontSize||12});return{width:s.width(),height:s.height()}}class M extends n{name="tag";static defaultAttributes={visible:!0,textStyle:{fontSize:12,fill:"#000",textAlign:"left",textBaseline:"top"},space:4,padding:4,shape:{fill:"#000"}};constructor(t){super(i.merge({},M.defaultAttributes,t))}render(){const{text:t="",textStyle:e={},shape:s={},panel:a={},space:n=4,minWidth:r,maxWidth:l,padding:o=4,visible:d,state:h}=this.attribute,c=i.normalizePadding(o),u=this.createOrUpdateChild("tag-content",{x:0,y:0,zIndex:1},"group");let _,p=c[1]+c[3],b=c[0]+c[2],g=0,m=0;const{visible:y,...x}=s;if(i.isBoolean(y)){const t=x?.size||10,e=i.isNumber(t)?t:Math.max(t[0],t[1]);_=u.createOrUpdateChild("tag-shape",{symbolType:"circle",size:t,strokeBoundsBuffer:0,...x,visible:y,x:e/2,y:e/2},"symbol"),i.isEmpty(h?.shape)||(_.states=h.shape),y&&(m=e+n)}p+=m,g+=m;const v={text:t,visible:i.isValid(t)&&!1!==d,lineHeight:e?.fontSize,...e,x:g,y:0};i.isNil(v.lineHeight)&&(v.lineHeight=v.fontSize);const f=u.createOrUpdateChild("tag-text",v,"text");i.isEmpty(h?.text)||(f.states=h.text);const A=k(v.text,e),S=A.width,E=A.height;p+=S;const M=s.size??10,w=i.isNumber(M)?M:Math.max(M[0],M[1]);b+=Math.max(E,s?.visible?w:0);const{textAlign:L,textBaseline:B}=e;(i.isValid(r)||i.isValid(l))&&(i.isValid(r)&&p<r&&(p=r),i.isValid(l)&&p>l&&(p=l,f.setAttribute("maxLineWidth",l-c[1]-c[2])));let T=0,C=0;"center"===L?(T-=p/2,_&&_.setAttribute("x",(_.attribute.x||0)-S/2),u.setAttribute("x",-m/2)):"right"===L||"end"===L?(T-=p,_&&_.setAttribute("x",(_.attribute.x||0)-S),u.setAttribute("x",-c[1]-m)):"left"!==L&&"start"!==L||u.setAttribute("x",c[3]),"middle"===B?(C-=b/2,_&&_.setAttribute("y",0)):"bottom"===B?(C-=b,_&&_.setAttribute("y",-E/2),u.setAttribute("y",-c[2])):"top"===B&&(u.setAttribute("y",c[0]),_&&_.setAttribute("y",E/2));const{visible:P,...I}=a;if(i.isBoolean(P)){const e=this.createOrUpdateChild("tag-panel",{...I,visible:P&&!!t,x:T,y:C,width:p,height:b},"rect");i.isEmpty(h?.panel)||(e.states=h.panel)}}}class w extends n{name="crosshair";render(){this.renderCrosshair(this)}}class L extends w{static defaultAttributes={lineStyle:{stroke:"#b2bacf",lineWidth:1,lineDash:[2]}};constructor(t){super(i.merge({},L.defaultAttributes,t))}renderCrosshair(t){const{start:e,end:i,lineStyle:s}=this.attribute;return t.createOrUpdateChild("crosshair-line",{points:[e,i],...s},"line")}setLocation(t){const{start:e,end:i}=t;this.setAttributes({start:e,end:i})}}class B extends w{static defaultAttributes={rectStyle:{fill:"#b2bacf",opacity:.2}};topLabelShape;bottomLabelShape;leftLabelShape;rightLabelShape;constructor(t){super(i.merge({},B.defaultAttributes,t))}renderCrosshair(t){const{start:e,end:i,rectStyle:s}=this.attribute;return t.createOrUpdateChild("crosshair-rect",{x:e.x,y:e.y,width:i.x-e.x,height:i.y-e.y,...s},"rect")}setLocation(t){const{start:e,end:i}=t;this.setAttributes({start:e,end:i})}}class T extends w{static defaultAttributes={lineStyle:{stroke:["#b2bacf",!1,!1,!1],lineWidth:1,lineDash:[2]}};constructor(t){super(i.merge({},T.defaultAttributes,t))}renderCrosshair(t){const{center:e,radius:i,lineStyle:s}=this.attribute;return t.createOrUpdateChild("crosshair-circle",{...e,outerRadius:i,...this.attribute,...s},"arc")}setLocation(t){const{center:e}=this.attribute,s=i.PointService.distancePP(t,e);this.setAttribute("radius",s)}}class C extends w{static defaultAttributes={sectorStyle:{fill:"#b2bacf",opacity:.2}};constructor(t){super(i.merge({},C.defaultAttributes,t))}renderCrosshair(t){const{center:e,radius:i,innerRadius:s=0,sectorStyle:a}=this.attribute,{startAngle:n,endAngle:r}=this.attribute;return t.createOrUpdateChild("crosshair-sector",{...e,outerRadius:i,innerRadius:s,startAngle:n,endAngle:r,...a},"arc")}setLocation(t){const{center:e,startAngle:s=x,endAngle:a=v}=this.attribute,n=a-s,r=i.radianToDegree(i.getAngleByPoint(e,t));this.setAttributes({startAngle:r-n/2,endAngle:r+n/2})}}class P extends w{static defaultAttributes={lineStyle:{stroke:"#b2bacf",lineWidth:1,lineDash:[2]}};constructor(t){super(i.merge({},P.defaultAttributes,t))}renderCrosshair(t){const{center:e,radius:s,sides:a=6,lineStyle:n}=this.attribute,{startAngle:r,endAngle:l}=this.attribute,o=(l-r)%(2*Math.PI)==0,d=(l-r)/a;let h;for(let t=0;t<=a;t++){const n=r+d*t,l=i.polarToCartesian(e,s,n);0===t?h=`M${l.x},${l.y}`:h+=`L${l.x},${l.y}`,t===a&&o&&(h+="Z")}return t.createOrUpdateChild("crosshair-polygon",{path:h,...n},"path")}setLocation(t){const{center:e}=this.attribute,s=i.PointService.distancePP(t,e);this.setAttribute("radius",s)}}const I=5,H=31,z=32,V=new Uint32Array(z+1),D=new Uint32Array(z+1);D[0]=0,V[0]=~D[0];for(let t=1;t<=z;++t)D[t]=D[t-1]<<1|1,V[t]=~D[t];function N(t,e,i=0){const s=Math.max(1,Math.sqrt(t*e/1e6)),a=~~((t+2*i+s)/s),n=~~((e+2*i+s)/s),r=t=>~~((t+i)/s);return r.invert=t=>t*s-i,r.bitmap=()=>function(t,e){const i=new Uint32Array(~~((t*e+z)/z));function s(t,e){i[t]|=e}function a(t,e){i[t]&=e}return{array:i,get:(e,s)=>{const a=s*t+e;return i[a>>>I]&1<<(a&H)},set:(e,i)=>{const a=i*t+e;s(a>>>I,1<<(a&H))},clear:(e,i)=>{const s=i*t+e;a(s>>>I,~(1<<(s&H)))},getRange:({x1:e,y1:s,x2:a,y2:n})=>{let r,l,o,d,h=n;for(;h>=s;--h)if(r=h*t+e,l=h*t+a,o=r>>>I,d=l>>>I,o===d){if(i[o]&V[r&H]&D[1+(l&H)])return!0}else{if(i[o]&V[r&H])return!0;if(i[d]&D[1+(l&H)])return!0;for(let t=o+1;t<d;++t)if(i[t])return!0}return!1},setRange:({x1:e,y1:i,x2:a,y2:n})=>{let r,l,o,d,h;for(;i<=n;++i)if(r=i*t+e,l=i*t+a,o=r>>>I,d=l>>>I,o===d)s(o,V[r&H]&D[1+(l&H)]);else for(s(o,V[r&H]),s(d,D[1+(l&H)]),h=o+1;h<d;++h)s(h,4294967295)},clearRange:({x1:e,y1:i,x2:s,y2:n})=>{let r,l,o,d,h;for(;i<=n;++i)if(r=i*t+e,l=i*t+s,o=r>>>I,d=l>>>I,o===d)a(o,D[r&H]|V[1+(l&H)]);else for(a(o,D[r&H]),a(d,V[1+(l&H)]),h=o+1;h<d;++h)a(h,0)},outOfBounds:({x1:i,y1:s,x2:a,y2:n})=>i<0||s<0||n>=e||a>=t,toImageData:s=>{const a=s.createImageData(t,e),n=a.data;for(let s=0;s<e;++s)for(let e=0;e<t;++e){const a=s*t+e,r=4*a,l=i[a>>>I]&1<<(a&H);n[r+0]=255*l,n[r+1]=255*l,n[r+2]=255*l,n[r+3]=31}return a}}}(a,n),r.ratio=s,r.padding=i,r.width=t,r.height=e,r}function R(t,e,s=!1){if(s){const{x1:s,x2:a,y1:n,y2:r}=e,l=i.clamp(s,0,t.width),o=i.clamp(a,0,t.width),d=i.clamp(n,0,t.height),h=i.clamp(r,0,t.height);return{x1:t(l),x2:t(o),y1:t(d),y2:t(h)}}return{x1:t(e.x1),x2:t(e.x2),y1:t(e.y1),y2:t(e.y2)}}function $(t,e,i,s=!0){const a=R(t,i);return!(s&&e.outOfBounds(a))&&!e.getRange(a)}function O(t,e){return!(!t||!e)&&e.encloses(t)}function U(t,e,i,s=[],a=!0){for(let n=0;n<s.length;n++){const r=i.clone();if(r.setAttributes(s[n]),r.update(),$(t,e,R(t,r.AABBBounds),a))return e.setRange(R(t,r.AABBBounds,!0)),s[n]}return!1}function F(t,e,s,a,n,r,l){if("bound"===s.type||"position"===s.type){if(i.isFunction(l)){const o=((i.isFunction(s.position)?s.position(n.attribute):s.position)||function(t){if("rect"===t)return G;return W}(a.type)).map((t=>l(n.AABBBounds,r,t,a.offset)));return U(t,e,n,o,a.overlap?.clampForce)}return!1}if("moveY"===s.type){const r=(s.offset?i.isFunction(s.offset)?s.offset(n.attribute):s.offset:[]).map((t=>({x:n.attribute.x,y:n.attribute.y+t})));return U(t,e,n,r,a.overlap?.clampForce)}if("moveX"===s.type){const r=(s.offset?i.isFunction(s.offset)?s.offset(n.attribute):s.offset:[]).map((t=>({x:n.attribute.x+t,y:n.attribute.y})));return U(t,e,n,r,a.overlap?.clampForce)}return!1}const W=["top","bottom","right","left","top-right","bottom-right","top-left","bottom-left"],G=["top","inside-top","inside"];const X={fadeIn:(t={})=>({from:{opacity:0,fillOpacity:0,strokeOpacity:0},to:{opacity:t.opacity??1,fillOpacity:t.fillOpacity??1,strokeOpacity:t.strokeOpacity??1}}),fadeOut:(t={})=>({from:{opacity:t.opacity??1,fillOpacity:t.fillOpacity??1,strokeOpacity:t.strokeOpacity??1},to:{opacity:0,fillOpacity:0,strokeOpacity:0}})};function Y(t,e){return X[e]?.(t)??{from:{},to:{}}}const Z="same-time",q=300,j="linear";class J extends n{name="label";_baseMarks;_bitmap;setBitmap(t){this._bitmap=t}_bmpTool;setBitmapTool(t){this._bmpTool=t}_relationMap;_prevRelationMap;_textMap;onAfterLabelOverlap;_lastHover;_lastSelect;_enableAnimation;render(){const t=this._checkMarks(),e=this.layout(t);this._smartInvert(e),this._renderLabels(e)}_bindEvent(t){if(!t)return;const{hover:e,select:i}=this.attribute;e&&(t.addEventListener("pointermove",this._onHover),t.addEventListener("pointerout",this._onUnHover)),i&&t.addEventListener("pointerdown",this._onClick)}_setStates(t){if(!t)return;const e=this.attribute.state;e&&!i.isEmpty(e)&&(t.states=e)}_onHover=t=>{const e=t.target;e===this._lastHover||i.isEmpty(e.states)||(e.addState(A.hover,!0),l(this,(t=>{t===e||i.isEmpty(t.states)||t.addState(A.hoverReverse,!0)})),this._lastHover=e)};_onUnHover=t=>{this._lastHover&&(l(this,(t=>{i.isEmpty(t.states)||(t.removeState(A.hoverReverse),t.removeState(A.hover))})),this._lastHover=null)};_onClick=t=>{const e=t.target;if(this._lastSelect===e&&e.hasState("selected"))return this._lastSelect=null,void l(this,(t=>{i.isEmpty(t.states)||(t.removeState(A.selectedReverse),t.removeState(A.selected))}));i.isEmpty(e.states)||(e.addState(A.selected,!0),l(this,(t=>{t===e||i.isEmpty(t.states)||t.addState(A.selectedReverse,!0)})),this._lastSelect=e)};_createLabelText(t){const i=e.createText(t);return this._bindEvent(i),this._setStates(i),i}_checkMarks(){const t=this.getBaseMarks(),e=[];return t.forEach((t=>{"willRelease"!==t.releaseStatus&&e.push(t)})),this._prevRelationMap=new Map(this._relationMap),this._relationMap?.clear(),e}layout(t){const{textStyle:s,position:a,offset:n}=this.attribute;let{data:r}=this.attribute;if(i.isFunction(r)&&(r=r({})),!r||0===r.length)return[];let l=[];i.isFunction(this.attribute.sort)&&t&&t.length&&(t=t.sort(this.attribute.sort)),this._relationMap||(this._relationMap=new Map);for(let o=0;o<r.length;o++){const d=r[o],h=t?.[o],c={...s,...d,_relatedIndex:o};if(this._relationMap.set(o,h),d){const t=e.createText(c);t.update();const s=this.getGraphicBounds(t),r=this.getGraphicBounds(h,{x:d.x,y:d.y}),o=this.labeling(s,r,i.isFunction(a)?a(d):a,n);if(!o)continue;c.x=o.x,c.y=o.y,l.push(c)}}return this._baseMarks=t,!1!==this.attribute.overlap&&(l=this.overlapping(l,this.attribute.overlap)),l}overlapping(t,s={}){if(0===t.length)return[];const a=[],n=this.getBaseMarkGroup(),r=s.size??{width:n?.AABBBounds.width()??0,height:n?.AABBBounds.height()??0};if(0===r.width||0===r.height)return t;const{avoidBaseMark:l,strategy:o=[],hideOnHit:d=!0,clampForce:h=!0}=s,c=this._bmpTool||N(r.width,r.height),u=this._bitmap||c.bitmap(),_=o.some((t=>"bound"===t.type));l&&this._baseMarks?.forEach((t=>{t.AABBBounds&&u.setRange(R(c,t.AABBBounds,!0))}));for(let i=0;i<t.length;i++){if(!1===t[i].visible)continue;const s=e.createText(t[i]),n=this._baseMarks?.[i];if(s.update(),$(c,u,s.AABBBounds,h)){if(!_){u.setRange(R(c,s.AABBBounds,!0)),a.push({...s.attribute,_insideGraphic:O(s.AABBBounds,n?.AABBBounds)});continue}if(_&&n?.AABBBounds&&O(s.AABBBounds,n?.AABBBounds)){u.setRange(R(c,s.AABBBounds,!0)),a.push({...s.attribute,_insideGraphic:!0,_computedBound:s.AABBBounds});continue}}let r=!1;for(let e=0;e<o.length;e++)if(r=F(c,u,o[e],this.attribute,s,this.getGraphicBounds(n,t[i]),this.labeling),!1!==r){a.push({...s.attribute,x:r.x,y:r.y,_insideGraphic:O(s.AABBBounds,n?.AABBBounds)});break}!r&&!d&&a.push({...s.attribute,_insideGraphic:O(s.AABBBounds,n?.AABBBounds),_computedBound:s.AABBBounds})}return i.isFunction(this.onAfterLabelOverlap)&&this.onAfterLabelOverlap(u),a}getBaseMarks(){const t=this.getBaseMarkGroup();if(t)return t.getChildren()}getBaseMarkGroup(){const{baseMarkGroupName:t}=this.attribute;if(t)return this.getRootNode().find((e=>e.name===t),!0)}getGraphicBounds(t,e={}){return t?.AABBBounds||{x1:e.x,x2:e.x,y1:e.y,y2:e.y}}_renderLabels(t){const s=this.attribute.animation??{},a=!1===this._enableAnimation||!1===s,n=s.mode??Z,r=s.duration??q,l=s.easing??j,o=s.delay??0,d=new Map,h=this._textMap||new Map,c=[];t.forEach(((t,u)=>{const _=this._createLabelText(t),p=this._relationMap.get(t._relatedIndex),b=h?.get(p)?"update":"enter";if("enter"===b)if(c.push(_),d.set(p,_),!a&&p){const{from:e,to:i}=Y(t,"fadeIn");this.add(_),p.onAnimateBind=()=>{_.setAttributes(e);const t=this._afterRelatedGraphicAttributeUpdate(_,c,u,p,{mode:n,duration:r,easing:l,to:i,delay:o});p.on("afterAttributeUpdate",t)}}else this.add(_);if("update"===b){const t=h.get(p);h.delete(p),d.set(p,t),a?t.setAttributes(_.attribute):(t.animate().to(_.attribute,r,l),!1!==s.increaseEffect&&t.attribute.text!==_.attribute.text&&i.isValidNumber(Number(t.attribute.text)*Number(_.attribute.text))&&t.animate().play(new e.IncreaseCount({text:t.attribute.text},{text:_.attribute.text},r,l)))}})),h.forEach((t=>{a?this.removeChild(t):t?.animate().to(Y(t.attribute,"fadeOut").to,r,l).onEnd((()=>{this.removeChild(t)}))})),this._textMap=d}_afterRelatedGraphicAttributeUpdate(t,i,s,a,{mode:n,duration:r,easing:l,to:o,delay:d}){const h=c=>{const{detail:u}=c;if(!u)return{};if(!(u&&u.type===e.AttributeUpdateType.ANIMATE_UPDATE&&u.animationState&&"wait"!==u.animationState.step?.type))return{};if(u.type===e.AttributeUpdateType.ANIMATE_END)return void t.setAttributes(o);const _=()=>{a&&(a.onAnimateBind=void 0,a.removeEventListener("afterAttributeUpdate",h))};switch(n){case"after":u.animationState.end&&t.animate({onEnd:_}).wait(d).to(o,r,l);break;case"after-all":s===i.length-1&&u.animationState.end&&i.forEach((t=>{t.animate({onEnd:_}).wait(d).to(o,r,l)}));break;default:u.animationState.isFirstFrameOfStep&&t.animate({onEnd:_}).wait(d).to(o,r,l)}};return h}_smartInvert(t){if(!1!==this.attribute.smartInvert)for(let i=0;i<t.length;i++){const s=t?.[i];if(!s)continue;let a=s._insideGraphic;if(void 0===a){const t=e.createText(s);t.update(),a=O(t.AABBBounds,this._relationMap.get(s._relatedIndex)?.AABBBounds)}if(s.stroke&&s.lineWidth>0)s.fill=h(s.fill,s.stroke,this.attribute.smartInvert?.textType,this.attribute.smartInvert?.contrastRatiosThreshold,this.attribute.smartInvert?.alternativeColors);else if(a){const t=this._relationMap.get(s._relatedIndex).attribute.fill,e=s.fill;s.fill=h(e,t,this.attribute.smartInvert?.textType,this.attribute.smartInvert?.contrastRatiosThreshold,this.attribute.smartInvert?.alternativeColors)}else if(s.lineWidth>0){const t=this._relationMap.get(s._relatedIndex);s.stroke=t.attribute.fill;const e=s.stroke,i=s.fill;s.fill=h(i,e,this.attribute.smartInvert?.textType,this.attribute.smartInvert?.contrastRatiosThreshold,this.attribute.smartInvert?.alternativeColors)}}}setLocation(t){this.translateTo(t.x,t.y)}disableAnimation(){this._enableAnimation=!1}enableAnimation(){this._enableAnimation=!0}}class K extends J{name="symbol-label";static defaultAttributes={textStyle:{fontSize:12,fill:"#000",textAlign:"center",textBaseline:"middle",boundsPadding:[-1,0,-1,0]},position:"top",offset:5,pickable:!1};constructor(t){super(i.merge({},K.defaultAttributes,t))}labeling(t,e,i="top",s=0){if(!t)return;const{x1:a,y1:n,x2:r,y2:l}=t,o=Math.abs(r-a),d=Math.abs(l-n),h=(e.x1+e.x2)/2,c=(e.y1+e.y2)/2;let u=0,_=0,p=0,b=0;e&&(p=Math.abs(e.x1-e.x2)/2,b=Math.abs(e.y1-e.y2)/2);const g={"top-right":-235,"top-left":235,"bottom-right":45,"bottom-left":-45};switch(i){case"top":_=-1;break;case"bottom":_=1;break;case"left":u=-1;break;case"right":u=1;break;case"bottom-left":case"bottom-right":case"top-left":case"top-right":u=Math.sin(g[i]*(Math.PI/180)),_=Math.cos(g[i]*(Math.PI/180));break;case"center":u=0,_=0}return{x:h+u*(s+p)+Math.sign(u)*(o/2),y:c+_*(s+b)+Math.sign(_)*(d/2)}}}class Q extends J{static tag="rect-label";static defaultAttributes={textStyle:{fontSize:12,fill:"#000",textAlign:"center",textBaseline:"middle",boundsPadding:[-1,0,-1,0]},position:"top",offset:5,pickable:!1};constructor(t){super(i.merge({},Q.defaultAttributes,t))}labeling(t,e,i="top",s=0){if(!t||!e)return;const{x1:a,y1:n,x2:r,y2:l}=t,o=Math.abs(r-a),d=Math.abs(l-n),h=Math.abs(e.x2-e.x1),c=Math.abs(e.y2-e.y1);let u=(e.x1+e.x2)/2,_=(e.y1+e.y2)/2,p=0,b=0;switch(i){case"top":case"inside-top":b=-.5;break;case"bottom":case"inside-bottom":b=.5;break;case"left":case"inside-left":p=-.5;break;case"right":case"inside-right":p=.5}u+=p*h,_+=b*c;let g=0,m=0;const y=i.includes("inside");i.includes("top")?m=y?1:-1:i.includes("bottom")?m=y?-1:1:i.includes("left")?g=y?1:-1:i.includes("right")&&(g=y?-1:1);return{x:u+g*s+g*o/2,y:_+m*s+m*d/2}}}class tt extends J{name="line-label";static defaultAttributes={textStyle:{fontSize:12,fill:"#000",textAlign:"center",textBaseline:"middle",boundsPadding:[-1,0,-1,0]},position:"end",offset:6,pickable:!1};constructor(t){super(i.merge({},tt.defaultAttributes,t))}getGraphicBounds(t,e={}){if("line"!==t.type)return super.getGraphicBounds(t,e);const{position:i="end"}=this.attribute,s=t?.attribute?.points||[e],a="start"===i?0:s.length-1;return{x1:s[a].x,x2:s[a].x,y1:s[a].y,y2:s[a].y}}labeling(t,e,i="end",s=0){if(!t||!e)return;const{x1:a,x2:n}=t,r=Math.abs(n-a),l=e.x1;let o=l;return"end"===i?o=l+r/2+s:"start"===i&&(o=l-r/2-s),{x:o,y:e.y1}}}const et={rect:Q,symbol:K};class it extends n{name="data-label";_componentMap;static defaultAttributes={pickable:!1};constructor(t){super(i.merge({},it.defaultAttributes,t))}render(){const{dataLabels:t,size:e}=this.attribute;if(!t||0===t.length)return;const{width:s=0,height:a=0}=e||{};if(!s||!a||!i.isValidNumber(a*s))return;this._componentMap||(this._componentMap=new Map);const n=N(s,a),r=n.bitmap(),l=new Map,o=this._componentMap;for(let e=0;e<t.length;e++){const i=t[e];if(et[i.type]){const{baseMarkGroupName:t}=i;let e=this._componentMap.get(t);e?(e.setBitmapTool(n),e.setBitmap(r),e.setAttributes(i),l.set(t,e)):(e=new et[i.type](i),e.setBitmap(r),e.setBitmapTool(n),this.add(e),l.set(t,e))}}o.forEach(((t,e)=>{l.get(e)||this.removeChild(t)})),this._componentMap=l}setLocation(t){this.translateTo(t.x,t.y)}disableAnimation(){this._componentMap.forEach((t=>{t.disableAnimation()}))}enableAnimation(){this._componentMap.forEach((t=>{t.enableAnimation()}))}}function st(t,e){let i="";return 0===t.length||(t.forEach(((t,e)=>{0===e?i=`M${t.x},${t.y}`:i+=`L${t.x},${t.y}`})),e&&(i+="Z")),i}function at(t,e,s,a){let n="";if(!t||0===e.length)return n;const r=e[0],l=i.PointService.distancePP(t,r),o=s?0:1;return a?n+=`M${t.x},${t.y-l}A${l},${l},0,0,${o},${t.x},${t.y+l}A${l},${l},0,0,${o},${t.x},${t.y-l}Z`:e.forEach(((t,e)=>{0===e?n=`M${t.x},${t.y}`:n+=`A${l},${l},0,0,${o},${t.x},${t.y}`})),n}function nt(t,e,s){const{type:a,closed:n}=s,r=e.slice(0).reverse();let l="",o="";if("line"===a&&s.smoothLink&&s.center){const e=t[0],a=r[0],d=s.center;l=st(t,!!n),o=st(r,!!n);const h=i.PointService.distancePP(a,d),c=i.PointService.distancePP(e,d);l+=`A${h},${h},0,0,1,${a.x},${a.y}L${a.x},${a.y}`,o+=`A${c},${c},0,0,0,${e.x},${e.y}`}else if("circle"===a){const{center:e}=s;l=at(e,t,!1,!!n),o=at(e,r,!0,!!n)}else"line"!==a&&"polygon"!==a||(l=st(t,!!n),o=st(r,!!n));return n?l+=o:(o="L"+o.substring(1),l+=o,l+="Z"),l}class rt extends n{name="grid";static defaultAttributes={style:{lineWidth:1,stroke:"#416180"},zIndex:0};constructor(t){super(i.merge({},rt.defaultAttributes,t))}render(){this.removeAllChild();const{type:t,items:s,style:a,closed:n,alternateColor:r,depth:l=0}=this.attribute;if(!i.isEmpty(s)&&(s.forEach(((s,r)=>{const{id:o,points:d}=s;let h="";if("line"===t||"polygon"===t)h=st(d,!!n);else if("circle"===t){const{center:t}=this.attribute;h=at(t,d,!1,!!n)}const c=e.createPath({path:h,z:l,...i.isFunction(a)?i.merge({},rt.defaultAttributes.style,a(s,r)):a});c.name=`${this.name}-line`,c.id=this._getNodeId(`path-${o}`),this.add(c)})),l&&"line"===t&&s.forEach(((t,s)=>{const{id:r,points:o}=t,d=[];d.push(o[0]);const h=o[1].x-o[0].x,c=o[1].y-o[0].y,u=Math.sqrt(h*h+c*c),_=l/u;d.push({x:o[0].x+h*_,y:o[0].y+c*_});const p=st(d,!!n),b=i.abs(d[0].x-d[1].x),g=i.abs(d[0].y-d[1].y),m=e.createPath({path:p,z:0,alpha:b>g?(o[1].x-o[0].x>0?-1:1)*i.pi/2:0,beta:b<g?-i.pi/2:0,anchor3d:b>g?[d[0].x,0]:[0,d[0].y],...i.isFunction(a)?i.merge({},rt.defaultAttributes.style,a(t,s)):a});m.name=`${this.name}-line`,m.id=this._getNodeId(`path-${r}`),this.add(m)})),s.length>1&&r)){const t=i.isArray(r)?r:[r,"transparent"],a=e=>t[e%t.length];for(let t=0;t<s.length-1;t++){const[i,n]=[s[t].points,s[t+1].points],r=nt(i,n,this.attribute),l=e.createPath({path:r,fill:a(t)});l.name=`${this.name}-region`,l.id=this._getNodeId(`region-${t}`),this.add(l)}}}_getNodeId(t){return`${this.id}-${t}`}}class lt extends n{name="segment";line;startSymbol;endSymbol;_startAngle;_endAngle;static defaultAttributes={lineStyle:{lineWidth:1,stroke:"#000"},startSymbol:{visible:!1,symbolType:"triangle",size:12,refX:0,refY:0,refAngle:0,style:{fill:"#000",zIndex:1}},endSymbol:{visible:!1,symbolType:"triangle",size:12,refX:0,refY:0,refAngle:0,style:{fill:"#000",zIndex:1}}};constructor(t){super(i.merge({},lt.defaultAttributes,t))}computeLineAngle(){const{points:t}=this.attribute,e=t[0],i=t[1],s=t[t.length-2],a=t[t.length-1],n=[e.x-i.x,e.y-i.y],r=Math.atan2(n[1],n[0]),l=[a.x-s.x,a.y-s.y],o=Math.atan2(l[1],l[0]);this._startAngle=r,this._endAngle=o}render(){this.removeAllChild();const{points:t,startSymbol:s,endSymbol:a,lineStyle:n,state:r}=this.attribute;t.length>1&&this.computeLineAngle();const l=this.renderSymbol(s,"start"),o=this.renderSymbol(a,"end");this.startSymbol=l,this.endSymbol=o;let d=t;if(s?.visible){const e=s?.clip?s?.size||10:0;d=[{x:t[0].x-e/2*(Math.cos(this._startAngle)||0),y:t[0].y-e/2*(Math.sin(this._startAngle)||0)},...d.slice(1)]}if(a?.visible){const e=a?.clip?a?.size||10:0,i={x:t[t.length-1].x-e/2*(Math.cos(this._endAngle)||0),y:t[t.length-1].y-e/2*(Math.sin(this._endAngle)||0)};d=[...d.slice(0,d.length-1),i]}const h=e.createLine({points:d,fill:!1,...n});h.name="line",h.id=this._getNodeId("line"),i.isEmpty(r?.line)||(h.states=r.line),this.line=h,this.add(h)}renderSymbol(t,s){let a;if(t?.visible){const n=this._startAngle,r=this._endAngle,{points:l,state:o}=this.attribute,d=l[0],h=l[l.length-1],{refX:c=0,refY:u=0,refAngle:_=0,style:p,symbolType:b,size:g=12}=t;let m,y;"start"===s?(m={x:d.x+(n?c*Math.cos(n)+u*Math.cos(n-Math.PI/2):0),y:d.y+(n?c*Math.sin(n)+u*Math.sin(n-Math.PI/2):0)},y=n+Math.PI/2):(m={x:h.x+(r?c*Math.cos(r)+u*Math.cos(r-Math.PI/2):0),y:h.y+(r?c*Math.sin(r)+u*Math.sin(r-Math.PI/2):0)},y=r+Math.PI/2),a=e.createSymbol({...m,symbolType:b,size:g,angle:y+_,strokeBoundsBuffer:0,...p}),a.name=`${s}-symbol`,a.id=this._getNodeId(`${s}-symbol`),i.isEmpty(o?.symbol)||(a.states=o.symbol),this.add(a)}return a}getStartAngle(){return this._startAngle}getEndAngle(){return this._endAngle}}var ot,dt;t.AXIS_ELEMENT_NAME=void 0,(ot=t.AXIS_ELEMENT_NAME||(t.AXIS_ELEMENT_NAME={})).innerView="inner-view",ot.axisContainer="axis-container",ot.labelContainer="axis-label-container",ot.tickContainer="axis-tick-container",ot.tick="axis-tick",ot.subTick="axis-sub-tick",ot.label="axis-label",ot.title="axis-title",ot.gridContainer="axis-grid-container",ot.grid="axis-grid",ot.gridRegion="axis-grid-region",ot.line="axis-line",ot.background="axis-background",t.AxisStateValue=void 0,(dt=t.AxisStateValue||(t.AxisStateValue={})).selected="selected",dt.selectedReverse="selected_reverse",dt.hover="hover",dt.hoverReverse="hover_reverse";const ht={[t.AxisStateValue.selectedReverse]:{},[t.AxisStateValue.selected]:{},[t.AxisStateValue.hover]:{},[t.AxisStateValue.hoverReverse]:{}},ct={title:{space:4,padding:0,textStyle:{fontSize:12,fill:"#333333",fontWeight:"normal",fillOpacity:1}},label:{visible:!0,inside:!1,space:4,padding:0,style:{fontSize:12,fill:"#333",fontWeight:"normal",fillOpacity:1}},tick:{visible:!0,inside:!1,alignWithLabel:!0,length:4,style:{lineWidth:1,stroke:"#000",strokeOpacity:1}},subTick:{visible:!1,inside:!1,count:4,length:2,style:{lineWidth:1,stroke:"#999",strokeOpacity:1}},line:{visible:!0,style:{lineWidth:1,stroke:"#000",strokeOpacity:1}},grid:{style:{lineWidth:1,stroke:"#999",strokeOpacity:1,lineDash:[4,4]}},subGrid:{visible:!1,style:{lineWidth:1,stroke:"#999",strokeOpacity:1,lineDash:[4,4]}}};class ut extends n{name="axis";_innerView;getInnerView(){return this._innerView}_prevInnerView;getPrevInnerView(){return this._prevInnerView}data=[];tickLineItems=[];subTickLineItems=[];axisLabelLayerSize={};axisLabelsContainer=null;axisContainer;_lastHover;_lastSelect;getBoundsWithoutRender(t){const s=i.cloneDeep(this.attribute);i.merge(this.attribute,t);const a=e.createGroup({x:this.attribute.x,y:this.attribute.y});return this.add(a),this._renderInner(a),this.removeChild(a),this.attribute=s,a.AABBBounds}render(){this.removeAllChild(),this._prevInnerView=this._innerView,this._innerView=e.createGroup({x:0,y:0,pickable:!1}),this.add(this._innerView),this._renderInner(this._innerView),this._bindEvent()}_bindEvent(){const{hover:t,select:e}=this.attribute;t&&(this._innerView.addEventListener("pointermove",this._onHover),this._innerView.addEventListener("pointerout",this._onUnHover)),e&&this._innerView.addEventListener("pointerdown",this._onClick)}_onHover=t=>{const e=t.target;e!==this._lastHover&&e.name&&!i.isEmpty(e.states)&&(e.addState(A.hover,!0),l(this.axisContainer,(t=>{t!==e&&t.name&&!i.isEmpty(t.states)&&t.addState(A.hoverReverse,!0)})),this._lastHover=e)};_onUnHover=t=>{this._lastHover&&(l(this.axisContainer,(t=>{t.name&&!i.isEmpty(t.states)&&(t.removeState(A.hoverReverse),t.removeState(A.hover))})),this._lastHover=null)};_onClick=t=>{const e=t.target;if(this._lastSelect===e&&e.hasState(A.selected))return this._lastSelect=null,void l(this.axisContainer,(t=>{t.name&&!i.isEmpty(t.states)&&(t.removeState(A.selectedReverse),t.removeState(A.selected))}));e.name&&!i.isEmpty(e.states)&&(e.addState(A.selected,!0),l(this.axisContainer,(t=>{t!==e&&t.name&&!i.isEmpty(t.states)&&t.addState(A.selectedReverse,!0)})),this._lastSelect=e)};_renderInner(s){const{title:a,label:n,tick:r,line:l,grid:o,items:d,panel:h}=this.attribute,c=e.createGroup({x:0,y:0,zIndex:1});if(c.name=t.AXIS_ELEMENT_NAME.axisContainer,c.id=this._getNodeId("container"),c.setMode(this.mode),this.axisContainer=c,s.add(c),l?.visible&&this.renderLine(c),d&&d.length){if(this.data=this._transformItems(d[0]),r?.visible&&this.renderTicks(c),n?.visible){const i=e.createGroup({x:0,y:0,pickable:!1});i.name=t.AXIS_ELEMENT_NAME.labelContainer,i.id=this._getNodeId("label-container"),this.axisLabelsContainer=i,c.add(i),d.forEach(((t,e)=>{this.renderLabels(i,t,e)}))}o?.visible&&this.renderGrid(s)}if(a?.visible&&this.renderTitle(c),h&&h.visible){const s=c.AABBBounds,a=e.createRect({x:s.x1,y:s.y1,width:s.width(),height:s.height(),...h.style});a.name=t.AXIS_ELEMENT_NAME.background,a.id=this._getNodeId("background"),i.isEmpty(h.state)||(a.states=i.merge({},S,h.state)),c.insertBefore(a,c.firstChild)}}renderTicks(s){const a=this.getTickLineItems(),n=e.createGroup({x:0,y:0,pickable:!1});n.name=t.AXIS_ELEMENT_NAME.tickContainer,n.id=this._getNodeId("tick-container"),s.add(n);const r=i.isEmpty(this.attribute.tick?.state)?null:i.merge({},S,this.attribute.tick.state);a.forEach(((i,s)=>{const l=e.createLine({...this._getTickLineAttribute("tick",i,s,a)});l.name=t.AXIS_ELEMENT_NAME.tick,l.id=this._getNodeId(i.id),l.states=r,n.add(l)})),this.tickLineItems=a;const{subTick:l}=this.attribute;if(l?.visible){const s=this.getSubTickLineItems();if(s.length){const r=i.isEmpty(l.state)?null:i.merge({},S,l.state);s.forEach(((i,s)=>{const l=e.createLine({...this._getTickLineAttribute("subTick",i,s,a)});l.name=t.AXIS_ELEMENT_NAME.subTick,l.id=this._getNodeId(`${s}`),l.states=r,n.add(l)}))}this.subTickLineItems=s}}renderLabels(s,a,n){let r;r=0===n?this.data:this._transformItems(a);const l=e.createGroup({x:0,y:0,pickable:!1});l.name=`${t.AXIS_ELEMENT_NAME.labelContainer}-layer-${n}`,l.id=this._getNodeId(`label-container-layer-${n}`),s.add(l);let o=0,d=0,h="center",c="middle";const u=i.isEmpty(this.attribute.label?.state)?null:i.merge({},S,this.attribute.label.state);return r.forEach(((i,s)=>{const a=this._getLabelAttribute(i,s,r,n),_=e.createText(a);_.name=t.AXIS_ELEMENT_NAME.label,_.id=this._getNodeId(`layer${n}-label-${i.id}`),_.states=u,l.add(_);const p=a.angle??0;o=Math.max(o,_.AABBBounds.width()),d=Math.max(d,_.AABBBounds.height()),p&&(o=Math.abs(o*Math.cos(p)),d=Math.abs(d*Math.sin(p))),h=a.textAlign,c=a.textBaseline})),this.axisLabelLayerSize[n]={width:o,height:d,textAlign:h,textBaseline:c},l}renderTitle(e){const i=this.getTitleAttribute(),s=new M({...i});s.name=t.AXIS_ELEMENT_NAME.title,s.id=this._getNodeId("title"),e.add(s)}renderGrid(t){this._renderGridByType("grid",t);const{visible:e}=this.attribute.subGrid||{};e&&this._renderGridByType("subGrid",t)}getVerticalCoord(t,e,i){const s=this.getVerticalVector(e,i,t);return{x:t.x+s[0],y:t.y+s[1]}}getTextAlign(t){let e="center";return i.isNumberClose(t[0],0)?e="center":t[0]>0?e="start":t[0]<0&&(e="end"),e}getTickLineItems(){const{tick:t}=this.attribute,e=this.data,s=[],{alignWithLabel:a,inside:n=!1,length:r}=t;let l=1;return e.length>=2&&(l=e[1].value-e[0].value),e.forEach((t=>{let e=t.point,o=t.value;if(!a){const i=t.value-l/2;if(this.isInValidValue(i))return;e=this.getTickCoord(i),o=i}const d=this.getVerticalCoord(e,r,n);if("3d"===this.mode){const a=this.getVerticalVector(r,n,e);let l=0,h=0;i.abs(a[0])>i.abs(a[1])?l=i.pi/2*(d.x>e.x?1:-1):h=i.pi/2*(d.y>e.y?-1:1),s.push({start:e,end:d,value:o,id:`tick-${t.id}`,anchor:[e.x,e.y],alpha:l,beta:h})}else s.push({start:e,end:d,value:o,id:`tick-${t.id}`})})),s}getSubTickLineItems(){const{subTick:t}=this.attribute,e=[],{count:i=4,inside:s=!1,length:a=2}=t,n=this.tickLineItems,r=n.length;if(r>=2)for(let t=0;t<r-1;t++){const r=n[t],l=n[t+1];for(let t=0;t<i;t++){const n=(t+1)/(i+1),o=(1-n)*r.value+n*l.value,d=this.getTickCoord(o),h=this.getVerticalCoord(d,a,s);e.push({start:d,end:h,value:o,id:`sub-tick-${o}`})}}return e}_getTickLineAttribute(t,e,s,a){let n=i.get(this.attribute,`${t}.style`);const r=this.data[s];n=i.isFunction(n)?i.merge({},i.get(ct,`${t}.style`),"tick"===t?n(r.rawValue,s,r,this.data):n(e.value,s,e,a)):n;const{start:l,end:o,anchor:d,alpha:h,beta:c}=e;return{points:[l,o],anchor:d,alpha:h,beta:c,...n}}_getLabelAttribute(t,e,s,a){const{space:n=4,inside:r=!1,formatMethod:l,...o}=this.attribute.label;let d=n,h=0;this.attribute.tick?.visible&&this.attribute.tick?.inside===r&&(h=this.attribute.tick?.length||4),this.attribute.subTick?.visible&&this.attribute.subTick?.inside===r&&(h=Math.max(h,this.attribute.subTick?.length||2)),d+=h;const c=this.getRelativeVector(t.point);a>0&&(0===c[1]?d+=(this.axisLabelLayerSize[a-1].height+i.get(this.attribute,"label.space",4))*a:d+=(this.axisLabelLayerSize[a-1].width+i.get(this.attribute,"label.space",4))*a);const u=this.getVerticalCoord(t.point,d,r),_=this.getVerticalVector(d,r,u),p=l?l(t.label,t,e,s,a):t.label;let{style:b}=o;return b=i.isFunction(b)?i.merge({},ct.label.style,b(t,e,s,a)):b,b=i.merge({textAlign:this.getTextAlign(_),textBaseline:this.getTextBaseline(_,r)},b),i.isFunction(b.text)&&(b.text=b.text({label:t.label,value:t.rawValue,index:t.index,layer:a})),{...u,text:p,lineHeight:b?.fontSize,...b}}_transformItems(t){const e=[];return t.forEach((t=>{e.push({...t,point:this.getTickCoord(t.value),id:t.id??t.label})})),e}_renderGridByType(e,i){const s=this.getGridAttribute(e),a=new rt({pickable:!1,...s,zIndex:0});a.name="subGrid"===e?`${t.AXIS_ELEMENT_NAME.grid}-sub`:`${t.AXIS_ELEMENT_NAME.grid}`,a.id=this._getNodeId(e),i.add(a)}}class _t extends ut{static defaultAttributes=ct;constructor(t,e){super(i.merge({},_t.defaultAttributes,t),e),"3d"===e&&this.setMode(e)}renderLine(e){const{start:s,end:a,line:n}=this.attribute,{startSymbol:r,endSymbol:l,style:o,breakRange:d,breakShape:h,breakShapeStyle:c,state:u,..._}=n,p={points:[s,a],startSymbol:r,endSymbol:l,lineStyle:o,..._};i.isEmpty(u)||(p.state={line:i.merge({},ht,u),symbol:i.merge({},ht,u)});const b=new lt(p);b.name=t.AXIS_ELEMENT_NAME.line,b.id=this._getNodeId("line"),e.add(b)}isInValidValue(t){return t<0||t>1}getTickCoord(t){const{start:e}=this.attribute,i=this.getRelativeVector();return{x:e.x+i[0]*t,y:e.y+i[1]*t}}getRelativeVector(){const{start:t,end:e}=this.attribute;return[e.x-t.x,e.y-t.y]}getVerticalVector(t,e=!1){const{verticalFactor:i=1}=this.attribute,s=function(t,e){var i=e[0],s=e[1],a=i*i+s*s;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t}([0,0],this.getRelativeVector());return m([0,0],[s[1],-1*s[0]],t*(e?1:-1)*i)}getTitleAttribute(){const{position:t="middle",space:e=4,textStyle:s={},autoRotate:a=!0,shape:n,background:r,state:l,...o}=this.attribute.title;let d=.5;"start"===t?d=0:"end"===t&&(d=1);const{verticalFactor:h=1}=this.attribute,c=-1*h,u=this.getTickCoord(d),_=this.getRelativeVector();let p=0;if(this.attribute.label?.visible&&!1===this.attribute.label?.inside){const t=+i.get(this.attribute,"label.space",4);if(p+=t,0===_[1])Object.keys(this.axisLabelLayerSize).forEach(((e,i)=>{p+=this.axisLabelLayerSize[e].height+(i>0?t:0)}));else{Object.keys(this.axisLabelLayerSize).forEach(((e,i)=>{p+=this.axisLabelLayerSize[e].width+(i>0?t:0)}));const e=this.axisLabelLayerSize[0].textAlign,i="start"===e||"left"===e,s="center"===e,a=_[1]>0;p=1===c?a?i?p:s?p/2:0:i?t:s?p/2:p:a?i?0:s?p/2:p:i?p:s?p/2:0}}let b=0;this.attribute.tick?.visible&&!1===this.attribute.tick?.inside&&(b=this.attribute.tick?.length||4),this.attribute.subTick?.visible&&!1===this.attribute.subTick?.inside&&(b=Math.max(b,this.attribute.subTick?.length||2));const g=b+p+e,m=this.getVerticalCoord(u,g,!1),x=this.getVerticalVector(g,!1);let v,f,{angle:A}=o;if(v="start"===t?"start":"end"===t?"end":"center",i.isNil(A)&&a){A=y(_,[1,0],!0);const{verticalFactor:t=1}=this.attribute;f=1===-1*t?"bottom":"top"}else v=this.getTextAlign(x),f=this.getTextBaseline(x,!1);const S={...m,...o,textStyle:{textAlign:v,textBaseline:f,...s},state:i.isEmpty(l)?null:{text:l.text,shape:l.shape,panel:l.background}};return S.angle=A,n&&n.visible&&(S.shape={visible:!0,...n.style},n.space&&(S.space=n.space)),r&&r.visible&&(S.panel={visible:!0,...r.style}),S}_getGridPoint(t,e){let s;if("line"===t){const{length:t}=this.attribute.grid;s=[e,this.getVerticalCoord(e,t,!0)]}else if("circle"===t||"polygon"===t){const{center:t,sides:a,startAngle:n=x,endAngle:r=v}=this.attribute.grid;s=function(t,e,s,a,n){const r=[],l=n-a;for(let n=0;n<e;n++){const o=a+n*l/e;r.push(i.polarToCartesian(t,s,o))}return r}(t,a,i.PointService.distancePP(t,e),n,r)}return s}getGridAttribute(t){const{type:e,alignWithLabel:s=!0}=this.attribute.grid;let a=1;let n;this.data.length>=2&&(a=this.data[1].value-this.data[0].value);let r=[];if("grid"===t){n=this.attribute.grid;const t=[];this.data.forEach((i=>{let{point:n}=i;if(!s){const t=i.value-a/2;if(this.isInValidValue(t))return;n=this.getTickCoord(t)}t.push({id:i.label,datum:i,points:this._getGridPoint(e,n)})})),r=t}else{n=i.merge({},this.attribute.grid,this.attribute.subGrid);const t=[],{count:l=4}=this.attribute.subTick||{};if(this.data.length>=2){const i=[];this.data.forEach((t=>{let e=t.value;if(!s){const i=t.value-a/2;if(this.isInValidValue(i))return;e=i}i.push({value:e})}));for(let s=0;s<i.length-1;s++){const a=i[s],n=i[s+1];t.push({id:`sub-${s}-0`,points:this._getGridPoint(e,this.getTickCoord(a.value)),datum:{}});for(let i=0;i<l;i++){const r=(i+1)/(l+1),o=(1-r)*a.value+r*n.value,d=this.getTickCoord(o);t.push({id:`sub-${s}-${i+1}`,points:this._getGridPoint(e,d),datum:{}})}s===i.length-2&&t.push({id:`sub-${s}-${l+1}`,points:this._getGridPoint(e,this.getTickCoord(n.value)),datum:{}})}r=t}}return{...n,items:r}}getTextBaseline(t,e){let s="middle";const{verticalFactor:a=1}=this.attribute,n=(e?1:-1)*a;return i.isNumberClose(t[1],0)?s=i.isNumberClose(t[0],0)?1===n?"bottom":"top":"middle":t[1]>0?s="top":t[1]<0&&(s="bottom"),s}}class pt extends ut{static defaultAttributes=ct;constructor(t){super(i.merge({},pt.defaultAttributes,t))}renderLine(s){const{startAngle:a=x,endAngle:n=v,radius:r,center:l,innerRadius:o=0,line:d,inside:h=!1}=this.attribute;let c=r,u=o;h&&o>0&&(c=o,u=0);const _={...l,startAngle:a,endAngle:n,radius:c,innerRadius:u,...d?.style},p=e.createCircle(_);p.name=t.AXIS_ELEMENT_NAME.line,p.id=this._getNodeId("line"),i.isEmpty(d?.state)||(p.states=i.merge({},ht,d.state)),s.add(p)}isInValidValue(t){const{startAngle:e=x,endAngle:i=v}=this.attribute;return Math.abs(i-e)%(2*Math.PI)==0?t>1:t<0||t>1}getTickCoord(t){const{startAngle:e=x,endAngle:s=v,center:a,radius:n,inside:r=!1,innerRadius:l=0}=this.attribute,o=e+(s-e)*t;return i.polarToCartesian(a,r&&l>0?l:n,o)}getVerticalVector(t,e=!1,i){const{inside:s=!1}=this.attribute,{center:a}=this.attribute,n=[i.x-a.x,i.y-a.y];var r,l,o;return m(n,n,(e?-1:1)*(s?-1:1)*t/(l=(r=n)[0],o=r[1],Math.hypot(l,o))),n}getRelativeVector(t){const{center:e}=this.attribute;return[t.y-e.y,-1*(t.x-e.x)]}getTitleAttribute(){const{center:t,radius:e,innerRadius:s=0}=this.attribute,{space:a=4,textStyle:n={},shape:r,background:l,state:o,...d}=this.attribute.title;let h=t,c=0;this.attribute.label?.visible&&!1===this.attribute.label?.inside&&(c=i.get(this.attribute.label,"style.fontSize",12)+i.get(this.attribute.label,"space",4));let u=0;this.attribute.tick?.visible&&!1===this.attribute.tick?.inside&&(u=this.attribute.tick?.length||4),this.attribute.subTick?.visible&&!1===this.attribute.subTick?.inside&&(u=Math.max(u,this.attribute.subTick?.length||2));const _=e+u+c+a;let p="middle",{position:b}=this.attribute.title;i.isNil(b)&&(b=0===s?"end":"middle"),"start"===b?(p="bottom",h={x:t.x,y:t.y-_}):"end"===b&&(p="top",h={x:t.x,y:t.y+_});const g={...h,...d,textStyle:{textBaseline:p,textAlign:"center",...n},state:i.isEmpty(o)?null:{text:o.text,shape:o.shape,panel:o.background}},{angle:m}=d;return g.angle=m,r&&r.visible&&(g.shape={visible:!0,...r.style},r.space&&(g.space=r.space)),l&&l.visible&&(g.panel={visible:!0,...l.style}),g}getSubTickLineItems(){const{subTick:t}=this.attribute,e=[],{count:i=4,inside:s=!1,length:a=2}=t,n=this.tickLineItems,r=n.length;if(r>=2){const t=this.data[1].value-this.data[0].value,l=this.attribute?.tick?.alignWithLabel;for(let o=0;o<r;o++){const r=n[o],d=n[o+1];for(let n=0;n<i;n++){const o=(n+1)/(i+1),h=(1-o)*r.value+o*(d?d.value:l?1:r.value+t),c=this.getTickCoord(h),u=this.getVerticalCoord(c,a,s);e.push({start:c,end:u,value:h})}}}return e}getGridAttribute(t){let e,s=[];const{radius:a,innerRadius:n=0,startAngle:r=x,endAngle:l=v,center:o,grid:d}=this.attribute,{alignWithLabel:h=!0}=d||{},c=a-n;let u=1;if(this.data.length>=2&&(u=this.data[1].value-this.data[0].value),"grid"===t){e=this.attribute.grid;const t=[];let i;i=Math.abs(l-r)%(2*Math.PI)==0?[...this.data].concat(this.data[0]):this.data,i.forEach((e=>{let{point:i}=e;if(!h){const t=e.value-u/2;if(this.isInValidValue(t))return;i=this.getTickCoord(t)}const s=this.getVerticalCoord(i,c,!0);t.push({id:e.id,points:[i,s],datum:e})})),s=t}else{e=i.merge({},this.attribute.grid,this.attribute.subGrid);const t=[],{count:a=4}=this.attribute.subTick||{},n=this.data.length;if(n>=2){const e=[];this.data.forEach((t=>{let i=t.value;if(!h){const e=t.value-u/2;if(this.isInValidValue(e))return;i=e}e.push({value:i})}));for(let i=0;i<n;i++){const s=e[i],n=e[i+1];t.push({id:`sub-${i}-0`,points:[this.getTickCoord(s.value),this.getVerticalCoord(this.getTickCoord(s.value),c,!0)],datum:{}});for(let e=0;e<a;e++){const r=(e+1)/(a+1),l=(1-r)*s.value+r*(n?n.value:h?1:s.value+u),o=this.getTickCoord(l),d=this.getVerticalCoord(o,c,!0);t.push({id:`sub-${i}-${e+1}`,points:[o,d],datum:{}})}}Math.abs(l-r)%(2*Math.PI)==0&&t.push(t[0]),s=t}}return{...e,items:s,center:o}}getTextBaseline(t){let e="middle";return i.isNumberClose(t[1],0)?e="middle":t[1]>0&&t[1]>Math.abs(t[0])?e="top":t[1]<0&&Math.abs(t[1])>Math.abs(t[0])&&(e="bottom"),e}}class bt extends e.ACustomAnimate{_oldElementMap;_newElementAttrMap;mode=e.AnimateMode.NORMAL;onBind(){const t=this.target.getInnerView(),e=this.target.getPrevInnerView();e&&(this._oldElementMap=function(t){const e={};return l(t,(t=>{"group"!==t.type&&t.id&&(e[t.id]=t)})),e}(e),this._newElementAttrMap={},l(t,(t=>{if("group"!==t.type&&t.id){const e=this._oldElementMap[t.id];if(e){if(!i.isEqual(t.attribute,e.attribute)){const s=i.cloneDeep(t.attribute);this._newElementAttrMap[t.id]={state:"update",node:t,attrs:{...s,opacity:s.opacity??1,fillOpacity:s.fillOpacity??1,strokeOpacity:s.strokeOpacity??1}},t.setAttributes(e.attribute)}}else{const e={opacity:t.attribute.opacity??1,fillOpacity:t.attribute.fillOpacity??1,strokeOpacity:t.attribute.strokeOpacity??1};this._newElementAttrMap[t.id]={state:"enter",node:t,attrs:e},t.setAttributes({opacity:0,fillOpacity:0,strokeOpacity:0})}}})))}onStart(){let t=this.duration,e=this.easing;Object.keys(this._newElementAttrMap).forEach((s=>{const{node:a,attrs:n,state:r}=this._newElementAttrMap[s];"enter"===r&&(t=i.isValidNumber(this.params.enter?.duration)?this.params.enter.duration:t,e=this.params.enter?.easing?this.params.enter?.easing:e),"path"===a.type?a.animate({interpolate:(t,e,s,a,n)=>"path"===t&&(n.path=i.interpolateString(s,a)(e),!0)}).to(n,t,e):a.animate().to(n,t,e)}))}onUpdate(t,e,i){}}class gt extends e.ACustomAnimate{constructor(t,e,i,s){super(null,null,i,s)}getEndProps(){return{}}onBind(){this.target.setTheme({common:{opacity:0}})}onEnd(){this.target.setTheme({common:{opacity:1}})}onUpdate(t,e,i){this.target.setTheme({common:{opacity:e}})}}class mt extends e.ACustomAnimate{constructor(t,e,i,s){super(null,null,i,s)}getEndProps(){return{}}onBind(){this.target.setTheme({common:{opacity:1}})}onEnd(){this.target.setTheme({common:{opacity:0}})}onUpdate(t,e,i){this.target.setTheme({common:{opacity:1-e}})}}var yt;!function(t){t.startHandler="startHandler",t.endHandler="endHandler",t.middleHandler="middleHandler",t.background="background"}(yt||(yt={}));const xt={orient:"bottom",showDetail:"auto",brushSelect:!0,backgroundStyle:{fill:"white",stroke:"#D1DBEE",lineWidth:1,borderRadius:2},dragMaskStyle:{fill:"#B0C8F9",fillOpacity:.2},backgroundChartStyle:{area:{visible:!0,stroke:"#D1DBEE",lineWidth:1,fill:"#F6F8FC"},line:{visible:!0,stroke:"#D1DBEE",lineWidth:1}},selectedBackgroundStyle:{fill:"#B0C8F9",fillOpacity:.5},selectedBackgroundChartStyle:{area:{visible:!0,stroke:"#B0C8F9",lineWidth:1,fill:"#fbb934"},line:{visible:!0,stroke:"#fbb934",lineWidth:1}},middleHandlerStyle:{visible:!1,background:{size:8,style:{fill:"white",stroke:"#B0C8F9",borderRadius:2}},icon:{size:6,fill:"white",stroke:"#B0C8F9",symbolType:"M 0.3 -0.5 C 0.41 -0.5 0.5 -0.41 0.5 -0.3 C 0.5 -0.3 0.5 0.3 0.5 0.3 C 0.5 0.41 0.41 0.5 0.3 0.5 C 0.3 0.5 -0.3 0.5 -0.3 0.5 C -0.41 0.5 -0.5 0.41 -0.5 0.3 C -0.5 0.3 -0.5 -0.3 -0.5 -0.3 C -0.5 -0.41 -0.41 -0.5 -0.3 -0.5 C -0.3 -0.5 0.3 -0.5 0.3 -0.5 Z",lineWidth:.5}},startHandlerStyle:{symbolType:"M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z",fill:"white",stroke:"#B0C8F9",lineWidth:.5},endHandlerStyle:{symbolType:"M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z",fill:"white",stroke:"#B0C8F9",lineWidth:.5},startTextStyle:{padding:4,textStyle:{fontSize:10,fill:"#6F6F6F"}},endTextStyle:{padding:4,textStyle:{fontSize:10,fill:"#6F6F6F"}}};class vt extends n{name="dataZoom";static defaultAttributes=xt;_isHorizontal;_background;_container;_startHandler;_middleHandlerSymbol;_middleHandlerRect;_endHandler;_selectedBackground;_dragMask;_startText;_endText;_startValue;_endValue;_showText;_previewData=[];_previewGroup;_previewLine;_previewArea;_selectedPreviewGroupClip;_selectedPreviewGroup;_selectedPreviewLine;_selectedPreviewArea;_activeTag;_activeItem;_activeState=!1;_activeCache={startPos:{x:0,y:0},lastPos:{x:0,y:0}};_layoutCache={attPos:"x",attSize:"width",max:0};state={start:0,end:1};_previewCallbackX;_previewCallbackY;_previewCallbackX1;_previewCallbackY1;_updateStateCallback;_statePointToData=t=>t;_layoutAttrFromConfig;constructor(t){super(i.merge({},vt.defaultAttributes,t));const{start:e,end:s,size:a,orient:n,showDetail:r,position:l,previewData:o,previewCallbackX:d,previewCallbackY:h,previewCallbackX1:c,previewCallbackY1:u}=this.attribute,{width:_,height:p}=a;e&&(this.state.start=e),s&&(this.state.end=s),this._isHorizontal="top"===n||"bottom"===n,this._layoutCache.max=this._isHorizontal?_:p,this._layoutCache.attPos=this._isHorizontal?"x":"y",this._layoutCache.attSize=this._isHorizontal?"width":"height",this._activeCache.startPos=l,this._activeCache.lastPos=l,this._showText="auto"!==r&&r,o&&(this._previewData=o),i.isFunction(d)&&(this._previewCallbackX=d),i.isFunction(h)&&(this._previewCallbackY=h),i.isFunction(c)&&(this._previewCallbackX1=c),i.isFunction(u)&&(this._previewCallbackY1=u)}bindEvents(){const{showDetail:t,brushSelect:i}=this.attribute;this._startHandler&&this._startHandler.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"start"))),this._endHandler&&this._endHandler.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"end"))),this._middleHandlerSymbol&&this._middleHandlerSymbol.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"middleSymbol"))),this._middleHandlerRect&&this._middleHandlerRect.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"middleRect")));const s=i?"background":"middleRect";this._selectedBackground&&this._selectedBackground.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,s))),i&&this._background&&this._background.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"background"))),i&&this._previewGroup&&this._previewGroup.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,"background"))),this._selectedPreviewGroup&&this._selectedPreviewGroup.addEventListener("pointerdown",(t=>this._onHandlerPointerDown(t,s))),"browser"===e.global.env&&(e.global.addEventListener("pointermove",this._onHandlerPointerMove.bind(this)),e.global.addEventListener("pointerup",this._onHandlerPointerUp.bind(this))),this.addEventListener("pointermove",this._onHandlerPointerMove),this.addEventListener("pointerup",this._onHandlerPointerUp),this.addEventListener("pointerupoutside",this._onHandlerPointerUp),"auto"===t&&(this.addEventListener("pointerenter",this._onHandlerPointerEnter),this.addEventListener("pointerleave",this._onHandlerPointerLeave))}dragMaskSize(){const{position:t}=this.attribute,{attPos:e,max:i}=this._layoutCache;return this._activeCache.lastPos[e]-t[e]>i?i+t[e]-this._activeCache.startPos[e]:this._activeCache.lastPos[e]-t[e]<0?t[e]-this._activeCache.startPos[e]:this._activeCache.lastPos[e]-this._activeCache.startPos[e]}eventPosToStagePos(t){const e=this.stage?.window.getBoundingClientRect();return{x:t.clientX-(e?.left||0)-(this.stage?.x||0),y:t.clientY-(e?.top||0)-(this.stage?.y||0)}}_onHandlerPointerDown=(t,e)=>{"start"===e?(this._activeTag=yt.startHandler,this._activeItem=this._startHandler):"end"===e?(this._activeTag=yt.endHandler,this._activeItem=this._endHandler):"middleRect"===e?(this._activeTag=yt.middleHandler,this._activeItem=this._middleHandlerRect):"middleSymbol"===e?(this._activeTag=yt.middleHandler,this._activeItem=this._middleHandlerSymbol):"background"===e&&(this._activeTag=yt.background,this._activeItem=this._background),this._activeState=!0,this._activeCache.startPos=this.eventPosToStagePos(t),this._activeCache.lastPos=this.eventPosToStagePos(t)};_onHandlerPointerMove=t=>{const{start:e,end:i,brushSelect:s}=this.attribute,a=this.eventPosToStagePos(t),{attPos:n,max:r}=this._layoutCache,l=(a[n]-this._activeCache.lastPos[n])/r;this._activeState&&(this._activeTag===yt.middleHandler?this.moveZoomWithMiddle((this.state.start+this.state.end)/2+l):this._activeTag===yt.startHandler?this.state.start+l>this.state.end?(this.state.start=this.state.end,this.state.end=this.state.start+l,this._activeTag=yt.endHandler):this.state.start=this.state.start+l:this._activeTag===yt.endHandler&&(this.state.end+l<this.state.start?(this.state.end=this.state.start,this.state.start=this.state.end+l,this._activeTag=yt.startHandler):this.state.end=this.state.end+l),this._activeCache.lastPos=a,s&&this.renderDragMask()),this.state.start=Math.min(Math.max(this.state.start,0),1),this.state.end=Math.min(Math.max(this.state.end,0),1),e===this.state.start&&i===this.state.end||(this.setAttributes({start:this.state.start,end:this.state.end}),this._updateStateCallback&&this._updateStateCallback(this.state.start,this.state.end))};_onHandlerPointerUp(t){const{start:e,end:i,brushSelect:s}=this.attribute;if(this._activeState&&this._activeTag===yt.background){const e=this.eventPosToStagePos(t);this.backgroundDragZoom(this._activeCache.startPos,e)}this._activeState=!1,s&&this.renderDragMask(),e===this.state.start&&i===this.state.end||(this.setAttributes({start:this.state.start,end:this.state.end}),this._updateStateCallback&&this._updateStateCallback(this.state.start,this.state.end))}_onHandlerPointerEnter(t){this._showText=!0,this.renderText()}_onHandlerPointerLeave(t){this._showText=!1,this.renderText()}backgroundDragZoom(t,e){const{attPos:i,max:s}=this._layoutCache,{position:a}=this.attribute,n=t[i]-a[i],r=e[i]-a[i],l=Math.min(Math.max(Math.min(n,r)/s,0),1),o=Math.min(Math.max(Math.max(n,r)/s,0),1);Math.abs(l-o)<.01?this.moveZoomWithMiddle(l):(this.state.start=l,this.state.end=o)}moveZoomWithMiddle(t){let e=t-(this.state.start+this.state.end)/2;0!==e&&(e>0?this.state.end+e>1&&(e=1-this.state.end):e<0&&this.state.start+e<0&&(e=-this.state.start),this.state.start=this.state.start+e,this.state.end=this.state.end+e)}renderDragMask(){const{dragMaskStyle:t}=this.attribute,{position:e,width:s,height:a}=this.getLayoutAttrFromConfig();this._isHorizontal?this._dragMask=this._container.createOrUpdateChild("dragMask",{x:i.clamp(this.dragMaskSize()<0?this._activeCache.lastPos.x:this._activeCache.startPos.x,e.x,e.x+s),y:e.y,width:this._activeState&&this._activeTag===yt.background&&Math.abs(this.dragMaskSize())||0,height:a,...t},"rect"):this._dragMask=this._container.createOrUpdateChild("dragMask",{x:e.x,y:i.clamp(this.dragMaskSize()<0?this._activeCache.lastPos.y:this._activeCache.startPos.y,e.y,e.y+a),width:s,height:this._activeState&&this._activeTag===yt.background&&Math.abs(this.dragMaskSize())||0,...t},"rect")}renderText(){const{startTextStyle:t,endTextStyle:e}=this.attribute,{formatMethod:s,...a}=t,{formatMethod:n,...r}=e,{start:l,end:o}=this.state;this._startValue=this._statePointToData(l),this._endValue=this._statePointToData(o);const{position:d,width:h,height:c}=this.getLayoutAttrFromConfig();this._isHorizontal?(this._startText=this.maybeAddLabel(this._container,i.merge({},a,{text:s?s(this._startValue):this._startValue,x:d.x+l*h,y:d.y+c/2,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"right",textBaseline:"middle"}}),`data-zoom-start-text-${d}`),this._endText=this.maybeAddLabel(this._container,i.merge({},r,{text:n?n(this._endValue):this._endValue,x:d.x+o*h,y:d.y+c/2,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"left",textBaseline:"middle"}}),`data-zoom-end-text-${d}`)):(this._startText=this.maybeAddLabel(this._container,i.merge({},a,{text:s?s(this._startValue):this._startValue,x:d.x+h/2,y:d.y+l*c,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"center",textBaseline:"bottom"}}),`data-zoom-start-text-${d}`),this._endText=this.maybeAddLabel(this._container,i.merge({},r,{text:n?n(this._endValue):this._endValue,x:d.x+h/2,y:d.y+o*c,visible:this._showText,pickable:!1,childrenPickable:!1,textStyle:{textAlign:"center",textBaseline:"top"}}),`data-zoom-end-text-${d}`))}getLayoutAttrFromConfig(){if(this._layoutAttrFromConfig)return this._layoutAttrFromConfig;const{position:t,size:e,orient:i,middleHandlerStyle:s}=this.attribute,{width:a,height:n}=e,r=s?.background?.size??10;let l,o,d;return s?.visible?this._isHorizontal?(l=a,o=n-r,d={x:t.x,y:t.y+r}):(l=a-r,o=n,d={x:t.x+("left"===i?r:0),y:t.y}):(l=a,o=n,d=t),this._layoutAttrFromConfig={position:d,width:l,height:o},this._layoutAttrFromConfig}render(){this._layoutAttrFromConfig=null;const{orient:t,backgroundStyle:e,backgroundChartStyle:i,selectedBackgroundStyle:s,selectedBackgroundChartStyle:a,middleHandlerStyle:n,startHandlerStyle:r,endHandlerStyle:l,brushSelect:o}=this.attribute,{start:d,end:h}=this.state,{position:c,width:u,height:_}=this.getLayoutAttrFromConfig(),p=this.createOrUpdateChild("dataZoom-container",{},"group");this._container=p,this._background=p.createOrUpdateChild("background",{x:c.x,y:c.y,width:u,height:_,cursor:o?"crosshair":"auto",...e},"rect"),i?.line?.visible&&this.setPreviewAttributes("line",p),i?.area?.visible&&this.setPreviewAttributes("area",p),o&&this.renderDragMask(),this._isHorizontal?this._selectedBackground=p.createOrUpdateChild("selectedBackground",{x:c.x+d*u,y:c.y,width:(h-d)*u,height:_,cursor:o?"crosshair":"move",...s},"rect"):this._selectedBackground=p.createOrUpdateChild("selectedBackground",{x:c.x,y:c.y+d*_,width:u,height:(h-d)*_,cursor:o?"crosshair":"move",...s},"rect"),a?.line?.visible&&this.setSelectedPreviewAttributes("line",p),a?.area?.visible&&this.setSelectedPreviewAttributes("area",p),this.renderText(),this._isHorizontal?(this._startHandler=p.createOrUpdateChild("startHandler",{x:c.x+d*u,y:c.y+_/2,size:_,angle:0,symbolType:r?.symbolType??"square",cursor:"ew-resize",strokeBoundsBuffer:0,boundsPadding:2,pickMode:"imprecise",...r},"symbol"),this._endHandler=p.createOrUpdateChild("endHandler",{x:c.x+h*u,y:c.y+_/2,size:_,angle:0,symbolType:l?.symbolType??"square",cursor:"ew-resize",strokeBoundsBuffer:0,boundsPadding:2,pickMode:"imprecise",...l},"symbol"),n?.visible&&(this._middleHandlerRect=p.createOrUpdateChild("middleHandlerRect",{x:c.x+d*u,y:c.y-(n?.background?.size||10),width:(h-d)*u,height:n?.background?.size||10,...n?.background?.style},"rect"),this._middleHandlerSymbol=p.createOrUpdateChild("middleHandlerSymbol",{x:c.x+(d+h)/2*u,y:c.y-(n?.background?.size||10)/2,strokeBoundsBuffer:0,angle:0,symbolType:n?.icon?.symbolType??"square",...n?.icon},"symbol"))):(this._startHandler=p.createOrUpdateChild("startHandler",{x:c.x+u/2,y:c.y+d*_,size:u,angle:Math.PI/180*90,symbolType:r?.symbolType??"square",cursor:"ns-resize",boundsPadding:2,pickMode:"imprecise",strokeBoundsBuffer:0,...r},"symbol"),n?.visible&&(this._middleHandlerRect=p.createOrUpdateChild("middleHandlerRect",{x:"left"===t?c.x-(n?.background?.size||10):c.x+u,y:c.y+d*_,width:n?.background?.size||10,height:(h-d)*_,...n?.background?.style},"rect"),this._middleHandlerSymbol=p.createOrUpdateChild("middleHandlerSymbol",{x:"left"===t?c.x-(n?.background?.size||10)/2:c.x+u+(n?.background?.size||10)/2,y:c.y+(d+h)/2*_,angle:Math.PI/180*90,symbolType:n?.icon?.symbolType??"square",strokeBoundsBuffer:0,...n?.icon},"symbol")),this._endHandler=p.createOrUpdateChild("endHandler",{x:c.x+u/2,y:c.y+h*_,size:u,angle:Math.PI/180*90,symbolType:l?.symbolType??"square",cursor:"ns-resize",boundsPadding:2,pickMode:"imprecise",strokeBoundsBuffer:0,...l},"symbol"))}computeBasePoints(){const{orient:t}=this.attribute,{position:e,width:i,height:s}=this.getLayoutAttrFromConfig();let a,n;return this._isHorizontal?(a=[{x:e.x,y:e.y+s}],n=[{x:e.x+i,y:e.y+s}]):"left"===t?(a=[{x:e.x+i,y:e.y}],n=[{x:e.x+i,y:e.y+s}]):(a=[{x:e.x,y:e.y+s}],n=[{x:e.x,y:e.y}]),{basePointStart:a,basePointEnd:n}}getPreviewLinePoints(){const t=this._previewData.map((t=>({x:this._previewCallbackX&&this._previewCallbackX(t),y:this._previewCallbackY&&this._previewCallbackY(t)})));if(0===t.length)return t;const{basePointStart:e,basePointEnd:i}=this.computeBasePoints();return e.concat(t).concat(i)}getPreviewAreaPoints(){const t=this._previewData.map((t=>({x:this._previewCallbackX&&this._previewCallbackX(t),y:this._previewCallbackY&&this._previewCallbackY(t),x1:this._previewCallbackX1&&this._previewCallbackX1(t),y1:this._previewCallbackY1&&this._previewCallbackY1(t)})));if(0===t.length)return t;const{basePointStart:e,basePointEnd:i}=this.computeBasePoints();return e.concat(t).concat(i)}setPreviewAttributes(t,e){this._previewGroup||(this._previewGroup=e.createOrUpdateChild("previewGroup",{pickable:!1},"group")),"line"===t?this._previewLine=this._previewGroup.createOrUpdateChild("previewLine",{},"line"):this._previewArea=this._previewGroup.createOrUpdateChild("previewArea",{curveType:"basis"},"area");const{backgroundChartStyle:i}=this.attribute;"line"===t&&this._previewLine.setAttributes({points:this.getPreviewLinePoints(),curveType:"basis",pickable:!1,...i?.line}),"area"===t&&this._previewArea.setAttributes({points:this.getPreviewAreaPoints(),curveType:"basis",pickable:!1,...i?.area})}setSelectedPreviewAttributes(t,e){this._selectedPreviewGroupClip||(this._selectedPreviewGroupClip=e.createOrUpdateChild("selectedPreviewGroupClip",{pickable:!1},"group"),this._selectedPreviewGroup=this._selectedPreviewGroupClip.createOrUpdateChild("selectedPreviewGroup",{},"group")),"line"===t?this._selectedPreviewLine=this._selectedPreviewGroup.createOrUpdateChild("selectedPreviewLine",{},"line"):this._selectedPreviewArea=this._selectedPreviewGroup.createOrUpdateChild("selectedPreviewArea",{curveType:"basis"},"area");const{position:i,size:s,selectedBackgroundChartStyle:a}=this.attribute,{width:n,height:r}=s,{start:l,end:o}=this.state;this.computeBasePoints(),this._selectedPreviewGroupClip.setAttributes({x:this._isHorizontal?i.x+l*n:i.x,y:this._isHorizontal?i.y:i.y+l*r,width:this._isHorizontal?(o-l)*n:n,height:this._isHorizontal?r:(o-l)*r,clip:!0,pickable:!1}),this._selectedPreviewGroup.setAttributes({x:-(this._isHorizontal?i.x+l*n:i.x),y:-(this._isHorizontal?i.y:i.y+l*r),width:this._isHorizontal?(o-l)*n:n,height:this._isHorizontal?r:(o-l)*r,pickable:!1}),"line"===t&&this._selectedPreviewLine.setAttributes({points:this.getPreviewLinePoints(),curveType:"basis",pickable:!1,...a?.line}),"area"===t&&this._selectedPreviewArea.setAttributes({points:this.getPreviewAreaPoints(),curveType:"basis",pickable:!1,...a?.area})}maybeAddLabel(t,e,i){let s=this.find((t=>t.name===i),!0);return s?s.setAttributes(e):(s=new M(e),s.name=i),t.add(s),s}setStartAndEnd(t,e){const{start:s,end:a}=this.attribute;i.isValid(t)&&i.isValid(e)&&(t!==this.state.start||e!==this.state.end)&&(this.state.start=t,this.state.end=e,s===this.state.start&&a===this.state.end||this.setAttributes({start:t,end:e}))}setPreviewData(t){this._previewData=t}setText(t,e){"start"===e?this._startText.setAttribute("text",t):this._endText.setAttribute("text",t)}getStartValue(){return this._startValue}getEndTextValue(){return this._endValue}getMiddleHandlerSize(){const{middleHandlerStyle:t}=this.attribute,e=t?.background?.size??10,s=t?.icon?.size??10;return Math.max(e,...i.array(s))}setUpdateStateCallback(t){i.isFunction(t)&&(this._updateStateCallback=t)}setPreviewCallbackX(t){i.isFunction(t)&&(this._previewCallbackX=t)}setPreviewCallbackY(t){i.isFunction(t)&&(this._previewCallbackY=t)}setPreviewCallbackX1(t){i.isFunction(t)&&(this._previewCallbackX1=t)}setPreviewCallbackY1(t){i.isFunction(t)&&(this._previewCallbackY1=t)}setStatePointToData(t){i.isFunction(t)&&(this._statePointToData=t)}}var ft,At,St;t.IMarkLineLabelPosition=void 0,(ft=t.IMarkLineLabelPosition||(t.IMarkLineLabelPosition={})).start="start",ft.middle="middle",ft.end="end",ft.insideStartTop="insideStartTop",ft.insideStartBottom="insideStartBottom",ft.insideMiddleTop="insideMiddleTop",ft.insideMiddleBottom="insideMiddleBottom",ft.insideEndTop="insideEndTop",ft.insideEndBottom="insideEndBottom",t.IMarkAreaLabelPosition=void 0,(At=t.IMarkAreaLabelPosition||(t.IMarkAreaLabelPosition={})).left="left",At.right="right",At.top="top",At.bottom="bottom",At.middle="middle",At.insideLeft="insideLeft",At.insideRight="insideRight",At.insideTop="insideTop",At.insideBottom="insideBottom",t.IMarkPointItemPosition=void 0,(St=t.IMarkPointItemPosition||(t.IMarkPointItemPosition={})).top="top",St.bottom="bottom",St.middle="middle",St.insideTop="insideTop",St.insideBottom="insideBottom",St.insideMiddle="insideMiddle";class Et extends n{_container;_label;render(){this.removeAllChild();const t=this.attribute.visible??!0,i=e.createGroup({pickable:!1,childrenPickable:!1});i.name="marker-container",this.add(i),t&&this.renderMarker(i)}}const kt={startSymbol:{visible:!1,symbolType:"triangle",size:12,fill:"rgba(46, 47, 50)",lineWidth:0},endSymbol:{visible:!0,symbolType:"triangle",size:12,fill:"rgba(46, 47, 50)",lineWidth:0},label:{position:t.IMarkLineLabelPosition.end,refX:0,refY:0,refAngle:0,textStyle:{fill:"#fff",stroke:"#fff",lineWidth:0,fontSize:10,fontWeight:"normal",fontStyle:"normal"},padding:[2,2,4,4],panel:{visible:!0,borderRadius:0,fill:"rgb(48, 115, 242)",fillOpacity:.8}},lineStyle:{stroke:"#b2bacf",lineWidth:1,lineDash:[2]}},Mt={start:{textAlign:"right",textBaseline:"middle"},insideStartTop:{textAlign:"left",textBaseline:"bottom"},insideStartBottom:{textAlign:"left",textBaseline:"top"},middle:{textAlign:"center",textBaseline:"middle"},insideMiddleTop:{textAlign:"center",textBaseline:"bottom"},insideMiddleBottom:{textAlign:"center",textBaseline:"top"},end:{textAlign:"left",textBaseline:"middle"},insideEndTop:{textAlign:"right",textBaseline:"bottom"},insideEndBottom:{textAlign:"right",textBaseline:"top"}},wt={label:{position:t.IMarkAreaLabelPosition.right,textStyle:{fill:"#fff",stroke:"#fff",lineWidth:0,fontSize:10,fontWeight:"normal",fontStyle:"normal"},padding:[2,2,4,4],panel:{visible:!0,borderRadius:0,fill:"rgb(48, 115, 242)",fillOpacity:.8}},areaStyle:{fill:"#b2bacf",visible:!0}},Lt={left:{textAlign:"right",textBaseline:"middle"},insideLeft:{textAlign:"left",textBaseline:"middle"},right:{textAlign:"left",textBaseline:"middle"},insideRight:{textAlign:"right",textBaseline:"middle"},top:{textAlign:"center",textBaseline:"bottom"},insideTop:{textAlign:"center",textBaseline:"top"},bottom:{textAlign:"center",textBaseline:"top"},insideBottom:{textAlign:"center",textBaseline:"bottom"},middle:{textAlign:"center",textBaseline:"middle"}},Bt={itemLine:{visible:!0,decorativeLine:{visible:!1,length:30},startSymbol:{visible:!0,clip:!0,symbolType:"circle",size:20,style:{fill:!1,stroke:"rgba(46, 47, 50)"}},endSymbol:{visible:!1,clip:!0,symbolType:"triangle",size:12,style:{fill:!1,stroke:"rgba(46, 47, 50)"}},lineStyle:{stroke:"#000",lineWidth:1}},itemContent:{type:"text",position:"middle",refX:10,symbolStyle:{symbolType:"star",fill:"rgb(48, 115, 242)",fillOpacity:.8,size:20},textStyle:{dx:0,dy:0},imageStyle:{width:80,height:80},richTextStyle:{width:100,height:100}}},Tt={top:{textAlign:"left",textBaseline:"bottom"},bottom:{textAlign:"left",textBaseline:"top"},middle:{textAlign:"left",textBaseline:"middle"},insideTop:{textAlign:"right",textBaseline:"bottom"},insideBottom:{textAlign:"right",textBaseline:"top"},insideMiddle:{textAlign:"right",textBaseline:"middle"}};class Ct extends Et{static defaultAttributes=kt;_line;constructor(t){super(i.merge({},Ct.defaultAttributes,t))}setLabelPos(){const{points:t,label:e}=this.attribute,i=e?.position??"end",s=this._line.getEndAngle(),a=e?.refX*Math.cos(s)+e.refY*Math.cos(s-Math.PI/2),n=e?.refX*Math.sin(s)+e.refY*Math.sin(s-Math.PI/2);i.includes("start")||i.includes("Start")?this._label.setAttributes({x:t[0].x+a,y:t[0].y+n}):i.includes("middle")||i.includes("Middle")?this._label.setAttributes({x:(t[0].x+t[t.length-1].x)/2+a,y:(t[0].y+t[t.length-1].y)/2+n}):this._label.setAttributes({x:t[t.length-1].x+a,y:t[t.length-1].y+n}),this._label.setAttributes({angle:e.autoRotate&&s+(e?.refAngle??0),textStyle:{...Mt[i],...e.textStyle}})}renderMarker(t){const{points:e,startSymbol:i,endSymbol:s,label:a,lineStyle:n}=this.attribute,r=new lt({points:e,startSymbol:i,endSymbol:s,lineStyle:n});r.name="mark-line-line",this._line=r,t.add(r);const l=new M({...a});l.name="mark-line-label",this._label=l,t.add(l),this.setLabelPos()}}class Pt extends Et{static defaultAttributes=wt;_area;constructor(t){super(i.merge({},Pt.defaultAttributes,t))}getLeftPos(){return{x:this._area.AABBBounds.x1,y:(this._area.AABBBounds.y1+this._area.AABBBounds.y2)/2}}getRightPos(){return{x:this._area.AABBBounds.x2,y:(this._area.AABBBounds.y1+this._area.AABBBounds.y2)/2}}getTopPos(){return{x:(this._area.AABBBounds.x1+this._area.AABBBounds.x2)/2,y:this._area.AABBBounds.y1}}getBottomPos(){return{x:(this._area.AABBBounds.x1+this._area.AABBBounds.x2)/2,y:this._area.AABBBounds.y2}}getMiddlePos(){return{x:(this._area.AABBBounds.x1+this._area.AABBBounds.x2)/2,y:(this._area.AABBBounds.y1+this._area.AABBBounds.y2)/2}}setLabelPos(){const{label:t}=this.attribute,e=t?.position??"middle";e.includes("left")||e.includes("Left")?this._label.setAttributes({...this.getLeftPos()}):e.includes("right")||e.includes("Right")?this._label.setAttributes({...this.getRightPos()}):e.includes("top")||e.includes("Top")?this._label.setAttributes({...this.getTopPos()}):e.includes("bottom")||e.includes("Bottom")?this._label.setAttributes({...this.getBottomPos()}):this._label.setAttributes({...this.getMiddlePos()}),this._label.setAttributes({textStyle:{...Lt[e],...t.textStyle}})}renderMarker(t){const{points:i,label:s,areaStyle:a}=this.attribute,n=e.createPolygon({points:i,...a});n.name="mark-area-area",this._area=n,t.add(n);const r=new M({...s});r.name="mark-area-label",this._label=r,t.add(r),this.setLabelPos()}}class It extends Et{static defaultAttributes=Bt;_item;_line;_decorativeLine;constructor(t){super(i.merge({},It.defaultAttributes,t))}setLabelPos(){}setItemAttributes(e,i,s,a){const{autoRotate:n=!0,refX:r=0,refY:l=0,refAngle:o=0,textStyle:d,richTextStyle:h,imageStyle:c,position:u=t.IMarkPointItemPosition.middle}=i,_=this._line?.getEndAngle()||0,p=r*Math.cos(_)+l*Math.cos(_-Math.PI/2),b=r*Math.sin(_)+l*Math.sin(_-Math.PI/2);"text"===a?e.setAttributes({...d,textStyle:{...Tt[i?.position||"end"],...d?.textStyle}}):"richText"===a?e.setAttributes({dx:this.getItemDx(e,u,h)+(h?.dx||0),dy:this.getItemDy(e,u,h)+(h?.dy||0)}):"image"===a&&e.setAttributes({dx:this.getItemDx(e,u,c)+(c?.dx||0),dy:this.getItemDy(e,u,c)+(c?.dy||0)}),e.setAttributes({x:s.x+(p||0),y:s.y+(b||0),angle:n&&_+o})}getItemDx(t,e,i){const s=t?.AABBBounds?.width()??(i?.width||0);return e.includes("inside")?-s:0}getItemDy(t,e,i){const s=t?.AABBBounds?.height()??(i?.height||0);return e.includes("top")||e.includes("Top")?-s:e.includes("middle")||e.includes("Middle")?-s/2:0}renderItem(t,i){const{type:s="text",symbolStyle:a,richTextStyle:n,imageStyle:r,renderCustomCallback:l}=t;let o;return"symbol"===s?o=e.createSymbol({...i,...a}):"text"===s?o=new M({...i}):"richText"===s?o=e.createRichText({...i,...n}):"image"===s?o=e.createImage({...i,...r}):"custom"===s&&l&&(o=l()),this.setItemAttributes(o,t,i,s),o}renderItemLine(t,e,i){const{startSymbol:s,endSymbol:a,lineStyle:n,type:r="type-s"}=t;let l=[];l="type-do"===r?[e,{x:(e.x+i.x)/2,y:i.y},i]:"type-po"===r?[e,{x:i.x,y:e.y},i]:"type-op"===r?[e,{x:e.x,y:i.y},i]:[e,i];return new lt({points:l,startSymbol:s,endSymbol:a,lineStyle:n})}renderDecorativeLine(t,i){const{lineStyle:s}=t,a=t?.decorativeLine?.length||10,n=this._line.getEndAngle()||0,r=a/2*Math.cos(n-Math.PI/2),l=a/2*Math.sin(n-Math.PI/2),o=-a/2*Math.cos(n-Math.PI/2),d=-a/2*Math.sin(n-Math.PI/2);return e.createLine({points:[{x:i.x+r,y:i.y+l},{x:i.x+o,y:i.y+d}],...s})}renderMarker(t){const{position:e,itemLine:i,itemContent:s}=this.attribute,a={x:e.x+(s?.offsetX||0),y:e.y+(s?.offsetY||0)};if(i?.visible){const s=this.renderItemLine(i,e,a);if(s.name="mark-point-line",this._line=s,t.add(s),i?.decorativeLine?.visible){const e=this.renderDecorativeLine(i,a);e.name="mark-point-decorativeLine",this._decorativeLine=e,t.add(e)}}const n=this.renderItem(s,a);this._item=n,t.add(n)}}const Ht={space:8,style:{fill:"rgb(47, 69, 84)",cursor:"pointer",size:15},state:{disable:{fill:"rgb(170, 170, 170)",cursor:"not-allowed"},hover:{}}};class zt extends n{name="pager";_current=1;getCurrent(){return this._current}_total;preHandler;nextHandler;text;static defaultAttributes={handler:Ht,textStyle:{fill:"rgb(51, 51, 51)",fontSize:12}};constructor(t){super(i.merge({},zt.defaultAttributes,t))}render(){this._reset();const{layout:t="horizontal",handler:s=Ht,total:a,defaultCurrent:n=1,textStyle:r,padding:l=0}=this.attribute;this._current=n;const o=i.normalizePadding(l),d="horizontal"===t,h=e.createGroup({x:0,y:0}),c=s.style||{},u=c.size||15,_=s.space??8,p=s.state||{};let{preShape:b,nextShape:g}=s;b||(b=d?"triangleLeft":"triangleUp"),g||(g=d?"triangleRight":"triangleDown");const m=e.createSymbol({strokeBoundsBuffer:0,...c,x:0,y:0,symbolType:b,size:u});m.states=p,m.name="preHandler",this.preHandler=m,h.add(m);const{width:y,height:x}=k(`${a}/${a}`,{textAlign:"center",textBaseline:"middle",...r}),v=i.isNumber(u)?u:u[0],f=i.isNumber(u)?u:u[1],A=e.createText({x:d?v/2+_+y/2:0,y:d?0:f/2+_+x/2,text:`${n}/${a}`,textAlign:"center",textBaseline:"middle",lineHeight:r?.fontSize,...r});this.text=A,h.add(A);const S=e.createSymbol({strokeBoundsBuffer:0,...c,x:d?v+2*_+y:0,y:d?0:f+2*_+x,symbolType:g,size:u});S.name="nextHandler",S.states=p,this.nextHandler=S,h.add(S),1===this._total?(m.addState("disable"),S.addState("disable")):1===this._current?m.addState("disable"):this._current===a&&S.addState("disable");const E=h.AABBBounds,M=E.width(),w=E.height();h.translateTo(0-E.x1+o[3],0-E.y1+o[0]),this.add(h),this.attribute.width=M+o[1]+o[3],this.attribute.height=w+o[0]+o[2],this._bindEvents()}_bindEvents(){this.preHandler&&(this.preHandler.addEventListener("pointerenter",this._onHover),this.preHandler.addEventListener("pointerleave",this._onUnHover),this.preHandler.addEventListener("pointerdown",this._onClick)),this.nextHandler&&(this.nextHandler.addEventListener("pointerenter",this._onHover),this.nextHandler.addEventListener("pointerleave",this._onUnHover),this.nextHandler.addEventListener("pointerdown",this._onClick))}_onHover=t=>{const e=t.target;e.hasState("disable")||e.addState("hover")};_onUnHover=t=>{t.target.removeState("hover")};_onClick=t=>{const i=t.target;if("preHandler"===i.name){if(1===this._current)return;this._current-=1,1===this._current?i.addState("disable"):i.removeState("disable");const t=new e.CustomEvent("toPrev",{current:this._current,total:this._total,direction:"pre"});t.manager=this.stage?.eventSystem.manager,this.dispatchEvent(t)}if("nextHandler"===i.name){if(this._current===this._total)return;this._current+=1,this._current===this._total?i.addState("disable"):i.removeState("disable");const t=new e.CustomEvent("toNext",{current:this._current,total:this._total,direction:"next"});t.manager=this.stage?.eventSystem.manager,this.dispatchEvent(t)}this._current>1&&this.preHandler.removeState("disable"),this._current<this._total&&this.nextHandler.removeState("disable"),this.text.setAttribute("text",`${this._current}/${this._total}`)};_reset(){this.removeAllChild(),this._current=1,this._total=this.attribute.total,this.preHandler=this.nextHandler=this.text=null}}const Vt=16,Dt=8,Nt=12,Rt=12;var $t,Ot,Ut;t.LegendStateValue=void 0,($t=t.LegendStateValue||(t.LegendStateValue={})).selected="selected",$t.unSelected="unSelected",$t.selectedHover="selectedHover",$t.unSelectedHover="unSelectedHover",$t.focus="focus",t.LegendEvent=void 0,(Ot=t.LegendEvent||(t.LegendEvent={})).legendItemHover="legendItemHover",Ot.legendItemUnHover="legendItemUnHover",Ot.legendItemClick="legendItemClick",t.LEGEND_ELEMENT_NAME=void 0,(Ut=t.LEGEND_ELEMENT_NAME||(t.LEGEND_ELEMENT_NAME={})).innerView="innerView",Ut.title="legendTitle",Ut.item="legendItem",Ut.itemShape="legendItemShape",Ut.itemLabel="legendItemLabel",Ut.itemValue="legendItemValue",Ut.focus="legendItemFocus";class Ft extends n{name="legend";_innerView;_title=null;render(){this.removeAllChild();const{interactive:s=!0,title:a,padding:n=0}=this.attribute,r=i.normalizePadding(n),l=e.createGroup({x:r[3],y:r[0],pickable:s,childrenPickable:s});l.name=t.LEGEND_ELEMENT_NAME.innerView,this.add(l),this._innerView=l,a?.visible&&this._renderTitle(a),this._renderContent(),this._adjustLayout(),s&&this._bindEvents();const o=this._innerView.AABBBounds;this.attribute.width=o.width()+r[1]+r[3],this.attribute.height=o.height()+r[0]+r[2]}_renderTitle(e){const{text:s="",textStyle:a,padding:n=0,background:r,minWidth:l,maxWidth:o,shape:d}=e,h={x:0,y:0,text:s,textStyle:a,padding:i.normalizePadding(n),minWidth:l,maxWidth:o};d&&d.visible&&(h.shape={visible:!0,...d.style},i.isValid(d.space)&&(h.space=d.space)),r&&r.visible&&(h.panel={visible:!0,...r.style});const c=new M(h);c.name=t.LEGEND_ELEMENT_NAME.title,this._title=c,this._innerView.add(c)}_adjustLayout(){if(this._title){const t=this._innerView.AABBBounds.width(),e=this._title.AABBBounds.width(),i=this.attribute.title?.align;"center"===i?this._title.setAttribute("x",(t-e)/2):"end"===i&&this._title.setAttribute("x",t-e)}}}const Wt={[t.LegendStateValue.focus]:{},[t.LegendStateValue.selected]:{},[t.LegendStateValue.selectedHover]:{},[t.LegendStateValue.unSelected]:{},[t.LegendStateValue.unSelectedHover]:{}};class Gt extends Ft{name="discreteLegend";_itemsContainer=null;_itemWidthByUser;_itemHeightByUser=void 0;_itemHeight=0;_itemMaxWidth=0;_pager;static defaultAttributes={layout:"horizontal",title:{align:"start",space:Nt,textStyle:{fontSize:12,fontWeight:"bold",fill:"#2C3542"}},item:{spaceCol:Vt,spaceRow:Dt,shape:{space:8,style:{size:10,cursor:"pointer"},state:{selectedHover:{opacity:.85},unSelected:{fill:"#D8D8D8"}}},label:{space:8,style:{fontSize:12,fill:"#2C3542",cursor:"pointer"},state:{selectedHover:{opacity:.85},unSelected:{fill:"#D8D8D8"}}},value:{alignRight:!1,style:{fontSize:12,fill:"#ccc",cursor:"pointer"},state:{selectedHover:{opacity:.85},unSelected:{fill:"#D8D8D8"}}},background:{style:{cursor:"pointer"}},focus:!1,focusIconStyle:{size:10,symbolType:"M8 1C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1ZM8.75044 2.55077L8.75 3.75H7.25L7.25006 2.5507C4.81247 2.88304 2.88304 4.81247 2.5507 7.25006L3.75 7.25V8.75L2.55077 8.75044C2.8833 11.1878 4.81264 13.117 7.25006 13.4493L7.25 12.25H8.75L8.75044 13.4492C11.1876 13.1167 13.1167 11.1876 13.4492 8.75044L12.25 8.75V7.25L13.4493 7.25006C13.117 4.81264 11.1878 2.8833 8.75044 2.55077ZM8 5.5C9.38071 5.5 10.5 6.61929 10.5 8C10.5 9.38071 9.38071 10.5 8 10.5C6.61929 10.5 5.5 9.38071 5.5 8C5.5 6.61929 6.61929 5.5 8 5.5ZM8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9C8.55228 9 9 8.55228 9 8C9 7.44772 8.55228 7 8 7Z",fill:"#333",cursor:"pointer"}},autoPage:!0,pager:{space:Rt,handler:{style:{size:10},space:4}},hover:!0,select:!0,selectMode:"multiple",allowAllCanceled:!0};constructor(t){super(i.merge({},Gt.defaultAttributes,t))}setSelected(e){(this._itemsContainer?.getChildren()).forEach((i=>{const s=i.data;e.includes(s.label)?(this._setLegendItemState(i,t.LegendStateValue.selected),this._removeLegendItemState(i,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover])):(this._removeLegendItemState(i,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover]),this._setLegendItemState(i,t.LegendStateValue.unSelected))}))}_renderContent(){const{item:t={},items:s,reversed:a,maxCol:n=1,maxRow:r=2}=this.attribute;if(!1===t.visible||i.isEmpty(s))return;let l=s;a&&(l=s?.reverse());const o=e.createGroup({x:0,y:0});this._itemsContainer=o;const{layout:d,maxWidth:h,maxHeight:c,defaultSelected:u=[],autoPage:_}=this.attribute,p="horizontal"===d,{spaceCol:b=Vt,spaceRow:g=Dt,maxWidth:m,width:y,height:x}=t;i.isValid(m)?i.isValid(y)?this._itemWidthByUser=Math.min(m,y):this._itemWidthByUser=m:i.isValid(y)&&(this._itemWidthByUser=y),i.isValid(x)&&(this._itemHeightByUser=x);let v=!1,f=0,A=0,S=0,E=1,k=1;l.forEach(((t,e)=>{t.id||(t.id=t.label),t.index=e;const s=this._renderEachItem(t,!!i.isEmpty(u)||u?.includes(t.label),e),a=s.attribute.width,l=s.attribute.height;this._itemHeight=Math.max(this._itemHeight,l),f=Math.max(a,f),this._itemMaxWidth=Math.max(a,this._itemMaxWidth),p?(E=r,i.isValid(h)&&h<A+a&&(v=!0,A=0,S+=l+g,k+=1),e>0&&s.setAttributes({x:A,y:S}),A+=b+a):(E=n,i.isValid(c)&&c<S+l&&(v=!0,S=0,A+=f+b,f=0,k+=1),e>0&&s.setAttributes({x:A,y:S}),S+=g+l),o.add(s)})),v&&_&&k>E?this._renderPager(p):(o.setAttribute("y",this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",8):0),this._innerView.add(o))}_bindEvents(){if(!this._itemsContainer)return;const{hover:t=!0,select:e=!0}=this.attribute;t&&(this._itemsContainer.addEventListener("pointermove",this._onHover),this._itemsContainer.addEventListener("pointerout",this._onUnHover)),e&&this._itemsContainer.addEventListener("pointerdown",this._onClick)}_renderEachItem(s,a,n){const{id:r,label:l,value:o,shape:d}=s,{shape:h={},label:c={},value:u={},padding:_=0,background:p,focus:b,focusIconStyle:g={}}=this.attribute.item,m=i.normalizePadding(_);let y;!1===p.visible?(y=e.createGroup({x:0,y:0,cursor:p?.style.cursor}),this._appendDataToShape(y,t.LEGEND_ELEMENT_NAME.item,s,y)):(y=e.createGroup({x:0,y:0,...p?.style}),this._appendDataToShape(y,t.LEGEND_ELEMENT_NAME.item,s,y,p?.state)),y.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected);const x=e.createGroup({x:0,y:0,pickable:!1});y.add(x);let v=0;const f=i.get(h,"style.size",10),A=i.get(h,"space",8),S=e.createSymbol({x:0,y:0,symbolType:"circle",strokeBoundsBuffer:0,...d,...h.style});let E;Object.keys(h.state).forEach((t=>{const e=h.state[t].fill||h.state[t].stroke;d.fill&&i.isNil(h.state[t].fill)&&e&&(h.state[t].fill=e),d.stroke&&i.isNil(h.state[t].stroke)&&e&&(h.state[t].stroke=e)})),this._appendDataToShape(S,t.LEGEND_ELEMENT_NAME.itemShape,s,y,h?.state),S.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected),x.add(S);let k=0;if(b){const a=i.get(g,"size",10);E=e.createSymbol({x:0,y:-a/2-1,strokeBoundsBuffer:0,...g,visible:!1,pickMode:"imprecise",boundsPadding:m}),this._appendDataToShape(E,t.LEGEND_ELEMENT_NAME.focus,s,y),k=a}const M=e.createText({x:f/2+A,y:0,textAlign:"start",textBaseline:"middle",lineHeight:c?.style.fontSize,...c?.style,text:c.formatMethod?c.formatMethod(l,s,n):l});this._appendDataToShape(M,t.LEGEND_ELEMENT_NAME.itemLabel,s,y,c?.state),M.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected),x.add(M);const w=i.get(c,"space",8);if(v+=f/2+A+M.AABBBounds.width()+w,i.isValid(o)){const r=i.get(u,"space",b?8:0),l=e.createText({x:v+w,y:0,textAlign:"start",textBaseline:"middle",lineHeight:u?.style.fontSize,...u?.style,text:u.formatMethod?u.formatMethod(o,s,n):o});this._appendDataToShape(l,t.LEGEND_ELEMENT_NAME.itemValue,s,y,u?.state),l.addState(a?t.LegendStateValue.selected:t.LegendStateValue.unSelected),this._itemWidthByUser&&(l.setAttribute("maxLineWidth",this._itemWidthByUser-m[1]-m[3]-f-A-M.AABBBounds.width()-w-k-r),u.alignRight&&l.setAttributes({textAlign:"right",x:this._itemWidthByUser-f/2-m[1]-m[3]-k-r})),v=l.AABBBounds.x2+r,x.add(l)}else this._itemWidthByUser&&M.setAttribute("maxLineWidth",this._itemWidthByUser-m[1]-m[3]-f-A-k);E&&(E.setAttribute("x",v),x.add(E));const L=x.AABBBounds,B=L.width(),T=L.height(),C=this._itemWidthByUser||B+m[1]+m[3],P=this._itemHeightByUser||T+m[0]+m[2];return y.attribute.width=C,y.attribute.height=P,x.translateTo(-L.x1+m[3],-L.y1+m[0]),y}_renderPager(t){const s=this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",8):0,{maxWidth:a,maxHeight:n,maxCol:r=1,maxRow:l=2,item:o={},pager:d={}}=this.attribute,{spaceCol:h=Vt,spaceRow:c=Dt}=o,u=this._itemsContainer,{animation:_=!0,animationDuration:p=450,animationEasing:b="quadIn",space:g=Rt,...m}=d;let y,x=0,v=0,f=0,A=0,S=1;t?(y=new zt({layout:1===l?"horizontal":"vertical",total:99,...i.merge({handler:{preShape:"triangleUp",nextShape:"triangleDown"}},m)}),this._pager=y,this._innerView.add(y),x=(l-1)*c+this._itemHeight*l,v=a-y.AABBBounds.width()-g,u.getChildren().forEach(((t,e)=>{const{width:i,height:s}=t.attribute;v<f+i&&(f=0,A+=s+c,S+=1),e>0&&t.setAttributes({x:f,y:A}),f+=h+i})),y.setAttributes({total:Math.ceil(S/l),x:v,y:s+x/2-y.AABBBounds.height()/2})):(y=new zt({layout:"horizontal",total:99,...m}),this._pager=y,this._innerView.add(y),v=this._itemMaxWidth*r+(r-1)*h,x=n-y.AABBBounds.height()-g-s,u.getChildren().forEach(((t,e)=>{const{height:i}=t.attribute;x<A+i&&(A=0,f+=this._itemMaxWidth+h,S+=1),e>0&&t.setAttributes({x:f,y:A}),A+=c+i})),y.setAttributes({total:Math.ceil(S/r),x:(v-y.AABBBounds.width())/2,y:n-y.AABBBounds.height()})),d.defaultCurrent>1&&(t?u.setAttribute("y",-(d.defaultCurrent-1)*(x+c)):u.setAttribute("x",-(d.defaultCurrent-1)*(v+h)));const E=e.createGroup({x:0,y:s,width:v,height:x,clip:!0,pickable:!1});E.add(u),this._innerView.add(E);const k=e=>{const{current:i}=e.detail;_?u.animate().to(t?{y:-(i-1)*(x+c)}:{x:-(i-1)*(v+h)},p,b):t?u.setAttribute("y",-(i-1)*(x+c)):u.setAttribute("x",-(i-1)*(v+h))};this._pager.addEventListener("toPrev",k),this._pager.addEventListener("toNext",k)}_onHover=e=>{const i=e.target;if(i?.name?.startsWith(t.LEGEND_ELEMENT_NAME.item)){const e=i.delegate;e.hasState(t.LegendStateValue.selected)?this._setLegendItemState(e,t.LegendStateValue.selectedHover):this._setLegendItemState(e,t.LegendStateValue.unSelectedHover);const s=e.getChildren()[0].find((e=>e.name===t.LEGEND_ELEMENT_NAME.focus),!1);s&&s.setAttribute("visible",!0),this._dispatchEvent(t.LegendEvent.legendItemHover,e)}};_onUnHover=e=>{const i=e.target;if(i?.name?.startsWith(t.LEGEND_ELEMENT_NAME.item)){const e=i.delegate;e.removeState(t.LegendStateValue.unSelectedHover),e.removeState(t.LegendStateValue.selectedHover),e.getChildren()[0].getChildren().forEach((e=>{e.removeState(t.LegendStateValue.unSelectedHover),e.removeState(t.LegendStateValue.selectedHover)}));const s=e.getChildren()[0].find((e=>e.name===t.LEGEND_ELEMENT_NAME.focus),!1);s&&s.setAttribute("visible",!1),this._dispatchEvent(t.LegendEvent.legendItemUnHover,e)}};_onClick=e=>{const i=e.target;if(i?.name?.startsWith(t.LEGEND_ELEMENT_NAME.item)){const e=i.delegate;if(i.name===t.LEGEND_ELEMENT_NAME.focus){const i=e.hasState(t.LegendStateValue.focus);e.toggleState(t.LegendStateValue.focus),i?this._itemsContainer?.getChildren().forEach((e=>{this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover,t.LegendStateValue.focus]),this._setLegendItemState(e,t.LegendStateValue.selected)})):(this._setLegendItemState(e,t.LegendStateValue.selected),this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover]),this._itemsContainer?.getChildren().forEach((i=>{e!==i&&(this._removeLegendItemState(i,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover,t.LegendStateValue.focus]),this._setLegendItemState(i,t.LegendStateValue.unSelected))})))}else{this._itemsContainer?.getChildren().forEach((e=>{e.removeState(t.LegendStateValue.focus)}));const{selectMode:i="multiple",allowAllCanceled:s=!0}=this.attribute,a=e.hasState(t.LegendStateValue.selected),n=this._getSelectedLegends();if("multiple"===i){if(!1===s&&a&&1===n.length)return void this._dispatchEvent(t.LegendEvent.legendItemClick,e);a?(this._removeLegendItemState(e,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover]),this._setLegendItemState(e,t.LegendStateValue.unSelected)):(this._setLegendItemState(e,t.LegendStateValue.selected),this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover]))}else this._setLegendItemState(e,t.LegendStateValue.selected),this._removeLegendItemState(e,[t.LegendStateValue.unSelected,t.LegendStateValue.unSelectedHover]),this._itemsContainer?.getChildren().forEach((i=>{e!==i&&(this._removeLegendItemState(i,[t.LegendStateValue.selected,t.LegendStateValue.selectedHover]),this._setLegendItemState(i,t.LegendStateValue.unSelected))}))}this._dispatchEvent(t.LegendEvent.legendItemClick,e)}};_setLegendItemState(e,i,s=!0){e.addState(i,s),e.getChildren()[0].getChildren().forEach((e=>{e.name!==t.LEGEND_ELEMENT_NAME.focus&&e.addState(i,s)}))}_removeLegendItemState(e,i){i.forEach((t=>{e.removeState(t)})),e.getChildren()[0].getChildren().forEach((e=>{e.name!==t.LEGEND_ELEMENT_NAME.focus&&i.forEach((t=>{e.removeState(t)}))}))}_getSelectedLegends(){const e=[];return this._itemsContainer?.getChildren().forEach((i=>{i.hasState(t.LegendStateValue.selected)&&e.push(i.data)})),e}_appendDataToShape(t,e,s,a,n={}){t.name=e,t.data=s,t.delegate=a,t.states=i.merge({},Wt,n)}_dispatchEvent(i,s){const a=this._getSelectedLegends();a.sort(((t,e)=>t.index-e.index));const n=a.map((t=>t.label)),r=new e.CustomEvent(i,{item:s,data:s.data,selected:s.hasState(t.LegendStateValue.selected),currentSelectedItems:a,currentSelected:n});r.manager=this.stage?.eventSystem.manager,this.dispatchEvent(r)}}var Xt;function Yt(t){return i.isArray(t)?t:[t,t]}function Zt(t){return t?"ew-resize":"ns-resize"}t.SLIDER_ELEMENT_NAME=void 0,(Xt=t.SLIDER_ELEMENT_NAME||(t.SLIDER_ELEMENT_NAME={})).innerView="innerView",Xt.railContainer="sliderRailContainer",Xt.rail="sliderRail",Xt.startText="sliderStartText",Xt.endText="sliderEndText",Xt.startHandler="sliderStartHandler",Xt.startHandlerText="startHandlerText",Xt.endHandler="sliderEndHandler",Xt.endHandlerText="sliderEndHandlerText",Xt.track="sliderTrack",Xt.trackContainer="sliderTrackContainer";class qt extends n{name="slider";static defaultAttributes={slidable:!0,layout:"horizontal",align:"bottom",height:8,showHandler:!0,handlerSize:14,handlerStyle:{symbolType:"circle",fill:"#fff",stroke:"#91caff",lineWidth:2},railStyle:{fill:"rgba(0,0,0,.04)"},trackStyle:{fill:"#91caff"},showValue:!0,valueStyle:{fill:"#2C3542",fontSize:12},startText:{style:{fill:"#2C3542",fontSize:12}},endText:{style:{fill:"#2C3542",fontSize:12}},handlerText:{visible:!0,space:4,precision:0,style:{fill:"#2C3542",fontSize:12}}};_isHorizontal=!0;_innerView;_startHandler=null;_endHandler=null;_startHandlerText=null;_endHandlerText=null;_railContainer;_rail;_track;_prePos;_currentHandler=null;_currentValue={};get track(){return this._track}get currentValue(){return this._currentValue}get startHandler(){return this._startHandler}get endHandler(){return this._endHandler}constructor(t){super(i.merge({},qt.defaultAttributes,t))}setValue(t){const[e,s]=i.array(t),{layout:a,railWidth:n,railHeight:r,min:l,max:o}=this.attribute,{startHandler:d,endHandler:h}=this._getHandlers(),c="vertical"===a?r:n,u=(e-l)/(o-l)*c;if(d&&this._updateHandler(d,u,e),h){const t=(s-l)/(o-l)*c;this._updateHandler(h,t,s)}this._updateTrack()}render(){this.removeAllChild();const{layout:s="horizontal",railWidth:a,railHeight:n,startText:r,endText:l,min:o,max:d,showHandler:h=!0}=this.attribute;let{value:c}=this.attribute;i.isNil(c)&&(c=[o,d]),this._currentValue={startValue:Yt(c)[0],endValue:Yt(c)[1]};const u="horizontal"===s;this._isHorizontal=u;const _=e.createGroup({x:0,y:0});_.name=t.SLIDER_ELEMENT_NAME.innerView,this.add(_),this._innerView=_;let p,b=0;if(r&&r.visible){p=e.createText({x:u?0:a/2,y:u?n/2:0,textAlign:u?"start":"center",textBaseline:u?"middle":"top",text:r.text,lineHeight:r.style?.fontSize,...r.style}),p.name=t.SLIDER_ELEMENT_NAME.startText,_.add(p);const s=i.isValid(r.space)?r.space:0;b+=(u?p.AABBBounds.width():p.AABBBounds.height())+s}const g=e.createGroup({x:u?b:0,y:u?0:b});_.add(g);const m=e.createGroup({x:0,y:0});let y;if(m.name=t.SLIDER_ELEMENT_NAME.railContainer,this._railContainer=m,g.add(m),this._renderRail(m),b+=u?a:n,l&&l.visible){const s=i.isValid(l.space)?l.space:0;y=e.createText({x:u?b+s:a/2,y:u?n/2:b+s,textAlign:u?"start":"center",textBaseline:u?"middle":"top",text:l.text,lineHeight:l.style?.fontSize,...l.style}),y.name=t.SLIDER_ELEMENT_NAME.endText,_.add(y)}this._renderTrack(m),h&&(this._renderHandlers(g),this._bindEvents())}_renderRail(i){const{railWidth:s,railHeight:a,railStyle:n,slidable:r}=this.attribute;let l="default";!1!==r&&(l="pointer");const o=e.createRect({x:0,y:0,width:s,height:a,cursor:l,...n});return o.name=t.SLIDER_ELEMENT_NAME.rail,i.add(o),this._rail=o,o}_renderHandlers(e){const{range:s,min:a,max:n,handlerSize:r=14,handlerStyle:l,handlerText:o,railHeight:d,railWidth:h,slidable:c}=this.attribute;let{value:u}=this.attribute;i.isNil(u)&&(u=[a,n]);const _=o&&o.visible,p=this._isHorizontal,b=p?h:d,[g,m]=Yt(u),y=(g-a)/(n-a)*b,x=this._renderHandler({x:p?y:h/2,y:p?d/2:y,size:r,strokeBoundsBuffer:0,cursor:!1===c?"default":Zt(p),...l});if(x.name=t.SLIDER_ELEMENT_NAME.startHandler,this._startHandler=x,e.add(x),this._currentValue.startPos=y,_){const i=this._renderHandlerText(g);i.name=t.SLIDER_ELEMENT_NAME.startHandlerText,e.add(i),this._startHandlerText=i}if(s){const i=(m-a)/(n-a)*b,s=this._renderHandler({x:p?i:h/2,y:p?d/2:i,size:r,strokeBoundsBuffer:0,cursor:!1===c?"default":Zt(p),...l});if(s.name=t.SLIDER_ELEMENT_NAME.endHandler,this._endHandler=s,e.add(s),this._currentValue.endPos=i,_){const i=this._renderHandlerText(m);i.name=t.SLIDER_ELEMENT_NAME.endHandlerText,e.add(i),this._endHandlerText=i}}}_renderTrack(s){const{range:a,min:n,max:r,railHeight:l,railWidth:o,trackStyle:d,railStyle:h,slidable:c}=this.attribute;let{value:u}=this.attribute;i.isNil(u)&&(u=[n,r]);const _=this._isHorizontal,p=_?o:l;let[b,g]=Yt(u);a||(b=n);const m=e.createGroup({x:0,y:0,width:o,height:l,borderRadius:h?.borderRadius,clip:!0,pickable:!1});m.name=t.SLIDER_ELEMENT_NAME.trackContainer;const y=i.isObject(a)&&!0===a.draggableTrack;let x;x=!1===c?"default":!1===a||!1===y?"pointer":Zt(_);const v=(g-b)/(r-n)*p,f=e.createRect({x:_?(b-n)/(r-n)*p:0,y:_?0:(b-n)/(r-n)*p,width:_?v:o,height:_?l:v,cursor:x,...d});f.name=t.SLIDER_ELEMENT_NAME.track,this._track=f,m.add(f),s.add(m)}_renderHandler(t){return e.createSymbol(t)}_renderHandlerText(t){const{align:i,min:s,max:a,handlerSize:n=14,handlerText:r={},railHeight:l,railWidth:o,slidable:d}=this.attribute,h=this._isHorizontal,c=(t-s)/(a-s)*(h?o:l),u=r.space??4,_={text:r?.formatter?r.formatter(t):t.toFixed(r?.precision??0),lineHeight:r.style?.lineHeight,cursor:!1===d?"default":Zt(h),...r.style};h?"top"===i?(_.textBaseline="bottom",_.textAlign="center",_.x=c,_.y=(l-n)/2-u):(_.textBaseline="top",_.textAlign="center",_.x=c,_.y=(l+n)/2+u):"left"===i?(_.textBaseline="middle",_.textAlign="end",_.x=(o-n)/2-u,_.y=c):(_.textBaseline="middle",_.textAlign="start",_.x=(o+n)/2+u,_.y=c);return e.createText(_)}_bindEvents(){const{slidable:t,range:e}=this.attribute;t&&(this._startHandler&&this._startHandler.addEventListener("pointerdown",this._onHandlerPointerdown),this._startHandlerText&&this._startHandlerText.addEventListener("pointerdown",this._onHandlerPointerdown),this._endHandler&&this._endHandler.addEventListener("pointerdown",this._onHandlerPointerdown),this._endHandlerText&&this._endHandlerText.addEventListener("pointerdown",this._onHandlerPointerdown),i.isObject(e)&&e.draggableTrack&&this._track.addEventListener("pointerdown",this._onTrackPointerdown),this._railContainer.addEventListener("pointerdown",this._onRailPointerDown))}_onHandlerPointerdown=t=>{t.stopPropagation(),this._currentHandler=t.target,this._prePos=this._isHorizontal?t.clientX:t.clientY,"browser"===e.global.env?(e.global.addEventListener("pointermove",this._onHandlerPointerMove),e.global.addEventListener("pointerup",this._onHandlerPointerUp)):(this._currentHandler.addEventListener("pointermove",this._onHandlerPointerMove),this._currentHandler.addEventListener("pointerup",this._onHandlerPointerUp),this._currentHandler.addEventListener("pointerupoutside",this._onHandlerPointerUp))};_onHandlerPointerMove=t=>{t.stopPropagation();const{railWidth:e,railHeight:s,min:a,max:n}=this.attribute;let r,l,o,d=0;this._isHorizontal?(r=t.clientX,d=r-this._prePos,l=this._currentHandler?.attribute.x,o=e):(r=t.clientY,d=r-this._prePos,l=this._currentHandler?.attribute.y,o=s);const h=i.clamp(l+d,0,o),c=h/o*(n-a)+a;"text"===this._currentHandler.type?this._updateHandlerText(this._currentHandler,h,c):this._updateHandler(this._currentHandler,h,c),this._updateTrack(),this._prePos=r,this._dispatchChangeEvent()};_onHandlerPointerUp=t=>{if(t.preventDefault(),this._currentHandler=null,"browser"===e.global.env)e.global.removeEventListener("pointermove",this._onHandlerPointerMove),e.global.removeEventListener("pointerup",this._onHandlerPointerUp);else{const e=t.target;e.removeEventListener("pointermove",this._onHandlerPointerMove),e.removeEventListener("pointerup",this._onHandlerPointerUp),e.removeEventListener("pointerupoutside",this._onHandlerPointerUp)}};_onTrackPointerdown=t=>{t.stopPropagation(),this._prePos=this._isHorizontal?t.clientX:t.clientY,"browser"===e.global.env?(e.global.addEventListener("pointermove",this._onTrackPointerMove),e.global.addEventListener("pointerup",this._onTrackPointerUp)):(this._track.addEventListener("pointermove",this._onTrackPointerMove),this._track.addEventListener("pointerup",this._onTrackPointerUp),this._track.addEventListener("pointerupoutside",this._onTrackPointerUp))};_onTrackPointerMove=t=>{t.stopPropagation();const{railWidth:e,railHeight:s,min:a,max:n}=this.attribute,{startHandler:r,endHandler:l}=this._getHandlers();let o,d,h;this._isHorizontal?(o=t.clientX,d=this._track.attribute.width,h=e):(o=t.clientY,d=this._track.attribute.height,h=s);const c=o-this._prePos;if(r){const t=this._isHorizontal?r.attribute.x:r.attribute.y,e=i.clamp(t+c,0,h-d),s=e/h*(n-a)+a;this._updateHandler(r,e,s)}if(l){const t=this._isHorizontal?l.attribute.x:l.attribute.y,e=i.clamp(t+c,d,h),s=e/h*(n-a)+a;this._updateHandler(l,e,s),this._track.setAttributes(this._isHorizontal?{x:Math.min(r?.attribute.x,l?.attribute.x),width:Math.abs(r?.attribute.x-l?.attribute.x)}:{y:Math.min(r?.attribute.y,l?.attribute.y),height:Math.abs(r?.attribute.y-l?.attribute.y)})}this._prePos=o,this._dispatchChangeEvent()};_onTrackPointerUp=t=>{t.preventDefault(),"browser"===e.global.env?(e.global.removeEventListener("pointermove",this._onTrackPointerMove),e.global.removeEventListener("pointerup",this._onTrackPointerUp)):(this._track.removeEventListener("pointermove",this._onTrackPointerMove),this._track.removeEventListener("pointerup",this._onTrackPointerUp),this._track.removeEventListener("pointerupoutside",this._onTrackPointerUp))};_onRailPointerDown=t=>{t.stopPropagation();const{railWidth:e,railHeight:s,min:a,max:n}=this.attribute,r=this._startHandler,l=this._endHandler;let o,d,h,c;this._isHorizontal?(o=t.viewX-this._rail.globalAABBBounds.x1,d=r?.attribute.x,h=l?.attribute.x,c=e):(o=t.viewY-this._rail.globalAABBBounds.y1,d=r?.attribute.y,h=l?.attribute.y,c=s);const u=o/c*(n-a)+a;if(i.isValid(h)){const t=Math.abs(o-d)>Math.abs(o-h)?l:r;this._updateHandler(t,o,u)}else this._updateHandler(r,o,u);this._updateTrack(),this._dispatchChangeEvent()};_updateTrack(){const t=this._startHandler,e=this._endHandler;if(this._isHorizontal){const i=t?.attribute.x;if(e){const t=e?.attribute.x;this._track.setAttributes({x:Math.min(i,t),width:Math.abs(i-t)})}else this._track.setAttributes({width:i})}else{const i=t?.attribute.y;if(e){const t=e?.attribute.y;this._track.setAttributes({y:Math.min(i,t),height:Math.abs(i-t)})}else this._track.setAttributes({height:i})}}_updateHandler(e,i,s){const a=this._isHorizontal;e.setAttribute(a?"x":"y",i);const n=e.name===t.SLIDER_ELEMENT_NAME.startHandler?this._startHandlerText:this._endHandlerText;if(n){const{handlerText:t}=this.attribute;n?.setAttributes({text:t?.formatter?t.formatter(s):s.toFixed(t?.precision??0),[a?"x":"y"]:i})}e.name===t.SLIDER_ELEMENT_NAME.startHandler?(this._currentValue.startValue=s,this._currentValue.startPos=i):(this._currentValue.endValue=s,this._currentValue.endPos=i)}_updateHandlerText(e,i,s){const a=this._isHorizontal,{handlerText:n}=this.attribute;e.setAttributes({[a?"x":"y"]:i,text:n?.formatter?n.formatter(s):s.toFixed(n?.precision??0)});const r=e.name===t.SLIDER_ELEMENT_NAME.startHandlerText?this._startHandler:this._endHandler;r&&r?.setAttributes({[a?"x":"y"]:i}),e.name===t.SLIDER_ELEMENT_NAME.startHandlerText?(this._currentValue.startValue=s,this._currentValue.startPos=i):(this._currentValue.endValue=s,this._currentValue.endPos=i)}_dispatchChangeEvent(){const t=!!this.attribute.range,i=this._currentValue,s=new e.CustomEvent("change",{value:t?[Math.min(i.endValue,i.startValue),Math.max(i.endValue,i.startValue)]:i.startValue,position:t?[Math.min(i.endPos,i.startPos),Math.max(i.endPos,i.startPos)]:i.startPos});s.manager=this.stage?.eventSystem.manager,this.dispatchEvent(s)}_getHandlers(){let t,e=this._startHandler,i=this._endHandler;return this._isHorizontal?i&&i.attribute.x<e?.attribute.x&&(t=e,e=i,i=t):i&&i.attribute.y<e?.attribute.y&&(t=e,e=i,i=t),{startHandler:e,endHandler:i}}}class jt extends Ft{name="colorLegend";static defaultAttributes={layout:"horizontal",title:{align:"start",space:Nt,textStyle:{fontSize:12,fontWeight:"bold",fill:"rgba(46, 47, 50, 1)"}},handlerSize:10,handlerStyle:{lineWidth:4,stroke:"#fff",outerBorder:{distance:2,lineWidth:1,stroke:"#ccc"}}};_slider;_colorScale;_color;constructor(t){super(i.merge({},jt.defaultAttributes,t))}setSelected(t){this._slider&&(this._slider.setValue(t),this._updateColor())}_renderContent(){const{colors:t,slidable:e,layout:a,align:n,min:r,max:l,value:o,railWidth:d,railHeight:h,showHandler:c=!0,handlerSize:u,handlerStyle:_,railStyle:p,trackStyle:b,startText:g,endText:m,handlerText:y,showTooltip:x,tooltip:v}=this.attribute,f=[],A=(l-r)/(t.length-1);for(let e=0;e<t.length;e++)f.push(r+A*e);this._colorScale=(new s.LinearScale).domain(f,!0).range(t),this._color=this._getTrackColor();const S=new qt({x:0,y:0,range:{draggableTrack:!0},slidable:e,layout:a,align:n,min:r,max:l,value:o,railWidth:d,railHeight:h,showHandler:c,handlerSize:u,handlerStyle:_,railStyle:p,trackStyle:{fill:this._color,...b},startText:g,endText:m,handlerText:y,showTooltip:x,tooltip:v});this._innerView.add(S),this._slider=S,S.translateTo(0-S.AABBBounds.x1,(this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",Nt):0)-S.AABBBounds.y1),this._updateColor()}_bindEvents(){this._slider&&this._slider.addEventListener("change",this._onSliderChange)}_getTrackColor(){const{colors:t,layout:e}=this.attribute;if(i.isEmpty(t))return;const s=t.length;if(1===s)return t[0];const a=[];for(let e=0;e<s;e++){const i=e/(s-1);a.push({offset:i,color:t[e]})}const n="horizontal"===e;return{gradient:"linear",stops:a,x0:0,y0:0,x1:n?1:0,y1:n?0:1}}_onSliderChange=t=>{this._updateColor(),this.dispatchEvent(t)};_updateColor(){const{layout:t="horizontal",colors:e,railWidth:i,railHeight:s}=this.attribute,{startHandler:a,endHandler:n,track:r}=this._slider,{startValue:l,endValue:o,startPos:d,endPos:h}=this._slider.currentValue,c=this._colorScale.scale(l),u=this._colorScale.scale(o);a?.setAttribute("fill",c),n?.setAttribute("fill",u);const _="horizontal"===t?i:s;if(Math.abs(d-h)!==_&&e&&e.length>1){const t=this._color.stops,e=Math.min(d,h),i=Math.max(d,h),s=e/_,a=i/_,n=a-s,c=t.filter((t=>t.offset>s&&t.offset<a)),u=Math.min(l,o),p=Math.max(l,o),b=this._colorScale.scale(u),g=this._colorScale.scale(p),m=[{offset:0,color:b}];c.forEach((t=>{m.push({offset:(t.offset-s)/n,color:t.color})})),m.push({offset:1,color:g}),r.setAttribute("fill",{...this._color,stops:m})}}}function Jt(t="bottom"){let e=0;const i=3.5,s=2.5;return"top"===t?`\n M${e},-6L${e-i},-2.5\n v5\n h7\n v-5\n Z\n`:"left"===t?(e=1,`\n M${e-6},0L${e-6+s},-3.5\n h5\n v7\n h-5\n Z\n`):"right"===t?(e=-1,`\n M${e+6},0L${e+6-s},-3.5\n h-5\n v7\n h5\n Z\n `):`\n M${e},6L${e-i},2.5\n v-5\n h7\n v5\n Z\n`}class Kt extends Ft{name="sizeLegend";static defaultAttributes={layout:"horizontal",title:{align:"start",space:Nt,textStyle:{fontSize:12,fontWeight:"bold",fill:"rgba(46, 47, 50, 1)"}},handlerSize:10,handlerStyle:{lineWidth:1,stroke:"#ccc",fill:"#fff"},sizeBackground:{fill:"rgba(20,20,20,0.1)"}};_slider;constructor(t){super(i.merge({},Kt.defaultAttributes,t))}setSelected(t){this._slider&&this._slider.setValue(t)}_renderContent(){const{slidable:t,layout:s,align:a,min:n,max:r,value:l,railWidth:o,railHeight:d,showHandler:h=!0,handlerSize:c,handlerStyle:u,railStyle:_,trackStyle:p,startText:b,endText:g,handlerText:m,showTooltip:y,tooltip:x,sizeBackground:v}=this.attribute,f=e.createGroup({x:0,y:0});this._innerView.add(f);const A=new qt({x:0,y:0,zIndex:1,range:{draggableTrack:!0},slidable:t,layout:s,align:a,min:n,max:r,value:l,railWidth:o,railHeight:d,showHandler:h,handlerSize:c,handlerStyle:{symbolType:Jt(a),...u},railStyle:_,trackStyle:p,startText:b,endText:g,handlerText:m,showTooltip:y,tooltip:x});f.add(A);let S,E=0;const k=12;"horizontal"===s?"top"===a?(S=`M0,0L${o},0L${o},12Z`,E=d):(S=`M0,12L${o},12L${o},0Z`,A.setAttribute("y",k)):"left"===a?S=`M${o},0L${o},0L${o+k},${d}L${o},${d}Z`:(S=`M0,${d}L12,${d}L12,0Z`,A.setAttribute("x",k));const M=e.createPath({x:0,y:E,path:S,...v,zIndex:0});f.add(M);const w=this._title?this._title.AABBBounds.height()+i.get(this.attribute,"title.space",Nt):0;f.translate(0-f.AABBBounds.x1,w-f.AABBBounds.y1),this._slider=A}_bindEvents(){this._slider&&this._slider.addEventListener("change",this._onSliderChange)}_onSliderChange=t=>{this.dispatchEvent(t)}}class Qt extends n{name="title";_mainTitle;_subTitle;static defaultAttributes={textStyle:{ellipsis:"...",fill:"#333",fontSize:20,fontWeight:"bold",textAlign:"left",textBaseline:"top"},subtextStyle:{ellipsis:"...",fill:"#6F6F6F",fontSize:16,fontWeight:"normal",textAlign:"left",textBaseline:"top"}};constructor(t){super(i.merge({},Qt.defaultAttributes,t))}render(){const{text:t,textStyle:e,subtext:s,subtextStyle:a,width:n,height:r,minWidth:l,maxWidth:o,minHeight:d,maxHeight:h,align:c,verticalAlign:u,padding:_=0}=this.attribute,p=i.normalizePadding(_),b=this.createOrUpdateChild("title-container",{x:p[3],y:p[0],zIndex:1},"group");if(!1!==this.attribute?.visible&&!1!==e?.visible)if(e&&i.isValid(e?.character)){const t={x:e.x??0,y:e.y??0,width:e.width??n??0,height:e.height??r??0,ellipsis:e.ellipsis??!0,wordBreak:e.wordBreak??"break-word",maxHeight:e.maxHeight,maxWidth:e.maxWidth,textConfig:e.character};this._mainTitle=b.createOrUpdateChild("mainTitle",t,"richtext")}else i.isValid(t)&&(this._mainTitle=b.createOrUpdateChild("mainTitle",{text:[t],...e,maxLineWidth:e?.maxLineWidth??n,heightLimit:e?.heightLimit,lineClamp:e?.lineClamp,ellipsis:e?.ellipsis??!0,x:0,y:0},"wrapText"));const g=this._mainTitle?this._mainTitle?.AABBBounds.height():0,m=this._mainTitle?this._mainTitle?.AABBBounds.width():0;if(!1!==this.attribute?.visible&&!1!==a?.visible)if(a&&i.isValid(a?.character)){const t={x:a.x??0,y:a.y??g,width:a.width??n??0,height:a.height??r??0,ellipsis:a.ellipsis??!0,wordBreak:a.wordBreak??"break-word",maxHeight:a.maxHeight,maxWidth:a.maxWidth,textConfig:a.character};this._subTitle=b.createOrUpdateChild("subTitle",t,"richtext")}else i.isValid(s)&&(this._subTitle=b.createOrUpdateChild("subTitle",{text:[s],...a,maxLineWidth:a?.maxLineWidth??n,heightLimit:a?.heightLimit,lineClamp:a?.lineClamp,ellipsis:a?.ellipsis??!0,x:0,y:g},"wrapText"));const y=this._subTitle?this._subTitle?.AABBBounds.height():0,x=this._subTitle?this._subTitle?.AABBBounds.width():0;let v=Math.max(m,x),f=g+(a?.height??y);if(i.isValid(n)&&(v=n,this._mainTitle?.setAttribute("maxLineWidth",n),this._subTitle?.setAttribute("maxLineWidth",n)),i.isValid(r)&&(f=r),i.isValid(l)&&v<l&&(v=l),i.isValid(o)&&(this._mainTitle?.setAttribute("maxLineWidth",o),this._subTitle?.setAttribute("maxLineWidth",o),this._mainTitle?.setAttribute("maxWidth",o),this._subTitle?.setAttribute("maxWidth",o),v>o&&(v=o)),i.isValid(d)&&f<d&&(f=d),i.isValid(h)&&(this._mainTitle?.setAttribute("maxHeight",h),this._subTitle?.setAttribute("maxHeight",h-g),f>h&&(f=h)),b.attribute.width=v+p[1]+p[3],b.attribute.height=f+p[0]+p[2],i.isValid(c)||i.isValid(e?.align)){const t=e?.align?e?.align:c,i=e?.width??m;"left"===t?(this._mainTitle?.setAttribute("x",0),this._mainTitle?.setAttribute("textAlign","left")):"center"===t?(this._mainTitle?.setAttribute("x",i/2),this._mainTitle?.setAttribute("textAlign","center")):"right"===t&&(this._mainTitle?.setAttribute("x",i),this._mainTitle?.setAttribute("textAlign","right"))}if(i.isValid(u)||i.isValid(e?.verticalAlign)){const t=e?.verticalAlign?e?.verticalAlign:u,i=e?.height?e?.height:v;"top"===t?(this._mainTitle?.setAttribute("y",0),this._mainTitle?.setAttribute("textBaseline","top")):"middle"===t?(this._mainTitle?.setAttribute("y",i/2),this._mainTitle?.setAttribute("textBaseline","middle")):"bottom"===t&&(this._mainTitle?.setAttribute("y",i),this._mainTitle?.setAttribute("textBaseline","bottom"))}if(i.isValid(c)||i.isValid(a?.align)){const t=a?.align?a?.align:c,e=a?.width??x;"left"===t?(this._subTitle?.setAttribute("x",0),this._subTitle?.setAttribute("textAlign","left")):"center"===t?(this._subTitle?.setAttribute("x",e/2),this._subTitle?.setAttribute("textAlign","center")):"right"===t&&(this._subTitle?.setAttribute("x",e),this._subTitle?.setAttribute("textAlign","right"))}if(i.isValid(u)||i.isValid(e?.verticalAlign)){const t=a?.verticalAlign?a?.verticalAlign:u,e=g,i=a?.height??0;"top"===t?(this._subTitle?.setAttribute("y",e),this._subTitle?.setAttribute("textBaseline","top")):"middle"===t?(this._subTitle?.setAttribute("y",e+i/2),this._subTitle?.setAttribute("textBaseline","middle")):"bottom"===t&&(this._subTitle?.setAttribute("y",e+i),this._subTitle?.setAttribute("textBaseline","bottom"))}}}const te={title:{style:{text:"",fontSize:20,fill:"black",fontWeight:"normal",fillOpacity:1,textBaseline:"top",textAlign:"center"}},content:{style:{text:"",fontSize:16,fill:"black",fontWeight:"normal",fillOpacity:1,textBaseline:"top",textAlign:"center"}}};const ee=(t,e)=>{let i=t.x0,s=t.x1;const a="number"==typeof e?t.thickness*e:t.thickness;let n=t.y0-t.thickness/2,r=t.y1-t.thickness/2;"center"===t.align?(n=t.y0-a/2,r=t.y1-a/2):"end"===t.align&&(n=t.y0+t.thickness/2-a,r=t.y1+t.thickness/2-a);let l=(i+s)/2,o=n+a,d=r+a;t.round&&(i=Math.round(i),s=Math.round(s),n=Math.round(n),r=Math.round(r),o=Math.round(o),d=Math.round(d),l=Math.round(l));const h=Math.abs(s-i)>1e-6,c=t.endArrow&&h?`L${s},${r-a/2}L${s+a},${(r+d)/2}L${s},${d+a/2}`:"",u=t.startArrow&&h?`L${i},${o+a/2}L${i-a},${(n+o)/2}L${i},${n-a/2}`:"";return!1===t.isSmooth?`M${i},${n}L${s},${r}${c}L${s},${d}L${i},${o}${u}Z`:`M${i},${n}\n C${l},${n},${l},${r},${s},${r}\n ${c}\n L${s},${d}\n C${l},${d},${l},${o},${i},${o}\n ${u}\n Z`},ie=(t,e)=>{let i=t.y0,s=t.y1,a=t.x0-t.thickness/2,n=t.x1-t.thickness/2;const r="number"==typeof e?t.thickness*e:t.thickness;"center"===t.align?(a=t.x0-r/2,n=t.x1-r/2):"end"===t.align&&(a=t.x0+t.thickness/2-r,n=t.x1+t.thickness/2-r);let l=(i+s)/2,o=a+r,d=n+r;t.round&&(i=Math.round(i),s=Math.round(s),a=Math.round(a),n=Math.round(n),o=Math.round(o),d=Math.round(d),l=Math.round(l));const h=Math.abs(s-i)>1e-6,c=t.endArrow&&h?`L${n-r/2},${s}L${(n+d)/2},${s+r}L${d+r/2},${s}`:"",u=t.startArrow&&h?`L${o+r/2},${i}L${(o+a)/2},${i-r}L${a-r/2},${i}`:"";return!1===t.isSmooth?`M${a},${i}L${n},${s}${c}L${d},${s}L${o},${i}${u}Z`:`M${a},${i}\n C${a},${l},${n},${l},${n},${s}\n ${c}\n L${d},${s}\n C${d},${l},${o},${l},${o},${i}\n ${u}\n Z`};class se extends n{static defaultAttributes={direction:"horizontal",align:"start"};_container;_backPath;_frontPath;constructor(t){super(i.merge({},se.defaultAttributes,t))}render(){const{direction:t="horizontal"}=this.attribute,e="vertical"===t?ie:ee,i="number"==typeof this.attribute.ratio&&this.attribute.ratio>=0&&this.attribute.ratio<=1,s=["direction","x0","x1","y0","y1","thickness","round","ratio","align","isSmooth","backgroudStyle"],a={};if(Object.keys(this.attribute).forEach((t=>{s.includes(t)||(a[t]=this.attribute[t])})),i){const t=this.createOrUpdateChild("sankey-link-background",Object.assign({},a,this.attribute.backgroudStyle,{path:e(this.attribute,1),visible:!0,pickable:!1,zIndex:-1}),"path");this._backPath=t}else this._backPath&&this._backPath.setAttribute("visible",!1);const n=this.createOrUpdateChild("sankey-link-front",Object.assign({},a,{path:e(this.attribute,i?this.attribute.ratio:1),pickable:!1}),"path");this._frontPath=n}}class ae extends e.Symbol{constructor(t){super(t)}}var ne,re;!function(t){t.OnPlay="onPlay",t.OnPause="onPause",t.OnForward="onForward",t.OnBackward="onBackward"}(ne||(ne={})),function(t){t.Start="start",t.Pause="pause",t.Forward="forward",t.Backward="backward"}(re||(re={}));class le extends n{static defaultControllerAttr={x:0,y:0,size:20,fill:"#91caff",pickMode:"imprecise",cursor:"pointer"};static defaultAttributes={visible:!0,[re.Start]:{},[re.Pause]:{},[re.Backward]:{},[re.Forward]:{}};_isPaused=!0;_playController;_forwardController;_backwardController;_layout;_startAttr;_pauseAttr;_forwardAttr;_backwardAttr;constructor(t){super(i.merge({},le.defaultAttributes,t)),this.updateAttributes(),this._initPlay(),this._initBackward(),this._initForward(),this._initEvents()}updateAttributes=()=>{this._startAttr={style:{symbolType:"M 414.5 0.0238 c 228.9128 0 414.4762 185.5634 414.4762 414.4762 s -185.5634 414.4762 -414.4762 414.4762 S 0.0238 643.4128 0.0238 414.5 S 185.5872 0.0238 414.5 0.0238 z m 0 73.1429 C 225.9865 73.1667 73.1667 225.9865 73.1667 414.5 s 152.8198 341.3333 341.3333 341.3333 s 341.3333 -152.8198 341.3333 -341.3333 S 603.0135 73.1667 414.5 73.1667 z m -73.1429 161.4994 a 48.7619 48.7619 0 0 1 25.9901 7.5093 l 201.7524 127.1223 a 48.7619 48.7619 0 0 1 0.3657 82.2613 l -201.7524 129.6335 A 48.7619 48.7619 0 0 1 292.5952 540.1838 v -256.7314 a 48.7619 48.7619 0 0 1 48.7619 -48.7619 z m 24.381 92.9402 v 167.9116 l 131.9497 -84.7726 L 365.7381 327.6063 z",...le.defaultControllerAttr,...this.attribute.start.style}},this._pauseAttr={style:{symbolType:"M 414.5 0.0238 c 228.9128 0 414.4762 185.5634 414.4762 414.4762 s -185.5634 414.4762 -414.4762 414.4762 S 0.0238 643.4128 0.0238 414.5 S 185.5872 0.0238 414.5 0.0238 z m 0 73.1429 C 225.9865 73.1667 73.1667 225.9865 73.1667 414.5 s 152.8198 341.3333 341.3333 341.3333 s 341.3333 -152.8198 341.3333 -341.3333 S 603.0135 73.1667 414.5 73.1667 z m -48.7619 195.0476 v 316.9524 h -73.1429 V 268.2143 h 73.1429 z m 158.4762 0 v 316.9524 h -73.1429 V 268.2143 h 73.1429 z",...le.defaultControllerAttr,...this.attribute.pause.style}},this._forwardAttr={style:{...le.defaultControllerAttr,...this.attribute.forward.style}},this._backwardAttr={style:{...le.defaultControllerAttr,...this.attribute.backward.style}},this.updateLayout()};updateLayout=()=>{this._layout=this.attribute.layout,"horizontal"===this._layout?(this._backwardAttr.style.symbolType=this._backwardAttr.style?.symbolType??"M 521.29 734.276 L 230.929 448.019 L 521.29 161.762 c 37.685 -37.153 38.003 -97.625 0.707 -134.384 c -37.297 -36.758 -98.646 -36.435 -136.331 0.718 l -357.43 352.378 c -0.155 0.153 -0.297 0.314 -0.451 0.468 c -0.084 0.082 -0.172 0.157 -0.256 0.239 c -18.357 18.092 -27.581 41.929 -27.743 65.902 c -0.004 0.311 -0.017 0.623 -0.018 0.934 c 0.001 0.316 0.014 0.632 0.018 0.948 c 0.165 23.97 9.389 47.803 27.743 65.892 c 0.083 0.082 0.171 0.157 0.255 0.239 c 0.154 0.154 0.296 0.315 0.452 0.468 l 357.43 352.378 c 37.685 37.153 99.034 37.476 136.331 0.718 c 37.297 -36.758 36.979 -97.231 -0.707 -134.384 z",this._forwardAttr.style.symbolType=this._forwardAttr.style?.symbolType??"M 30 163 L 320.361 449.257 L 30 735.514 c -37.685 37.153 -38.003 97.625 -0.707 134.384 c 37.297 36.758 98.646 36.435 136.331 -0.718 l 357.43 -352.378 c 0.155 -0.153 0.297 -0.314 0.451 -0.468 c 0.084 -0.082 0.172 -0.157 0.256 -0.239 c 18.357 -18.092 27.581 -41.929 27.743 -65.902 c 0.004 -0.311 0.017 -0.623 0.018 -0.934 c -0.001 -0.316 -0.014 -0.632 -0.018 -0.948 c -0.165 -23.97 -9.389 -47.803 -27.743 -65.892 c -0.083 -0.082 -0.171 -0.157 -0.255 -0.239 c -0.154 -0.154 -0.296 -0.315 -0.452 -0.468 l -357.43 -352.378 c -37.685 -37.153 -99.034 -37.476 -136.331 -0.718 c -37.297 36.758 -36.979 97.231 0.707 134.384 z"):"vertical"===this._layout&&(this._backwardAttr.style.symbolType=this._backwardAttr.style?.symbolType??"m 161.724 521.29 l 286.257 -290.361 l 286.257 290.361 c 37.153 37.685 97.625 38.003 134.384 0.707 c 36.758 -37.297 36.435 -98.646 -0.718 -136.331 l -352.378 -357.43 c -0.153 -0.155 -0.314 -0.297 -0.468 -0.451 c -0.082 -0.084 -0.157 -0.172 -0.239 -0.256 c -18.092 -18.357 -41.929 -27.581 -65.902 -27.743 c -0.311 -0.004 -0.623 -0.017 -0.934 -0.018 c -0.316 0.001 -0.632 0.014 -0.948 0.018 c -23.97 0.165 -47.803 9.389 -65.892 27.743 c -0.082 0.083 -0.157 0.171 -0.239 0.255 c -0.154 0.154 -0.315 0.296 -0.468 0.452 l -352.378 357.43 c -37.153 37.685 -37.476 99.034 -0.718 136.331 c 36.758 37.297 97.231 36.979 134.384 -0.707 z",this._forwardAttr.style.symbolType=this._forwardAttr.style?.symbolType??"M 734.276 28.71 L 448.019 319.071 L 161.762 28.71 c -37.153 -37.685 -97.625 -38.003 -134.384 -0.707 c -36.758 37.297 -36.435 98.646 0.718 136.331 l 352.378 357.43 c 0.153 0.155 0.314 0.297 0.468 0.451 c 0.082 0.084 0.157 0.172 0.239 0.256 c 18.092 18.357 41.929 27.581 65.902 27.743 c 0.311 0.004 0.623 0.017 0.934 0.018 c 0.316 -0.001 0.632 -0.014 0.948 -0.018 c 23.97 -0.165 47.803 -9.389 65.892 -27.743 c 0.082 -0.083 0.157 -0.171 0.239 -0.255 c 0.154 -0.154 0.315 -0.296 0.468 -0.452 l 352.378 -357.43 c 37.153 -37.685 37.476 -99.034 0.718 -136.331 c -36.758 -37.297 -97.231 -36.979 -134.384 0.707 z")};_initPlay=()=>{i.isNil(this._playController)&&(this._playController=new ae({...this._startAttr.style}),this.add(this._playController))};_initBackward=()=>{i.isNil(this._backwardController)&&(this._backwardController=new ae({...this._backwardAttr.style}),this.add(this._backwardController))};_initForward=()=>{i.isNil(this._forwardController)&&(this._forwardController=new ae({...this._forwardAttr.style}),this.add(this._forwardController))};_initEvents=()=>{this._playController.addEventListener("pointerdown",(t=>{t.stopPropagation(),!0===this._isPaused?this.play():this.pause()})),this._backwardController.addEventListener("pointerdown",(t=>{t.stopPropagation(),this.backward()})),this._forwardController.addEventListener("pointerdown",(t=>{t.stopPropagation(),this.forward()}))};_createCustomEvent=t=>{const i=new e.CustomEvent(t,{eventType:t});return i.manager=this.stage?.eventSystem.manager,i};render(){this.updateAttributes(),this.renderPlay(),this.renderBackward(),this.renderForward()}renderPlay=()=>{this._isPaused?this._playController.setAttributes({symbolType:this._playController.getComputedAttribute("symbolType"),...this._startAttr.style}):this._playController.setAttributes({symbolType:this._playController.getComputedAttribute("symbolType"),...this._pauseAttr.style})};renderBackward=()=>{this._backwardController.setAttributes(this._backwardAttr.style)};renderForward=()=>{this._forwardController.setAttributes(this._forwardAttr.style)};play=()=>{const t=this._createCustomEvent(ne.OnPlay);this.dispatchEvent(t)};pause=()=>{const t=this._createCustomEvent(ne.OnPause);this.dispatchEvent(t)};forward=()=>{const t=this._createCustomEvent(ne.OnForward);this.dispatchEvent(t)};backward=()=>{const t=this._createCustomEvent(ne.OnBackward);this.dispatchEvent(t)};togglePlay=()=>{this._playController.setAttributes(this._startAttr.style),this._isPaused=!0};togglePause=()=>{this._playController.setAttributes(this._pauseAttr.style),this._isPaused=!1}}const oe={style:{x:0,y:0,dx:0,dy:0,size:20},order:0,space:10},de=[200,10];var he,ce;t.DirectionEnum=void 0,(he=t.DirectionEnum||(t.DirectionEnum={})).Default="default",he.Reverse="reverse",t.PlayerEventEnum=void 0,(ce=t.PlayerEventEnum||(t.PlayerEventEnum={})).OnChange="onChange",ce.OnPlay="onPlay",ce.OnPause="onPause",ce.OnBackward="onBackward",ce.OnForward="onForward",ce.OnEnd="onEnd";const ue=({direction:e,maxIndex:i,minIndex:s,dataIndex:a})=>(({direction:e,maxIndex:i,dataIndex:s})=>e===t.DirectionEnum.Default&&s===i)({direction:e,maxIndex:i,dataIndex:a})||(({direction:e,minIndex:i,dataIndex:s})=>e===t.DirectionEnum.Reverse&&s===i)({direction:e,minIndex:s,dataIndex:a}),_e=({direction:e,maxIndex:i,minIndex:s,dataIndex:a})=>(({direction:e,minIndex:i,dataIndex:s})=>e===t.DirectionEnum.Default&&s===i)({direction:e,minIndex:s,dataIndex:a})||(({direction:e,maxIndex:i,dataIndex:s})=>e===t.DirectionEnum.Reverse&&s===i)({direction:e,maxIndex:i,dataIndex:a}),pe=t=>"top"===t||"bottom"===t;class be extends n{static defaultAttributes={visible:!0,data:[],interval:1e3,orient:"bottom",align:"center",size:{height:20,width:300},slider:{space:10,dx:0,dy:0,railStyle:{borderRadius:5},trackStyle:{},handlerStyle:{}},controller:{start:{...oe,key:"start",position:"start",space:0},pause:{...oe,key:"pause",position:"start"},forward:{...oe,key:"forward",position:"end"},backward:{...oe,key:"backward",position:"start"}}};_slider;_controller;_data=[];_minIndex;_maxIndex;_railStyle;_trackStyle;_handlerStyle;_start;_pause;_forward;_backward;_size;_orient;_layoutInfo={};constructor(t){super(i.merge({},be.defaultAttributes,t)),this._initAttributes(),this._initLayoutInfo(),this._initController(),this._initSlider()}_initAttributes(){this._size=this.attribute.size,this._orient=this.attribute.orient,this._data=this.attribute.data,this._minIndex=0,this._maxIndex=this._data.length-1,this._railStyle={...this.attribute?.slider?.railStyle},this._trackStyle={...this.attribute?.slider?.trackStyle},this._handlerStyle={...this.attribute?.slider?.handlerStyle},this._start={...this.attribute?.controller?.start},this._pause={...this.attribute?.controller?.pause},this._forward={...this.attribute?.controller?.forward},this._backward={...this.attribute?.controller?.backward}}_initLayoutInfo(){const t=[this._start,this._backward,this._forward].sort(((t,e)=>t.order-e.order)),e=t.filter((t=>"end"!==t.position)),s=t.filter((t=>"end"===t.position)),a=(pe(this._orient)?this._railStyle.height:this._railStyle.width)??de[1],n=t.reduce(((t,e)=>{const s=e.style.size,a=i.isNumber(s)?s:i.max(s[0],s[1]);return t+e.space+a}),0),r=(pe(this._orient)?this._size?.width:this._size?.height)-n,l=r-this.attribute.slider.space,o=e.reduce(((t,e)=>{const{key:s,space:a,style:{size:n}}=e,r=i.isNumber(n)?n:i.max(n[0],n[1]);return this._layoutInfo[s]={...this._layoutInfo[s],size:r,x:pe(this._orient)?t+a:(this._size.width-r)/2,y:pe(this._orient)?(this._size.height-r)/2:t+a},t+a+r}),0);this._layoutInfo.slider={...this._layoutInfo.slider,size:l,x:pe(this._orient)?o+this.attribute.slider.space:(this._size.width-a)/2,y:pe(this._orient)?(this._size.height-a)/2:o+this.attribute.slider.space},s.reduce(((t,e)=>{const{key:s,space:a,style:{size:n}}=e,r=i.isNumber(n)?n:i.max(n[0],n[1]);return this._layoutInfo[s]={...this._layoutInfo[s],size:r,x:pe(this._orient)?t+a:(this._size.width-r)/2,y:pe(this._orient)?(this._size.height-r)/2:t+a},t+a+r}),o+r)}_updateSliderAttrs=()=>{let t;i.isValidNumber(this._handlerStyle.size)?t=this._handlerStyle.size:this._handlerStyle.size&&this._handlerStyle.size.length&&(t=i.max(this._handlerStyle.size[0],this._handlerStyle.size[1]));const e={min:this._minIndex,max:this._maxIndex,value:this.attribute.dataIndex??0,railWidth:this._railStyle.width,railHeight:this._railStyle.height,railStyle:this._railStyle,trackStyle:this._trackStyle,handlerSize:i.isValidNumber(t)?t:void 0,handlerStyle:this._handlerStyle,dy:this.attribute.slider.dy,dx:this.attribute.slider.dx,slidable:!0,visible:!0,range:!1,handlerText:{visible:!1},startText:{visible:!1},endText:{visible:!1}};if(pe(this._orient)){const t=Math.max(0,this._layoutInfo.slider.size),i=this._railStyle.height??de[1];e.layout="horizontal",e.railHeight=i,e.railWidth=t,e.x=this._layoutInfo.slider.x,e.y=this._layoutInfo.slider.y}else{const t=Math.max(0,this._layoutInfo.slider.size),i=this._railStyle.width??de[1];e.layout="vertical",e.railWidth=i,e.railHeight=t,e.x=this._layoutInfo.slider.x,e.y=this._layoutInfo.slider.y}return e};_initSlider=()=>{const t=this._updateSliderAttrs();this._slider=new qt(t),this.add(this._slider)};_updateControllerAttrs=()=>{const t={visible:!0,start:this._start,pause:this._pause,forward:this._forward,backward:this._backward};return pe(this._orient)?(t.layout="horizontal",t.start={style:{...t.start.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.pause={style:{...t.pause.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.backward={style:{...t.backward.style,x:this._layoutInfo.backward.x,y:this._layoutInfo.backward.y}},t.forward={style:{...t.forward.style,x:this._layoutInfo.forward.x,y:this._layoutInfo.forward.y}}):(t.layout="vertical",t.start={style:{...t.start.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.pause={style:{...t.pause.style,x:this._layoutInfo.start.x,y:this._layoutInfo.start.y}},t.backward={style:{...t.backward.style,x:this._layoutInfo.backward.x,y:this._layoutInfo.backward.y}},t.forward={style:{...t.forward.style,x:this._layoutInfo.forward.x,y:this._layoutInfo.forward.y}}),t};_initController=()=>{const t=this._updateControllerAttrs();this._controller=new le(t),this.add(this._controller)};render(){this._initLayoutInfo(),this.renderSlider(),this.renderController()}renderSlider(){const t=this._updateSliderAttrs();this._slider.setAttributes(t)}renderController(){const t=this._updateControllerAttrs();this._controller.setAttributes(t)}dispatchCustomEvent(t,i){const s=new e.CustomEvent(t,{eventType:t,index:i,value:this._data[i]});s.manager=this.stage?.eventSystem.manager,this.dispatchEvent(s)}}const ge={brushMode:"single",brushType:"rect",brushStyle:{fill:"#B0C8F9",fillOpacity:.2,stroke:"#B0C8F9",strokeWidth:2},brushMoved:!0,removeOnClick:!0,delayType:"throttle",delayTime:10,interactiveRange:{y1:-1/0,y2:1/0,x1:-1/0,x2:1/0}},me={debounce:i.debounce,throttle:i.throttle};class ye extends n{name="brush";static defaultAttributes=ge;_container;_activeDrawState=!1;_cacheDrawPoints=[];_activeMoveState=!1;_operatingMaskMoveDx=0;_operatingMaskMoveDy=0;_operatingMaskMoveRangeX=[-1/0,1/0];_operatingMaskMoveRangeY=[-1/0,1/0];_cacheMovePoint;_operatingMask;_brushMaskAABBBoundsDict={};_updateDragMaskCallback;constructor(t){super(i.merge({},ye.defaultAttributes,t))}bindBrushEvents(){const{delayType:t="throttle",delayTime:e=0}=this.attribute;this.stage.addEventListener("pointerdown",this._onBrushStart),this.stage.addEventListener("pointermove",me[t](this._onBrushing,e)),this.stage.addEventListener("pointerup",this._onBrushEnd),this.stage.addEventListener("pointerupoutside",this._onBrushEnd)}_isPosInBrushMask(t){const e=this.eventPosToStagePos(t),s=this._container.getChildren();for(let t=0;t<s.length;t++){const{points:a=[],dx:n=0,dy:r=0}=s[t].attribute,l=a.map((t=>({x:t.x+n,y:t.y+r})));if(i.polygonContainPoint(l,e.x,e.y))return this._operatingMask=s[t],!0}return!1}_onBrushStart=t=>{if(this._outOfInteractiveRange(t))return;const e=this.attribute?.brushMoved??!0;this._activeMoveState=e&&this._isPosInBrushMask(t),this._activeDrawState=!this._activeMoveState,this._activeDrawState&&this._initDraw(t),this._activeMoveState&&this._initMove(t)};_onBrushing=t=>{this._outOfInteractiveRange(t)||(this._activeDrawState&&this._drawing(t),this._activeMoveState&&this._moving(t))};_onBrushEnd=t=>{this._outOfInteractiveRange(t)||(this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:this._activeDrawState?"brushEnd":"brushMaskUp",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict}),this._activeDrawState=!1,this._activeMoveState=!1,this._operatingMask.setAttribute("pickable",!1))};_initDraw(t){const{brushMode:e,removeOnClick:i}=this.attribute,s=this.eventPosToStagePos(t);this._cacheDrawPoints=[s],this._operatingMask||this._addBrushMask(),"single"===e&&i?(this._container.incrementalClearChild(),this._addBrushMask()):"multiple"===e&&this._addBrushMask(),this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushStart",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_initMove(t){this._cacheMovePoint=this.eventPosToStagePos(t),this._operatingMaskMoveDx=this._operatingMask.attribute.dx??0,this._operatingMaskMoveDy=this._operatingMask.attribute.dy??0;const{interactiveRange:e}=this.attribute,{minY:i=-1/0,maxY:s=1/0,minX:a=-1/0,maxX:n=1/0}=e,{x1:r,x2:l,y1:o,y2:d}=this._operatingMask.globalAABBBounds,h=a-r,c=n-l,u=i-o,_=s-d;this._operatingMaskMoveRangeX=[h,c],this._operatingMaskMoveRangeY=[u,_],this._operatingMask.setAttribute("pickable",!0),this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushMaskDown",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_drawing(t){const e=this.eventPosToStagePos(t);if(this._cacheDrawPoints.length>0){const t=this._cacheDrawPoints[this._cacheDrawPoints.length-1];if(e.x===t?.x&&e.y===t?.y)return}this._cacheDrawPoints.push(e);const i=this._computeMaskPoints();this._operatingMask.setAttribute("points",i),this._brushMaskAABBBoundsDict[this._operatingMask.name]=this._operatingMask.AABBBounds,this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushing",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_moving(t){const e=this._cacheMovePoint,i=this.eventPosToStagePos(t);if(i.x===e?.x&&i.y===e?.y)return;const s=i.x-e.x,a=i.y-e.y,n=Math.min(this._operatingMaskMoveRangeX[1],Math.max(this._operatingMaskMoveRangeX[0],s))+this._operatingMaskMoveDx,r=Math.min(this._operatingMaskMoveRangeY[1],Math.max(this._operatingMaskMoveRangeY[0],a))+this._operatingMaskMoveDy;this._operatingMask.setAttributes({dx:n,dy:r}),this._brushMaskAABBBoundsDict[this._operatingMask.name]=this._operatingMask.AABBBounds,this._updateDragMaskCallback&&this._updateDragMaskCallback({operateType:"brushMaskMove",operateMask:this._operatingMask,operatedMaskAABBBounds:this._brushMaskAABBBoundsDict})}_computeMaskPoints(){const{brushType:t,xRange:e=[0,0],yRange:s=[0,0]}=this.attribute;let a=[];const n=this._cacheDrawPoints[0],r=this._cacheDrawPoints[this._cacheDrawPoints.length-1];return a="rect"===t?[n,{x:r.x,y:n.y},r,{x:n.x,y:r.y}]:"x"===t?[{x:n.x,y:s[0]},{x:r.x,y:s[0]},{x:r.x,y:s[1]},{x:n.x,y:s[1]}]:"y"===t?[{x:e[0],y:n.y},{x:e[0],y:r.y},{x:e[1],y:r.y},{x:e[1],y:n.y}]:i.cloneDeep(this._cacheDrawPoints),a}_addBrushMask(){const{brushStyle:t}=this.attribute,s=e.createPolygon({points:i.cloneDeep(this._cacheDrawPoints),cursor:"move",pickable:!1,...t});s.name=`brush-${Date.now()}`,this._operatingMask=s,this._container.add(s),this._brushMaskAABBBoundsDict[s.name]=s.AABBBounds}_outOfInteractiveRange(t){const{interactiveRange:e}=this.attribute,{minY:i=-1/0,maxY:s=1/0,minX:a=-1/0,maxX:n=1/0}=e,r=this.eventPosToStagePos(t);return r.x>n||r.x<a||r.y>s||r.y<i}eventPosToStagePos(t){const e=this.stage?.window.getBoundingClientRect();return{x:t.clientX-(e?.left||0)-(this.stage?.x||0),y:t.clientY-(e?.top||0)-(this.stage?.y||0)}}render(){this.bindBrushEvents();const t=this.createOrUpdateChild("brush-container",{},"group");this._container=t}setUpdateDragMaskCallback(t){i.isFunction(t)&&(this._updateDragMaskCallback=t)}}const xe=(t,...e)=>{const s=[t.shape,...e.map((t=>t?.shape))],a=[t.key,...e.map((t=>t?.key))],n=[t.value,...e.map((t=>t?.value))];return i.merge(t,...e,{shape:s.every(i.isNil)?void 0:i.merge({},...s),key:a.every(i.isNil)?void 0:i.merge({},...a),value:n.every(i.isNil)?void 0:i.merge({},...n)})},ve={panel:{visible:!0,borderRadius:[3,3,3,3],fill:"white",shadow:!0,shadowBlur:12,shadowColor:"rgba(0, 0, 0, 0.1)",shadowOffsetX:0,shadowOffsetY:4,shadowSpread:0,stroke:"white"},titleStyle:{value:{fill:"#4E5969",fontFamily:f,fontSize:14,lineHeight:18,textAlign:"left",textBaseline:"middle"},spaceRow:6},contentStyle:{shape:{fill:"black",size:8,symbolType:"circle",spacing:6},key:{fill:"#4E5969",fontFamily:f,fontSize:12,lineHeight:18,textAlign:"left",textBaseline:"middle",spacing:26},value:{fill:"#4E5969",fontFamily:f,fontSize:12,lineHeight:18,textAlign:"right",textBaseline:"middle",spacing:0},spaceRow:6},padding:10,positionX:"right",positionY:"bottom",offsetX:10,offsetY:10,parentBounds:(new i.AABBBounds).setValue(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),autoCalculatePosition:!0,autoMeasure:!0,pickable:!1,childrenPickable:!1,zIndex:500},fe=["pointerX","pointerY","offsetX","offsetY","positionX","positionY","parentBounds"],Ae="tooltip-title",Se="tooltip-content",Ee="shape",ke="value";class Me extends n{name="tooltip";_tooltipPanel;_tooltipTitleContainer;_tooltipTitleSymbol;_tooltipTitle;_tooltipContent;static defaultAttributes=ve;constructor(t){super(i.merge({},Me.defaultAttributes,t))}render(){const{visible:t,content:e,panel:s,keyWidth:a,valueWidth:n,hasContentShape:r,autoCalculatePosition:l,autoMeasure:d}=this.attribute;if(!t)return void this.hideAll();d&&Me.measureTooltip(this.attribute),l&&Me.calculateTooltipPosition(this.attribute);const h=i.normalizePadding(this.attribute.padding);this._tooltipPanel=this.createOrUpdateChild("tooltip-background",{visible:!0,...s},"rect"),this._tooltipTitleContainer=this.createOrUpdateChild(Ae,{visible:!0,x:h[3],y:h[0]},"group");const c=Me.getTitleAttr(this.attribute);this._tooltipTitleSymbol=this._tooltipTitleContainer.createOrUpdateChild(`${Ae}-${Ee}`,i.merge({symbolType:"circle"},c.shape,{visible:o(c)&&o(c.shape)}),"symbol");const u=o(c.shape)?c.shape.size+c.shape.spacing:0;this._tooltipTitle=this._tooltipTitleContainer.createOrUpdateChild(`${Ae}-${ke}`,i.merge({text:""},c.value,{visible:o(c)&&o(c.value)}),"text");const{textAlign:_,textBaseline:p}=c.value,b=s.width-h[3]-h[0]-u;"center"===_?this._tooltipTitle.setAttribute("x",u+b/2):"right"===_||"end"===_?this._tooltipTitle.setAttribute("x",u+b):this._tooltipTitle.setAttribute("x",u),"bottom"===p?this._tooltipTitle.setAttribute("y",c.height):"middle"===p?this._tooltipTitle.setAttribute("y",c.height/2):this._tooltipTitle.setAttribute("y",0);const g=o(c)?c.height+c.spaceRow:0;if(this._tooltipContent=this.createOrUpdateChild(Se,{visible:!0},"group"),this._tooltipContent.removeAllChild(),e?.length){this._tooltipContent.setAttribute("x",h[3]),this._tooltipContent.setAttribute("y",h[0]+g);let t=0;e.forEach(((e,s)=>{const l=Me.getContentAttr(this.attribute,s);if(!o(l))return;const d=`${Se}-${s}`,h=this._tooltipContent.createOrUpdateChild(d,{visible:!0,x:0,y:t},"group");let c=0;if(o(l.shape)){h.createOrUpdateChild(`${d}-${Ee}`,{visible:!0,...l.shape},"symbol").setAttribute("y",l.height/2)}if(r&&(c+=l.shape.size+l.shape.spacing),o(l.key)){const t=h.createOrUpdateChild(`${d}-key`,{visible:!0,...l.key},"text"),{textAlign:e}=l.key;"center"===e?t.setAttribute("x",c+a/2):"right"===e||"end"===e?t.setAttribute("x",c+a):t.setAttribute("x",c),t.setAttribute("y",l.height/2),c+=a+l.key.spacing}if(o(l.value)){const t=h.createOrUpdateChild(`${d}-${ke}`,{visible:!0,...l.value},"text");let e="right";i.isValid(l.value.textAlign)?e=l.value.textAlign:o(l.key)||(e="left"),t.setAttribute("textAlign",e),"center"===e?t.setAttribute("x",c+n/2):"right"===e||"end"===e?t.setAttribute("x",c+n):t.setAttribute("x",c),c+=n,t.setAttribute("y",l.height/2),h.add(t)}t+=l.height+l.spaceRow}))}}setAttributes(t,e){const s=Object.keys(t);this.attribute.autoCalculatePosition&&s.every((t=>fe.includes(t)))?(this._mergeAttributes(t,s),i.isNil(this.attribute.panel.width)&&this.attribute.autoMeasure&&Me.measureTooltip(this.attribute),Me.calculateTooltipPosition(this.attribute),super.setAttributes({x:this.attribute.x,y:this.attribute.y},e)):super.setAttributes(t,e)}static calculateTooltipPosition(t){const{width:e=0,height:i=0}=t.panel,{offsetX:s,offsetY:a,pointerX:n,pointerY:r,positionX:l,positionY:o,parentBounds:d}=t;let h=n,c=r;return"left"===l?h-=e+s:"center"===l?h-=e/2:h+=s,"top"===o?c-=i+a:"middle"===o?c-=i/2:c+=a,h+e>d.x2&&(h-=e+s),c+i>d.y2&&(c-=i+a),h<d.x1&&(h=d.x1),c<d.y1&&(c=d.y1),t.x=h,t.y=c,t}static measureTooltip(t){const{content:s,contentStyle:a}=t,n=i.normalizePadding(t.padding),r=Me.getTitleAttr(t);let l=0,d=n[0]+n[2],h=0;const{value:c,shape:u}=r,{visible:_=!1,symbolType:p=""}=u??{};if(i.isValid(c)){const{width:t,height:e}=E(c).quickMeasure(c.text);l=t,h=e}if(_&&e.builtinSymbolsMap[p]&&(l+=u.size+u.spacing,h=Math.max(u.size,h)),t.title.width=l,t.title.height=h,o(r)&&(d+=h+r.spaceRow),s?.length){const i=[];if(s.forEach(((e,s)=>{const a=Me.getContentAttr(t,s);(e.key||e.value)&&o(a)&&i.push([e,a])})),i.length){let n=!1;const r=[],h=[],c=[];i.forEach((([t,s],l)=>{const{key:u,value:_,shape:p,spaceRow:b}=s,g=o(p),m=p?.symbolType??"",y=E(u),x=E(_);let v=0;if(o(u)){const{width:t,height:e}=y.quickMeasure(u.text);h.push(t),v=Math.max(v,e)}if(o(_)){const{width:t,height:e}=x.quickMeasure(_.text);c.push(t),v=Math.max(v,e)}g&&e.builtinSymbolsMap[m]&&(n=!0,r.push(p.size),v=Math.max(p.size,v)),t.height=v,d+=v,l<i.length-1&&(d+=b??a.spaceRow)}));const u=r.length?Math.max(...r):0,_=h.length?Math.max(...h):0,p=c.length?Math.max(...c):0;l=Math.max(_+p+a.key.spacing+a.value.spacing+(n?u+a.shape.spacing:0),l),s.forEach((t=>{t.width=l})),t.hasContentShape=n,t.keyWidth=_,t.valueWidth=p}}return t.panel.width=l+n[1]+n[3],t.panel.height=d,t}static getTitleAttr(t){return xe({},Me.defaultAttributes.titleStyle,Me.defaultAttributes.title,t.titleStyle,t.title)}static getContentAttr(t,e){return xe({},Me.defaultAttributes.contentStyle,t.contentStyle,t.content[e])}}t.AbstractComponent=n,t.BasePlayer=be,t.Brush=ye,t.CircleAxis=pt,t.CircleCrosshair=T,t.ColorContinuousLegend=jt,t.ContinuousPlayer=class extends be{_dataIndex;_activeIndex;_alternate;_interval;_totalDuration;_isPlaying=!1;_startTime=Date.now();_elapsed;_rafId;constructor(t){super(t),this._initAttributes(),this._initEvents()}_initAttributes=()=>{super._initAttributes(),this._maxIndex=this._data.length,this._slider.setAttribute("max",this._maxIndex),this._isPlaying=!1,this._elapsed=0,this._interval=this.attribute.interval??1e3,this._dataIndex=this.attribute.dataIndex??this._minIndex;const t=this._data.length;this.attribute.totalDuration&&this._data.length?(this._totalDuration=this.attribute.totalDuration,this._interval=this._totalDuration/(t??1)):(this._totalDuration=this._interval*t,this._interval=this.attribute.interval)};_initEvents=()=>{this._controller.addEventListener(ne.OnPlay,(t=>{t.stopPropagation(),this.play()})),this._controller.addEventListener(ne.OnPause,(t=>{t.stopPropagation(),this.pause()})),this._controller.addEventListener(ne.OnForward,(t=>{t.stopPropagation(),this.forward()})),this._controller.addEventListener(ne.OnBackward,(t=>{t.stopPropagation(),this.backward()})),this._slider.addEventListener("change",(t=>{t.stopPropagation();const e=t.detail?.value,i=e/this._maxIndex;this._elapsed=i*this._totalDuration,this._startTime=Date.now()-this._elapsed,this._dispatchChange(e)}))};_getSliderValue=()=>{const t=this._elapsed/this._totalDuration;return Math.min(t*this._maxIndex,this._maxIndex)};_updateSlider=()=>{const t=this._getSliderValue();this._dataIndex=Math.floor(t),this._slider.setValue(Math.min(t,this._maxIndex)),this._dispatchChange(Math.floor(t))};_dispatchChange=e=>{const i=Math.floor(e);i!==this._activeIndex&&(this._dataIndex=i,this._activeIndex=i,i!==this._maxIndex&&this.dispatchCustomEvent(t.PlayerEventEnum.OnChange))};dispatchCustomEvent(t){super.dispatchCustomEvent(t,this._dataIndex)}play=async()=>{this._isPlaying||(this._controller.togglePause(),this._isPlaying=!0,this._elapsed>=this._totalDuration&&(this._elapsed=0),this._startTime=Date.now()-this._elapsed,this.dispatchCustomEvent(t.PlayerEventEnum.OnPlay),this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this)))};_play=()=>{this._elapsed=Date.now()-this._startTime;const t=this._getSliderValue();this._updateSlider(),t>=this._maxIndex?this._playEnd():this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this))};_playEnd=()=>{this._isPlaying=!1,e.global.getCancelAnimationFrame()(this._rafId),this._controller.togglePlay(),this.dispatchCustomEvent(t.PlayerEventEnum.OnEnd)};pause=()=>{this._isPlaying&&(this._isPlaying=!1,this._elapsed=Date.now()-this._startTime,e.global.getCancelAnimationFrame()(this._rafId),this._controller.togglePlay(),this.dispatchCustomEvent(t.PlayerEventEnum.OnPause))};backward=()=>{const e=Date.now(),i=1*this._interval,s=this._elapsed-i;s<=0?(this._elapsed=0,this._startTime=e):(this._elapsed=s,this._startTime=this._startTime+this._interval),this._updateSlider(),this.dispatchCustomEvent(t.PlayerEventEnum.OnBackward)};forward=()=>{const e=Date.now(),i=1*this._interval,s=this._elapsed+i;s>=this._totalDuration?(this._startTime=e-this._totalDuration,this._elapsed=this._totalDuration):(this._startTime=this._startTime-i,this._elapsed=s),this._updateSlider(),this.dispatchCustomEvent(t.PlayerEventEnum.OnForward)};render(){super.render()}},t.DEFAULT_ITEM_SPACE_COL=Vt,t.DEFAULT_ITEM_SPACE_ROW=Dt,t.DEFAULT_LABEL_SPACE=8,t.DEFAULT_PAGER_SPACE=Rt,t.DEFAULT_SHAPE_SIZE=10,t.DEFAULT_SHAPE_SPACE=8,t.DEFAULT_STATES=ht,t.DEFAULT_TITLE_SPACE=Nt,t.DEFAULT_VALUE_SPACE=8,t.DataLabel=it,t.DataZoom=vt,t.DiscreteLegend=Gt,t.DiscretePlayer=class extends be{_dataIndex;_activeIndex=-1;_alternate;_interval;_isPlaying;_direction;_tickTime;_rafId;_isReachEnd=!1;constructor(t){super(i.merge({},t)),this._initAttributes(),this._initEvents()}setAttributes(t,e){super.setAttributes(t,e),this._initAttributes()}_initAttributes=()=>{super._initAttributes(),this._alternate=this.attribute.alternate??!1,this._interval=this.attribute.interval??1e3,this._direction=this.attribute.direction??t.DirectionEnum.Default,this._dataIndex=i.isNil(this.attribute.dataIndex)?"default"===this._direction?this._minIndex:this._maxIndex:this.attribute.dataIndex??0,this._slider.setAttribute("value",this._dataIndex)};_initEvents=()=>{this._controller.addEventListener(ne.OnPlay,(t=>{t.stopPropagation(),this.play()})),this._controller.addEventListener(ne.OnPause,(t=>{t.stopPropagation(),this.pause()})),this._controller.addEventListener(ne.OnForward,(t=>{t.stopPropagation(),this.forward()})),this._controller.addEventListener(ne.OnBackward,(t=>{t.stopPropagation(),this.backward()})),this._slider.addEventListener("change",(e=>{const i=Math.floor(e.detail.value)+.5;this._dataIndex=e.detail.value>=i?Math.ceil(e.detail.value):Math.floor(e.detail.value),this._slider.setValue(this._dataIndex),this.dispatchCustomEvent(t.PlayerEventEnum.OnChange)}))};dispatchCustomEvent(t){super.dispatchCustomEvent(t,this._dataIndex)}play=()=>{this._isPlaying||1!==this._data.length&&(this._controller.togglePause(),this._isPlaying=!0,(ue({dataIndex:this._dataIndex,maxIndex:this._maxIndex,minIndex:this._minIndex,direction:this._direction})||_e({dataIndex:this._dataIndex,maxIndex:this._maxIndex,minIndex:this._minIndex,direction:this._direction}))&&(this._direction===t.DirectionEnum.Default?this._updateDataIndex(this._minIndex):this._updateDataIndex(this._maxIndex)),this.dispatchCustomEvent(t.PlayerEventEnum.OnPlay),this._isReachEnd=!1,this._tickTime=Date.now(),this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this,!0)))};_play=i=>{const s=Date.now();if(this._isReachEnd&&s-this._tickTime>=this._interval)return this._isReachEnd=!1,void this._playEnd();i&&this._activeIndex!==this._dataIndex?(this.dispatchCustomEvent(t.PlayerEventEnum.OnChange),this._activeIndex=this._dataIndex):s-this._tickTime>=this._interval&&(this._tickTime=s,this._updateDataIndex(((t,e,i,s)=>"default"===t?Math.min(e+1,s):Math.max(e-1,i))(this._direction,this._dataIndex,this._minIndex,this._maxIndex)),this._activeIndex=this._dataIndex,this.dispatchCustomEvent(t.PlayerEventEnum.OnChange)),("default"===this._direction&&this._dataIndex>=this._maxIndex||"reverse"===this._direction&&this._dataIndex<=this._minIndex)&&(this._isReachEnd=!0),this._rafId=e.global.getRequestAnimationFrame()(this._play.bind(this,!1))};_updateDataIndex=t=>{this._dataIndex=t,this._slider.setValue(this._dataIndex)};_playEnd=()=>{this._isPlaying=!1,this._controller.togglePlay(),e.global.getCancelAnimationFrame()(this._rafId),this._activeIndex=-1,this.dispatchCustomEvent(t.PlayerEventEnum.OnEnd)};pause=()=>{this._isPlaying&&(this._isPlaying=!1,e.global.getCancelAnimationFrame()(this._rafId),this._controller.togglePlay(),this.dispatchCustomEvent(t.PlayerEventEnum.OnPause))};backward=()=>{const e=Math.max(this._dataIndex-1,this._minIndex);this._updateDataIndex(e),this.dispatchCustomEvent(t.PlayerEventEnum.OnChange),this.dispatchCustomEvent(t.PlayerEventEnum.OnBackward)};forward=()=>{const e=Math.min(this._dataIndex+1,this._maxIndex);this._updateDataIndex(e),this.dispatchCustomEvent(t.PlayerEventEnum.OnChange),this.dispatchCustomEvent(t.PlayerEventEnum.OnForward)}},t.Grid=rt,t.GroupFadeIn=gt,t.GroupFadeOut=mt,t.GroupTransition=bt,t.Indicator=class extends n{name="indicator";_title;_content;render(){const{visible:t,title:e,content:s,size:a,limitRatio:n=1/0}=this.attribute,r=Math.min(a.width,a.height)*n,l=this.createOrUpdateChild("indicator-container",{x:0,y:0,zIndex:1},"group");if(!0!==t)return void(l&&l.hideAll());if(i.isValid(e))if(!1!==e.visible){const t=i.merge({},i.get(te,"title.style"),e.style);this._title=l.createOrUpdateChild("indicator-title",{...t,lineHeight:i.isValid(t.lineHeight)?t.lineHeight:t.fontSize,visible:e.visible,x:0,y:0},"text"),e.autoFit&&i.isValidNumber(r)&&this._setAutoFit(r,this._title,e),e.autoLimit&&i.isValidNumber(n)&&this._title.setAttribute("maxLineWidth",r)}else{const t=l.find((t=>"indicator-title"===t.name),!1);t&&l.removeChild(t),this._title=void 0}const o=this._title?this._title.AABBBounds.height():0;if(i.isValid(s)){const t=this._title&&e?.space?e.space:0,a=i.array(s),d=[];let h=0;a.forEach(((e,s)=>{if(!1!==e.visible){const a=i.merge({},i.get(te,"content.style"),e.style),c=l.createOrUpdateChild("indicator-content-"+s,{...a,lineHeight:i.isValid(a.lineHeight)?a.lineHeight:a.fontSize,visible:e.visible,x:0,y:o+t+h},"text");e.autoFit&&i.isValidNumber(r)&&this._setAutoFit(r,c,e),e.autoLimit&&i.isValidNumber(n)&&c.setAttribute("maxLineWidth",r),d.push(c);const u=e?.space?e.space:0;h+=c.AABBBounds.height()+u}else{const t=l.find((t=>t.name==="indicator-content-"+s),!1);t&&l.removeChild(t)}})),this._content=d}const d=l?.AABBBounds.height()??0;l.setAttribute("y",a.height/2-d/2),l.setAttribute("x",a.width/2)}_setAutoFit(t,e,s){const a=k(s.style?.text??"",s.style??{}).width;if(a>0){const n=t*(s.fitPercent??.5)/a,r=Math.floor((s.style?.fontSize??20)*n);e.setAttribute("fontSize",r),e.setAttribute("lineHeight",i.isValid(s.style.lineHeight)?s.style.lineHeight:r)}}},t.LabelBase=J,t.LineAxis=_t,t.LineCrosshair=L,t.LineLabel=tt,t.LinkPath=se,t.MarkArea=Pt,t.MarkLine=Ct,t.MarkPoint=It,t.Pager=zt,t.PolygonCrosshair=P,t.RectCrosshair=B,t.RectLabel=Q,t.ScrollBar=r,t.SectorCrosshair=C,t.Segment=lt,t.SizeContinuousLegend=Kt,t.Slider=qt,t.SymbolLabel=K,t.Tag=M,t.Title=Qt,t.Tooltip=Me,t.getHorizontalPath=ee,t.getSizeHandlerPath=Jt,t.getVerticalPath=ie,t.version="0.10.1"}));