evui 3.6.3 → 3.6.4
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 +10 -10
- package/dist/index.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/index.umd.cjs
CHANGED
|
@@ -14,4 +14,4 @@ Component that was made reactive: `,e=fe(e)),function(c,d=null,h=null,u=0,f=null
|
|
|
14
14
|
8.705L5.41508 8L7.00008 9.585Z" fill="#D8D8D8" fill-opacity="0.09"></path><path d="M7.00008 3.915L8.58508 5.5L9.29008 4.795L7.00008 2.5L4.70508
|
|
15
15
|
4.795L5.41508 5.5L7.00008 3.915Z" fill="#DEE2E6"></path></svg>`,1)])])):i.createCommentVNode("",!0)}const wr=le(b0,[["render",k0]]),M0={name:"GridOptionButton"},I0={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function E0(e,t,n,o,s,l){return i.openBlock(),i.createElementBlock("svg",I0,[...t[0]||(t[0]=[i.createElementVNode("circle",{cx:"6.49805",cy:"11.998",r:"1.5",transform:"rotate(-90 6.49805 11.998)",fill:"#ADB5BD"},null,-1),i.createElementVNode("circle",{cx:"11.998",cy:"11.998",r:"1.5",transform:"rotate(-90 11.998 11.998)",fill:"#ADB5BD"},null,-1),i.createElementVNode("path",{d:`M17.498 10.498C18.3265 10.498 18.998 11.1696 18.998 11.998C18.998
|
|
16
16
|
12.8265 18.3265 13.498 17.498 13.498C16.6696 13.498 15.998 12.8265
|
|
17
|
-
15.998 11.998C15.998 11.1696 16.6696 10.498 17.498 10.498Z`,fill:"#ADB5BD"},null,-1)])])}const Ns=le(M0,[["render",E0]]),Mt=0,mn=1,de=2,to=3,Vs=4,v0=()=>{const{props:e}=i.getCurrentInstance();return{isRenderer:(a={})=>{var r;return!!((r=a==null?void 0:a.render)!=null&&r.use)},getComponentName:(a="")=>{const r=h=>h.charAt(0).toUpperCase()+h.slice(1),c="Renderer";let d="";if(a.indexOf("_")!==-1){const h=a.split("_");for(let u=0;u<h.length;u++)d+=r(h[u])}else d=r(a);return d+c},getConvertValue:(a,r)=>{let c=a.type==="number"||a.type==="float"?Number(r):r;return a.type==="number"?(c=$t(r),c=c===!1?r:c):a.type==="float"&&(c=c.toFixed(a.decimal??3).replace(/\B(?=(\d{3})+(?!\d))/g,",")),c},getColumnIndex:a=>e.columns.findIndex(r=>r.field===a),setPixelUnit:a=>{let r=a;const c=r.toString().indexOf("px")>=0,d=r.toString().indexOf("%")>=0;return!c&&!d&&(r=`${r}px`),r}}},li=e=>{var o;const t=((o=e.movedColumns)!=null&&o.length?e.movedColumns:e.originColumns)??[],n=new Map((e.filteredColumns??[]).map(s=>[s.index,s]));return t.map(s=>{const l=n.get(s.index)??{};return{...s,...l}})},T0=e=>{const{scrollInfo:t,stores:n,elementInfo:o,resizeInfo:s,pageInfo:l,summaryScroll:a,getPagingData:r,updatePagingInfo:c,expandedInfo:d}=e,h=p=>{var y,M;const m=o.body,x=s.rowHeight,b=d.detailRowHeight??0;if(m){let E=n.store;l.isClientPaging&&(E=r());const I=((y=d.expandedRows)==null?void 0:y.length)??0,T=((M=d.expandedRows)==null?void 0:M.map(v=>E.findIndex(N=>N[de]===v)))??[],V=E.length*x+I*b;let C=0,S=0;if(I)for(C=0;S+x<m.scrollTop;C++)T.includes(C)&&(S+=b),S+=x;else C=Math.floor(m.scrollTop/x),S=Math.max(C,0)*x;C>E.length-1&&(C=0);let k=0,w=0;if(I)for(let v=C;w<=m.clientHeight;v++)T.includes(v)&&(w+=b),w+=x,k+=1;else k=m.clientHeight>x?Math.ceil(m.clientHeight/x):E.length,w=k*x;const B=C+k+1,D=Math.max(C,0),L=B,R=o.table;n.viewStore=E.slice(D,L),t.hasVerticalScrollBar=k<E.length||m.clientHeight<R.clientHeight,t.vScrollTopHeight=S,t.vScrollBottomHeight=V-w-t.vScrollTopHeight,p&&l.isInfinite&&t.vScrollBottomHeight===0&&(l.prevPage=l.currentPage,l.currentPage=Math.ceil(L/l.perPage)+1,l.startIndex=L,c({onScrollEnd:!0}))}},u=p=>{if(d.useRowDetail&&!d.detailRowHeight){let m=n.store;l.isClientPaging&&(m=r()),n.viewStore=[...m],t.vScrollTopHeight=0,t.vScrollBottomHeight=0}else h(p)},f=()=>{const p=o.header,m=o.body,x=o.table;p.scrollLeft=m.scrollLeft,a.value=m.scrollLeft,t.hasHorizontalScrollBar=m.clientWidth<x.clientWidth};return{updateVScroll:u,updateHScroll:f,onScroll:()=>{const p=o.body,m=p.scrollTop,x=p.scrollLeft,b=t.lastScroll.top,y=t.lastScroll.left,M=x!==y;m!==b&&(p!=null&&p.clientHeight)&&u(!0),M&&f(),t.lastScroll.top=m,t.lastScroll.left=x}}},B0=e=>{const{props:t,emit:n}=i.getCurrentInstance(),{resizeInfo:o,elementInfo:s,checkInfo:l,expandedInfo:a,stores:r,isRenderer:c,updateVScroll:d,updateHScroll:h,contextInfo:u}=e,f=()=>{var y;let x=o.columnWidth,b=0;if(o.adjust){const M=s.body;let E=M.offsetWidth;const I=M.offsetHeight,T=((y=M.querySelector("tr"))==null?void 0:y.offsetHeight)||o.rowHeight,V=E-M.clientWidth,C=r.orderedColumns.reduce((S,k)=>(k.hide||k.hiddenDisplay||(k.width?S.totalWidth+=k.width:S.emptyCount++),S),{totalWidth:u.customContextMenu.length?30:0,emptyCount:0});if(T*t.rows.length>I&&(E-=V),l.useCheckbox.use&&(E-=o.minWidth),a.useRowDetail&&(E-=o.minWidth),x=E-C.totalWidth,x>0){const S=C.emptyCount===0?0:Math.floor(x/C.emptyCount);b=x-S*C.emptyCount,x=C.emptyCount!==0?S:x}else x=o.columnWidth;x=x<o.minWidth?o.minWidth:x,o.columnWidth=x}if(r.orderedColumns.forEach(M=>{const E=c(M)?o.rendererMinWidth:o.minWidth;M.width&&M.width<E&&(M.width=E),!M.width&&!M.hide&&(M.width=x)}),b&&r.orderedColumns.length){let M=r.orderedColumns.length-1,E=r.orderedColumns[M];for(;M>0&&E&&(E.hide||E.hiddenDisplay);)M-=1,E=r.orderedColumns[M];E&&(E.width+=b)}},g=()=>{const x=new Map(t.columns.map(b=>[b.field,b.width]));i.nextTick(()=>{var b,y;o.adjust&&r.orderedColumns.forEach(M=>{const E=M;return E.resized||(E.width=x.get(E.field)??0),E},void 0),f(),(b=s.body)!=null&&b.clientHeight&&d(),(y=s.body)!=null&&y.clientWidth&&h()})};return{calculatedColumn:f,onResize:g,onShow:x=>{x&&g()},onColumnResize:(x,b)=>{b.preventDefault();const y=s.header,M=s.body,E=y.getBoundingClientRect().left,I=y.querySelector(`li[data-index="${x}"]`),T=c(r.orderedColumns[x])?o.rendererMinWidth:o.minWidth,V=I.getBoundingClientRect(),C=s.resizeLine,S=V.left-E+T,k=V.right-E,w=b.clientX,B=V.left-E;M.style.overflow="auto",C.style.left=`${k}px`,o.showResizeLine=!0;const D=R=>{const v=R.clientX-w,N=k+v,O=Math.max(S,N);C.style.left=`${O}px`},L=()=>{const v=parseInt(C.style.left,10)-B;r.orderedColumns[x]&&(r.orderedColumns[x].width=v,r.orderedColumns[x].resized=!0),o.showResizeLine=!1,document.removeEventListener("mousemove",D),g();const N=li(r);n("resize-column",{column:r.orderedColumns[x],columns:N}),n("change-column-info",{type:"resize",columns:N})};document.addEventListener("mousemove",D),document.addEventListener("mouseup",L,{once:!0})}}},D0=e=>{const{emit:t}=i.getCurrentInstance(),{selectInfo:n,stores:o}=e,s=(d,h)=>{var g;const u=(g=d.target.tagName)==null?void 0:g.toLowerCase();let f={};return u==="td"?f=d.target.dataset:f=d.target.parentNode.dataset,{event:d,rowData:h[de],rowIndex:h[Mt],cellName:f.name,cellIndex:f.index}};let l=null,a=-1;return{onRowClick:(d,h,u)=>{var p,m,x;if((p=d.target.parentElement.classList)!=null&&p.contains("row-checkbox-input"))return!1;const f=!!((x=(m=d.target.closest("td"))==null?void 0:m.classList)!=null&&x.contains("row-contextmenu")),g=(b,y,M)=>{if(b==="shift"){const E=h[Mt];if(a>-1)for(let I=Math.min(E,a);I<=Math.max(E,a);I++)if(!y)o.originStore[I][to]=!0,a!==I&&n.selectedRow.push(o.originStore[I][de]);else{o.originStore[I][to]=!1;const T=n.selectedRow.indexOf(o.originStore[I][de]);T>-1&&n.selectedRow.splice(T,1)}}else b==="ctrl"&&(y?n.selectedRow.splice(n.selectedRow.indexOf(h[de]),1):n.selectedRow.push(M))};return l&&clearTimeout(l),l=setTimeout(()=>{if(n.useSelect){const b=h[de],y=h[to];h[to]=!h[to];let M="";d.shiftKey?M="shift":d.ctrlKey&&(M="ctrl"),n.multiple&&M?g(M,y,b):u||f?(n.selectedRow=[...n.selectedRow],n.selectedRow.includes(b)||(n.selectedRow=[b])):y?n.selectedRow=[]:n.selectedRow=[b],a=h[Mt],t("update:selected",n.selectedRow),t("click-row",s(d,h))}},100),!0},onRowDblClick:(d,h)=>{l&&clearTimeout(l),t("dblclick-row",s(d,h))}}},L0=e=>{const{checkInfo:t,stores:n,pageInfo:o,getPagingData:s}=e,{props:l,emit:a}=i.getCurrentInstance(),r=h=>{const u=n.originStore.findIndex(f=>f[de]===h[de]);u!==-1&&(n.originStore[u][mn]=h[mn])};return{onCheck:(h,u)=>{if(t.useCheckbox.mode==="single"&&t.prevCheckedRow.length&&(t.prevCheckedRow=[],r(t.prevCheckedRow)),u[mn]){t.useCheckbox.mode==="single"?t.checkedRows=[u[de]]:t.checkedRows.push(u[de]);let f=n.store;o.isClientPaging&&(f=s());const g=f.filter(p=>!l.uncheckable.includes(p[de])).filter(p=>!l.disabledRows.includes(p[de])).every(p=>p[mn]);f.length&&g&&(t.isHeaderChecked=!0),t.isHeaderIndeterminate=f.length&&!g}else t.useCheckbox.mode==="single"?t.checkedRows=[]:t.checkedRows.splice(t.checkedRows.indexOf(u[de]),1),t.isHeaderChecked=!1,t.isHeaderIndeterminate=!!(n.store.length&&t.checkedRows.length);t.prevCheckedRow=u.slice(),a("update:checked",t.checkedRows),a("check-row",h,u[Mt],u[de])},onCheckAll:h=>{const u=t.isHeaderChecked;let f=n.store;o.isClientPaging&&(f=s()),f.forEach(g=>{const p=l.uncheckable.includes(g[de])||l.disabledRows.includes(g[de]);u?!t.checkedRows.includes(g[de])&&!p&&t.checkedRows.push(g[de]):t.checkedRows.splice(t.checkedRows.indexOf(g[de]),1),p||(g[mn]=u)}),t.isHeaderIndeterminate=!1,a("update:checked",t.checkedRows),a("check-all",h,t.checkedRows)}}},R0=e=>{const{expandedInfo:t}=e,{emit:n}=i.getCurrentInstance();return{onExpanded:(s,l)=>{const a=l[de],r=t.expandedRows.indexOf(a);r===-1?t.expandedRows.push(a):t.expandedRows.splice(r,1),l[Vs]=!l[Vs],n("update:expanded",t.expandedRows),n("expand-row",s,l[de],l[Vs],l[Mt])}}},O0=e=>{const{sortInfo:t,stores:n,updatePagingInfo:o}=e,{emit:s}=i.getCurrentInstance(),l=(m=!0)=>m?["asc","desc","init"]:["asc","desc"];function a(){this.orders=l(),this.dequeue=()=>this.orders.shift(),this.enqueue=m=>this.orders.push(m)}const r=(m,x="init")=>{n.orderedColumns.forEach(b=>{b.index===(m==null?void 0:m.index)&&x?b.sortOption={sortType:x}:b.sortOption={sortType:"init"}})},c=()=>{const m=n.originColumns.filter(x=>x.hiddenDisplay||x.hide);m.length&&m.forEach(x=>{x.sortOption={sortType:"init"}})},d=new a,h=(m,x=!0)=>{const{sortType:b}=(m==null?void 0:m.sortOption)||{};t.sortColumn=m,t.sortField=m==null?void 0:m.field,t.sortOrder=b,t.isSorting=!!b,x&&(r(m,b),s("change-column-info",{type:"sort",columns:li(n)}))},u=(m,x)=>{if(m.sortable===void 0?!0:m.sortable){t.sortColumn=m,t.sortField!==(m==null?void 0:m.field)&&(d.orders=l(),t.sortField=m==null?void 0:m.field),x&&(d.orders=l(),x==="desc"&&(t.sortOrder=d.dequeue(),d.enqueue(t.sortOrder))),t.sortOrder=d.dequeue(),d.enqueue(t.sortOrder),t.isSorting=!0,o({onSort:!0}),c(),r(m,t.sortOrder);const y=li(n);s("sort-column",{field:t.sortField,order:t.sortOrder,column:t.sortColumn,columns:y}),s("change-column-info",{type:"sort",columns:y})}},f=()=>{var k;const{field:m,index:x}=t.sortColumn||{},b=((k=t.sortFunction)==null?void 0:k[m])??null,y=(w,B)=>w>B?-1:1,M=(w,B)=>w<B?-1:1,E=(w,B)=>(w===null)-(B===null)||Number(B)-Number(w),I=(w,B)=>(w===null)-(B===null)||Number(w)-Number(B);if(t.sortOrder==="init"||!t.sortField&&!t.isSorting){n.store.sort((w,B)=>typeof w[Mt]=="number"?M(w[Mt],B[Mt]):0);return}const T=t.sortColumn.type||"string",V=t.sortOrder==="desc"?y:M,C=t.sortOrder==="desc"?E:I,S=(w,B)=>{var R,v;let D=w[de][x],L=B[de][x];return w[de][x]&&typeof w[de][x]=="object"&&(D=w[de][x][(R=n.originColumns[x])==null?void 0:R.field],L=B[de][x][(v=n.originColumns[x])==null?void 0:v.field]),{aCol:D,bCol:L}};if(b){n.store.sort((w,B)=>{const D=w[de][x],L=B[de][x],R=b(D,L);return t.sortOrder==="desc"?-R:R});return}switch(T){case"string":n.store.sort((w,B)=>{let{aCol:D,bCol:L}=S(w,B);if((!D||typeof D=="string")&&(!L||typeof L=="string")){D=D||"",L=L||"";const R=D.toLowerCase(),v=L.toLowerCase();if(D!==L&&R===v){const N=Array.from(D).findIndex((O,P)=>O!==L[P]);return V(D[N],L[N])}return V(R,v)}return 0});break;case"stringNumber":n.store.sort((w,B)=>{let{aCol:D,bCol:L}=S(w,B);return!D||typeof D=="string"||typeof D=="number"?(D=D===""?null:D,L=L===""?null:L,C(D??null,L??null)):0});break;default:n.store.sort((w,B)=>{const{aCol:D,bCol:L}=S(w,B);return!D||typeof D=="number"||typeof D=="boolean"?C(D??null,L??null):0});break}},g=()=>{var m;return(m=n.orderedColumns)==null?void 0:m.find(x=>(x==null?void 0:x.sortOption)&&l(!1).includes(x.sortOption.sortType))};return{onSort:u,getSortTarget:g,setSort:f,setSortInfo:h,hasSortTarget:()=>!!g()}},N0=e=>{const{props:t}=i.getCurrentInstance(),{columnSettingInfo:n,filterInfo:o,stores:s,checkInfo:l,pageInfo:a,getConvertValue:r,updateVScroll:c,getPagingData:d,updatePagingInfo:h,getColumnIndex:u}=e,f=I=>{let T=0;I.forEach(V=>{const C=l.checkedRows.includes(V[de]);V[mn]=C,T+=C?1:0}),I.length&&(l.isHeaderChecked=I.length===T,l.isHeaderIndeterminate=I.length!==T&&T>0,l.isHeaderUncheckable=I.every(V=>t.uncheckable.includes(V[de])||t.disabledRows.includes(V[de])))},g=(I,T,V)=>{if(typeof I!="string"||T===null)return!1;const C=T==null?void 0:T.toLowerCase(),S=I==null?void 0:I.toLowerCase();let k=C.includes(S);return V&&(V==="start"?k=C.startsWith(S):V==="end"&&(k=C.endsWith(S))),k},p=(I,T)=>{const V=T.comparison,C=T.value;let S=I[de][T.index];(S||S===0)&&(S=`${I[de][T.index]}`);let k;return V==="="?k=(C==null?void 0:C.toLowerCase())===(S==null?void 0:S.toLowerCase()):V==="!="?k=(C==null?void 0:C.toLowerCase())!==(S==null?void 0:S.toLowerCase()):V==="%s%"?k=g(C,S):V==="notLike"?k=!g(C,S):V==="s%"?k=g(C,S,"start"):V==="%s"?k=g(C,S,"end"):V==="isEmpty"?k=S==null||S==="":V==="isNotEmpty"&&(k=!!S),k},m=(I,T,V)=>{const C=T.comparison,S=Number(T.value.replace(/,/g,""));let k=Number(I[de][T.index]),w;return V==="float"&&(k=Number(k.toFixed(3))),C==="="?w=k===S:C===">"?w=k>S:C==="<"?w=k<S:C==="<="?w=k<=S:C===">="?w=k>=S:C==="!="?w=k!==S:C==="isEmpty"?w=k==null||isNaN(k):C==="isNotEmpty"&&(w=!!k||k===0),w},x=(I,T)=>{const V=T.comparison,C=T.value,S=`${I[de][T.index]}`;let k;return V==="="&&(k=S===C),k},b=(I,T,V)=>{let C=T==="string"||T==="stringNumber"?p:m;return T==="boolean"&&(C=x),I.filter(S=>C(S,V,T))||[]},y=()=>{const I=o.filteringItemsByColumn,T=Object.keys(I),V=s.originStore;let C=[],S=!1,k=[];T.forEach((w,B)=>{const D=I[w],L=u(w),R=t.columns[L].type,v=o.columnOperator==="or",N=B>0&&o.columnOperator==="and";D.forEach((O,P)=>{!C.length&&!S?C=b(V,R,{...O,index:L}):N&&O.operator==="or"?P>0?C.push(...b(k,R,{...O,index:L})):C=b(k,R,{...O,index:L}):P===0&&v||P!==0&&O.operator==="or"?C.push(...b(V,R,{...O,index:L})):C=b(C,R,{...O,index:L}),S=!0}),k=JSON.parse(JSON.stringify(C))}),S?s.filterStore=Up(C,JSON.stringify):s.filterStore=V};let M=null;return{onSearch:I=>{M&&clearTimeout(M),M=setTimeout(()=>{o.isSearch=!1,o.searchWord=I,I&&(s.searchStore=s.store.filter(T=>{let V=!1;const C=n.isFilteringColumn?T[de].filter((S,k)=>n.visibleColumnIdx.includes(k)):T[de];for(let S=0;S<s.orderedColumns.length;S++){const k=s.orderedColumns[S]||{};let w=C[k.index]??null;if(k.type=k.type||"string",w!==null&&(w instanceof Array?w=JSON.stringify(w):typeof w=="object"&&(w=w[k.field]),!k.hide&&((k==null?void 0:k.searchable)===void 0||k!=null&&k.searchable)&&(w=r(k,w).toString(),V=w.toLowerCase().includes(I.toString().toLowerCase()),V)))break}return V}),o.isSearch=!0),f(s.store),!I&&a.isClientPaging&&a.prevPage&&(a.currentPage=1,s.pagingStore=d()),h({onSearch:!0}),c()},500)},setFilter:y,setHeaderCheckboxByFilter:f}},V0=e=>{const{contextInfo:t,stores:n,selectInfo:o,onSort:s,filterInfo:l,useGridSetting:a,columnSettingInfo:r,setColumnHidden:c}=e;let d=null;const{emit:h}=i.getCurrentInstance(),u=m=>{d&&clearTimeout(d);const x=[];d=setTimeout(()=>{if(t.customContextMenu.length){const b=t.customContextMenu.map(y=>{const M=y;return M.validate&&(M.disabled=!M.validate(M.itemId,o.selectedRow)),M.selectedRow=o.selectedRow??[],M.contextmenuInfo=o.contextmenuInfo??[],M});x.push(...b)}t.contextMenuItems=x,t.menu.show(m)},200)};return{setContextMenu:u,onContextMenu:m=>{var M,E,I;m.preventDefault();const b=(E=(M=m.target.closest(".row"))==null?void 0:M.dataset)==null?void 0:E.index;let y=null;b&&(y=(I=n.viewStore.find(T=>T[Mt]===+b))==null?void 0:I[de]),y&&(o.contextmenuInfo=[y],u(m))},onColumnContextMenu:(m,x)=>{var b,y,M,E,I,T,V,C;if(m.target.className==="column-name"){const S=x.sortable===void 0?!0:x.sortable,k=l.isFiltering&&x.filterable===void 0?!0:x.filterable,w=[{text:((b=t.columnMenuTextInfo)==null?void 0:b.ascending)??"Ascending",iconClass:"ev-icon-allow2-up",disabled:!S,hidden:(y=t.hiddenColumnMenuItem)==null?void 0:y.ascending,click:()=>s(x,"asc")},{text:((M=t.columnMenuTextInfo)==null?void 0:M.descending)??"Descending",iconClass:"ev-icon-allow2-down",disabled:!S,hidden:(E=t.hiddenColumnMenuItem)==null?void 0:E.descending,click:()=>s(x,"desc")},{text:((I=t.columnMenuTextInfo)==null?void 0:I.filter)??"Filter",iconClass:"ev-icon-filter-list",click:()=>{const B=document.documentElement.clientWidth,D=t.columnMenu.menuStyle.clientX,L=t.columnMenu.menuStyle.pageX,R=350;B<D+R&&(t.columnMenu.menuStyle.left=`${L-R}px`),l.filterSettingPosition={top:t.columnMenu.menuStyle.top,left:t.columnMenu.menuStyle.left},l.isShowFilterSetting=!0,l.filteringColumn=x,h("change-column-info",{type:"filter",columns:n.updatedColumns})},disabled:!k,hidden:((T=t.hiddenColumnMenuItem)==null?void 0:T.filter)||!l.isFiltering},{text:((V=t.columnMenuTextInfo)==null?void 0:V.hide)??"Hide",iconClass:"ev-icon-visibility-off",disabled:!a.value||n.orderedColumns.length===1||x.fixed,hidden:((C=t.hiddenColumnMenuItem)==null?void 0:C.hide)||!a.value,click:()=>{c(x.field),h("change-column-status",{columns:n.updatedColumns}),h("change-column-info",{type:"display",columns:n.updatedColumns})}}];if(t.columnMenuItems=[],!S&&!k&&!a.value)return;t.columnMenuItems=w.filter(B=>!B.hidden)}},onGridSettingContextMenu:m=>{const{useDefaultColumnSetting:x,columnSettingTextInfo:b}=r,y={text:(b==null?void 0:b.title)??"Column List",isShowMenu:!0,click:()=>{r.isShowColumnSetting=!0,t.isShowMenuOnClick=!0}};t.customGridSettingContextMenu.length&&(t.gridSettingContextMenuItems=[...t.customGridSettingContextMenu]),x&&t.gridSettingContextMenuItems.push(y),t.gridSettingMenu.show(m)}}},P0=e=>{const{props:t}=i.getCurrentInstance(),{selectInfo:n,checkInfo:o,stores:s,sortInfo:l,elementInfo:a,filterInfo:r,expandedInfo:c,setSort:d,setSortInfo:h,updateVScroll:u,setFilter:f}=e;return{setStore:({rows:p,isMakeIndex:m=!0,isInit:x=!1})=>{var y,M,E;const b=s.orderedColumns.find(I=>(I==null?void 0:I.sortOption)&&["asc","desc"].includes(I.sortOption.sortType));if(m){const I=[];let T=!1;p.forEach((V,C)=>{const S=t.checked.includes(V),k=t.uncheckable.includes(V)||t.disabledRows.includes(V);let w=!1;n.useSelect&&(w=t.selected.includes(V)),!S&&!k&&(T=!0);let B=!1;c.useRowDetail&&(B=t.expanded.includes(V));const D=t.disabledRows.includes(V);I.push([C,S,V,w,B,k,D])}),p.length!==t.checked.length&&(p.length===((y=t.uncheckable)==null?void 0:y.length)||p.length===((M=t.disabledRows)==null?void 0:M.length))&&(T=!0),o.isHeaderChecked=p.length>0?!T:!1,o.isHeaderIndeterminate=T&&!!o.checkedRows.length,o.isHeaderUncheckable=p.every(V=>t.uncheckable.includes(V)||t.disabledRows.includes(V)),s.originStore=I}r.isFiltering&&f(),b&&x&&h(b,!1),l.sortField&&d(),(E=a.body)!=null&&E.clientHeight&&u()}}},_0=e=>{const{emit:t}=i.getCurrentInstance(),{stores:n,pageInfo:o,sortInfo:s,filterInfo:l,elementInfo:a,clearCheckInfo:r}=e,c=()=>{const u=(o.currentPage-1)*o.perPage,f=parseInt(u,10)+parseInt(o.perPage,10);return n.store.slice(u,f)},d=u=>{t("page-change",{eventName:u,pageInfo:{currentPage:o.currentPage,prevPage:o.prevPage,startIndex:o.startIndex,total:o.pageTotal,perPage:o.perPage},sortInfo:{field:s.sortField,order:s.sortOrder},searchInfo:{searchWord:l.searchWord,searchColumns:n.orderedColumns.filter(f=>!f.hide&&((f==null?void 0:f.searchable)===void 0||(f==null?void 0:f.searchable))).map(f=>f.field)}}),o.isInfinite&&(u!=null&&u.onSearch||u!=null&&u.onSort)&&(o.currentPage=1,a.body.scrollTop=0,r())};return{getPagingData:c,updatePagingInfo:d,changePage:u=>{if(o.isClientPaging)if(o.prevPage=u,n.store.length<=o.perPage)n.pagingStore=n.store;else{const f=(o.currentPage-1)*o.perPage,g=parseInt(f,10)+parseInt(o.perPage,10);n.pagingStore=n.store.slice(f,g),a.body.scrollTop=0,o.startIndex=f}d({onChangePage:!0})}}},kr=e=>{const{props:t,emit:n}=i.getCurrentInstance(),{stores:o,columnSettingInfo:s,contextInfo:l,onSearch:a,onResize:r}=e,c=m=>{var x,b,y;if(s.isShowColumnSetting)if(s.columnSettingPosition.columnListMenuWidth=0,l.gridSettingContextMenuItems.length){const M=l.gridSettingContextMenuItems.length-1,E=(y=(b=(x=l.gridSettingMenu)==null?void 0:x.rootMenuList)==null?void 0:b.$el)==null?void 0:y.children[0].children[M].getBoundingClientRect();s.columnSettingPosition.columnListMenuWidth=E.width,s.columnSettingPosition.top=E.top,s.columnSettingPosition.left=E.right}else{const M=m==null?void 0:m.getBoundingClientRect(),E=M==null?void 0:M.height;s.columnSettingPosition.top=(M==null?void 0:M.top)+E,s.columnSettingPosition.left=M==null?void 0:M.right}},d=()=>{o.filteredColumns.length=0,s.isFilteringColumn=!1,s.visibleColumnIdx=[],s.hiddenColumn=""},h=()=>Array.isArray(o.movedColumns)&&o.movedColumns.length?o.movedColumns:o.originColumns||[],u=(m,x)=>{var y;if(!m)return;m.hiddenDisplay=x;const b=(y=o.originColumns)==null?void 0:y.find(M=>M.index===m.index);if(b&&b!==m&&(b.hiddenDisplay=x),Array.isArray(o.movedColumns)){const M=o.movedColumns.find(E=>E.index===m.index);M&&M!==m&&(M.hiddenDisplay=x)}},f=()=>{s.visibleColumnIdx=o.filteredColumns.map(b=>b.index);const m=o.originColumns.filter(b=>!b.hide||b.hiddenDisplay).map(b=>b.index),x=s.visibleColumnIdx;s.isFilteringColumn=x.length!==m.length,t.option.searchValue&&a(t.option.searchValue),r()};return{setPositionColumnSetting:c,initColumnSettingInfo:d,onApplyColumn:m=>{const x=o.orderedColumns.filter(E=>!E.hide&&!E.hiddenDisplay);if(m.length===x.length&&x.every(E=>m.includes(E.field)))return;const y=h(),M=new Set(m);o.filteredColumns=y.filter(E=>{const I=M.has(E.field)||!E.caption;return u(E,!I),I}),s.hiddenColumn="",f(),n("change-column-status",{columns:o.updatedColumns}),n("change-column-info",{type:"display",columns:o.updatedColumns})},setColumnHidden:m=>{const x=o.orderedColumns.filter(y=>!y.hide&&!y.hiddenDisplay);if(x.length===1)return;o.filteredColumns=x.filter(y=>{const M=y.field===m;return u(y,M),!M}),h().forEach(y=>{y.field===m&&u(y,!0)}),s.hiddenColumn=m,f()}}},A0=({stores:e})=>{const{emit:t}=i.getCurrentInstance(),n=r=>{var u;const c=(u=e.movedColumns)!=null&&u.length?[...e.movedColumns]:[...e.originColumns],d=[...r],h=new Set(d.map(f=>f.index));e.movedColumns=c.map(f=>h.has(f.index)?d.shift():f)},o=(r,c)=>{const d=parseInt(r,10),h=parseInt(c,10);if(!Number.isInteger(d)||!Number.isInteger(h))return;const u=[...e.orderedColumns],f=u[d];u.splice(d,1),u.splice(h,0,f),e.filteredColumns.length&&(e.filteredColumns=u),n(u)};return{onDragStart:r=>{r.dataTransfer.setData("text/plain",r.currentTarget.dataset.index)},onDragOver:r=>{r.preventDefault()},onDrop:r=>{r.preventDefault();const c=r.dataTransfer.getData("text/plain"),d=r.target.parentNode.dataset.index;o(c,d),t("change-column-order",{column:e.orderedColumns[d],columns:e.updatedColumns}),t("change-column-info",{type:"order",columns:e.updatedColumns})}}},z0={name:"EvGrid",directives:{clickoutside:Oo,observeVisibility:Yi,resize:wn},components:{Toolbar:Yb,GridPagination:gr,GridSummary:Cr,ColumnSetting:Sr,FilterSetting:x0,GridSortButton:wr,GridOptionButton:Ns},props:{columns:{type:[Array],default:()=>[]},rows:{type:[Array],default:()=>[]},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:"100%"},selected:{type:[Array],default:()=>[]},checked:{type:[Array],default:()=>[]},uncheckable:{type:[Array],default:()=>[]},expanded:{type:[Array],default:()=>[]},disabledRows:{type:[Array],default:()=>[]},option:{type:Object,default:()=>({})}},emits:{"update:selected":null,"update:checked":null,"update:expanded":null,"check-row":null,"check-all":null,"click-row":null,"dblclick-row":null,"page-change":null,"sort-column":null,"expand-row":null,"resize-column":({column:e,columns:t})=>({column:e,columns:t}),"change-column-order":({column:e,columns:t})=>({column:e,columns:t}),"change-column-status":({columns:e})=>({columns:e}),"change-column-info":({type:e,columns:t})=>({type:e,columns:t})},setup(e){var Ar,zr,Fr,Hr,Wr,$r,Xr,Ur,Yr;const{isRenderer:a,getComponentName:r,getConvertValue:c,getColumnIndex:d,setPixelUnit:h}=v0(),u=i.ref(null),f=i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useGridSetting)==null?void 0:Q.use)||!1}),g=i.computed(()=>e.option.showHeader??!0),p=i.computed(()=>{var H;return((H=e.option)==null?void 0:H.useSummary)||!1}),m=i.computed(()=>{var H;return((H=e.option.style)==null?void 0:H.stripe)||!1}),x=i.computed(()=>{var H;return((H=e.option.style)==null?void 0:H.border)||""}),b=i.computed(()=>{var H;return((H=e.option.style)==null?void 0:H.highlight)??-1}),y=i.computed(()=>e.option.emptyText??"No records"),M=e.option.rowMinHeight||35,E=i.ref(0),I=i.reactive({body:null,header:null,table:null,resizeLine:null,"grid-wrapper":null}),T=i.reactive({isSearch:!1,searchWord:"",isFiltering:i.computed(()=>e.option.useFilter??!1),isShowFilterSetting:!1,filterSettingPosition:{left:0,top:0},filteringColumn:null,filteringItemsByColumn:{},columnOperator:"and"}),V=i.reactive({isShowColumnSetting:!1,isFilteringColumn:!1,visibleColumnIdx:[],hiddenColumn:"",columnSettingPosition:{top:0,left:0,columnListMenuWidth:0},useDefaultColumnSetting:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useGridSetting)==null?void 0:Q.useDefaultColumnSetting)??!0}),columnSettingTextInfo:{title:((zr=(Ar=e.option)==null?void 0:Ar.useGridSetting)==null?void 0:zr.columnMenuText)??"Column List",search:((Hr=(Fr=e.option)==null?void 0:Fr.useGridSetting)==null?void 0:Hr.searchText)??"Search",empty:(($r=(Wr=e.option)==null?void 0:Wr.useGridSetting)==null?void 0:$r.emptyText)??"No records",ok:((Ur=(Xr=e.option)==null?void 0:Xr.useGridSetting)==null?void 0:Ur.okBtnText)??"OK"}}),C=i.reactive({viewStore:[],originStore:[],pagingStore:[],searchStore:[],filterStore:[],store:i.computed(()=>{const H=T.isFiltering?C.filterStore:C.originStore;return T.isSearch?C.searchStore:H}),filteredColumns:[],movedColumns:[],originColumns:i.computed(()=>e.columns.map((H,Q)=>{var Ce;return{index:Q,hiddenDisplay:!1,...H,width:isFinite(H.width)?H.width:void 0,sortOption:{sortType:((Ce=H==null?void 0:H.sortOption)==null?void 0:Ce.sortType)||"init"}}})),orderedColumns:i.computed(()=>{const H=C.movedColumns.length?C.movedColumns:C.originColumns;return C.filteredColumns.length?C.filteredColumns:H}),updatedColumns:i.computed(()=>li(C))}),S=i.reactive({usePage:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.use)||!1}),useClient:((Yr=e.option.page)==null?void 0:Yr.useClient)||!1,isInfinite:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.isInfinite)||!1}),startIndex:0,prevPage:0,currentPage:0,pageTotal:i.computed(()=>{var H,Q;return(H=e.option.page)!=null&&H.useClient?C.store.length:(Q=e.option.page)==null?void 0:Q.total}),perPage:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.perPage)||20}),visiblePage:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.visiblePage)||8}),order:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.order)||"center"}),showPageInfo:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.showPageInfo)||!1}),isClientPaging:i.computed(()=>S.useClient&&S.usePage&&!S.isInfinite),isHighlight:!1,highlightPage:0}),k=i.reactive({prevCheckedRow:[],isHeaderChecked:!1,isHeaderUncheckable:!1,isHeaderIndeterminate:!1,checkedRows:e.checked,useCheckbox:i.computed(()=>e.option.useCheckbox||{})}),w=i.reactive({expandedRows:e.expanded,useRowDetail:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.rowDetail)==null?void 0:Q.use)??!1}),detailRowHeight:i.computed(()=>{var H,Q;return(Q=(H=e.option)==null?void 0:H.rowDetail)==null?void 0:Q.detailRowHeight})}),B=i.reactive({lastScroll:{top:0,left:0},vScrollTopHeight:0,vScrollBottomHeight:0,hasVerticalScrollBar:!1,hasHorizontalScrollBar:!1}),D=i.reactive({contextmenuInfo:e.contextmenuInfo,selectedRow:e.selected,useSelect:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useSelection)==null?void 0:Q.use)??!0}),multiple:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useSelection)==null?void 0:Q.multiple)??!1})}),L=i.reactive({isSorting:!1,sortField:"",sortOrder:"",sortColumn:{},sortFunction:e.option.customAscFunction??{}}),R=i.reactive({menu:null,contextMenuItems:[],contextMenuClass:e.option.customContextMenuClass||"",columnMenu:null,columnMenuItems:[],columnMenuTextInfo:e.option.columnMenuText||{},hiddenColumnMenuItem:e.option.hiddenColumnMenuItem||{},customContextMenu:e.option.customContextMenu||[],gridSettingMenu:null,gridSettingContextMenuItems:[],customGridSettingContextMenu:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useGridSetting)==null?void 0:Q.customContextMenu)||[]}),isShowMenuOnClick:!1}),v=i.reactive({minWidth:40,rendererMinWidth:80,iconWidth:42,showResizeLine:!1,adjust:e.option.adjust||!1,columnWidth:e.option.columnWidth||80,scrollWidth:e.option.scrollWidth||17,rowHeight:i.computed(()=>e.option.rowHeight>M?e.option.rowHeight:M),gridWidth:i.computed(()=>e.width?h(e.width):"100%"),gridHeight:i.computed(()=>e.height?h(e.height):"100%")}),N=()=>{k.checkedRows=[],k.isHeaderChecked=!1,k.isHeaderIndeterminate=!1,C.store.forEach(H=>{H[1]=!1})},O=()=>{D.selectedRow=[],C.store.forEach(H=>{H[3]=!1})},P=()=>{C.store.forEach(H=>{H[4]=!1}),w.expandedRows=[]},{getPagingData:_,updatePagingInfo:A,changePage:z}=_0({stores:C,pageInfo:S,sortInfo:L,filterInfo:T,elementInfo:I,clearCheckInfo:N}),$=i.ref(0),{updateVScroll:W,updateHScroll:F,onScroll:U}=T0({scrollInfo:B,stores:C,elementInfo:I,resizeInfo:v,pageInfo:S,summaryScroll:$,expandedInfo:w,getPagingData:_,updatePagingInfo:A}),{onCheck:j,onCheckAll:K}=L0({checkInfo:k,stores:C,pageInfo:S,getPagingData:_}),{onExpanded:q}=R0({expandedInfo:w}),{onSort:ee,getSortTarget:J,setSort:te,setSortInfo:G,hasSortTarget:oe}=O0({sortInfo:L,stores:C,updatePagingInfo:A}),{onSearch:Z,setFilter:ae,setHeaderCheckboxByFilter:me}=N0({columnSettingInfo:V,filterInfo:T,stores:C,checkInfo:k,pageInfo:S,getConvertValue:c,updateVScroll:W,getPagingData:_,updatePagingInfo:A,getColumnIndex:d}),{setStore:re}=P0({selectInfo:D,checkInfo:k,stores:C,sortInfo:L,elementInfo:I,filterInfo:T,expandedInfo:w,setSort:te,setSortInfo:G,updateVScroll:W,setFilter:ae}),{calculatedColumn:ue,onResize:ke,onShow:rt,onColumnResize:ct}=B0({resizeInfo:v,elementInfo:I,checkInfo:k,expandedInfo:w,stores:C,isRenderer:a,updateVScroll:W,updateHScroll:F,contextInfo:R}),{setPositionColumnSetting:yt,initColumnSettingInfo:uo,onApplyColumn:fo,setColumnHidden:mo}=kr({stores:C,columnSettingInfo:V,contextInfo:R,onSearch:Z,onResize:ke}),{setContextMenu:Zt,onContextMenu:As,onColumnContextMenu:zs,onGridSettingContextMenu:hi}=V0({contextInfo:R,stores:C,selectInfo:D,useGridSetting:f,filterInfo:T,columnSettingInfo:V,setColumnHidden:mo,onSort:ee}),{onRowClick:ui,onRowDblClick:fi}=D0({selectInfo:D,stores:C}),{onDragStart:mi,onDragOver:gi,onDrop:pi}=A0({stores:C}),yi=H=>{R.gridSettingContextMenuItems.length=0,R.customGridSettingContextMenu.length?hi(H):V.isShowColumnSetting=!0},qt=H=>{var Q,Ce,xt,Kt,go,It,Qe,xi,bi,jr;H.type==="wheel"&&((Q=R.menu)==null||Q.hide(H)),H.type==="scroll"&&!((Ce=H.target.classList)!=null&&Ce.contains("table-body"))&&!((Kt=(xt=H.target.offsetParent)==null?void 0:xt.classList)!=null&&Kt.contains("ev-select-dropbox"))&&!((It=(go=H.target.offsetParent)==null?void 0:go.classList)!=null&&It.contains("ev-grid-column-setting"))&&!((xi=(Qe=H.target.offsetParent)==null?void 0:Qe.classList)!=null&&xi.contains("ev-text-field-wrapper"))&&(T.isShowFilterSetting=!1,V.isShowColumnSetting=!1,R.isShowMenuOnClick=!1,(bi=R.columnMenu)==null||bi.hide(H),(jr=R.gridSettingMenu)==null||jr.hide())};i.onMounted(()=>{ue(),re({rows:e.rows,isInit:!0}),document.addEventListener("wheel",qt,{capture:!1}),document.addEventListener("scroll",qt,{capture:!0})}),i.onUnmounted(()=>{document.removeEventListener("wheel",qt,{capture:!1}),document.removeEventListener("scroll",qt,{capture:!0})}),i.onActivated(()=>{ke()}),i.onUpdated(()=>{var H;E.value=((H=I["grid-wrapper"])==null?void 0:H.offsetWidth)/1.5||0}),i.watch(()=>V.isShowColumnSetting,H=>{var Q;if(!H){(Q=R.gridSettingMenu)==null||Q.hide();return}yt(u.value)}),i.watch(()=>e.columns,()=>{oe()?G(J()):(G(J()),te()),T.filteringColumn=null,T.filteringItemsByColumn={},C.filterStore=[],re({rows:[],isMakeIndex:!1}),uo(),C.movedColumns.length=0},{deep:!0}),i.watch(()=>L.isSorting,H=>{H&&(re({rows:C.originStore,isMakeIndex:!1}),L.isSorting=!H,S.isClientPaging&&(S.currentPage=1,C.pagingStore=_(),N()))}),i.watch(()=>e.rows,H=>{re({rows:H}),T.isSearch&&Z(T.searchWord),ke()},{deep:!0}),i.watch(()=>e.uncheckable,()=>{re({rows:e.rows})},{deep:!0}),i.watch(()=>e.checked,H=>{k.checkedRows=H}),i.watch(()=>e.disabledRows,()=>{C.store.length&&C.store.forEach(H=>{H[6]=e.disabledRows.includes(H[2])})},{deep:!0}),i.watch(()=>k.checkedRows,H=>{k.isHeaderChecked=!1;let Q=C.store;S.isClientPaging&&(Q=_()),Q.length&&(Q.forEach(Ce=>{Ce[1]=H.includes(Ce[2])}),k.isHeaderChecked=H.length===Q.length),W()}),i.watch(()=>e.selected,H=>{D.useSelect&&(D.selectedRow=H)}),i.watch(()=>D.selectedRow,H=>{D.useSelect&&(C.store.forEach(Q=>{Q[3]=H.includes(Q[2])&&!e.disabledRows.includes(Q[2])}),W())}),i.watch(()=>b.value,async H=>{if(await i.nextTick(),H>=0){if(S.usePage&&!S.isInfinite&&(S.highlightPage=Math.ceil(H/S.perPage)||1,S.highlightPage!==S.currentPage)){S.currentPage=S.highlightPage,S.isHighlight=!0;return}I.body.scrollTop=v.rowHeight*b.value}}),i.watch(()=>k.useCheckbox.mode,()=>{N()}),i.watch(()=>D.useSelect,()=>{O()}),i.watch(()=>D.multiple,()=>{O()}),i.watch(()=>e.checked.length,H=>{H||N()}),i.watch(()=>e.expanded.length,H=>{H||P(),W()}),i.watch(()=>[e.option.columnWidth,v.gridWidth],async()=>{await i.nextTick(),v.columnWidth=e.option.columnWidth;const H=I["grid-wrapper"];H.style.width=v.gridWidth,H.style.height=v.gridHeight,C.orderedColumns.map(Q=>{var xt;const Ce=Q;return!((xt=e.columns[Q.index])!=null&&xt.width)&&!Ce.resized&&(Ce.width=0),Ce}),ke()}),i.watch(()=>e.option.searchValue,H=>{H!==void 0&&(Z((H==null?void 0:H.value)??H),S.isClientPaging&&(N(),O()))},{immediate:!0}),i.watch(()=>{var H;return(H=e.option.page)==null?void 0:H.currentPage},H=>{var Ce;const Q=H||1;S.currentPage=(Ce=e.option.page)!=null&&Ce.isInfinite?1:Q},{immediate:!0}),i.watch(()=>S.currentPage,(H,Q)=>{i.nextTick(()=>{z(Q),S.isClientPaging&&H!==Q&&(N(),O()),W(),H===S.highlightPage&&S.isHighlight&&(I.body.scrollTop=v.rowHeight*b.value,S.isHighlight=!S.isHighlight)})});const gn=i.reactive({boxTop:0,boxLeft:0}),X=i.ref(null),ne=i.ref(!1),he=i.ref(!1),xe=i.ref(null),Me=i.ref({}),Pe=i.reactive({caption:"",field:""}),Xe=i.ref([]),aw=[{name:"AND",value:"and"},{name:"OR",value:"or"}],Fs=i.ref(0),rw=({caption:H,field:Q},Ce)=>{if(Pe.caption=H,Pe.field=Q,Xe.value=Ce,(Ce==null?void 0:Ce.length)>1){ne.value=!0;const xt=X.value.getBoundingClientRect().left,Kt=window.pageYOffset+X.value.getBoundingClientRect().top+X.value.getBoundingClientRect().height;gn.boxTop=`${Kt}px`,gn.boxLeft=`${xt}px`}},cw=()=>{C.filterStore=[],re({rows:[],isMakeIndex:!1})},Hs=async H=>{var Kt,go;H&&he.value&&(Fs.value=0);const Q=(Kt=X.value)==null?void 0:Kt.getElementsByClassName("filtering-items__item"),Ce=[];let xt=0;if(Q){for(let It=0;It<Q.length;It++){const Qe=Q[It];Qe.classList.remove("non-display");const xi=(go=X.value.getBoundingClientRect())==null?void 0:go.width,{width:bi}=Qe.getBoundingClientRect();xt+=bi+10,xi-150<=xt&&!Qe.classList.contains("filtering-items__item--count")?(Fs.value++,Ce.push(Qe),Me.value={...Me.value,[Qe.dataset.field]:Se(T.filteringItemsByColumn[Qe.dataset.field])}):delete Me.value[Qe.dataset.field]}Q.forEach(It=>{const Qe=Ce.includes(It);It.classList.toggle("non-display",Qe)})}},dw=async(H,Q)=>{Q!=null&&Q.length?(T.filteringItemsByColumn[H]=Q,he.value=!0):(delete Me.value[H],delete T.filteringItemsByColumn[H]),await i.nextTick(),Hs(!0),T.isShowFilterSetting=!1,C.filterStore=[],re({rows:[],isMakeIndex:!1}),me(C.filterStore)};let Ws=null;const hw=()=>{Ws&&clearTimeout(Ws),Ws=setTimeout(()=>{he.value=!he.value,Hs(he.value)},150)},uw=()=>{T.filteringColumn=null,T.filteringItemsByColumn={},Me.value={},C.filterStore=[],re({rows:[],isMakeIndex:!1})},fw=i.computed(()=>{var H;return{width:`${E.value}px`,top:`${((H=X.value)==null?void 0:H.getBoundingClientRect().height)||0}px`}}),mw=H=>{const Q=T.filteringItemsByColumn[H];return Q==null?void 0:Q[Q.length-1]},gw=()=>{const H=document.createElement("div");H.id="ev-grid-filtering-items-modal",H.setAttribute("style","position: absolute; top: 0; left: 0;"),document.getElementById("ev-grid-filtering-items-modal")||document.body.appendChild(H)};return i.onBeforeMount(()=>gw()),{idColIndex:i.computed(()=>{var H;return(H=C.orderedColumns.find(Q=>Q.field==="id"))==null?void 0:H.index}),summaryScroll:$,showHeader:g,stripeStyle:m,borderStyle:x,highlightIdx:b,useSummary:p,useGridSetting:f,toolbarRef:u,stores:C,emptyText:y,...i.toRefs(I),...i.toRefs(C),...i.toRefs(T),...i.toRefs(B),...i.toRefs(S),...i.toRefs(v),...i.toRefs(D),...i.toRefs(k),...i.toRefs(w),...i.toRefs(L),...i.toRefs(R),...i.toRefs(V),isRenderer:a,getComponentName:r,getConvertValue:c,getColumnIndex:d,setPixelUnit:h,updateVScroll:W,updateHScroll:F,onScroll:U,calculatedColumn:ue,onResize:ke,onShow:rt,onColumnResize:ct,onRowClick:ui,onRowDblClick:fi,onCheck:j,onCheckAll:K,onExpanded:q,onSort:ee,setSort:te,setStore:re,setContextMenu:Zt,onContextMenu:As,onSearch:Z,setGridSetting:yi,onApplyColumn:fo,onColumnContextMenu:zs,filteringItemsWidth:E,isShowColumnFilteringItems:he,operatorItems:aw,selectedFilteringItems:Xe,selectedFilteringColumn:Pe,filteringItemsRef:X,isShowFilteringItemsBox:ne,filteringItemsStyle:fw,hiddenFilteringItemsCount:Fs,...i.toRefs(gn),hiddenFilteringItemsRef:xe,hiddenFilteringItemsByColumn:Me,removeAllFiltering:uw,onExpandFilteringItems:hw,setColumnFilteringItems:Hs,onChangeOperator:cw,onApplyFilter:dw,onClickFilteringItem:rw,getFilteringItemByField:mw,onDragStart:mi,onDragOver:gi,onDrop:pi,ROW_DISABLED_INDEX:6}}},F0={key:0,class:"filtering-items filtering-items--used"},H0={key:1,ref:"filteringItemsRef",class:"filtering-items"},W0=["data-field","onClick"],$0={class:"filtering-items__item--title"},X0=["title"],U0={key:1,class:"filtering-items__item--value"},Y0=["onClick"],j0={class:"filtering-items__item--title"},G0=["title"],Z0={key:1,class:"filtering-items__item--value"},q0={class:"column-list"},K0=["data-index"],J0=["title","onClick"],Q0=["onClick"],eC=["onMousedown"],tC={ref:"table"},nC=["data-index","disabled","onClick","onContextmenu","onDblclick"],oC=["data-name","data-index","disabled"],iC={key:0},sC=["title"],lC=["disabled"],aC=["disabled"],rC={key:0},cC=["colspan"],dC={key:0},hC={class:"is-empty"},uC={ref:"resizeLine",class:"table-resize-line"};function fC(e,t,n,o,s,l){var E;const a=i.resolveComponent("ev-icon"),r=i.resolveComponent("ev-select"),c=i.resolveComponent("grid-option-button"),d=i.resolveComponent("toolbar"),h=i.resolveComponent("ev-checkbox"),u=i.resolveComponent("grid-sort-button"),f=i.resolveComponent("ev-context-menu"),g=i.resolveComponent("grid-summary"),p=i.resolveComponent("grid-pagination"),m=i.resolveComponent("filter-setting"),x=i.resolveComponent("column-setting"),b=i.resolveDirective("clickoutside"),y=i.resolveDirective("resize"),M=i.resolveDirective("observe-visibility");return i.openBlock(),i.createElementBlock(i.Fragment,null,[e.$slots.toolbar||o.useGridSetting?(i.openBlock(),i.createElementBlock("div",{key:0,ref:"toolbarRef",class:"toolbar-wrapper",style:i.normalizeStyle(`width: ${e.gridWidth};`)},[i.createVNode(d,null,{toolbarWrapper:i.withCtx(()=>[i.createElementVNode("div",{class:"filtering",style:i.normalizeStyle({width:`${o.filteringItemsWidth}px`})},[e.isFiltering&&!Object.keys(e.filteringItemsByColumn).length?(i.openBlock(),i.createElementBlock("div",F0,[i.createVNode(a,{icon:"ev-icon-filter-list"}),t[18]||(t[18]=i.createElementVNode("span",null,"Filter",-1))])):i.createCommentVNode("",!0),e.isFiltering&&Object.keys(e.filteringItemsByColumn).length?(i.openBlock(),i.createElementBlock("div",H0,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(e.filteringItemsByColumn),(I,T)=>{var V,C,S,k;return i.openBlock(),i.createElementBlock(i.Fragment,{key:T},[T===0?(i.openBlock(),i.createElementBlock("div",{key:0,class:"filtering-items__item filtering-items__item--filter",onClick:t[0]||(t[0]=i.withModifiers((...w)=>o.onExpandFilteringItems&&o.onExpandFilteringItems(...w),["stop"]))},[i.createVNode(a,{icon:"ev-icon-filter-list",class:"filtering-items-expand"}),i.createElementVNode("span",null," Filter ("+i.toDisplayString(Object.keys(e.filteringItemsByColumn).length)+") ",1),i.createVNode(a,{class:"filtering-items__item--remove",icon:"ev-icon-s-close",style:{"margin-left":"0"},onClick:i.withModifiers(o.removeAllFiltering,["stop"])},null,8,["onClick"])])):i.createCommentVNode("",!0),T===1?(i.openBlock(),i.createBlock(r,{key:1,modelValue:e.columnOperator,"onUpdate:modelValue":t[1]||(t[1]=w=>e.columnOperator=w),items:o.operatorItems,class:"filtering-items__item--operator",onChange:o.onChangeOperator},null,8,["modelValue","items","onChange"])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:"filtering-items__item non-display","data-field":I,onClick:i.withModifiers(w=>{var B;return o.onClickFilteringItem({caption:(B=o.getFilteringItemByField(I))==null?void 0:B.caption,field:I},e.filteringItemsByColumn[I])},["stop"])},[i.createElementVNode("span",$0,i.toDisplayString((V=o.getFilteringItemByField(I))==null?void 0:V.caption)+" "+i.toDisplayString((C=o.getFilteringItemByField(I))==null?void 0:C.comparison),1),e.filteringItemsByColumn[I].length<2?(i.openBlock(),i.createElementBlock("span",{key:0,class:"filtering-items__item--value",title:(S=o.getFilteringItemByField(I))==null?void 0:S.value},i.toDisplayString((k=o.getFilteringItemByField(I))==null?void 0:k.value),9,X0)):(i.openBlock(),i.createElementBlock("span",U0," + "+i.toDisplayString(e.filteringItemsByColumn[I].length),1)),i.createVNode(a,{class:"filtering-items__item--remove",icon:"ev-icon-s-close",onClick:w=>o.onApplyFilter(I,[])},null,8,["onClick"])],8,W0)],64)}),128)),o.isShowColumnFilteringItems&&Object.keys(e.filteringItemsByColumn).length&&o.hiddenFilteringItemsCount>0?(i.openBlock(),i.createElementBlock("div",{key:0,class:"filtering-items__item filtering-items__item--count",onClick:t[2]||(t[2]=(...I)=>o.onExpandFilteringItems&&o.onExpandFilteringItems(...I))}," + "+i.toDisplayString(o.hiddenFilteringItemsCount),1)):i.createCommentVNode("",!0)],512)):i.createCommentVNode("",!0),!o.isShowColumnFilteringItems&&Object.keys(o.hiddenFilteringItemsByColumn).length?i.withDirectives((i.openBlock(),i.createElementBlock("div",{key:2,ref:"hiddenFilteringItemsRef",class:"filtering-items filtering-items__hidden-items",style:i.normalizeStyle(o.filteringItemsStyle)},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(o.hiddenFilteringItemsByColumn),(I,T)=>{var V,C,S,k;return i.openBlock(),i.createElementBlock("div",{key:T,class:"filtering-items__item",onClick:i.withModifiers(w=>{var B;return o.onClickFilteringItem({caption:(B=o.getFilteringItemByField(I))==null?void 0:B.caption,field:I},o.hiddenFilteringItemsByColumn[I])},["stop"])},[i.createElementVNode("span",j0,i.toDisplayString((V=o.getFilteringItemByField(I))==null?void 0:V.caption)+" "+i.toDisplayString((C=o.getFilteringItemByField(I))==null?void 0:C.comparison),1),o.hiddenFilteringItemsByColumn[I].length<2?(i.openBlock(),i.createElementBlock("span",{key:0,class:"filtering-items__item--value",title:(S=o.getFilteringItemByField(I))==null?void 0:S.value},i.toDisplayString((k=o.getFilteringItemByField(I))==null?void 0:k.value),9,G0)):(i.openBlock(),i.createElementBlock("span",Z0," + "+i.toDisplayString(o.hiddenFilteringItemsByColumn[I].length),1)),i.createVNode(a,{class:"filtering-items__item--remove",icon:"ev-icon-s-close",onClick:w=>o.onApplyFilter(I,[],!0)},null,8,["onClick"])],8,Y0)}),128))],4)),[[b,()=>{o.isShowColumnFilteringItems||o.onExpandFilteringItems()}]]):i.createCommentVNode("",!0)],4),o.useGridSetting?(i.openBlock(),i.createBlock(c,{key:0,class:"grid-setting__icon",onClick:t[3]||(t[3]=I=>o.setGridSetting(I))})):i.createCommentVNode("",!0),i.renderSlot(e.$slots,"toolbar",{item:{onSearch:o.onSearch}},void 0,!0)]),_:3})],4)):i.createCommentVNode("",!0),i.withDirectives((i.openBlock(),i.createElementBlock("div",i.mergeProps({ref:"grid-wrapper"},e.$attrs,{class:"grid-wrapper",style:`width: ${e.gridWidth}; height: ${e.gridHeight};`}),[i.createElementVNode("div",{ref:"grid",class:i.normalizeClass({table:!0,adjust:e.adjust,"ev-grid":!0,"non-header":!o.showHeader,"ev-grid--empty":!e.viewStore.length})},[i.withDirectives(i.createElementVNode("div",{ref:"header",class:i.normalizeClass({"table-header":!0,"non-border":!!o.borderStyle})},[i.createElementVNode("ul",q0,[e.useCheckbox.use?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass({column:!0,"checkbox-all":!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${e.minWidth}px`,"border-right":"1px solid #CFCFCF"})},[e.useCheckbox.use&&e.useCheckbox.headerCheck&&e.useCheckbox.mode!=="single"?(i.openBlock(),i.createBlock(h,{key:0,modelValue:e.isHeaderChecked,"onUpdate:modelValue":t[4]||(t[4]=I=>e.isHeaderChecked=I),disabled:e.isHeaderUncheckable,indeterminate:e.isHeaderIndeterminate,onChange:o.onCheckAll},null,8,["modelValue","disabled","indeterminate","onChange"])):i.createCommentVNode("",!0)],6)):i.createCommentVNode("",!0),e.useRowDetail?(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass({column:!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${e.minWidth}px`,"border-right":"1px solid #CFCFCF"})},null,6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.orderedColumns,(I,T)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:T},[!I.hide&&!I.hiddenDisplay?(i.openBlock(),i.createElementBlock("li",{key:0,"data-index":T,class:i.normalizeClass({column:!0,render:o.isRenderer(I),"non-border":!!o.borderStyle,[I.field]:I.field}),style:i.normalizeStyle({width:`${I.width}px`,"min-width":`${o.isRenderer(I)?e.rendererMinWidth:e.minWidth}px`,"margin-right":e.orderedColumns.length-1===T&&(e.hasVerticalScrollBar||e.hasHorizontalScrollBar)?`${e.scrollWidth}px`:"0px","border-right":e.orderedColumns.length-1===T?"none":"1px solid #CFCFCF"}),draggable:!0,onDragstart:t[6]||(t[6]=(...V)=>o.onDragStart&&o.onDragStart(...V)),onDragover:t[7]||(t[7]=(...V)=>o.onDragOver&&o.onDragOver(...V)),onDrop:t[8]||(t[8]=(...V)=>o.onDrop&&o.onDrop(...V))},[I.customHeader&&e.$slots.customHeader?i.renderSlot(e.$slots,"customHeader",{key:0},void 0,!0):(i.openBlock(),i.createElementBlock("span",{key:1,title:I.caption,class:"column-name",onClick:[V=>o.onColumnContextMenu(V,I),t[5]||(t[5]=i.withModifiers((...V)=>e.columnMenu.show&&e.columnMenu.show(...V),["prevent"]))]},[i.createTextVNode(i.toDisplayString(I.caption)+" ",1),i.createElementVNode("span",{onClick:i.withModifiers(V=>o.onSort(I),["stop"])},[e.$slots.sortIcon?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[I.sortable===void 0||I.sortable?(i.openBlock(),i.createElementBlock("span",{key:0,class:"column-sort__icon column-sort__icon--basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,"sortIcon",{},void 0,!0)],4)):i.createCommentVNode("",!0),e.sortField===I.field?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass([{"column-sort__icon":!0,"column-sort__icon--asc":e.sortOrder==="asc","column-sort__icon--desc":e.sortOrder==="desc"}]),style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,`sortIcon_${e.sortOrder}`,{},void 0,!0)],6)):i.createCommentVNode("",!0)],64)):(i.openBlock(),i.createElementBlock(i.Fragment,{key:1},[I.sortable===void 0||I.sortable?(i.openBlock(),i.createBlock(u,{key:0,class:"column-sort__icon column-sort__icon--basic",icon:"basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},null,8,["style"])):i.createCommentVNode("",!0),e.sortField===I.field?(i.openBlock(),i.createBlock(u,{key:1,class:i.normalizeClass([{"column-sort__icon":!0,"column-sort__icon--asc":e.sortOrder==="asc","column-sort__icon--desc":e.sortOrder==="desc"}]),icon:e.sortOrder,style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,visibility:e.sortOrder?I.hidden:!0})},null,8,["class","icon","style"])):i.createCommentVNode("",!0)],64))],8,Q0)],8,J0)),i.createElementVNode("span",{class:"column-resize",onMousedown:i.withModifiers(V=>o.onColumnResize(T,V),["stop","left"])},null,40,eC)],46,K0)):i.createCommentVNode("",!0)],64))),128)),(E=e.$props.option.customContextMenu)!=null&&E.length?(i.openBlock(),i.createElementBlock("li",{key:2,class:i.normalizeClass({column:!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:"30px","min-width":"30px","margin-right":e.hasVerticalScrollBar||e.hasHorizontalScrollBar?`${e.scrollWidth}px`:"0px"})},null,6)):i.createCommentVNode("",!0)])],2),[[i.vShow,o.showHeader]]),i.createElementVNode("div",{ref:"body",class:i.normalizeClass({stripe:o.stripeStyle,"table-body":!0,"bottom-border":!!e.viewStore.length,"non-border":!!o.borderStyle}),onScroll:t[11]||(t[11]=(...I)=>o.onScroll&&o.onScroll(...I)),onContextmenu:t[12]||(t[12]=I=>o.onContextMenu(I))},[i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollTopHeight}px;`),class:"vscroll-spacer"},null,4),i.createElementVNode("table",tC,[i.createElementVNode("tbody",null,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.viewStore,(I,T)=>{var V,C;return i.openBlock(),i.createElementBlock(i.Fragment,{key:o.idColIndex!=null?I[2][o.idColIndex]:T},[i.createElementVNode("tr",{"data-index":I[0],class:i.normalizeClass({row:!0,selected:I[3],highlight:I[0]===o.highlightIdx,"non-border":!!o.borderStyle&&o.borderStyle!=="rows"}),disabled:I[o.ROW_DISABLED_INDEX],onClick:S=>o.onRowClick(S,I),onContextmenu:S=>o.onRowClick(S,I,!0),onDblclick:S=>o.onRowDblClick(S,I)},[e.useCheckbox.use?(i.openBlock(),i.createElementBlock("td",{key:0,class:i.normalizeClass({cell:!0,"row-checkbox":!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${e.minWidth}px`,height:`${e.rowHeight}px`,"border-right":"1px solid #CFCFCF"})},[i.createVNode(h,{modelValue:I[1],"onUpdate:modelValue":S=>I[1]=S,class:"row-checkbox-input",disabled:I[5]||I[o.ROW_DISABLED_INDEX],onChange:S=>o.onCheck(S,I)},null,8,["modelValue","onUpdate:modelValue","disabled","onChange"])],6)):i.createCommentVNode("",!0),e.useRowDetail?(i.openBlock(),i.createElementBlock("td",{key:1,class:i.normalizeClass({cell:!0,"row-detail-toggle":!0,"non-border":!!o.borderStyle,"row-detail-toggle--expanded":I[4]}),style:i.normalizeStyle({width:`${e.minWidth}px`,height:`${e.rowHeight}px`,"border-right":"1px solid #CFCFCF"})},[i.createVNode(a,{modelValue:I[4],"onUpdate:modelValue":S=>I[4]=S,icon:"ev-icon-s-play",class:"row-detail-toggle-icon",onClick:i.withModifiers(S=>o.onExpanded(S,I),["stop"])},null,8,["modelValue","onUpdate:modelValue","onClick"])],6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.orderedColumns,(S,k)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:`${o.idColIndex!=null?I[2][o.idColIndex]:T}-${k}`},[!S.hide&&!S.hiddenDisplay?(i.openBlock(),i.createElementBlock("td",{key:0,"data-name":S.field,"data-index":S.index,class:i.normalizeClass({cell:!0,render:o.isRenderer(S),[S.type]:S.type,[S.align]:S.align,[S.field]:S.field,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${S.width}px`,height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,"min-width":`${o.isRenderer(S)?e.rendererMinWidth:e.minWidth}px`,"border-right":e.orderedColumns.length-1===k?"none":"1px solid #CFCFCF"}),disabled:I[o.ROW_DISABLED_INDEX]},[e.$slots[S.field]?(i.openBlock(),i.createElementBlock("div",iC,[i.renderSlot(e.$slots,S.field,{item:{row:I,column:S},disabled:I[o.ROW_DISABLED_INDEX]},void 0,!0)])):(i.openBlock(),i.createElementBlock("div",{key:1,title:o.getConvertValue(S,I[2][S.index])},i.toDisplayString(o.getConvertValue(S,I[2][S.index])),9,sC))],14,oC)):i.createCommentVNode("",!0)],64))),128)),(V=e.$props.option.customContextMenu)!=null&&V.length?(i.openBlock(),i.createElementBlock("td",{key:2,class:i.normalizeClass({"row-contextmenu":!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({position:"sticky",right:0,width:"30px",height:`${e.rowHeight}px`,"min-width":"30px","line-height":`${e.rowHeight}px`}),disabled:I[o.ROW_DISABLED_INDEX]},[e.$slots.contextmenuIcon?(i.openBlock(),i.createElementBlock("span",{key:0,class:"row-contextmenu__btn",disabled:I[o.ROW_DISABLED_INDEX],onClick:t[9]||(t[9]=S=>o.onContextMenu(S))},[i.renderSlot(e.$slots,"contextmenuIcon",{},void 0,!0)],8,aC)):(i.openBlock(),i.createBlock(c,{key:1,icon:"ev-icon-warning2",class:"row-contextmenu__btn",disabled:I[o.ROW_DISABLED_INDEX],onClick:t[10]||(t[10]=S=>o.onContextMenu(S))},null,8,["disabled"]))],14,lC)):i.createCommentVNode("",!0)],42,nC),e.useRowDetail&&((C=e.$slots)!=null&&C.rowDetail)&&I[4]?(i.openBlock(),i.createElementBlock("tr",rC,[i.createElementVNode("td",{colspan:I.length},[i.createElementVNode("div",{style:i.normalizeStyle({width:"100%",height:`${e.detailRowHeight}px`,"min-height":`${e.detailRowHeight}px`,"max-height":`${e.detailRowHeight}px`})},[i.renderSlot(e.$slots,"rowDetail",{item:{row:I}},void 0,!0)],4)],8,cC)])):i.createCommentVNode("",!0)],64)}),128)),e.viewStore.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("tr",dC,[i.createElementVNode("td",hC,i.toDisplayString(o.emptyText),1)]))])],512),i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollBottomHeight}px;`),class:"vscroll-spacer"},null,4),i.createVNode(f,{ref:"menu","custom-class":e.contextMenuClass,items:e.contextMenuItems},null,8,["custom-class","items"]),i.createVNode(f,{ref:"columnMenu",items:e.columnMenuItems},null,8,["items"]),i.createVNode(f,{ref:"gridSettingMenu",items:e.gridSettingContextMenuItems,"is-show-menu-on-click":e.isShowMenuOnClick},null,8,["items","is-show-menu-on-click"])],34),i.withDirectives(i.createElementVNode("div",uC,null,512),[[i.vShow,e.showResizeLine]])],2)],16)),[[y,o.onResize],[M,{callback:o.onShow,once:!0}]]),o.useSummary?(i.openBlock(),i.createBlock(g,{key:1,"ordered-columns":e.orderedColumns,stores:o.stores,"use-checkbox":e.useCheckbox.use,"style-option":{borderStyle:o.borderStyle,minWidth:e.minWidth,rowHeight:e.rowHeight},"scroll-left":o.summaryScroll},null,8,["ordered-columns","stores","use-checkbox","style-option","scroll-left"])):i.createCommentVNode("",!0),e.usePage&&!e.isInfinite?(i.openBlock(),i.createBlock(p,{key:2,modelValue:e.currentPage,"onUpdate:modelValue":t[13]||(t[13]=I=>e.currentPage=I),total:e.pageTotal,"per-page":e.perPage,"visible-page":e.visiblePage,"show-page-info":e.showPageInfo,order:e.order},null,8,["modelValue","total","per-page","visible-page","show-page-info","order"])):i.createCommentVNode("",!0),i.createVNode(m,{"is-show":e.isShowFilterSetting,"onUpdate:isShow":t[14]||(t[14]=I=>e.isShowFilterSetting=I),items:e.filteringItemsByColumn,"onUpdate:items":t[15]||(t[15]=I=>e.filteringItemsByColumn=I),column:e.filteringColumn,position:e.filterSettingPosition,onApplyFiltering:o.onApplyFilter},null,8,["is-show","items","column","position","onApplyFiltering"]),i.createVNode(x,{"is-show":e.isShowColumnSetting,"onUpdate:isShow":t[16]||(t[16]=I=>e.isShowColumnSetting=I),"is-show-menu-on-click":e.isShowMenuOnClick,"onUpdate:isShowMenuOnClick":t[17]||(t[17]=I=>e.isShowMenuOnClick=I),columns:e.updatedColumns,"hidden-column":e.hiddenColumn,position:e.columnSettingPosition,"text-info":e.columnSettingTextInfo,onApplyColumn:o.onApplyColumn},null,8,["is-show","is-show-menu-on-click","columns","hidden-column","position","text-info","onApplyColumn"])],64)}const no=le(z0,[["render",fC],["__scopeId","data-v-22cd2bf6"]]);no.install=e=>{e.component(no.name,no)};const ai=document.createElement("canvas").getContext("2d"),Y={hexToRgb(e){if(!e)return!1;const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e),n=parseInt(t[1],16),o=parseInt(t[2],16),s=parseInt(t[3],16);return`${n},${o},${s}`},getColorStringType(e){if(!e)return"";const t=e.replace(/ /g,""),n=/^#(?:[A-Fa-f0-9]{3}){1,2}$/.exec(t),o=/^rgb[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*(?:,(?![)])|(?=[)]))){3}[)]$/.exec(t),s=/^rgba[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*,){3}\s*0*(?:\.\d+|1?)\s*[)]$/.exec(t);let l="";return n?l="HEX":o?l="RGB":s?l="RGBA":l="NONE",l},colorStringToRgba(e,t=1){const n=e.replace(/ /g,""),o=this.getColorStringType(n);let s="";switch(o){case"HEX":s=`rgba(${this.hexToRgb(n)},${t})`;break;case"RGB":s=n.replace(")",`, ${t})`).replace("rgb","rgba");break;case"RGBA":s=n.replace(`${this.getOpacity(e)})`,`${t})`);break;default:s=`rgba(0, 0, 0, ${t})`;break}return s},getOpacity(e){const t=e==null?void 0:e.replace(/ /g,"");return this.getColorStringType(t)==="RGBA"?t.replace(/^.*,(.+)\)/,"$1"):"1"},calculateMagnitude(e){return Math.floor(Math.log(e)/Math.LN10)},aliasPixel(e){return e%2===0?0:.5},getLabelStyle(e){const{fontStyle:t="normal",fontWeight:n="normal",fontSize:o="12",fontFamily:s="Roboto"}=e;return`${t} normal ${n} ${o}px ${s}`},labelSignFormat(e,t=null){const n=gh(1),o=mh(1),s=fh(1),l=uh(1),a=1e3;let r;if(!ft(e))return e;const c=e<0,d=Math.abs(e),h=(u,f,g)=>{let p;return u%f===0?p=pt(t)?`${u/f}${g}`:`${(u/f).toFixed(t)}${g}`:p=`${(u/f).toFixed(1)}${g}`,c?`-${p}`:p};if(d>=n)r=h(d,n,"P");else if(d>=o)r=h(d,o,"T");else if(d>=s)r=h(d,s,"G");else if(d>=l)r=h(d,l,"M");else if(d>=a)r=h(d,1e3,"K");else{const u=pt(t)?d:d.toFixed(t);r=c?`-${u}`:`${u}`}return r},calcTextSize(e,t,n=0){const o=document.createElement("span"),s=`visibility:hidden; position:absolute; top:-10000px; font: ${t}; padding: 0 ${n}px`;o.setAttribute("style",s),o.style.font=t,o.textContent=e,document.body.appendChild(o);const l=o.getBoundingClientRect(),a=l.width||2,r=l.height||2;return o.remove(),{width:a,height:r}},calcTextSizeCanvas(e,t){if(!e)return{width:2,height:2};ai.save(),ai.font=t;const n=ai.measureText(e),o=t.match(/(\d+(?:\.\d+)?)px/),l=(o?Number(o[1]):14)*1.2;return ai.restore(),{width:Math.max(Math.ceil(n.width),2),height:Math.max(Math.ceil(l),2)}},getStringMinMax(e){const t={min:e[0],max:e[0]};return e.forEach(n=>{var o,s;((o=t==null?void 0:t.max)==null?void 0:o.length)<(n==null?void 0:n.length)&&(t.max=n),((s=t==null?void 0:t.min)==null?void 0:s.length)>(n==null?void 0:n.length)&&(t.min=n)}),t},truncateLabelWithEllipsis(e,t,n,o="right"){if(!e)return"";if(!t)return e;const s="…",l=n.measureText(s).width;let a=e,r=n.measureText(a).width;if(r<=t||r<=l)return e;let c=a.length;for(;r>=t-l&&c-- >0;)a=o==="right"?a.substring(0,c):a.substring(1,a.length),r=n.measureText(a).width;return o==="right"?a+s:s+a},showLabelTip(e){const{ctx:t,width:n,height:o,x:s,y:l,arrowSize:a,borderRadius:r,text:c,backgroundColor:d,textColor:h}=e,u=s-n/2,f=s+n/2,g=l-o,p=l;t.beginPath(),t.save(),t.fillStyle=d||"#E96E2C",t.strokeStyle=d||"#E96E2C",t.shadowBlur=0,t.moveTo(u+r,g),t.quadraticCurveTo(u,g,u,g+r),t.lineTo(u,p-r),t.quadraticCurveTo(u,p,u+r,p),t.lineTo(f-r,p),t.quadraticCurveTo(f,p,f,p-r),t.lineTo(f,g+r),t.quadraticCurveTo(f,g,f-r,g),t.lineTo(s-a,g),t.lineTo(s,g-a),t.lineTo(s+a,g),t.lineTo(u+r,g),t.closePath(),t.fill(),t.restore(),t.save(),t.font="normal normal bold 12px Roboto",t.fillStyle=h||"#FFF",t.textBaseline="middle",t.textAlign="center",t.fillText(`${c}`,s,g+o/2),t.restore(),t.beginPath()},isPieType(e){return e==="pie"||e==="doughnut"||e==="sunburst"},isDoughnutHole(e){return e==="doughnut"||e==="sunburst"},setDOMStyle(e,t){var n;!e||!t||(n=Object.keys(t))==null||n.forEach(o=>{e.style[o]=t[o]})},checkSafeInteger(e){return e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER},htmlToElement(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild},isNullOrUndefined(e){return e==null},rgbaAdjustHalfOpacity(e){const t=/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/,n=/^rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)$/;if(t.test(e)){const[,o,s,l]=e.match(t);return`rgba(${o}, ${s}, ${l}, 0.5)`}if(n.test(e)){const[,o,s,l,a]=e.match(n),r=(parseFloat(a)/2).toFixed(2);return`rgba(${o}, ${s}, ${l}, ${r})`}return e.startsWith("#")&&e.length>7?e:`${e}80`},calcBoxDistance(e,t,n){if(e.w!==null&&e.w!==void 0&&e.h!==null&&e.h!==void 0){const o=e.xp,s=e.yp,l=Math.min(o,o+e.w),a=Math.max(o,o+e.w),r=Math.min(s,s+e.h),c=Math.max(s,s+e.h),d=Math.max(0,l-t,t-a),h=Math.max(0,r-n,n-c);return d*d+h*h}return(e.xp-t)**2+(e.yp-n)**2}};function mC(e){const t=(String(e).split(".")[1]??"").length;return e.toFixed(t+1)}var gC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function pC(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Mr={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(gC,function(){var n=1e3,o=6e4,s=36e5,l="millisecond",a="second",r="minute",c="hour",d="day",h="week",u="month",f="quarter",g="year",p="date",m="Invalid Date",x=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(L){var R=["th","st","nd","rd"],v=L%100;return"["+L+(R[(v-20)%10]||R[v]||R[0])+"]"}},M=function(L,R,v){var N=String(L);return!N||N.length>=R?L:""+Array(R+1-N.length).join(v)+L},E={s:M,z:function(L){var R=-L.utcOffset(),v=Math.abs(R),N=Math.floor(v/60),O=v%60;return(R<=0?"+":"-")+M(N,2,"0")+":"+M(O,2,"0")},m:function L(R,v){if(R.date()<v.date())return-L(v,R);var N=12*(v.year()-R.year())+(v.month()-R.month()),O=R.clone().add(N,u),P=v-O<0,_=R.clone().add(N+(P?-1:1),u);return+(-(N+(v-O)/(P?O-_:_-O))||0)},a:function(L){return L<0?Math.ceil(L)||0:Math.floor(L)},p:function(L){return{M:u,y:g,w:h,d,D:p,h:c,m:r,s:a,ms:l,Q:f}[L]||String(L||"").toLowerCase().replace(/s$/,"")},u:function(L){return L===void 0}},I="en",T={};T[I]=y;var V="$isDayjsObject",C=function(L){return L instanceof B||!(!L||!L[V])},S=function L(R,v,N){var O;if(!R)return I;if(typeof R=="string"){var P=R.toLowerCase();T[P]&&(O=P),v&&(T[P]=v,O=P);var _=R.split("-");if(!O&&_.length>1)return L(_[0])}else{var A=R.name;T[A]=R,O=A}return!N&&O&&(I=O),O||!N&&I},k=function(L,R){if(C(L))return L.clone();var v=typeof R=="object"?R:{};return v.date=L,v.args=arguments,new B(v)},w=E;w.l=S,w.i=C,w.w=function(L,R){return k(L,{locale:R.$L,utc:R.$u,x:R.$x,$offset:R.$offset})};var B=function(){function L(v){this.$L=S(v.locale,null,!0),this.parse(v),this.$x=this.$x||v.x||{},this[V]=!0}var R=L.prototype;return R.parse=function(v){this.$d=function(N){var O=N.date,P=N.utc;if(O===null)return new Date(NaN);if(w.u(O))return new Date;if(O instanceof Date)return new Date(O);if(typeof O=="string"&&!/Z$/i.test(O)){var _=O.match(x);if(_){var A=_[2]-1||0,z=(_[7]||"0").substring(0,3);return P?new Date(Date.UTC(_[1],A,_[3]||1,_[4]||0,_[5]||0,_[6]||0,z)):new Date(_[1],A,_[3]||1,_[4]||0,_[5]||0,_[6]||0,z)}}return new Date(O)}(v),this.init()},R.init=function(){var v=this.$d;this.$y=v.getFullYear(),this.$M=v.getMonth(),this.$D=v.getDate(),this.$W=v.getDay(),this.$H=v.getHours(),this.$m=v.getMinutes(),this.$s=v.getSeconds(),this.$ms=v.getMilliseconds()},R.$utils=function(){return w},R.isValid=function(){return this.$d.toString()!==m},R.isSame=function(v,N){var O=k(v);return this.startOf(N)<=O&&O<=this.endOf(N)},R.isAfter=function(v,N){return k(v)<this.startOf(N)},R.isBefore=function(v,N){return this.endOf(N)<k(v)},R.$g=function(v,N,O){return w.u(v)?this[N]:this.set(O,v)},R.unix=function(){return Math.floor(this.valueOf()/1e3)},R.valueOf=function(){return this.$d.getTime()},R.startOf=function(v,N){var O=this,P=!!w.u(N)||N,_=w.p(v),A=function(q,ee){var J=w.w(O.$u?Date.UTC(O.$y,ee,q):new Date(O.$y,ee,q),O);return P?J:J.endOf(d)},z=function(q,ee){return w.w(O.toDate()[q].apply(O.toDate("s"),(P?[0,0,0,0]:[23,59,59,999]).slice(ee)),O)},$=this.$W,W=this.$M,F=this.$D,U="set"+(this.$u?"UTC":"");switch(_){case g:return P?A(1,0):A(31,11);case u:return P?A(1,W):A(0,W+1);case h:var j=this.$locale().weekStart||0,K=($<j?$+7:$)-j;return A(P?F-K:F+(6-K),W);case d:case p:return z(U+"Hours",0);case c:return z(U+"Minutes",1);case r:return z(U+"Seconds",2);case a:return z(U+"Milliseconds",3);default:return this.clone()}},R.endOf=function(v){return this.startOf(v,!1)},R.$set=function(v,N){var O,P=w.p(v),_="set"+(this.$u?"UTC":""),A=(O={},O[d]=_+"Date",O[p]=_+"Date",O[u]=_+"Month",O[g]=_+"FullYear",O[c]=_+"Hours",O[r]=_+"Minutes",O[a]=_+"Seconds",O[l]=_+"Milliseconds",O)[P],z=P===d?this.$D+(N-this.$W):N;if(P===u||P===g){var $=this.clone().set(p,1);$.$d[A](z),$.init(),this.$d=$.set(p,Math.min(this.$D,$.daysInMonth())).$d}else A&&this.$d[A](z);return this.init(),this},R.set=function(v,N){return this.clone().$set(v,N)},R.get=function(v){return this[w.p(v)]()},R.add=function(v,N){var O,P=this;v=Number(v);var _=w.p(N),A=function(W){var F=k(P);return w.w(F.date(F.date()+Math.round(W*v)),P)};if(_===u)return this.set(u,this.$M+v);if(_===g)return this.set(g,this.$y+v);if(_===d)return A(1);if(_===h)return A(7);var z=(O={},O[r]=o,O[c]=s,O[a]=n,O)[_]||1,$=this.$d.getTime()+v*z;return w.w($,this)},R.subtract=function(v,N){return this.add(-1*v,N)},R.format=function(v){var N=this,O=this.$locale();if(!this.isValid())return O.invalidDate||m;var P=v||"YYYY-MM-DDTHH:mm:ssZ",_=w.z(this),A=this.$H,z=this.$m,$=this.$M,W=O.weekdays,F=O.months,U=O.meridiem,j=function(ee,J,te,G){return ee&&(ee[J]||ee(N,P))||te[J].slice(0,G)},K=function(ee){return w.s(A%12||12,ee,"0")},q=U||function(ee,J,te){var G=ee<12?"AM":"PM";return te?G.toLowerCase():G};return P.replace(b,function(ee,J){return J||function(te){switch(te){case"YY":return String(N.$y).slice(-2);case"YYYY":return w.s(N.$y,4,"0");case"M":return $+1;case"MM":return w.s($+1,2,"0");case"MMM":return j(O.monthsShort,$,F,3);case"MMMM":return j(F,$);case"D":return N.$D;case"DD":return w.s(N.$D,2,"0");case"d":return String(N.$W);case"dd":return j(O.weekdaysMin,N.$W,W,2);case"ddd":return j(O.weekdaysShort,N.$W,W,3);case"dddd":return W[N.$W];case"H":return String(A);case"HH":return w.s(A,2,"0");case"h":return K(1);case"hh":return K(2);case"a":return q(A,z,!0);case"A":return q(A,z,!1);case"m":return String(z);case"mm":return w.s(z,2,"0");case"s":return String(N.$s);case"ss":return w.s(N.$s,2,"0");case"SSS":return w.s(N.$ms,3,"0");case"Z":return _}return null}(ee)||_.replace(":","")})},R.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},R.diff=function(v,N,O){var P,_=this,A=w.p(N),z=k(v),$=(z.utcOffset()-this.utcOffset())*o,W=this-z,F=function(){return w.m(_,z)};switch(A){case g:P=F()/12;break;case u:P=F();break;case f:P=F()/3;break;case h:P=(W-$)/6048e5;break;case d:P=(W-$)/864e5;break;case c:P=W/s;break;case r:P=W/o;break;case a:P=W/n;break;default:P=W}return O?P:w.a(P)},R.daysInMonth=function(){return this.endOf(u).$D},R.$locale=function(){return T[this.$L]},R.locale=function(v,N){if(!v)return this.$L;var O=this.clone(),P=S(v,N,!0);return P&&(O.$L=P),O},R.clone=function(){return w.w(this.$d,this)},R.toDate=function(){return new Date(this.valueOf())},R.toJSON=function(){return this.isValid()?this.toISOString():null},R.toISOString=function(){return this.$d.toISOString()},R.toString=function(){return this.$d.toUTCString()},L}(),D=B.prototype;return k.prototype=D,[["$ms",l],["$s",a],["$m",r],["$H",c],["$W",d],["$M",u],["$y",g],["$D",p]].forEach(function(L){D[L[1]]=function(R){return this.$g(R,L[0],L[1])}}),k.extend=function(L,R){return L.$i||(L(R,B,k),L.$i=!0),k},k.locale=S,k.isDayjs=C,k.unix=function(L){return k(1e3*L)},k.en=T[I],k.Ls=T,k.p={},k})})(Mr);var yC=Mr.exports;const Je=pC(yC),xC={createDataSet(e,t){Object.keys(this.seriesInfo.charts).forEach(n=>{const o=this.seriesInfo.charts[n];o.length&&(n==="pie"?this.options.sunburst?this.createSunburstDataSet(e):this.createPieDataSet(e,o):n==="scatter"?o.forEach(s=>{const l=this.seriesList[s],a=e[s],r=l==null?void 0:l.passingValue;l&&a&&(l.data=this.addSeriesDSforScatter(a),l.minMax=this.getSeriesMinMax(l.data,r))}):n==="heatMap"?o.forEach(s=>{const l=this.seriesList[s],a=l==null?void 0:l.passingValue,r=e[s];l&&r&&(l.labels=t,l.data=this.addSeriesDSForHeatMap(r),l.minMax=this.getSeriesMinMax(l.data,a),l.valueOpt=this.getSeriesValueOptForHeatMap(l))}):o.forEach(s=>{var c,d;const l=this.seriesList[s],a=(c=e==null?void 0:e[s])==null?void 0:c.some(h=>h===l.passingValue);l.hasPassingValueInData=a;const r=(d=e==null?void 0:e[s])==null?void 0:d.map(h=>l.interpolation==="zero"&&!h?0:h===l.passingValue?null:h);l&&r&&(l.isExistGrp&&l.stackIndex&&!l.isOverlapping?l.data=this.addSeriesStackDS(r,t,l.bsIds,l.stackIndex):l.data=this.addSeriesDS(r,t,l.isExistGrp),l.minMax=this.getSeriesMinMax(l.data,l.passingValue))}))})},createRealTimeScatterDataSet(e){var o,s,l;const t=Object.keys(e),n={maxY:0,minY:1/0,fromTime:0,toTime:0};for(let a=0;a<t.length;a++){const r=t[a],c=e[r],d=c==null?void 0:c.length;if(!this.isInit||this.updateSeries||!this.dataSet[r]){const k={dataGroup:[],startIndex:0,endIndex:null,length:0,fromTime:0,toTime:0};this.dataSet[r]={...k,...this.dataSet[r]}}const h=this.dataSet[r],u=h.dataGroup,f=this.options.realTimeScatter.range||300,g=h.length!==f;h.length=f;const p=h.length;let m=0;for(let k=0;k<d;k++){const w=c[k];w&&m<w.x&&(m=w.x)}m=m?Math.floor(m/1e3)*1e3:0;const x=((l=(s=(o=u.at(-1))==null?void 0:o.data)==null?void 0:s.at(-1))==null?void 0:l.x)||Date.now(),b=Math.floor(x/1e3)*1e3,y=h.toTime||b,M=m||y;if(h.endIndex==null||g){h.startIndex=0,h.endIndex=p-1,u.length=p;for(let k=0;k<p;k++)u[k]=u[k]||{data:[],max:0,min:1/0},u[k].data.length=0,u[k].max=0,u[k].min=1/0;h.toTime=M,h.fromTime=h.toTime-p*1e3}const E=(M-y)/1e3,I=Number.isFinite(E)?Math.max(0,Math.floor(E)):0;if(h.toTime=M,h.fromTime=h.toTime-p*1e3,m&&(h.toTime-m)/1e3>p&&r==="")return;const T=k=>{k.data.length=0,k.max=0,k.min=1/0};for(let k=0;k<p;k++)u[k]?u[k].data||(u[k].data=[],u[k].max=0,u[k].min=1/0):u[k]={data:[],max:0,min:1/0};if(I>0)if(I>=p){for(let k=0;k<p;k++)T(u[k]);h.startIndex=0,h.endIndex=p-1}else{let k=h.startIndex,w=h.endIndex;for(let B=0;B<I;B++)T(u[k]),k=(k+1)%p,w=(w+1)%p;h.startIndex=k,h.endIndex=w}for(let k=0;k<d;k++){const w=c[k];if(w){const B=Math.floor(w.x/1e3)*1e3;if(h.fromTime<=B){let D=h.endIndex-(h.toTime-B)/1e3;D<0&&(D=p+D);const L=u[D];L.data.push({x:w.x,y:w.y,o:w.value??w.y,color:w.color}),L.max=Math.max(L.max,w.y),L.min=Math.min(L.min,w.y)}}}const V=1e3,C={maxY:0,minY:1/0};for(let k=0;k<p;k++){const w=u[k];for(let B=0;B<w.data.length;B++){const D=w.data[B],L=Math.floor(D.x/V)*V;L>=h.fromTime&&L<=h.toTime&&Number.isFinite(D.y)&&(D.y>C.maxY&&(C.maxY=D.y),D.y<C.minY&&(C.minY=D.y))}}Number.isFinite(C.minY)&&(n.maxY=Math.max(n.maxY,C.maxY),n.minY=Math.min(n.minY,C.minY)),n.fromTime=h.fromTime,n.toTime=h.toTime}Number.isFinite(n.minY)||(n.minY=0,n.maxY=0),this.seriesInfo.charts.scatter.forEach(a=>{const r=this.seriesList[a];r.data=this.dataSet,r.minMax={minX:Je(n.fromTime),minY:n.minY,maxX:Je(n.toTime),maxY:n.maxY}})},createSunburstDataSet(e){this.pieDataSet=[];const t=this.pieDataSet,n=[];for(let o=0;o<e.length;o++){const s=e[o],l=this.seriesList[s.id];let a=!1;if(t[0]||(t[0]={ir:0,or:0,total:0,data:[]}),l.show){if(t[0].total+=s.value||0,t[0].data.push({parent:"$ev-root",id:s.id,value:s.value,sa:0,ea:0}),s.children)for(let r=0;r<s.children.length;r++)this.seriesList[s.children[r].id].show&&(a=!0),n.push({parent:s.id,data:s.children[r],depth:1});else{const r={id:"dummy",value:s.value};n.push({parent:s.id,data:r,depth:1})}if(!a){const r={id:"dummy",value:s.value};n.push({parent:s.id,data:r,depth:1})}}}for(t[0].data.sort((o,s)=>s.value-o.value);n.length;){const o=n.shift(),s=o.parent,l=o.data,a=o.depth;let r=!1;t[a]||(t[a]={ir:0,or:0,total:{},data:[]}),t[a].total[s]||(t[a].total[s]=0);const c=this.seriesList[l.id];if(l.id==="dummy")t[a].data.push({parent:s,id:"dummy",value:l.value,sa:0,ea:0}),t[a].total[s]+=l.value;else if(c&&c.show){if(t[a].data.push({parent:s,id:l.id,value:l.value,sa:0,ea:0}),t[a].total[s]+=l.value,l.children)for(let d=0;d<l.children.length;d++)this.seriesList[l.children[d].id].show&&(r=!0),n.push({parent:l.id,data:l.children[d],depth:a+1});else{const d={id:"dummy",value:l.value};n.push({parent:l.id,data:d,depth:a+1})}if(!r){const d={id:"dummy",value:l.value};n.push({parent:l.id,data:d,depth:a+1})}}t[a].data.sort((d,h)=>h.value-d.value)}},createPieDataSet(e,t){this.pieDataSet=[];const n=this.pieDataSet;n[0]={data:[],ir:0,or:0,total:0},t.forEach(o=>{if(this.seriesList[o].show){const s=e[o][0]??0;n[0].total+=s,n[0].data.push({id:o,value:s,sa:0,ea:0})}}),n.forEach(o=>{o.data.sort((s,l)=>l.value-s.value)})},addSeriesStackDS(e,t,n,o=0){const s=this.seriesList,l=this.options.horizontal,a=[],r=new Map,c=(h,u,f)=>{const g=`${h}-${u}-${f>=0?"pos":"neg"}`;if(r.has(g))return r.get(g);let p=0,m=h;for(;m>=0;){const x=s[n[m]];if(x!=null&&x.show){const b=x.data[u],y=l?b==null?void 0:b.x:b==null?void 0:b.y,M=b==null?void 0:b.o,E=!Y.isNullOrUndefined(x.passingValue)&&x.passingValue===M,I=f>=0&&M>=0||f<0&&M<0;if(y!=null&&!E&&I){p=y;break}}m--}return r.set(g,p),p},d=n.length-1;return e.forEach((h,u)=>{const f=Math.max(0,d);let g=c(f,u,h),p=h,m=t[u],x=h;if(g!=null&&m!=null){x&&typeof x=="object"&&("x"in x||"y"in x)&&(p=l?h.x:h.y,m=l?h.y:h.x);const b=(p==null?void 0:p.value)??p;o>0?b!=null?x=g+b:x=p:(g=0,x=b),a.push(this.addData(x,m,p,g))}}),a},addSeriesDS(e,t,n){var a;const o=this.options.horizontal,s=[],l=(a=this.seriesList[Object.keys(this.seriesList)[0]])==null?void 0:a.passingValue;return e.forEach((r,c)=>{let d=r,h=t[c];if(d&&typeof d=="object"&&(r.x||r.y)&&(d=o?r.x:r.y,h=o?r.y:r.x),h!==null){const u=n&&!Y.isNullOrUndefined(l)&&d===l;s.push(this.addData(u?0:d,h,d))}}),s},addSeriesDSforScatter(e){return e.map(t=>{const n=t.x,o={value:t.y,color:(t==null?void 0:t.color)||null};return this.addData(o,n,o)})},addSeriesDSForHeatMap(e){return e.map(({x:t,y:n,value:o,color:s=null})=>({x:t,y:n,o,xp:null,yp:null,w:null,h:null,dataColor:s,cId:null}))},addData(e,t,n=null,o=null){let s,l=null,a=null,r=null,c=null,d=null;return e!==null&&typeof e=="object"?(l=e.value,r=e.color,d=e.textColor):l=e??null,n!==null&&typeof n=="object"?(a=n.value,c=n.color):a=n??null,this.options.horizontal?s={x:l,y:t,o:a,b:o}:s={x:t,y:l,o:a,b:o},s.xp=null,s.yp=null,s.w=null,s.h=null,s.dataColor=r??c,s.dataTextColor=d,s},getSeriesMinMax(e,t){const n={minX:null,minY:null,maxX:null,maxY:null,maxDomain:null},o=this.options.horizontal;if(e.length){const s=!Y.isNullOrUndefined(t);return e.reduce((l,a,r)=>{var f,g,p;const c=l,d=((f=a.x)==null?void 0:f.value)||a.x,h=((g=a.y)==null?void 0:g.value)||a.y,u=((p=a.o)==null?void 0:p.value)||a.o;return(s?u!==t&&d<=c.minX:d<=c.minX)&&(c.minX=d===null?0:d),(s?u!==t&&h<=c.minY:h<=c.minY)&&(c.minY=h===null?0:h),(s?u!==t&&d>=c.maxX:d>=c.maxX)&&(c.maxX=d===null?0:d,o&&d!==null&&(c.maxDomain=h,c.maxDomainIndex=r)),(s?u!==t&&h>=c.maxY:h>=c.maxY)&&(c.maxY=h===null?0:h,!o&&h!==null&&(c.maxDomain=d,c.maxDomainIndex=r)),c},{minX:e[0].x,minY:e[0].y,maxX:e[0].x,maxY:e[0].y,maxDomain:o?e[0].y:e[0].x,maxDomainIndex:0})}return n},getSeriesValueOptForHeatMap(e){const{data:t,colorState:n,isGradient:o}=e,s=this.options.heatMapColor,l=s.colorsByRange.length||s.rangeCount,a=s.decimalPoint;let r,c=0,d=!1;t.forEach(({o:u})=>{c<u&&(c=Math.max(c,u)),u<0?d=!0:r===void 0?r=u:r=Math.min(r,u)}),d&&!o&&n.length===l&&n.push({id:`color#${l}`,color:s.error,state:"normal",label:"Error",show:!0});let h=c>r?Math.floor((c-r)/l):1;return c-r<=l&&(a>0?h=+((c-r)/l).toFixed(a):h=1),{min:r,max:c,interval:h,existError:d,decimalPoint:a}},getItemByLabelIndex(e){if(e<0)return!1;const t=Object.keys(this.seriesList),n=!!this.options.horizontal;let o=null,s=null,l=null,a="",r=0,c=!1,d=!1;if(e>-1){for(let h=0;h<t.length;h++){const u=t[h],f=this.seriesList[u],g=f.data[e];if(g&&f.show&&f.showLegend){const p=n?g.y:g.x,m=n?g.yp:g.xp;if(p!=null){const x=n?g.o||g.x:g.o||g.y;f.stackIndex?(r+=isNaN(g.o)?0:g.o,c=!0):r+=g.y,(l===null||l<=x)&&(l=x,a=u,o=p,s=m)}}}d={label:o,pos:s,value:l===null?0:l,sId:a,acc:r,useStack:c,maxIndex:e}}return d},getItem(e,t=!1){const{seriesID:n,dataIndex:o}=e;let s;if("seriesID"in e){const l=this.getDataByValues(n,o);if(!l||!(l!=null&&l.xp)||!(l!=null&&l.yp))return null;s=[this.getHitItemByPosition([l.xp,l.yp],t,o,!0)]}else{const l=Object.entries(this.seriesList);let a;for(let r=0;r<l.length;r++){const[c,d]=l[r];if(d.show){a=c;break}}s=o==null?void 0:o.map(r=>{const c=this.getDataByValues(a,r);return c?this.getHitItemByPosition([(c==null?void 0:c.xp)??0,(c==null?void 0:c.yp)??0],t,r,!0):null})}return s},getDataByValues(e,t){const n=this.seriesList[e];return!n||isNaN(t)||t<0||(n==null?void 0:n.data.length)<=t?!1:n.data[t]},getHitItemByPosition(e,t=!1,n,o=!1,s=!1){var B;const l=Object.keys(this.seriesList),a=!!this.options.horizontal,[r,c]=e;let d=n;if(d===void 0&&!t){const D=l.find(L=>{var v;const R=this.seriesList[L];return(R==null?void 0:R.show)&&((v=R==null?void 0:R.data)==null?void 0:v.length)>0});if(D){const L=this.seriesList[D].data,R=a?e[1]:e[0];let v=1/0,N=-1;for(let O=0;O<L.length;O++){const P=s||l.some(A=>{var $,W,F,U;const z=this.seriesList[A];return(z==null?void 0:z.show)&&((W=($=z.data)==null?void 0:$[O])==null?void 0:W.o)!==null&&((U=(F=z.data)==null?void 0:F[O])==null?void 0:U.o)!==void 0}),_=L[O];if(P&&_){let A;if(a?A=_.h?_.yp+_.h/2:_.yp:A=_.w?_.xp+_.w/2:_.xp,A!=null){const z=Math.abs(R-A);z<v&&(v=z,N=O)}}}N!==-1&&(d=N)}}let h=null,u=null,f=null,g=null,p="",m=null,x=1/0,b=!1,y=null,M=null,E=null,I=null,T="",V=null,C=1/0,S=0,k=!1;for(let D=0;D<l.length;D++){const L=l[D],R=this.seriesList[L],v=t?R.findApproximateData:R.findGraphData;if(v){const N=v.call(R,e,a,d,o),O=N.data,P=N.index;if(O)if(Y.isPieType(N.type))h=N.type,u=L,p=L,f=(O.ea-O.sa)/2,g=O.o,m=O.index;else{const _=a?O.y:O.x,A=a?O.yp:O.xp;if(_!=null){const z=a?O.o||O.x:O.o||O.y;R.stackIndex!=null?(S+=isNaN(O.o)?0:O.o,k=!0):S+=O.y;const $=z!=null&&!Number.isNaN(z),W=O.xp!==null&&O.xp!==void 0&&O.yp!==null&&O.yp!==void 0;if($&&W){const F=Y.calcBoxDistance(O,r,c);(T===""||F<C)&&(C=F,y=R.type,M=_,E=A,I=z,T=L,V=P)}else $&&T===""&&(y=R.type,M=_,E=A,I=z,T=L,V=P);if(N.hit&&O.xp!==void 0&&O.yp!==void 0){const F=(O.xp-e[0])**2+(O.yp-e[1])**2;N.directHit?((!b||F<x)&&(x=F,h=R.type,u=_,f=A,g=z,p=L,m=P),b=!0):b||F<x&&(x=F,h=R.type,u=_,f=A,g=z,p=L,m=P)}}}}}if(s&&p===""&&T===""&&d!==void 0&&d>=0){const D=l.find(R=>{var N;const v=this.seriesList[R];return(v==null?void 0:v.show)&&((N=v==null?void 0:v.data)==null?void 0:N.length)>0}),L=D?(B=this.seriesList[D].data)==null?void 0:B[d]:null;L&&(M=a?L.y:L.x,V=d)}const w=p!=="";return{type:w?h:y,label:w?u:M,pos:w?f:E,value:(w?g:I)??0,sId:w?p:T,acc:S,useStack:k,dataIndex:w?m:V}},getLabelInfoByPosition(e,t){var m,x,b;const[n,o]=e,s={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},l=this.data.series,a=((m=Object.values(l).sort((y,M)=>M.pointSize??0-y.pointSize??0)[0])==null?void 0:m.pointSize)??3,{horizontal:r,selectLabel:c}=this.options;let d,h;t==="xAxis"?(d=this.axesX[0],h=this.scrollbar.x):t==="yAxis"?(d=this.axesY[0],h=this.scrollbar.y):(d=r?this.axesY[0]:this.axesX[0],h=r?this.scrollbar.y:this.scrollbar.x);const u=s[d.units.rectStart],f=s[d.units.rectEnd];let g,p;if(h!=null&&h.use&&((x=d==null?void 0:d.labels)!=null&&x.length)){const{type:y,range:M,interval:E=1}=h,[I,T]=M??[0,d.labels.length],V=Math.floor((+T-+I)/E)+1,C=(f-u)/V,k=Math.floor(((t==="yAxis"||r?o:n)-u)/C);y==="step"?g=I+k:g=(d==null?void 0:d.labels.findIndex(B=>B===+I))+k}else if((b=d==null?void 0:d.labels)!=null&&b.length){const y=(f-u)/d.labels.length,E=Math.floor(((t==="yAxis"?o:n)-u)/y);g=d.labels.length>E?E:-1}else{let y,M;n<u-a?(y=u,M=0):n>f+a?(y=f,M=this.data.labels.length-1):y=n,p=this.getHitItemByPosition([y,o],c==null?void 0:c.useApproximateValue,M,!0),g=p.dataIndex??-1}return{labelIndex:g,hitInfo:p}},getCurMouseLabelVal(e,t,n){const{type:o,horizontal:s}=this.options,l=e==="xAxis",a=l?"x":"y";let r="",c=-1;const d=()=>{let u="";switch(o){case"bar":case"line":{u=s&&!l||!s&&l?this.data.labels[n]:"";break}case"heatMap":{u=this.data.labels[a][n];break}}return u},h=()=>{let u="";const f={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},{steps:g,interval:p,graphMin:m}=this.axesSteps[a][0],{width:x,height:b}=this.axesRange[a][0].size,y=l?this.axesX:this.axesY,M=f[y[0].units.rectStart],E=f[y[0].units.rectEnd],I=Math.abs(t[l?0:1]-M),T=(l?x:b)/2,V=Math.abs(M-E)/g,C=Math.floor((I+T)/V);return V*C+T>I&&V*C-T<I&&(u=C*p+m),u};return typeof n=="number"&&(r=d(),c=n),r||(r=h(),c=-1),{labelVal:r,labelIdx:c}},getStoreMinMax(){const e=Object.keys(this.seriesList),t=this.options.horizontal,n={x:[{min:null,max:null}],y:[{min:null,max:null}]};return e.length?e.reduce((o,s)=>{const l=o,a=this.seriesList[s],r=a.minMax,c=a.xAxisIndex,d=a.yAxisIndex;if(l.x[c]||(l.x[c]={min:null,max:null,maxSID:null}),l.y[d]||(l.y[d]={min:null,max:null,maxSID:null}),r&&a.show){t?((l.x[c].min===null||r.minX!==null&&r.minX<l.x[c].min)&&(l.x[c].min=r.minX),r.minY!==null&&(l.y[d].min===null||r.minY!==null&&r.minY<l.y[d].min)&&(l.y[d].min=r.minY)):(r.minX!==null&&(l.x[c].min===null||r.minX!==null&&r.minX<l.x[c].min)&&(l.x[c].min=r.minX),(l.y[d].min===null||r.minY!==null&&r.minY<l.y[d].min)&&(l.y[d].min=r.minY));const h=this.seriesList[s].isExistGrp,u=l.x[c].max<0;(h&&u||!l.x[c].max||r.maxX>=l.x[c].max)&&(l.x[c].max=r.maxX,l.x[c].maxSID=s);const f=l.y[d].max<0;(h&&f||!l.y[d].max||r.maxY>=l.y[d].max)&&(l.y[d].max=r.maxY,l.y[d].maxSID=s)}return l},{x:[{min:null,max:null,maxSID:null}],y:[{min:null,max:null,maxSID:null}]}):n},calculateAngle(){const e=this.pieDataSet;let t,n,o,s,l,a,r,c,d;const h=[],u={"$ev-root":1.5*Math.PI};for(let f=0;f<e.length;f++){const g=e[f];d=!0;for(let p=0;p<g.data.length;p++)if(t=g.data[p],n=t.value,d&&(d=t.id==="dummy"),!f)a=u["$ev-root"],l=2*Math.PI*(n/g.total),r=a+l,t.sa=a,t.ea=r,u["$ev-root"]+=l;else{if(o=this.getParentInfo(f-1,t.parent),!o)break;u[t.parent]||(u[t.parent]=o.sa),a=u[t.parent],c=o.ea-o.sa,s=g.total[t.parent]||0,l=c*(n/s),r=a+l,t.sa=a,t.ea=r,u[t.parent]+=l}d&&h.push(f)}for(let f=0;f<h.length;f++)this.pieDataSet.splice(h,1);this.options.reverse&&(this.pieDataSet=zp(this.pieDataSet))},getParentInfo(e,t){for(let n=e;n>=0;n--){const o=this.pieDataSet[n];for(let s=0;s<o.data.length;s++)if(o.data[s].id===t)return o.data[s]}return null},getAggregations(){const e=this.data.data,t=this.data.series,n={},o=Object.keys(t);return o==null||o.forEach(s=>{const l=e[s].map(f=>f!=null&&f.value?f.value:f),a=l[l.length-1],r=l.filter(f=>f!=null),c=Math.min(...r),d=Math.max(...r),h=r.reduce((f,g)=>f+g,0),u=h/r.length||0;(!Y.checkSafeInteger(c)||!Y.checkSafeInteger(d)||!Y.checkSafeInteger(u)||!Y.checkSafeInteger(h)||!Y.checkSafeInteger(a))&&console.warn("[EVUI][Chart] The aggregated value exceeds 9007199254740991 or less than -9007199254740991."),n[s]={min:c,max:d,avg:u,total:h,last:a}}),n}},bC={x:{rectStart:"x1",rectEnd:"x2",rectOffsetCounter:e=>e==="top"?"y2":"y1",rectOffset:e=>e==="top"?"y1":"y2"},y:{rectStart:"y2",rectEnd:"y1",rectOffsetCounter:e=>e==="left"?"x2":"x1",rectOffset:e=>e==="left"?"x1":"x2"}},Vt=["#2b99f0","#8ac449","#00C4C5","#ffde00","#ff7781","#8470ff","#75cd8e","#48d1cc","#fec64f","#fe984f","#0052ff","#00a48c","#83cfde","#dfe32d","#ff7d40","#99c7ff","#a5fee3","#0379c9","#eef093","#ffa891","#00c5cd","#009bc7","#cacaff","#ffc125","#df6264"],oo={show:!0,highlight:{defaultSize:4,maxSize:6,maxShadowSize:10,maxShadowOpacity:.4},xAxisIndex:0,yAxisIndex:0,point:!0,pointHighlight:!0,pointSize:3,pointStyle:"",lineWidth:2,fill:!1,fillOpacity:.4,showLegend:!0,passingValue:null,interpolation:"none"},CC={show:!0,highlight:{pointSize:5},xAxisIndex:0,yAxisIndex:0,category:!0,showLegend:!0,showValue:{use:!1,fontSize:12,textColor:"#000000",formatter:null,decimalPoint:null}},SC={show:!0,showLegend:!0,stroke:{show:!0,color:"#FFFFFF",lineWidth:2},showValue:{use:!1,fontSize:12,textColor:"#000000",formatter:null}},Ir={min:null,max:null,autoScaleRatio:null,startToZero:!1,showAxis:!0,axisLineColor:"#C9CFDC",axisLineWidth:1,showGrid:!0,gridLineColor:"#C9CFDC",showAxisTick:!0,showIndicator:!1,timeFormat:"mm:ss",range:null,interval:null,decimalPoint:"auto",fixedSteps:!1,scaleChange:!1,labelStyle:{show:!0,fontSize:12,color:"#25262E",fontFamily:"Roboto",fontWeight:400,fitWidth:!1,fitDir:"right",alignToGridLine:!1,padding:0,fixWidth:void 0},showLastLabel:!1,lastLabelFontStyle:null,title:{use:!1,text:null,fontWeight:400,fontSize:12,fontFamily:"Roboto",textAlign:"right",fontStyle:"normal",color:"#808080"},scrollbar:{use:!1,width:14,height:14,background:"#F2F2F2",showButton:!0,thumbStyle:{background:"#929292",radius:0}}},Er={show:!1,fontSize:12,fontColor:"#FF0000",fillColor:"#FFFFFF",lineColor:"#FF0000",lineWidth:0,fontWeight:400,fontFamily:"Roboto",verticalAlign:"middle",textAlign:"center",textOverflow:"none",maxWidth:null},vr={color:"#FF0000",lineWidth:1,label:Er},Tr={color:"#FAE59D"},wC={show:!0,xAxisIndex:0,yAxisIndex:0,showLegend:!0,showValue:{use:!1,fontSize:12,textColor:"#000000",formatter:null,decimalPoint:0},highlight:{stroke:{use:!1,color:null,width:1,radius:0},shadow:{use:!0,offsetX:0,offsetY:0,blur:4,color:"#959494"}}},ri={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:26784e5,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},kC=Object.freeze([1,2,5]),ie={calculateX(e,t,n,o,s=0){if(e==null||e>n||e<t)return null;const l=o/(n-t);return Math.ceil(s+l*(e-t))},calculateSubX(e,t,n,o,s=0){if(e==null)return null;const l=o/(n-t);return Math.ceil(s+l*(e-t))},calculateY(e,t,n,o,s=0){let l;if(e==null||e>n||e<t)return null;const a=o/(n-t);return s?l=s-a*(e-(t||0)):l=-(a*(e-(t||0))),Math.floor(l)},drawPoint(e,t,n,o,s){let l,a,r,c,d;if(isNaN(n)||n<=0)return;let h,u,f,g;switch(t){case"triangle":e.beginPath(),l=3*n/Math.sqrt(3),c=l*Math.sqrt(3)/2,e.moveTo(o-l/2,s+c/3),e.lineTo(o+l/2,s+c/3),e.lineTo(o,s-2*c/3),e.closePath(),e.fill();break;case"rect":d=1/Math.SQRT2*n,e.beginPath(),e.fillRect(o-d,s-d,2*d,2*d),e.strokeRect(o-d,s-d,2*d,2*d);break;case"rectRounded":h=n/Math.SQRT2,u=o-h,f=s-h,g=Math.SQRT2*n,e.beginPath(),this.roundedRect(e,u,f,g,g,n/2),e.closePath(),e.fill();break;case"rectRot":d=1/Math.SQRT2*n,e.beginPath(),e.moveTo(o-d,s),e.lineTo(o,s+d),e.lineTo(o+d,s),e.lineTo(o,s-d),e.closePath(),e.fill();break;case"cross":e.beginPath(),e.moveTo(o,s+n),e.lineTo(o,s-n),e.moveTo(o-n,s),e.lineTo(o+n,s),e.closePath();break;case"crossRot":e.beginPath(),a=Math.cos(Math.PI/4)*n,r=Math.sin(Math.PI/4)*n,e.moveTo(o-a,s-r),e.lineTo(o+a,s+r),e.moveTo(o-a,s+r),e.lineTo(o+a,s-r),e.closePath();break;case"star":e.beginPath(),e.moveTo(o,s+n),e.lineTo(o,s-n),e.moveTo(o-n,s),e.lineTo(o+n,s),a=Math.cos(Math.PI/4)*n,r=Math.sin(Math.PI/4)*n,e.moveTo(o-a,s-r),e.lineTo(o+a,s+r),e.moveTo(o-a,s+r),e.lineTo(o+a,s-r),e.closePath();break;case"line":e.beginPath(),e.moveTo(o-n,s),e.lineTo(o+n,s),e.closePath();break;default:e.beginPath(),e.arc(o,s,n,0,Math.PI*2),e.closePath(),e.fill();break}e.stroke()},roundedRect(e,t,n,o,s,l){const a=Math.PI,r=a/2;if(l){const c=Math.min(l,s/2,o/2),d=t+c,h=n+c,u=t+o-c,f=n+s-c;e.moveTo(t,h),d<u&&h<f?(e.arc(d,h,c,-a,-r),e.arc(u,h,c,-r,0),e.arc(u,f,c,0,r),e.arc(d,f,c,r,a)):d<u?(e.moveTo(d,n),e.arc(u,h,c,-r,r),e.arc(d,h,c,r,a+r)):h<f?(e.arc(d,h,c,-a,0),e.arc(d,f,c,0,a)):e.arc(d,h,c,-a,a),e.closePath(),e.moveTo(t,n)}else e.rect(t,n,o,s)},createGradient(e,t,n,o,s,l){const{x:a,y:r,w:c,h:d}=n;let h;t?h=e.createLinearGradient(a,0,a+c,0):h=e.createLinearGradient(0,r,0,r+d);for(let u=0;u<o.length;u++){const f=o[u][0]??0,g=o[u][1]??"rgba(255, 255, 255, 0)",p=g.includes("rgba")?Y.getOpacity(g):1,m=s?l:p;h.addColorStop(f,Y.colorStringToRgba(g,m))}return h}};class MC{constructor(t,n,o){const s=Fe({},n,oo);Object.keys(s).forEach(l=>{this[l]=s[l]}),this.name===void 0&&(this.name=`series-${o}`),["color","pointFill","fillColor"].forEach(l=>{this[l]===void 0&&(this[l]=l==="pointFill"?this.color:Vt[o%Vt.length])}),this.type="line",this.sId=t,this.extent={downplay:{opacity:.3,lineWidth:1},normal:{opacity:1,lineWidth:1},highlight:{opacity:1,lineWidth:2}},this.data=[],this.beforeMouseXp=0,this.beforeMouseYp=0,this.beforeFindItemIndex=-1,this.size={comboOffset:0}}useLinearInterpolation(){return this.interpolation==="linear"||this.interpolation==="none"&&!!this.passingValue&&this.hasPassingValueInData}draw(t){var P,_,A,z,$,W,F;if(!this.show)return;const{ctx:n,chartRect:o,labelOffset:s,axesSteps:l,selectLabel:a,selectSeries:r,legendHitInfo:c,isBrush:d,unSelectedOpacity:h}=t,u=a==null?void 0:a.option,f=(u==null?void 0:u.use)&&(u==null?void 0:u.useSeriesOpacity),g=((P=a==null?void 0:a.selected)==null?void 0:P.dataIndex)??[];let p;if(c)p=this.extent[(c==null?void 0:c.sId)===this.sId?"highlight":"downplay"];else if((_=r==null?void 0:r.option)!=null&&_.use&&((z=(A=r==null?void 0:r.selected)==null?void 0:A.seriesId)!=null&&z.length)){const U=(W=($=r==null?void 0:r.selected)==null?void 0:$.seriesId)==null?void 0:W.includes(this.sId);p=this.extent[U?"highlight":"downplay"]}else f&&g.length?p=this.extent.downplay:p=this.extent.normal;p===this.extent.downplay&&(p={...p,opacity:h});const m=U=>U!=null&&U.includes("rgba")?Y.getOpacity(U):p.opacity,x=this.color,b=m(x),y=this.pointFill,M=m(y),E=this.extent.downplay?this.fillOpacity*p.opacity:this.fillOpacity,I=this.lineWidth*p.lineWidth;n.beginPath(),n.save(),n.lineJoin="round",n.lineWidth=I,n.strokeStyle=Y.colorStringToRgba(x,b),this.segments&&n.setLineDash(this.segments);const T=this.useLinearInterpolation();let V=0;const C=l.x[this.xAxisIndex],S=l.y[this.yAxisIndex];let k=o.chartWidth-(s.left+s.right);const w=o.chartHeight-(s.top+s.bottom);this.combo&&(V=k/(this.data.length||1),k-=V,this.size.comboOffset=V);const B=o.x1+s.left+V/2,D=o.y2-s.bottom,L=U=>{const j=Math.min(Math.max(U,C.graphMin),C.graphMax);return ie.calculateX(j,C.graphMin,C.graphMax,k,B)},R=U=>{const j=Math.min(Math.max(U,S.graphMin),S.graphMax);return ie.calculateY(j,S.graphMin,S.graphMax,w,D)},v=this.data.some(U=>U.o<0),N=v?R(0):o.y2-s.bottom;let O;if(this.data.forEach(U=>{let j=L(U.x),K=R(U.y);this.isExistGrp&&T&&U.o===null&&(K=R(U.b??0)),j!==null&&(j+=Y.aliasPixel(j)),U.xp=j,U.yp=K,!(T&&U.o===null)&&(pt(O==null?void 0:O.y)&&!this.isExistGrp||!T&&(pt(O==null?void 0:O.y)||pt(U.o))?n.moveTo(j,K):n.lineTo(j,K),O=U)}),n.stroke(),this.segments&&n.setLineDash([]),this.fill&&this.data.length){n.beginPath();const U=Y.colorStringToRgba(this.fillColor||x,E);if((F=this.fill)!=null&&F.gradient){let J=this.data[0].yp,te=this.data[0].y;this.data.forEach(Z=>{Z.yp&&Z.yp<=J?J=Z.yp:Z.y&&Z.y>=te&&(te=Z.y)});const G=n.createLinearGradient(0,o.y2,0,J),oe=p.opacity<1?U:x;G.addColorStop(0,v?oe:U),G.addColorStop(.5,U),G.addColorStop(1,oe),n.fillStyle=G}else n.fillStyle=U;let j=null,K=null;const q=this.data.map(J=>J==null?void 0:J.o),ee=[];for(let J=0;J<q.length+1;J++)if(T&&Pp(q[J])||!T&&pt(q[J])){if(j!==null&&K!==null){const G=q.slice(j,J).findLastIndex(oe=>!pt(oe)&&oe!==null);ee.push([j,j+G]),j=null,K=null}}else T&&q[J]===null||(j=j===null?J:j),K=J;ee.forEach(([J,te])=>{if(J===te){const G=this.data[J];n.moveTo(G.xp-I,G.yp),n.lineTo(G.xp+I,G.yp),n.lineTo(G.xp+I,R(G.b)??N),n.closePath();return}for(let G=J;G<=te;G++){const oe=this.data[G];if(G===J?n.moveTo(oe.xp,oe.yp):oe.o!==null&&n.lineTo(oe.xp,oe.yp),G===te){for(let Z=te;Z>=J;Z--){const ae=this.data[Z],me=L(ae.x);if(ae.o!==null){const re=R(ae.b)??R(0);n.lineTo(me,re)}}n.closePath()}}}),n.fill()}if(!d){n.strokeStyle=Y.colorStringToRgba(x,b);const U=Y.colorStringToRgba(y,1),j=Y.colorStringToRgba(y,M),K=this.interpolation==="linear"&&this.data.filter(q=>q.o!==null).length===1;this.data.forEach((q,ee)=>{var Z,ae;if(q.xp===null||q.yp===null||q.o===null)return;const J=(Z=this.data[ee-1])==null?void 0:Z.o,te=(ae=this.data[ee+1])==null?void 0:ae.o,G=!T&&pt(J)&&pt(te)||K,oe=g.includes(ee);(this.point||G||oe)&&(n.fillStyle=oe&&!c?U:j,ie.drawPoint(n,this.pointStyle,this.pointSize,q.xp,q.yp))})}n.restore()}itemHighlight(t,n){const o=t.data,s=n,{xp:l,yp:a,o:r}=o;s.save(),l!==null&&a!==null&&r!==null&&this.pointHighlight&&(s.strokeStyle=Y.colorStringToRgba(this.color,0),s.fillStyle=Y.colorStringToRgba(this.color,this.highlight.maxShadowOpacity),ie.drawPoint(s,this.pointStyle,this.highlight.maxShadowSize,l,a),s.fillStyle=this.color,ie.drawPoint(s,this.pointStyle,this.highlight.maxSize,l,a),s.fillStyle="#fff",ie.drawPoint(s,this.pointStyle,this.highlight.defaultSize,l,a)),s.restore()}findGraphData(t,n,o,s){var f;const l=t[0],a=t[1],r={data:null,hit:!1,color:this.color},c=this.data.filter(g=>!Y.isNullOrUndefined(g.x)),d=this.useLinearInterpolation(),h=Math.max((this.pointSize??oo.pointSize)+oo.pointSize,oo.highlight.maxSize),u=g=>{if(!g||g.xp===void 0||g.yp===void 0)return!1;const p=l-g.xp,m=a-g.yp;return p*p+m*m<=h*h};if(c!=null&&c.length)if(typeof o=="number"&&this.show){if(r.data=c[o],r.index=o,r.data){const g=c[o];Math.abs(a-g.yp)<=15&&(r.hit=!0),u(g)&&(r.hit=!0,r.directHit=!0)}}else if(typeof this.beforeFindItemIndex=="number"&&this.beforeFindItemIndex!==-1&&this.show&&s)r.data=c[this.beforeFindItemIndex],r.index=this.beforeFindItemIndex;else{let g=1/0,p=-1;const m=[];c.forEach((M,E)=>{M.xp!==null&&M.yp!==null&&M.o!==null&&m.push({...M,originalIndex:E})}),m.length===0&&c.forEach((M,E)=>{m.push({...M,originalIndex:E})});let x=0,b=m.length-1;for(;x<=b;){const M=Math.floor((x+b)/2),E=m[M],I=Math.abs(l-E.xp);if(I<g&&(g=I,p=E.originalIndex),E.xp<l){if(x=M+1,x<m.length){const T=Math.abs(l-m[x].xp);T<g&&(g=T,p=m[x].originalIndex)}}else if(E.xp>l){if(b=M-1,b>=0){const T=Math.abs(l-m[b].xp);T<g&&(g=T,p=m[b].originalIndex)}}else break}const y=m.findIndex(M=>M.originalIndex===p);if(y!==-1)for(let M=Math.max(0,y-2);M<=Math.min(m.length-1,y+2);M++){const E=m[M],I=Math.abs(l-E.xp);I<g&&(g=I,p=E.originalIndex)}if(p!==-1){let M=50;if(c.length>1){const I=[];for(let T=1;T<c.length;T++)c[T].xp!==null&&c[T-1].xp!==null&&I.push(Math.abs(c[T].xp-c[T-1].xp));I.length>0&&(M=I.reduce((T,V)=>T+V,0)/I.length)}const E=Math.max(M,1);if(g<=E)r.data=c[p],r.index=p;else{let I=!1,T=d?1/0:E;const V=d?m:c;for(let C=0;C<V.length;C++){const S=Math.abs(l-V[C].xp);S<=T&&(I=!0,T=S,p=d?V[C].originalIndex:C)}I&&(r.data=c[p],r.index=p)}if(r.data){const I=c[p];Math.abs(a-I.yp)<=15&&(r.hit=!0),u(I)&&(r.hit=!0,r.directHit=!0)}}}return s||(this.beforeMouseXp=l,this.beforeMouseYp=a,typeof r.index=="number"&&(this.beforeFindItemIndex=r.index)),d&&((f=r==null?void 0:r.data)==null?void 0:f.o)===null&&(r.data=null),r}findApproximateData(t){var f,g;const n=t[0],o=t[1],s={data:null,hit:!1,color:this.color},l=this.data.filter(p=>!Y.isNullOrUndefined(p.x));if(!l.length)return s;const a=l.length>1?Math.abs(((f=l[1])==null?void 0:f.xp)-((g=l[0])==null?void 0:g.xp)):50,r=Math.max(a*.4,10);let c=0,d=l.length-1,h=-1,u=1/0;for(;c<=d;){const p=Math.floor((c+d)/2),m=l[p].xp;if(m-r<=n&&n<=m+r){const x=Math.max(0,p-2),b=Math.min(l.length-1,p+2);for(let y=x;y<=b;y++)if(l[y].xp!==null&&l[y].yp!==null){const M=Math.sqrt((n-l[y].xp)**2+(o-l[y].yp)**2);M<u&&(u=M,h=y)}return h!==-1&&(s.data=l[h],s.index=h,u<5&&(s.hit=!0)),s}else if(m+r<n){if(p<d&&n<l[p+1].xp){const x=Math.abs(l[p].xp-n),b=Math.abs(l[p+1].xp-n);s.data=x>b?l[p+1]:l[p],s.index=x>b?p+1:p;const y=s.data;return Math.abs(o-y.yp)<10&&(s.hit=!0),s}c=p+1}else{if(p>0&&n>l[p-1].xp){const x=Math.abs(l[p-1].xp-n),b=Math.abs(l[p].xp-n);s.data=x>b?l[p]:l[p-1],s.index=x>b?p:p-1;const y=s.data;return Math.abs(o-y.yp)<10&&(s.hit=!0),s}d=p-1}}return s}findItems({xsp:t,width:n}){const o=t+n;return this.data.filter(s=>t-1<=s.xp&&s.xp<=o+1)}}class IC{constructor(t,n,o,s=!1){const l=bs({},oo,n);Object.keys(l).forEach(a=>{this[a]=l[a]}),this.name===void 0&&(this.name=`series-${o}`),["color","pointFill","fillColor","overflowColor"].forEach(a=>{this[a]===void 0&&(this[a]=Vt[o%Vt.length])}),this.sId=t,this.data=[],this.type="scatter",this.realTimeScatter=s,this._rtTotalCount=0,this._colorCache=new Map}getCachedColor(t,n){const o=`${t}_${n}`;if(this._colorCache.has(o))return this._colorCache.get(o);const s=Y.colorStringToRgba(t,n);if(this._colorCache.size>100){const l=this._colorCache.keys().next().value;this._colorCache.delete(l)}return this._colorCache.set(o,s),s}draw(t){this.show&&(this.realTimeScatter?this.realTimeScatterDraw(t):this.defaultScatterDraw(t))}getOpacity(t,n,o){const s=n.includes("rgba")?Y.getOpacity(n):1;let l=!1;const{selectInfo:a,legendHitInfo:r,unSelectedOpacity:c}=t;return r?l=r.sId!==this.sId:a&&(l=(a==null?void 0:a.seriesID)!==this.sId||(a==null?void 0:a.dataIndex)!==o),l?c:s}calcItem(t,n){const{chartRect:o,labelOffset:s,axesSteps:l,displayOverflow:a}=n;let r;const c=l.x[this.xAxisIndex],d=l.y[this.yAxisIndex],h=o.chartWidth-(s.left+s.right),u=o.chartHeight-(s.top+s.bottom),f=o.x1+s.left,g=o.y2-s.bottom;let p=ie.calculateX(t.x,c.graphMin,c.graphMax,h,f);const m=ie.calculateY(a&&t.y>d.graphMax?d.graphMax:t.y,d.graphMin,d.graphMax,u,g);p!==null&&(r=Y.aliasPixel(p),p+=r),t.xp=p,t.yp=m}defaultScatterDraw(t){const{ctx:n,axesSteps:o,duple:s,legendHitInfo:l,coordinateDedupe:a}=t,r=o.y[this.yAxisIndex];for(let c=0;c<this.data.length;c++){const d=this.data[c],h=c,u=a!==!1;let f;if(l?f=l.sId===this.sId:u?f=s.get(`${d.x}${d.y}`)===this.sId:f=!0,f&&(this.calcItem(d,t),d.xp!==null&&d.yp!==null)){const p=d.y>r.graphMax&&this.overflowColor||d.dataColor||this.color,m=this.getOpacity(t,p,h);n.strokeStyle=this.getCachedColor(p,m);const x=d.dataColor||this.pointFill,b=this.getOpacity(t,x,h);n.fillStyle=this.getCachedColor(x,b),ie.drawPoint(n,this.pointStyle,this.pointSize,d.xp,d.yp)}}}realTimeScatterDraw(t){var u,f,g,p,m,x;const{ctx:n,axesSteps:o,duple:s,legendHitInfo:l,coordinateDedupe:a}=t,r=o.y[this.yAxisIndex],c=typeof this.pointStyle=="string"?this.pointStyle:this.pointStyle.value,d=typeof this.pointSize=="number"?this.pointSize:this.pointSize.value;let h=0;for(let b=0;b<((f=(u=this.data[this.sId])==null?void 0:u.dataGroup)==null?void 0:f.length);b++)for(let y=0;y<((p=(g=this.data[this.sId])==null?void 0:g.dataGroup[b])==null?void 0:p.data.length);y++){const M=(x=(m=this.data[this.sId])==null?void 0:m.dataGroup[b])==null?void 0:x.data[y];h++;const E=a!==!1;let I;if(l?I=l.sId===this.sId:E?I=s.get(`${M.x}${M.y}`)===this.sId:I=!0,I&&(this.calcItem(M,t),M.xp!==null&&M.yp!==null)){const T=M.y>r.graphMax&&this.overflowColor,V=T||M.color||this.color,C=T||M.color||this.pointFill||this.color,S=this.getOpacity(t,V,y),k=this.getOpacity(t,C,y);n.strokeStyle=this.getCachedColor(V,S),n.fillStyle=this.getCachedColor(C,k),ie.drawPoint(n,c,d,M.xp,M.yp)}}this._rtTotalCount=h}findItemsInRange(t,n,o,s,l){return t.filter(a=>n-1<=a.xp&&a.xp<=s+1&&o-1<=a.yp&&a.yp<=l+1)}defaultScatterFindItems(t,n,o,s,l){return this.findItemsInRange(t,n,o,s,l)}realTimeScatterFindItems(t,n,o,s,l){const a=[];for(let r=0;r<t[this.sId].dataGroup.length;r++){const c=t[this.sId].dataGroup[r];a.push(...this.findItemsInRange(c.data,n,o,s,l))}return a}findItems({xsp:t,ysp:n,width:o,height:s}){const l=this.data,a=t+o,r=n+s;let c=[];return this.realTimeScatter?c=this.realTimeScatterFindItems(l,t,n,a,r):c=this.defaultScatterFindItems(l,t,n,a,r),c}itemHighlight(t,n){const o=t.data,s=n,l=o.xp,a=o.yp;if(s.save(),l!==null&&a!==null){const r=o.dataColor||this.color,c=o.dataColor||this.pointFill;s.strokeStyle=this.getCachedColor(r,0),s.fillStyle=this.getCachedColor(c,this.highlight.maxShadowOpacity),ie.drawPoint(s,this.pointStyle,this.highlight.maxShadowSize,l,a),s.fillStyle=r,ie.drawPoint(s,this.pointStyle,this.highlight.maxSize,l,a),s.fillStyle="#fff",ie.drawPoint(s,this.pointStyle,this.highlight.defaultSize,l,a)}s.restore()}findGraphData(t){var c;const n=t[0],o=t[1],s={data:null,hit:!1,color:this.color,index:null},l=this.pointSize;if(this.realTimeScatter){const d=(c=this.data[this.sId])==null?void 0:c.dataGroup;if(!d)return s;let u=this._rtTotalCount-1;for(let f=d.length-1;f>=0;f--){const g=d[f];if(g!=null&&g.data)for(let p=g.data.length-1;p>=0;p--){const m=g.data[p];if(m.xp!==null&&m.yp!==null){const x=m.xp,b=m.yp;if(x-l<=n&&n<=x+l&&b-l<=o&&o<=b+l)return s.data=m,s.index=u,s.hit=!0,s}u--}}return s}const a=this.data,r=a.findIndex(d=>{const h=d.xp,u=d.yp;return h-l<=n&&n<=h+l&&u-l<=o&&o<=u+l});return r>-1&&(s.data=a[r],s.index=r,s.hit=!0),s}}class Br{constructor(t,n,o,s){const l=Fe({},n,CC);Object.keys(l).forEach(a=>{this[a]=l[a]}),this.name===void 0&&(this.name=`series-${o}`),this.color===void 0&&(this.color=Vt[o%Vt.length]),this.type="bar",this.sId=t,this.data=[],this.isHorizontal=s,this.size={cat:0,bar:0,cPad:0,bPad:0,w:0,h:0,ix:0}}draw(t){var z,$,W,F,U;if(!this.show)return;const n=t.ctx,o=t.chartRect,s=t.labelOffset,l=t.axesSteps,a=t.showIndex,r=t.thickness,c=t.showSeriesCount;this.isHorizontal=t.isHorizontal;const{isHorizontal:d,showValue:h}=this;let u,f;const g=l.x[this.xAxisIndex],p=l.y[this.yAxisIndex];let m=this.data.length;const[x,b]=d?[p.minIndex,p.maxIndex]:[g.minIndex,g.maxIndex];ve(x)&&ve(b)&&(m=b-x+1);const y=o.chartWidth-(s.left+s.right),M=o.chartHeight-(s.top+s.bottom),E=o.x1+s.left,I=o.y2-s.bottom,T=ie.calculateX(0,g.graphMin,g.graphMax,y),V=ie.calculateY(0,p.graphMin,p.graphMax,M),C=d?E+T:E,S=d?I:I+V,k=d?M:y,w=k/(m||1);let B;t.cPadRatio>=1||t.cPadRatio<=0?B=2:B=Math.max(k*(t.cPadRatio/2)/m,2);let L,R,v;L=w>B*2?w-B*2:w,L=this.isExistGrp?L:L/c;const N=this.calculateBarSize(r,L);R=d?null:N,v=d?N:null;const O=d?(L-v)/2:(L-R)/2,P=this.isExistGrp?1:a+1;this.size.cat=w,this.size.bar=L,this.size.cPad=B,this.size.bPad=O,this.size.w=R,this.size.h=v,this.size.ix=P,this.chartRect=o,this.labelOffset=s,this.borderRadius=t.borderRadius,this.filteredCount=m;const _=ve(x)?x:0,A=ve(b)?b:this.data.length-1;this.visibleStartIndex=_;for(let j=_;j<=A;j++){const K=j-_,q=this.data[j];if(q){const ee=d?S-w*K-B:C+w*K+B;if(d?(u=C,f=Math.round(ee-(L*P-(v+O)))):(u=Math.round(ee+(L*P-(R+O))),f=S),d){const ue=q.b?q.o:q.x,ke=Math.min(Math.max(ue,g.graphMin),g.graphMax);if(R=ie.calculateX(ke,g.graphMin,g.graphMax,y,-T),q.b){const ct=Math.min(Math.max(q.b,g.graphMin),g.graphMax);u=ie.calculateX(ct,g.graphMin,g.graphMax,y,C-T)}const rt=ue>0?-1:1;R=ue&&Math.abs(R)===0?rt:R}else{const ue=q.b?q.o:q.y,ke=Math.min(Math.max(ue,p.graphMin),p.graphMax);if(v=ie.calculateY(ke,p.graphMin,p.graphMax,M,-V),q.b){const ct=Math.min(Math.max(q.b,p.graphMin),p.graphMax);f=ie.calculateY(ct,p.graphMin,p.graphMax,M,S-V)}const rt=ue>0?-1:1;v=ue&&Math.abs(v)===0?rt:v}const J=q.dataColor||this.color,te=t==null?void 0:t.legendHitInfo,G=(z=t==null?void 0:t.selectLabel)==null?void 0:z.option,oe=($=t==null?void 0:t.selectItem)==null?void 0:$.option,Z=((F=(W=t==null?void 0:t.selectLabel)==null?void 0:W.selected)==null?void 0:F.dataIndex)??[],{dataIndex:ae,seriesID:me}=((U=t==null?void 0:t.selectItem)==null?void 0:U.selected)??{};let re=!1;if(te?re=(te==null?void 0:te.sId)!==this.sId:G!=null&&G.use&&(G!=null&&G.useSeriesOpacity)?re=Z.length&&!Z.includes(j):ft(ae)&&(oe!=null&&oe.useSeriesOpacity)&&(this.isExistGrp?re=ae!==j:re=ae!==j||me!==this.sId),typeof J!="string")n.fillStyle=ie.createGradient(n,d,{x:u,y:f,w:R,h:v},J,re,t.unSelectedOpacity);else{const ue=J.includes("rgba")?Y.getOpacity(J):1,ke=re?t.unSelectedOpacity:ue;n.fillStyle=Y.colorStringToRgba(J,ke)}this.drawBar({ctx:n,positions:{x:u,y:f,w:R,h:v}}),h.use&&this.drawValueLabels({context:n,data:q,positions:{x:u,y:f,h:v,w:R},isHighlight:!1,textColor:q.dataTextColor,index:j}),q.xp=u,q.yp=f,q.w=R,q.h=d?-v:v,q.index=j}}}itemHighlight(t,n,o,s){const l=this.showValue,a=t.data,r=n,c=a.xp,d=a.yp,h=a.w,u=a.h;r.save(),r.shadowOffsetX=0,r.shadowOffsetY=0,r.shadowBlur=4;const f=t.data.dataColor||this.color;if(typeof f!="string"){const g=ie.createGradient(r,this.isHorizontal,{x:c,y:d,w:h,h:u},f,!1,s);r.fillStyle=g,r.shadowColor=f[f.length-1][1]}else r.fillStyle=f,r.shadowColor=f;r.beginPath(),this.drawBar({ctx:r,positions:{x:c,y:d,w:h,h:this.isHorizontal?-u:u}}),l.use&&this.drawValueLabels({context:r,data:a,positions:{x:c,y:d,h:u,w:h},isHighlight:!0,textColor:t.data.dataTextColor||t.dataTextColor,index:o}),r.restore()}findGraphData(t,n,o,s){if(typeof o=="number"&&this.show&&s){const l=this.data,a={data:null,hit:!1,color:this.color},r=this.visibleStartIndex??0,c=r+(this.filteredCount??l.length)-1,d=Math.max(r,Math.min(o,c));return l[d]&&(a.data=l[d],a.index=d,a.hit=this.isPointInBar(t,l[d]),a.directHit=a.hit),a}return n?this.findGraphRangeCount(t):this.findGraphRange(t)}binarySearchBar(t,n){const[o,s]=t,l={data:null,hit:!1,color:this.color},a=this.data,r=this.visibleStartIndex??0,c=this.filteredCount??a.length;let d=r,h=Math.min(r+c-1,a.length-1);for(;d<=h;){const u=Math.floor((d+h)/2),f=a[u];if(!f){console.warn(`[EVUI][Bar] binarySearchBar: gdata[${u}] is falsy`);break}const{xp:g,yp:p,w:m,h:x}=f,b=g+m,y=p+x;if(n?y<=s&&s<=p:g<=o&&o<=b)return l.data=f,l.index=f.index,l.hit=this.isPointInBar(t,f),l.directHit=l.hit,l;(n?!(y<s):g+4<o)?d=u+1:h=u-1}return l}findGraphRange(t){return this.binarySearchBar(t,!1)}findGraphRangeCount(t){return this.binarySearchBar(t,!0)}drawValueLabels({context:t,data:n,positions:o,isHighlight:s,textColor:l,index:a}){const r=this.isHorizontal,{fontSize:c,textColor:d,align:h,formatter:u,decimalPoint:f}=this.showValue,{x:g,y:p,w:m,h:x}=o,b=t;b.save(),b.beginPath(),b.font=`normal normal normal ${c}px Roboto`,b.fillStyle=l||d,b.lineWidth=1,b.textBaseline="middle",b.textAlign=r&&h!=="center"?"left":"center";let y;const M=ft(this.stackIndex);M?y=n.o:y=(r?n.x:n.y)??"";let E;u&&(E=u(y,{label:r?n.y:n.x,index:a})),(!u||typeof E!="string")&&(E=Y.labelSignFormat(y,f)??"");const I=y<0,T=Math.round(b.measureText(E).width),V=c,C=10,S=I?g-C:g+C,k=I?p+C:p-C,w=g+m/2,B=s?p+x/2:p-x/2,D=Math.abs(m)-C,L=Math.abs(x)-C;switch(h){case"start":{if(r&&T<D){const R=I?S-T:S;b.fillText(E,R,B)}else if(!r&&V<L){const R=I?p+C:p-C;b.fillText(E,w,R)}break}case"center":{r&&T<D?b.fillText(E,w,B):!r&&V<L&&b.fillText(E,w,p+x/2);break}case"out":{if(M){console.warn("[EVUI][Bar Chart] In case of Stack Bar Chart, 'out' of 'showValue''s align is not supported.");return}if(r){const R=this.chartRect.x1+this.labelOffset.left,v=this.chartRect.x2-this.labelOffset.right;if(I){const N=g-C+m-T;N>R&&b.fillText(E,N,B)}else{const N=g+C+m;N+T<v&&b.fillText(E,N,B)}}else{const R=I?p+x+C:p+x-C;b.fillText(E,w,R)}break}default:case"end":{if(r&&T<D){const R=I?g+m+C:g+m-T-C;b.fillText(E,R,B)}else if(!r){if(I){const R=p+x-C;R>k&&b.fillText(E,w,R)}else if(V<L){const R=p+x+C;b.fillText(E,w,R)}}break}}b.restore()}calculateBarSize(t,n){return typeof t=="string"&&/[0-9]+px/.test(t)?Math.min(n,Number(t.replace("px",""))):typeof t=="number"&&t<=1&&t>=0?Math.ceil(n*t):n}drawBar({ctx:t,positions:n}){const{isHorizontal:o,borderRadius:s}=this,l="stackIndex"in this,a=s&&s>0,{x:r,y:c,w:d}=n,h=o?-n.h:n.h;if(!(d===0||h===0)){if(t.save(),a&&!l)try{this.drawRoundedRect(t,n)}catch{t.fillRect(r,c,d,h)}else t.fillRect(r,c,d,h);t.restore()}}isPointInBar(t,n){const[o,s]=t,{xp:l,yp:a,w:r,h:c}=n,d=l+r,h=a+c;return l<=o&&o<=d&&h<=s&&s<=a}drawRoundedRect(t,n){const{chartRect:o,labelOffset:s,isHorizontal:l,borderRadius:a}=this,{x:r,y:c}=n;let{w:d,h}=n,u=a;const f=new Path2D;f.rect(o.x1+s.left,o.y1,o.chartWidth-s.right,o.chartHeight-s.bottom),t.clip(f),t.beginPath(),t.moveTo(r,c),Math.abs(d)<u*2&&(u=Math.abs(d)/2),Math.abs(h)<u*2&&(u=Math.abs(h)/2),l?d<0?(d+=u,t.lineTo(r+d,c),t.arcTo(r+d-u,c,r+d-u,c-u,u),t.arcTo(r+d-u,c-h,r+d,c-h,u),t.lineTo(r,c-h),t.lineTo(r,c)):(d-=u,t.lineTo(r+d,c),t.arcTo(r+d+u,c,r+d+u,c-u,u),t.arcTo(r+d+u,c-h,r+d,c-h,u),t.lineTo(r,c-h),t.lineTo(r,c)):h>0?(h-=u,t.lineTo(r+d,c),t.lineTo(r+d,c+h),t.arcTo(r+d,c+h+u,r-d+u,c+h+u,u),t.arcTo(r,c+h+u,r,c+h,u),t.lineTo(r,c)):(h+=u,t.lineTo(r+d,c),t.lineTo(r+d,c+h),t.arcTo(r+d,c+h-u,r+d-u,c+h-u,u),t.arcTo(r,c+h-u,r,c+h,u),t.lineTo(r,c)),t.fill(),t.closePath()}}class EC extends Br{draw(t){if(!this.show)return;const n=t.ctx,o=t.chartRect,s=t.labelOffset,l=t.axesSteps,a=t.showIndex,r=t.isHorizontal,c=t.thickness,d=t.showSeriesCount;let h,u;const f=l.x[this.xAxisIndex],g=l.y[this.yAxisIndex],p=o.chartWidth-(s.left+s.right),m=o.chartHeight-(s.top+s.bottom),x=o.x1+s.left,b=o.y2-s.bottom,y=o.x2-s.right,E=(r?m:p)/(this.data.length||1),I=2;let T;this.isExistGrp?T=E-I*2:T=(E-I*2)/d;const C=typeof c=="string"&&/[0-9]+px/.test(c)?Math.min(T,Number(c.replace("px",""))):typeof c=="number"&&c<=1&&c>=0?Math.ceil(T*c):T;let S=r?null:C,k=r?null:C,w=r?C:null;const B=r?(T-w)/2:(T-S)/2,D=this.isExistGrp?1:a+1;this.size.cat=E,this.size.bar=T,this.size.cPad=I,this.size.bPad=B,this.size.w=S,this.size.ix=D,this.chartRect=o,this.labelOffset=s,this.borderRadius=t.borderRadius,this.data.forEach((L,R)=>{if(n.beginPath(),r?(h=x,u=ie.calculateY(L.y,g.graphMin,g.graphMax,m,b)):(h=ie.calculateSubX(L.x,f.graphMin,f.graphMax,p,x),h<x?(k-=x-h,h=h+S<x?null:x):h+S>y&&(k-=k-(y-h)),h>=y&&(h=null),h!==null&&(h+=Math.ceil(T*D)-Math.round(S+B)),u=b),r?L.b?(S=ie.calculateX(L.x-L.b,f.graphMin,f.graphMax,p),h=ie.calculateX(L.b,f.graphMin,f.graphMax,p,x)):S=ie.calculateX(L.x,f.graphMin,f.graphMax,p):L.b?(w=ie.calculateY(L.y-L.b,g.graphMin,g.graphMax,m),u=ie.calculateY(L.b,g.graphMin,g.graphMax,m,b)):w=ie.calculateY(L.y,g.graphMin,g.graphMax,m),h!==null&&u!==null){const v=L.dataColor||this.color,N=v.includes("rgba")?Y.getOpacity(v):1,O=this.state==="downplay"?t.unSelectedOpacity:N;typeof v!="string"?(S=S!==k?k:S,n.fillStyle=ie.createGradient(n,r,{x:h,y:u,w:S,h:w},v,this.state==="downplay",t.unSelectedOpacity)):n.fillStyle=Y.colorStringToRgba(v,O),this.drawBar({ctx:n,positions:{x:h,y:u,w:S,h:w}}),this.showValue.use&&this.drawValueLabels({context:n,data:L,positions:{x:h,y:u,h:w,w:S},isHighlight:!1,index:R})}k=S,L.xp=h,L.yp=u,L.w=S,L.h=r?-w:w})}}class vC{constructor(t,n,o){const s=bs({},SC,n);Object.keys(s).forEach(l=>{this[l]=s[l]}),this.name===void 0&&(this.name=`series-${o}`),this.color===void 0&&(this.color=Vt[o%Vt.length]),this.sId=t,this.show=!0,this.data=[],this.type="pie",this.centerX=0,this.centerY=0,this.radius=0,this.doughnutHoleSize=0,this.startAngle=0,this.endAngle=0,this.ctx=null,this.isSelect=!1}draw(t,n,o){var h;const s=t??this.ctx,l=new Path2D,a=this.isSelect?this.radius+5:this.radius,r=this.color,c=r.includes("rgba")?Y.getOpacity(r):1,d=this.isDownplay?o:c;s.beginPath(),l.moveTo(this.centerX,this.centerY),l.arc(this.centerX,this.centerY,a,this.startAngle,this.endAngle),l.lineTo(this.centerX,this.centerY),s.fillStyle=Y.colorStringToRgba(r,d),s.fill(l),n.use&&(s.lineCap="round",s.lineWidth=n==null?void 0:n.lineWidth,s.strokeStyle=n==null?void 0:n.color,s.stroke(l)),(h=this.showValue)!=null&&h.use&&this.drawValueLabels(s),s.closePath(),this.ctx=s}findGraphData([t,n]){const o={data:null,hit:!1,color:null,index:-1},{radius:s,startAngle:l,endAngle:a,centerX:r,centerY:c}=this,d=Math.sqrt((t-r)**2+(n-c)**2),h=2.5*Math.PI-Math.atan2(t-r,n-c),u=s>d&&h>=l&&h<=a;return this.show&&u&&(o.type=this.type,o.data=this.data,o.hit=!0,o.color=this.color,o.index=0),o}itemHighlight(t,n){var a,r;const o=n,s=this.isSelect?this.radius+5:this.radius;o.save(),o.shadowOffsetX=0,o.shadowOffsetY=0,o.shadowBlur=4;const l=((a=t==null?void 0:t.data)==null?void 0:a.dataColor)||this.color;o.fillStyle=l,o.shadowColor=l,o.beginPath(),o.moveTo(this.centerX,this.centerY),o.arc(this.centerX,this.centerY,s,this.startAngle,this.endAngle),o.lineTo(this.centerX,this.centerY),o.fill(),(r=this.showValue)!=null&&r.use&&this.drawValueLabels(o),o.closePath(),o.restore()}drawValueLabels(t){const n=t,o=this.data.o,{fontSize:s,textColor:l,formatter:a}=this.showValue;let r;a&&(r=a({value:o,percentage:this.data.percentage})),(!a||typeof r!="string")&&(r=Y.labelSignFormat(o));const c=1.8,d=this.radius-this.doughnutHoleSize,h=(this.endAngle-this.startAngle)*180/Math.PI,u=s+4,f=Math.round(n.measureText(r).width);if(h>=f*c&&h>=u*c&&d>=f*c&&d>=u*c){n.save(),n.beginPath();const g=l.includes("rgba")?Y.getOpacity(l):1,p=this.state==="downplay"?this.unSelectedOpacity:g;n.font=`normal normal normal ${s}px Roboto`,n.fillStyle=Y.colorStringToRgba(l,p),n.lineWidth=1,n.textAlign="center",n.textBaseline="middle";const m=d/2+this.doughnutHoleSize,x=(this.endAngle-this.startAngle)/2+this.startAngle,b=m*Math.cos(x)+this.centerX,y=m*Math.sin(x)+this.centerY;n.fillText(r,b,y),n.restore()}}}class TC{constructor(t,n,o,s,l){const a=bs({},wC,n);Object.keys(a).forEach(r=>{this[r]=a[r]}),this.isHorizontal=s,this.isGradient=l,this.createColorState(o),this.sId=t,this.data=[],this.labels={x:[],y:[]},this.valueOpt={},this.size={w:0,h:0},this.type="heatMap",this.currentLabelInfo={x:{steps:0,min:0,max:0},y:{steps:0,min:0,max:0}}}createColorState(t){const n=[],o=/[^0-9]&[^,]/g,{min:s,max:l,rangeCount:a,colorsByRange:r,error:c,stroke:d}=t,h=s.includes("#")?Y.hexToRgb(s):s.replace(o,""),u=l.includes("#")?Y.hexToRgb(l):l.replace(o,""),[f,g,p]=h.split(","),[m,x,b]=u.split(",");if(this.isGradient)n.push({minColor:{minR:f,minG:g,minB:p},maxColor:{maxR:m,maxG:x,maxB:b},rangeCount:a,start:0,end:100,selectedValue:null});else if(r.length)r.forEach(({color:y,label:M},E)=>{n.push({id:`color#${E}`,color:y,label:M,state:"normal",show:!0})});else{const y=Math.floor((f-m)/(a-1)),M=Math.floor((g-x)/(a-1)),E=Math.floor((p-b)/(a-1));for(let I=0;I<a;I++){const T=+f-y*I,V=+g-M*I,C=+p-E*I;n.push({id:`color#${I}`,color:`rgb(${T},${V},${C})`,state:"normal",show:!0})}}this.colorState=n,this.errorColor=c,this.stroke=d}getColorForGradient(t){const{minColor:n,maxColor:o}=this.colorState[0],{minR:s,minG:l,minB:a}=n,{maxR:r,maxG:c,maxB:d}=o,h=+s-Math.floor((s-r)*t/100),u=+l-Math.floor((l-c)*t/100),f=+a-Math.floor((a-d)*t/100);return`rgb(${h},${u},${f})`}getColorIndexByValue(t){const{existError:n,min:o,interval:s,decimalPoint:l}=this.valueOpt,a=this.colorState.length-1;if(n&&t<0)return a;const r=Math.floor(+(t-o).toFixed(l)/s);return r>=a?n?a-1:a:r}getItemInfo(t){const{min:n,max:o}=this.valueOpt,s={show:!1,opacity:1,dataColor:null,id:null,isHighlight:null};if(this.isGradient){const l=We(t-n,o-n),{start:a,end:r,selectedValue:c}=this.colorState[0];(t<0||a<=l&&l<=r)&&(s.show=!0,s.isHighlight=c!==null&&Math.floor(t)===Math.floor(n+(o-n)*(c/100)),s.dataColor=t<0?this.errorColor:this.getColorForGradient(l))}else{const l=this.getColorIndexByValue(t),{show:a,state:r,color:c,id:d}=this.colorState[l];s.show=a,s.opacity=r==="downplay"?.1:1,s.dataColor=t<0?this.errorColor:c,s.id=d}return s}drawItem(t,n,o,s,l,a){if(t.beginPath(),!(s<0||l<0)){if(a.show){const{radius:r}=a;if(r>0){const c=Math.min(s,l);let d=r;d>c/2&&(d=Math.floor(c/2)),t.moveTo(n+d,o),t.arcTo(n+s,o,n+s,o+l,d),t.arcTo(n+s,o+l,n,o+l,d),t.arcTo(n,o+l,n,o,d),t.arcTo(n,o,n+s,o,d),t.stroke(),t.fill()}else t.strokeRect(n,o,s,l),t.fillRect(n,o,s,l)}else{const r=Y.aliasPixel(1);t.fillRect(n,o-r,s+r,l+r)}t.closePath()}}calculateXY(t,n,o,s){let l=null;if(this.labels[t]&&this.labels[t].length){let a=this.labels[t].findIndex(f=>f===n);a===-1&&(a=this.labels[t].findIndex(f=>+f==+n));const{minIndex:r,maxIndex:c,graphMin:d,graphMax:h}=s;if(ve(c)&&a>c||ve(r)&&a<r||qi(r)&&qi(c)&&(n<d||n>h))return null;const u=r??this.labels[t].findIndex(f=>+f==+d);a>-1&&(a-=u>-1?u:0,l=t==="x"?o+this.size.w*a:o-this.size.h*(a+1))}return l}draw(t){if(!this.show)return;const{ctx:n,chartRect:o,labelOffset:s,overlayCtx:l,selectLabel:a,legendHitInfo:r,selectItem:c,axesSteps:d}=t,h=o.chartWidth-(s.left+s.right),u=o.chartHeight-(s.top+s.bottom),f=o.x1+s.left,g=o.y2-s.bottom,p=d.x[this.xAxisIndex],m=d.y[this.yAxisIndex];this.size.w=h/p.oriSteps,this.size.h=u/m.oriSteps,this.currentLabelInfo={x:{steps:p.oriSteps,min:p.graphMin,max:p.graphMax},y:{steps:m.oriSteps,min:m.graphMin,max:m.graphMax}};const x=(b,y,M)=>{var E,I;if(!r){let T;const{option:V,selected:C}=c,{option:S,selected:k}=a,w=ft(C==null?void 0:C.dataIndex)&&(C==null?void 0:C.dataIndex)>-1,B=((E=k==null?void 0:k.label)==null?void 0:E.length)>0;return w?T=V.useSeriesOpacity?M!==(C==null?void 0:C.dataIndex):!1:B&&(T=S.useSeriesOpacity?!((I=k==null?void 0:k.label)!=null&&I.includes(this.getItemLabel(a,b))):!1),T?.1:y}return y};this.data.forEach((b,y)=>{var S;let E=this.calculateXY("x",b.x,f,p),I=this.calculateXY("y",b.y,g,m),T=this.size.w,V=this.size.h;const C=b.o;if(E!==null&&I!==null&&C!==null&&C!==void 0){const{show:k,opacity:w,dataColor:B,id:D,isHighlight:L}=this.getItemInfo(C);let R=w;w===1&&Y.getColorStringType(b.dataColor)==="RGBA"&&(R=Y.getOpacity(b.dataColor));const v=x(b,R,y);if(b.dataColor||(b.dataColor=B),b.cId=D,n.save(),k){n.fillStyle=Y.colorStringToRgba(b.dataColor,v);let N=this.stroke;const O=c==null?void 0:c.option,P=(O==null?void 0:O.use)&&(O==null?void 0:O.showBorder),_=y===((S=c==null?void 0:c.selected)==null?void 0:S.dataIndex);P&&_&&(N={show:O==null?void 0:O.showBorder,...O==null?void 0:O.borderStyle});let A=!1;if(N.show&&N.lineWidth>0){const{color:z,lineWidth:$,opacity:W}=N,F=$*2;A=F<Math.floor(T)&&F<Math.floor(V),n.strokeStyle=A?Y.colorStringToRgba(z,v===1?W:v):void 0,A?(n.lineWidth=$,E+=$,I+=$,T-=F,V-=F):n.lineWidth=0}E+=1,b.xp=E,b.yp=I,b.w=T,b.h=V,this.drawItem(n,E,I,T,V,{...N,show:A}),n.restore(),this.showValue.use&&this.drawValueLabels({context:n,data:b}),L&&this.itemHighlight({data:b},l)}}})}drawValueLabels({context:t,data:n}){const{fontSize:o,textColor:s,align:l,formatter:a,decimalPoint:r}=this.showValue,{xp:c,yp:d,w:h,h:u,o:f}=n,g=t;g.save(),g.beginPath(),g.font=`normal normal normal ${o}px Roboto`,g.fillStyle=s,g.lineWidth=1,g.textBaseline="middle",g.textAlign=l!=="center"?"left":"center";let p;a&&(p=a(f)),(!a||typeof p!="string")&&(p=Y.labelSignFormat(f,r));const m=Math.round(g.measureText(p).width),x=o,b=c+h/2,y=d+u/2;if(!(m>=h||x>=u||p<0)){switch(l){case"top":{const M=b-m/2,E=y-x/2;g.fillText(p,M,E);break}case"right":{const M=c+h-m;g.fillText(p,M,y);break}case"bottom":{const M=b-m/2,E=y+x/2;g.fillText(p,M,E);break}case"left":g.fillText(p,c,y);break;default:{const M=b-m/2;g.fillText(p,M,y);break}}g.restore()}}getAdjustedBounds({xp:t,yp:n,width:o,height:s}){const a=Math.max(0,o),r=Math.max(0,s);return{xsp:Math.floor(t*100)/100,xep:Math.ceil((t+a)*100)/100,ysp:Math.floor(n*100)/100,yep:Math.ceil((n+r)*100)/100}}findItems(t){const n=this.data,{xsp:o,xep:s,ysp:l,yep:a}=this.getAdjustedBounds({xp:t.xsp,yp:t.ysp,width:t.width,height:t.height});return n.filter(({xp:r,yp:c,w:d,h})=>{const{xsp:u,xep:f,ysp:g,yep:p}=this.getAdjustedBounds({xp:r,yp:c,width:d,height:h});return u>=o&&f<=s&&g>=l&&p<=a})}itemHighlight(t,n){var m;const o=t.data,s=n,{stroke:l,shadow:a}=this.highlight,r=o.xp,c=o.yp,d=o.w,h=o.h,u=o.cId;let f;if(this.isGradient){const{min:x,max:b}=this.valueOpt,y=We(o.o-x,b-x),{start:M,end:E}=this.colorState[0];f=M<=y&&y<=E||o.o===-1}else f=(m=this.colorState.find(({id:x})=>x===u))==null?void 0:m.show;if(r===null||c===null||!f)return;s.save();const g=Y.getColorStringType(o.dataColor)==="RGBA"?t.dataColor:Y.colorStringToRgba(o.dataColor,1);s.fillStyle=g,a.use&&(s.shadowOffsetX=a.offsetX,s.shadowOffsetY=a.offsetY,s.shadowBlur=a.blur,s.shadowColor=a.color);const p={color:"",lineWidth:1,opacity:1,radius:0,show:!0};if(l.use){const{color:x,width:b,radius:y}=l;p.show=!0,p.radius=y,s.lineWidth=b,p.lineWidth=b,s.strokeStyle=x||g,p.color=x||g}else p.show=!1,s.strokeStyle=g,p.color=g;this.drawItem(s,r-.5,c-.5,d+1,h+1,p),s.restore(),this.showValue.use&&this.drawValueLabels({context:s,data:o})}findGraphData(t){const n=t[0],o=t[1],s={data:null,hit:!1,color:null,dataColor:null,name:null},l=this.data,a=l.findIndex(r=>{const{xp:c,yp:d,w:h,h:u}=r;return c<=n&&n<=c+h&&d<=o&&o<=d+u});if(a>-1){const r=l[a];s.data=r,s.color=r.dataColor,s.dataColor=r.dataColor,s.index=a,s.hit=!0}return s}findBlockRange({xcp:t,xep:n,ycp:o,yep:s,range:l}){const a=this.labels,r=1,c={xsp:Math.min(t,n),ysp:Math.min(o,s),width:Math.ceil(Math.abs(n-t)),height:Math.ceil(Math.abs(s-o))};if(a.x.length&&a.y.length){const d=this.currentLabelInfo.x.steps||a.x.length,h=this.currentLabelInfo.y.steps||a.y.length,{x1:u,x2:f,y1:g,y2:p}=l,m=(f-u)/d,x=(p-g)/h,b={xsp:t,xep:n,ysp:o,yep:s},y=(M,E,I)=>{let T,V,C;M==="x"?(V=m,C=u+r):(V=x,C=g),a[M].findIndex((k,w)=>(T=C+V*w,T<=E&&E<=T+V))>-1?b[I]=["xsp","ysp"].includes(I)?T:T+V:E<C&&(b[I]=C)};y("x",Math.min(t,n),"xsp"),y("x",Math.max(t,n),"xep"),y("y",Math.min(o,s),"ysp"),y("y",Math.max(o,s),"yep"),c.xsp=Math.min(b.xsp,b.xep),c.ysp=Math.min(b.ysp,b.yep),c.width=Math.abs(b.xep-b.xsp),c.height=Math.abs(b.yep-b.ysp)}return c}getFilteredLabel(t,n,o,s){return t.length!==n?t.filter(l=>o<=l&&l<=s):t}findSelectionRange(t){const{xsp:n,ysp:o,width:s,height:l,range:a}=t;let r=null;const{x1:c,x2:d,y1:h,y2:u}=a,{x:f,y:g}=this.labels;if(f.length&&g.length){const{x:{steps:p,min:m,max:x},y:{steps:b,min:y,max:M}}=this.currentLabelInfo,E=p||f.length,I=b||g.length,T=(d-c)/E,V=(u-h)/I,C=n+s,S=o+l,k={min:Math.floor((n-c)/T),max:Math.floor((C-c-T)/T)},w=I-1,B={min:w-Math.round((S-h-V)/V),max:w-Math.round((o-h)/V)},D=this.getFilteredLabel(f,E,m,x),L=this.getFilteredLabel(g,I,y,M);r={xMin:D[k.min],xMax:D[k.max],yMin:L[B.min],yMax:L[B.max]}}return r}getItemLabel(t,n){const{option:o,selected:s}=t;let l=this.isHorizontal?n.y:n.x;return o!=null&&o.useBothAxis&&(s!=null&&s.targetAxis)&&(l=(s==null?void 0:s.targetAxis)==="yAxis"?n.y:n.x),l}}const Dr={Store:xC,Series:{createSeriesSet(e,t,n,o){let s=Object.keys(e);this.options.overlapping.use&&(s=this.getOverlappingSeriesKeys(e,t,o)),s.forEach((l,a)=>{const r=e[l].type||t;this.seriesList[l]=this.addSeries({type:r,id:l,opt:e[l],index:a,isHorizontal:n})})},getOverlappingSeriesKeys(e,t,n){const o=[],s=[],l=n.flat();return Object.keys(e).forEach(a=>{if((e[a].type||t)==="bar"&&l.length){const d=l.findIndex(h=>h===a);o.push({key:a,overlappingIdx:d})}else s.push({key:a})}),o.sort((a,r)=>r.overlappingIdx-a.overlappingIdx),[...o,...s].map(({key:a})=>a)},addSeries(e){var a;const{type:t,id:n,opt:o,index:s,isHorizontal:l}=e;if(t==="line")return this.seriesInfo.charts.line.push(n),new MC(n,o,s);if(t==="scatter")return this.seriesInfo.charts.scatter.push(n),new IC(n,o,s,(a=this.options.realTimeScatter)==null?void 0:a.use);if(t==="bar")return this.seriesInfo.charts.bar.push(n),o.timeMode?new EC(n,o,s,l):new Br(n,o,s,l);if(t==="pie")return this.seriesInfo.charts.pie.push(n),new vC(n,o,s);if(t==="heatMap"){this.seriesInfo.charts.heatMap.push(n);const{heatMapColor:r,legend:c}=this.options,d=c.type==="gradient";return new TC(n,o,r,l,d)}return!1},addGroupInfo(e){e.forEach((t,n)=>{let o=0;t.reduce((s,l,a)=>{const r=this.seriesList[l];return r.stackIndex=a+o,r.groupIndex=n,r.isExistGrp=!0,r.bsId=s,r.bsIds=t.filter((c,d)=>c!==l&&a>d),r.isOverlapping=this.options.overlapping.use,r.show||o--,r.show?l:s},t[0])})}}};class io{constructor(t,n,o,s){const l=Fe({},n,Ir);Object.keys(l).forEach(a=>{this[a]=l[a]}),this.type=t,this.ctx=o,this.units=bC[this.type],this.options=s,this.position||(this.position=t==="x"?"bottom":"left")}calculateLabelRange(t,n,o,s){let l,a,r;t==="x"?(l=n.chartWidth,r=Math.floor(s*1.1),a=[o.left,o.right]):(l=n.chartHeight,a=[o.top,o.bottom],r=s+Math.floor(l*.1));const c=l-(a[0]+a[1]),d=1,h=Math.max(Math.floor(c/r)-1,1);return{min:d,max:h}}calculateScaleRange(t,n){var d;let o,s,l=!1;const a=n!=null&&n.use?n==null?void 0:n.range:this.range;Array.isArray(a)&&(a==null?void 0:a.length)===2?this.options.type==="heatMap"?(o=a[1]>+t.max?+t.max:a[1],s=a[0]<+t.min?+t.min:a[0]):(o=a[1],s=a[0]):typeof a=="function"?[s,o]=a(t.min,t.max):(o=t.max,s=t.min),this.autoScaleRatio&&(o=Math.ceil(o*(this.autoScaleRatio+1))),this.startToZero&&(s=0),o===s&&(o+=1,l=!0);const r=this.getLabelFormat(s),c=this.getLabelFormat(o,{isMaxValueSameAsMin:l});return{min:s,max:o,minLabel:r,maxLabel:c,size:Y.calcTextSizeCanvas(c,Y.getLabelStyle(this.labelStyle),(d=this.labelStyle)==null?void 0:d.padding)}}getLabelWidthHasMaxLength(t,n,o=[]){const s=Y.getLabelStyle(this.labelStyle);return[...(t??[]).map(r=>this.getLabelFormat(r)),...o].reduce((r,c)=>{var h;const d=((h=Y.calcTextSizeCanvas(c,s))==null?void 0:h.width)??0;return Math.max(r,d)},0)}calculateSteps(t){const{maxValue:n,minValue:o}=t;let{maxSteps:s}=t,l=this.getInterval(t),a=o,r;for(;a<n;)a+=l;const c=a,d=o,h=c-d;if(r=Math.round(h/l),n===1&&(this.decimalPoint?s>2?(l=.2,r=5,s=5):(l=.5,r=2,s=2):(l=1,r=1,s=1)),this.fixedSteps)return{steps:r,interval:l,graphMin:d,graphMax:c};for(;r>s;)l*=2,r=Math.round(h/l),l=Math.ceil(h/r);return c-d>r*l&&(l=Math.ceil((c-d)/r)),{steps:r,interval:l,graphMin:d,graphMax:c}}drawAxisTitle(t,n){const o=this.title;if(!(o!=null&&o.use)||isNaN(o.fontSize))return;const s=this.ctx;s.save(),s.font=Y.getLabelStyle(o),s.fillStyle=o.color,s.textAlign=o.textAlign;const l={xLeft:t.x1+n.left,xRight:t.x2-n.right,yTop:t.y1};let a,r;const c=10;this.type==="x"?(a=l.xRight,r=t.y2+o.fontSize+c):(r=l.yTop-o.fontSize-c,a=l.xLeft),a>0&&r>0&&s.fillText(o.text,a,r),s.restore()}draw(t,n,o,s,l,a){var E,I,T,V,C,S,k,w,B,D,L,R,v,N,O,P,_,A,z,$;const r=this.ctx,c=this.options,d={x1:t.x1+n.left,x2:t.x2-n.right,y1:t.y1+n.top,y2:t.y2-n.bottom},h=o.steps,u=o.graphMin,f=o.graphMax,g=o.interval,p=d[this.units.rectStart],m=d[this.units.rectEnd],x=d[this.units.rectOffset(this.position)],b=d[this.units.rectOffsetCounter(this.position)],y=5;let M;if(this.drawAxisTitle(t,n),r.font=Y.getLabelStyle(this.labelStyle),r.fillStyle=this.labelStyle.color,this.type==="x"?(r.textAlign="center",r.textBaseline=this.position==="top"?"bottom":"top"):(r.textAlign=this.position==="left"?"right":"left",r.textBaseline="middle"),this.showAxis&&(r.lineWidth=this.axisLineWidth,M=Y.aliasPixel(r.lineWidth),r.beginPath(),r.strokeStyle=this.axisLineColor,this.type==="x"?(r.moveTo(p,x+M),r.lineTo(m,x+M)):(r.moveTo(x+M,p),r.lineTo(x+M,m)),r.stroke(),r.closePath()),!(h===0||u===null)){if((E=this.labelStyle)!=null&&E.show){const W=m-p,F=W/h,U=[],j=o.interval;let K=null,q=null,ee=p,J=u;if(this.type==="x"&&(c!=null&&c.axesX[0].flow)&&a.length!==h+1){const G=Math.floor(u/j)*j;G!==+u&&(J=G+j,ee+=W/(f-u)*(J-u))}r.strokeStyle=this.gridLineColor,r.lineWidth=1,M=Y.aliasPixel(r.lineWidth);let te;for(let G=0;G<=h;G++)if(K=Math.round(ee+F*G),K<=m||this.type!=="x"||!(c!=null&&c.axesX[0].flow)||a.length===h+1){r.beginPath(),U[G]=J+G*g,U[G]===0&&this.zeroLineColor?r.strokeStyle=this.zeroLineColor:r.strokeStyle=this.gridLineColor,q=K+M,te=this.getLabelFormat(Math.min(f,U[G]),{prev:U[G-1]??""});const Z=((T=(I=this.options)==null?void 0:I.selectLabel)==null?void 0:T.use)&&((C=(V=this.options)==null?void 0:V.selectLabel)==null?void 0:C.useLabelOpacity)&&this.options.horizontal===(this.type==="y")&&((S=l==null?void 0:l.dataIndex)==null?void 0:S.length)&&!(l!=null&&l.label.map(ue=>this.getLabelFormat(Math.min(f,ue),{prev:U[G-1]??""})).includes(te));let ae;G===h&&this.lastLabelFontStyle?(r.font=Y.getLabelStyle(this.lastLabelFontStyle),ae=this.lastLabelFontStyle.color):(r.font=Y.getLabelStyle(this.labelStyle),ae=this.labelStyle.color);let me=1;Y.getColorStringType(ae)==="RGBA"&&(me=Y.getOpacity(ae)),r.fillStyle=Y.colorStringToRgba(ae,Z?(k=this.options)==null?void 0:k.unSelectedOpacity:me);let re;if(this.type==="x"){if(re=this.position==="top"?x-10:x+10,((w=c==null?void 0:c.brush)!=null&&w.showLabel||!(c!=null&&c.brush))&&r.fillText(this.checkFixWidth(te),K,re),!Z&&((B=c==null?void 0:c.selectItem)!=null&&B.showLabelTip)&&(s!=null&&s.label)&&!((D=this.options)!=null&&D.horizontal)){const ue=this.getLabelFormat(Math.min(f,s.label+0*g));if(ue===te){const ke=Math.round(r.measureText((L=this.labelStyle)==null?void 0:L.fontSize).width);Y.showLabelTip({ctx:this.ctx,width:Math.round(r.measureText(ue).width)+10,height:ke,x:K,y:re+(ke-2),borderRadius:2,arrowSize:3,text:te,backgroundColor:(v=(R=c==null?void 0:c.selectItem)==null?void 0:R.labelTipStyle)==null?void 0:v.backgroundColor,textColor:(O=(N=c==null?void 0:c.selectItem)==null?void 0:N.labelTipStyle)==null?void 0:O.textColor})}}this.showAxisTick&&(r.beginPath(),r.strokeStyle=this.axisLineColor,r.moveTo(q,x),r.lineTo(q,x+y),r.stroke(),r.closePath()),(G!==0||c!=null&&c.axesX[0].flow)&&this.showGrid&&(r.beginPath(),r.strokeStyle=this.gridLineColor,r.moveTo(q,x),r.lineTo(q,b),r.stroke(),r.closePath())}else re=this.position==="left"?x-10:x+10,((P=c==null?void 0:c.brush)!=null&&P.showLabel||!(c!=null&&c.brush))&&r.fillText(this.checkFixWidth(te),re,K),G===h&&(q-=1),this.showAxisTick&&(r.beginPath(),r.strokeStyle=this.axisLineColor,r.moveTo(x+(this.axisLineWidth??1),q),r.lineTo(x-y,q),r.stroke(),r.closePath()),G!==0&&this.showGrid&&(r.beginPath(),r.strokeStyle=this.gridLineColor,r.moveTo(x,q),r.lineTo(b,q),r.stroke(),r.closePath())}}if((_=this.plotBands)!=null&&_.length||(A=this.plotLines)!=null&&A.length){const W=t.chartWidth-(n.left+n.right),F=t.chartHeight-(n.top+n.bottom),U=M+1,j=d.x1,K=d.x2+U,q=d.y1-U,ee=d.y2;(z=this.plotBands)==null||z.forEach(J=>{const te=Fe({},J,Tr),{from:G,to:oe,label:Z}=te,ae=Y.isNullOrUndefined(G)?u:Math.max(G,u),me=Y.isNullOrUndefined(oe)?f:Math.min(oe,f);this.setPlotBandStyle(te);let re,ue;if(this.type==="x"){if(re=ie.calculateX(ae,u,f,W,j),ue=ie.calculateX(me,u,f,W,j),re===null||ue===null)return;this.drawXPlotBand(re,ue,j,K,q,ee)}else{if(re=ie.calculateY(ae,u,f,F,ee),ue=ie.calculateY(me,u,f,F,ee),re===null||ue===null)return;this.drawYPlotBand(re,ue,j,K,q,ee)}if(Z.show){const ke=this.getNormalizedLabelOptions(t,Z),rt=this.getPlotBandLabelPosition(re,ue,ke,K,q);this.drawPlotLabel(ke,rt)}r.restore()}),($=this.plotLines)==null||$.forEach(J=>{if(typeof+J.value!="number")return;const te=Fe({},J,vr),{value:G,label:oe}=te;let Z;if(this.type==="x"){if(Z=ie.calculateX(G,u,f,W,j),Z===null)return;this.setPlotLineStyle(te),this.drawXPlotLine(Z,j,K,q,ee)}else{if(Z=ie.calculateY(G,u,f,F,ee),Z===null)return;this.setPlotLineStyle(te),this.drawYPlotLine(Z,j,K,q,ee)}if(oe.show){const ae=this.getNormalizedLabelOptions(t,oe),me=this.getPlotLineLabelPosition(Z,ae,K,q);this.drawPlotLabel(ae,me)}r.restore()})}}}setPlotLineStyle(t){const n=this.ctx,{color:o,lineWidth:s}=t;n.beginPath(),n.save(),n.lineWidth=s,n.strokeStyle=o,t.segments&&n.setLineDash(t.segments)}setPlotBandStyle(t){const n=this.ctx,{color:o}=t;n.beginPath(),n.save(),n.fillStyle=o}drawXPlotBand(t,n,o,s,l,a){const r=this.ctx,c=d=>d||d>o||d<s;if(!c(t)||!c(n)){r.closePath(),r.restore();return}r.moveTo(t,l),r.lineTo(t,a),r.lineTo(n,a),r.lineTo(n,l),r.lineTo(t,l),r.stroke(),r.fill(),r.restore(),r.closePath()}drawXPlotLine(t,n,o,s,l){const a=this.ctx;if(!t||t<n||t>o){a.closePath(),a.restore();return}let r=t;r+=Y.aliasPixel(a.lineWidth),a.moveTo(r,l),a.lineTo(r,s),a.stroke(),a.restore(),a.closePath()}drawYPlotLine(t,n,o,s,l){const a=this.ctx;if(!t||t>l||t<s){a.closePath(),a.restore();return}let r=t;r+=Y.aliasPixel(a.lineWidth),a.moveTo(n,r),a.lineTo(o,r),a.stroke(),a.restore(),a.closePath()}drawYPlotBand(t,n,o,s,l,a){const r=this.ctx,c=d=>d||d>l||d<a;if(!c(t)||!c(n)){r.closePath(),r.restore();return}r.moveTo(o,t),r.lineTo(o,n),r.lineTo(s,n),r.lineTo(s,t),r.lineTo(o,t),r.fill(),r.restore(),r.closePath()}getNormalizedLabelOptions(t,n){const o=Fe({},n,Er),s=this.ctx,{maxWidth:l}=o,a=o.fontSize>20?20:o.fontSize;let r=o.text,c=l??s.measureText(r).width;const d=this.type==="y"?t.width-t.chartWidth:l??t.width;return d<s.measureText(r).width&&o.textOverflow==="ellipsis"&&(r=Y.truncateLabelWithEllipsis(o.text,d,s),c=s.measureText(r).width),{label:r,fontSize:a,labelWidth:c,labelBoxPadding:a/4,labelHalfWidth:c/2,labelHalfHeight:a/2,...o}}getPlotBandLabelPosition(t,n,o,s,l){const{fontSize:a,labelWidth:r,labelHalfWidth:c,labelHalfHeight:d,labelBoxPadding:h,textAlign:u,verticalAlign:f}=o;if(a<=0)return{textX:0,textY:0};let g,p;if(this.type==="x")switch(p=l-h-a,u){case"left":g=t+c+h;break;case"right":g=n-c-h;break;case"center":default:g=(n-t)/2+t;break}else switch(g=s+r+h,f){case"top":p=n+d+h;break;case"bottom":p=t-d-h;break;case"middle":default:p=(t-n)/2+n;break}return{textX:g,textY:p}}getPlotLineLabelPosition(t,n,o,s){const{fontSize:l,labelWidth:a,labelHalfWidth:r,labelHalfHeight:c,labelBoxPadding:d}=n;if(l<=0)return{textX:0,textY:0};let h,u;if(this.type==="x")switch(u=s-d-l,n.textAlign){case"left":h=t-r-d;break;case"right":h=t+r+d;break;case"center":default:h=t;break}else switch(h=o+a+d,n.verticalAlign){case"top":u=t-c-d;break;case"bottom":u=t+c+d;break;case"middle":default:u=t;break}return{textX:h,textY:u}}drawPlotLabel(t,n){if(!n)return;const{textX:o,textY:s}=n,{label:l,fontSize:a,fontColor:r,fillColor:c,lineColor:d,lineWidth:h,labelBoxPadding:u,labelWidth:f,labelHalfWidth:g,labelHalfHeight:p}=t;if(a<=0)return;const m=this.ctx;m.save(),m.beginPath(),m.font=Y.getLabelStyle(t);let x=0,b=0,y=0,M=0;this.type==="x"?(x=s-u,b=s+a,y=o-g-u,M=o+g+u):(x=s-p-u,b=s+p+u,y=o-f,M=o+u),m.fillStyle=c,m.strokeStyle=d,m.lineWidth=h,m.moveTo(y,b),m.lineTo(y,x),m.lineTo(M,x),m.lineTo(M,b),m.lineTo(y,b),m.fill(),h>0&&m.stroke(),m.fillStyle=r,m.fillText(l,o,s),m.closePath()}checkFixWidth(t){const{fixWidth:n,fitDir:o}=this.labelStyle;return ve(n)&&n>0?Y.truncateLabelWithEllipsis(t,n,this.ctx,o):t}}class BC extends io{normalizeTimeValue(t){if(t==null)return null;if(typeof t=="number")return Number.isFinite(t)?t:null;const n=Je(t).valueOf();return Number.isFinite(n)?n:null}calculateScaleRange(t,n){const o=n!=null&&n.use?n==null?void 0:n.range:this.range;if(!(Array.isArray(o)||typeof o=="function")&&((t==null?void 0:t.min)==null||(t==null?void 0:t.max)==null))return{min:null,max:null,minLabel:"",maxLabel:"",size:Y.calcTextSizeCanvas("",Y.getLabelStyle(this.labelStyle))};let l=o;Array.isArray(o)&&o.length===2?l=[this.normalizeTimeValue(o[0]),this.normalizeTimeValue(o[1])]:typeof o=="function"&&(l=(...h)=>{const[u,f]=o(...h);return[this.normalizeTimeValue(u),this.normalizeTimeValue(f)]});const a=this.range,r=n!=null&&n.use?{...n,range:l}:n,c={...t,min:this.normalizeTimeValue(t==null?void 0:t.min),max:this.normalizeTimeValue(t==null?void 0:t.max)};let d;try{n!=null&&n.use||(this.range=l),d=super.calculateScaleRange(c,r)}finally{this.range=a}return{...d,min:this.normalizeTimeValue(d.min),max:this.normalizeTimeValue(d.max)}}getLabelFormat(t,n={}){if(this.formatter){const o=this.formatter(t,n);if(typeof o=="string")return o}return Je(t).format(this.timeFormat)}getInterval(t){const n=this.normalizeTimeValue(t.maxValue),o=this.normalizeTimeValue(t.minValue),s=t.maxSteps;if(this.interval){let l;if(typeof this.interval=="string"?l=ri[this.interval].size:typeof this.interval=="object"?l=this.interval.time*ri[this.interval.unit].size:typeof this.interval=="number"&&(l=this.interval),l>0&&Number.isFinite(l))return l}return Math.ceil((n-o)/s)}calculateSteps(t){const n=this.normalizeTimeValue(t.minValue),o=this.normalizeTimeValue(t.maxValue),s=Math.max(1,t.maxSteps??1),l={...t,minValue:n,maxValue:o};if(n==null||o==null)return{steps:0,interval:0,graphMin:null,graphMax:null};const a=Array.isArray(this.range)&&this.range.length===2,c=typeof this.interval=="number"||typeof this.interval=="object"&&this.interval!==null?this.getInterval(l):null,d=c!=null&&c>0&&Number.isFinite(c),h=1e-10,u=+n;let f=+o;if(a&&d){const b=f-u,y=b/c,M=Math.abs(y-Math.round(y))<h;if(this.fixedSteps||M){let E=c,I=Math.round(y);if(!this.fixedSteps)for(;I>s;)E+=c,I=Math.ceil(b/E);return{steps:I,interval:E,graphMin:u,graphMax:f}}}if(!a&&d){const b=f-u;let y=c,M=Math.ceil(b/y);for(;M>s;)y+=c,M=Math.ceil(b/y);return f=u+y*M,{steps:M,interval:y,graphMin:u,graphMax:f}}let g=this.getInterval(l),p=u;for(;p<o;)p+=g;f=p;const m=f-u;let x=Math.round(m/g);for(;x>s;){g*=2,x=Math.round(m/g);const b=m/x;g=this.decimalPoint?b:Math.ceil(b)}if(m>x*g){const b=m/x;g=this.decimalPoint?b:Math.ceil(b)}return{steps:x,interval:g,graphMin:u,graphMax:f}}}class DC extends io{getTruthyValue(t){const n=this.adjustedDecimalPoint??this.decimalPoint;return ve(t)?Number(t.toFixed(n)):t}getLabelFormat(t,n={}){if(this.formatter){const s=this.getTruthyValue(t),l=this.formatter(s,{...n,prevOriginalValue:n==null?void 0:n.prev,prevDecimalPointValue:this.getTruthyValue(n==null?void 0:n.prev),currentOriginalValue:t,currentDecimalPointValue:s});if(typeof l=="string")return l}const o=this.adjustedDecimalPoint??this.decimalPoint;return Y.labelSignFormat(t,o)}getInterval(t){if(this.interval)return this.interval;let n=0;const o=t.maxValue,s=t.minValue,l=t.maxSteps;if(!l||l<=0)return 0;if(this.startToZero&&s<0){const a=Math.abs(s)+Math.abs(o),r=Math.abs(s)/a,c=Math.abs(o)/a;let d=Math.max(1,Math.round(r*l)),h=Math.max(1,l-d);d+h>l&&(r>c?d-=1:h-=1),n=Math.max(Math.abs(s)/(d||1),Math.abs(o)/(h||1))}else n=(o-s)/l;return this.decimalPoint?n:Math.ceil(n)}getExactInterval(t,n){if(!Number.isFinite(t)||t<=0)return{interval:1,steps:1};const o=Math.max(1,n);let s=null,l=0,a=1/0;for(let r=o;r>=1;r--){const c=t/r;let d=1;for(let h=0;h<=12;h++,d*=10){const u=c*d;if(Math.abs(u-Math.round(u))<1e-6){h<a&&c<t&&(a=h,s=Math.round(u)/d,l=r);break}}if(a===0)break}return l>0?{interval:s,steps:l}:{interval:parseFloat((t/o).toFixed(12)),steps:o}}getStepsWithNiceScale({max:t,min:n,maxSteps:o}){const s=t-n;if(!Number.isFinite(s)||s<=0)return{max:n+1,min:n,interval:1,steps:1};const l=s/o,a=Math.floor(Math.log10(l)),r=Math.ceil(Math.log10(s));let c=t,d=n,h=0,u=0,f=1/0;for(let g=a;g<=r;g++){const p=10**g;for(const m of kC){const x=m*p;if(x>=l&&x<s){const b=x*1e-10,y=Math.floor((n+b)/x)*x,M=Math.ceil((t-y-b)/x),E=y+x*M;if(M<=o&&E>=t-b){const I=n-y+(E-t);I<f&&(c=E,d=y,h=x,u=M,f=I)}}}}if(!(h>0)||u<=0){const g=Math.max(1,o),p=s/g||1;return{max:t,min:n,interval:p,steps:g}}return{max:c,min:d,interval:h,steps:u}}getDecimalPointFromInterval(t){if(!Number.isFinite(t)||t===0)return 0;const n=Math.abs(t),o=10,s=1e-10,l=(c,d=0)=>{const h=10**d;return Math.round((c+Number.EPSILON)*h)/h},a=(c,d)=>{const h=l(c,d);return Math.abs(c-h)<s};if(n>=1&&a(n,0))return 0;const r=n>=1?0:Math.max(0,Math.ceil(-Math.log10(n)));for(let c=r;c<=o;c+=1)if(a(n,c))return c;return o}getLegacyOneMaxScale(t){return this.decimalPoint?t>2?{interval:.2,steps:5}:{interval:.5,steps:2}:{interval:1,steps:1}}calculateSteps(t){const{minValue:n,maxValue:o}=t,s=Math.max(1,t.maxSteps??1),l=Array.isArray(this.range)&&this.range.length===2,r=typeof this.interval=="number"||typeof this.interval=="object"&&this.interval!==null?this.getInterval(t):null,c=r!=null&&r>0&&Number.isFinite(r),d=l?+this.range[0]:null,h=l?+this.range[1]:null,u=1e-10,f=y=>{if(this.decimalPoint==="auto"){const M=this.getDecimalPointFromInterval(y);M!=null&&!Number.isNaN(M)?this.adjustedDecimalPoint=M:typeof this.getAutoDecimalPointFromInterval=="function"?this.adjustedDecimalPoint=this.getAutoDecimalPointFromInterval(y):this.adjustedDecimalPoint=0}else this.adjustedDecimalPoint=this.decimalPoint},g=(y,M)=>Math.max(1,Math.round(y/M+u)),p=({min:y,max:M,interval:E})=>{let I=0,T=0;return y>=0?(I=+y,T=Math.ceil(M/E)*E):M>=0?(I=Math.floor(y/E)*E,T=Math.ceil(M/E)*E):(T=+M,I=Math.floor(y/E)*E),{graphMin:I,graphMax:T}};if(l&&c){const y=d,M=h,E=r,T=(M-y)/E;if(Math.abs(T-Math.round(T))<u&&T<=s||this.fixedSteps){const C=Math.round(T);return f(E),{steps:C,interval:E,graphMin:y,graphMax:M}}}if(l){const y=d,M=h,E=M-y,{interval:I,steps:T}=this.getExactInterval(E,s);return f(I),{steps:T,interval:I,graphMin:y,graphMax:M}}if(c){let y=r,M=0,E=0,I=0,T=0;for({graphMin:M,graphMax:E}=p({min:n,max:o,interval:y}),I=E-M,T=g(I,y);T>s;)y+=r,{graphMin:M,graphMax:E}=p({min:n,max:o,interval:y}),I=E-M,T=g(I,y);return f(y),{steps:T,interval:y,graphMin:M,graphMax:E}}const m=this.startToZero&&n>=0?0:n,x=this.startToZero&&o<=0?0:o;if(m===0&&x===1){const y=this.getLegacyOneMaxScale(s);return f(y.interval),{steps:y.steps,interval:y.interval,graphMin:m,graphMax:x}}const b=this.getStepsWithNiceScale({min:m,max:x,maxSteps:s});return f(b.interval),{steps:b.steps,interval:b.interval,graphMin:b.min,graphMax:b.max}}calculateScaleRange(t,n){var u;let o,s,l=!1;const a=n!=null&&n.use?n==null?void 0:n.range:this.range;if(!(Array.isArray(a)||typeof a=="function")&&((t==null?void 0:t.min)==null||(t==null?void 0:t.max)==null)){const f=this.getLabelFormat(0),g=this.getLabelFormat(1,{isMaxValueSameAsMin:!0});return{min:0,max:1,minLabel:f,maxLabel:g,size:Y.calcTextSizeCanvas(g,Y.getLabelStyle(this.labelStyle))}}Array.isArray(a)&&(a==null?void 0:a.length)===2?this.options.type==="heatMap"?(o=a[1]>+t.max?+t.max:a[1],s=a[0]<+t.min?+t.min:a[0]):(o=a[1],s=a[0]):typeof a=="function"?[s,o]=a(t.min,t.max):(o=t.max,s=t.min);const c=Array.isArray(this.range)&&this.range.length===2;if(this.autoScaleRatio&&!c){const f=o,g=o*(this.autoScaleRatio+1);if(o=this.decimalPoint?g:Math.ceil(g),o>0&&s<0){const p=f-o;s+=p}else if(o<0&&s<0){const p=s*(this.autoScaleRatio+1);s=this.decimalPoint?p:Math.ceil(p)}}this.startToZero&&!c&&(s>0&&(s=0),o<0&&(o=0)),o===s&&(o+=1,l=!0);const d=this.getLabelFormat(s),h=this.getLabelFormat(o,{isMaxValueSameAsMin:l});return{min:s,max:o,minLabel:d,maxLabel:h,size:Y.calcTextSizeCanvas(h,Y.getLabelStyle(this.labelStyle),(u=this.labelStyle)==null?void 0:u.padding)}}}class LC extends io{calculateScaleRange(t){let n,o,s=!1;Array.isArray(this.range)&&this.range.length===2?(n=this.range[1],o=this.range[0]):typeof range=="function"?[o,n]=this.range(t.min,t.max):(n=t.max,o=t.min);const l=Y.calculateMagnitude(n-o);n=Math.ceil(n/10**l)*10**l,this.startToZero&&(o=0),n===o&&(n+=1,s=!0);const a=this.getLabelFormat(o),r=this.getLabelFormat(n,{isMaxValueSameAsMin:s});return{min:o,max:n,minLabel:a,maxLabel:r,size:Y.calcTextSize(r,Y.getLabelStyle(this.labelStyle))}}calculateSteps(t,n){const o=t.maxValue,s=t.minValue,l=t.maxSteps,a=Y.calculateMagnitude(o-s);let r=this.getInterval(t),c;const d=o,h=s,u=d-h;for(c=Math.round(u/r),o===1&&(r=.2,c=5);(c>l||c*2<l)&&!n;)if(c>l)r*=2,c=Math.ceil(u/r);else if(a>=0)if(r/2%1===0)r/=2,c=Math.ceil(u/r);else break;else r/=2,c=Math.ceil(u/r);return{steps:c,interval:r,graphMin:h,graphMax:Math.ceil(h+c*r)}}getLabelFormat(t,n={}){if(this.formatter){const o=this.formatter(t,n);if(typeof o=="string")return o}return Y.labelSignFormat(t,this.decimalPoint)}getInterval(t){const n=t.maxValue,o=t.minValue;return 10**Y.calculateMagnitude(n-o)}}const Ps=new WeakMap;class RC extends io{constructor(t,n,o,s,l){super(t,n,o,l),this.labels=s}getMaxWidth(t,n){var s;const o=(s=this.labelStyle)==null?void 0:s.maxWidth;if(o==null)return n;if(typeof o=="string"){const l=o.trim();if(l.includes("%")){const r=Number.parseFloat(l.replace("%",""));return Number.isNaN(r)?n:t.chartWidth*(r/100)}const a=Number.parseFloat(l);return Number.isNaN(a)?n:a}return o}getStepMinMax(t,n){return this.labelStyle.alignToGridLine?t:n!=null&&n.use?(Ps.has(this.labels)||Ps.set(this.labels,Y.getStringMinMax(this.labels)),Ps.get(this.labels)):Y.getStringMinMax(this.labels)}calculateScaleRange(t,n,o){const s=this.getStepMinMax(t,n);let l=s.max,a=s.min,r=0,c=this.labels.length-1,d=this.labels.length;const h=n!=null&&n.use?n==null?void 0:n.range:this.range;if(Array.isArray(h)&&(h!=null&&h.length)){const[f,g]=h;ve(f)&&ve(g)&&(r=f<r?r:f,c=g>c?c:g,l=this.labels[c],a=this.labels[r],d=c-r+1)}else if(typeof h=="function"){const[f,g]=h(a,l);r=f<r?r:f,c=g>c?c:g,l=this.labels[c],a=this.labels[r],d=c-r+1}const u=this.getMaxWidth(o,o.chartWidth/(d+2));return{min:a,max:l,minIndex:r,maxIndex:c,minLabel:this.getLabelFormat(a,u),maxLabel:this.getLabelFormat(l,u),size:Y.calcTextSizeCanvas(this.getLabelFormat(l,u),Y.getLabelStyle(this.labelStyle))}}getIndexInterval(t){const n=t.maxSteps;return this.interval?this.interval:Math.ceil(this.labels.length/n)}calculateSteps(t){const{minValue:n,maxValue:o,minIndex:s,maxIndex:l}=t,a=l-s+1;let r=1;const c=this.labels.every(d=>!isNaN(d));return this.labelStyle.alignToGridLine&&c&&(r=this.getIndexInterval(t)),{oriSteps:a,steps:a,indexInterval:r,graphMin:n,graphMax:o,minIndex:s,maxIndex:l}}draw(t,n,o,s,l){var y,M,E,I,T,V,C,S,k,w,B;const a=this.ctx,r=this.labels,c={x1:t.x1+n.left,x2:t.x2-n.right,y1:t.y1+n.top,y2:t.y2-n.bottom},d=o.steps,h=o.indexInterval,u=o.minIndex,f=c[this.units.rectStart],g=c[this.units.rectEnd],p=c[this.units.rectOffset(this.position)],m=c[this.units.rectOffsetCounter(this.position)],x=this.getMaxWidth(t,t.chartWidth/(d+2)),b=5;if(this.drawAxisTitle(t,n),(y=this.labelStyle)!=null&&y.show){a.font=Y.getLabelStyle(this.labelStyle),this.type==="x"?(a.textAlign="center",a.textBaseline=this.position==="top"?"bottom":"top"):(a.textAlign=this.position==="left"?"right":"left",a.textBaseline="middle"),a.fillStyle=this.labelStyle.color,a.lineWidth=this.axisLineWidth;const D=Y.aliasPixel(a.lineWidth);if(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(f,p+D),a.lineTo(g,p+D)):(a.moveTo(p+D,f),a.lineTo(p+D,g)),a.stroke(),d===0)return;const L=(g-f)/d,R=this.labelStyle.alignToGridLine;let v=null,N=null;a.beginPath(),a.strokeStyle=this.gridLineColor;let O,P,_;for(_=0;_<d;_+=h){const A=u+_,z=this.labels[A];v=Math.round(f+L*_),N=v+D,O=this.getLabelFormat(z,x);const{selectLabel:$,selectItem:W,horizontal:F}=this.options;let U;l!=null&&l.targetAxis?U=(l==null?void 0:l.targetAxis)==="yAxis"?"y":"x":U=F?"y":"x";const j=($==null?void 0:$.use)&&($==null?void 0:$.useLabelOpacity)&&U===this.type&&((M=l==null?void 0:l.dataIndex)==null?void 0:M.length)&&!((E=l==null?void 0:l.dataIndex)!=null&&E.includes(A));let K=this.labelStyle.color,q=1;if(Y.getColorStringType(K)==="RGBA"&&(q=Y.getOpacity(K)),_===d-1&&this.lastLabelFontStyle&&(a.font=Y.getLabelStyle(this.lastLabelFontStyle),K=this.lastLabelFontStyle.color),a.fillStyle=Y.colorStringToRgba(K,j?(I=this.options)==null?void 0:I.unSelectedOpacity:q),this.type==="x"){P=this.position==="top"?p-10:p+10;const J=R?v:v+L/2;if(a.fillText(this.checkFixWidth(O),J,P),!j&&(W!=null&&W.showLabelTip)&&(s!=null&&s.label)&&!F){const te=s.label;if(te===O){const G=Math.round(a.measureText((T=this.labelStyle)==null?void 0:T.fontSize).width);Y.showLabelTip({ctx:this.ctx,width:Math.round(a.measureText(te).width)+10,height:G,x:v+L/2,y:P+(G-2),borderRadius:2,arrowSize:3,text:O,backgroundColor:(V=W==null?void 0:W.labelTipStyle)==null?void 0:V.backgroundColor,textColor:(C=W==null?void 0:W.labelTipStyle)==null?void 0:C.textColor})}}this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(v+L/2,p),a.lineTo(v+L/2,p+b),a.stroke(),a.closePath()),_>0&&this.showGrid&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(N,p),a.lineTo(N,m),a.stroke(),a.closePath())}else{P=this.position==="left"?p-10:p+10;const J=R?v:v+L/2;a.fillText(this.checkFixWidth(O),P,J),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(p+(this.axisLineWidth??1),J),a.lineTo(p-b,J),a.stroke(),a.closePath()),_>0&&this.showGrid&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(p,N),a.lineTo(m,N),a.stroke(),a.closePath())}a.stroke()}if(this.showLastLabel){const A=u+d-1;if(u+Math.floor((d-1)/h)*h!==A){const $=Math.round(f+L*(d-1)),W=R?$:$+L/2,F=this.getLabelFormat(r[A],x);a.font=this.lastLabelFontStyle?Y.getLabelStyle(this.lastLabelFontStyle):Y.getLabelStyle(this.labelStyle),a.fillStyle=this.lastLabelFontStyle?this.lastLabelFontStyle.color:this.labelStyle.color,this.type==="x"?a.fillText(this.checkFixWidth(F),W,P):a.fillText(this.checkFixWidth(F),P,W),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(W,p),a.lineTo(W,p+b)):(a.moveTo(p+(this.axisLineWidth??1),W),a.lineTo(p-b,W)),a.stroke(),a.closePath())}}if(R&&!this.showLastLabel){const A=Kb(+r[1],+r[0]),z=Os(+r[r.length-1],A);if(isNaN(z))return;v=Math.round(f+L*this.labels.length),N=v+D;const $=this.getLabelFormat(`${z}`,x),W=v+L/2;a.font=Y.getLabelStyle(this.labelStyle),a.fillStyle=this.labelStyle.color,this.type==="x"?a.fillText(this.checkFixWidth($),v,P):a.fillText(this.checkFixWidth($),P,v),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(W,p),a.lineTo(W,p+b)):(a.moveTo(p+(this.axisLineWidth??1),N),a.lineTo(p-b,N)),a.stroke(),a.closePath())}a.closePath()}if((S=this.plotBands)!=null&&S.length||(k=this.plotLines)!=null&&k.length){const D=Y.aliasPixel(a.lineWidth)+1,L=c.x1+D,R=c.x2,v=c.y1+D,N=c.y2,O=(g-f)/(this.labelStyle.show?r.length:1);(w=this.plotBands)==null||w.forEach(P=>{if(!P.from&&!P.to)return;const _=Fe({},P,Tr),{from:A=0,to:z=r.length,label:$}=_,W=Math.round(f+O*A),F=Math.round(f+O*z);if(this.setPlotBandStyle(_),this.type==="x"?this.drawXPlotBand(W,F,L,R,v,N):this.drawYPlotBand(W,F,L,R,v,N),$.show){const U=this.getNormalizedLabelOptions(t,$),j=this.getPlotBandLabelPosition(W,F,U,R,v);this.drawPlotLabel(U,j)}a.restore()}),(B=this.plotLines)==null||B.forEach(P=>{if(!P.value)return;const _=Fe({},P,vr),{value:A,label:z}=_,$=Math.round(f+O*A)+O/2;if(this.setPlotLineStyle(_),this.type==="x"?this.drawXPlotLine($,L,R,v,N):this.drawYPlotLine($,L,R,v,N),z.show){const W=this.getNormalizedLabelOptions(t,z),F=this.getPlotLineLabelPosition($,W,R,v);this.drawPlotLabel(W,F)}a.restore()})}}getLabelFormat(t,n,o={}){if(this.formatter){const s=this.formatter(t,o);if(typeof s=="string")return s}return this.labelStyle.fitWidth?this.fittingString(t,n):t}fittingString(t,n){const o=this.ctx;o.save(),o.font=Y.getLabelStyle(this.labelStyle);const s=this.labelStyle.fitDir;return Y.truncateLabelWithEllipsis(t,n,o,s)}getLabelWidthHasMaxLength(t,n,o=[]){const s=Y.getLabelStyle(this.labelStyle),l=(t==null?void 0:t.length)??0,a=this.getMaxWidth(n,(n==null?void 0:n.chartWidth)/(l+2));return[...(t??[]).map(d=>this.getLabelFormat(d,a)),...o].reduce((d,h)=>{var f;const u=((f=Y.calcTextSizeCanvas(h,s))==null?void 0:f.width)??0;return Math.max(d,u)},0)}}class OC extends io{constructor(t,n,o,s,l){super(t,n,o),this.labels=s,this.options=l}getLabelFormat(t,n={}){if(this.formatter){const o=this.formatter(t,n);if(typeof o=="string")return o}return Je(t).format(this.timeFormat)}getInterval(t){const n=t.maxValue,o=t.minValue,s=t.maxSteps;if(this.interval){if(typeof this.interval=="string")return ri[this.interval].size;if(typeof this.interval=="object")return this.interval.time*ri[this.interval.unit].size;if(typeof this.interval=="number")return this.interval}return Math.ceil((n-o)/s)}calculateSteps(t){const{maxValue:n,minValue:o,maxSteps:s}=t,l=this.getInterval(t);let a=l,r=o,c;for(;r<n;)r+=a;const d=r>n?n:r,h=o,u=d-h;c=Math.round(u/a)+1;const f=c;for(n===1&&(a=.2,c=5);c>s;)a*=2,c=Math.round(u/a),a=Math.ceil(u/c);return d-h>c*a&&(a=Math.ceil((d-h)/c)),{steps:c,oriSteps:f,interval:a,rawInterval:l,graphMin:h,graphMax:d}}draw(t,n,o,s,l){var R,v,N,O,P,_,A,z,$,W,F,U,j,K,q,ee;const a=this.ctx,r=this.labels,c={x1:t.x1+n.left,x2:t.x2-n.right,y1:t.y1+n.top,y2:t.y2-n.bottom},d=o.steps,h=o.graphMin,u=o.graphMax,f=o.rawInterval,g=o.oriSteps;let p=c[this.units.rectStart];const m=c[this.units.rectEnd],x=c[this.units.rectOffset(this.position)],b=c[this.units.rectOffsetCounter(this.position)],y=5;this.drawAxisTitle(t,n),a.font=Y.getLabelStyle(this.labelStyle),this.type==="x"?(a.textAlign="center",a.textBaseline=this.position==="top"?"bottom":"top"):(a.textAlign=this.position==="left"?"right":"left",a.textBaseline="middle"),a.fillStyle=this.labelStyle.color,a.lineWidth=this.axisLineWidth;const M=Y.aliasPixel(a.lineWidth);if(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(p,x+M),a.lineTo(m,x+M)):(a.moveTo(x+M,p),a.lineTo(x+M,m)),a.stroke(),a.closePath(),d===0||h===null)return;const E=this.labelStyle.alignToGridLine,I=(m-p)/(g||1);this.categoryMode&&!E&&(p+=Math.ceil(I/2)-2);const T=[];let V=null,C=null;a.beginPath(),a.strokeStyle=this.gridLineColor;let S,k,w,B=d<=2?g:Math.round(g/d);const D=p>Math.ceil(c[this.units.rectStart]);this.type==="x"&&D&&B===g&&(B=1);const L=B===g?g:g-1;for(w=0;w<=L;w+=B){T[w]=Je(h).valueOf()+w*f,V=Math.round(p+I*w),C=V+M;let J;for(let Z=0;Z<T.length;Z++)T[Z]!==void 0&&Z!==w&&(J=T[Z]);S=this.getLabelFormat(Math.min(u,T[w]),{prev:J});const te=((v=(R=this.options)==null?void 0:R.selectLabel)==null?void 0:v.use)&&((O=(N=this.options)==null?void 0:N.selectLabel)==null?void 0:O.useLabelOpacity)&&this.options.horizontal===(this.type==="y")&&((P=l==null?void 0:l.dataIndex)==null?void 0:P.length)&&!(l!=null&&l.label.map(Z=>this.getLabelFormat(Math.min(u,Z),{prev:J})).includes(S)),G=this.labelStyle.color;let oe=1;if(Y.getColorStringType(G)==="RGBA"&&(oe=Y.getOpacity(G)),a.fillStyle=Y.colorStringToRgba(G,te?(_=this.options)==null?void 0:_.unSelectedOpacity:oe),this.type==="x"){if(k=this.position==="top"?x-10:x+10,a.fillText(this.checkFixWidth(S),V,k),!te&&((z=(A=this.options)==null?void 0:A.selectItem)!=null&&z.showLabelTip)&&(s!=null&&s.label)&&!(($=this.options)!=null&&$.horizontal)){const Z=this.getLabelFormat(Math.min(u,s.label+0*f));if(Z===S){const ae=Math.round(a.measureText((W=this.labelStyle)==null?void 0:W.fontSize).width);Y.showLabelTip({ctx:this.ctx,width:Math.round(a.measureText(Z).width)+10,height:ae,x:V,y:k+(ae-2),borderRadius:2,arrowSize:3,text:S,backgroundColor:(j=(U=(F=this.options)==null?void 0:F.selectItem)==null?void 0:U.labelTipStyle)==null?void 0:j.backgroundColor,textColor:(ee=(q=(K=this.options)==null?void 0:K.selectItem)==null?void 0:q.labelTipStyle)==null?void 0:ee.textColor})}}this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(C,x),a.lineTo(C,x+y),a.stroke(),a.closePath()),w<g&&this.showGrid&&(D||!D&&w!==0)&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(C,x),a.lineTo(C,b),a.stroke(),a.closePath())}else k=this.position==="left"?x-10:x+10,a.fillText(this.checkFixWidth(S),k,V),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(x+(this.axisLineWidth??1),C),a.lineTo(x-y,C),a.stroke(),a.closePath()),w<g&&this.showGrid&&(D||!D&&w!==0)&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(x,C),a.lineTo(b,C),a.stroke(),a.closePath());a.stroke()}if(this.categoryMode&&E&&w*B===g){const J=Je(r[1]).diff(Je(r[0])),te=this.getLabelFormat(Je(T[g-1]+J));V=Math.round(p+I*g),C=V+M,this.type==="x"?(a.fillText(this.checkFixWidth(te),V,k),this.showGrid&&(a.moveTo(C,x),a.lineTo(C,b))):(a.fillText(this.checkFixWidth(te),k,V),this.showGrid&&(a.moveTo(x,C),a.lineTo(b,C))),a.stroke()}a.closePath()}}const NC={createTitle(){this.titleDOM=document.createElement("div"),this.titleDOM.className="ev-chart-title",this.wrapperDOM.appendChild(this.titleDOM)},initTitle(){this.isInitTitle||this.createTitle(),this.updateTitle(),this.isInitTitle=!0},showTitle(){this.titleDOM.style.display="block",this.wrapperDOM.style.paddingTop=`${this.options.title.height}px`},hideTitle(){this.titleDOM.style.display="none",this.wrapperDOM.style.paddingTop="0px"},updateTitle(){const e=this.options.title;Object.keys(e.style).forEach(t=>{this.titleDOM.style[t]=e.style[t]}),this.titleDOM.textContent=e.text,this.titleDOM.style.height=`${e.height}px`,this.titleDOM.style.lineHeight=`${e.height}px`}},VC={createLegendLayout(){var e,t;this.legendDOM=document.createElement("div"),this.legendDOM.className="ev-chart-legend",this.legendBoxDOM=document.createElement("div"),this.legendBoxDOM.className="ev-chart-legend-box",(t=(e=this.options)==null?void 0:e.legend)!=null&&t.allowResize&&(this.resizeDOM=document.createElement("div"),this.resizeDOM.className="ev-chart-resize-bar",this.ghostDOM=document.createElement("div"),this.ghostDOM.className="ev-chart-resize-ghost",this.wrapperDOM.appendChild(this.resizeDOM)),this.useTable?(this.legendTableDOM=document.createElement("table"),this.legendTableDOM.className="ev-chart-legend--table",this.setLegendColumnHeader(),this.legendBoxDOM.appendChild(this.legendTableDOM),this.legendDOM.style.overflow="auto"):(this.legendBoxDOM.style.overflowX="hidden",this.legendBoxDOM.style.overflowY="auto",this.legendBoxDOM.style.height="100%"),this.legendDOM.appendChild(this.legendBoxDOM),this.wrapperDOM.appendChild(this.legendDOM),this.options.legend.virtualScroll&&!this.useTable&&(this.legendTopSpacer=document.createElement("div"),this.legendTopSpacer.className="ev-chart-legend--top-spacer",this.legendTopSpacer.style.clear="both",this.legendTopSpacer.style.opacity=0,this.legendBottomSpacer=document.createElement("div"),this.legendBottomSpacer.className="ev-chart-legend--bottom-spacer",this.legendBottomSpacer.style.clear="both",this.legendBottomSpacer.style.opacity=0,this.legendBoxDOM.appendChild(this.legendTopSpacer),this.legendBoxDOM.appendChild(this.legendBottomSpacer),this.updateVisibleRowCountFrameId=requestAnimationFrame(()=>{this.updateVisibleRowCount()}))},setLegendColumnHeader(){var o;const e=(o=this.options.legend)==null?void 0:o.table,t=e.columns;["color",...Object.keys(t)].forEach(s=>{var a,r;const l=document.createElement("th");if(l.className="ev-chart-legend--table__column-name",(a=t[s])!=null&&a.use||s==="color"||s==="name"){const c=t[s],d=(c==null?void 0:c.title)??"";l.textContent=d,l.setAttribute("title",d),l.dataset.type=d,Y.setDOMStyle(l,(r=e==null?void 0:e.style)==null?void 0:r.header),this.legendTableDOM.append(l)}})},initLegend(){var e,t;this.isHeatMapType=this.options.type==="heatMap",this.useTable=!!((t=(e=this.options.legend)==null?void 0:e.table)!=null&&t.use)&&this.options.type!=="heatmap"&&this.options.type!=="scatter",this.legendItemHeight=18,this.isInitLegend||this.createLegendLayout(),this.isHeatMapType?(this.initEventForColorLegend(),this.addColorLegendList()):(this.initEvent(),this.addLegendList()),this.initResizeEvent(),this.isInitLegend=!0,this.isLegendMove=!1},updateVisibleRowCount(){const e=this.options.legend.position==="right"||this.options.legend.position==="left",t=this.legendBoxDOM.clientHeight,n=this.legendBoxDOM.clientWidth,o=Math.max(this.options.legend.width-8,1),s=Object.values(this.seriesList).filter(l=>l.showLegend!==!1).length;this.itemsPerRow=e?1:Math.floor(n/o),this.totalRowCount=Math.ceil(s/this.itemsPerRow),this.visibleRowCount=t>this.legendItemHeight?Math.round(t/this.legendItemHeight)+1:this.totalRowCount},updateStartEndRowIndex(){var t;const e=Math.max(Math.floor(((t=this.legendBoxDOM)==null?void 0:t.scrollTop)/this.legendItemHeight),0);this.startRowIndex=Math.min(e,Math.max(this.totalRowCount-this.visibleRowCount,0)),this.endRowIndex=this.startRowIndex+this.visibleRowCount+1},renderVisibleLegends(){this.updateStartEndRowIndex();const e=this.legendBoxDOM.querySelectorAll(".ev-chart-legend-container");if(e&&e.length)for(const c of e)c.remove();const t=this.totalRowCount*this.legendItemHeight,n=this.startRowIndex*this.legendItemHeight,o=Math.max(t-this.visibleRowCount*this.legendItemHeight-n,0);this.legendTopSpacer.style.height=`${n}px`,this.legendBottomSpacer.style.height=`${o}px`;const s=this.startRowIndex*this.itemsPerRow,l=this.endRowIndex*this.itemsPerRow,a=this.data.groups.at(0);let r=[];if(a?r=a.filter(c=>this.seriesList[c].showLegend).map(c=>[c,this.seriesList[c]]):r=Object.entries(this.seriesList).filter(([,c])=>c.showLegend),r&&r.length)for(let c=s;c<l&&c<r.length;c++){const[,d]=r[c];this.addLegend(d)}},addLegendList(){const{groups:e}=this.data,{seriesList:t}=this;this.options.legend.virtualScroll&&!this.useTable?this.renderVisibleLegendsFrameId=requestAnimationFrame(()=>{this.renderVisibleLegends()}):(this.addLegendForGroups(e,t,this.useTable),this.addStandaloneLegends(t,this.useTable))},addLegendForGroups(e,t,n){e==null||e.forEach(o=>{o==null||o.forEach(s=>{const l=t[s];l&&l.showLegend&&this.addLegendBasedOnType(l,n)})})},addStandaloneLegends(e,t){Object.values(e).forEach(n=>{!n.isExistGrp&&n.showLegend&&this.addLegendBasedOnType(n,t)})},addLegendBasedOnType(e,t){t?this.addLegendWithValues(e):this.addLegend(e)},addColorLegendList(){const e=this.seriesList;Object.values(e).forEach(t=>{if(!t.isExistGrp&&t.showLegend){const{colorState:n,valueOpt:o}=t,{min:s,max:l,interval:a,existError:r,decimalPoint:c}=o,d=n.length,h=r?d-2:d-1;for(let u=0;u<d;u++){const{id:f,color:g,label:p=""}=n[u],m=s+a*u;let x=m+a;u<h?x-=.1**c:x=l+.1**c;let b=p;if(!b)if(b=`${m.toFixed(c)} - ${x.toFixed(c)}`,s===void 0||l===void 0)if(u===0)b="0";else break;else{if(m>l)break;a<=1&&c===0&&(b=m)}this.addLegend({cId:f,color:g,name:b,show:!0})}}})},getContainerDOM(e){let t=null;const n=e.target.dataset.type;return n==="container"?t=e.target:["name","color","min","max","avg","total","last"].includes(n)&&(t=e.target.parentElement,t!=null&&t.series||(t=t.parentElement)),t},initEvent(){if(this.isInitLegend)return;const e={container:`ev-chart-legend${this.useTable?"--table__row":"-container"}`,color:`ev-chart-legend${this.useTable?"--table__color":"-color"}`,name:`ev-chart-legend${this.useTable?"--table__name":"-name"}`,value:`ev-chart-legend${this.useTable?"--table__value":"-value"}`},t=(l,a)=>{const r=l==null?void 0:l.getElementsByClassName(e.color)[0],c=l==null?void 0:l.getElementsByClassName(e.name)[0],d=l==null?void 0:l.getElementsByClassName(e.value),h=l==null?void 0:l.series;if(r.style.backgroundColor=a,r.style.borderColor=a,c.style.color=a,d&&d.length)for(const u of d)u.style.color=a;h.show=!1,l.dataset.inactive=!0},n=(l,a)=>{var f,g;let r;const c=l==null?void 0:l.getElementsByClassName(e.color)[0],d=l==null?void 0:l.getElementsByClassName(e.name)[0],h=l==null?void 0:l.getElementsByClassName(e.value),u=l==null?void 0:l.series;if(typeof u.color!="string"?r=u.color[u.color.length-1][1]:r=u.color,u.type==="line"&&u.fill?(c.style.height="8px",c.style.backgroundColor=Y.rgbaAdjustHalfOpacity(r),c.style.border=`1px solid ${r}`):c.style.backgroundColor=r,d.style.color=a,h&&h.length)for(const p of h){const m=(g=(f=this.options.legend.table)==null?void 0:f.columns[p.dataset.type])==null?void 0:g.style;p.style.color=m!=null&&m.color?m.color:a}u.show=!0,l.dataset.inactive=!1},o=()=>{(this.data.groups.at(0)?this.data.groups.at(0).slice().reverse().filter(a=>this.seriesList[a].showLegend).map(a=>[a,this.seriesList[a]]):Object.entries(this.seriesList).filter(([,a])=>a.showLegend)).forEach(([,a])=>{a.show=!1})},s=()=>{(this.data.groups.at(0)?this.data.groups.at(0).slice().reverse().filter(a=>this.seriesList[a].showLegend).map(a=>[a,this.seriesList[a]]):Object.entries(this.seriesList).filter(([,a])=>a.showLegend)).forEach(([,a])=>{a.show=!0})};this.onLegendBoxClick=l=>{var x;const{legend:a}=this.options;if(a!=null&&a.stopClickEvt)return;const{chartIdx:r}=this.data,c=this.getContainerDOM(l);if(!c)return;const d=c==null?void 0:c.getElementsByClassName(e.color)[0],h=c==null?void 0:c.getElementsByClassName(e.name)[0],u=(c==null?void 0:c.dataset.inactive)==="false";if(!d||!h)return;if(a.clickMode==="active"){const b=Array.from(this.legendBoxDOM.getElementsByClassName(e.container));b.every(E=>E.dataset.inactive==="false")?(b.forEach(E=>{t(E,a.inactive)}),o(),n(c,a.color),this.seriesInfo.count=1):u?(t(c,a.inactive),this.seriesInfo.count--):u||(n(c,a.color),this.seriesInfo.count++),b.every(E=>E.dataset.inactive==="true")&&(b.forEach(E=>{n(E,a.color)}),s(),this.seriesInfo.count=b.length)}if(a.clickMode!=="active"){if(u&&this.seriesInfo.count===1)return;u?(t(c,a.inactive),this.seriesInfo.count--):(n(c,a.color),this.seriesInfo.count++)}if(this.brushSeries){const b=[...this.brushSeries.list];b[r]=this.seriesList,this.brushSeries.list=b,this.brushSeries.chartIdx=r}((x=this.options.eventBehavior)==null?void 0:x.legendClick)!=="emitOnly"&&this.update({updateSeries:!1,updateSelTip:{update:!0,keepDomain:!0}});const g=Object.values(this.seriesList).filter(b=>b.show).map(b=>b.sId),p=g.length===Object.values(this.seriesList).length,m={e:l,data:{seriesIds:p?[]:g,isActiveAll:p}};typeof this.listeners["click-legend"]=="function"&&this.listeners["click-legend"](m)},this.onLegendBoxLeave=()=>{this.legendHover=null,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:null},lightUpdate:!0})},this.onLegendBoxOver=l=>{var d;const a=this.getContainerDOM(l);if(!a){this.onLegendBoxLeave();return}const c={sId:(d=a==null?void 0:a.series)==null?void 0:d.sId,type:this.options.type};this.legendHover=c,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:c},lightUpdate:!0})},this.legendBoxDOM.addEventListener("click",this.onLegendBoxClick),this.legendBoxDOM.addEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.addEventListener("mouseleave",this.onLegendBoxLeave),this.options.legend.virtualScroll&&!this.useTable&&(this.legendBoxDOM.addEventListener("resize",this.updateVisibleRowCount),this.legendBoxDOM.addEventListener("scroll",this.renderVisibleLegends.bind(this))),this.initResizeEvent()},initEventForColorLegend(){if(this.isInitLegend)return;const e={container:`ev-chart-legend${this.useTable?"--table__row":"-container"}`,color:`ev-chart-legend${this.useTable?"--table__color":"-color"}`,name:`ev-chart-legend${this.useTable?"--table__name":"-name"}`},t=(l,a)=>{var f;const r=l==null?void 0:l.getElementsByClassName(e.color)[0],c=l==null?void 0:l.getElementsByClassName(e.name)[0],d=Object.values(this.seriesList)[0],h=(f=l==null?void 0:l.series)==null?void 0:f.cId;r.style.backgroundColor=a,r.style.borderColor=a,c.style.color=a;const u=d.colorState.findIndex(g=>g.id===h);u>-1&&(d.colorState[u].show=!1),l.dataset.inactive=!0},n=(l,a)=>{var f,g;const r=l==null?void 0:l.getElementsByClassName(e.color)[0],c=l==null?void 0:l.getElementsByClassName(e.name)[0],d=Object.values(this.seriesList)[0],h=(f=l==null?void 0:l.series)==null?void 0:f.cId;r.style.backgroundColor=(g=l==null?void 0:l.series)==null?void 0:g.color,c.style.color=a;const u=d.colorState.findIndex(p=>p.id===h);u>-1&&(d.colorState[u].show=!0),l.dataset.inactive=!1},o=()=>{Object.values(this.seriesList)[0].colorState.forEach(a=>{a.show=!1})},s=()=>{Object.values(this.seriesList)[0].colorState.forEach(a=>{a.show=!0})};this.onLegendBoxClick=l=>{var b;const a=this.options.legend;if(a!=null&&a.stopClickEvt)return;const r=Object.values(this.seriesList)[0],c=this.getContainerDOM(l);if(!c)return;const d=c==null?void 0:c.getElementsByClassName(e.color)[0],h=c==null?void 0:c.getElementsByClassName(e.name)[0],u=(c==null?void 0:c.dataset.inactive)==="false",f=r.colorState.filter(y=>y.show).length;if(!d||!h)return;if(a.clickMode==="active"){const y=Array.from(this.legendBoxDOM.getElementsByClassName(e.container));y.every(I=>I.dataset.inactive==="false")?(y.forEach(I=>{t(I,a.inactive)}),o(),n(c,a.color)):u?t(c,a.inactive):u||n(c,a.color),y.every(I=>I.dataset.inactive==="true")&&(y.forEach(I=>{n(I,a.color)}),s())}if(a.clickMode!=="active"){if(u&&f===1)return;u?t(c,a.inactive):n(c,a.color)}((b=this.options.eventBehavior)==null?void 0:b.legendClick)!=="emitOnly"&&this.update({updateSeries:!1,updateSelTip:{update:!0,keepDomain:!0}});const g=r.colorState.filter(y=>y.show),p=g.map(y=>+y.id.split("#")[1]),m=r.colorState.length===g.length,x={e:l,data:{seriesIndices:m?[]:p,isActiveAll:m}};typeof this.listeners["click-legend"]=="function"&&this.listeners["click-legend"](x)},this.onLegendBoxLeave=()=>{this.legendHover=null,Object.values(this.seriesList)[0].colorState.forEach(a=>{a.state="normal"}),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},lightUpdate:!0})},this.onLegendBoxOver=l=>{var h,u;const a=(h=Object.values(this.seriesList))==null?void 0:h[0],r=this.getContainerDOM(l);if(!r){this.onLegendBoxLeave();return}const c=(u=r==null?void 0:r.series)==null?void 0:u.cId,d={sId:c,type:this.options.type};this.legendHover=d,a.colorState.forEach(f=>{f.state=f.id===c?"highlight":"downplay"}),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:d},lightUpdate:!0})},this.legendBoxDOM.addEventListener("click",this.onLegendBoxClick),this.legendBoxDOM.addEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.addEventListener("mouseleave",this.onLegendBoxLeave),this.initResizeEvent()},initResizeEvent(){this.onResizeMouseDown=e=>{e.stopPropagation(),e.preventDefault();const t=this.options,n=t.legend.position,o=t.title.show?t.title.height:0,s=this.ghostDOM;this.resizeDOM.style.display="none",this.wrapperDOM.appendChild(s),n==="left"||n==="right"?(s.style.top=`${o}px`,s.style.left=this.resizeDOM.style.left,s.style.right=this.resizeDOM.style.right,s.style.height=this.resizeDOM.style.height):(s.classList.add("horizontal"),n==="top"?s.style.top=this.resizeDOM.style.top:n==="bottom"&&(s.style.bottom=this.resizeDOM.style.bottom)),this.wrapperDOM.addEventListener("mousemove",this.mouseMove,!1),this.wrapperDOM.addEventListener("mouseup",this.mouseUp,!1)},this.resizeDOM&&(this.resizeDOM.addEventListener("mousedown",this.onResizeMouseDown),this.mouseMove=this.onMouseMove.bind(this),this.mouseUp=this.onMouseUp.bind(this))},updateLegend(){this.resetLegend(),this.isHeatMapType?this.addColorLegendList():this.addLegendList()},updateLegendTableValues(){var o,s,l,a,r;const e=(l=(s=(o=this.options)==null?void 0:o.legend)==null?void 0:s.table)==null?void 0:l.columns,t=this.getAggregations(),n=(a=this.legendBoxDOM)==null?void 0:a.getElementsByClassName("ev-chart-legend--table__row");if(n&&n.length)for(const c of n){const d=c==null?void 0:c.getElementsByClassName("ev-chart-legend--table__value");if(d&&d.length)for(const h of d){const u=h.dataset.type;if(u!=="name"){const f=c.series.sId,g=(r=t==null?void 0:t[f])==null?void 0:r[u];h.textContent=this.getFormattedValue(e[u],g)}}}},forceUpdateLegend(){this.destroyLegend(),this.initLegend()},resetLegend(){var t,n;const e=this.legendBoxDOM;if(e){if(this.useTable){const o=this.legendTableDOM;for(;o.hasChildNodes();)o.removeChild(o.firstChild);this.setLegendColumnHeader()}else if(this.options.legend.virtualScroll)((n=(t=this.legendDOM)==null?void 0:t.style)==null?void 0:n.display)==="none"?this.legendNeedsUpdate=!0:(this.updateVisibleRowCount(),this.renderVisibleLegends());else for(;e.hasChildNodes();)e.removeChild(e.firstChild);this.seriesInfo.count=0}},destroyLegend(){const e=this.legendDOM;this.renderVisibleLegendsFrameId!=null&&(cancelAnimationFrame(this.renderVisibleLegendsFrameId),this.renderVisibleLegendsFrameId=null),this.updateVisibleRowCountFrameId!=null&&(cancelAnimationFrame(this.updateVisibleRowCountFrameId),this.updateVisibleRowCountFrameId=null),e&&(e.remove(),this.legendDOM=null,this.legendBoxDOM=null,this.resizeDOM=null,this.isInitLegend=!1,this.seriesInfo.count=0)},addLegend(e){const t=this.options.legend,n=document.createElement("div"),o=document.createElement("span"),s=document.createElement("div");n.className="ev-chart-legend-container",n.dataset.inactive=!e.show,n.series=e,o.className="ev-chart-legend-color",e.type==="line"&&e.point&&!e.fill&&(o.className+=" ev-chart-legend-color--point-line"),s.className="ev-chart-legend-name";let l;e.show?typeof e.color!="string"?l=e.color[e.color.length-1][1]:l=e.color:l=t.inactive,e.type==="line"&&e.fill?(o.style.height="8px",o.style.backgroundColor=e.show?Y.rgbaAdjustHalfOpacity(l):t.inactive,o.style.border=`1px solid ${l}`):o.style.backgroundColor=l,o.dataset.type="color",s.style.color=t.color,s.textContent=e.name,s.setAttribute("title",e.name),s.dataset.type="name",n.appendChild(o),n.appendChild(s),t.position==="top"||t.position==="bottom"?(n.style.width=`${t.width-8}px`,n.style.margin="0 4px"):n.style.width="100%",n.style.height=`${this.legendItemHeight}px`,n.style.display="inline-block",n.style.overflow="hidden",n.dataset.type="container",this.legendBoxDOM.insertBefore(n,this.legendBottomSpacer),e.show&&this.seriesInfo.count++},addLegendWithValues(e){var h,u,f,g,p;const t=this.options.legend,n=(h=t==null?void 0:t.table)==null?void 0:h.columns,o=(u=this.getAggregations())==null?void 0:u[e==null?void 0:e.sId];if(!o||!n)return;const s=document.createElement("tr");s.className="ev-chart-legend--table__row",s.dataset.inactive=!e.show,Y.setDOMStyle(s,(g=(f=t.table)==null?void 0:f.style)==null?void 0:g.row),s.series=e,s.dataset.type="container";const l=document.createElement("td");l.className="ev-chart-legend--table__color-wrapper",l.dataset.type="color";const a=document.createElement("div");a.className="ev-chart-legend--table__color",a.dataset.type="color";let r;switch(e.show?typeof e.color!="string"?r=e.color[e.color.length-1][1]:r=e.color:r=t.inactive,e.type){case"line":{e.fill?(a.style.backgroundColor=Y.rgbaAdjustHalfOpacity(r),a.style.border=`1px solid ${r}`):(e.point&&(a.className+=" ev-chart-legend--table__color--point-line"),a.className+=" ev-chart-legend--table__color--line",a.style.backgroundColor=r);break}case"bar":case"pie":default:{a.style.height="10px",a.style.backgroundColor=r;break}}e.type==="line"&&e.fill?(a.style.height="8px",a.style.backgroundColor=e.show?Y.rgbaAdjustHalfOpacity(r):t.inactive,a.style.border=`1px solid ${r}`):a.style.backgroundColor=r,l.appendChild(a),s.appendChild(l);const c=document.createElement("td");c.className="ev-chart-legend--table__name",c.style.color=e.show?t.color:t.inactive,c.textContent=e.name,c.setAttribute("title",e.name),c.dataset.type="name",Y.setDOMStyle(c,(p=n==null?void 0:n.name)==null?void 0:p.style),e.show||(c.style.color=t.inactive),s.appendChild(c);const d=Object.keys(n);d==null||d.forEach(m=>{var x;if(m!=="name"&&n[m].use){const b=this.getFormattedValue(n[m],o[m]),y=document.createElement("td");y.className="ev-chart-legend--table__value",y.style.color=e.show?t.color:t.inactive,y.textContent=b,y.dataset.type=m.toString(),Y.setDOMStyle(y,(x=n[m])==null?void 0:x.style),e.show||(y.style.color=t.inactive),s.appendChild(y)}}),this.legendTableDOM.appendChild(s),e.show&&this.seriesInfo.count++},setLegendPosition(){var p,m,x,b,y,M,E,I,T;const e=this.options,t=(p=e==null?void 0:e.legend)==null?void 0:p.position,n=(m=this.wrapperDOM)==null?void 0:m.style,o=(x=this.legendDOM)==null?void 0:x.style,s=(b=this.legendBoxDOM)==null?void 0:b.style,l=(y=this.resizeDOM)==null?void 0:y.style;let a,r;const c=(M=e==null?void 0:e.title)!=null&&M.show?(E=e==null?void 0:e.title)==null?void 0:E.height:0,d=c+((I=e==null?void 0:e.legend)==null?void 0:I.height),{top:h=0,bottom:u=0,left:f=0,right:g=0}=((T=e==null?void 0:e.legend)==null?void 0:T.padding)??{};if(!(!n||!o))switch(s.padding=`${h}px ${g}px ${u}px ${f}px`,t){case"top":n.padding=`${d}px 0 0 0`,a=this.chartDOM.getBoundingClientRect(),r=parseInt(o.paddingTop)+parseInt(o.paddingBottom),s.width="100%",s.height=`${e.legend.height-r}px`,o.top=`${c}px`,o.right="",o.bottom="",o.left="",o.width=`${a.width}px`,o.height=`${e.legend.height+(l?4:0)}px`,l&&(l.top=`${d}px`,l.right="",l.bottom="",l.left="",l.width=`${a.width}px`,l.height="4px",l.cursor="row-resize");break;case"right":n.padding=`${c}px ${e.legend.width}px 0 0`,a=this.chartDOM.getBoundingClientRect(),s.width=`${e.legend.width-10}px`,s.maxHeight=`${a.height}px`,o.paddingLeft="10px",o.top=`${c}px`,o.right="0px",o.bottom="",o.left="",o.width=`${e.legend.width}px`,o.height=`${a.height}px`,l&&(l.top=`${c}px`,l.right=`${e.legend.width}px`,l.bottom="",l.left="",l.width="4px",l.height=`${a.height}px`,l.cursor="col-resize");break;case"bottom":n.padding=`${c}px 0 ${e.legend.height}px 0`,a=this.chartDOM.getBoundingClientRect(),r=parseInt(o.paddingTop)+parseInt(o.paddingBottom),s.width="100%",s.height=`${e.legend.height-r}px`,o.top="",o.right="",o.bottom="0px",o.left="0px",o.width=`${a.width}px`,o.height=`${e.legend.height+(l?4:0)}px`,l&&(l.top="",l.right="",l.bottom=`${e.legend.height}px`,l.left="",l.width=`${a.width}px`,l.height="4px",l.cursor="row-resize");break;case"left":n.padding=`${c}px 0 0 ${e.legend.width}px`,a=this.chartDOM.getBoundingClientRect(),s.width=`${e.legend.width}px`,s.maxHeight=`${a.height}px`,s.display="absolute",s.bottom="0px",o.top=`${c}px`,o.right="",o.bottom="",o.left="0px",o.width=`${e.legend.width}px`,o.height=`${a.height}px`,l&&(l.top=`${c}px`,l.right="",l.bottom="",l.left=`${e.legend.width}px`,l.width="4px",l.height=`${a.height}px`,l.cursor="col-resize");break}},updateLegendContainerSize(){var n;if(!this.options||!this.legendBoxDOM)return;const e=(n=this.options)==null?void 0:n.legend,t=this.legendBoxDOM.getElementsByClassName("ev-chart-legend-container");if(t)for(let o=0;o<t.length;o++)e.position==="top"||e.position==="bottom"?(t[o].style.width=`${e.width-8}px`,t[o].style.margin="0 4px"):t[o].style.width="100%"},onMouseMove(e){e.stopPropagation(),e.preventDefault();const t=this.wrapperDOM.getBoundingClientRect(),n=this.wrapperDOM.offsetWidth,o=this.wrapperDOM.offsetHeight,s=this.options.title.show?this.options.title.height:0,l=this.options.legend.position,a=150,r=70,c=120,d=20;let h;switch(l){case"left":h=e.clientX-t.left,h<c?h=c:h>n-a&&(h=n-a),this.ghostDOM.style.left=`${h}px`;break;case"right":h=e.clientX-t.left,h<a?h=a:h>n-c&&(h=n-c),this.ghostDOM.style.left=`${h}px`;break;case"top":h=e.clientY-t.top,h<d+s?h=d+s:h>o-r&&(h=o-r),this.ghostDOM.style.top=`${h}px`;break;case"bottom":h=e.clientY-t.top,h<r+s?h=r+s:h>o-d&&(h=o-d),this.ghostDOM.style.bottom=`${this.wrapperDOM.offsetHeight-h}px`;break}this.isLegendMove=!0},onMouseUp(e){e.stopPropagation(),e.preventDefault(),this.wrapperDOM.removeEventListener("mousemove",this.mouseMove,!1),this.wrapperDOM.removeEventListener("mouseup",this.mouseUp,!1);const t=this.options,n=t.legend.position,o=this.resizeDOM.style,s=this.legendDOM.style,l=this.legendBoxDOM.style,a=this.ghostDOM.style,r=this.wrapperDOM.style,c=t.title.show?t.title.height:0,d=+this.legendDOM.style.paddingLeft.replace("px","");let h;if(this.isLegendMove)switch(n){case"top":o.top=a.top,h=+a.top.replace("px",""),s.height=`${h-c}px`,l.height=`${h-c-4}px`,t.legend.height=h-c-4,r.padding=`${h}px 0 0 0`;break;case"right":o.left=a.left,h=+a.left.replace("px",""),s.width=`${this.wrapperDOM.offsetWidth-h-4}px`,l.width=`${this.wrapperDOM.offsetWidth-h-4-d}px`,t.legend.width=this.wrapperDOM.offsetWidth-h-4,r.padding=`${c}px ${this.wrapperDOM.offsetWidth-h}px 0 0`;break;case"bottom":o.bottom=a.bottom,h=this.wrapperDOM.offsetHeight-+a.bottom.replace("px",""),s.height=`${this.wrapperDOM.offsetHeight-h}px`,l.height=`${h-c-4}px`,t.legend.height=this.wrapperDOM.offsetHeight-h,r.padding=`${c}px 0 ${this.wrapperDOM.offsetHeight-h}px 0`;break;case"left":o.left=a.left,h=+a.left.replace("px",""),s.width=`${h}px`,l.width=`${h}px`,t.legend.width=h,r.padding=`${c}px 0 0 ${h-4}px`;break}o.display="block",this.ghostDOM.remove(),this.isLegendMove&&(this.render(),this.isLegendMove=!1)},showLegend(){this.resizeDOM&&(this.resizeDOM.style.display="block"),this.legendDOM&&(this.legendDOM.style.display="block"),this.legendNeedsUpdate&&this.options.legend.virtualScroll&&!this.useTable&&(this.legendNeedsUpdate=!1,this.updateVisibleRowCount(),this.renderVisibleLegends())},hideLegend(){var l,a,r,c,d;const e=this.options,t=(l=this.wrapperDOM)==null?void 0:l.style,n=(a=this.resizeDOM)==null?void 0:a.style,o=(r=this.legendDOM)==null?void 0:r.style,s=(c=e==null?void 0:e.title)!=null&&c.show?(d=e==null?void 0:e.title)==null?void 0:d.height:0;!o||!t||(n&&(n.display="none"),o.display="none",o.width="0",o.height="0",t.padding=`${s}px 0 0 0`)},getFormattedValue({formatter:e,decimalPoint:t},n){if(n==null)return"Null";let o;return e&&(o=e(+n)),(!e||typeof o!="string")&&(o=Y.labelSignFormat(+n,t)),o}},Lr=28,PC={width:70,height:60},_C={createLegendLayout(){this.legendDOM=document.createElement("div"),this.legendDOM.className="ev-chart-legend",this.legendBoxDOM=document.createElement("div"),this.legendBoxDOM.className="ev-chart-legend-box",this.containerDOM=document.createElement("div"),this.containerDOM.className="ev-chart-legend-container",this.legendBoxDOM.appendChild(this.containerDOM),this.legendDOM.appendChild(this.legendBoxDOM),this.wrapperDOM.appendChild(this.legendDOM)},initLegend(){this.isInitLegend||(this.createLegendLayout(),this.createLegend()),Object.values(this.seriesList).forEach(e=>{this.setLegendStyle(e)}),this.initEvent(),this.isInitLegend=!0,this.legendDragInfo={dragging:!1,isStart:!0}},initEvent(){this.isInitLegend||(this.onLegendMouseDown=e=>{e.stopPropagation(),e.preventDefault();const t=e.target.dataset.type;let n;if(t==="handle")n=e.target;else if(t==="handle-btn")n=e.target.parentElement;else if(t==="handle-btn-color")n=e.target.parentElement.parentElement;else return;const o=Object.values(this.seriesList);if(!o.length)return;const{colorState:s}=o[0],{start:l,end:a}=s[0];s[0].selectedValue=null,this.clearOverlay(),this.legendDragInfo.dragging=!0,this.legendDragInfo.isStart=l!==a?n.className.includes("start"):this.legendDragInfo.isStart,n.classList.add("dragging"),this.legendBoxDOM.addEventListener("mousemove",this.onLegendMouseMove,!1),this.legendBoxDOM.addEventListener("mouseup",this.onLegendMouseUp,!1)},this.onLegendMouseMove=e=>{e.stopPropagation(),e.preventDefault();const{dragging:t,isStart:n}=this.legendDragInfo;if(t){let o=this.getSelectedValue(e);o=this.isSide?100-o:o;const s=n?"start":"end",l=Object.values(this.seriesList);if(!l.length)return;const{colorState:a}=l[0],{start:r,end:c}=a[0];if(n&&o>c||!n&&o<r)return;a[0][s]=o,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})}},this.onLegendMouseUp=()=>{this.legendDragInfo.dragging=!1;const e=this.containerDOM.getElementsByClassName("ev-chart-legend-handle dragging")[0];e==null||e.classList.remove("dragging"),this.legendBoxDOM.removeEventListener("mouseup",this.onLegendMouseUp,!1)},this.onLegendBoxOver=e=>{const t=e.target.dataset.type,n=Object.values(this.seriesList);if(!n.length)return;const{colorState:o,valueOpt:s}=n[0],l=o[0];let a=this.getSelectedValue(e);if(a=this.isSide?100-a:a,["line","thumb","layer","overlay","overlay-item"].includes(t))if(l.start<=a&&a<=l.end)l.selectedValue=a,this.createLegendOverlay(a,s);else return;else if(["handle","handle-btn","handle-btn-color"].includes(t)){const r=e.target.className.includes("start");l.selectedValue=r?l.start:l.end,this.clearOverlay()}else return;this.legendHover={sId:"gradient",type:this.options.type},this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})},this.onLegendBoxLeave=()=>{this.legendDragInfo.dragging=!1,this.legendHover=null,this.clearOverlay();const e=Object.values(this.seriesList);if(!e.length)return;const{colorState:t}=e[0];t[0].selectedValue=null,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})},this.legendBoxDOM.addEventListener("mousedown",this.onLegendMouseDown),this.legendBoxDOM.addEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.addEventListener("mouseleave",this.onLegendBoxLeave))},getSelectedValue(e){const{x:t,y:n,width:o,height:s}=this.containerDOM.getBoundingClientRect(),l=!this.isSide,a=l?t:n,r=l?o:s;let c=l?e.clientX:e.clientY;c<a?c=a:c>a+r&&(c=a+r);const d=c-a;return+We(d,r)},updateLegend(){this.resetLegend(),this.createLegend(),Object.values(this.seriesList).forEach(e=>{this.setLegendStyle(e)})},resetLegend(){const e=this.containerDOM;if(e)for(;e.hasChildNodes();)e.removeChild(e.firstChild)},clearOverlay(){const e=this.containerDOM.getElementsByClassName("ev-chart-legend-line")[0],t=e==null?void 0:e.getElementsByClassName("ev-chart-legend-overlay")[0];if(t){e.removeChild(t);const o=e.getElementsByClassName("ev-chart-legend-thumb")[0].children;if(o&&o.length)for(const s of o)s.style.opacity=1}},createLegendOverlay(e,t){this.clearOverlay();const n=this.legendHandleSize,{min:o,max:s}=t;if(o===void 0||s===void 0)return;const l=this.containerDOM.getElementsByClassName("ev-chart-legend-line")[0],a=document.createElement("div");a.className="ev-chart-legend-overlay",a.dataset.type="overlay";const r=document.createElement("div");r.className="ev-chart-legend-overlay-tooltip",r.innerText=Math.floor(o+(s-o)*(e/100));const c=document.createElement("span");c.className="ev-chart-legend-overlay-item",c.dataset.type="overlay-item";let d,h;const u=Math.floor(n/2)+14;this.isSide?(h=`top:${100-e}%;left:${u}px;transform:translateY(-50%);`,d=`top:${100-e}%;transform:translateY(-50%);`):(h=`top:-${u}px;left:${e}%;transform:translateX(-50%);`,d=`left:${e}%;transform:translateX(-50%);`),d+=`width:${n-10}px;height:${n-10}px;`,r.style.cssText=h,c.style.cssText=d,a.appendChild(r),a.appendChild(c),l==null||l.appendChild(a);const f=l==null?void 0:l.getElementsByClassName("ev-chart-legend-thumb")[0];if(f){const g=f.children;if(g&&g.length)for(const p of g)p.style.opacity=.2}},createLegendHandle(e){const t=document.createElement("span");t.className=`ev-chart-legend-handle-btn-color ${e}`,t.dataset.type="handle-btn-color";const n=document.createElement("div");n.className=`ev-chart-legend-handle-btn ${e}`,n.dataset.type="handle-btn",n.appendChild(t);const o=document.createElement("div");return o.className=`ev-chart-legend-handle ${e}`,o.dataset.type="handle",o.appendChild(n),o},createLegendLabel(){const e=document.createElement("span");e.className="ev-chart-legend-label-text";const t=document.createElement("div");return t.className="ev-chart-legend-label",t},createLegend(){if(!Object.values(this.seriesList).length)return;const e=this.options.legend;this.isSide=!["top","bottom"].includes(e.position);const t=this.isSide?e.width:e.height;this.legendHandleSize=t>Lr?Lr:t;const n=this.legendHandleSize,o=this.createLegendHandle(this.isSide?"end":"start",n),s=this.createLegendHandle(this.isSide?"start":"end",n),l=document.createElement("div");l.className="ev-chart-legend-line-layer",l.dataset.type="line-layer";const a=document.createElement("div");a.className="ev-chart-legend-thumb",a.dataset.type="thumb",a.appendChild(this.createLegendLabel()),a.appendChild(this.createLegendLabel());const r=document.createElement("div");r.className="ev-chart-legend-line",r.dataset.type="line",r.appendChild(l),r.appendChild(a),this.containerDOM.appendChild(r),this.containerDOM.appendChild(o),this.containerDOM.appendChild(s)},setLegendStyle(e){const t=this.isSide?"top":"right",n=this.legendHandleSize,{valueOpt:o,colorState:s}=e,{min:l,max:a,decimalPoint:r}=o,{start:c,end:d}=s[0],h=e.getColorForGradient(c),u=e.getColorForGradient(d);let f=`linear-gradient(to ${t}, `;f+=`${h}, ${u})`;const g=Math.floor(n/2)+14;let p=`width:${n}px;height:${n}px;`,m,x,b,y=`background:${f};`;this.isSide?(p+=`margin-top:-${n/2}px;`,m=`left:${g}px;transform:translateY(-50%);top:`,x=`top:${100-d}%;`,b=`top:${100-c}%;`,y+=`top:${100-d}%;height:${d-c}%;`):(p+=`margin-left:-${n/2}px;`,m=`top:-${g}px;transform:translateX(-50%);left:`,x=`left:${c}%;`,b=`left:${d}%;`,y+=`left:${c}%;width:${d-c}%;`);const M=(l+(a-l)*(c/100)).toFixed(r),E=(l+(a-l)*(d/100)).toFixed(r),I=this.containerDOM.getElementsByClassName("ev-chart-legend-thumb")[0];I.style.cssText=y;const T=I.getElementsByClassName("ev-chart-legend-label");T[0].style.cssText=`${m}0%;`,T[1].style.cssText=`${m}100%;`,l!==void 0&&a!==void 0&&(T[0].innerText=this.isSide?E:M,T[1].innerText=this.isSide?M:E);const V=this.containerDOM.getElementsByClassName("ev-chart-legend-handle");V[0].style.cssText=p+x,V[1].style.cssText=p+b;const C=this.containerDOM.getElementsByClassName("ev-chart-legend-handle-btn-color");C[0].style.backgroundColor=this.isSide?u:h,C[1].style.backgroundColor=this.isSide?h:u},setLegendPosition(){var x,b,y,M;const e=this.options,t=(x=e==null?void 0:e.legend)==null?void 0:x.position,{width:n,height:o}=PC,s=this.legendHandleSize,l=(b=e==null?void 0:e.title)!=null&&b.show?(y=e==null?void 0:e.title)==null?void 0:y.height:0,a=l+o,{top:r=0,bottom:c=0,left:d=0,right:h=0}=((M=e==null?void 0:e.legend)==null?void 0:M.padding)??{},u=this.wrapperDOM.style;if(!u)return;let f,g,p,m;switch(t){case"top":u.padding=`${a}px 0 0 0`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${s+7}px ${h}px ${c}px ${d}px;`,g+="width:100%",g+=`height${o}px;`,f=`width:${m.width}px;`,f+=`height:${o}px;`,f+=`top:${l}px;`;break;case"right":u.padding=`${l}px ${n}px 0 0`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${r}px ${h}px ${c}px ${d}px;`,g+=`width:${n}px;`,g+="height:100%;",g+=`max-height:${m.height}px;`,f=`width:${n}px;`,f+=`height:${m.height}px;`,f+=`top:${l}px;right:0px;`;break;case"bottom":u.padding=`${l}px 0 ${o}px 0`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${s+7}px ${h}px ${c}px ${d}px;`,g+="width:100%;",g+=`height:${o}px;`,f=`width:${m.width}px;`,f+=`height:${o}px;`,f+="bottom:0px;left:0px;";break;case"left":u.padding=`${l}px 0 0 ${n}px`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${r}px ${h}px ${c}px ${d}px;`,g+="display:absolute;",g+="bottom:0px;",g+=`width:${n}px;`,g+="height:100%;",g+=`maxHeight:${m.height}px;`,f=`width:${n}px;`,f+=`height:${m.height}px;`,f+=`top:${l}px;left:0px`;break}if(["top","bottom"].includes(t)){const E=m.width/2;p=`left:${m.width/2-E/2}px;`,p+=`width:${E}px;`,p+=`height:${s}px;`,p+="padding:4px 0;",p+="margin:0 4px;"}else{const E=m.height/2;p=`top:${m.height/2-E/2}px;`,p+="left:5px;",p+=`width:${s}px;`,p+=`height:${E}px;`,p+="padding:0 4px;",p+="margin:4px 0;"}this.containerDOM.style.cssText=p,this.legendBoxDOM.style.cssText=g,this.legendDOM.style.cssText=f},updateLegendContainerSize(){Object.values(this.seriesList).forEach(e=>{this.setLegendStyle(e)})},showLegend(){this.resizeDOM&&(this.resizeDOM.style.display="block"),this.legendDOM&&(this.legendDOM.style.display="block")},hideLegend(){var s,l,a,r;const e=this.options,t=(s=this.wrapperDOM)==null?void 0:s.style,n=(l=this.legendDOM)==null?void 0:l.style,o=(a=e==null?void 0:e.title)!=null&&a.show?(r=e==null?void 0:e.title)==null?void 0:r.height:0;!n||!t||(n.display="none",n.width="0",n.height="0",t.padding=`${o}px 0 0 0`)}},AC={initScrollbar(){var e,t,n,o,s,l;(n=(t=(e=this.options.axesX)==null?void 0:e[0])==null?void 0:t.scrollbar)!=null&&n.use&&this.initScrollbarInfo(this.options.axesX,"x"),(l=(s=(o=this.options.axesY)==null?void 0:o[0])==null?void 0:s.scrollbar)!=null&&l.use&&this.initScrollbarInfo(this.options.axesY,"y")},initScrollbarInfo(e,t){var s,l,a,r,c,d;const n=this.scrollbar[t],o=Fe({},(s=e==null?void 0:e[0])==null?void 0:s.scrollbar,Ir.scrollbar);Object.keys(o).forEach(h=>{n[h]=o[h]}),n.resetPosition&&(n.range=(a=(l=e==null?void 0:e[0])==null?void 0:l.range)!=null&&a.length?[...e[0].range]:null,this.resetScrollbarSavedPositions(t)),n.isInit||(n.type=(r=e==null?void 0:e[0])==null?void 0:r.type,n.range=(d=(c=e==null?void 0:e[0])==null?void 0:c.range)!=null&&d.length?[...e[0].range]:null,this.resetScrollbarSavedPositions(t),this.initScrollbarRange(t),this.createScrollbarLayout(t),this.createScrollbar(t),this.createScrollEvent(t),n.isInit=!0)},initScrollbarRange(e){var s,l;const t=this.scrollbar[e],n=t.type,o=this.options.type==="heatMap"?this.data.labels[e]:this.data.labels;if((s=t.range)!=null&&s.length&&o.length){const[a,r]=t.range;let c,d;if(ve(a)&&ve(r)){if(n==="step")c=0,d=o.length-1;else{const f=(l=this.minMax[e])==null?void 0:l[0];c=+f.min,d=+f.max}const h=r-a,u=d-c;h>=u?(t.range[0]=c,t.range[1]=d):(t.range[0]=+a<c?c:+a,t.range[1]=+r>d?d:+r,t.range[1]-t.range[0]<h&&(t.range[0]=t.range[1]-h,t.range[0]<c&&(t.range[0]=c)))}}},updateScrollbarInfo(e,t){var r,c,d,h,u,f,g,p,m,x,b,y,M,E,I;const{axesX:n,axesY:o}=this.options,s=e==="x"?n:o;if(!this.scrollbar[e].isInit&&((c=(r=s==null?void 0:s[0])==null?void 0:r.scrollbar)!=null&&c.use)&&((d=s==null?void 0:s[0])!=null&&d.range)){this.initScrollbarInfo(s,e);return}else if(!((h=s==null?void 0:s[0].scrollbar)!=null&&h.use)||qi((u=s==null?void 0:s[0])==null?void 0:u.range)){this.destroyScrollbar(e);return}const l=e==="x"?this.axesX:this.axesY,a=!je((f=s==null?void 0:s[0])==null?void 0:f.range,(g=l==null?void 0:l[0])==null?void 0:g.range);if(a||t){const T=e==="x"?(x=(m=(p=this.options.axesX)==null?void 0:p[0])==null?void 0:m.scrollbar)==null?void 0:x.resetPosition:(M=(y=(b=this.options.axesY)==null?void 0:b[0])==null?void 0:y.scrollbar)==null?void 0:M.resetPosition;if(a){const V=(E=s==null?void 0:s[0])==null?void 0:E.range,C=this.scrollbar[e].range;if(!T&&(V!=null&&V.length)&&(C!=null&&C.length)){const S=V[1]-V[0];this.scrollbar[e].range=[C[0],C[0]+S]}else this.scrollbar[e].range=V!=null&&V.length?[...V]:null}(T||t)&&this.resetScrollbarSavedPositions(e),this.initScrollbarRange(e)}this.scrollbar[e].use=!!((I=s==null?void 0:s[0].scrollbar)!=null&&I.use)},updateScrollbarPosition(){var e,t,n,o,s,l,a,r,c,d;if((e=this.scrollbar.x)!=null&&e.use&&((t=this.scrollbar.x)!=null&&t.isInit)){const h=!((s=(o=(n=this.options.axesX)==null?void 0:n[0])==null?void 0:o.scrollbar)!=null&&s.resetPosition);this.setScrollbarPosition("x",h)}if((l=this.scrollbar.y)!=null&&l.use&&((a=this.scrollbar.y)!=null&&a.isInit)){const h=!((d=(c=(r=this.options.axesY)==null?void 0:r[0])==null?void 0:c.scrollbar)!=null&&d.resetPosition);this.setScrollbarPosition("y",h)}},createScrollbarLayout(e){const t=this.scrollbar[e];t.dom=document.createElement("div"),t.dom.className="ev-chart-scrollbar",t.dom.dataset.type="scrollbar";const n=document.createElement("div");n.className="ev-chart-scrollbar-container",n.dataset.type=e,t.dom.appendChild(n),this.wrapperDOM.appendChild(t.dom)},createScrollbar(e){const t=this.scrollbar[e],n=t.dom.children[0];this.createScrollbarTrack(n),this.createScrollbarThumb(n),t.showButton&&this.createScrollbarButton(n)},createScrollbarTrack(e){const t=document.createElement("div");t.className="ev-chart-scrollbar-track",t.dataset.type="track",e.appendChild(t)},createScrollbarThumb(e){const t=document.createElement("div");t.className="ev-chart-scrollbar-thumb",t.dataset.type="thumb",e.appendChild(t)},createScrollbarButton(e){const t=document.createElement("div");t.className="ev-chart-scrollbar-button ev-chart-scrollbar-button-up",t.dataset.type="button";const n=document.createElement("i");n.className="ev-icon ev-icon-triangle-up ev-chart-scrollbar-button-icon",n.dataset.type="button-icon",t.appendChild(n);const o=document.createElement("div");o.className="ev-chart-scrollbar-button ev-chart-scrollbar-button-down",o.dataset.type="button";const s=document.createElement("i");s.className="ev-icon ev-icon-triangle-down ev-chart-scrollbar-button-icon",s.dataset.type="button-icon",o.appendChild(s),e.appendChild(t),e.appendChild(o)},setScrollbarPosition(e,t=!1){var V,C;const n=this.scrollbar[e];if(!n.use||!n.range)return;const o=n.dom,s=this.chartRect,l=this.labelOffset,a={x1:s.x1+l.left,x2:s.x2-l.right,y1:s.y1+l.top,y2:s.y2-l.bottom},r=(V=this.options.title)!=null&&V.show?(C=this.options.title)==null?void 0:C.height:0,c=e==="x",d=c?n.height:n.width,h=c?a.x2-a.x1:a.y2-a.y1,u=n.showButton?d:0,f=h-u*2,g=this.getScrollbarThumbSize(e,f);if(t&&n.savedPositionRatio!==void 0){const S=Math.max(0,f-g.size);n.savedAtStart?g.position=0:n.savedAtEnd?g.position=S:g.position=Math.min(n.savedPositionRatio*f,S)}const p=Math.max(0,f-g.size);p>0&&(n.savedPositionRatio=g.position/f,n.savedAtStart=g.position<=0,n.savedAtEnd=g.position>=p);let m="display: block;",x,b,y,M,E=`width:${u}px;height:${u}px;`;c?(m=`top: ${s.y2+r+l.top}px;`,m+=`left: ${a.x1}px;`,m+=`width: ${h}px;`,m+=` height: ${d}px;`,x="top: 0;",x+=`left: ${u}px;`,x+=`width: ${f}px;`,x+="height: 100%;",b=`width: ${g.size}px;`,b+="height: 100%;",b+=`left: ${g.position+u}px`,E+="transform:rotate(90deg);top: 0;",y=`${E}right:0;`,M=`${E}left:0;`):(m=`top: ${a.y1+r}px;`,m+=`left: ${a.x2+10}px;`,m+=`width: ${d}px;`,m+=`height: ${h}px;`,x=`top: ${u}px;`,x+="left: 0;",x+="width: 100%;",x+=`height: ${f}px;`,b="width: 100%;",b+=`height: ${g.size}px;`,b+=`bottom: ${g.position+u}px`,E+="left:0;",y=`${E}top: 0;`,M=`${E}bottom: 0;`),o.style.cssText=m;const I=o.getElementsByClassName("ev-chart-scrollbar-track");I[0].style.cssText=x,I[0].style.backgroundColor=n.background;const T=o.getElementsByClassName("ev-chart-scrollbar-thumb");if(T[0].style.cssText=b,T[0].style.backgroundColor=n.thumbStyle.background,T[0].style.borderRadius=`${n.thumbStyle.radius}px`,n.showButton){const S=o.getElementsByClassName("ev-chart-scrollbar-button-up"),k=Math.floor(f-g.size),w=Math.floor(g.position)>k?.5:1;S[0].style.cssText=`background-color: ${n.background};${y}`,S[0].style.opacity=w,S[0].children[0].style.display="block";const B=o.getElementsByClassName("ev-chart-scrollbar-button-down");B[0].style.cssText=`background-color: ${n.background};${M}`,B[0].style.opacity=Math.floor(g.position)<0?.5:1,B[0].children[0].style.display="block"}},getScrollbarThumbSize(e,t){var u,f,g,p;const n=this.scrollbar[e],[o,s]=n.range,l=n.type;let a,r,c=1,d=0,h=0;if(l==="step"){const m=this.options.type==="heatMap"?this.data.labels[e]:this.data.labels,x=s-o+1;r=m.length;const b=t/r;a=b*x,h=b*o}else{const m=e==="x"?this.axesX:this.axesY,x=(u=this.minMax[e])==null?void 0:u[0],b=+x.max-+x.min,y=+s-+o;l==="time"&&(c=(p=m==null?void 0:m[0])==null?void 0:p.getInterval({minValue:x.min,maxValue:x.max,maxSteps:(g=(f=this.labelRange[e])==null?void 0:f[0])==null?void 0:g.max})),r=Math.ceil(b/c)+1,d=+x.min;const M=t/r,E=y/c+1,I=+o-d;a=M*E,h=M*(I/c)}return n.startValue=d,n.steps=r,n.interval=c,{size:a,position:h}},getScrollbarContainerDOM(e){const t=["track","thumb","button"],n=e.dataset.type;return t.includes(n)?e.parentElement:n==="button-icon"?e.parentElement.parentElement:n==="scrollbar"?e.getElementsByClassName("ev-chart-scrollbar-container")[0]:e},updateScrollbarRange(e,t){const n=this.scrollbar[e],{startValue:o,range:s,interval:l,steps:a}=n,r=o+l*a,c=e==="x"?this.axesX[0]:this.axesY[0],[d,h]=s??[];(!ve(d)||!ve(h))&&(n.range=(c==null?void 0:c.range)||null);let u,f,g=!1;t?(u=d+l,f=h+l,g=f>=r):(u=d-l,f=h-l,g=u<o),g||(n.range=[u,f],this.resetScrollbarSavedPositions(e),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},lightUpdate:u>1,updateByScrollbar:!0}))},resetScrollbarSavedPositions(e){const t=this.scrollbar[e];t&&(delete t.savedPositionRatio,delete t.savedAtStart,delete t.savedAtEnd)},createScrollEvent(){var t,n,o;this.onScrollbarClick=s=>{s.preventDefault();const l=s.target.dataset.type,a=this.getScrollbarContainerDOM(s.target),r=["button","button-icon"],c=a.dataset.type;let d;if(r.includes(l)){let h;l==="button"?h=s.target:l==="button-icon"&&(h=s.target.parentElement),d=h.className.includes("up")}else if(l==="track"){const h=a.getElementsByClassName("ev-chart-scrollbar-thumb"),{x:u,y:f}=h[0].getBoundingClientRect(),g=c==="x",p=g?s.clientX:-s.clientY,m=g?u:-f;d=p>m}else return;this.updateScrollbarRange(c,d)},this.onScrollbarDown=s=>{if(s.preventDefault(),s.target.dataset.type!=="thumb")return;const l=this.getScrollbarContainerDOM(s.target),a=l.dataset.type,r=l.getElementsByClassName("ev-chart-scrollbar-thumb"),{x:c,y:d,height:h}=r[0].getBoundingClientRect(),u=this.scrollbar[a];u.scrolling=!0,a==="x"?u.pointInThumb=s.clientX-c:u.pointInThumb=d+h-s.clientY;const f=u.dom;f.addEventListener("mousemove",this.onScrollbarMove),f.addEventListener("mouseup",this.onScrollbarUp)};const e=s=>{this.scrolling(s)};if(this.onScrollbarMove=qo(e,5),this.onScrollbarUp=s=>{s.preventDefault(),this.stopScrolling(s)},this.onScrollbarLeave=s=>{s.preventDefault(),this.scrolling(s),this.stopScrolling(s)},this.onScrollbarWheel=s=>{var h,u,f,g,p,m,x,b;const l=((u=(h=this.tooltipDOM)==null?void 0:h.style)==null?void 0:u.display)==="block",a=this.tooltipBodyDOM||((f=this.tooltipDOM)==null?void 0:f.querySelector(this.options.tooltip.htmlScrollTarget));if(l&&a){const{scrollTop:y,scrollHeight:M,clientHeight:E}=a,I=y<=0,T=y+E>=M,V=s.deltaY<0,C=s.deltaY>0;if(!(I&&V||T&&C))return}s.preventDefault();const r=1;if((g=this.scrollbar.x)!=null&&g.use&&s.shiftKey&&Math.abs(s.deltaY)>r){this.updateScrollbarRange("x",s.deltaY>0);return}const c=Math.abs(s.deltaX),d=Math.abs(s.deltaY);if(c>r&&d>r){c>d&&((p=this.scrollbar.x)!=null&&p.use)?this.updateScrollbarRange("x",s.deltaX>0):d>c&&((m=this.scrollbar.y)!=null&&m.use)&&this.updateScrollbarRange("y",s.deltaY<0);return}if((x=this.scrollbar.x)!=null&&x.use&&c>r){this.updateScrollbarRange("x",s.deltaX>0);return}(b=this.scrollbar.y)!=null&&b.use&&d>r&&this.updateScrollbarRange("y",s.deltaY<0)},this.scrollbar.x.use&&!this.scrollbar.x.isInit){const s=this.scrollbar.x.dom;s.addEventListener("click",this.onScrollbarClick),s.addEventListener("mousedown",this.onScrollbarDown),s.addEventListener("mouseleave",this.onScrollbarLeave)}if(this.scrollbar.y.use&&!this.scrollbar.y.isInit){const s=this.scrollbar.y.dom;s.addEventListener("click",this.onScrollbarClick),s.addEventListener("mousedown",this.onScrollbarDown),s.addEventListener("mouseleave",this.onScrollbarLeave)}((t=this.scrollbar.x)!=null&&t.use||(n=this.scrollbar.y)!=null&&n.use)&&((o=this.overlayCanvas)==null||o.addEventListener("wheel",this.onScrollbarWheel,{passive:!1}))},scrolling(e){const t=this.getScrollbarContainerDOM(e.target),n=t.dataset.type;if(!this.scrollbar[n].scrolling)return;const{steps:o,range:s,pointInThumb:l,startValue:a,interval:r}=this.scrollbar[n],c=t.getElementsByClassName("ev-chart-scrollbar-track"),{x:d,y:h,width:u,height:f}=c[0].getBoundingClientRect(),g=n==="x",p=g?d:h,m=g?u:f,x=m/o,b=a+(o-1)*r;let y=g?e.clientX:e.clientY;y<p?y=p:y>p+m&&(y=p+m);let M;if(g?M=y-p-l:M=p+m-y-l,M<=0)return;let E,I;const T=Math.round(Math.abs(M)/x)*r,[V,C]=s;if(M>0){const S=a+(T-+V);E=+V+S,I=E+(+C-+V)}E<a||I>b||(this.scrollbar[n].range=[E,I],this.resetScrollbarSavedPositions(n),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},lightUpdate:E>1,updateByScrollbar:!0}))},stopScrolling(e){const n=this.getScrollbarContainerDOM(e.target).dataset.type,o=this.scrollbar[n];if(o.scrolling){o.scrolling=!1;const s=o.dom;s.removeEventListener("mousemove",this.onScrollbarMove,!1),s.removeEventListener("mouseup",this.onScrollbarUp,!1)}},hideScrollbar(e){const t=this.scrollbar[e].dom;if(!t)return;const n=t==null?void 0:t.style;n.display="none",n.width="0",n.height="0"},destroyScrollbar(e){var n,o,s;const t=this.scrollbar[e].dom;t&&(t.remove(),this.scrollbar[e]={isInit:!1},!((n=this.scrollbar.x)!=null&&n.use)&&!((o=this.scrollbar.y)!=null&&o.use)&&((s=this.overlayCanvas)==null||s.removeEventListener("wheel",this.onScrollbarWheel,{passive:!1})))}};function zC(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")}function Rr(e,t,n){let o,s,l,a,r,c,d=0,h=!1,u=!1,f=!0;const g=!t&&t!==0&&typeof root.requestAnimationFrame=="function";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0,zC(n)&&(h=!!n.leading,u="maxWait"in n,l=u?Math.max(+n.maxWait||0,t):l,f="trailing"in n?!!n.trailing:f);function p(k){const w=o,B=s;return o=s=void 0,d=k,a=e.apply(B,w),a}function m(k,w){return g?(window.cancelAnimationFrame(r),window.requestAnimationFrame(k)):setTimeout(k,w)}function x(k){if(g)return window.cancelAnimationFrame(k);clearTimeout(k)}function b(k){return d=k,r=m(E,t),h?p(k):a}function y(k){const w=k-c,B=k-d,D=t-w;return u?Math.min(D,l-B):D}function M(k){const w=k-c,B=k-d;return c===void 0||w>=t||w<0||u&&B>=l}function E(){const k=Date.now();if(M(k))return I(k);r=m(E,y(k))}function I(k){return r=void 0,f&&o?p(k):(o=s=void 0,a)}function T(){r!==void 0&&x(r),d=0,o=c=s=r=void 0}function V(){return r===void 0?a:I(Date.now())}function C(){return r!==void 0}function S(...k){const w=Date.now(),B=M(w);if(o=k,s=this,c=w,B){if(r===void 0)return b(c);if(u)return r=m(E,t),p(c)}return r===void 0&&(r=m(E,t)),a}return S.cancel=T,S.flush=V,S.pending=C,S}const FC="Expected a function";function HC(e,t,n){let o=!0,s=!0;if(typeof e!="function")throw new TypeError(FC);return Rr(e,t,{leading:o,maxWait:t,trailing:s})}const WC={createEventFunctions(){var e,t,n,o;this.onMouseMove=s=>{var f,g;if((f=this.dragInfo)!=null&&f.isMove||this.isMobile)return;const l={e:s},{indicator:a,tooltip:r,type:c}=this.options,d=this.getMousePosition(s),h=this.findHitItem(d);r!=null&&r.showAllValueInRange&&(h!=null&&h.items)&&this.addNotHitInfo(h);const u=this.overlayCtx;if(this.overlayClear(),Object.keys(h.items).length){if(r.use&&this.isInitTooltip)if(this.drawItemsHighlight(h,u),typeof(r==null?void 0:r.returnValue)=="function"){const m=[];Object.keys(h.items).forEach(x=>{m.push({sId:x,data:h.items[x].data,color:h.items[x].color,name:h.items[x].name,dataId:h.items[x].id,index:h.items[x].index})}),this.hideTooltipDOM(),r.returnValue(m,s)}else(g=r==null?void 0:r.formatter)!=null&&g.html?(this.drawCustomTooltip(h==null?void 0:h.items),this.setCustomTooltipLayoutPosition(h,s)):(this.setTooltipLayoutPosition(h,s),c==="scatter"?this.drawTooltipForScatter(h,this.tooltipCtx):c==="heatMap"?this.drawToolTipForHeatMap(h,this.tooltipCtx):this.drawTooltip(h,this.tooltipCtx));const p=Object.values(this.seriesList||{}).some(m=>m.type==="line");if(r.use&&(c==="line"||p)){const m=this.drawIndicatorForTooltip(h,a.color),x=m==null?void 0:m.labelValue,b=this.getTimeLabel(d);l.hoveredLabel={horizontal:this.options.horizontal,label:b,mousePosition:[s.clientX,s.clientY],dataLabel:x}}}else r.use&&this.isInitTooltip&&(typeof(r==null?void 0:r.returnValue)=="function"&&r.returnValue([],s),this.hideTooltipDOM());if(this.dragInfoBackup&&this.drawSelectionArea(this.dragInfoBackup),!l.hoveredLabel&&!this.isNotUseIndicator()){const p=Object.values(this.seriesList||{}).some(x=>x.type==="line");(c!=="line"&&!p||!r.use||!Object.keys(h.items).length)&&this.drawIndicator(d,a.color);const m=this.getTimeLabel(d);l.hoveredLabel={horizontal:this.options.horizontal,label:m,mousePosition:[s.clientX,s.clientY]}}else l.hoveredLabel||(l.hoveredLabel={label:""});typeof this.listeners["mouse-move"]=="function"&&(c!=="pie"&&(l.curMouseTargetVal=this.getCurMouseTargetVal(d,h)),this.listeners["mouse-move"](l))},this.onMouseLeave=s=>{const{tooltip:l,dragSelection:a}=this.options;l.throttledMove&&this.onMouseMove.cancel(),(!a.use||!a.keepDisplay)&&this.overlayClear(),l.use&&this.isInitTooltip&&(typeof(l==null?void 0:l.returnValue)=="function"&&l.returnValue([],s),this.tooltipClear()),this.listeners["mouse-leave"]()},this.onDblClick=s=>{const l={e:s},a=this.getMousePosition(s),{type:r,selectItem:c,selectLabel:d,selectSeries:h}=this.options,u=(c==null?void 0:c.use)&&(c==null?void 0:c.useClick),f=(d==null?void 0:d.use)&&(d==null?void 0:d.useClick),g=(h==null?void 0:h.use)&&(h==null?void 0:h.useClick);u?l.eventTarget="item":f?l.eventTarget="label":g&&(l.eventTarget="series");const p=()=>{var E,I;const b=this.findHitItem(a,!0),y=b.hitId??Object.keys(b.items)[0],M=b.items[y];M&&(l.label=M.label,l.value=(E=M.data)==null?void 0:E.o,l.seriesId=y,l.dataIndex=M.index,l.acc=(I=M.data)==null?void 0:I.acc)},m=b=>{var V,C;const y=this.findHitItem(a,!0),M=y.hitId??Object.keys(y.items)[0],E=y.items[M],{labelIndex:I}=this.getLabelInfoByPosition(a,b),{dataIndex:T}=this.regulateSelectedLabelInfo(I,b);this.defaultSelectInfo=this.getSelectedLabelInfoWithLabelData(T,b),E&&(l.label=E.label,l.seriesId=M,l.value=(V=E.data)==null?void 0:V.o,l.acc=(C=E.data)==null?void 0:C.acc,l.dataIndex=E.index)},x=()=>{var E,I,T;const b=this.findHitItem(a,!0),y=b.hitId??Object.keys(b.items)[0],M=b.items[y];if(y!==null){const V=this.updateSelectedSeriesInfo(y,!0);M&&(l.label=M.label,l.value=(E=M.data)==null?void 0:E.o,l.seriesId=(I=V.seriesId)==null?void 0:I.at(0),l.acc=(T=M.data)==null?void 0:T.acc,l.dataIndex=M.index)}};switch(r){case"bar":{f?m(this.options.horizontal?"yAxis":"xAxis"):p();break}case"line":{u?p():f?m():g&&x();break}default:{p();break}}typeof this.listeners["dbl-click"]=="function"&&this.listeners["dbl-click"](l)},this.onClick=s=>{var b;if(this.isMouseMove){this.isMouseMove=!1;return}const l={e:s},a=this.getMousePosition(s),{type:r,selectItem:c,selectLabel:d,selectSeries:h}=this.options,u=(c==null?void 0:c.use)&&(c==null?void 0:c.useClick),f=(d==null?void 0:d.use)&&(d==null?void 0:d.useClick),g=(h==null?void 0:h.use)&&(h==null?void 0:h.useClick),p=()=>{const y=this.getHitItemByPosition(a,!1,void 0,!1,!0);({label:l.label,value:l.value,sId:l.seriesId,dataIndex:l.dataIndex,acc:l.acc}=y),y!=null&&y.sId&&(l.selected={eventTarget:"item",seriesId:this.isDeselectItem(y)?null:y.sId,dataIndex:this.isDeselectItem(y)?null:y.dataIndex})},m=y=>{var I,T,V,C;const{labelIndex:M}=this.getLabelInfoByPosition(a,y),{dataIndex:E}=this.regulateSelectedLabelInfo(M,y);this.defaultSelectInfo=this.getSelectedLabelInfoWithLabelData(E,y),y&&(this.defaultSelectInfo.targetAxis=E!=null&&E.length?y:null),l.selected={eventTarget:"label",...Se(this.defaultSelectInfo)},l.label=(T=(I=this.defaultSelectInfo)==null?void 0:I.label)==null?void 0:T.at(0),l.dataIndex=(C=(V=this.defaultSelectInfo)==null?void 0:V.dataIndex)==null?void 0:C.at(0)},x=()=>{const y=this.findHitItem(a,!0),M=y.hitId??Object.keys(y.items)[0],E=y.items[M];if(!pt(M)){const I=this.updateSelectedSeriesInfo(M,!1);this.defaultSelectInfo.seriesId=I.seriesId,l.selected={eventTarget:"series",...Se(this.defaultSelectInfo)},l.label=E.label,l.dataIndex=E.index}};switch(r){default:case"bar":{u?p():f&&m(this.options.horizontal?"yAxis":"xAxis");break}case"line":{u?p():f?m():g&&x();break}case"heatMap":{const y=!!this.options.horizontal;if(u&&f){const{useBothAxis:M}=d,E=this.getCurMouseLocation(a);if(E==="chartBackground")this.clearSelectedLabelInfo(),l.deselected={eventTarget:"label"},p();else if(E==="yAxis"||E==="xAxis"){if(this.clearSelectedItemInfo(),l.deselected={eventTarget:"item"},!M&&E!==(y?"yAxis":"xAxis"))return;m(E)}}else if(u)p();else if(f){const{useBothAxis:M}=d,E=this.getCurMouseLocation(a);if((E==="yAxis"||E==="xAxis")&&!M&&E!==(y?"yAxis":"xAxis"))return;E!=="canvas"&&m(M?E:null)}break}case"pie":{u&&p();break}case"scatter":{if(u&&p(),(b=this.options.dragSelection)!=null&&b.use&&this.isMobile){let y=this.setTouchInfo(s);this.overlayClear(),this.options.dragSelection.keepDisplay&&(s.layerX<y.range.x1||s.layerY<y.range.y1||s.layerX>y.range.x2||s.layerY>y.range.y2)?this.isTouchOverlay=!1:(y=this.setTouchBoxDimensions(y),this.isTouchOverlay=!0,this.drawSelectionArea(y)),this.options.dragSelection.keepDisplay||setTimeout(()=>{this.isTouchOverlay=!1,this.overlayClear()},100),l.e=s,l.touchInfo=y,l.data=this.findSelectedItems(y),l.range=this.getSelectionRange(y),typeof this.listeners["drag-select"]=="function"&&this.listeners["drag-select"](l)}break}}typeof this.listeners.click=="function"&&(this.dragInfoBackup||this.listeners.click(l))},this.onMouseDown=s=>{const{dragSelection:l,type:a}=this.options;l.use&&(a==="scatter"||a==="line"||a==="heatMap")&&(this.removeSelectionArea(),this.dragStart(s,a))},this.onWheel=s=>{var r,c,d;const l=((c=(r=this.tooltipDOM)==null?void 0:r.style)==null?void 0:c.display)==="block",a=(d=this.tooltipDOM)==null?void 0:d.querySelector(this.options.tooltip.htmlScrollTarget);(l||a&&a.scrollHeight>a.clientHeight)&&(s.preventDefault(),l&&(this.tooltipBodyDOM.scrollTop+=s.deltaY),a&&(a.scrollTop+=s.deltaY))},(t=(e=this.options)==null?void 0:e.tooltip)!=null&&t.useScrollbar&&this.overlayCanvas.addEventListener("wheel",this.onWheel,{passive:!1}),(o=(n=this.options)==null?void 0:n.tooltip)!=null&&o.throttledMove&&(this.onMouseMove=HC(this.onMouseMove,30)),this.overlayCanvas.addEventListener("mousemove",this.onMouseMove),this.overlayCanvas.addEventListener("mouseleave",this.onMouseLeave),this.overlayCanvas.addEventListener("dblclick",this.onDblClick),this.overlayCanvas.addEventListener("click",this.onClick),this.overlayCanvas.addEventListener("mousedown",this.onMouseDown),this.dragTouchSelectionEvent=s=>this.dragTouchSelectionDestroy(s),window.addEventListener("click",this.dragTouchSelectionEvent)},dragStart(e,t){let[n,o]=this.getMousePosition(e);const s=this.chartRect,l=this.labelOffset,a={x1:s.x1+l.left,x2:s.x2-l.right,y1:s.y1+l.top,y2:s.y2-l.bottom};n<a.x1&&(n=a.x1),n>a.x2&&(n=a.x2),o<a.y1&&(o=a.y1),o>a.y2&&(o=a.y2),this.dragInfo={xcp:n,ycp:o,range:a};const r=d=>{d.preventDefault();const[h,u]=this.getMousePosition(d),f=this.dragInfo,{xcp:g,ycp:p,range:m}=f;let x,b;if(f.isMove=!0,this.isMouseMove=!0,h<m.x1?x=m.x1:h>m.x2?x=m.x2:x=h,u<m.y1?b=a.y1:u>m.y2?b=m.y2:b=u,t==="heatMap"){const y={xcp:g,xep:x,ycp:p,yep:b,range:m},{xsp:M,ysp:E,width:I,height:T}=this.getDragInfoForHeatMap(y);f.xsp=M,f.ysp=E,f.width=I,f.height=T}else f.xsp=Math.min(g,x),f.ysp=t==="scatter"?Math.min(p,b):m.y1,f.width=Math.ceil(Math.abs(x-g)),f.height=t==="scatter"?Math.ceil(Math.abs(b-p)):m.y2-m.y1;this.overlayClear(),this.drawSelectionArea(f)},c=d=>{var u,f;const h=this.dragInfo;if(h!=null&&h.isMove&&(h==null?void 0:h.width)>1&&(h==null?void 0:h.height)>1){const g={e:d,data:this.findSelectedItems(h),range:t==="heatMap"?this.getSelectionRangeForHeatMap(h):this.getSelectionRange(h)};if(this.dragInfoBackup=Fe({},h),typeof this.listeners["drag-select"]=="function"&&!((f=(u=this.options)==null?void 0:u.zoom)!=null&&f.use))this.listeners["drag-select"](g);else{const{xsp:p,range:m,width:x}=h,b=p-m.x1;g.range.dragSelectionInfo={dragXsp:b,dragXep:b+x,exceptAxesYChartWidth:m.x2-m.x1,exceptAxesXChartHeight:m.y2-m.y1,chartRange:m,chartTitle:this.options.title.text},this.options.zoom.getRangeInfo(g)}this.options.dragSelection.keepDisplay||this.removeSelectionArea()}this.dragInfo=null,window.removeEventListener("mousemove",r),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",r),window.addEventListener("mouseup",c)},drawSelectionArea({xsp:e,ysp:t,width:n,height:o,range:s}){const l=this.overlayCtx,{fillColor:a,opacity:r}=this.options.dragSelection,c=this.chartRect,d=this.labelOffset,h={x1:c.x1+d.left,x2:c.x2-d.right,y1:c.y1+d.top,y2:c.y2-d.bottom};if(l.fillStyle=a,l.globalAlpha=r,je(h,s))l.fillRect(e,t,n,o);else{const u=s.x2-s.x1,f=s.y2-s.y1,g=h.x2-h.x1,p=h.y2-h.y1,m=(e-s.x1)/u,x=(t-s.y1)/f,b=h.x1+g*m,y=h.y1+p*x,M=n/u,E=o/f,I=g*M,T=p*E;l.fillRect(b,y,I,T)}l.globalAlpha=1},removeSelectionArea(){this.dragInfoBackup=null,this.overlayClear()},getMousePosition(e){const t=e.originalEvent||e,n=this.overlayCanvas.getBoundingClientRect();return[t.clientX-n.left,t.clientY-n.top,n.width,n.height]},getCurMouseTargetVal(e,t){const n=this.getCurMouseLocation(e),o={location:n,labelIdx:-1,labelVal:"",dataIdx:-1,maxDataVal:"",originVal:""};if(n==="chartBackground"){const{maxHighlight:s,items:l}=t;if(s!=null&&s.length){const[a,r]=s;l[a]&&(o.dataIdx=l[a].index,o.maxDataVal=r,o.originVal=t)}}else if(n==="xAxis"||n==="yAxis"){const{axesX:s,axesY:l}=this.options,a=(c,d,h)=>{o.labelIdx=d,o.labelVal=c[0].type==="time"?Je(h).format(c[0].timeFormat):h,o.originVal=c[0].type==="time"?Je(h):h};(c=>{const{labelIndex:d}=this.getLabelInfoByPosition(e,n),{labelVal:h,labelIdx:u}=this.getCurMouseLabelVal(c,e,d);a(c==="xAxis"?s:l,u,h)})(n)}return o},setTouchInfo(e){let[t,n]=this.getMousePosition(e);const o=this.chartRect,s=this.labelOffset,l={x1:o.x1+s.left,x2:o.x2-s.right,y1:o.y1+s.top,y2:o.y2-s.bottom};return t=Math.max(l.x1,Math.min(t,l.x2)),n=Math.max(l.y1,Math.min(n,l.y2)),{xcp:t,ycp:n,range:l}},setTouchBoxDimensions(e){var h;const t=((h=this.options.dragSelection)==null?void 0:h.size)||50,n=t/2,{xcp:o,ycp:s,range:l}=e;let a=o-n,r=s-n,c=t,d=t;return this.boxOverflow={x1:!1,x2:!1,y1:!1,y2:!1},o<l.x1+n&&(a=l.x1,c=n-(l.x1-o),this.boxOverflow.x1=!0),o>l.x2-n&&(c=n-(o-l.x2),this.boxOverflow.x2=!0),s<l.y1+n&&(r=l.y1,d=n-(l.y1-s),this.boxOverflow.y1=!0),s>l.y2-n&&(d=n-(s-l.y2),this.boxOverflow.y2=!0),e.xsp=a,e.ysp=r,e.width=c,e.height=d,e},dragTouchSelectionDestroy(e){var t;(t=this.options.dragSelection)!=null&&t.use&&e.target!==this.overlayCanvas&&this.isTouchOverlay&&(this.isTouchOverlay=!1,this.overlayClear())},findHitItem(e,t=!1){var I,T,V;const n=Object.keys(this.seriesList),o={},s=!!this.options.horizontal,l=this.tooltipCtx,[a,r]=e;let c=null,d="",h=0,u="",f=null,g=null,p=1/0,m=!1,x=null,b=1/0;const y=this.findClosestDataIndex(e,n,t);if(y===-1&&!this.isNotUseIndicator())return{items:o,hitId:c,maxTip:[d,u],maxHighlight:null};const M=n.every(C=>this.seriesList[C].type==="bar");for(let C=0;C<n.length;C++){const S=n[C],k=this.seriesList[S];if(k.findGraphData&&k.show){const w=k.findGraphData(e,s,y,!M);if(w!=null&&w.data){let B;if(w.data.o===null&&k.interpolation!=="zero"?k.isExistGrp||(B=s?w.data.x:w.data.y):isNaN(w.data.o)||(B=w.data.o),B!=null){const D=this.getFormattedTooltipLabel({dataId:k.id,seriesId:S,seriesName:k.name,itemData:w.data}),L=l?l.measureText(D).width:1;w.id=k.id,w.name=D,w.axis={x:k.xAxisIndex,y:k.yAxisIndex},w.label=s?(I=w.data)==null?void 0:I.y:(T=w.data)==null?void 0:T.x,o[S]=w;const R=this.getFormattedTooltipValue({dataId:k.id,seriesId:S,seriesName:D,value:B,itemData:w.data});if(w.data.formatted=R,h<L&&(d=D,h=L),u.length<=`${R}`.length&&(u=`${R}`),(f===null||f<=B)&&(f=B,g=S),w.hit&&w.data.xp!==void 0&&w.data.yp!==void 0){const v=(w.data.xp-e[0])**2+(w.data.yp-e[1])**2;w.directHit?((!m||v<p)&&(p=v,c=S),m=!0):!m&&v<p&&(p=v,c=S)}if(w.data.xp!==void 0&&w.data.yp!==void 0&&w.data.xp!==null&&w.data.yp!==null){const v=Y.calcBoxDistance(w.data,a,r);v<b&&(b=v,x=S)}}}}}c===null&&(c=x!==null?x:Object.keys(o)[0]);const E=f!==null?[g,f]:null;if(t&&Object.keys(o).length===0&&y!==-1){const C=n.find(k=>{var B;const w=this.seriesList[k];return(w==null?void 0:w.show)&&((B=w==null?void 0:w.data)==null?void 0:B.length)>0}),S=C?(V=this.seriesList[C].data)==null?void 0:V[y]:null;S&&(o[""]={id:"",name:"",label:s?S.y:S.x,index:y,axis:{x:0,y:0},data:{o:void 0,x:S.x,y:S.y}},c="")}return{items:o,hitId:c,maxTip:[d,u],maxHighlight:E}},findClosestDataIndex(e,t,n=!1){var f;const[o,s]=e,l=!!this.options.horizontal,a=l?s:o,r=t.find(g=>{var m;const p=this.seriesList[g];return(p==null?void 0:p.show)&&((m=p==null?void 0:p.data)==null?void 0:m.length)>0});if(!r||!((f=this.seriesList[r])!=null&&f.data))return-1;const c=this.seriesList[r].data;let d=50;if(c.length>1){const g=[];for(let p=1;p<c.length;p++){const m=c[p-1],x=c[p];if(m&&x){let b,y;l?(b=m.h?m.yp+m.h/2:m.yp,y=x.h?x.yp+x.h/2:x.yp):(b=m.w?m.xp+m.w/2:m.xp,y=x.w?x.xp+x.w/2:x.xp),b!==null&&y!==null&&g.push(Math.abs(y-b))}}g.length>0&&(d=g.reduce((p,m)=>p+m,0)/g.length)}let h=1/0,u=-1;for(let g=0;g<c.length;g++)if(n||t.some(m=>{var b,y,M,E;const x=this.seriesList[m];return(x==null?void 0:x.show)&&((y=(b=x.data)==null?void 0:b[g])==null?void 0:y.o)!==null&&((E=(M=x.data)==null?void 0:M[g])==null?void 0:E.o)!==void 0})){const m=c[g];if(m){let x;if(l?x=m.h?m.yp+m.h/2:m.yp:x=m.w?m.xp+m.w/2:m.xp,x!==null){const b=Math.abs(a-x);b<h&&(h=b,u=g)}}}return h>=d?t.some(p=>{const m=this.seriesList[p];if(m!=null&&m.show){const x=m.passingValue,b=m.interpolation,y=m.hasPassingValueInData;return b==="linear"||b==="none"&&!!x&&y}return!1})?u:-1:u},getFormattedTooltipLabel({dataId:e,seriesId:t,seriesName:n,itemData:o}){var c;const l=this.options.tooltip,a=(c=l==null?void 0:l.formatter)==null?void 0:c.label;let r=n;return a&&(r=a({dataId:e,seriesId:t,seriesName:n,itemData:o})),r},getFormattedTooltipValue({dataId:e,seriesId:t,seriesName:n,value:o,itemData:s}){var h;const l=this.options,a=!!l.horizontal,r=l.tooltip,c=typeof(r==null?void 0:r.formatter)=="function"?r==null?void 0:r.formatter:(h=r==null?void 0:r.formatter)==null?void 0:h.value;let d=o;return c&&(l.type==="pie"?d=c({value:o,name:n,percentage:s==null?void 0:s.percentage,seriesId:t,dataId:e}):l.type==="heatMap"?d=c({x:s==null?void 0:s.x,y:s==null?void 0:s.y,value:o>-1?o:"error",seriesId:t,dataId:e}):d=c({x:a?o:s==null?void 0:s.x,y:a?s==null?void 0:s.y:o,o:s==null?void 0:s.o,name:n,seriesId:t,dataId:e})),o&&(!c||typeof d!="string")&&(l.type==="heatMap"?d=o<0?"error":$t(o):d=$t(o)),d},addNotHitInfo(e){var c,d,h,u,f,g;const t=this.tooltipCtx,n=!!this.options.horizontal,o=Object.keys(e.items)[0],s=n?(h=(d=(c=e.items)==null?void 0:c[o])==null?void 0:d.data)==null?void 0:h.y:(g=(f=(u=e.items)==null?void 0:u[o])==null?void 0:f.data)==null?void 0:g.x;let l="",a="";const r=Object.keys(this.seriesList);for(let p=0;p<r.length;p++){const m=r[p],x=this.seriesList[m];if(x!=null&&x.show){const b=x.data.find(C=>n?(C==null?void 0:C.y)===s:(C==null?void 0:C.x)===s),y=this.getFormattedTooltipLabel({dataId:x.id,seriesId:m,seriesName:x.name,itemData:b}),M=this.getFormattedTooltipValue({dataId:x.id,seriesId:m,seriesName:y,value:b==null?void 0:b.o,itemData:b});if(b&&b.o!==null&&b.o!==void 0&&!e.items[m]){const C={};C.color=x.color,C.hit=!1,C.name=y,C.axis={x:x.xAxisIndex,y:x.yAxisIndex},C.index=n?x.yAxisIndex:x.xAxisIndex,C.data=b,C.data.formatted=M,e.items[m]=C}const E=t?t.measureText(l).width:1,I=t?t.measureText(y).width:1;E<I&&(l=y);const T=t?t.measureText(a).width:1,V=t?t.measureText(`${M}`).width:1;T<V&&(a=`${M}`)}}e.maxTip=[l,a]},selectItemByData(e,t){this.defaultSelectItemInfo=e;let n;t==="pie"?n={type:"pie",sId:e.seriesID}:n=isNaN(e==null?void 0:e.dataIndex)?null:this.getItem(e,!1),this.render(n)},selectLabelByData(e,t){this.defaultSelectInfo=this.getSelectedLabelInfoWithLabelData(e,t),this.render()},selectSeriesByData(e){this.defaultSelectInfo.seriesId=e,this.render()},getSelectedLabelInfoWithLabelData(e,t){const{selectLabel:n,type:o,horizontal:s}=this.options,l=Se(this.defaultSelectInfo);switch(l.dataIndex=e,o){default:case"bar":case"line":{l.dataIndex.splice(n.limit),l.label=l.dataIndex.map(r=>this.data.labels[r]);const a=Object.entries(this.data.data);l.data=l.dataIndex.map(r=>Object.fromEntries(a.map(([c,d])=>[c,d[r]])));break}case"heatMap":{const{limit:a,useBothAxis:r}=this.options.selectLabel;l.dataIndex.splice(a);let c;r?c=t==="yAxis"?"y":"x":c=s?"y":"x",l.label=l.dataIndex.map(h=>this.data.labels[c][h]);const d=Object.values(this.data.data)[0];l.data=d.filter(({x:h,y:u})=>l.label.includes(c==="y"?u:h));break}}return l},regulateSelectedLabelInfo(e,t){var l,a;const n=((l=this.options)==null?void 0:l.selectLabel)??{},o=t===null||((a=this.defaultSelectInfo)==null?void 0:a.targetAxis)===t?{...this.defaultSelectInfo,targetAxis:t}:{dataIndex:[],targetAxis:t},s=Se(o);if(o.dataIndex.includes(e)){const r=o.dataIndex.indexOf(e);s.dataIndex.splice(r,1)}else e>-1&&(s.dataIndex.push(e),n.limit>0&&n.limit<s.dataIndex.length&&(n.useDeselectOverflow?s.dataIndex.splice(0,1):s.dataIndex.pop()));return s},updateSelectedSeriesInfo(e,t){var l;const n=((l=this.options)==null?void 0:l.selectSeries)??{},o=this.defaultSelectInfo??{seriesId:[]};typeof o.seriesId=="string"&&(o.seriesId=[o.seriesId]);const s=Se(o);if(o.seriesId.includes(e)){if(!t){const a=o.seriesId.indexOf(e);s.seriesId.splice(a,1)}}else e&&(s.seriesId.push(e),n.limit>0&&n.limit<s.seriesId.length&&(n.useDeselectOverflow?s.seriesId.splice(0,1):s.seriesId.pop()));return s},drawIndicatorForTooltip(e,t){var d;if(!(e!=null&&e.items)||!Object.keys(e.items).length)return null;const n=this.overlayCtx,{horizontal:o}=this.options,s={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},l=Object.keys(e.items)[0],a=e.items[l];if(!(a!=null&&a.data))return null;const r=o?a.data.y:a.data.x;let c;if(o){const h=a.data.yp+(a.data.h?a.data.h/2:0);c=[s.x1,h]}else c=[a.data.xp+(a.data.w?a.data.w/2:0),s.y1];return n.beginPath(),n.save(),n.strokeStyle=t,n.lineWidth=1,(d=this.options.indicator)!=null&&d.segments&&n.setLineDash(this.options.indicator.segments),o?(n.moveTo(s.x1,c[1]+.5),n.lineTo(s.x2,c[1]+.5)):(n.moveTo(c[0]+.5,s.y1),n.lineTo(c[0]+.5,s.y2)),n.stroke(),n.restore(),n.closePath(),{labelValue:r,position:c}},findSelectedItems(e){const t=[],n=Object.keys(this.seriesList);for(let o=0;o<n.length;o++){const s=n[o],l=this.seriesList[s],a=l.findItems;if(a){const r=a.call(l,e);r&&r.length&&t.push({seriesName:l.name,seriesId:s,items:r})}}return t},getSelectionRange({xsp:e,ysp:t,width:n,height:o,range:s}){var M,E,I,T;const l=this.axesSteps.x.length?this.axesSteps.x[0]:null,a=this.axesSteps.y.length?this.axesSteps.y[0]:null;if(!l||!a)return null;const r=e+n,c=t+o,d=l.graphMax-l.graphMin,h=a.graphMax-a.graphMin,u=this.getRatioInRange(s.x1,s.x2,e),f=this.getRatioInRange(s.x1,s.x2,r),g=this.getRatioInRange(s.y1,s.y2,c),p=this.getRatioInRange(s.y1,s.y2,t),m=this.isMobile&&((M=this.boxOverflow)!=null&&M.x1)?Math.min(this.minMax.x[0].min,l.graphMin):Math.max(l.graphMin+d*u,l.graphMin),x=this.isMobile&&((E=this.boxOverflow)!=null&&E.x2)?Math.max(this.minMax.x[0].max,l.graphMax):Math.min(l.graphMin+d*f,l.graphMax),b=this.isMobile&&((I=this.boxOverflow)!=null&&I.y2)?Math.min(this.minMax.y[0].min,a.graphMin):Math.max(a.graphMin+h*(1-g),a.graphMin),y=this.isMobile&&((T=this.boxOverflow)!=null&&T.y1)?Math.max(this.minMax.y[0].max,a.graphMax):Math.min(a.graphMin+h*(1-p),a.graphMax);return{xMin:+m.toFixed(3),xMax:+x.toFixed(3),yMin:+b.toFixed(3),yMax:+y.toFixed(3)}},getRatioInRange(e,t,n){const o=t-e;return(n-e)/o},getDragInfoForHeatMap(e){const t=Object.keys(this.seriesList)[0];return this.seriesList[t].findBlockRange(e)},getSelectionRangeForHeatMap(e){const t=this.axesSteps.x.length?this.axesSteps.x[0]:null,n=this.axesSteps.y.length?this.axesSteps.y[0]:null;if(!t||!n)return null;const o=Object.keys(this.seriesList)[0],{xMin:s,xMax:l,yMin:a,yMax:r}=this.seriesList[o].findSelectionRange(e)??{};return{xMin:s??t.graphMin,xMax:l??t.graphMax,yMin:a??n.graphMin,yMax:r??n.graphMax}},isDeselectItem(e){var t,n;return this.options.selectItem.useDeselectItem&&(e==null?void 0:e.dataIndex)===((t=this.defaultSelectItemInfo)==null?void 0:t.dataIndex)&&(e==null?void 0:e.sId)===((n=this.defaultSelectItemInfo)==null?void 0:n.seriesID)&&!isNaN(e==null?void 0:e.dataIndex)},getCurMouseLocation(e){const[t,n]=e,o={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},s=o[this.axesX[0].units.rectStart],l=o[this.axesX[0].units.rectEnd],a=o[this.axesY[0].units.rectStart],r=o[this.axesY[0].units.rectEnd];return gt(t,this.chartRect.x1,o.x1)&>(n,a,r)?"yAxis":gt(t,s,l)&>(n,o.y2,this.chartRect.y2)?"xAxis":gt(t,o.x1,o.x2)&>(n,o.y1,o.y2)?"chartBackground":"canvas"},isNotUseIndicator(){return this.options.type==="pie"||this.options.type==="scatter"||this.options.type==="heatMap"},clearSelectedLabelInfo(){this.defaultSelectInfo={dataIndex:[]}},clearSelectedItemInfo(){this.defaultSelectItemInfo=null}},_s=8,ci=50,so=17,$C=8,XC={createTooltipDOM(){var e,t;this.tooltipDOM=document.createElement("div"),this.tooltipDOM.className="ev-chart-tooltip",this.tooltipHeaderDOM=document.createElement("div"),this.tooltipHeaderDOM.className="ev-chart-tooltip-header",this.tooltipBodyDOM=document.createElement("div"),this.tooltipBodyDOM.className="ev-chart-tooltip-body",this.tooltipCanvas=document.createElement("canvas"),this.tooltipCanvas.className="ev-chart-tooltip-canvas",this.tooltipCtx=this.tooltipCanvas.getContext("2d"),this.tooltipDOM.style.display="none",(t=(e=this.options.tooltip)==null?void 0:e.formatter)!=null&&t.html||this.setDefaultTooltipLayout(),document.body.appendChild(this.tooltipDOM),this.options.tooltip.debouncedHide?this.hideTooltipDOM=Rr(()=>{this.tooltipDOM.style.display="none"},200):this.hideTooltipDOM=()=>{this.tooltipDOM.style.display="none"},this.isInitTooltip=!0},setDefaultTooltipLayout(){this.tooltipBodyDOM.appendChild(this.tooltipCanvas),this.tooltipDOM.appendChild(this.tooltipHeaderDOM),this.tooltipDOM.appendChild(this.tooltipBodyDOM)},getFontStyle(e){var s,l;const t=(s=this.options)==null?void 0:s.tooltip,n=((l=t==null?void 0:t.fontSize)==null?void 0:l[e])??14,o=(t==null?void 0:t.fontFamily)??"Roboto";return`normal normal lighter ${Math.max(n,0)}px ${o}`},getTextHeight(){var e,t,n;return(((n=(t=(e=this.options)==null?void 0:e.tooltip)==null?void 0:t.fontSize)==null?void 0:n.contents)??14)+6},getColorMargin(){var e,t,n;return(((n=(t=(e=this.options)==null?void 0:e.tooltip)==null?void 0:t.fontSize)==null?void 0:n.contents)??14)+2},getBoxPadding(){var s,l;const{top:e=0,right:t=20,bottom:n=3,left:o=16}=((l=(s=this.options)==null?void 0:s.tooltip)==null?void 0:l.rowPadding)??{};return{t:e,l:o,b:n,r:t}},setTooltipLayoutPosition(e,t){var A,z,$,W,F,U,j;const n=this.tooltipCtx,o=t.pageX,s=t.pageY,l=e.items,[a,r]=e.maxTip,d=Object.keys(l).length,h=this.getBoxPadding(),u=this.options.tooltip,f=this.getColorMargin(),g=e.hitId,p=l[g].data,m=l[g].axis,x=(A=u.formatter)==null?void 0:A.title;this.axesX.length&&this.axesY.length&&u.showHeader&&(x?this.tooltipHeaderDOM.textContent=x({x:p.x,y:p.y}):this.tooltipHeaderDOM.textContent=this.options.horizontal?this.axesY[m.y].getLabelFormat(p.y):this.axesX[m.x].getLabelFormat(p.x)),u.textOverflow&&this.tooltipHeaderDOM.classList.add(`ev-chart-tooltip-header--${u.textOverflow}`),this.tooltipHeaderDOM.style.visibility="hidden",n.save(),n.font=this.getFontStyle("contents");const y=!!this.options.horizontal?($=(z=l[e.hitId])==null?void 0:z.data)==null?void 0:$.y:(F=(W=l[e.hitId])==null?void 0:W.data)==null?void 0:F.x,M=(y==null?void 0:y.length)>a.length?y:a,E=Math.round(n.measureText(M).width),I=Math.round(n.measureText(r).width),T=E+I+h.l+h.r+f+ci+so,V=T>u.maxWidth?u.maxWidth:T;let C=u.textOverflow==="wrap"?0:d;if(u.textOverflow==="wrap"){const K=u.maxWidth-(Math.round(n.measureText(r).width)+h.l+h.r+f+ci+so);Object.values(l).map(ee=>ee.name).forEach(ee=>{if(n.measureText(ee).width>K){let J="";for(let te=0;te<ee.length;te++){const G=ee[te],oe=`${J}${G}`;n.measureText(oe).width>K?(J=G,C+=1):J=oe}}C+=1}),n.restore()}const S=h.t+C*this.getTextHeight()+d*_s+h.b;let k;u.useScrollbar&&S>u.maxHeight?(this.tooltipBodyDOM.style.overflowY="auto",k=u.maxHeight):(this.tooltipBodyDOM.style.overflowY="hidden",k=S),this.tooltipCanvas.width=V*this.pixelRatio,this.tooltipCanvas.height=S*this.pixelRatio,this.tooltipCanvas.style.width=`${V}px`,this.tooltipCanvas.style.height=`${S}px`,this.tooltipHeaderDOM.style.width=`${V}px`,this.tooltipHeaderDOM.style.height="auto",this.tooltipDOM.style.height="auto",this.tooltipBodyDOM.style.height=`${k+6}px`,this.tooltipDOM.style.display="block";const w=document.body.clientWidth,B=document.body.clientHeight,D=20,L=((U=this.tooltipDOM)==null?void 0:U.offsetHeight)||((j=this.tooltipHeaderDOM)==null?void 0:j.offsetHeight)+k+$C,R=w-V-D,v=B-L-D,N=o+D,O=s+D,P=o-V-D,_=s-L-D;this.tooltipDOM.style.left=N>R?`${P}px`:`${N}px`,this.tooltipDOM.style.top=O>v?`${_}px`:`${O}px`},drawSeriesColorShape(e,t,n){var a,r;const o=(r=(a=this.options.tooltip)==null?void 0:a.fontSize)==null?void 0:r.contents,{x:s,y:l}=n;if(t==="circle"){e.beginPath();const c=o/2;e.arc(s,l-c/2,c,0,2*Math.PI),e.fill()}else{const c=o;e.fillRect(s-c/3,l-c/1.2,c,c)}},drawTooltip(e,t){const n=t,o=e.items,[,s]=e.maxTip,l=this.alignSeriesList(Object.keys(o)),a=this.getBoxPadding(),r=this.options.horizontal,c=this.options.tooltip,d=this.getTextHeight(),h=this.getColorMargin();this.axesX.length&&this.axesY.length&&c.showHeader?this.tooltipHeaderDOM.style.visibility="visible":this.tooltipHeaderDOM.style.display="none";let u=2,f=2;u+=Y.aliasPixel(u),f+=Y.aliasPixel(f),n.save(),n.scale(this.pixelRatio,this.pixelRatio),this.tooltipBodyDOM.style.overflowY==="auto"&&(a.r+=so),u+=a.l,f+=a.t,n.font=this.getFontStyle("contents");const g=[];l.forEach(m=>{g.push({id:m,data:o[m].data,color:o[m].color,name:o[m].name,dataId:o[m].id})}),c.sortByValue&&g.sort((m,x)=>{let b=m.data.o,y=x.data.o;return b==null&&(b=r?m.data.x:m.data.y),y==null&&(y=r?x.data.x:x.data.y),y-b}),this.setTooltipDOMStyle(c);let p=1;for(let m=0;m<g.length;m++){const x=g[m].data,b=g[m].color,y=g[m].name,M=x.formatted;let E=u+4,I=f+p*d;E+=Y.aliasPixel(E),I+=Y.aliasPixel(I),n.beginPath(),typeof b!="string"?n.fillStyle=ie.createGradient(n,r,{x:E-4,y:I,w:12,h:-12},b):n.fillStyle=b;const T={id:g[m].id,name:g[m].name,value:M,dataId:g[m].dataId};this.drawSeriesColorShape(n,c.colorShape,{x:E,y:I}),n.fillStyle=typeof c.fontColor.label=="function"?c.fontColor.label(T):c.fontColor.label??c.fontColor;const V=c.maxWidth-Math.round(n.measureText(s).width)-a.l-a.r-h-ci,C=E+h,S=I;if(V>n.measureText(y).width)n.fillText(y,C,S);else if(c.textOverflow==="wrap"){let k="",w=S;for(let B=0;B<y.length;B++){const D=y[B],L=`${k}${D}`;n.measureText(L).width>V?(n.fillText(k,C,w),k=D,p+=1,w+=d):k=L}n.fillText(k,C,w)}else{const k=Y.truncateLabelWithEllipsis(y,V,n);n.fillText(k,C,S)}n.save(),n.fillStyle=typeof c.fontColor.value=="function"?c.fontColor.value(T):c.fontColor.value??c.fontColor,n.textAlign="right",n.fillText(M,this.tooltipDOM.offsetWidth-a.r,I),n.restore(),n.closePath(),f+=_s,p+=1}n.restore()},drawToolTipForHeatMap(e,t){const n=t,o=e.items,s=e.hitId,l=o[s].data,a=o[s].axis,r=o[s].color,c=this.getBoxPadding(),d=this.options.horizontal,h=this.options.tooltip,u=Object.values(this.seriesList)[0],f=this.getTextHeight(),g=this.getColorMargin();let p=!1,m=l.formatted;const{colorState:x,isGradient:b}=u;if(b){const{min:I,max:T}=u.valueOpt,V=We(l.o-I,T-I),{start:C,end:S}=x[0];p=C<=V&&V<=S||l.o===-1}else{const I=x.find(({id:T})=>T===l.cId);p=I==null?void 0:I.show,m=(I==null?void 0:I.label)??m}if(!p){this.tooltipClear();return}this.axesX.length&&this.axesY.length&&h.showHeader?this.tooltipHeaderDOM.style.visibility="visible":this.tooltipHeaderDOM.style.display="none",this.setTooltipDOMStyle(h),n.save(),n.scale(this.pixelRatio,this.pixelRatio),this.tooltipBodyDOM.style.overflowY==="auto"&&(c.r+=so);const y=c.l+2,M=c.t+f+2;n.font=this.getFontStyle("contents"),n.beginPath(),typeof r!="string"?n.fillStyle=ie.createGradient(n,d,{x:y,y:M,w:12,h:-12},r):n.fillStyle=r;const E={id:e.hitId,name:l.y,value:m,dataId:o[s].id};this.drawSeriesColorShape(n,h.colorShape,{x:y,y:M}),n.fillStyle=typeof h.fontColor.label=="function"?h.fontColor.label(E):h.fontColor.label??h.fontColor,this.axesY.length&&n.fillText(this.axesY[a.y].getLabelFormat(l.y),y+g,M),n.textAlign="right",n.fillStyle=typeof h.fontColor.value=="function"?h.fontColor.value(E):h.fontColor.value??h.fontColor,n.fillText(m,this.tooltipDOM.offsetWidth-c.r,M),n.closePath()},drawTooltipForScatter(e,t){const n=t,o=e.items,[,s]=e.maxTip,l=this.alignSeriesList(Object.keys(o)),a=this.getBoxPadding(),r=this.options.tooltip,c=this.getTextHeight(),d=this.getColorMargin();this.axesX.length&&this.axesY.length&&r.showHeader?this.tooltipHeaderDOM.style.visibility="visible":this.tooltipHeaderDOM.style.display="none";let h=2,u=2;h+=Y.aliasPixel(h),u+=Y.aliasPixel(u),n.save(),n.scale(this.pixelRatio,this.pixelRatio),this.tooltipBodyDOM.style.overflowY==="auto"&&(a.r+=so),h+=a.l,u+=a.t,n.font=this.getFontStyle("contents");const f=[];l.forEach(p=>{f.push({data:o[p].data,color:o[p].color,name:o[p].name})}),r.sortByValue&&f.sort((p,m)=>{let x=p.data.o,b=m.data.o;return x==null&&(x=p.data.y),b==null&&(b=m.data.y),b-x}),this.setTooltipDOMStyle(r);let g=1;for(let p=0;p<f.length;p++){const m=f[p].data,x=f[p].color,b=f[p].name,y=m.formatted;let M=h+4,E=u+g*c;M+=Y.aliasPixel(M),E+=Y.aliasPixel(E),n.beginPath(),typeof x!="string"?n.fillStyle=ie.createGradient(n,!1,{x:M-4,y:E,w:12,h:-12},x):n.fillStyle=x;const I={id:e.hitId,name:f[p].name,value:y,dataId:f[p].dataId};this.drawSeriesColorShape(n,r.colorShape,{x:M,y:E}),n.fillStyle=typeof r.fontColor.label=="function"?r.fontColor.label(I):r.fontColor.label??r.fontColor;const T=r.maxWidth-Math.round(n.measureText(s).width)-a.l-a.r-d-ci,V=M+d,C=E;if(T>n.measureText(b).width)n.fillText(b,V,C);else if(r.textOverflow==="wrap"){let S="",k=C;for(let w=0;w<b.length;w++){const B=b[w],D=`${S}${B}`;n.measureText(D).width>T?(n.fillText(S,V,k),S=B,g+=1,k+=c):S=D}n.fillText(S,V,k)}else{const S=Y.truncateLabelWithEllipsis(b,T,n);n.fillText(S,V,C)}n.save(),n.textAlign="right",n.fillStyle=typeof r.fontColor.value=="function"?r.fontColor.value(I):r.fontColor.value??r.fontColor,n.fillText(y,this.tooltipDOM.offsetWidth-a.r,E),n.restore(),n.closePath(),u+=_s,g+=1}n.restore()},setCustomTooltipLayoutPosition(e,t){var b,y;const n=t.pageX,o=t.pageY,s=(b=this.tooltipDOM.getElementsByClassName("ev-chart-tooltip-custom"))==null?void 0:b[0];if(!s&&!this.tooltipDOM)return;this.tooltipDOM.style.display="block";const l=s.offsetWidth,a=s.offsetHeight;this.tooltipDOM.style.height="auto",this.tooltipBodyDOM.style.height=`${a+6}px`;const r=document.body.clientWidth,c=document.body.clientHeight,d=(y=this.tooltipDOM)==null?void 0:y.getBoundingClientRect(),h=20,u=r-l-h,f=c-(d==null?void 0:d.height)-h,g=n+h,p=o+h,m=n-l-h,x=o-(d==null?void 0:d.height)-h;this.tooltipDOM.style.left=g>u?`${m}px`:`${g}px`,this.tooltipDOM.style.top=p>f?`${x}px`:`${p}px`},drawCustomTooltip(e){var n,o,s,l;const t=(n=this.options)==null?void 0:n.tooltip;if((o=t.formatter)!=null&&o.html){this.tooltipDOM.innerHTML="";const a=[];Object.keys(e).forEach(c=>{a.push({sId:c,data:e[c].data,color:e[c].color,name:e[c].name,dataId:e[c].id,index:e[c].index})});const r=Y.htmlToElement((s=t==null?void 0:t.formatter)==null?void 0:s.html(a));r&&this.tooltipDOM.appendChild(r),this.tooltipDOM.style.overflowY="hidden",this.tooltipDOM.style.backgroundColor=t.backgroundColor,this.tooltipDOM.style.border=`1px solid ${t.borderColor}`,this.tooltipDOM.style.color=((l=t.fontColor)==null?void 0:l.title)??t.fontColor}},setTooltipDOMStyle(e){var t;if(this.tooltipDOM.style.overflowY="hidden",this.tooltipDOM.style.backgroundColor=e.backgroundColor,this.tooltipDOM.style.border=`1px solid ${e.borderColor}`,this.tooltipDOM.style.color=((t=e.fontColor)==null?void 0:t.title)??e.fontColor,this.tooltipHeaderDOM.style.fontSize=`${e.fontSize.title}px`,this.tooltipHeaderDOM.style.fontFamily=this.getFontStyle("title"),e.useShadow){const n=`rgba(0, 0, 0, ${e.shadowOpacity})`;this.tooltipDOM.style.boxShadow=`2px 2px 2px ${n}`}this.tooltipDOM.style.display="block"},drawItemsHighlight(e,t){Object.keys(e.items).forEach(n=>{var s;const o=this.seriesList[n];o.itemHighlight(e.items[n],t,e.items[n].index,(s=this.options)==null?void 0:s.unSelectedOpacity),Y.isDoughnutHole(o.type)&&this.drawDoughnutHole(t)})},drawIndicator(e,t){var d;const n=this.overlayCtx,[o,s]=e,l={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},a=15,r=15,c=this.options;o>=l.x1-a&&o<=l.x2+a&&s>=l.y1-r&&s<=l.y2+r&&(n.beginPath(),n.save(),n.strokeStyle=t,n.lineWidth=1,(d=c.indicator)!=null&&d.segments&&n.setLineDash(c.indicator.segments),c.horizontal?(n.moveTo(l.x1,s+.5),n.lineTo(l.x2,s+.5)):(n.moveTo(o+.5,l.y1),n.lineTo(o+.5,l.y2)),n.stroke(),n.restore(),n.closePath())},getTimeLabel(e){var h,u;const t=this.options;if(t.syncHover===!1||!t.horizontal&&!t.axesX.every(({type:f})=>f==="time")||t.horizontal&&!t.axesY.every(({type:f})=>f==="time"))return null;const n=+((h=this.data.labels)==null?void 0:h[0]),o=+((u=this.data.labels)==null?void 0:u[this.data.labels.length-1]);if(n==null||o==null)return null;const[s,l]=e,a={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom};if(t.horizontal){const f=a.y2-a.y1,p=(l-a.y1)*(o-n)/f+n;return Math.round(p)}const r=a.x2-a.x1,d=(s-a.x1)*(o-n)/r+n;return Math.round(d)},drawSyncedIndicator({horizontal:e,label:t,mousePosition:n,dataLabel:o}){var p,m;if(!this._canDrawSyncedIndicator(e,n))return;if(o){this.drawSyncedIndicatorForTooltip({dataLabel:o,mousePosition:n});return}const s=+((p=this.data.labels)==null?void 0:p[0]),l=+((m=this.data.labels)==null?void 0:m[this.data.labels.length-1]),[a,r]=n,{top:c,bottom:d,left:h,right:u}=this.chartDOM.getBoundingClientRect();if(gt(a,h,u)&>(r,d,c))return;this.overlayClear();const g={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom};if(e){const b=(g.y2-g.y1)*(t-s)/(l-s)+g.y1;this.drawIndicator([g.x2,b],this.options.indicator.color)}else{const b=(g.x2-g.x1)*(t-s)/(l-s)+g.x1;this.drawIndicator([b,g.y2],this.options.indicator.color)}},_canDrawSyncedIndicator(e,t){return!t||!!e!=!!this.options.horizontal?!1:this._isTimeBasedSyncEnabled(e)&&this._hasValidTimeRange()},_isTimeBasedSyncEnabled(e){var n,o;return this.options.syncHover===!1||!((o=(n=this.data)==null?void 0:n.labels)!=null&&o.length)?!1:e?this.options.axesY.every(({type:s})=>s==="time"):this.options.axesX.every(({type:s})=>s==="time")},_hasValidTimeRange(){var n,o;const e=+((n=this.data.labels)==null?void 0:n[0]),t=+((o=this.data.labels)==null?void 0:o[this.data.labels.length-1]);return e!=null&&t!=null},drawSyncedIndicatorForTooltip({dataLabel:e,mousePosition:t}){var u,f,g,p,m,x,b,y,M,E,I,T,V;if(!((u=this.data)!=null&&u.labels)||!e)return;const n=this.data.labels.findIndex(C=>(C==null?void 0:C.valueOf())===(e==null?void 0:e.valueOf()));if(n===-1){this.overlayClear();return}const{horizontal:o}=this.options,s=this.chartDOM.getBoundingClientRect(),[l,a]=t;if(gt(l,s.left,s.right)&>(a,s.bottom,s.top))return;this.overlayClear();const c={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},d=this.data.labels.length;let h;if(o){const C=c.y2-c.y1,S=(f=this.options.axesY)==null?void 0:f.some(B=>B.categoryMode),k=(g=this.options.axesY)==null?void 0:g.some(B=>B.type==="time");let w;if(S)w=c.y1+C*(n+.5)/d;else if(k){const B=(m=(p=this.axesSteps)==null?void 0:p.y)==null?void 0:m[0],D=(B==null?void 0:B.graphMin)??+((x=this.data.labels)==null?void 0:x[0]),L=(B==null?void 0:B.graphMax)??+((b=this.data.labels)==null?void 0:b[this.data.labels.length-1]);w=c.y1+C*(+e-D)/(L-D)}else w=c.y1+C*n/(d-1);h=[c.x2,w]}else{const C=c.x2-c.x1,S=(y=this.options.axesX)==null?void 0:y.some(B=>B.categoryMode),k=(M=this.options.axesX)==null?void 0:M.some(B=>B.type==="time");let w;if(S)w=c.x1+C*(n+.5)/d;else if(k){const B=(I=(E=this.axesSteps)==null?void 0:E.x)==null?void 0:I[0],D=(B==null?void 0:B.graphMin)??+((T=this.data.labels)==null?void 0:T[0]),L=(B==null?void 0:B.graphMax)??+((V=this.data.labels)==null?void 0:V[this.data.labels.length-1]);w=c.x1+C*(+e-D)/(L-D)}else w=c.x1+C*n/(d-1);h=[w,c.y2]}this.drawIndicator(h,this.options.indicator.color)},tooltipClear(){this.clearRectRatio=this.pixelRatio<1?this.pixelRatio:1,this.tooltipCtx.clearRect(0,0,this.tooltipCanvas.width/this.clearRectRatio,this.tooltipCanvas.height/this.clearRectRatio),this.tooltipDOM.style.display="none"},alignSeriesList(e){const t=this.data.groups,n=this.seriesList,o=[];return t.forEach(s=>{s.slice().reverse().forEach(l=>{const a=n[l];a&&a.showLegend&&e.includes(l)&&o.push(l)})}),Object.keys(n).forEach(s=>{const l=n[s];!l.isExistGrp&&l.showLegend&&e.includes(s)&&o.push(s)}),o},tooltipDestroy(){this.tooltipDOM&&(this.tooltipDOM.remove(),this.tooltipDOM=null),this.isInitTooltip=!1}},UC={pieDataSet:[],drawPie(e){var E;const t=this.bufferCtx,n=this.chartRect,o=this.pieDataSet,s=this.options,l=this.options.padding,a=!!s.doughnutHoleSize;let r,c,d,h=1.5*Math.PI,u,f,g;const p=n.width/2,m=n.height/2,x=p-(l.left+l.right),b=m-(l.bottom+l.top);if(typeof x=="number"&&x<0||typeof b=="number"&&b<0)return;const y=Math.min(x,b)*s.doughnutHoleSize,M=Math.min(x,b);for(let I=0;I<o.length;I++){const T=o[I];if(!T)return;let V=M-(M-y)/o.length*I;if((E=s==null?void 0:s.pieStroke)!=null&&E.use&&(V-=s.pieStroke.lineWidth),V<0)return;if(T.or=V,I<o.length-1?T.ir=M-(M-y)/o.length*(I+1):T.ir=1,T.total){for(let C=0;C<T.data.length;C++)if(r=T.data[C],c=r.value,g=c/T.total*100,d=2*Math.PI*(c/T.total),u=h+d,r.sa=h,r.ea=u,f=this.seriesList[r.id],c){const S={...s.pieStroke};T.data.length===1&&s.pieStroke.use&&(S.use=!1,t.lineWidth=s.pieStroke.lineWidth,t.strokeStyle=s.pieStroke.color,t.arc(p,m,V,0,2*Math.PI),t.stroke());const{selectInfo:k,legendHitInfo:w,unSelectedOpacity:B}=e;f.isSelect=(k==null?void 0:k.sId)===r.id,f.isDownplay=w&&w.sId!==r.id,f.type=a?"doughnut":"pie",f.centerX=p,f.centerY=m,f.radius=V,f.doughnutHoleSize=V*(s.doughnutHoleSize??0),f.startAngle=h,f.endAngle=u,f.data={o:c,percentage:g},f.draw(t,S,B),h+=d}}}},drawSunburst(e){var m;const t=this.bufferCtx,{width:n,height:o}=this.chartRect,s=this.pieDataSet,l=this.options,a=this.options.padding;this.calculateAngle();let r,c;const d=n/2,h=o/2,u=d-(a.left+a.right),f=h-(a.bottom+a.top);if(typeof u=="number"&&u<0||typeof f=="number"&&f<0)return;const g=Math.min(u,f)*l.doughnutHoleSize,p=Math.min(u,f);for(let x=0;x<s.length;x++){const b=s[x];if(!b)return;let y=p-(p-g)/s.length*x;if((m=l==null?void 0:l.pieStroke)!=null&&m.use&&(y-=l.pieStroke.lineWidth),y<0)return;b.or=y,x<s.length-1?b.ir=p-(p-g)/s.length*(x+1):b.ir=1;for(let M=0;M<b.data.length;M++)if(r=b.data[M],r.id==="dummy")t.save(),t.globalCompositeOperation="destination-out",t.beginPath(),t.fillStyle="#fff",t.lineWidth=2,t.strokeStyle="#fff",t.moveTo(d,h),t.arc(d,h,y,r.sa,r.ea),t.stroke(),t.fill(),t.closePath(),t.restore();else if(c=this.seriesList[r.id],r.value){const E={...l.pieStroke};b.data.length===1&&l.pieStroke.use&&(E.use=!1,t.lineWidth=l.pieStroke.lineWidth,t.strokeStyle=l.pieStroke.color,t.arc(d,h,y,0,2*Math.PI),t.stroke());const{selectInfo:I,legendHitInfo:T,unSelectedOpacity:V}=e;c.isSelect=(I==null?void 0:I.sId)===r.id,c.isDownplay=T&&T.sId!==r.id,c.type="sunburst",c.centerX=d,c.centerY=h,c.radius=y,c.doughnutHoleSize=y*(l.doughnutHoleSize??0),c.startAngle=r.sa,c.endAngle=r.ea,c.data={o:r.value},c.draw(t,E,V)}}},drawDoughnutHole(e=this.bufferCtx){var h;const t=this.options,{width:n,height:o}=this.chartRect,s=this.options.padding,l=n/2,a=o/2,r=l-(s.left+s.right),c=a-(s.bottom+s.top);if(typeof r=="number"&&r<0||typeof c=="number"&&c<0)return;const d=Math.min(r,c)*t.doughnutHoleSize;e.save(),e.globalCompositeOperation="destination-out",e.beginPath(),e.fillStyle="#fff",e.fillOpacity=0,e.arc(l,a,d,0,2*Math.PI),e.fill(),e.strokeStyle="#fff",e.stroke(),e.closePath(),e.restore(),(h=t==null?void 0:t.pieStroke)!=null&&h.use&&(e.beginPath(),e.strokeStyle=t.pieStroke.color,e.lineWidth=t.pieStroke.lineWidth,e.arc(l,a,d,0,Math.PI*2),e.stroke(),e.closePath()),this.pieDataSet[this.pieDataSet.length-1].ir=d}},YC={drawTips(e){var h,u,f,g,p,m;const t=this.options;let n=null;const o=!!t.horizontal,s=t.maxTip,l=t.selectItem,a=t.selectLabel;let r,c;typeof((h=t.tooltip)==null?void 0:h.formatter)=="function"?n=(u=t.tooltip)==null?void 0:u.formatter:typeof((g=(f=t.tooltip)==null?void 0:f.formatter)==null?void 0:g.value)=="function"&&(n=(m=(p=t.tooltip)==null?void 0:p.formatter)==null?void 0:m.value),a.use&&a.showTip&&(c=t.type==="heatMap"?this.drawLabelTipForHeatMap():this.drawTipForSelectedLabel());const d=x=>{e.forEach(b=>{if(b){const y=this.seriesList[b==null?void 0:b.sId];if(!(y!=null&&y.show))return;const M=this.calculateTipInfo(y,"sel",b);if(M){let E=!1;if(s.use&&(r==null?void 0:r.dp)===M.dp&&(E=!0),x.showTextTip||x.showTip){if(x.tipText==="label"){const I=o?t.axesY[0]:t.axesX[0],T=M.label;M.text=I.type==="time"?Je(T).format(I.timeFormat):T}else M.text=$t(M.value);this.drawTextTip({opt:x,tipType:"sel",seriesOpt:y,isSamePos:E,...M})}x.showIndicator&&this.drawFixedIndicator({opt:x,seriesOpt:y,...M})}b&&(b!=null&&b.label)&&(b==null?void 0:b.label)===0&&(this.lastHitInfo=b)}})};if(e&&!c&&(l.use?d(l):a.use&&t.type==="line"&&d(a)),s.use&&!c){const x=this.minMax[o?"x":"y"][0].maxSID,b=this.seriesList[x];r=this.calculateTipInfo(b,"max",null),s.use&&r&&(n?r.text=n({seriesId:b.sId,x:o?r.value:void 0,y:o?void 0:r.value}):r.text=$t(r.value),this.drawTextTip({opt:s,tipType:"max",seriesOpt:b,...r}),s.showIndicator&&this.drawFixedIndicator({opt:s,seriesOpt:b,...r}))}},calculateTipInfo(e,t,n){if(!e)return!1;const o=!!this.options.horizontal,s=this.lastTip,l=this.chartRect,a=this.labelOffset,r={x1:l.x1+a.left,x2:l.x2-a.right,y1:l.y1+a.top,y2:l.y2-a.bottom},c=l.chartHeight-(a.top+a.bottom),d=l.chartWidth-(a.left+a.right),h=this.axesSteps.x[e.xAxisIndex],u=this.axesSteps.y[e.yAxisIndex],f=r.x1,g=r.x2,p=r.y2,{type:m,size:x}=e,{maxDomain:b,maxDomainIndex:y}=e.minMax;if(b===null||y<0)return!1;let M=m==="bar"?y:b;t==="sel"&&(n&&n.label!==null?(s.pos=m==="bar"?n.dataIndex:n.label,M=s.pos):s.pos!==null&&(M=s.pos));let E=o?e.minMax.maxX:e.minMax.maxY,I;if(t==="sel"){if(n&&n.value!==null)E=n.useStack?n.acc:n.value,I=n.label,s.value=E,s.label=I;else if(s.value!==null)E=s.value,I=s.label;else if(s.pos!==null){const w=m==="bar"?this.getItemByLabelIndex(s.pos):this.getItemByLabel(s.pos);E=w.useStack?w.acc:w.value,I=w.label,s.value=E,s.label=I}}let T,V,C;if(m==="bar"){const w=o?this.scrollbar.y:this.scrollbar.x;if(w!=null&&w.use){const[B,D]=(w==null?void 0:w.range)??[];if(M>=B&&M<=D)M-=B??0;else return!1}o?(V=Math.round(x.h/2),T=p-x.cat*M-x.cPad,C=T-(x.bar*x.ix-(x.h+x.bPad))-V):(V=Math.round(x.w/2),T=f+x.cat*M+x.cPad,C=T+(x.bar*x.ix-(x.w+x.bPad))+V)}else m==="line"?C=ie.calculateX(M,h.graphMin,h.graphMax,d-x.comboOffset,f+x.comboOffset/2):m==="scatter"&&(C=ie.calculateX(M,h.graphMin,h.graphMax,d,f));return{...{xArea:d,yArea:c,graphX:h,graphY:u,xsp:f,xep:g,ysp:p},...{dp:C,value:E,label:I,type:m}}},drawFixedIndicator(e){const t=!!this.options.horizontal,n=this.bufferCtx,{graphX:o,graphY:s,xArea:l,yArea:a,xsp:r,ysp:c,dp:d,type:h,value:u,opt:f,seriesOpt:g}=e;let p=0;h==="line"?p+=3:h==="scatter"&&(p+=(g==null?void 0:g.pointSize)??0);let m;if(f.fixedPosTop)t?m=ie.calculateX(o.graphMax,o.graphMin,o.graphMax,l,r):(m=ie.calculateY(s.graphMax,s.graphMin,s.graphMax,a,c),m-=p);else if(t){const x=Math.min(Math.max(u,o.graphMin),o.graphMax);m=ie.calculateX(x,o.graphMin,o.graphMax,l,r)}else{const x=Math.min(Math.max(u,s.graphMin),s.graphMax);m=ie.calculateY(x,s.graphMin,s.graphMax,a,c),m-=p}d!==null&&(n.beginPath(),n.save(),n.strokeStyle=f.indicatorColor,n.lineWidth=2,t?(n.moveTo(r,d),n.lineTo(m,d)):(n.moveTo(d,c),n.lineTo(d,m)),n.stroke(),n.restore(),n.closePath())},drawTipForSelectedLabel(){var r,c;const e=this.options,t=!!e.horizontal,n=e.selectLabel,{dataIndex:o,data:s,label:l}=this.defaultSelectInfo;let a=!1;if(o.length){a=!0;const d=this.chartRect,h=this.labelOffset,u={x1:d.x1+h.left,x2:d.x2-h.right,y1:d.y1+h.top,y2:d.y2-h.bottom},f=t?this.axesY[0]:this.axesX[0],g=t?this.axesX[0]:this.axesY[0],p=t?this.axesSteps.x[0]:this.axesSteps.y[0],m=t?ie.calculateX:ie.calculateY,x=t?ie.calculateY:ie.calculateX,b=t?this.scrollbar.y:this.scrollbar.x,y=d.chartWidth-(h.left+h.right),M=d.chartHeight-(h.top+h.bottom),E=t?y:M,I=u[g.units.rectStart];let T=this.options.type==="bar"?4:6;T*=t?1:-1;const V=Object.keys(this.seriesList??{}),C=V.filter(z=>this.seriesList[z].show),S=V.some(z=>this.seriesList[z].isExistGrp&&!this.seriesList[z].isOverlapping),k=((r=this.data.groups)==null?void 0:r[0])??[];let w,B,D,L,R,v,N,O,P,_=0,A=(c=f.labels)==null?void 0:c.length;if(f.labels){let z=f.labels.length;if(b!=null&&b.use){const{range:$,interval:W,type:F}=b,[U,j]=$??[];ve(U)&&ve(j)&&(z=Math.floor((+j-+U)/W)+1,_=F==="step"?U:f.labels.findIndex(K=>K===+U),A=F==="step"?j:f.labels.findIndex(K=>K===+j))}L=u[f.units.rectStart],R=u[f.units.rectEnd],v=(R-L)/z}else N=this.axesSteps.x[0],O=V.find(z=>{var $;return(($=this.seriesList[z])==null?void 0:$.type)==="line"}),P=this.seriesList[O].size;s.forEach((z,$)=>{var W;if(D=p.graphMax,!n.fixedPosTop){if(S){const F=C==null?void 0:C.reduce((K,q)=>{var ee,J;return k.includes(q)&&(((ee=z[q])==null?void 0:ee.value)??z[q])>0?K+(((J=z[q])==null?void 0:J.value)??z[q]):K},0),U=((W=C==null?void 0:C.filter(K=>!k.includes(K)))==null?void 0:W.map(K=>{var q;return((q=z[K])==null?void 0:q.value)??z[K]}))??[],j=(U==null?void 0:U.length)>0?U.reduce((K,q)=>Math.max(K,q??-1/0),-1/0):-1/0;D=F>0?Math.max(j,F):Math.max(j,0)}else if(C.length){const F=C.map(j=>{var K;return((K=z[j])==null?void 0:K.value)??z[j]}),U=F.length>0?F.reduce((j,K)=>Math.max(j,K??-1/0),-1/0):-1/0;D=U>0||this.options.type!=="bar"?U:0}}if(f.labels){if(o[$]<_||o[$]>A)return;const F=o[$]-_;w=Math.round(L+v*F)+v/2}else w=x(l[$],N.graphMin,N.graphMax,y-P.comboOffset,u.x1+P.comboOffset/2);B=m(D,p.graphMin,p.graphMax,E,I)+T,this.showTip({context:this.bufferCtx,x:t?B:w,y:t?w:B,opt:n,isSamePos:!1})})}return a},drawLabelTipForHeatMap(){const e=this.options,t=!!e.horizontal,n=e.selectLabel,{dataIndex:o}=this.defaultSelectInfo;let s=!1;if(o){s=!0;const l=this.chartRect,a=this.labelOffset,r={x1:l.x1+a.left,x2:l.x2-a.right,y1:l.y1+a.top,y2:l.y2-a.bottom},c=t?this.axesY[0]:this.axesX[0],d=r[c.units.rectStart],u=(r[c.units.rectEnd]-d)/c.labels.length,f=t?this.axesX[0]:this.axesY[0],g=6*(t?1:-1),p=r[f.units.rectEnd]+g;o==null||o.forEach(m=>{const b=Math.round(d+u*m)+u/2;this.showTip({context:this.bufferCtx,x:t?p:b,y:t?b:p,opt:n,isSamePos:!1})})}return s},drawTextTip(e){const t=!!this.options.horizontal,n=this.bufferCtx,{graphX:o,graphY:s,xArea:l,yArea:a,xsp:r,xep:c,ysp:d}=e,{dp:h,value:u,text:f,opt:g,type:p,tipType:m,isSamePos:x,seriesOpt:b}=e,y=4,M=4,{fontSize:E,fontFamily:I,fontWeight:T,height:V}=g.tipStyle,C=`normal normal ${T} ${E}px ${I}`;let S=1;p==="line"?S+=6:p==="scatter"?S+=b==null?void 0:b.pointSize:p==="bar"&&(S+=4);let k,w=h;if(g.fixedPosTop)t?(k=ie.calculateX(o.graphMax,o.graphMin,o.graphMax,l,r),k+=S):(k=ie.calculateY(s.graphMax,s.graphMin,s.graphMax,a,d),k-=S);else if(t){const L=Math.min(Math.max(u,o.graphMin),o.graphMax);k=ie.calculateX(L,o.graphMin,o.graphMax,l,r),k=u<0?k-S:k+S}else{const L=p==="bar"&&u<0?0:u,R=Math.min(Math.max(L,s.graphMin),s.graphMax);k=ie.calculateY(R,s.graphMin,s.graphMax,a,d),k=L<0?k+S:k-S}let B="center";n.save(),n.font=C;const D=Math.round(Math.max(n.measureText(f).width+12,40));t||(h+D/2>c-10?(B="right",w-=D/2-y*2):h-D/2<r+10&&(B="left",w+=D/2-y*2)),n.restore(),(g.showTextTip||m==="max")&&this.showTextTip({context:n,type:B,width:D,height:V,x:t?k+D/2:w,y:t?w+V/2:k,opt:g,arrowSize:y,borderRadius:M,text:f,textStyle:C,isNegative:u<0}),g.showTip&&m==="sel"&&this.showTip({context:n,x:t?k:h,y:t?h:k,opt:g,isSamePos:x})},showTextTip(e){const t=!!this.options.horizontal,{type:n,width:o,height:s,x:l,y:a,arrowSize:r,borderRadius:c,text:d,opt:h,textStyle:u,isNegative:f}=e,g=e.context;let p=l-o/2,m=l+o/2;const x=a-s,b=a;f&&t&&(p=l-o/2-o,m=l-o/2),g.save(),g.font=u,g.fillStyle=h.tipBackground??h.tipStyle.background,g.shadowBlur=0,g.beginPath(),g.moveTo(p+c,x),g.quadraticCurveTo(p,x,p,x+c),g.lineTo(p,b-c),g.quadraticCurveTo(p,b,p+c,b),g.lineTo(m-c,b),g.quadraticCurveTo(m,b,m,b-c),g.lineTo(m,x+c),g.quadraticCurveTo(m,x,m-c,x),g.lineTo(p+c,x),g.closePath(),g.fill(),g.beginPath(),t?(f?(g.moveTo(m,b),g.lineTo(m,x+c+r/2),g.lineTo(m+r,b-s/2),g.lineTo(m,b-c-r/2)):(g.moveTo(p,x),g.lineTo(p,x+c+r/2),g.lineTo(p-r,b-s/2),g.lineTo(p,b-c-r/2)),g.closePath(),g.fill()):(f?n==="left"?(g.lineTo(p+c+r,b+r),g.lineTo(p+c+r*2,b)):n==="right"?(g.lineTo(m-r*2-c,b),g.lineTo(m-r-c,b+r)):(g.lineTo(l-r,b),g.lineTo(l,b+r),g.lineTo(l+r,b)):f||(n==="left"?(g.moveTo(p,x),g.lineTo(p+c+r,b+r),g.lineTo(p+c+r*2,b)):n==="right"?(g.moveTo(m,x),g.lineTo(m-r*2-c,b),g.lineTo(m-r-c,b+r)):(g.lineTo(l-r,b),g.lineTo(l,b+r),g.lineTo(l+r,b))),g.closePath(),g.fill()),g.restore(),g.save(),g.font=u,g.fillStyle=h.tipTextColor??h.tipStyle.textColor,g.textBaseline="middle",g.textAlign="center",g.fillText(`${d}`,p+o/2,x+s/2),g.restore()},showTip(e){const t=!!this.options.horizontal,{x:n,y:o,opt:s,isSamePos:l}=e,a=e.context,c=o-(l?24:0);a.save(),a.fillStyle=s.tipBackground??s.tipStyle.background,a.beginPath(),a.moveTo(n,c),t?(a.lineTo(n+6,c-6),a.lineTo(n+6,c+6)):(a.lineTo(n+6,c-6),a.lineTo(n-6,c-6)),a.lineTo(n,c),a.closePath(),a.fill(),a.restore()}};let Or=class{constructor(t,n,o,s,l,a,r){Object.keys(Dr).forEach(c=>Object.assign(this,Dr[c])),o.brush||(Object.assign(this,XC),Object.assign(this,WC),Object.assign(this,YC),Object.assign(this,VC),Object.assign(this,UC),Object.assign(this,NC),Object.assign(this,AC)),o.type==="heatMap"&&o.legend.type==="gradient"&&Object.assign(this,_C),this.isMobile=ph(),this.brushSeries=r,this.target=t,this.data=n,this.options=o,this.listeners=s,this.wrapperDOM=document.createElement("div"),this.wrapperDOM.className=o.brush?"ev-chart-brush-wrapper":"ev-chart-wrapper",this.chartDOM=document.createElement("div"),this.chartDOM.className=o.brush?"ev-chart-brush-container":"ev-chart-container",this.wrapperDOM.appendChild(this.chartDOM),this.target.appendChild(this.wrapperDOM),this.displayCanvas=document.createElement("canvas"),this.displayCanvas.setAttribute("style","display: block;"),this.displayCtx=this.displayCanvas.getContext("2d"),this.bufferCanvas=document.createElement("canvas"),this.bufferCanvas.setAttribute("style","display: block;"),this.bufferCtx=this.bufferCanvas.getContext("2d"),this.pixelRatio=window.devicePixelRatio||1,this.oldPixelRatio=this.pixelRatio,this.chartDOM.appendChild(this.displayCanvas),o.brush||(this.overlayCanvas=document.createElement("canvas"),this.overlayCanvas.setAttribute("style","display: block; z-index: 2;"),this.overlayCanvas.setAttribute("class","overlay-canvas"),this.overlayCtx=this.overlayCanvas.getContext("2d"),this.chartDOM.appendChild(this.overlayCanvas),this.overlayCanvas.style.position="absolute",this.overlayCanvas.style.top="0px",this.overlayCanvas.style.left="0px"),this.isInitLegend=!1,this.isInitTitle=!1,this.isInit=!1,this.scrollbar={x:{isInit:!1},y:{isInit:!1}},this.seriesList={},this.lastTip={pos:null,value:null},this.seriesInfo={charts:{pie:[],bar:[],line:[],scatter:[],heatMap:[]},count:0},this.defaultSelectItemInfo=l,this.defaultSelectInfo=a,this.legendHover=null}init(){var u,f,g,p,m;const{series:t,data:n,labels:o,groups:s}=this.data,{type:l,axesX:a,axesY:r,tooltip:c,horizontal:d,realTimeScatter:h}=this.options;this.createSeriesSet(t,l,d,s),s.length&&this.addGroupInfo(s),h!=null&&h.use?(this.dataSet={},this.createRealTimeScatterDataSet(n)):this.createDataSet(n,o),this.minMax=this.getStoreMinMax(),this.initRect(),this.axesX=this.createAxes("x",a),this.axesY=this.createAxes("y",r),((f=(u=a==null?void 0:a[0])==null?void 0:u.scrollbar)!=null&&f.use||(p=(g=r==null?void 0:r[0])==null?void 0:g.scrollbar)!=null&&p.use)&&this.initScrollbar(),this.initDefaultSelectInfo(),this.drawChart(),c.use&&!this.isInitTooltip&&this.createTooltipDOM(),(m=this.createEventFunctions)==null||m.call(this),this.isInit=!0}_updateSeriesCount(){this.seriesInfo.count=Object.values(this.seriesList).filter(t=>t.show).length}initRect(){const t=this.options;t.title.show&&(this.isInitTitle||this.initTitle(),this.showTitle()),t.legend.show&&!t.legend.external?(this.isInitLegend||this.initLegend(),this.setLegendPosition()):t.legend.show&&t.legend.external&&this._updateSeriesCount(),this.chartRect=this.getChartRect()}drawSyncedIndicator({horizontal:t,label:n,mousePosition:o}){this.drawSyncedIndicator({horizontal:t,label:n,mousePosition:o})}adjustXAndYAxisWidth(){var o,s,l,a;const t=(r,c,d)=>{const{interval:h,graphMin:u,graphMax:f,steps:g=0,minIndex:p,maxIndex:m,indexInterval:x}=r??{};let b=[];if((d==null?void 0:d.type)==="step"&&p!==void 0&&m!==void 0&&x!==void 0){const{labels:y}=this.data,M=c==="x"?(y==null?void 0:y.x)??y??[]:(y==null?void 0:y.y)??y??[];b=[];for(let E=p;E<=m;E+=x)M[E]!==void 0&&b.push(M[E])}else if(h)b=Array.from({length:g},(y,M)=>u+M*h),b.push(f);else{const{labels:y}=this.data;b=c==="x"?(y==null?void 0:y.x)??y??[]:(y==null?void 0:y.y)??y??[]}return b},n={x:(s=(o=this.axesRange)==null?void 0:o.x)==null?void 0:s.map((r,c)=>{var x,b,y,M;const d=this.axesX[c],h=(x=this.axesSteps)==null?void 0:x.x[c],u=t(h,"x",d),f=ve((b=d==null?void 0:d.labelStyle)==null?void 0:b.fixWidth)?d.labelStyle.fixWidth:0;let g=[];const p=(y=this.axesSteps)==null?void 0:y.x[c];if((d==null?void 0:d.type)!=="step"&&p!=null){const{graphMin:E,graphMax:I}=p;if(typeof E=="number"&&typeof I=="number"){const T=Math.abs(E)>=Math.abs(I)?E:I;g=[mC(T)]}}const m=((M=d==null?void 0:d.getLabelWidthHasMaxLength)==null?void 0:M.call(d,u,this.chartRect,g))??0;return{...r,size:{width:f||Math.max(m,r.size.width),height:r.size.height}}}),y:(a=(l=this.axesRange)==null?void 0:l.y)==null?void 0:a.map((r,c)=>{var p,m,x;const d=this.axesY[c],h=(p=this.axesSteps)==null?void 0:p.y[c],u=t(h,"y",d),f=ve((m=d==null?void 0:d.labelStyle)==null?void 0:m.fixWidth)?d.labelStyle.fixWidth:0,g=((x=d==null?void 0:d.getLabelWidthHasMaxLength)==null?void 0:x.call(d,u,this.chartRect))??0;return{...r,size:{width:f||Math.max(g,r.size.width),height:r.size.height}}})};this.axesRange=n,this.labelOffset=this.getLabelOffset(n),this.labelRange=this.getAxesLabelRange(),this.axesSteps=this.calculateSteps()}emitAxesScaleChange(){var c;if(typeof((c=this.listeners)==null?void 0:c["axes-scale-change"])!="function")return;const t=this._lastEmittedAxesRange,n=this.labelRange,o=(d,h)=>(d==null?void 0:d.min)===(h==null?void 0:h.min)&&(d==null?void 0:d.max)===(h==null?void 0:h.max),s=({min:d,max:h})=>({minSteps:d,maxSteps:h}),l=n.x.every((d,h)=>{var f;return!!!((f=this.options.axesX[h])!=null&&f.scaleChange)||!!t&&o(d,t.x[h])}),a=n.y.every((d,h)=>{var f;return!!!((f=this.options.axesY[h])!=null&&f.scaleChange)||!!t&&o(d,t.y[h])});if(l&&a)return;this._lastEmittedAxesRange=n;const r={x:n.x.map(s),y:n.y.map(s)};this.listeners["axes-scale-change"](r)}drawChart(t){var n,o,s,l,a,r;this.initScale(),this.axesRange=this.getAxesRange(),this.labelOffset=this.getLabelOffset(),this.labelRange=this.getAxesLabelRange(),((o=(n=this.scrollbar)==null?void 0:n.x)!=null&&o.use||(l=(s=this.scrollbar)==null?void 0:s.y)!=null&&l.use)&&this.updateScrollbarPosition(),this.axesSteps=this.calculateSteps(),this.adjustXAndYAxisWidth(),this.emitAxesScaleChange(),this.drawAxis(t),this.drawSeries(t),this.drawTip(),this.bufferCanvas&&((a=this.bufferCanvas)==null?void 0:a.width)>1&&((r=this.bufferCanvas)==null?void 0:r.height)>1&&this.displayCtx.drawImage(this.bufferCanvas,0,0)}collectDuplicatePoints(t,n){var s,l,a;const o=!!this.options.seriesReverse;for(let r=o?n.length-1:0;o?r>=0:r<n.length;o?r--:r++){const c=this.seriesList[n[r]];if(!!(c!=null&&c.show))if((s=this.options.realTimeScatter)!=null&&s.use){const h=(l=c.data[c.sId])==null?void 0:l.dataGroup;for(let u=0;u<h.length;u++){const f=((a=h[u])==null?void 0:a.data)||[];for(let g=0;g<f.length;g++){const p=f[g];t.set(`${p.x}${p.y}`,c.sId)}}}else{const h=this.data.data[n[r]]??[];for(let u=0;u<h.length;u++){const f=h[u];t.set(`${f.x}${f.y}`,c.sId)}}}}drawSeries(t){var p;const{maxTip:n,selectLabel:o,selectItem:s,selectSeries:l,brush:a,displayOverflow:r,unSelectedOpacity:c}=this.options,d={ctx:this.bufferCtx,chartRect:this.chartRect,labelOffset:this.labelOffset,axesSteps:this.axesSteps,maxTipOpt:{background:n.background,color:n.color},selectLabel:{option:o,selected:this.defaultSelectInfo},selectSeries:{option:l,selected:this.defaultSelectInfo},selectItem:{option:s,selected:this.defaultSelectItemInfo},overlayCtx:this.overlayCtx,isBrush:!!a,displayOverflow:r,unSelectedOpacity:c,isHorizontal:this.options.horizontal};let h=0,u=0;this.seriesInfo.charts.bar.forEach(m=>{this.seriesList[m].show&&u++});const f=new Map,g=Object.keys(this.seriesInfo.charts);for(let m=0;m<g.length;m++){const x=g[m],b=this.seriesInfo.charts[x];x==="scatter"&&this.options.coordinateDedupe&&this.collectDuplicatePoints(f,b);for(let y=0;y<b.length;y++){let M=this.seriesList[b[y]];switch(x){case"line":{const E=t==null?void 0:t.legend;M.draw({legendHitInfo:E,...d});break}case"heatMap":{const E=t==null?void 0:t.legend;M.draw({legendHitInfo:E,...d});break}case"bar":{const E=t==null?void 0:t.legend,{thickness:I,cPadRatio:T,borderRadius:V}=this.options;M.draw({thickness:I,cPadRatio:T,borderRadius:V,showSeriesCount:u,showIndex:h,legendHitInfo:E,...d}),M.show&&h++;break}case"pie":{const E=this.lastHitInfo??{sId:(p=this.defaultSelectItemInfo)==null?void 0:p.seriesID},I=t==null?void 0:t.legend;this.options.sunburst?this.drawSunburst({selectInfo:E,legendHitInfo:I,unSelectedOpacity:d.unSelectedOpacity}):this.drawPie({selectInfo:E,legendHitInfo:I,unSelectedOpacity:d.unSelectedOpacity}),this.options.doughnutHoleSize>0&&this.drawDoughnutHole();break}case"scatter":{const E=t==null?void 0:t.legend;let I;if(s.use&&s.useSeriesOpacity){const T=this.lastHitInfo,V=this.defaultSelectItemInfo;T!=null&&T.dataIndex||(T==null?void 0:T.dataIndex)===0?I={seriesID:T.sId,dataIndex:T.dataIndex}:V!=null&&V.dataIndex||(V==null?void 0:V.dataIndex)===0?I={...V}:I=null}this.options.seriesReverse&&(M=this.seriesList[b.at(-1-y)]),M.draw({legendHitInfo:E,selectInfo:I,duple:f,coordinateDedupe:this.options.coordinateDedupe,...d});break}}}}}drawTip(){var n;let t;this.lastHitInfo?t=this.lastHitInfo:this.defaultSelectItemInfo?t=this.getItem(this.defaultSelectItemInfo,!1):this.defaultSelectInfo&&this.options.selectLabel.use?t=this.getItem(this.defaultSelectInfo,!1):t=null,(n=this.drawTips)==null||n.call(this,t)}createAxes(t,n=[]){const o=this.bufferCtx,l=this.options.type==="heatMap"?this.data.labels[t]:this.data.labels,a=this.options;return n.map(r=>{switch(r.type){case"linear":return new DC(t,r,o,a);case"time":return r.categoryMode?new OC(t,r,o,l,a):new BC(t,r,o,a);case"log":return new LC(t,r,o);case"step":return new RC(t,r,o,l,a);default:return!1}})}getAxesRange(){const t=this.axesX.map((o,s)=>o.calculateScaleRange(this.minMax.x[s],this.scrollbar.x,this.chartRect)),n=this.axesY.map((o,s)=>o.calculateScaleRange(this.minMax.y[s],this.scrollbar.y,this.chartRect));return{x:t,y:n}}drawAxis(t){this.axesX.forEach((n,o)=>{n.draw(this.chartRect,this.labelOffset,this.axesSteps.x[o],t,this.defaultSelectInfo,this.data.labels)}),this.axesY.forEach((n,o)=>{n.draw(this.chartRect,this.labelOffset,this.axesSteps.y[o],t,this.defaultSelectInfo)})}calculateSteps(){const t=this.axesX.map((o,s)=>{const l={minValue:this.axesRange.x[s].min,maxValue:this.axesRange.x[s].max,minIndex:this.axesRange.x[s].minIndex,maxIndex:this.axesRange.x[s].maxIndex,minSteps:this.labelRange.x[s].min,maxSteps:this.labelRange.x[s].max};return o.calculateSteps(l)}),n=this.axesY.map((o,s)=>{const l={minValue:this.axesRange.y[s].min,maxValue:this.axesRange.y[s].max,minIndex:this.axesRange.y[s].minIndex,maxIndex:this.axesRange.y[s].maxIndex,minSteps:this.labelRange.y[s].min,maxSteps:this.labelRange.y[s].max};return o.calculateSteps(l)});return{x:t,y:n}}getAxesLabelRange(){const t=this.axesX.map((o,s)=>{const l=this.axesRange.x[s].size;return o.calculateLabelRange("x",this.chartRect,this.labelOffset,l.width)}),n=this.axesY.map((o,s)=>{const l=this.axesRange.y[s].size;return o.calculateLabelRange("y",this.chartRect,this.labelOffset,l.height)});return{x:t,y:n}}initScale(){const t=window.devicePixelRatio||1,n=this.displayCtx.webkitBackingStorePixelRatio||this.displayCtx.mozBackingStorePixelRatio||this.displayCtx.msBackingStorePixelRatio||this.displayCtx.oBackingStorePixelRatio||this.displayCtx.backingStorePixelRatio||1;this.pixelRatio=t/n,this.oldPixelRatio!==this.pixelRatio&&(this.oldPixelRatio=this.pixelRatio),this.bufferCtx.scale(this.pixelRatio,this.pixelRatio),this.overlayCtx&&this.overlayCtx.scale(this.pixelRatio,this.pixelRatio)}getChartDOMRect(){var s;const t=(s=this.chartDOM)==null?void 0:s.getBoundingClientRect(),n=(t==null?void 0:t.width)||10,o=(t==null?void 0:t.height)||10;return this.setWidth(n),this.setHeight(o),{width:n,height:o}}getChartRect(){var I,T,V,C;const{width:t,height:n}=this.getChartDOMRect(),o=this.options.padding,s=(T=(I=this.options.axesX)==null?void 0:I[0])==null?void 0:T.title,l=(C=(V=this.options.axesY)==null?void 0:V[0])==null?void 0:C.title,a=10;let r=0;s!=null&&s.use&&(s!=null&&s.text)&&(r=(isNaN(s==null?void 0:s.fontSize)?12:s==null?void 0:s.fontSize)+a);let c=0;l!=null&&l.use&&(l!=null&&l.text)&&(c=(isNaN(l==null?void 0:l.fontSize)?12:l==null?void 0:l.fontSize)+a);const d=this.scrollbar.x,h=this.scrollbar.y;let u=0;d!=null&&d.use&&(u=d==null?void 0:d.height);let f=0;h!=null&&h.use&&(f=h==null?void 0:h.width);const g=o.left+o.right+f,p=o.top+o.bottom+r+c+u,m=t>g?t-g:t,x=n>p?n-p:n,b=o.left,y=Math.max(t-o.right-f,b+2),M=o.top+c,E=Math.max(n-o.bottom-r-u,M+2);return{x1:b,x2:y,y1:M,y2:E,chartWidth:m,chartHeight:x,width:t,height:n}}setWidth(t){this.displayCanvas&&(this.displayCanvas.width=t*this.pixelRatio,this.displayCanvas.style.width=`${t}px`,this.bufferCanvas.width=t*this.pixelRatio,this.bufferCanvas.style.width=`${t}px`,this.overlayCanvas&&(this.overlayCanvas.width=t*this.pixelRatio,this.overlayCanvas.style.width=`${t}px`))}setHeight(t){this.displayCanvas&&(this.displayCanvas.height=t*this.pixelRatio,this.displayCanvas.style.height=`${t}px`,this.bufferCanvas.height=t*this.pixelRatio,this.bufferCanvas.style.height=`${t}px`,this.overlayCanvas&&(this.overlayCanvas.height=t*this.pixelRatio,this.overlayCanvas.style.height=`${t}px`))}getLabelOffset(t=null){const n=this.axesX,o=this.axesY,s=t??this.axesRange,l={top:2,left:2,right:2,bottom:2},a={width:14,height:4};let r=0,c=0;return n.forEach((d,h)=>{var u;(u=d.labelStyle)!=null&&u.show&&(r=s.x[h].size.width+a.width,c=s.x[h].size.height+a.height,d.position==="bottom"?c>l.bottom&&(l.bottom=c):d.position==="top"&&c>l.top&&(l.top=c),l.left=r/2>l.left?r/2:l.left,l.right=r/2>l.right?r/2:l.right)}),o.forEach((d,h)=>{var u;(u=d.labelStyle)!=null&&u.show&&(r=s.y[h].size.width+a.width,d.position==="left"?r>l.left&&(l.left=r):d.position==="right"&&r>l.right&&(l.right=r),l.top=c/2>l.top?c/2:l.top,l.bottom=c/2>l.bottom?c/2:l.bottom)}),l}updateScrollbar(t,n){var c,d,h,u,f,g,p,m,x,b;const o=n||t,s=((h=(d=(c=this.options.axesX)==null?void 0:c[0])==null?void 0:d.scrollbar)==null?void 0:h.use)??!1,l=((g=(f=(u=this.options.axesY)==null?void 0:u[0])==null?void 0:f.scrollbar)==null?void 0:g.use)??!1,a=((m=(p=this.scrollbar)==null?void 0:p.x)==null?void 0:m.use)??!1,r=((b=(x=this.scrollbar)==null?void 0:x.y)==null?void 0:b.use)??!1;(s!==a||s||o&&s)&&this.updateScrollbarInfo("x",t),(l!==r||l||o&&l)&&this.updateScrollbarInfo("y",t)}update(t){var x,b,y,M,E,I;const n=this.options,o=this.data.data,s=this.data.labels,l=this.data.groups,a=this.data.series,{updateSeries:r,updateSelTip:c,updateLegend:d,updateData:h,updateTooltip:u,lightUpdate:f,updateByScrollbar:g}=t;if(!this.isInit)return;if(this.updateScrollbar(h,g),this.resetProps(),this.updateSeries=r,r&&(this.seriesInfo=null,this.seriesList=null,this.lastTip=null,this.seriesInfo={charts:{pie:[],bar:[],line:[],scatter:[],heatMap:[]},count:0},this.seriesList={},this.lastTip={pos:null,value:null},this.createSeriesSet(a,n.type,n.horizontal,l),this.legendDOM&&!n.legend.external&&this.updateLegend()),c.update&&(this.lastTip.value=null,c.keepDomain||(this.lastTip.pos=null,this.lastHitInfo=null)),!f)if(l.length&&this.addGroupInfo(l),(x=this.options.realTimeScatter)!=null&&x.use?(this.dataSet||(this.dataSet={}),this.createRealTimeScatterDataSet(o)):this.createDataSet(o,s),n.title.show?(this.isInitTitle?this.updateTitle():this.initTitle(),this.showTitle()):this.isInitTitle&&this.hideTitle(),n.legend.show&&!n.legend.external){const T=!!((y=(b=n.legend)==null?void 0:b.table)!=null&&y.use)&&n.type!=="heatMap"&&n.type!=="scatter";this.isInitLegend?r?this.updateLegend():d?this.forceUpdateLegend():T&&h&&this.updateLegendTableValues():this.initLegend(),this.setLegendPosition(),this.updateLegendContainerSize(),this.showLegend()}else n.legend.show&&n.legend.external?(r||h)&&(this._updateSeriesCount(),this.emitLegendData()):this.isInitLegend&&this.hideLegend();u&&(this.isInitTooltip||this.createTooltipDOM(),this.tooltipDOM.innerHTML="",(E=(M=n.tooltip)==null?void 0:M.formatter)!=null&&E.html||this.setDefaultTooltipLayout()),this.minMax=this.getStoreMinMax(),this.axesX=this.createAxes("x",n.axesX),this.axesY=this.createAxes("y",n.axesY),this.initDefaultSelectInfo();let p=t==null?void 0:t.hitInfo;!(p!=null&&p.legend)&&((I=this.legendHover)!=null&&I.sId)&&(p={...p||{},legend:this.legendHover}),this.render(p),this.dragInfo&&this.drawSelectionArea?this.drawSelectionArea(this.dragInfo):this.dragInfoBackup&&(this.dragInfoBackup=null)}resetProps(){this.axesX[0]=null,this.axesY[0]=null,this.axesX=null,this.axesY=null,this.minMax=null,this.axesRange=null,this.labelOffset=null,this.chartRect=null}overlayClear(){this.clearRectRatio=this.pixelRatio<1?this.pixelRatio:1,this.overlayCtx.clearRect(0,0,this.overlayCanvas.width/this.clearRectRatio,this.overlayCanvas.height/this.clearRectRatio)}clear(){this.clearRectRatio=this.pixelRatio<1?this.pixelRatio:1,this.displayCanvas&&this.displayCtx.clearRect(0,0,this.displayCanvas.width/this.clearRectRatio,this.displayCanvas.height/this.clearRectRatio),this.bufferCanvas&&this.bufferCtx.clearRect(0,0,this.bufferCanvas.width/this.clearRectRatio,this.bufferCanvas.height/this.clearRectRatio),this.overlayCanvas&&this.overlayCtx.clearRect(0,0,this.overlayCanvas.width/this.clearRectRatio,this.overlayCanvas.height/this.clearRectRatio)}resize(t){var n,o,s,l,a,r,c;this.clear(),this.bufferCtx.restore(),this.bufferCtx.save(),((s=(o=(n=this.options.axesX)==null?void 0:n[0])==null?void 0:o.scrollbar)!=null&&s.use||(r=(a=(l=this.options.axesY)==null?void 0:l[0])==null?void 0:a.scrollbar)!=null&&r.use)&&this.initScrollbar(),this.initRect(),this.initScale(),this.chartRect=this.getChartRect(),this.drawChart(),this.dragInfoBackup&&((c=this.drawSelectionArea)==null||c.call(this,this.dragInfoBackup)),t&&t(!0)}render(t){this.isInit&&(this.clear(),this.chartRect=this.getChartRect(),this.drawChart(t))}_getLegendSeries(){var n;const t=(n=this.data.groups)==null?void 0:n.at(0);return t?t.filter(o=>{var s;return(s=this.seriesList[o])==null?void 0:s.showLegend}).map(o=>[o,this.seriesList[o]]):Object.entries(this.seriesList).filter(([,o])=>o.showLegend)}_seriesToLegendItem(t){const n=typeof t.color!="string"?t.color[t.color.length-1][1]:t.color;return{sId:t.sId,name:t.name,color:n,type:t.type,show:t.show,fill:t.fill,fillColor:t.fillColor}}buildLegendData(){return this._getLegendSeries().map(([,t])=>this._seriesToLegendItem(t))}emitLegendData(){typeof this.listeners["update:legendData"]=="function"&&this.listeners["update:legendData"](this.buildLegendData())}toggleSeries(t){var d;const n=this.seriesList[t];if(!n)return;const o=this.options.legend,s=this._getLegendSeries();if(o.clickMode==="active")s.every(([,f])=>f.show)?(s.forEach(([,f])=>{f.show=!1}),n.show=!0,this.seriesInfo.count=1):n.show?(n.show=!1,this.seriesInfo.count--):(n.show=!0,this.seriesInfo.count++),s.every(([,f])=>!f.show)&&(s.forEach(([,f])=>{f.show=!0}),this.seriesInfo.count=s.length);else{if(n.show&&this.seriesInfo.count===1)return;n.show?(n.show=!1,this.seriesInfo.count--):(n.show=!0,this.seriesInfo.count++)}if(this.brushSeries){const{chartIdx:h}=this.data,u=[...this.brushSeries.list];u[h]=this.seriesList,this.brushSeries.list=u,this.brushSeries.chartIdx=h}((d=this.options.eventBehavior)==null?void 0:d.legendClick)!=="emitOnly"&&this.update({updateSeries:!1,updateSelTip:{update:!0,keepDomain:!0}});const a=Object.values(this.seriesList).filter(h=>h.show).map(h=>h.sId),r=a.length===Object.values(this.seriesList).length,c={data:{seriesIds:r?[]:a,isActiveAll:r}};typeof this.listeners["click-legend"]=="function"&&this.listeners["click-legend"](c),this.options.legend.show&&this.options.legend.external&&this.emitLegendData()}highlightSeries(t){const n={sId:t,type:this.options.type};this.legendHover=n,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:n},lightUpdate:!0})}unhighlightSeries(){this.legendHover=null,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:null},lightUpdate:!0})}destroy(){if(!this.isInit)return;const t=this.target;for(this.options.legend.show&&!this.options.legend.external&&(this.legendBoxDOM&&(this.legendBoxDOM.removeEventListener("click",this.onLegendBoxClick),this.legendBoxDOM.removeEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.removeEventListener("mouseleave",this.onLegendBoxLeave),this.options.legend.type==="gradient"&&this.legendBoxDOM.removeEventListener("mousedown",this.onLegendMouseDown),this.options.legend.virtualScroll&&!this.useTable&&(this.legendBoxDOM.removeEventListener("resize",this.updateVisibleRowCount),this.legendBoxDOM.removeEventListener("scroll",this.renderVisibleLegends))),this.resizeDOM&&this.resizeDOM.removeEventListener("mousedown",this.onResizeMouseDown)),this.overlayCanvas&&(this.overlayCanvas.removeEventListener("mousemove",this.onMouseMove),this.overlayCanvas.removeEventListener("mouseleave",this.onMouseLeave),this.overlayCanvas.removeEventListener("dblclick",this.onDblClick),this.overlayCanvas.removeEventListener("click",this.onClick),this.overlayCanvas.removeEventListener("mousedown",this.onMouseDown),this.overlayCanvas.removeEventListener("wheel",this.onWheel),window.removeEventListener("click",this.dragTouchSelectionEvent)),this.isInitTooltip&&this.tooltipDestroy(),this.renderVisibleLegendsFrameId!=null&&(cancelAnimationFrame(this.renderVisibleLegendsFrameId),this.renderVisibleLegendsFrameId=null),this.updateVisibleRowCountFrameId!=null&&(cancelAnimationFrame(this.updateVisibleRowCountFrameId),this.updateVisibleRowCountFrameId=null),this.wrapperDOM=null,this.chartDOM=null,this.legendDOM=null,this.legendBoxDOM=null,this.resizeDOM=null,this.ghostDOM=null,this.titleDOM=null,this.displayCanvas=null,this.bufferCanvas=null,this.overlayCanvas=null;t.hasChildNodes();)t.removeChild(t.firstChild)}hideTooltip(){var t;this.options.tooltip.use&&((t=this.tooltipDOM)!=null&&t.style)&&(this.tooltipDOM.style.display="none")}initDefaultSelectInfo(){var s,l;const{type:t,selectLabel:n,selectSeries:o}=this.options;if(n.use){let a=null;t==="heatMap"&&(n!=null&&n.useBothAxis)&&(a=(s=this.defaultSelectInfo)==null?void 0:s.targetAxis),this.defaultSelectInfo=(l=this.defaultSelectInfo)!=null&&l.dataIndex?this.getSelectedLabelInfoWithLabelData(this.defaultSelectInfo.dataIndex,a):{dataIndex:[],label:[],data:[]}}o.use&&!this.defaultSelectInfo&&(this.defaultSelectInfo={seriesId:[]})}};const jC={name:"EvChartToolbar",props:{toolbar:{type:Object,default:()=>({})}},emits:["onClickToolbar"]},GC={class:"ev-chart-toolbar"},ZC={class:"ev-chart-toolbar__icon"};function qC(e,t,n,o,s,l){const a=i.resolveComponent("ev-icon");return i.openBlock(),i.createElementBlock("div",GC,[i.createElementVNode("div",ZC,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.$props.toolbar.items,(r,c)=>(i.openBlock(),i.createBlock(a,{key:`${c}-${r.icon}`,class:i.normalizeClass(c),icon:r.icon,size:r.size,title:r.title,onClick:d=>e.$emit("onClickToolbar",d,c)},null,8,["class","icon","size","title","onClick"]))),128))])])}const Nr=le(jC,[["render",qC],["__scopeId","data-v-dfbffbab"]]);class KC{constructor(t,n,o,s,l,a,r){this.isExecuteZoom=l,this.evChartProps=t.props,this.evChartCloneData=n.data,this.brushIdx=a;const c=o.zoom;this.setEvChartZoomOptions(c),this.setIcon(s);const d=n.data[0].labels.length-1;this.cloneLabelsLastIdx=d,this.isAnimationFinish=!0,this.zoomAreaMemory={previous:[],current:[[0,d]],latest:[]},r&&(this.emitFunc=r,r.updateZoomStartIdx(0),r.updateZoomEndIdx(d)),c.useWheelMove&&(this.wrapWheelMoveZoomArea=this.wheelMoveZoomArea.bind(this)),this.evChartDomContainers=c.useAnimation?this.drawAnimationCanvas(t.dom):t.dom}setEvChartZoomOptions(t){this.evChartZoomOptions=t}setIcon(t){if(!t)return;const n=t.querySelector(".dragZoom");this.resetIcon=t.querySelector(".reset"),this.previousIcon=t.querySelector(".previous"),this.latestIcon=t.querySelector(".latest"),this.dragZoomIcon=n,this.iconStyle(n,"enable")}drawAnimationCanvas(t){return t.forEach(n=>{const o=document.createElement("canvas");o.setAttribute("style","display: block;"),o.setAttribute("class","animation-canvas"),o.style.position="absolute",n.appendChild(o)}),t}setEventListener(t){const n=t?"addEventListener":"removeEventListener";this.isUseZoomMode=t,this.evChartDomContainers.forEach(o=>{o[n]("wheel",this.wrapWheelMoveZoomArea)})}wheelMoveZoomArea(t){t.preventDefault();const[n,o]=this.zoomAreaMemory.current[0];if(n===o)return;let s,l;if(t.deltaY>0){if(!n)return;s=n-1,l=o-1}else{if(o===this.cloneLabelsLastIdx)return;s=n+1,l=o+1}this.isUseToolbar=!0,this.executeZoom(s,l),this.zoomAreaMemory.current[0]=[s,l]}clickMoveZoomArea(t){if(!this.zoomAreaMemory[t].length)return;const[n,o]=this.zoomAreaMemory[t].pop();this.isUseToolbar=!0,this.executeZoom(n,o),this.setZoomAreaMemory(n,o,t==="previous"?"latest":"previous")}dragZoom({data:t,range:{dragSelectionInfo:n}}){const{dragXsp:o,dragXep:s,exceptAxesYChartWidth:l,chartTitle:a}=n,{options:r,data:c}=this.evChartProps,d=r.length>1?r.findIndex(h=>{var u;return(((u=h==null?void 0:h.title)==null?void 0:u.text)??"")===a}):0;if(r[d].axesX[0].type==="time"){const h=t[0].items,u=h[0].x,f=h[h.length-1].x,g=c[d].labels,p=this.evChartCloneData[d].labels,[m,x]=this.zoomAreaMemory.current[0];let b=p.findIndex(T=>+T.$d==+u.$d),y=p.findLastIndex(T=>+T.$d==+f.$d);const M=T=>l/(g.length-1)*(T-m);let E=M(b);if(b===y&&(E-o>=s-E?b-=1:y+=1),b===m&&y===x)return;b-y===-1&&(E=M(b));const I=M(y);this.evChartZoomOptions.useAnimation?this.dragZoomAnimation(n,b,y,E,I):(this.executeZoom(b,y),this.setZoomAreaMemory(b,y))}}dragZoomAnimation(t,n,o,s,l){const{chartRange:a,exceptAxesYChartWidth:r,exceptAxesXChartHeight:c}=t,d=window.devicePixelRatio||1,h=Array.from(this.evChartDomContainers).map(u=>{const f=u.querySelector(".animation-canvas");return[u.children[0],f]});for(let u=0;u<h.length;u++){const[f,g]=h[u],p=g.getContext("2d");g.style.top=`${a.y1}px`,g.style.left=`${a.x1}px`,g.width=r*d,g.style.width=`${r}px`,g.height=c*d,g.style.height=`${c}px`,g.style.display==="none"&&(g.style.display="block"),this.isAnimationFinish=!1,this.isUseToolbar=!0,this.executeDragZoomAnimation(f,p,t,s,l).then(m=>{g.style.display="none",m&&u===h.length-1&&(this.isAnimationFinish=m,this.executeZoom(n,o),this.setZoomAreaMemory(n,o))})}}executeZoom(t,n){this.isExecuteZoom&&(this.isExecuteZoom.value=!0);for(let o=0;o<this.evChartCloneData.length;o++){const{data:s,labels:l,series:a}=this.evChartCloneData[o],r=this.evChartProps.data[o],c=Object.keys(a);for(let d=0;d<c.length;d++){const h=c[d];r.data[h]=s[h].filter((u,f)=>t<=f&&n>=f)}r.labels=l.filter((d,h)=>t<=h&&n>=h)}!this.brushIdx.isUseButton&&!this.brushIdx.isUseScroll&&(this.brushIdx.start=t,this.brushIdx.end=n),this.emitFunc&&(this.emitFunc.updateZoomStartIdx(t),this.emitFunc.updateZoomEndIdx(n))}setBrushIdx(t,n){this.brushIdx.end=-1;for(let o=0;o<n.value.length;o++){const s=t.data[n.value[o]];s.labels.length&&(this.brushIdx.start=0,this.brushIdx.end=s.labels.length-1)}}updateEvChartCloneData(t,n,o,s){const l=t.data[0].labels.length-1;if(this.cloneLabelsLastIdx=l,this.evChartCloneData=t.data,s){const a=this.zoomAreaMemory.current[0];let r=a[0],c=a[1];r===0&&c===-1&&(r=0,c=l,this.zoomAreaMemory={previous:[],current:[[r,c]],latest:[]}),this.emitFunc&&(this.emitFunc.updateZoomStartIdx(r),this.emitFunc.updateZoomEndIdx(c)),this.executeZoom(r,c)}else this.dragZoomIcon&&this.dragZoomIcon.classList.remove("active"),this.zoomAreaMemory={previous:[],current:[[0,l]],latest:[]},this.emitFunc&&(this.emitFunc.updateZoomStartIdx(0),this.emitFunc.updateZoomEndIdx(l)),this.setIconStyle(o),this.setBrushIdx(t,n)}setZoomAreaMemory(t,n,o){if(t<0||n<=0)return;const{previous:s,current:l,latest:a}=this.zoomAreaMemory,r=l.pop(),{bufferMemoryCnt:c}=this.evChartZoomOptions;o?(s.length>=c&&s.splice(0,s.length-c+1),this.zoomAreaMemory[o].push(r)):(t!==r[0]||n!==r[1])&&(r[0]===0&&r[1]===-1?s.push([0,this.cloneLabelsLastIdx]):s.push(r),a.length=0),l.push([t,n]),this.setIconStyle(this.isUseZoomMode)}executeDragZoomAnimation(t,n,o,s,l){const{chartRange:a,exceptAxesYChartWidth:r,exceptAxesXChartHeight:c}=o;let d=0,h=s,u=l-s,f=l,g=1;const p=.0015;let m=.5;const x=.1,b=.05,y=50,M=Math.ceil(y*(s/r)),E=Math.ceil(y*((r-l)/r)),I=T=>(n.clearRect(0,0,r,c),h<=0&&u>=r?(t.style.opacity="initial",T(!0)):(m>=x&&(t.style.opacity=m,m-=b),n.globalAlpha=g,n.drawImage(t,a.x1,a.y1,s,c,d,0,s,c),n.drawImage(t,a.x1+s,a.y1,l-s,c,h,0,u,c),n.drawImage(t,a.x1+l,a.y1,r,c,f,0,r,c),g-=p,d-=M,h-=M,u+=M+E,f+=E,requestAnimationFrame(()=>I(T))));return new Promise(T=>I(T))}setIconStyle(t){const n=(o,s)=>{s?this.iconStyle(o,"enable"):this.iconStyle(o,"disable")};if(t&&this.dragZoomIcon.classList.contains("active")){const{previous:o,latest:s}=this.zoomAreaMemory;n(this.previousIcon,o.length),n(this.latestIcon,s.length),this.iconStyle(this.resetIcon,"enable")}else n(this.resetIcon),n(this.previousIcon),n(this.latestIcon)}iconStyle(t,n){if(!t)return;const[o,s]=n==="enable"?[1,"initial"]:[.5,"none"];t.style.opacity=o,t.style.pointerEvents=s}initZoom(){if(!this.isAnimationFinish)return;const[t,n]=this.zoomAreaMemory.current[0],o=this.cloneLabelsLastIdx;(t!==0||n!==o)&&(this.isUseToolbar=!0,this.executeZoom(0,o),this.setZoomAreaMemory(0,o))}}const JC={padding:{top:20,right:2,left:2,bottom:4},border:2,title:{show:!1,height:40,text:"",style:{fontSize:15,color:"#000",fontFamily:"Roboto"}},legend:{show:!0,type:"icon",position:"right",color:"#353740",inactive:"#aaa",width:140,height:24,allowResize:!1,virtualScroll:!1,clickMode:"active",external:!1,table:{use:!1,columns:{name:{title:"Name"},min:{title:"MIN",use:!1},max:{title:"MAX",use:!1},avg:{title:"AVG",use:!1},total:{title:"TOTAL",use:!1},last:{title:"LAST",use:!1}}}},itemHighlight:!0,seriesHighlight:!0,unSelectedOpacity:.3,useSelect:!1,doughnutHoleSize:0,pieStroke:{use:!0,lineWidth:2,color:"#FFFFFF"},reverse:!1,horizontal:!1,overlapping:{use:!1},width:"100%",height:"100%",thickness:1,cPadRatio:0,borderRadius:0,combo:!1,tooltip:{use:!0,sortByValue:!0,backgroundColor:"#4C4C4C",fontColor:"#FFFFFF",borderColor:"#666666",shadowOpacity:.25,useShadow:!1,throttledMove:!1,debouncedHide:!1,useScrollbar:!1,textOverflow:"wrap",fontFamily:"Roboto",colorShape:"rect",fontSize:{title:16,contents:14},rowPadding:{top:0,bottom:3,right:20,left:16},showHeader:!0},indicator:{use:!0,color:"#EE7F44",segments:null},maxTip:{use:!1,fixedPosTop:!1,showIndicator:!1,indicatorColor:"#000000",tipStyle:{height:20,background:"#000000",textColor:"#FFFFFF",fontSize:14,fontFamily:"Roboto",fontWeight:400}},selectItem:{use:!1,useClick:!0,showTextTip:!1,tipText:"value",showTip:!1,showIndicator:!1,fixedPosTop:!1,useApproximateValue:!1,indicatorColor:"#000000",tipStyle:{height:20,background:"#000000",textColor:"#FFFFFF",fontSize:14,fontFamily:"Roboto",fontWeight:400},useSeriesOpacity:!1,useDeselectItem:!1,showBorder:!1,borderStyle:{color:"#FFFFFF",lineWidth:1,opacity:1,radius:0}},selectLabel:{use:!1,useClick:!0,tipText:"value",limit:1,useDeselectOverflow:!1,showTip:!1,useSeriesOpacity:!0,useLabelOpacity:!0,fixedPosTop:!1,useApproximateValue:!1,tipBackground:"#000000",indicatorColor:"#000000",tipStyle:{height:20,background:"#000000",textColor:"#FFFFFF",fontSize:14,fontFamily:"Roboto",fontWeight:400},showTextTip:!1,showIndicator:!1,useBothAxis:!1},selectSeries:{use:!1,useClick:!0,limit:1,useDeselectOverflow:!1},dragSelection:{use:!1,keepDisplay:!0,size:50,fillColor:"#38ACEC",opacity:.65},zoom:{bufferMemoryCnt:100,keepZoomStatus:!1,useAnimation:!0,useWheelMove:!0,toolbar:{show:!1,items:{previous:{icon:"ev-icon-allow2-left",size:"medium",title:"Previous"},latest:{icon:"ev-icon-allow2-right",size:"medium",title:"Latest"},reset:{icon:"ev-icon-redo",size:"medium",title:"Reset"},dragZoom:{icon:"ev-icon-zoomin",size:"medium",title:"Drag Zoom"}}}},heatMapColor:{min:"#FFFFFF",max:"#0052FF",rangeCount:1,colorsByRange:[],stroke:{show:!1,color:"#FFFFFF",lineWidth:1,opacity:1,radius:0},error:"#FF0000",decimalPoint:0},seriesReverse:!1,coordinateDedupe:!0,eventBehavior:{legendClick:"update"}},QC={series:{},groups:[],labels:[],data:{}},eS=()=>{let e=null,t=0;const n=200;return{clickEventCallback:l=>{t++,t===1&&(e=setTimeout(()=>{t===1&&l(),t=0},n))},dblClickEventCallback:l=>{e&&(clearTimeout(e),e=null),l(),t=0}}},Vr=(e,t)=>{const{props:n,emit:o}=i.getCurrentInstance(),s=f=>{const g=Fe({},f,JC);return(f.type==="scatter"||f.type==="heatMap")&&!(f!=null&&f.tooltip)&&(g.tooltip.use=!1),f.type==="pie"&&!(f!=null&&f.padding)&&(g.padding={top:2,right:2,left:2,bottom:4}),g},l=f=>Fe(f,QC),a=Se(n.selectedItem),r=Se(n.selectedLabel??(e==null?void 0:e.value)),c=Se(n.selectedSeries),{clickEventCallback:d,dblClickEventCallback:h}=eS();return{eventListeners:{click:async f=>{await i.nextTick(),d(()=>{const{seriesId:g,dataIndex:p,eventTarget:m,targetAxis:x}=(f==null?void 0:f.selected)??{},{eventTarget:b}=(f==null?void 0:f.deselected)??{};switch(m){case"item":{g!==null?(o("update:selectedItem",{seriesID:g,dataIndex:p}),b==="label"&&o("update:selectedLabel",{dataIndex:[]})):o("update:selectedItem",null);break}case"label":{e!=null&&e.value?e.value.dataIndex=p:(o("update:selectedLabel",{dataIndex:p,targetAxis:x}),b==="item"&&o("update:selectedItem",null));break}case"series":{o("update:selectedSeries",{seriesId:g});break}}o("click",f)})},"dbl-click":async f=>{await i.nextTick(),h(()=>{const{eventTarget:g}=f;switch(g){case"series":{o("update:selectedSeries",{seriesId:f.seriesId?[f.seriesId]:[]});break}}o("dbl-click",f)})},"drag-select":async f=>{await i.nextTick(),o("drag-select",f)},"mouse-move":async f=>{t!=null&&t.value&&(t.value=f.hoveredLabel),await i.nextTick(),o("mouse-move",f)},"mouse-leave":()=>{t!=null&&t.value&&(t.value.label=null)},"click-legend":async f=>{await i.nextTick(),o("click-legend",f)},"update:legendData":async f=>{await i.nextTick(),o("update:legendData",f)},"axes-scale-change":f=>{o("axes-scale-change",f)}},selectItemInfo:a,selectLabelInfo:r,selectSeriesInfo:c,getNormalizedData:l,getNormalizedOptions:s}},Pr=e=>{const t=i.ref(),n=i.computed(()=>{const o=s=>{let l;return s?l=s.unit?s.value+s.unit:`${s.value}px`:l=void 0,l};return{width:o(ql(e.width)),height:o(ql(e.height))}});return{wrapper:t,wrapperStyle:n}},_r=(e,{wrapper:t,evChartGroupRef:n},o,s)=>{const{props:l,emit:a}=i.getCurrentInstance(),r=i.ref(!1),c=i.ref(!1),d=i.ref(!0),h=i.ref(),u=i.reactive({zoom:e.zoom}),f=i.reactive({start:0,end:-1,isUseButton:!1,isUseScroll:!1});let g=null;const p=i.reactive({dom:[],props:{data:[],options:[]}}),m=i.reactive({data:null,options:null}),x=i.ref([]),b=S=>{S.data.length&&S.range&&c.value&&g.dragZoom(S)},y=()=>{p.props.options.forEach((S,k)=>{if(S.zoom={...S.zoom,use:c.value,getRangeInfo:b},c.value)S.dragSelection={...S.dragSelection,use:!0,keepDisplay:!1};else{const{use:w,keepDisplay:B}=m.options[k].dragSelection??{};S.dragSelection={use:!!w,keepDisplay:!!B}}})},M=()=>{if(n!=null&&n.value?(p.dom=n.value.querySelectorAll(".ev-chart-container"),p.dom.length&&s.value.forEach(({data:S,options:k},w)=>{S.chartIdx=w,p.props.data.push(S),p.props.options.push(k),x.value.push(w)})):(p.dom=[t.value.querySelector(".ev-chart-container")],p.props.data.push(l.data),p.props.options.push(l.options)),p.props.data.length){m.data=Se(p.props.data),m.options=Se(p.props.options);const S={updateZoomStartIdx:k=>a("update:zoomStartIdx",k),updateZoomEndIdx:k=>a("update:zoomEndIdx",k)};g=new KC(p,m,u,h.value,r,f,S)}},E=S=>{m.data[0].labels.length<=1||(c.value=!c.value,S?S.classList.toggle("active"):h.value.querySelector(".dragZoom").classList.toggle("active"),y(),g.setIconStyle(c.value),g.setEventListener(c.value))},I=(S,k)=>{if(g.isAnimationFinish)switch(k){case"dragZoom":E(S.target);break;case"reset":g.initZoom();break;case"previous":case"latest":g.clickMoveZoomArea(k);break}};i.onUpdated(()=>{g&&h.value&&g.setIcon(h.value)});const T=S=>{!je(S.zoom,u.zoom)&&(u.zoom=S.zoom,g?(!u.zoom.toolbar.show&&c.value&&E(),g.setEvChartZoomOptions(u.zoom)):u.zoom.toolbar.show&&!n&&M())},V=S=>{d.value?(r.value||(m.data=n?Se(S):[Se(S)],u.zoom.keepZoomStatus?d.value=!1:(c.value=!1,y()),g&&g.updateEvChartCloneData(m,x,c.value,u.zoom.keepZoomStatus)),r.value=!1):d.value=!0},C=(S,k)=>{if(g.isUseToolbar){g.isUseToolbar=!1;return}c.value&&(g.executeZoom(S,k),g.setZoomAreaMemory(S,k))};return i.watch(()=>[f.start,f.end],([S,k],[w])=>{if(o!=null&&o.value)if(typeof o.value.dataIndex=="number")S>=(w??0)?o.value.dataIndex-=S-(w??0):o.value.dataIndex+=w-S;else for(let B=0;B<o.value.dataIndex.length;B++)S>=(w??0)?o.value.dataIndex[B]-=S-(w??0):o.value.dataIndex[B]+=w-S;(f.isUseButton||f.isUseScroll)&&g.executeZoom(S,k)}),i.watch(()=>[f.isUseButton,f.isUseScroll],([S,k],[w,B])=>{w&&!S?g.setZoomAreaMemory(f.start,f.end):B&&!k&&(g.zoomAreaMemory.current[0]=[f.start,f.end])}),{evChartZoomOptions:u,evChartInfo:p,evChartToolbarRef:h,evChartClone:m,brushIdx:f,createEvChartZoom:M,setOptionsForUseZoom:T,setDataForUseZoom:V,controlZoomIdx:C,onClickToolbar:I}},tS={name:"EvChart",components:{EvChartToolbar:Nr},directives:{resize:wn},props:{selectedItem:{type:Object,default:null},selectedLabel:{type:Object,default:null},selectedSeries:{type:Object,default:null},options:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})},resizeTimeout:{type:Number,default:0},zoomStartIdx:{type:Number,default:0},zoomEndIdx:{type:Number,default:0},realTimeScatterReset:{type:Boolean,default:!1},legendData:{type:Array,default:()=>[]}},emits:["click","dbl-click","drag-select","mouse-move","update:selectedItem","update:selectedLabel","update:selectedSeries","update:zoomStartIdx","update:zoomEndIdx","update:realTimeScatterReset","click-legend","update:legendData","axes-scale-change"],setup(e,{emit:t}){let n=null;const o=i.ref(!1),s=i.inject("isChartGroup",!1),l=i.inject("brushSeries",{list:[],chartIdx:null}),a=i.inject("groupSelectedLabel",null),r=i.inject("groupHoveredLabel",null),c=i.inject("brushIdx",{start:0,end:-1}),d=i.inject("evChartPropsInGroup",[]),{eventListeners:h,selectItemInfo:u,selectLabelInfo:f,selectSeriesInfo:g,getNormalizedData:p,getNormalizedOptions:m}=Vr(a,r),x=p(e.data),b=m(e.options),y=i.computed(()=>e.selectedLabel),M=i.computed(()=>e.selectedItem),{wrapper:E,wrapperStyle:I}=Pr(b),{evChartZoomOptions:T,evChartToolbarRef:V,createEvChartZoom:C,setOptionsForUseZoom:S,setDataForUseZoom:k,controlZoomIdx:w,onClickToolbar:B}=s?{}:_r(b,{wrapper:E,evChartGroupRef:null},e.selectedLabel?y:M,d),D=()=>{var z;let _;b.selectLabel.use?_=f:b.selectSeries.use&&(_=g);const A=(z=e.options.realTimeScatter)!=null&&z.use?{...e.data,groups:[],labels:[]}:x;n=new Or(E.value,A,b,h,u,_,l)},L=()=>{n&&(n.init(),!s&&b.zoom.toolbar.show&&C(),b.legend.show&&b.legend.external&&n.emitLegendData())};i.watch(()=>e.options,_=>{var F,U;const A=m(_),z=((U=(F=n.options)==null?void 0:F.legend)==null?void 0:U.show)??!1,$=!je(A.legend.table,n.options.legend.table),W=A.tooltip.use&&!je(A.tooltip,n.options.tooltip);n.options=Se(A),n.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},updateLegend:$,updateTooltip:W}),A.legend.show&&A.legend.external&&!z&&n.emitLegendData(),s||S(A)},{deep:!0,flush:"post"}),i.watch(()=>e.data,_=>{var W,F;const A=(W=e.options.realTimeScatter)!=null&&W.use?{..._,groups:[],labels:[]}:p(_),z=!je(A.series,n.data.series)||!je(A.groups,n.data.groups)||e.options.type==="heatMap",$=!je(A,n.data);n.data=(F=e.options.realTimeScatter)!=null&&F.use?A:Se(A),n.update({updateSeries:z,updateSelTip:{update:!0,keepDomain:!1},updateData:$}),!s&&$&&k(A)},{deep:!0,flush:"post"}),s&&!(a!=null&&a.value)&&i.watch(()=>c.start,(_,A)=>{if(y!=null&&y.value)for(let z=0;z<y.value.dataIndex.length;z++)_>=(A??0)?y.value.dataIndex[z]-=_-(A??0):y.value.dataIndex[z]+=A-_;else M!=null&&M.value&&(_>=(A??0)?M.value.dataIndex-=_-(A??0):M.value.dataIndex+=A-_)}),i.watch(()=>M.value,_=>{const A=e.options.type;n.selectItemByData(_,A)},{deep:!0,flush:"post"}),i.watch(()=>(a==null?void 0:a.value)??y.value,_=>{_!=null&&_.dataIndex&&n.selectLabelByData(_.dataIndex,_==null?void 0:_.targetAxis)},{deep:!0,flush:"post"}),i.watch(()=>e.selectedSeries,_=>{var A;(A=b.selectSeries)!=null&&A.use?_.seriesId&&n.selectSeriesByData(_.seriesId):console.warn("[EVUI][Chart] selectSeries.use is false, so selectedSeries is not working")},{deep:!0,flush:"post"}),s||i.watch(()=>[e.zoomStartIdx,e.zoomEndIdx],([_,A])=>{w(_,A)}),i.watch(()=>e.realTimeScatterReset,_=>{_&&(Object.keys(n.dataSet??{}).forEach(A=>{n.dataSet[A]&&(n.dataSet[A].dataGroup=[])}),t("update:realTimeScatterReset",!1))}),i.watch(()=>{var _;return(_=e.options.realTimeScatter)==null?void 0:_.use},_=>{n.options.realTimeScatter.use=_??!1,n.update({updateSeries:!0,updateSelTip:{update:!1,keepDomain:!1},updateData:!1})}),i.watch(()=>r==null?void 0:r.value,_=>{_&&e.options.syncHover!==!1&&(_.label==null?n.overlayClear():n.drawSyncedIndicator(_))},{deep:!0,flush:"post"}),i.onMounted(async()=>{d!=null&&d.value&&d.value.push(e),await D(),await L(),o.value=!0}),i.onBeforeUnmount(()=>{var _;n&&"destroy"in n&&n.destroy(),(_=d==null?void 0:d.value)!=null&&_.length&&(d.value.length=0),o.value=!1}),i.onDeactivated(()=>{n&&"hideTooltip"in n&&n.hideTooltip()});const R=_=>{n==null||n.toggleSeries(_)},v=_=>{n==null||n.highlightSeries(_)},N=()=>{n==null||n.unhighlightSeries()},O=()=>{n&&"update"in n&&n.update({updateSeries:!0,updateSelTip:{update:!0,keepDomain:!1}})},P=Go(()=>{n&&"resize"in n&&n.resize()},e.resizeTimeout);return i.onActivated(()=>{o.value&&P()}),{wrapper:E,wrapperStyle:I,onResize:P,redraw:O,toggleSeries:R,highlightSeries:v,unhighlightSeries:N,evChartToolbarRef:V,injectIsChartGroup:s,onClickToolbar:B,normalizedOptions:b,zoomOptions:i.toRef(T??{zoom:{}},"zoom")}}},nS={key:0,ref:"evChartToolbarRef"};function oS(e,t,n,o,s,l){var c;const a=i.resolveComponent("ev-chart-toolbar"),r=i.resolveDirective("resize");return i.openBlock(),i.createElementBlock(i.Fragment,null,[(c=o.zoomOptions.toolbar)!=null&&c.show&&!o.injectIsChartGroup?(i.openBlock(),i.createElementBlock("div",nS,[i.createVNode(a,{toolbar:o.zoomOptions.toolbar,onOnClickToolbar:o.onClickToolbar},null,8,["toolbar","onOnClickToolbar"])],512)):i.createCommentVNode("",!0),i.withDirectives(i.createElementVNode("div",{ref:"wrapper",style:i.normalizeStyle(o.wrapperStyle),class:"ev-chart"},null,4),[[r,o.onResize]])],64)}const lo=le(tS,[["render",oS]]);lo.install=e=>{e.component(lo.name,lo)};const iS={zoom:{bufferMemoryCnt:100,keepZoomStatus:!1,useAnimation:!0,useWheelMove:!0,toolbar:{show:!1,items:{previous:{icon:"ev-icon-allow2-left",size:"medium",title:"Previous"},latest:{icon:"ev-icon-allow2-right",size:"medium",title:"Latest"},reset:{icon:"ev-icon-redo",size:"medium",title:"Reset"},dragZoom:{icon:"ev-icon-zoomin",size:"medium",title:"Drag Zoom"}}}}},sS=()=>{const e=i.ref(!1),t=i.ref(),n=i.ref([]),o=i.reactive({list:[],chartIdx:null});return{getNormalizedOptions:l=>Fe({},l,iS),isExecuteZoom:e,brushSeries:o,evChartGroupRef:t,evChartPropsInGroup:n}},lS={name:"EvChartGroup",components:{evChartToolbar:Nr},props:{options:{type:Object,default:()=>({})},zoomStartIdx:{type:Number,default:0},zoomEndIdx:{type:Number,default:0},groupSelectedLabel:{type:Object,default:null}},emits:["update:groupSelectedLabel","update:zoomStartIdx","update:zoomEndIdx","update:groupHoveredLabel"],setup(e,{emit:t}){const{getNormalizedOptions:n,isExecuteZoom:o,brushSeries:s,evChartGroupRef:l,evChartPropsInGroup:a}=sS(),r=n(e.options);i.provide("isExecuteZoom",o),i.provide("isChartGroup",!0),i.provide("brushSeries",s),i.provide("evChartPropsInGroup",a);const c=i.computed({get:()=>e.groupSelectedLabel,set:E=>t("update:groupSelectedLabel",E)});i.provide("groupSelectedLabel",c);const d=i.ref(null);i.provide("groupHoveredLabel",d),i.watch(()=>e.options.syncHover,E=>{E?d.value={label:"",horizontal:!1}:d.value=null},{immediate:!0});const{evChartZoomOptions:h,evChartInfo:u,evChartToolbarRef:f,evChartClone:g,brushIdx:p,createEvChartZoom:m,setOptionsForUseZoom:x,setDataForUseZoom:b,controlZoomIdx:y,onClickToolbar:M}=_r(r,{wrapper:null,evChartGroupRef:l},c,a);return i.provide("evChartClone",g),i.provide("evChartInfo",u),i.provide("brushIdx",p),i.onMounted(()=>{m()}),i.watch(()=>u.props.data,E=>{b(E)},{deep:!0}),i.watch(()=>e.options,E=>{const I=n(E);x(I)},{deep:!0}),i.watch(()=>[e.zoomStartIdx,e.zoomEndIdx],([E,I])=>{p.isUseButton||p.isUseScroll||y(E,I)}),{evChartGroupRef:l,evChartToolbarRef:f,zoomOptions:i.toRef(h,"zoom"),onClickToolbar:M}}},aS={key:0,ref:"evChartToolbarRef"},rS={ref:"evChartGroupRef",class:"ev-chart-group__wrapper"};function cS(e,t,n,o,s,l){const a=i.resolveComponent("ev-chart-toolbar");return i.openBlock(),i.createElementBlock(i.Fragment,null,[o.zoomOptions.toolbar.show?(i.openBlock(),i.createElementBlock("div",aS,[i.createVNode(a,{toolbar:o.zoomOptions.toolbar,onOnClickToolbar:o.onClickToolbar},null,8,["toolbar","onOnClickToolbar"])],512)):i.createCommentVNode("",!0),i.createElementVNode("div",rS,[i.renderSlot(e.$slots,"default",{},void 0,!0)],512)],64)}const ao=le(lS,[["render",cS],["__scopeId","data-v-b1c0c322"]]);ao.install=e=>{e.component(ao.name,ao)};const Ie={WHEEL:{UP:"MOVEUP_WHEEL",DOWN:"MOVEDOWN_WHEEL"},GRAB:{UP:"MOVEUP_GRAB",DOWN:"MOVEDOWN_GRAB"},BUTTON:{INCREASE:"INCREASE",DECREASE:"DECREASE"}},Re={LEFT:"leftX",RIGHT:"rightX"};let dS=class{constructor(t,n,o,s,l){this.evChart=t,this.evChartBrushOptions=o,this.evChartBrushRef=l,this.evChartData=n,this.brushIdx=s,o.value.useDebounce&&(this.debounceBrushIdx={start:s.start,end:s.end})}init(t){var n;if(this.brushIdx.start>this.brushIdx.end){this.removeBrushCanvas();return}if((n=this.evChartBrushRef)!=null&&n.value){const o=this.evChartBrushRef.value.querySelector(".brush-canvas");if(o)this.drawBrushRect({brushCanvas:o,isResize:t});else{const s=document.createElement("canvas");s.setAttribute("class","brush-canvas"),s.setAttribute("style","display: block; z-index: 1;");const l=this.evChartBrushRef.value.querySelector(".ev-chart-brush-container");l&&(this.brushCanvas=s,l.appendChild(s),this.evChartBrushContainer=l,this.drawBrushRect({brushCanvas:s}),this.addEvent(s))}}}drawBrushRect({brushCanvas:t,isResize:n,isDebounce:o,mode:s,offsetX:l}){const{chartRect:a,labelOffset:r}=this.evChart;if(!a&&!r)return;const c=this.evChartData.value.labels.length-1;this.labelEndIdx=c;const d={x1:a.x1+r.left,x2:a.x2-r.right,y1:a.y1+r.top,y2:a.y2-r.bottom},h=this.setCanvasWidthHeight(d,t);if(!(n&&this.isEqualWidth)&&c>=0){const u=this.setBrushXAndWidth(h,l,o,s);h&&u&&this.drawBrush(h,u,d,t)}}setCanvasWidthHeight(t,n){const s=t.x2-t.x1+6,l=t.y2-t.y1,a=(t.x2-t.x1)/this.labelEndIdx,r=window.devicePixelRatio||1;return this.isEqualWidth=n.width===Math.floor(s*r),{brushButtonWidth:6,brushCanvasHeight:l,brushCanvasWidth:s,axesXInterval:a,pixelRatio:r}}setBrushXAndWidth(t,n=0,o,s){const{brushButtonWidth:l,brushCanvasWidth:a,axesXInterval:r,pixelRatio:c}=t;!o&&this.debounceBrushIdx&&(this.debounceBrushIdx.start=this.brushIdx.start,this.debounceBrushIdx.end=this.brushIdx.end);const d=this.debounceBrushIdx??this.brushIdx;switch(s){case Ie.BUTTON.INCREASE:case Ie.BUTTON.DECREASE:this.brushRectWidth=a*c,this.curBrushButtonType===Re.LEFT?(this.brushRectWidth=this.beforeBrushRectWidth?this.beforeBrushRectWidth-n:this.brushRectWidth-n,this.brushRectWidth<=l?this.brushRectWidth=l:(this.brushRectX=n*c,this.beforeBrushRectX=this.brushRectX)):this.curBrushButtonType===Re.RIGHT&&(this.brushRectWidth=n-this.beforeBrushRectX,this.brushRectWidth<=l?this.brushRectWidth=l:(this.brushRectX=this.beforeBrushRectX,this.beforeBrushRectWidth=this.brushRectWidth+this.brushRectX));break;case Ie.GRAB.UP:case Ie.GRAB.DOWN:this.brushRectX<=0&&s===Ie.GRAB.DOWN||this.brushRectX+this.brushRectWidth>=a&&s===Ie.GRAB.UP?this.offsetXAndRectXInterval=null:(this.offsetXAndRectXInterval||(this.offsetXAndRectXInterval=n-this.brushRectX),this.brushRectX=n-this.offsetXAndRectXInterval);break;default:n||(this.brushRectX=d.start*r*c,this.brushRectWidth=(a-(this.labelEndIdx-(d.end-d.start))*r)*c,this.beforeBrushRectX=this.brushRectX,this.beforeBrushRectWidth=this.brushRectWidth+this.brushRectX);break}const h=a*c;return this.brushRectX<0?this.brushRectX=0:this.brushRectX+this.brushRectWidth>h&&(this.brushRectX=h-this.brushRectWidth),this.brushRectWidth>h&&(this.brushRectWidth=h),{brushRectX:this.brushRectX,brushRectWidth:this.brushRectWidth}}drawBrush(t,n,o,s){const{brushButtonWidth:l,brushCanvasHeight:a,brushCanvasWidth:r,axesXInterval:c,pixelRatio:d}=t,{brushRectX:h,brushRectWidth:u}=n,{height:f,selection:{fillColor:g,opacity:p}}=this.evChartBrushOptions.value,m=f-o.y1,x=h,b=h+u;s.style.position||(s.style.position="absolute",s.style.top=`${o.y1}px`,s.style.left=`${o.x1-l/2}px`),this.isEqualWidth||(s.width=r*d,s.style.width=`${r}px`,s.height=a*d,s.style.height=`${a}px`);const y=s.getContext("2d");y.clearRect(0,0,r*d,a*d),y.fillStyle=g,y.globalAlpha=p,y.fillRect(h,0,u,m),y.fillRect(x,0,l,m),y.fillRect(b-l,0,l,m),this.brushPosInfo={leftX:x/d,rightX:b/d,buttonWidth:l,axesXInterval:c,...t,...n}}getCanvasOffsetX(t){const n=this.brushCanvas.getBoundingClientRect();return t.clientX-n.left}addEvent(){let t;const n=l=>{if(this.isDragMode){const a=this.getCanvasOffsetX(l);this.mouseDownAndMove({offsetX:a})}};this.onDocumentMouseMove=qo(n,5),this.onDocumentMouseUp=()=>{document.removeEventListener("mousemove",this.onDocumentMouseMove),document.removeEventListener("mouseup",this.onDocumentMouseUp),this.initEventState()},this.onMouseDown=l=>{l.preventDefault(),t.isInsideButton?this.isDragMode="button":t.isInsideBrush?(this.clickBrushInsideX=l.offsetX,this.isDragMode="grab"):t.isOutsideBrush&&this.teleportBrush(l),this.isDragMode&&(document.addEventListener("mousemove",this.onDocumentMouseMove),document.addEventListener("mouseup",this.onDocumentMouseUp))};const o=l=>{this.isDragMode||(t=this.getMousePosition(l),this.changeCursor(t))};this.onMouseMove=qo(o,5),this.onWheel=l=>{l.preventDefault();const a=l.deltaY>0?Ie.WHEEL.DOWN:Ie.WHEEL.UP;this.updateBrushIdx(a),this.debounceBrushIdx&&this.drawBrushRect({brushCanvas:this.brushCanvas,isDebounce:!0,mode:a}),this.brushIdx.isUseScroll=!0},this.onMouseUp=()=>{this.initEventState()};const s=()=>{this.initEventState()};this.onWheelDebounce=Go(s,100),this.setEventListener("addEventListener")}getMousePosition(t){const n=d=>Math.abs(this.brushPosInfo[d]-t.offsetX),o=n(Re.RIGHT)>n(Re.LEFT)?Re.LEFT:Re.RIGHT,s=d=>t.offsetX>this.brushPosInfo[d],l=d=>t.offsetX<this.brushPosInfo[d],a=l(Re.LEFT)||s(Re.RIGHT),r=s(Re.LEFT)&&l(Re.RIGHT),c=t.offsetX+this.brushPosInfo.buttonWidth>=this.brushPosInfo[o]&&t.offsetX-this.brushPosInfo.buttonWidth<=this.brushPosInfo[o];return this.curBrushButtonType=c&&o,{isInsideButton:c,isInsideBrush:r,isOutsideBrush:a}}destroy(){if(this.brushCanvas&&(this.setEventListener("removeEventListener"),document.removeEventListener("mousemove",this.onDocumentMouseMove),document.removeEventListener("mouseup",this.onDocumentMouseUp),this.brushCanvas=null),this.evChartBrushContainer){const t=this.evChartBrushContainer;for(;t.hasChildNodes();)t.removeChild(t.firstChild)}}setEventListener(t){this.brushCanvas[t]("mousemove",this.onMouseMove),this.brushCanvas[t]("mousedown",this.onMouseDown),this.brushCanvas[t]("mouseup",this.onMouseUp),this.evChartBrushOptions.value.useWheelMove&&(this.brushCanvas[t]("wheel",this.onWheel),this.brushCanvas[t]("wheel",this.onWheelDebounce))}removeBrushWrapper(){if(this.evChartBrushRef.value){const t=this.evChartBrushRef.value.querySelector(".ev-chart-brush-wrapper");t&&this.evChartBrushRef.value.removeChild(t)}}removeBrushCanvas(){if(this.evChartBrushContainer){const t=this.evChartBrushContainer.querySelector(".brush-canvas");t&&this.evChartBrushContainer.removeChild(t)}}teleportBrush(t){const n=this.debounceBrushIdx??this.brushIdx,o=(n.end-n.start)/2;let s,l,a;o>.5?(n.end-n.start)%2===0?(a=Math.round(t.offsetX/this.brushPosInfo.axesXInterval),s=Math.ceil(o),l=Math.floor(o)):(a=Math.ceil(t.offsetX/this.brushPosInfo.axesXInterval),s=Math.ceil(o),l=Math.floor(o)):(a=Math.floor(t.offsetX/this.brushPosInfo.axesXInterval),t.offsetX-a*this.brushPosInfo.axesXInterval>this.brushPosInfo.axesXInterval/2?(s=Math.floor(o),l=Math.ceil(o)):(s=Math.ceil(o),l=Math.floor(o),o<1&&(a+=1))),a-s<=0?(n.start=0,n.end=l+s):a+l>=this.labelEndIdx?(n.start=this.labelEndIdx-l-s,n.end=this.labelEndIdx):(n.start=a-s,n.end=a+l),this.brushIdx.isUseScroll=!0}changeCursor(t){t.isOutsideBrush?this.brushCanvas.style.cursor="pointer":t.isInsideBrush&&(t.isInsideButton?this.brushCanvas.style.cursor="ew-resize":this.brushCanvas.style.cursor="grab")}mouseDownAndMove(t){const n=this.debounceBrushIdx?0:this.brushPosInfo.axesXInterval/3;let o;t.offsetX>this.beforeMouseXPos?this.isDragMode==="grab"?this.clickBrushInsideX<t.offsetX-n&&(o=Ie.GRAB.UP,this.isUseBrushGrab=!0,this.brushIdx.isUseScroll=!0,this.clickBrushInsideX=t.offsetX+n):t.offsetX-this.brushPosInfo[this.curBrushButtonType]>n&&(o=this.curBrushButtonType===Re.LEFT?Ie.BUTTON.DECREASE:Ie.BUTTON.INCREASE,this.brushIdx.isUseButton=!0):t.offsetX<this.beforeMouseXPos&&(this.isDragMode==="grab"?this.clickBrushInsideX>t.offsetX+n&&(o=Ie.GRAB.DOWN,this.isUseBrushGrab=!0,this.brushIdx.isUseScroll=!0,this.clickBrushInsideX=t.offsetX-n):this.brushPosInfo[this.curBrushButtonType]-t.offsetX>n&&(o=this.curBrushButtonType===Re.LEFT?Ie.BUTTON.INCREASE:Ie.BUTTON.DECREASE,this.brushIdx.isUseButton=!0)),this.debounceBrushIdx?this.drawBrushRect({brushCanvas:this.brushCanvas,isDebounce:!0,mode:o,offsetX:t.offsetX}):this.updateBrushIdx(o),this.beforeMouseXPos=t.offsetX}updateBrushIdx(t){const n=this.debounceBrushIdx??this.brushIdx;switch(t){case Ie.WHEEL.UP:case Ie.GRAB.UP:if(n.end>=this.labelEndIdx)return;n.start+=1,n.end+=1;break;case Ie.WHEEL.DOWN:case Ie.GRAB.DOWN:if(n.start<=0)return;n.start-=1,n.end-=1;break;case Ie.BUTTON.INCREASE:if(this.curBrushButtonType===Re.LEFT){if(!n.start)return;n.start-=1}else{if(n.end===this.labelEndIdx)return;n.end+=1}break;case Ie.BUTTON.DECREASE:if(n.start===n.end-1)return;this.curBrushButtonType===Re.LEFT?n.start+=1:n.end-=1;break}}updateBrushIdxUseXPos(){if(!this.debounceBrushIdx)return;const t=()=>{let s,l;if(this.brushPosInfo){const{brushRectX:a,brushRectWidth:r,brushCanvasWidth:c,axesXInterval:d}=this.brushPosInfo;if(this.brushIdx.isUseButton||this.isUseBrushGrab){if(s=a/d,l=this.labelEndIdx-(c-(a+r))/d,this.curBrushButtonType===Re.LEFT?(s=Math.round(s),l=this.brushIdx.end,s===l&&(s-=1)):this.curBrushButtonType===Re.RIGHT?(s=this.brushIdx.start,l=Math.round(l),s===l&&(l+=1)):(s=Math.round(s),l=Math.round(l)),l>this.labelEndIdx){const h=l-this.labelEndIdx;s-=h,l-=h}if(s<0){const h=Math.abs(s);s=0,l+=h}}}return{brushStartIdx:s,brushEndIdx:l}},{brushStartIdx:n,brushEndIdx:o}=t();this.brushIdx.start===n&&this.brushIdx.end===o&&this.drawBrushRect({brushCanvas:this.brushCanvas}),this.brushIdx.start=n??this.debounceBrushIdx.start,this.brushIdx.end=o??this.debounceBrushIdx.end}initEventState(){if(this.isCleaningUp)return;this.isCleaningUp=!0,new Promise(n=>{this.updateBrushIdxUseXPos(),n(!0)}).then(n=>{n&&(this.clickBrushInsideX=null,this.isDragMode=null,this.beforeMouseXPos=null,this.curBrushButtonType=null,this.isUseBrushGrab=!1,this.offsetXAndRectXInterval=null,this.brushIdx.isUseButton=!1,this.brushIdx.isUseScroll=!1),this.isCleaningUp=!1})}};const hS={show:!0,useDebounce:!0,chartIdx:0,height:100,showLabel:!1,selection:{fillColor:"#38ACEC",opacity:.65},useWheelMove:!0},uS=()=>({getNormalizedBrushOptions:t=>Fe({},t,hS)}),fS={name:"EvChartBrush",directives:{resize:wn},props:{options:{type:Object,default:()=>({})}},setup(e){let t=null,n=null;const o=i.ref(!1),s=i.inject("evChartClone",{data:[]}),l=i.inject("evChartInfo",{props:{options:[]}}),a=i.inject("brushIdx",{start:0,end:-1,isUseButton:!1,isUseScroll:!1}),r=i.inject("brushSeries",{list:[],chartIdx:null}),{getNormalizedBrushOptions:c}=uS(),d=i.computed(()=>c(e.options)),{eventListeners:h,selectItemInfo:u,selectLabelInfo:f,selectSeriesInfo:g,getNormalizedData:p,getNormalizedOptions:m}=Vr(),x=i.computed(()=>p((s.data??[])[d.value.chartIdx])),b=i.computed(()=>{var w,B;const S=l.props.options[d.value.chartIdx],k={...S,brush:{use:!0,...d.value},height:d.value.height,zoom:{use:!1},dragSelection:{use:!1},title:{show:!1},tooltip:{use:!1},legend:{show:!1},selectLabel:{use:!1},selectSeries:{use:!1},axesX:[{...(w=S==null?void 0:S.axesX)==null?void 0:w[0],title:{use:!1}}],axesY:[{...(B=S==null?void 0:S.axesY)==null?void 0:B[0],title:{use:!1}}]};return m(k)}),{wrapper:y,wrapperStyle:M}=Pr(b.value);i.watch(()=>r.list,()=>{y.value&&r.chartIdx===d.value.chartIdx&&(t.seriesList=r.list[d.value.chartIdx],t.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}}))}),i.watch(b,(S,k)=>{var w;S.brush.chartIdx<=((w=s.data)==null?void 0:w.length)-1?n&&!je(k.brush,S.brush)?n.removeBrushWrapper():t&&!je(S,k)&&(t.options=Se(S),t.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})):(t.data=Se(x.value),t.update({updateSeries:!0,updateSelTip:{update:!1,keepDomain:!1},updateData:!1}),n.removeBrushCanvas())}),i.watch(()=>s.data,S=>{if(t){const k=S[d.value.chartIdx];if(k){const w=!je(k.series,t.data.series),B=r.list[d.value.chartIdx];typeof B=="object"&&Object.keys(B).length&&Object.keys(k.series).forEach(D=>{var L;"show"in k.series[D]||(k.series[D].show=((L=B[D])==null?void 0:L.show)??!0)}),t.data=Se(k),t.update({updateSeries:w,updateSelTip:{update:!1,keepDomain:!1},updateData:!1})}}});const E=()=>{let S;b.value.selectLabel.use?S=f:b.value.selectSeries.use&&(S=g),t=new Or(y.value,x.value,b.value,h,u,S)},I=()=>{n=new dS(t,x,d,a,y)},T=()=>{t&&t.init()},V=S=>{n&&n.init(S)};i.watch(()=>[a.start,a.end],()=>{var S;y.value&&d.value.chartIdx<=((S=s.data)==null?void 0:S.length)-1&&V()}),i.onMounted(async()=>{d.value.show&&(await E(),await T(),I(),V()),o.value=!0}),i.onUpdated(async()=>{var S;if(d.value.show&&d.value.chartIdx<=((S=s.data)==null?void 0:S.length)-1){const k=r.list[d.value.chartIdx];typeof k=="object"&&Object.keys(k).length&&Object.keys(x.value.series).forEach(w=>{var B;"show"in x.value.series[w]||(x.value.series[w].show=((B=k[w])==null?void 0:B.show)??!0)}),await E(),await T(),I(),V()}}),i.onBeforeUnmount(()=>{t&&"destroy"in t&&t.destroy(),n&&n.destroy(),o.value=!1}),i.onDeactivated(()=>{t&&"hideTooltip"in t&&t.hideTooltip()});const C=Go(()=>{t&&"resize"in t&&new Promise(k=>t.resize(k)).then(k=>{k&&V(k)})},0);return i.onActivated(()=>{o.value&&C()}),{evChartBrushOptions:d,evChartBrushRef:y,evChartBrushStyle:M,onResize:C}}};function mS(e,t,n,o,s,l){const a=i.resolveDirective("resize");return o.evChartBrushOptions.show?i.withDirectives((i.openBlock(),i.createElementBlock("div",{key:0,ref:"evChartBrushRef",style:i.normalizeStyle(o.evChartBrushStyle),class:"ev-chart-brush"},null,4)),[[a,o.onResize]]):i.createCommentVNode("",!0)}const ro=le(fS,[["render",mS]]);ro.install=e=>{e.component(ro.name,ro)};const gS={name:"TreeGridNode",components:{GridOptionButton:Ns},props:{dataIndex:{type:Number,default:0},nodeData:{type:Object,default:()=>({})},selectedData:{type:Object,default:()=>({})},useCheckbox:{type:Object,default:()=>({})},orderedColumns:{type:[Array],default:()=>[]},expandIcon:{type:String,default:""},collapseIcon:{type:String,default:""},parentIcon:{type:String,default:""},childIcon:{type:String,default:""},customContextMenu:{type:[Array],default:()=>[]},menuRef:{type:Object,default:null},rowHeight:{type:Number,default:35},minWidth:{type:Number,default:40},borderStyle:{type:String,default:""},highlightIndex:{type:Number,default:-1}},emits:{"check-tree-data":null,"expand-tree-data":null,"click-tree-data":null,"dbl-click-tree-data":null,"context-menu":null},setup(e,{emit:t}){const n=(y,M)=>{t("check-tree-data",y,M)},o=y=>{t("expand-tree-data",y)},s=(y,M)=>{t("click-tree-data",y,M)},l=(y,M)=>{t("dbl-click-tree-data",y,M)},a=y=>{t("context-menu",y)},r=y=>{const M=e.expandIcon?e.expandIcon:"",E=e.expandIcon?e.collapseIcon:"";return y.expand?E:M},c=i.computed(()=>e.nodeData||{}),d=i.computed(()=>e.parentIcon||"tree-parent-icon"),h=i.computed(()=>e.childIcon||"tree-child-icon"),u=i.computed(()=>d.value!=="none"||h.value!=="none"),f=i.computed(()=>{const y=e.orderedColumns||[],M=y.findIndex(I=>I.expandColumn&&!I.hide&&!I.hiddenDisplay);if(M!==-1)return M;const E=y.findIndex(I=>!I.hide&&!I.hiddenDisplay);return E!==-1?E:0}),g=y=>({row:!0,"tree-row":!0,[`tree-row--level-${y==null?void 0:y.level}`]:!0,highlight:(y==null?void 0:y.index)===e.highlightIndex,selected:y.selected,"non-border":!!e.borderStyle&&e.borderStyle!=="rows"}),p=i.computed(()=>({cell:!0,"row-checkbox":!0,"non-border":!!e.borderStyle}));return{parentIconMV:d,childIconMV:h,node:c,isDataIcon:u,checkboxClass:p,expandColumnIdx:f,onCheck:n,onExpand:o,onClick:s,onDblClick:l,onContextMenu:a,expandIconClasses:r,getRowClass:g,getColumnClass:(y,M)=>({cell:!0,"tree-td":M===0,[y.type]:y.type,[y.align]:y.align,[y.field]:y.field,"non-border":!!e.borderStyle}),getColumnStyle:(y,M)=>({width:`${y.width}px`,height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,"min-width":`${e.minWidth}px`,"border-right":e.orderedColumns.length-1===M?"none":"1px solid #CFCFCF"}),getDepthStyle:y=>({"margin-left":`${y*13}px`})}}},pS=["data-index"],yS=["data-name","data-index"],xS={class:"td-content__wrapper"},bS=["title"],CS={class:"td-content"};function SS(e,t,n,o,s,l){var d;const a=i.resolveComponent("ev-checkbox"),r=i.resolveComponent("ev-icon"),c=i.resolveComponent("grid-option-button");return i.openBlock(),i.createElementBlock("tr",{"data-index":o.node.index,class:i.normalizeClass(o.getRowClass(o.node)),onClick:t[7]||(t[7]=h=>o.onClick(h,o.node)),onDblclick:t[8]||(t[8]=h=>o.onDblClick(h,o.node))},[n.useCheckbox.use?(i.openBlock(),i.createElementBlock("td",{key:0,class:i.normalizeClass(o.checkboxClass),style:i.normalizeStyle({width:`${n.minWidth}px`,height:`${n.rowHeight}px`,"border-right":"1px solid #CFCFCF"})},[i.createVNode(a,{modelValue:o.node.checked,"onUpdate:modelValue":t[0]||(t[0]=h=>o.node.checked=h),disabled:o.node.uncheckable,indeterminate:o.node.indeterminate,class:"row-checkbox-input",onChange:t[1]||(t[1]=h=>o.onCheck(h,o.node))},null,8,["modelValue","disabled","indeterminate"])],6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.orderedColumns,(h,u)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:u},[!h.hide&&!h.hiddenDisplay?(i.openBlock(),i.createElementBlock("td",{key:0,"data-name":h.field,"data-index":o.node.index,class:i.normalizeClass(o.getColumnClass(h,u)),style:i.normalizeStyle(o.getColumnStyle(h,u))},[i.createElementVNode("div",xS,[u===o.expandColumnIdx?(i.openBlock(),i.createElementBlock("span",{key:0,style:i.normalizeStyle(o.getDepthStyle(o.node.level))},null,4)):i.createCommentVNode("",!0),u===o.expandColumnIdx?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass({expand:o.node.expand,"ev-tree-toggle":!0})},[o.node.hasChild?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[o.expandIconClasses(o.node)?(i.openBlock(),i.createBlock(r,{key:0,icon:o.expandIconClasses(o.node),style:{display:"block"},onClick:t[2]||(t[2]=f=>o.onExpand(o.node))},null,8,["icon"])):(i.openBlock(),i.createElementBlock("button",{key:1,class:"tree-expand-icon",onClick:t[3]||(t[3]=i.withModifiers(f=>o.onExpand(o.node),["stop"]))},[...t[9]||(t[9]=[i.createElementVNode("i",null,null,-1)])]))],64)):i.createCommentVNode("",!0)],2)):i.createCommentVNode("",!0),u===o.expandColumnIdx&&o.isDataIcon?(i.openBlock(),i.createElementBlock("span",{key:2,title:o.node[h.field],class:i.normalizeClass({expand:o.node.expand,"ev-tree-toggle":!0})},[i.createElementVNode("span",{class:i.normalizeClass(o.node.hasChild?o.parentIconMV:o.childIconMV)},[...t[10]||(t[10]=[i.createElementVNode("i",null,null,-1)])],2)],10,bS)):i.createCommentVNode("",!0),i.createElementVNode("div",CS,[e.$slots[h.field+"Node"]?i.renderSlot(e.$slots,h.field+"Node",{key:0,item:{data:o.node.data}},void 0,!0):i.createCommentVNode("",!0)])])],14,yS)):i.createCommentVNode("",!0)],64))),128)),(d=n.customContextMenu)!=null&&d.length?(i.openBlock(),i.createElementBlock("td",{key:1,class:i.normalizeClass({"row-contextmenu":!0,"non-border":!!n.borderStyle}),style:i.normalizeStyle({position:"sticky",right:0,width:"30px",height:`${n.rowHeight}px`,"min-width":"30px","line-height":`${n.rowHeight}px`})},[e.$slots.contextmenuIconNode?(i.openBlock(),i.createElementBlock("span",{key:0,class:"row-contextmenu__btn",onClick:[t[4]||(t[4]=h=>o.onContextMenu(h)),t[5]||(t[5]=i.withModifiers((...h)=>n.menuRef.show&&n.menuRef.show(...h),["prevent"]))]},[i.renderSlot(e.$slots,"contextmenuIconNode",{},void 0,!0)])):(i.openBlock(),i.createBlock(c,{key:1,icon:"ev-icon-warning2",class:"row-contextmenu__btn",onClick:[t[6]||(t[6]=h=>o.onContextMenu(h)),i.withModifiers(n.menuRef.show,["prevent"])]},null,8,["onClick"]))],6)):i.createCommentVNode("",!0)],42,pS)}const wS=le(gS,[["render",SS],["__scopeId","data-v-faab3696"]]),kS={name:"EvTreeGridToolbar"},MS={class:"tree-grid-toolbar"};function IS(e,t,n,o,s,l){return i.openBlock(),i.createElementBlock("div",MS,[i.renderSlot(e.$slots,"toolbarWrapper")])}const ES=le(kS,[["render",IS]]),vS=e=>{const{props:t}=i.getCurrentInstance(),{checkInfo:n}=e;return{isRenderer:(d={})=>{var h;return!!((h=d==null?void 0:d.render)!=null&&h.use)},getComponentName:(d="")=>{const h=g=>g.charAt(0).toUpperCase()+g.slice(1),u="Renderer";let f="";if(d.indexOf("_")!==-1){const g=d.split("_");for(let p=0;p<g.length;p++)f+=h(g[p])}else f=h(d);return f+u},getConvertValue:(d,h)=>{let u=d.type==="number"||d.type==="float"?Number(h):h;return d.type==="number"?(u=$t(h),u=u===!1?h:u):d.type==="float"&&(u=u.toFixed(d.decimal??3).replace(/\B(?=(\d{3})+(?!\d))/g,",")),u},getColumnIndex:d=>t.columns.findIndex(h=>h.field===d),setPixelUnit:d=>{let h=d;const u=h.toString().indexOf("px")>=0,f=h.toString().indexOf("%")>=0;return!u&&!f&&(h=`${h}px`),h},checkHeader:d=>{n.isHeaderChecked=!!d.length&&d.every(u=>u.checked);const h=d.filter(u=>u.uncheckable);if(h.length){const u=d.filter(g=>g.checked),f=d.every(g=>h.includes(g));n.isHeaderChecked=!f&&h.length+u.length===d.length,n.isHeaderUncheckable=f}n.isHeaderIndeterminate=!!d.length&&d.some(u=>u.checked||u.indeterminate)&&!n.isHeaderChecked}}},di=e=>{const{originColumns:t,filteredColumns:n}=e;return t.map(o=>{const s=n.find(l=>l.index===o.index)??{};return{...o,...s}})},TS=e=>{const{scrollInfo:t,stores:n,elementInfo:o,resizeInfo:s,pageInfo:l,summaryScroll:a,getPagingData:r,updatePagingInfo:c}=e,d=f=>{let g=n.showTreeStore;l.isClientPaging&&(g=r());const p=o.body;if(p){const m=s.rowHeight,x=p.clientHeight>m?Math.ceil(p.clientHeight/m):g.length,b=g.length*m;let y=Math.floor(p.scrollTop/m);y>g.length-1&&(y=0);const M=y+x+1,E=Math.max(y,0),I=M,T=o.table;n.viewStore=g.slice(E,I),t.hasVerticalScrollBar=x<g.length||p.clientHeight<T.clientHeight,t.vScrollTopHeight=E*m,t.vScrollBottomHeight=b-n.viewStore.length*m-t.vScrollTopHeight,f&&l.isInfinite&&t.vScrollBottomHeight===0&&(l.prevPage=l.currentPage,l.currentPage=Math.ceil(I/l.perPage)+1,l.startIndex=I,c({onScrollEnd:!0}))}},h=()=>{const f=o.header,g=o.body,p=o.table;f.scrollLeft=g.scrollLeft,a.value=g.scrollLeft,t.hasHorizontalScrollBar=g.clientWidth<p.clientWidth};return{updateVScroll:d,updateHScroll:h,onScroll:()=>{const f=o.body,g=f.scrollTop,p=f.scrollLeft,m=t.lastScroll.top,x=t.lastScroll.left,b=p!==x;g!==m&&f.clientHeight&&d(!0),b&&h(),t.lastScroll.top=g,t.lastScroll.left=p}}},BS=e=>{const{props:t,emit:n}=i.getCurrentInstance(),{resizeInfo:o,elementInfo:s,checkInfo:l,stores:a,isRenderer:r,updateVScroll:c,updateHScroll:d,contextInfo:h}=e,u=()=>{a.viewStore=a.showTreeStore;const m=a.viewStore;let x=o.columnWidth;o.columnWidth>0&&(x=o.columnWidth),x=o.columnWidth;let b=0;if(o.adjust&&s.body){const y=s.body;let M=y.offsetWidth;const E=y.offsetHeight,I=a.orderedColumns.reduce((T,V)=>(V.hide||V.hiddenDisplay||(V.width?T.totalWidth+=V.width:T.emptyCount++),T),{totalWidth:h.customContextMenu.length?30:0,emptyCount:0});if(o.rowHeight*m.length>E-o.scrollWidth&&(M-=o.scrollWidth),l.useCheckbox.use&&(M-=o.minWidth),x=M-I.totalWidth,x>0){const T=I.emptyCount===0?0:Math.floor(x/I.emptyCount);b=x-T*I.emptyCount,x=I.emptyCount!==0?T:x}else x=o.columnWidth;x=x<o.minWidth?o.minWidth:x,o.columnWidth=x}if(a.orderedColumns.forEach(y=>{const M=r(y)?o.rendererMinWidth:o.minWidth;y.width&&y.width<M&&(y.width=M),!y.width&&!y.hide&&(y.width=x)}),b&&a.orderedColumns.length){let y=a.orderedColumns.length-1,M=a.orderedColumns[y];for(;y>0&&M&&(M.hide||M.hiddenDisplay);)y-=1,M=a.orderedColumns[y];M&&(M.width+=b)}o.isResize=!o.isResize},f=()=>{i.nextTick(()=>{var m,x;o.adjust&&a.orderedColumns.forEach(b=>{var M;const y=b;return!((M=t.columns[b.index])!=null&&M.width)&&!y.resized&&(y.width=0),y},void 0),u(),(m=s.body)!=null&&m.clientHeight&&c(),(x=s.body)!=null&&x.clientWidth&&d()})};return{calculatedColumn:u,onResize:f,onShow:m=>{m&&f()},onColumnResize:(m,x)=>{const b=s.header,y=s.body,M=b.getBoundingClientRect().left,E=b.querySelector(`li[data-index="${m}"]`),I=r(a.orderedColumns[m])?o.rendererMinWidth:o.minWidth,T=E.getBoundingClientRect(),V=y.getBoundingClientRect().right-M,C=s.resizeLine,S=T.left-M+I,k=T.right-M,w=x.clientX,B=T.left-M;y.style.overflow="auto",C.style.left=`${k}px`,o.showResizeLine=!0;const D=R=>{const v=R.clientX-w,N=k+v;let O=Math.max(S,N);O=Math.min(V,O),C.style.left=`${O}px`},L=()=>{const v=parseInt(C.style.left,10)-B;a.orderedColumns[m]&&(a.orderedColumns[m].width=v,a.orderedColumns[m].resized=!0),o.showResizeLine=!1,document.removeEventListener("mousemove",D),f();const N=di(a);n("resize-column",{column:a.orderedColumns[m],columns:N}),n("change-column-info",{type:"resize",columns:N})};document.addEventListener("mousemove",D),document.addEventListener("mouseup",L,{once:!0})}}},DS=e=>{const{emit:t}=i.getCurrentInstance(),n=e,o=(r,c)=>{var u;const d=r.target.tagName.toLowerCase();let h={};return r.target.offsetParent&&(d==="td"?h=r.target.dataset:h=((u=r.target.closest("td"))==null?void 0:u.dataset)??{}),{event:r,rowData:c,rowIndex:c.index,cellName:h.name,cellIndex:h.index}};let s=null;return{onRowClick:(r,c)=>{var d,h;return r.target&&r.target.parentElement&&(r.target.parentElement.classList.contains("row-checkbox-input")||(h=(d=r.target.closest("td"))==null?void 0:d.classList)!=null&&h.contains("row-contextmenu"))?!1:(clearTimeout(s),s=setTimeout(()=>{n.useSelect&&(c.selected?(c.selected=!1,n.multiple?r.ctrlKey?n.selectedRow=n.selectedRow.filter(u=>u.index!==c.index):n.selectedRow=[c]:n.selectedRow=[]):(c.selected=!0,r.ctrlKey&&n.multiple&&(!n.limitCount||n.limitCount>n.selectedRow.length)?n.selectedRow.push(c):n.selectedRow=[c]),t("update:selected",n.selectedRow),t("click-row",o(r,c)))},100),!0)},onRowDblClick:(r,c)=>{clearTimeout(s),t("dblclick-row",o(r,c))}}},LS=e=>{const{checkInfo:t,stores:n,checkHeader:o,pageInfo:s,getPagingData:l}=e,{emit:a}=i.getCurrentInstance(),r=()=>t.useCheckbox.mode==="each",c=g=>{const p=n.treeStore.findIndex(m=>m.index===g.index);p!==-1&&(n.treeStore[p].checked=g.checked)},d=g=>{r()||g.hasChild&&g.children.forEach(p=>{const m=p;g.checked&&!m.checked&&!m.uncheckable&&t.checkedRows.push(m),g.checked||(t.checkedRows=t.checkedRows.filter(x=>x.index!==m.index)),m.checked=g.checked&&!m.uncheckable,m.hasChild&&d(m)})},h=g=>{if(r())return;const p=g.parent;if(p){const m=p.children.every(b=>b.checked);p.checked=m&&!p.uncheckable;const x=p.children.filter(b=>b.uncheckable);if(x.length){const b=p.children.filter(y=>y.checked);x.length+b.length===p.children.length&&(p.checked=!0)}p.indeterminate=!m&&p.children.some(b=>b.checked||b.indeterminate),p.checked?t.checkedRows.push(p):t.checkedRows=t.checkedRows.filter(b=>b.index!==p.index),p.parent&&h(p)}};return{onCheck:(g,p)=>{let m=n.store;s.isClientPaging&&(m=l());const x=()=>t.useCheckbox.mode==="single",b=()=>{t.isHeaderChecked&&(t.isHeaderChecked=!1)},y=()=>{x()&&t.checkedRows.length>0&&(t.prevCheckedRow.checked=!1,c(t.prevCheckedRow))},M=I=>{if(x()){t.checkedRows=[I];return}d(I),h(I),t.checkedRows.push(I),I.indeterminate=!1},E=I=>{if(x()){t.checkedRows=[];return}t.checkedRows=t.checkedRows.filter(T=>T.index!==I.index)};y(),p.checked?(M(p),o(m)):(b(),E(p),d(p),h(p)),t.prevCheckedRow=p,a("update:checked",t.checkedRows),a("check-row",g,p.index,p)},onCheckAll:g=>{var x;const p=t.isHeaderChecked;let m=(x=n.store)==null?void 0:x.filter(b=>b.isFilter);s.isClientPaging&&(m=l()),m.forEach(b=>{b.checked=p&&!b.uncheckable,b.checked?t.checkedRows.find(y=>y.index===b.index)||t.checkedRows.push(b):t.checkedRows=t.checkedRows.filter(y=>y.index!==b.index),b.indeterminate=!1}),t.isHeaderIndeterminate=!1,a("update:checked",t.checkedRows),a("check-all",g,t.checkedRows)}}},RS=e=>{const{emit:t}=i.getCurrentInstance(),{contextInfo:n,stores:o,selectInfo:s,useGridSetting:l,columnSettingInfo:a,setColumnHidden:r,onSort:c}=e,d=(g=!0)=>{const p=[];if(g&&n.customContextMenu.length){const m=s.selectedRow,x=n.customContextMenu.map(b=>{const y=b;return y.validate&&(y.disabled=!y.validate(y.itemId,m)),y.selectedRow=m??[],y});p.push(...x)}n.contextMenuItems=p};return{setContextMenu:d,onContextMenu:g=>{var x,b;const m=(b=(x=g.target.closest(".row"))==null?void 0:x.dataset)==null?void 0:b.index;if(m){const y=o.viewStore.findIndex(E=>E.index===Number(m)),M=o.viewStore[y];s.selectedRow=[M],d(),t("update:selected",s.selectedRow)}else s.selectedRow=[],d(!1),t("update:selected",[])},onColumnContextMenu:(g,p)=>{var m,x,b,y,M,E;if(g.target.className.includes("column-name")){const I=!!p.sortable;n.columnMenuItems=[{text:((m=n.columnMenuTextInfo)==null?void 0:m.hide)??"Hide",iconClass:"ev-icon-visibility-off",disabled:!l.value||o.orderedColumns.length===1||!!p.fixed,hidden:((x=n.hiddenColumnMenuItem)==null?void 0:x.hide)||!l.value,click:()=>{r(p.field),t("change-column-status",{columns:o.updatedColumns}),t("change-column-info",{type:"display",columns:o.updatedColumns})}},{text:((b=n.columnMenuTextInfo)==null?void 0:b.ascending)??"Ascending",iconClass:"ev-icon-allow2-up",disabled:!I,hidden:(y=n.hiddenColumnMenuItem)==null?void 0:y.ascending,click:()=>c(p,"asc")},{text:((M=n.columnMenuTextInfo)==null?void 0:M.descending)??"Descending",iconClass:"ev-icon-allow2-down",disabled:!I,hidden:(E=n.hiddenColumnMenuItem)==null?void 0:E.descending,click:()=>c(p,"desc")}]}else n.columnMenuItems.length=0},onGridSettingContextMenu:g=>{const{useDefaultColumnSetting:p,columnSettingTextInfo:m}=a,x={text:(m==null?void 0:m.title)??"Column List",isShowMenu:!0,click:()=>{a.isShowColumnSetting=!0,n.isShowMenuOnClick=!0}};n.customGridSettingContextMenu.length&&(n.gridSettingContextMenuItems=[...n.customGridSettingContextMenu]),p&&n.gridSettingContextMenuItems.push(x),n.gridSettingMenu.show(g)}}},OS=e=>{const{emit:t}=i.getCurrentInstance(),{stores:n,onResize:o}=e,s=()=>{let r=0;const c=[];function d(u){const f={};return Object.keys(u).forEach(g=>{g!=="children"&&(f[g]=u[g])}),f}function h(u){const{node:f,level:g,isShow:p,parent:m,uncheckable:x}=u;f!==null&&typeof f=="object"&&(f.index=r++,f.level=g,Object.hasOwnProperty.call(f,"checked")||(f.checked=!1),Object.hasOwnProperty.call(f,"selected")||(f.selected=!1),Object.hasOwnProperty.call(f,"show")||(f.show=p),Object.hasOwnProperty.call(f,"expand")||(f.expand=!0),Object.hasOwnProperty.call(f,"isFilter")||(f.isFilter=!1),Object.hasOwnProperty.call(f,"uncheckable")||(f.uncheckable=x),Object.hasOwnProperty.call(f,"indeterminate")||(f.indeterminate=!1),Object.hasOwnProperty.call(f,"data")||(f.data=d(f)),c.push(f),Object.hasOwnProperty.call(f,"parent")||(f.parent=m),f.children&&(f.hasChild=!0,f.children.forEach(b=>h({node:b,level:g+1,isShow:f.show&&f.expand,parent:f,uncheckable:f.uncheckable}))))}return n.treeRows.forEach(u=>{h({node:u,level:0,isShow:!0,parent:void 0,uncheckable:!1})}),c},l=(r,c,d)=>{r.forEach(h=>{const u=h;u.show=d&&c?u.isFilter:c,u.hasChild&&l(u.children,u.show&&u.expand,u.isFilter)})};return{setTreeNodeStore:s,handleExpand:r=>{const c=!r.expand,d=r;d.expand=!d.expand,l(d.children,d.expand,d.isFilter),t("toggle-row",{row:d,isExpand:c}),o()}}},NS=e=>{const{stores:t,filterInfo:n,pageInfo:o,getConvertValue:s,onResize:l,checkHeader:a,getPagingData:r,updatePagingInfo:c}=e,d=g=>{if(!(g!=null&&g.parent))return;const{parent:p}=g;p.show=!0,p.isFilter=!0,d(p)},h=g=>{if(!(g!=null&&g.children))return;const{children:p}=g;p.forEach(m=>{const x=m;x.parent.show&&x.parent.expand?x.show=!0:x.show=!1,x.isFilter=!0,x.hasChild&&h(x)})};let u=null;return{onSearch:g=>{u&&clearTimeout(u),u=setTimeout(()=>{n.isSearch=!1,n.searchWord=g;const p=t.treeStore;p.forEach(m=>{m.show=!1,m.isFilter=!1}),g?(p.filter(x=>{let b=!1;for(let y=0;y<t.orderedColumns.length;y++){const M=t.orderedColumns[y]||{};let E=x[M.field]??null;if(M.type=M.type||"string",E!==null&&!M.hide&&((M==null?void 0:M.searchable)===void 0||M!=null&&M.searchable)&&(E=s(M,E).toString(),b=E.toLowerCase().includes(g.toString().toLowerCase()),b))break}return b}).forEach(x=>{x.show=!0,x.parent&&!x.parent.expand&&(x.show=!1),x.isFilter=!0,d(x),h(x)}),n.isSearch=!0):(p.forEach(m=>{m.show=!0,m.isFilter=!1}),p.forEach(m=>{d(m),h(m)})),!g&&o.isClientPaging&&o.prevPage&&(o.currentPage=1,t.pagingStore=r()),c({onSearch:!0}),a(t.store),l()},500)}}},VS=e=>{const{emit:t}=i.getCurrentInstance(),{stores:n,pageInfo:o,sortInfo:s,filterInfo:l,elementInfo:a,clearCheckInfo:r}=e,c=()=>{const u=(o.currentPage-1)*o.perPage,f=parseInt(u,10)+parseInt(o.perPage,10);return n.showTreeStore.slice(u,f)},d=u=>{t("page-change",{eventName:u,pageInfo:{currentPage:o.currentPage,prevPage:o.prevPage,startIndex:o.startIndex,total:o.pageTotal,perPage:o.perPage},sortInfo:{field:s.sortField,order:s.sortOrder},searchInfo:{searchWord:l.searchWord,searchColumns:n.orderedColumns.filter(f=>!f.hide&&((f==null?void 0:f.searchable)===void 0||(f==null?void 0:f.searchable))).map(f=>f.field)}}),o.isInfinite&&(u!=null&&u.onSearch||u!=null&&u.onSort)&&(o.currentPage=1,a.body.scrollTop=0,r())};return{getPagingData:c,updatePagingInfo:d,changePage:u=>{if(o.isClientPaging)if(o.prevPage=u,n.showTreeStore.length<=o.perPage)n.pagingStore=n.showTreeStore;else{const f=(o.currentPage-1)*o.perPage,g=parseInt(f,10)+parseInt(o.perPage,10);n.pagingStore=n.showTreeStore.slice(f,g),a.body.scrollTop=0,o.startIndex=f}d({onChangePage:!0})}}},PS=({sortInfo:e,stores:t})=>{const{emit:n}=i.getCurrentInstance(),o=(u=!0)=>u?["asc","desc","init"]:["asc","desc"];function s(){this.orders=o(),this.dequeue=()=>this.orders.shift(),this.enqueue=u=>this.orders.push(u)}const l=(u,f="init")=>{t.orderedColumns.forEach(g=>{g.index===(u==null?void 0:u.index)&&f?g.sortOption={sortType:f}:g.sortOption={sortType:"init"}})},a=()=>{const u=t.originColumns.filter(f=>f.hiddenDisplay||f.hide);u.length&&u.forEach(f=>{f.sortOption={sortType:"init"}})},r=new s;return{onSort:(u,f)=>{if(u.sortable===void 0?!0:u.sortable){e.sortColumn=u,e.sortField!==(u==null?void 0:u.field)&&(r.orders=o(),e.sortField=u==null?void 0:u.field),f&&(r.orders=o(),f==="desc"&&(e.sortOrder=r.dequeue(),r.enqueue(e.sortOrder))),e.sortOrder=r.dequeue(),r.enqueue(e.sortOrder),a(),l(u,e.sortOrder);const p=di(t);n("sort-column",{field:e.sortField,order:e.sortOrder,column:e.sortColumn,columns:p}),n("change-column-info",{type:"sort",columns:p})}},setSortInfo:(u,f=!0)=>{const g=u==null?void 0:u.findIndex(x=>{var b;return(x==null?void 0:x.sortable)&&((b=x==null?void 0:x.sortOption)==null?void 0:b.sortType)&&x.sortOption.sortType!=="init"}),p=u[g];g>-1&&(p.index=g);const{sortType:m}=(p==null?void 0:p.sortOption)||{};e.sortColumn=p,e.sortField=p==null?void 0:p.field,e.isSorting=!!m,e.sortOrder=m,l(p,m),f&&n("change-column-info",{type:"sort",columns:di(t)})},initSortInfo:u=>{e.isSorting=!1,e.sortOrder="init",u.forEach(f=>{var g;(g=f==null?void 0:f.sortOption)!=null&&g.sortType&&f.sortOption.sortType!=="init"&&(f.sortOption.sortType="init")})}}},_S={name:"EvTreeGrid",components:{TreeGridNode:wS,Toolbar:ES,GridPagination:gr,GridSummary:Cr,ColumnSetting:Sr,GridSortButton:wr,GridOptionButton:Ns},directives:{observeVisibility:Yi,resize:wn},props:{columns:{type:[Array],default:()=>[]},rows:{type:[Array,Object],default:()=>null},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:"100%"},selected:{type:[Array],default:()=>[]},checked:{type:[Array],default:()=>[]},option:{type:Object,default:()=>({})},expandIcon:{type:String,default:""},collapseIcon:{type:String,default:""}},emits:{"update:selected":null,"update:checked":null,"click-row":null,"dblclick-row":null,"check-row":null,"check-all":null,"page-change":null,"sort-column":null,"toggle-row":null,"resize-column":({column:e,columns:t})=>({column:e,columns:t}),"change-column-status":({columns:e})=>({columns:e}),"change-column-info":({type:e,columns:t})=>({type:e,columns:t})},setup(e){var hi,ui,fi,mi,gi,pi,yi,qt,gn;const t=i.ref(null),n=i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useGridSetting)==null?void 0:ne.use)||!1}),o=i.computed(()=>{var X;return((X=e.option)==null?void 0:X.useSummary)||!1}),s=i.computed(()=>e.option.emptyText??"No records"),l=i.reactive({body:null,header:null,table:null,resizeLine:null,"grid-wrapper":null}),a=i.reactive({isSearch:!1,searchWord:""}),r=i.reactive({isShowColumnSetting:!1,isFilteringColumn:!1,visibleColumnIdx:[],hiddenColumn:"",columnSettingPosition:{top:0,left:0,columnListMenuWidth:0},useDefaultColumnSetting:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useGridSetting)==null?void 0:ne.useDefaultColumnSetting)??!0}),columnSettingTextInfo:{title:((ui=(hi=e.option)==null?void 0:hi.useGridSetting)==null?void 0:ui.columnMenuText)??"Column List",search:((mi=(fi=e.option)==null?void 0:fi.useGridSetting)==null?void 0:mi.searchText)??"Search",empty:((pi=(gi=e.option)==null?void 0:gi.useGridSetting)==null?void 0:pi.emptyText)??"No records",ok:((qt=(yi=e.option)==null?void 0:yi.useGridSetting)==null?void 0:qt.okBtnText)??"OK"}}),c=i.reactive({treeStore:[],viewStore:[],filterStore:[],pagingStore:[],originStore:[],showTreeStore:i.computed(()=>c.treeStore.filter(X=>X.show)),searchStore:i.computed(()=>c.treeStore.filter(X=>X.isFilter)),store:i.computed(()=>a.isSearch?c.searchStore:c.treeStore),treeRows:e.rows,filteredColumns:[],originColumns:i.computed(()=>e.columns.map((X,ne)=>{var he;return{index:ne,hiddenDisplay:!1,...X,width:isFinite(X.width)?X.width:void 0,sortOption:{sortType:((he=X==null?void 0:X.sortOption)==null?void 0:he.sortType)||"init"}}})),orderedColumns:i.computed(()=>c.filteredColumns.length?c.filteredColumns:c.originColumns),updatedColumns:i.computed(()=>di(c))}),d=i.reactive({usePage:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.use)||!1}),useClient:((gn=e.option.page)==null?void 0:gn.useClient)||!1,isInfinite:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.isInfinite)||!1}),startIndex:0,prevPage:0,currentPage:0,pageTotal:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.total)||0}),perPage:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.perPage)||20}),visiblePage:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.visiblePage)||8}),order:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.order)||"center"}),showPageInfo:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.showPageInfo)||!1}),isClientPaging:i.computed(()=>d.useClient&&d.usePage&&!d.isInfinite),isHighlight:!1,highlightPage:0}),h=i.reactive({prevCheckedRow:[],isHeaderChecked:!1,isHeaderUncheckable:!1,isHeaderIndeterminate:!1,checkedRows:e.checked,useCheckbox:i.computed(()=>e.option.useCheckbox||{})}),{isRenderer:u,getComponentName:f,getConvertValue:g,getColumnIndex:p,setPixelUnit:m,checkHeader:x}=vS({checkInfo:h}),b=i.reactive({lastScroll:{top:0,left:0},vScrollTopHeight:0,vScrollBottomHeight:0,hasVerticalScrollBar:!1,hasHorizontalScrollBar:!1}),y=i.reactive({selectedRow:e.selected,useSelect:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useSelection)==null?void 0:ne.use)??!0}),limitCount:i.computed(()=>{var ne,he;let X=(he=(ne=e.option)==null?void 0:ne.useSelection)==null?void 0:he.limitCount;return X=X&&X>=2?X:0,X}),multiple:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useSelection)==null?void 0:ne.multiple)??!1})}),M=i.reactive({isSorting:!1,sortField:"",sortOrder:"",sortColumn:{},sortFunction:e.option.customAscFunction??{}}),E=i.reactive({menu:null,contextMenuItems:[],contextMenuClass:e.option.customContextMenuClass||"",columnMenu:null,columnMenuItems:[],columnMenuTextInfo:e.option.columnMenuText||{},hiddenColumnMenuItem:e.option.hiddenColumnMenuItem||{},customContextMenu:e.option.customContextMenu||[],gridSettingMenu:null,gridSettingContextMenuItems:[],customGridSettingContextMenu:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useGridSetting)==null?void 0:ne.customContextMenu)||[]}),isShowMenuOnClick:!1}),I=i.reactive({minWidth:40,rendererMinWidth:80,showResizeLine:!1,adjust:e.option.adjust||!1,columnWidth:e.option.columnWidth||80,scrollWidth:e.option.scrollWidth||17,rowHeight:i.computed(()=>e.option.rowHeight||35),gridWidth:i.computed(()=>e.width?m(e.width):"100%"),gridHeight:i.computed(()=>e.height?m(e.height):"100%"),isResize:!1}),T=i.reactive({showHeader:i.computed(()=>e.option.showHeader===void 0?!0:e.option.showHeader),stripeStyle:i.computed(()=>{var X;return((X=e.option.style)==null?void 0:X.stripe)||!1}),borderStyle:i.computed(()=>{var X;return((X=e.option.style)==null?void 0:X.border)||""}),highlightIdx:i.computed(()=>{var X;return((X=e.option.style)==null?void 0:X.highlight)??-1})}),V=()=>{y.selectedRow.length=0,c.store.forEach(X=>{X.selected=!1})},C=()=>{h.isHeaderChecked=!1,h.isHeaderIndeterminate=!1,h.checkedRows.length=0,c.store.forEach(X=>{X.checked=!1,X.indeterminate=!1})},{getPagingData:S,updatePagingInfo:k,changePage:w}=VS({stores:c,pageInfo:d,sortInfo:M,filterInfo:a,elementInfo:l,clearCheckInfo:C}),B=i.ref(0),{updateVScroll:D,updateHScroll:L,onScroll:R}=TS({scrollInfo:b,stores:c,elementInfo:l,resizeInfo:I,pageInfo:d,summaryScroll:B,getPagingData:S,updatePagingInfo:k}),{onRowClick:v,onRowDblClick:N}=DS(y),{onCheck:O,onCheckAll:P}=LS({checkInfo:h,stores:c,checkHeader:x,pageInfo:d,getPagingData:S}),{calculatedColumn:_,onResize:A,onShow:z,onColumnResize:$}=BS({resizeInfo:I,elementInfo:l,checkInfo:h,stores:c,isRenderer:u,updateVScroll:D,updateHScroll:L,contextInfo:E}),{setTreeNodeStore:W,handleExpand:F}=OS({stores:c,onResize:A}),{onSort:U,initSortInfo:j,setSortInfo:K}=PS({sortInfo:M,stores:c}),{onSearch:q}=NS({stores:c,filterInfo:a,pageInfo:d,getConvertValue:g,onResize:A,checkHeader:x,getPagingData:S,updatePagingInfo:k}),{setPositionColumnSetting:ee,initColumnSettingInfo:J,onApplyColumn:te,setColumnHidden:G}=kr({stores:c,columnSettingInfo:r,contextInfo:E,onSearch:q,onResize:A}),{setContextMenu:oe,onContextMenu:Z,onColumnContextMenu:ae,onGridSettingContextMenu:me}=RS({contextInfo:E,stores:c,selectInfo:y,useGridSetting:n,columnSettingInfo:r,setColumnHidden:G,onSort:U}),re=X=>{E.gridSettingContextMenuItems.length=0,E.customGridSettingContextMenu.length?me(X):r.isShowColumnSetting=!0},ue=X=>{var ne,he,xe,Me,Pe,Xe;X.type==="wheel"&&((ne=E.menu)==null||ne.hide(X)),X.type==="scroll"&&!((he=X.target.classList)!=null&&he.contains("table-body"))&&!((Me=(xe=X.target.offsetParent)==null?void 0:xe.classList)!=null&&Me.contains("ev-grid-column-setting"))&&(r.isShowColumnSetting=!1,E.isShowMenuOnClick=!1,(Pe=E.columnMenu)==null||Pe.hide(X),(Xe=E.gridSettingMenu)==null||Xe.hide())};i.onMounted(()=>{var X;if(c.treeStore=W(),c.originStore=Se(c.treeStore),(X=e.option)!=null&&X.useSort)K(e.columns,!1);else{const ne=E.hiddenColumnMenuItem;ne.ascending=!0,ne.descending=!0}document.addEventListener("wheel",ue,{capture:!1}),document.addEventListener("scroll",ue,{capture:!0})}),i.onUnmounted(()=>{document.removeEventListener("wheel",ue,{capture:!1}),document.removeEventListener("scroll",ue,{capture:!0})}),i.onActivated(()=>{A()}),i.watch(()=>{var X;return(X=e.option)==null?void 0:X.useSort},X=>{const ne=e.option.hiddenColumnMenuItem,he=E.hiddenColumnMenuItem;X?(he.ascending=(ne==null?void 0:ne.ascending)??!1,he.descending=(ne==null?void 0:ne.descending)??!1,K(e.columns,!1)):(he.ascending=!0,he.descending=!0,j(e.columns))}),i.watch(()=>r.isShowColumnSetting,X=>{var ne;if(!X){(ne=E.gridSettingMenu)==null||ne.hide();return}ee(t.value)}),i.watch(()=>e.columns,()=>{J()},{deep:!0,immediate:!0}),i.watch(()=>e.checked,X=>{h.checkedRows=X}),i.watch(()=>h.checkedRows,X=>{h.isHeaderChecked=!1;let ne=c.store;d.isClientPaging&&(ne=S()),ne.length&&(ne.forEach(he=>{he.checked=!!X.find(xe=>xe.index===he.index)}),x(ne)),D()}),i.watch(()=>e.selected,X=>{y.useSelect&&(y.selectedRow=X)}),i.watch(()=>y.selectedRow,X=>{y.useSelect&&(c.store.forEach(ne=>{ne.selected=!!X.find(he=>he.index===ne.index)}),D())},{deep:!0}),i.watch(()=>T.highlightIdx,async X=>{await i.nextTick();const ne=xe=>{if(!(xe!=null&&xe.children))return;const{children:Me}=xe;Me.forEach(Pe=>{const Xe=Pe;Xe.parent.show&&Xe.parent.expand?Xe.show=!0:Xe.show=!1,Xe.isFilter=!0,Xe.hasChild&&ne(Xe)})},he=xe=>{if(!(xe!=null&&xe.parent)){ne(xe);return}const{parent:Me}=xe;Me.show=!0,Me.isFilter=!0,Me.expand=!0,ne(Me),he(Me)};if(X>=0){const xe=c.store.find(Pe=>Pe.index===X);if(!xe)return;xe.show=!0,xe.isFilter=!0,he(xe);const Me=c.showTreeStore.map(Pe=>Pe.index).indexOf(xe.index);if(d.usePage&&!d.isInfinite){const Pe=Math.ceil(Me/d.perPage);if(d.highlightPage=Me===d.perPage?Pe+1:Pe||1,d.highlightPage!==d.currentPage){d.currentPage=d.highlightPage,d.isHighlight=!0;return}}l.body.scrollTop=I.rowHeight*Me}}),i.watch(()=>h.useCheckbox.mode,()=>{h.checkedRows=[],h.isHeaderChecked=!1}),i.watch(()=>y.useSelect,()=>{V()}),i.watch(()=>y.multiple,()=>{V()}),i.watch(()=>e.rows,X=>{c.treeRows=X,c.treeStore=W(),A()},{deep:!0}),i.watch(()=>c.treeStore.length,()=>{x(c.store)}),i.watch(()=>[e.width,e.height,e.option.columnWidth],()=>{e.option.columnWidth!=null&&(I.columnWidth=e.option.columnWidth),c.orderedColumns.map(X=>{var he;const ne=X;return!((he=e.columns[X.index])!=null&&he.width)&&!ne.resized&&(ne.width=0),ne}),A()}),i.watch(()=>e.option.searchValue,X=>{i.nextTick(()=>{X!==void 0&&(q((X==null?void 0:X.value)??X),d.isClientPaging&&(C(),V()))})},{immediate:!0}),i.watch(()=>{var X;return(X=e.option.page)==null?void 0:X.currentPage},X=>{var he;const ne=X||1;d.currentPage=(he=e.option.page)!=null&&he.isInfinite?1:ne},{immediate:!0}),i.watch(()=>d.currentPage,(X,ne)=>{i.nextTick(()=>{if(w(ne),d.isClientPaging&&X!==ne&&(C(),V()),D(),X===d.highlightPage&&d.isHighlight){const he=c.pagingStore.map(xe=>xe.index).indexOf(T.highlightIdx);l.body.scrollTop=I.rowHeight*he,d.isHighlight=!d.isHighlight}})});const ke=()=>({"column-sort__icon":!0,"column-sort__icon--asc":M.sortOrder==="asc","column-sort__icon--desc":M.sortOrder==="desc"}),rt=i.computed(()=>({width:I.gridWidth,height:I.gridHeight})),ct=i.computed(()=>({"table-body":!0,stripe:T.stripeStyle,"bottom-border":!!c.viewStore.length,"non-border":!!T.borderStyle})),yt=i.computed(()=>({table:!0,"ev-grid":!0,"ev-tree-grid":!0,adjust:I.adjust,"non-header":!T.showHeader,"ev-tree-grid--empty":!c.viewStore.length})),uo=i.computed(()=>({"table-header":!0,"non-border":!!T.borderStyle})),fo=i.computed(()=>({column:!0,"checkbox-all":!0,"non-border":!!T.borderStyle})),mo=i.computed(()=>h.useCheckbox.use&&h.useCheckbox.headerCheck&&h.useCheckbox.mode!=="single"),Zt=X=>({column:!0,render:u(X),"non-border":!!T.borderStyle,[X.field]:X.field}),As=(X,ne)=>{const he=u(X);return{width:`${X.width}px`,"min-width":he?`${I.rendererMinWidth}px;`:`${I.minWidth}px`,"margin-right":c.orderedColumns.length-1===ne&&b.hasVerticalScrollBar&&b.hasHorizontalScrollBar?`${I.scrollWidth}px`:"0px","border-right":c.orderedColumns.length-1===ne?"none":"1px solid #CFCFCF"}},zs=X=>`${X}Node`;return{summaryScroll:B,gridStyle:rt,gridClass:yt,headerClass:uo,headerCheckboxClass:fo,isHeaderCheckbox:mo,bodyStyle:ct,useSummary:o,useGridSetting:n,toolbarRef:t,stores:c,emptyText:s,...i.toRefs(T),...i.toRefs(l),...i.toRefs(c),...i.toRefs(a),...i.toRefs(b),...i.toRefs(I),...i.toRefs(y),...i.toRefs(h),...i.toRefs(M),...i.toRefs(E),...i.toRefs(d),...i.toRefs(r),isRenderer:u,getComponentName:f,getConvertValue:g,getColumnIndex:p,setPixelUnit:m,updateVScroll:D,updateHScroll:L,onScroll:R,calculatedColumn:_,onResize:A,onShow:z,onColumnResize:$,onRowClick:v,onRowDblClick:N,onCheck:O,onCheckAll:P,setContextMenu:oe,onContextMenu:Z,onSearch:q,handleExpand:F,getColumnClass:Zt,getColumnStyle:As,getSlotName:zs,setGridSetting:re,onApplyColumn:te,onColumnContextMenu:ae,onSort:U,sortIconClass:ke}}},AS={class:"column-list"},zS=["data-index"],FS=["title","onClick"],HS=["onClick"],WS=["onMousedown"],$S={ref:"table"},XS=["title"],US={key:0},YS={class:"is-empty"},jS={ref:"resizeLine",class:"table-resize-line"};function GS(e,t,n,o,s,l){var b;const a=i.resolveComponent("grid-option-button"),r=i.resolveComponent("toolbar"),c=i.resolveComponent("ev-checkbox"),d=i.resolveComponent("grid-sort-button"),h=i.resolveComponent("tree-grid-node"),u=i.resolveComponent("ev-context-menu"),f=i.resolveComponent("grid-summary"),g=i.resolveComponent("grid-pagination"),p=i.resolveComponent("column-setting"),m=i.resolveDirective("resize"),x=i.resolveDirective("observe-visibility");return i.openBlock(),i.createElementBlock(i.Fragment,null,[e.$slots.toolbar||o.useGridSetting?(i.openBlock(),i.createElementBlock("div",{key:0,ref:"toolbarRef",class:"toolbar-wrapper",style:i.normalizeStyle(`width: ${e.gridWidth};`)},[i.createVNode(r,null,{toolbarWrapper:i.withCtx(()=>[o.useGridSetting?(i.openBlock(),i.createBlock(a,{key:0,class:"grid-setting__icon",onClick:o.setGridSetting},null,8,["onClick"])):i.createCommentVNode("",!0),i.renderSlot(e.$slots,"toolbar",{item:{onSearch:o.onSearch}},void 0,!0)]),_:3})],4)):i.createCommentVNode("",!0),i.withDirectives((i.openBlock(),i.createElementBlock("div",{ref:"grid-wrapper",style:i.normalizeStyle(o.gridStyle)},[i.createElementVNode("div",{ref:"grid",class:i.normalizeClass(o.gridClass)},[i.withDirectives(i.createElementVNode("div",{ref:"header",class:i.normalizeClass(o.headerClass)},[i.createElementVNode("ul",AS,[e.useCheckbox.use?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass(o.headerCheckboxClass),style:i.normalizeStyle({width:`${e.minWidth}px`,"border-right":"1px solid #CFCFCF"})},[o.isHeaderCheckbox?(i.openBlock(),i.createBlock(c,{key:0,modelValue:e.isHeaderChecked,"onUpdate:modelValue":t[0]||(t[0]=y=>e.isHeaderChecked=y),disabled:e.isHeaderUncheckable,indeterminate:e.isHeaderIndeterminate,onChange:o.onCheckAll},null,8,["modelValue","disabled","indeterminate","onChange"])):i.createCommentVNode("",!0)],6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.orderedColumns,(y,M)=>{var E,I;return i.openBlock(),i.createElementBlock(i.Fragment,{key:M},[!y.hide&&!y.hiddenDisplay?(i.openBlock(),i.createElementBlock("li",{key:0,"data-index":M,class:i.normalizeClass(o.getColumnClass(y)),style:i.normalizeStyle(o.getColumnStyle(y,M))},[y.customHeader&&e.$slots.customHeader?i.renderSlot(e.$slots,"customHeader",{key:0},void 0,!0):(i.openBlock(),i.createElementBlock("span",{key:1,title:y.caption,class:i.normalizeClass(["column-name",{"column-name--click":o.useGridSetting}]),onClick:[T=>o.onColumnContextMenu(T,y),t[1]||(t[1]=i.withModifiers((...T)=>e.columnMenu.show&&e.columnMenu.show(...T),["prevent"]))]},[i.createTextVNode(i.toDisplayString(y.caption)+" ",1),i.createElementVNode("span",{onClick:i.withModifiers(T=>o.onSort(y),["stop"])},[e.$slots.sortIcon?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[(E=e.$props.option)!=null&&E.useSort&&(y!=null&&y.sortable)?(i.openBlock(),i.createElementBlock("span",{key:0,class:"column-sort__icon column-sort__icon--basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,"sortIcon",{},void 0,!0)],4)):i.createCommentVNode("",!0),e.sortField===y.field?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass(o.sortIconClass(y)),style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,`sortIcon_${e.sortOrder}`,{},void 0,!0)],6)):i.createCommentVNode("",!0)],64)):(i.openBlock(),i.createElementBlock(i.Fragment,{key:1},[(I=e.$props.option)!=null&&I.useSort&&(y!=null&&y.sortable)?(i.openBlock(),i.createBlock(d,{key:0,class:"column-sort__icon column-sort__icon--basic",icon:"basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},null,8,["style"])):i.createCommentVNode("",!0),e.sortField===y.field?(i.openBlock(),i.createBlock(d,{key:1,class:i.normalizeClass(o.sortIconClass(y)),icon:e.sortOrder,style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,visibility:e.sortOrder?y.hidden:!0})},null,8,["class","icon","style"])):i.createCommentVNode("",!0)],64))],8,HS)],10,FS)),i.createElementVNode("span",{class:"column-resize",onMousedown:i.withModifiers(T=>o.onColumnResize(M,T),["stop","left"])},null,40,WS)],14,zS)):i.createCommentVNode("",!0)],64)}),128)),(b=e.$props.option.customContextMenu)!=null&&b.length?(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass({column:!0,"non-border":!!e.borderStyle}),style:i.normalizeStyle({width:"30px","min-width":"30px","margin-right":e.hasVerticalScrollBar||e.hasHorizontalScrollBar?`${e.scrollWidth}px`:"0px"})},null,6)):i.createCommentVNode("",!0)])],2),[[i.vShow,e.showHeader]]),i.createElementVNode("div",{ref:"body",class:i.normalizeClass(o.bodyStyle),onScroll:t[2]||(t[2]=(...y)=>o.onScroll&&o.onScroll(...y)),onContextmenu:[t[3]||(t[3]=y=>o.onContextMenu(y)),t[4]||(t[4]=i.withModifiers((...y)=>e.menu.show&&e.menu.show(...y),["prevent"]))]},[i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollTopHeight}px;`),class:"vscroll-spacer"},null,4),i.createElementVNode("table",$S,[i.createElementVNode("tbody",null,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.viewStore,(y,M)=>(i.openBlock(),i.createBlock(h,{key:M,"selected-data":e.selectedRow,"node-data":y,"use-checkbox":e.useCheckbox,"ordered-columns":e.orderedColumns,"expand-icon":n.option.expandIcon,"collapse-icon":n.option.collapseIcon,"parent-icon":n.option.parentIcon,"child-icon":n.option.childIcon,"custom-context-menu":e.customContextMenu,"menu-ref":e.menu,"is-resize":e.isResize,"row-height":e.rowHeight,"min-width":e.minWidth,"highlight-index":e.highlightIdx,"border-style":e.borderStyle,onCheckTreeData:o.onCheck,onExpandTreeData:o.handleExpand,onClickTreeData:o.onRowClick,onDblClickTreeData:o.onRowDblClick,onContextMenu:o.onContextMenu},i.createSlots({_:2},[i.renderList(e.orderedColumns,(E,I)=>({name:o.getSlotName(E.field),fn:i.withCtx(({item:T})=>[e.$slots[E.field]?i.renderSlot(e.$slots,E.field,{key:0,item:{data:T.data,fieldName:E.field}},void 0,!0):(i.openBlock(),i.createElementBlock("span",{key:1,title:o.getConvertValue(E,y[E.field])},i.toDisplayString(o.getConvertValue(E,y[E.field])),9,XS))])})),e.$slots.contextmenuIcon?{name:"contextmenuIconNode",fn:i.withCtx(()=>[i.renderSlot(e.$slots,"contextmenuIcon",{},void 0,!0)]),key:"0"}:void 0]),1032,["selected-data","node-data","use-checkbox","ordered-columns","expand-icon","collapse-icon","parent-icon","child-icon","custom-context-menu","menu-ref","is-resize","row-height","min-width","highlight-index","border-style","onCheckTreeData","onExpandTreeData","onClickTreeData","onDblClickTreeData","onContextMenu"]))),128)),e.viewStore.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("tr",US,[i.createElementVNode("td",YS,i.toDisplayString(o.emptyText),1)]))])],512),i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollBottomHeight}px;`),class:"vscroll-spacer"},null,4),i.createVNode(u,{ref:"menu","custom-class":e.contextMenuClass,items:e.contextMenuItems},null,8,["custom-class","items"]),i.createVNode(u,{ref:"columnMenu",items:e.columnMenuItems},null,8,["items"]),i.createVNode(u,{ref:"gridSettingMenu",items:e.gridSettingContextMenuItems,"is-show-menu-on-click":e.isShowMenuOnClick},null,8,["items","is-show-menu-on-click"])],34),i.withDirectives(i.createElementVNode("div",jS,null,512),[[i.vShow,e.showResizeLine]])],2)],4)),[[m,o.onResize],[x,{callback:o.onShow,once:!0}]]),o.useSummary?(i.openBlock(),i.createBlock(f,{key:1,"is-tree":!0,"ordered-columns":e.orderedColumns,stores:o.stores,"use-checkbox":e.useCheckbox.use,"style-option":{borderStyle:e.borderStyle,minWidth:e.minWidth,rowHeight:e.rowHeight},"scroll-left":o.summaryScroll},null,8,["ordered-columns","stores","use-checkbox","style-option","scroll-left"])):i.createCommentVNode("",!0),e.usePage&&!e.isInfinite?(i.openBlock(),i.createBlock(g,{key:2,modelValue:e.currentPage,"onUpdate:modelValue":t[5]||(t[5]=y=>e.currentPage=y),total:e.showTreeStore.length,"per-page":e.perPage,"visible-page":e.visiblePage,"show-page-info":e.showPageInfo,order:e.order},null,8,["modelValue","total","per-page","visible-page","show-page-info","order"])):i.createCommentVNode("",!0),i.createVNode(p,{"is-show":e.isShowColumnSetting,"onUpdate:isShow":t[6]||(t[6]=y=>e.isShowColumnSetting=y),"is-show-menu-on-click":e.isShowMenuOnClick,"onUpdate:isShowMenuOnClick":t[7]||(t[7]=y=>e.isShowMenuOnClick=y),columns:e.updatedColumns,"hidden-column":e.hiddenColumn,position:e.columnSettingPosition,"text-info":e.columnSettingTextInfo,onApplyColumn:o.onApplyColumn},null,8,["is-show","is-show-menu-on-click","columns","hidden-column","position","text-info","onApplyColumn"])],64)}const co=le(_S,[["render",GS],["__scopeId","data-v-9ed705b7"]]);co.install=e=>{e.component(co.name,co)};const ZS={name:"PageButton",props:{page:{type:Object,required:!0},disabled:{type:Boolean,default:!1}}},qS=["aria-current"];function KS(e,t,n,o,s,l){return i.openBlock(),i.createElementBlock("span",i.mergeProps({class:{"is-current":n.page.isCurrent,"is-disabled":n.disabled||n.page.disabled,[n.page.class]:!0}},e.$attrs,{"aria-current":n.page.isCurrent,onClick:t[0]||(t[0]=i.withModifiers((...a)=>n.page.click&&n.page.click(...a),["stop"]))}),[i.renderSlot(e.$slots,"default",{},()=>[i.createTextVNode(i.toDisplayString(n.page.number),1)])],16,qS)}const JS={name:"EvPagination",components:{EvIcon:hn,pageButton:le(ZS,[["render",KS]])},props:{total:{type:[Number,String],default:0},visiblePage:{type:[Number,String],default:8},perPage:{type:[Number,String],default:20},modelValue:{type:[Number,String],default:1},showPageInfo:{type:Boolean,default:!1},order:{type:String,default:"left",validator:e=>["left","right","center"].includes(e)},pagePerJump:{type:[Number,void 0],default:void 0}},emits:{"update:modelValue":null,change:null},setup(e,{emit:t}){const n=i.computed(()=>e.visiblePage>7?e.visiblePage:7),o=i.computed(()=>e.modelValue),s=i.computed(()=>e.total===0?1:Math.ceil(e.total/e.perPage)),l=i.computed(()=>o.value>1),a=i.computed(()=>o.value<s.value),r=i.computed(()=>Math.max(o.value-e.pagePerJump,1)),c=i.computed(()=>Math.min(o.value+e.pagePerJump,s.value)),d=i.computed(()=>{const m=o.value*e.perPage-e.perPage+1;return m>=0?m:0}),h=(m,x)=>{o.value===m||m<1||m>s.value||(t("update:modelValue",m),t("change",m),x&&x.target&&i.nextTick(()=>x.target.focus()))},u=(m,x={})=>({number:m,isCurrent:x.isCurrent??o.value===m,click:b=>h(m,b),input:(b,y)=>h(+y,b),disabled:x.disabled||!1,class:x.class||""}),f=(m,x)=>{const b=[],y=m>0?m:1;for(let M=y;M<=x;M++)b.push(u(M));return b},g=i.computed(()=>{const m=parseInt(n.value,10);if(m===0)return[];const x=Math.min(Math.max(0,m)||s.value,s.value);if(s.value<=x)return f(1,s.value);const b=x%2===0?1:0,y=Math.floor(x/2),M=s.value-y+1+b;if(o.value>y&&o.value<M){const I=s.value,T=o.value-y+2,V=o.value+y-2-b,C=T-1===2?2:-1,S=V+1===I-1?V+1:-1;return[u(1),u(C),...f(T,V),u(S),u(s.value)]}else if(o.value===y){const E=o.value+y-1-b;return[...f(1,E),u(-1),u(s.value)]}else if(o.value===M){const E=o.value-y+1;return[u(1),u(-1),...f(E,s.value)]}return[...f(1,y),u(-1),...f(M,s.value)]}),p=i.computed(()=>({"justify-content":e.order,flex:"3 1 0%"}));return i.watch(()=>s.value,m=>{o.value>m&&h(m)}),i.watch(()=>o.value,(m,x)=>{s.value<m&&h(x)}),{pageCount:s,pagesInRange:g,hasPrev:l,hasNext:a,listClasses:p,firstData:d,current:o,changePage:h,getPage:u,prevJumpPage:r,nextJumpPage:c}}},QS={class:"pagination"},ew={key:0,class:"pagination-info"},tw={key:0,class:"pagination-ellipsis"},nw=["onClick"];function ow(e,t,n,o,s,l){const a=i.resolveComponent("ev-icon"),r=i.resolveComponent("page-button");return i.openBlock(),i.createElementBlock("nav",QS,[n.showPageInfo?(i.openBlock(),i.createElementBlock("small",ew,[n.perPage===1?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[i.createTextVNode(i.toDisplayString(o.firstData)+" / "+i.toDisplayString(n.total),1)],64)):(i.openBlock(),i.createElementBlock(i.Fragment,{key:1},[i.createTextVNode(i.toDisplayString(o.firstData)+" - "+i.toDisplayString(Math.min(o.current*n.perPage,n.total))+" / "+i.toDisplayString(n.total),1)],64))])):i.createCommentVNode("",!0),i.createElementVNode("ul",{class:"pagination-list",style:i.normalizeStyle(o.listClasses)},[e.$props.pagePerJump?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass(["step-button",{"is-disabled":!o.hasPrev}])},[i.createVNode(r,{class:"pagination-previous",disabled:!o.hasPrev,page:o.getPage(o.prevJumpPage,{isCurrent:!1})},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-double-left"})]),_:1},8,["disabled","page"])],2)):i.createCommentVNode("",!0),i.createElementVNode("li",{class:i.normalizeClass(["step-button",{"is-disabled":!o.hasPrev}])},[i.createVNode(r,{class:"pagination-previous",disabled:!o.hasPrev,page:o.getPage(o.current-1)},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-arrow-left"})]),_:1},8,["disabled","page"])],2),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(o.pagesInRange,(c,d)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:d},[c.number===-1?(i.openBlock(),i.createElementBlock("li",tw,[...t[0]||(t[0]=[i.createElementVNode("span",null,"…",-1)])])):(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass({"is-current":c.isCurrent,"is-page":!0}),onClick:c.click},[i.createVNode(r,{page:c},null,8,["page"])],10,nw))],64))),128)),i.createElementVNode("li",{class:i.normalizeClass(["step-button",{"is-disabled":!o.hasNext}])},[i.createVNode(r,{class:"pagination-next",disabled:!o.hasNext,page:o.getPage(o.current+1)},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-arrow-right"})]),_:1},8,["disabled","page"])],2),e.$props.pagePerJump?(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass(["step-button",{"is-disabled":!o.hasNext}])},[i.createVNode(r,{class:"pagination-previous",disabled:!o.hasNext,page:o.getPage(o.nextJumpPage,{isCurrent:!1})},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-double-right"})]),_:1},8,["disabled","page"])],2)):i.createCommentVNode("",!0)],4)])}const ho=le(JS,[["render",ow]]);ho.install=e=>{e.component(ho.name,ho)};const iw="3.6.2",sw=[kn,Mn,sn,In,ln,an,En,vn,Bn,Dn,Ln,Nn,Wn,hn,Un,Yn,jn,Gn,Zn,qn,Kn,Jn,Qn,eo,no,lo,ao,ro,ei,ni,oi,co,ho],lw={version:iw,install:e=>{e&&sw.forEach(t=>{e.use(t)})}};se.EvButton=sn,se.EvButtonGroup=In,se.EvCalendar=Un,se.EvChart=lo,se.EvChartBrush=ro,se.EvChartGroup=ao,se.EvCheckbox=ln,se.EvCheckboxGroup=an,se.EvContextMenu=Gn,se.EvDatePicker=Yn,se.EvGrid=no,se.EvIcon=hn,se.EvInputNumber=Nn,se.EvLoading=qn,se.EvMenu=Jn,se.EvMessage=ei,se.EvMessageBox=oi,se.EvNotification=ni,se.EvPagination=ho,se.EvProgress=Kn,se.EvRadio=En,se.EvRadioGroup=vn,se.EvScheduler=jn,se.EvSelect=Bn,se.EvSlider=Wn,se.EvTabPanel=Mn,se.EvTabs=kn,se.EvTextField=Ln,se.EvTimePicker=eo,se.EvToggle=Dn,se.EvTree=Qn,se.EvTreeGrid=co,se.EvWindow=Zn,se.default=lw,Object.defineProperties(se,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
17
|
+
15.998 11.998C15.998 11.1696 16.6696 10.498 17.498 10.498Z`,fill:"#ADB5BD"},null,-1)])])}const Ns=le(M0,[["render",E0]]),Mt=0,mn=1,de=2,to=3,Vs=4,v0=()=>{const{props:e}=i.getCurrentInstance();return{isRenderer:(a={})=>{var r;return!!((r=a==null?void 0:a.render)!=null&&r.use)},getComponentName:(a="")=>{const r=h=>h.charAt(0).toUpperCase()+h.slice(1),c="Renderer";let d="";if(a.indexOf("_")!==-1){const h=a.split("_");for(let u=0;u<h.length;u++)d+=r(h[u])}else d=r(a);return d+c},getConvertValue:(a,r)=>{let c=a.type==="number"||a.type==="float"?Number(r):r;return a.type==="number"?(c=$t(r),c=c===!1?r:c):a.type==="float"&&(c=c.toFixed(a.decimal??3).replace(/\B(?=(\d{3})+(?!\d))/g,",")),c},getColumnIndex:a=>e.columns.findIndex(r=>r.field===a),setPixelUnit:a=>{let r=a;const c=r.toString().indexOf("px")>=0,d=r.toString().indexOf("%")>=0;return!c&&!d&&(r=`${r}px`),r}}},li=e=>{var o;const t=((o=e.movedColumns)!=null&&o.length?e.movedColumns:e.originColumns)??[],n=new Map((e.filteredColumns??[]).map(s=>[s.index,s]));return t.map(s=>{const l=n.get(s.index)??{};return{...s,...l}})},T0=e=>{const{scrollInfo:t,stores:n,elementInfo:o,resizeInfo:s,pageInfo:l,summaryScroll:a,getPagingData:r,updatePagingInfo:c,expandedInfo:d}=e,h=p=>{var y,M;const m=o.body,x=s.rowHeight,b=d.detailRowHeight??0;if(m){let E=n.store;l.isClientPaging&&(E=r());const I=((y=d.expandedRows)==null?void 0:y.length)??0,T=((M=d.expandedRows)==null?void 0:M.map(v=>E.findIndex(N=>N[de]===v)))??[],V=E.length*x+I*b;let C=0,S=0;if(I)for(C=0;S+x<m.scrollTop;C++)T.includes(C)&&(S+=b),S+=x;else C=Math.floor(m.scrollTop/x),S=Math.max(C,0)*x;C>E.length-1&&(C=0);let k=0,w=0;if(I)for(let v=C;w<=m.clientHeight;v++)T.includes(v)&&(w+=b),w+=x,k+=1;else k=m.clientHeight>x?Math.ceil(m.clientHeight/x):E.length,w=k*x;const B=C+k+1,D=Math.max(C,0),L=B,R=o.table;n.viewStore=E.slice(D,L),t.hasVerticalScrollBar=k<E.length||m.clientHeight<R.clientHeight,t.vScrollTopHeight=S,t.vScrollBottomHeight=V-w-t.vScrollTopHeight,p&&l.isInfinite&&t.vScrollBottomHeight===0&&(l.prevPage=l.currentPage,l.currentPage=Math.ceil(L/l.perPage)+1,l.startIndex=L,c({onScrollEnd:!0}))}},u=p=>{if(d.useRowDetail&&!d.detailRowHeight){let m=n.store;l.isClientPaging&&(m=r()),n.viewStore=[...m],t.vScrollTopHeight=0,t.vScrollBottomHeight=0}else h(p)},f=()=>{const p=o.header,m=o.body,x=o.table;p.scrollLeft=m.scrollLeft,a.value=m.scrollLeft,t.hasHorizontalScrollBar=m.clientWidth<x.clientWidth};return{updateVScroll:u,updateHScroll:f,onScroll:()=>{const p=o.body,m=p.scrollTop,x=p.scrollLeft,b=t.lastScroll.top,y=t.lastScroll.left,M=x!==y;m!==b&&(p!=null&&p.clientHeight)&&u(!0),M&&f(),t.lastScroll.top=m,t.lastScroll.left=x}}},B0=e=>{const{props:t,emit:n}=i.getCurrentInstance(),{resizeInfo:o,elementInfo:s,checkInfo:l,expandedInfo:a,stores:r,isRenderer:c,updateVScroll:d,updateHScroll:h,contextInfo:u}=e,f=()=>{var y;let x=o.columnWidth,b=0;if(o.adjust){const M=s.body;let E=M.offsetWidth;const I=M.offsetHeight,T=((y=M.querySelector("tr"))==null?void 0:y.offsetHeight)||o.rowHeight,V=E-M.clientWidth,C=r.orderedColumns.reduce((S,k)=>(k.hide||k.hiddenDisplay||(k.width?S.totalWidth+=k.width:S.emptyCount++),S),{totalWidth:u.customContextMenu.length?30:0,emptyCount:0});if(T*t.rows.length>I&&(E-=V),l.useCheckbox.use&&(E-=o.minWidth),a.useRowDetail&&(E-=o.minWidth),x=E-C.totalWidth,x>0){const S=C.emptyCount===0?0:Math.floor(x/C.emptyCount);b=x-S*C.emptyCount,x=C.emptyCount!==0?S:x}else x=o.columnWidth;x=x<o.minWidth?o.minWidth:x,o.columnWidth=x}if(r.orderedColumns.forEach(M=>{const E=c(M)?o.rendererMinWidth:o.minWidth;M.width&&M.width<E&&(M.width=E),!M.width&&!M.hide&&(M.width=x)}),b&&r.orderedColumns.length){let M=r.orderedColumns.length-1,E=r.orderedColumns[M];for(;M>0&&E&&(E.hide||E.hiddenDisplay);)M-=1,E=r.orderedColumns[M];E&&(E.width+=b)}},g=()=>{const x=new Map(t.columns.map(b=>[b.field,b.width]));i.nextTick(()=>{var b,y;o.adjust&&r.orderedColumns.forEach(M=>{const E=M;return E.resized||(E.width=x.get(E.field)??0),E},void 0),f(),(b=s.body)!=null&&b.clientHeight&&d(),(y=s.body)!=null&&y.clientWidth&&h()})};return{calculatedColumn:f,onResize:g,onShow:x=>{x&&g()},onColumnResize:(x,b)=>{b.preventDefault();const y=s.header,M=s.body,E=y.getBoundingClientRect().left,I=y.querySelector(`li[data-index="${x}"]`),T=c(r.orderedColumns[x])?o.rendererMinWidth:o.minWidth,V=I.getBoundingClientRect(),C=s.resizeLine,S=V.left-E+T,k=V.right-E,w=b.clientX,B=V.left-E;M.style.overflow="auto",C.style.left=`${k}px`,o.showResizeLine=!0;const D=R=>{const v=R.clientX-w,N=k+v,O=Math.max(S,N);C.style.left=`${O}px`},L=()=>{const v=parseInt(C.style.left,10)-B;r.orderedColumns[x]&&(r.orderedColumns[x].width=v,r.orderedColumns[x].resized=!0),o.showResizeLine=!1,document.removeEventListener("mousemove",D),g();const N=li(r);n("resize-column",{column:r.orderedColumns[x],columns:N}),n("change-column-info",{type:"resize",columns:N})};document.addEventListener("mousemove",D),document.addEventListener("mouseup",L,{once:!0})}}},D0=e=>{const{emit:t}=i.getCurrentInstance(),{selectInfo:n,stores:o}=e,s=(d,h)=>{var g;const u=(g=d.target.tagName)==null?void 0:g.toLowerCase();let f={};return u==="td"?f=d.target.dataset:f=d.target.parentNode.dataset,{event:d,rowData:h[de],rowIndex:h[Mt],cellName:f.name,cellIndex:f.index}};let l=null,a=-1;return{onRowClick:(d,h,u)=>{var p,m,x;if((p=d.target.parentElement.classList)!=null&&p.contains("row-checkbox-input"))return!1;const f=!!((x=(m=d.target.closest("td"))==null?void 0:m.classList)!=null&&x.contains("row-contextmenu")),g=(b,y,M)=>{if(b==="shift"){const E=h[Mt];if(a>-1)for(let I=Math.min(E,a);I<=Math.max(E,a);I++)if(!y)o.originStore[I][to]=!0,a!==I&&n.selectedRow.push(o.originStore[I][de]);else{o.originStore[I][to]=!1;const T=n.selectedRow.indexOf(o.originStore[I][de]);T>-1&&n.selectedRow.splice(T,1)}}else b==="ctrl"&&(y?n.selectedRow.splice(n.selectedRow.indexOf(h[de]),1):n.selectedRow.push(M))};return l&&clearTimeout(l),l=setTimeout(()=>{if(n.useSelect){const b=h[de],y=h[to];h[to]=!h[to];let M="";d.shiftKey?M="shift":d.ctrlKey&&(M="ctrl"),n.multiple&&M?g(M,y,b):u||f?(n.selectedRow=[...n.selectedRow],n.selectedRow.includes(b)||(n.selectedRow=[b])):y?n.selectedRow=[]:n.selectedRow=[b],a=h[Mt],t("update:selected",n.selectedRow),t("click-row",s(d,h))}},100),!0},onRowDblClick:(d,h)=>{l&&clearTimeout(l),t("dblclick-row",s(d,h))}}},L0=e=>{const{checkInfo:t,stores:n,pageInfo:o,getPagingData:s}=e,{props:l,emit:a}=i.getCurrentInstance(),r=h=>{const u=n.originStore.findIndex(f=>f[de]===h[de]);u!==-1&&(n.originStore[u][mn]=h[mn])};return{onCheck:(h,u)=>{if(t.useCheckbox.mode==="single"&&t.prevCheckedRow.length&&(t.prevCheckedRow=[],r(t.prevCheckedRow)),u[mn]){t.useCheckbox.mode==="single"?t.checkedRows=[u[de]]:t.checkedRows.push(u[de]);let f=n.store;o.isClientPaging&&(f=s());const g=f.filter(p=>!l.uncheckable.includes(p[de])).filter(p=>!l.disabledRows.includes(p[de])).every(p=>p[mn]);f.length&&g&&(t.isHeaderChecked=!0),t.isHeaderIndeterminate=f.length&&!g}else t.useCheckbox.mode==="single"?t.checkedRows=[]:t.checkedRows.splice(t.checkedRows.indexOf(u[de]),1),t.isHeaderChecked=!1,t.isHeaderIndeterminate=!!(n.store.length&&t.checkedRows.length);t.prevCheckedRow=u.slice(),a("update:checked",t.checkedRows),a("check-row",h,u[Mt],u[de])},onCheckAll:h=>{const u=t.isHeaderChecked;let f=n.store;o.isClientPaging&&(f=s()),f.forEach(g=>{const p=l.uncheckable.includes(g[de])||l.disabledRows.includes(g[de]);u?!t.checkedRows.includes(g[de])&&!p&&t.checkedRows.push(g[de]):t.checkedRows.splice(t.checkedRows.indexOf(g[de]),1),p||(g[mn]=u)}),t.isHeaderIndeterminate=!1,a("update:checked",t.checkedRows),a("check-all",h,t.checkedRows)}}},R0=e=>{const{expandedInfo:t}=e,{emit:n}=i.getCurrentInstance();return{onExpanded:(s,l)=>{const a=l[de],r=t.expandedRows.indexOf(a);r===-1?t.expandedRows.push(a):t.expandedRows.splice(r,1),l[Vs]=!l[Vs],n("update:expanded",t.expandedRows),n("expand-row",s,l[de],l[Vs],l[Mt])}}},O0=e=>{const{sortInfo:t,stores:n,updatePagingInfo:o}=e,{emit:s}=i.getCurrentInstance(),l=(m=!0)=>m?["asc","desc","init"]:["asc","desc"];function a(){this.orders=l(),this.dequeue=()=>this.orders.shift(),this.enqueue=m=>this.orders.push(m)}const r=(m,x="init")=>{n.orderedColumns.forEach(b=>{b.index===(m==null?void 0:m.index)&&x?b.sortOption={sortType:x}:b.sortOption={sortType:"init"}})},c=()=>{const m=n.originColumns.filter(x=>x.hiddenDisplay||x.hide);m.length&&m.forEach(x=>{x.sortOption={sortType:"init"}})},d=new a,h=(m,x=!0)=>{const{sortType:b}=(m==null?void 0:m.sortOption)||{};t.sortColumn=m,t.sortField=m==null?void 0:m.field,t.sortOrder=b,t.isSorting=!!b,x&&(r(m,b),s("change-column-info",{type:"sort",columns:li(n)}))},u=(m,x)=>{if(m.sortable===void 0?!0:m.sortable){t.sortColumn=m,t.sortField!==(m==null?void 0:m.field)&&(d.orders=l(),t.sortField=m==null?void 0:m.field),x&&(d.orders=l(),x==="desc"&&(t.sortOrder=d.dequeue(),d.enqueue(t.sortOrder))),t.sortOrder=d.dequeue(),d.enqueue(t.sortOrder),t.isSorting=!0,o({onSort:!0}),c(),r(m,t.sortOrder);const y=li(n);s("sort-column",{field:t.sortField,order:t.sortOrder,column:t.sortColumn,columns:y}),s("change-column-info",{type:"sort",columns:y})}},f=()=>{var k;const{field:m,index:x}=t.sortColumn||{},b=((k=t.sortFunction)==null?void 0:k[m])??null,y=(w,B)=>w>B?-1:1,M=(w,B)=>w<B?-1:1,E=(w,B)=>(w===null)-(B===null)||Number(B)-Number(w),I=(w,B)=>(w===null)-(B===null)||Number(w)-Number(B);if(t.sortOrder==="init"||!t.sortField&&!t.isSorting){n.store.sort((w,B)=>typeof w[Mt]=="number"?M(w[Mt],B[Mt]):0);return}const T=t.sortColumn.type||"string",V=t.sortOrder==="desc"?y:M,C=t.sortOrder==="desc"?E:I,S=(w,B)=>{var R,v;let D=w[de][x],L=B[de][x];return w[de][x]&&typeof w[de][x]=="object"&&(D=w[de][x][(R=n.originColumns[x])==null?void 0:R.field],L=B[de][x][(v=n.originColumns[x])==null?void 0:v.field]),{aCol:D,bCol:L}};if(b){n.store.sort((w,B)=>{const D=w[de][x],L=B[de][x],R=b(D,L);return t.sortOrder==="desc"?-R:R});return}switch(T){case"string":n.store.sort((w,B)=>{let{aCol:D,bCol:L}=S(w,B);if((!D||typeof D=="string")&&(!L||typeof L=="string")){D=D||"",L=L||"";const R=D.toLowerCase(),v=L.toLowerCase();if(D!==L&&R===v){const N=Array.from(D).findIndex((O,P)=>O!==L[P]);return V(D[N],L[N])}return V(R,v)}return 0});break;case"stringNumber":n.store.sort((w,B)=>{let{aCol:D,bCol:L}=S(w,B);return!D||typeof D=="string"||typeof D=="number"?(D=D===""?null:D,L=L===""?null:L,C(D??null,L??null)):0});break;default:n.store.sort((w,B)=>{const{aCol:D,bCol:L}=S(w,B);return!D||typeof D=="number"||typeof D=="boolean"?C(D??null,L??null):0});break}},g=()=>{var m;return(m=n.orderedColumns)==null?void 0:m.find(x=>(x==null?void 0:x.sortOption)&&l(!1).includes(x.sortOption.sortType))};return{onSort:u,getSortTarget:g,setSort:f,setSortInfo:h,hasSortTarget:()=>!!g()}},N0=e=>{const{props:t}=i.getCurrentInstance(),{columnSettingInfo:n,filterInfo:o,stores:s,checkInfo:l,pageInfo:a,getConvertValue:r,updateVScroll:c,getPagingData:d,updatePagingInfo:h,getColumnIndex:u}=e,f=I=>{let T=0;I.forEach(V=>{const C=l.checkedRows.includes(V[de]);V[mn]=C,T+=C?1:0}),I.length&&(l.isHeaderChecked=I.length===T,l.isHeaderIndeterminate=I.length!==T&&T>0,l.isHeaderUncheckable=I.every(V=>t.uncheckable.includes(V[de])||t.disabledRows.includes(V[de])))},g=(I,T,V)=>{if(typeof I!="string"||T===null)return!1;const C=T==null?void 0:T.toLowerCase(),S=I==null?void 0:I.toLowerCase();let k=C.includes(S);return V&&(V==="start"?k=C.startsWith(S):V==="end"&&(k=C.endsWith(S))),k},p=(I,T)=>{const V=T.comparison,C=T.value;let S=I[de][T.index];(S||S===0)&&(S=`${I[de][T.index]}`);let k;return V==="="?k=(C==null?void 0:C.toLowerCase())===(S==null?void 0:S.toLowerCase()):V==="!="?k=(C==null?void 0:C.toLowerCase())!==(S==null?void 0:S.toLowerCase()):V==="%s%"?k=g(C,S):V==="notLike"?k=!g(C,S):V==="s%"?k=g(C,S,"start"):V==="%s"?k=g(C,S,"end"):V==="isEmpty"?k=S==null||S==="":V==="isNotEmpty"&&(k=!!S),k},m=(I,T,V)=>{const C=T.comparison,S=Number(T.value.replace(/,/g,""));let k=Number(I[de][T.index]),w;return V==="float"&&(k=Number(k.toFixed(3))),C==="="?w=k===S:C===">"?w=k>S:C==="<"?w=k<S:C==="<="?w=k<=S:C===">="?w=k>=S:C==="!="?w=k!==S:C==="isEmpty"?w=k==null||isNaN(k):C==="isNotEmpty"&&(w=!!k||k===0),w},x=(I,T)=>{const V=T.comparison,C=T.value,S=`${I[de][T.index]}`;let k;return V==="="&&(k=S===C),k},b=(I,T,V)=>{let C=T==="string"||T==="stringNumber"?p:m;return T==="boolean"&&(C=x),I.filter(S=>C(S,V,T))||[]},y=()=>{const I=o.filteringItemsByColumn,T=Object.keys(I),V=s.originStore;let C=[],S=!1,k=[];T.forEach((w,B)=>{const D=I[w],L=u(w),R=t.columns[L].type,v=o.columnOperator==="or",N=B>0&&o.columnOperator==="and";D.forEach((O,P)=>{!C.length&&!S?C=b(V,R,{...O,index:L}):N&&O.operator==="or"?P>0?C.push(...b(k,R,{...O,index:L})):C=b(k,R,{...O,index:L}):P===0&&v||P!==0&&O.operator==="or"?C.push(...b(V,R,{...O,index:L})):C=b(C,R,{...O,index:L}),S=!0}),k=JSON.parse(JSON.stringify(C))}),S?s.filterStore=Up(C,JSON.stringify):s.filterStore=V};let M=null;return{onSearch:I=>{M&&clearTimeout(M),M=setTimeout(()=>{o.isSearch=!1,o.searchWord=I,I&&(s.searchStore=s.store.filter(T=>{let V=!1;const C=n.isFilteringColumn?T[de].filter((S,k)=>n.visibleColumnIdx.includes(k)):T[de];for(let S=0;S<s.orderedColumns.length;S++){const k=s.orderedColumns[S]||{};let w=C[k.index]??null;if(k.type=k.type||"string",w!==null&&(w instanceof Array?w=JSON.stringify(w):typeof w=="object"&&(w=w[k.field]),!k.hide&&((k==null?void 0:k.searchable)===void 0||k!=null&&k.searchable)&&(w=r(k,w).toString(),V=w.toLowerCase().includes(I.toString().toLowerCase()),V)))break}return V}),o.isSearch=!0),f(s.store),!I&&a.isClientPaging&&a.prevPage&&(a.currentPage=1,s.pagingStore=d()),h({onSearch:!0}),c()},500)},setFilter:y,setHeaderCheckboxByFilter:f}},V0=e=>{const{contextInfo:t,stores:n,selectInfo:o,onSort:s,filterInfo:l,useGridSetting:a,columnSettingInfo:r,setColumnHidden:c}=e;let d=null;const{emit:h}=i.getCurrentInstance(),u=m=>{d&&clearTimeout(d);const x=[];d=setTimeout(()=>{if(t.customContextMenu.length){const b=t.customContextMenu.map(y=>{const M=y;return M.validate&&(M.disabled=!M.validate(M.itemId,o.selectedRow)),M.selectedRow=o.selectedRow??[],M.contextmenuInfo=o.contextmenuInfo??[],M});x.push(...b)}t.contextMenuItems=x,t.menu.show(m)},200)};return{setContextMenu:u,onContextMenu:m=>{var M,E,I;m.preventDefault();const b=(E=(M=m.target.closest(".row"))==null?void 0:M.dataset)==null?void 0:E.index;let y=null;b&&(y=(I=n.viewStore.find(T=>T[Mt]===+b))==null?void 0:I[de]),y&&(o.contextmenuInfo=[y],u(m))},onColumnContextMenu:(m,x)=>{var b,y,M,E,I,T,V,C;if(m.target.className==="column-name"){const S=x.sortable===void 0?!0:x.sortable,k=l.isFiltering&&x.filterable===void 0?!0:x.filterable,w=[{text:((b=t.columnMenuTextInfo)==null?void 0:b.ascending)??"Ascending",iconClass:"ev-icon-allow2-up",disabled:!S,hidden:(y=t.hiddenColumnMenuItem)==null?void 0:y.ascending,click:()=>s(x,"asc")},{text:((M=t.columnMenuTextInfo)==null?void 0:M.descending)??"Descending",iconClass:"ev-icon-allow2-down",disabled:!S,hidden:(E=t.hiddenColumnMenuItem)==null?void 0:E.descending,click:()=>s(x,"desc")},{text:((I=t.columnMenuTextInfo)==null?void 0:I.filter)??"Filter",iconClass:"ev-icon-filter-list",click:()=>{const B=document.documentElement.clientWidth,D=t.columnMenu.menuStyle.clientX,L=t.columnMenu.menuStyle.pageX,R=350;B<D+R&&(t.columnMenu.menuStyle.left=`${L-R}px`),l.filterSettingPosition={top:t.columnMenu.menuStyle.top,left:t.columnMenu.menuStyle.left},l.isShowFilterSetting=!0,l.filteringColumn=x,h("change-column-info",{type:"filter",columns:n.updatedColumns})},disabled:!k,hidden:((T=t.hiddenColumnMenuItem)==null?void 0:T.filter)||!l.isFiltering},{text:((V=t.columnMenuTextInfo)==null?void 0:V.hide)??"Hide",iconClass:"ev-icon-visibility-off",disabled:!a.value||n.orderedColumns.length===1||x.fixed,hidden:((C=t.hiddenColumnMenuItem)==null?void 0:C.hide)||!a.value,click:()=>{c(x.field),h("change-column-status",{columns:n.updatedColumns}),h("change-column-info",{type:"display",columns:n.updatedColumns})}}];if(t.columnMenuItems=[],!S&&!k&&!a.value)return;t.columnMenuItems=w.filter(B=>!B.hidden)}},onGridSettingContextMenu:m=>{const{useDefaultColumnSetting:x,columnSettingTextInfo:b}=r,y={text:(b==null?void 0:b.title)??"Column List",isShowMenu:!0,click:()=>{r.isShowColumnSetting=!0,t.isShowMenuOnClick=!0}};t.customGridSettingContextMenu.length&&(t.gridSettingContextMenuItems=[...t.customGridSettingContextMenu]),x&&t.gridSettingContextMenuItems.push(y),t.gridSettingMenu.show(m)}}},P0=e=>{const{props:t}=i.getCurrentInstance(),{selectInfo:n,checkInfo:o,stores:s,sortInfo:l,elementInfo:a,filterInfo:r,expandedInfo:c,setSort:d,setSortInfo:h,updateVScroll:u,setFilter:f}=e;return{setStore:({rows:p,isMakeIndex:m=!0,isInit:x=!1})=>{var y,M,E;const b=s.orderedColumns.find(I=>(I==null?void 0:I.sortOption)&&["asc","desc"].includes(I.sortOption.sortType));if(m){const I=[];let T=!1;p.forEach((V,C)=>{const S=t.checked.includes(V),k=t.uncheckable.includes(V)||t.disabledRows.includes(V);let w=!1;n.useSelect&&(w=t.selected.includes(V)),!S&&!k&&(T=!0);let B=!1;c.useRowDetail&&(B=t.expanded.includes(V));const D=t.disabledRows.includes(V);I.push([C,S,V,w,B,k,D])}),p.length!==t.checked.length&&(p.length===((y=t.uncheckable)==null?void 0:y.length)||p.length===((M=t.disabledRows)==null?void 0:M.length))&&(T=!0),o.isHeaderChecked=p.length>0?!T:!1,o.isHeaderIndeterminate=T&&!!o.checkedRows.length,o.isHeaderUncheckable=p.every(V=>t.uncheckable.includes(V)||t.disabledRows.includes(V)),s.originStore=I}r.isFiltering&&f(),b&&x&&h(b,!1),l.sortField&&d(),(E=a.body)!=null&&E.clientHeight&&u()}}},_0=e=>{const{emit:t}=i.getCurrentInstance(),{stores:n,pageInfo:o,sortInfo:s,filterInfo:l,elementInfo:a,clearCheckInfo:r}=e,c=()=>{const u=(o.currentPage-1)*o.perPage,f=parseInt(u,10)+parseInt(o.perPage,10);return n.store.slice(u,f)},d=u=>{t("page-change",{eventName:u,pageInfo:{currentPage:o.currentPage,prevPage:o.prevPage,startIndex:o.startIndex,total:o.pageTotal,perPage:o.perPage},sortInfo:{field:s.sortField,order:s.sortOrder},searchInfo:{searchWord:l.searchWord,searchColumns:n.orderedColumns.filter(f=>!f.hide&&((f==null?void 0:f.searchable)===void 0||(f==null?void 0:f.searchable))).map(f=>f.field)}}),o.isInfinite&&(u!=null&&u.onSearch||u!=null&&u.onSort)&&(o.currentPage=1,a.body.scrollTop=0,r())};return{getPagingData:c,updatePagingInfo:d,changePage:u=>{if(o.isClientPaging)if(o.prevPage=u,n.store.length<=o.perPage)n.pagingStore=n.store;else{const f=(o.currentPage-1)*o.perPage,g=parseInt(f,10)+parseInt(o.perPage,10);n.pagingStore=n.store.slice(f,g),a.body.scrollTop=0,o.startIndex=f}d({onChangePage:!0})}}},kr=e=>{const{props:t,emit:n}=i.getCurrentInstance(),{stores:o,columnSettingInfo:s,contextInfo:l,onSearch:a,onResize:r}=e,c=m=>{var x,b,y;if(s.isShowColumnSetting)if(s.columnSettingPosition.columnListMenuWidth=0,l.gridSettingContextMenuItems.length){const M=l.gridSettingContextMenuItems.length-1,E=(y=(b=(x=l.gridSettingMenu)==null?void 0:x.rootMenuList)==null?void 0:b.$el)==null?void 0:y.children[0].children[M].getBoundingClientRect();s.columnSettingPosition.columnListMenuWidth=E.width,s.columnSettingPosition.top=E.top,s.columnSettingPosition.left=E.right}else{const M=m==null?void 0:m.getBoundingClientRect(),E=M==null?void 0:M.height;s.columnSettingPosition.top=(M==null?void 0:M.top)+E,s.columnSettingPosition.left=M==null?void 0:M.right}},d=()=>{o.filteredColumns.length=0,s.isFilteringColumn=!1,s.visibleColumnIdx=[],s.hiddenColumn=""},h=()=>Array.isArray(o.movedColumns)&&o.movedColumns.length?o.movedColumns:o.originColumns||[],u=(m,x)=>{var y;if(!m)return;m.hiddenDisplay=x;const b=(y=o.originColumns)==null?void 0:y.find(M=>M.index===m.index);if(b&&b!==m&&(b.hiddenDisplay=x),Array.isArray(o.movedColumns)){const M=o.movedColumns.find(E=>E.index===m.index);M&&M!==m&&(M.hiddenDisplay=x)}},f=()=>{s.visibleColumnIdx=o.filteredColumns.map(b=>b.index);const m=o.originColumns.filter(b=>!b.hide||b.hiddenDisplay).map(b=>b.index),x=s.visibleColumnIdx;s.isFilteringColumn=x.length!==m.length,t.option.searchValue&&a(t.option.searchValue),r()};return{setPositionColumnSetting:c,initColumnSettingInfo:d,onApplyColumn:m=>{const x=o.orderedColumns.filter(E=>!E.hide&&!E.hiddenDisplay);if(m.length===x.length&&x.every(E=>m.includes(E.field)))return;const y=h(),M=new Set(m);o.filteredColumns=y.filter(E=>{const I=M.has(E.field)||!E.caption;return u(E,!I),I}),s.hiddenColumn="",f(),n("change-column-status",{columns:o.updatedColumns}),n("change-column-info",{type:"display",columns:o.updatedColumns})},setColumnHidden:m=>{const x=o.orderedColumns.filter(y=>!y.hide&&!y.hiddenDisplay);if(x.length===1)return;o.filteredColumns=x.filter(y=>{const M=y.field===m;return u(y,M),!M}),h().forEach(y=>{y.field===m&&u(y,!0)}),s.hiddenColumn=m,f()}}},A0=({stores:e})=>{const{emit:t}=i.getCurrentInstance(),n=r=>{var u;const c=(u=e.movedColumns)!=null&&u.length?[...e.movedColumns]:[...e.originColumns],d=[...r],h=new Set(d.map(f=>f.index));e.movedColumns=c.map(f=>h.has(f.index)?d.shift():f)},o=(r,c)=>{const d=parseInt(r,10),h=parseInt(c,10);if(!Number.isInteger(d)||!Number.isInteger(h))return;const u=[...e.orderedColumns],f=u[d];u.splice(d,1),u.splice(h,0,f),e.filteredColumns.length&&(e.filteredColumns=u),n(u)};return{onDragStart:r=>{r.dataTransfer.setData("text/plain",r.currentTarget.dataset.index)},onDragOver:r=>{r.preventDefault()},onDrop:r=>{r.preventDefault();const c=r.dataTransfer.getData("text/plain"),d=r.target.parentNode.dataset.index;o(c,d),t("change-column-order",{column:e.orderedColumns[d],columns:e.updatedColumns}),t("change-column-info",{type:"order",columns:e.updatedColumns})}}},z0={name:"EvGrid",directives:{clickoutside:Oo,observeVisibility:Yi,resize:wn},components:{Toolbar:Yb,GridPagination:gr,GridSummary:Cr,ColumnSetting:Sr,FilterSetting:x0,GridSortButton:wr,GridOptionButton:Ns},props:{columns:{type:[Array],default:()=>[]},rows:{type:[Array],default:()=>[]},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:"100%"},selected:{type:[Array],default:()=>[]},checked:{type:[Array],default:()=>[]},uncheckable:{type:[Array],default:()=>[]},expanded:{type:[Array],default:()=>[]},disabledRows:{type:[Array],default:()=>[]},option:{type:Object,default:()=>({})}},emits:{"update:selected":null,"update:checked":null,"update:expanded":null,"check-row":null,"check-all":null,"click-row":null,"dblclick-row":null,"page-change":null,"sort-column":null,"expand-row":null,"resize-column":({column:e,columns:t})=>({column:e,columns:t}),"change-column-order":({column:e,columns:t})=>({column:e,columns:t}),"change-column-status":({columns:e})=>({columns:e}),"change-column-info":({type:e,columns:t})=>({type:e,columns:t})},setup(e){var Ar,zr,Fr,Hr,Wr,$r,Xr,Ur,Yr;const{isRenderer:a,getComponentName:r,getConvertValue:c,getColumnIndex:d,setPixelUnit:h}=v0(),u=i.ref(null),f=i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useGridSetting)==null?void 0:Q.use)||!1}),g=i.computed(()=>e.option.showHeader??!0),p=i.computed(()=>{var H;return((H=e.option)==null?void 0:H.useSummary)||!1}),m=i.computed(()=>{var H;return((H=e.option.style)==null?void 0:H.stripe)||!1}),x=i.computed(()=>{var H;return((H=e.option.style)==null?void 0:H.border)||""}),b=i.computed(()=>{var H;return((H=e.option.style)==null?void 0:H.highlight)??-1}),y=i.computed(()=>e.option.emptyText??"No records"),M=e.option.rowMinHeight||35,E=i.ref(0),I=i.reactive({body:null,header:null,table:null,resizeLine:null,"grid-wrapper":null}),T=i.reactive({isSearch:!1,searchWord:"",isFiltering:i.computed(()=>e.option.useFilter??!1),isShowFilterSetting:!1,filterSettingPosition:{left:0,top:0},filteringColumn:null,filteringItemsByColumn:{},columnOperator:"and"}),V=i.reactive({isShowColumnSetting:!1,isFilteringColumn:!1,visibleColumnIdx:[],hiddenColumn:"",columnSettingPosition:{top:0,left:0,columnListMenuWidth:0},useDefaultColumnSetting:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useGridSetting)==null?void 0:Q.useDefaultColumnSetting)??!0}),columnSettingTextInfo:{title:((zr=(Ar=e.option)==null?void 0:Ar.useGridSetting)==null?void 0:zr.columnMenuText)??"Column List",search:((Hr=(Fr=e.option)==null?void 0:Fr.useGridSetting)==null?void 0:Hr.searchText)??"Search",empty:(($r=(Wr=e.option)==null?void 0:Wr.useGridSetting)==null?void 0:$r.emptyText)??"No records",ok:((Ur=(Xr=e.option)==null?void 0:Xr.useGridSetting)==null?void 0:Ur.okBtnText)??"OK"}}),C=i.reactive({viewStore:[],originStore:[],pagingStore:[],searchStore:[],filterStore:[],store:i.computed(()=>{const H=T.isFiltering?C.filterStore:C.originStore;return T.isSearch?C.searchStore:H}),filteredColumns:[],movedColumns:[],originColumns:i.computed(()=>e.columns.map((H,Q)=>{var Ce;return{index:Q,hiddenDisplay:!1,...H,width:isFinite(H.width)?H.width:void 0,sortOption:{sortType:((Ce=H==null?void 0:H.sortOption)==null?void 0:Ce.sortType)||"init"}}})),orderedColumns:i.computed(()=>{const H=C.movedColumns.length?C.movedColumns:C.originColumns;return C.filteredColumns.length?C.filteredColumns:H}),updatedColumns:i.computed(()=>li(C))}),S=i.reactive({usePage:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.use)||!1}),useClient:((Yr=e.option.page)==null?void 0:Yr.useClient)||!1,isInfinite:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.isInfinite)||!1}),startIndex:0,prevPage:0,currentPage:0,pageTotal:i.computed(()=>{var H,Q;return(H=e.option.page)!=null&&H.useClient?C.store.length:(Q=e.option.page)==null?void 0:Q.total}),perPage:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.perPage)||20}),visiblePage:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.visiblePage)||8}),order:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.order)||"center"}),showPageInfo:i.computed(()=>{var H;return((H=e.option.page)==null?void 0:H.showPageInfo)||!1}),isClientPaging:i.computed(()=>S.useClient&&S.usePage&&!S.isInfinite),isHighlight:!1,highlightPage:0}),k=i.reactive({prevCheckedRow:[],isHeaderChecked:!1,isHeaderUncheckable:!1,isHeaderIndeterminate:!1,checkedRows:e.checked,useCheckbox:i.computed(()=>e.option.useCheckbox||{})}),w=i.reactive({expandedRows:e.expanded,useRowDetail:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.rowDetail)==null?void 0:Q.use)??!1}),detailRowHeight:i.computed(()=>{var H,Q;return(Q=(H=e.option)==null?void 0:H.rowDetail)==null?void 0:Q.detailRowHeight})}),B=i.reactive({lastScroll:{top:0,left:0},vScrollTopHeight:0,vScrollBottomHeight:0,hasVerticalScrollBar:!1,hasHorizontalScrollBar:!1}),D=i.reactive({contextmenuInfo:e.contextmenuInfo,selectedRow:e.selected,useSelect:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useSelection)==null?void 0:Q.use)??!0}),multiple:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useSelection)==null?void 0:Q.multiple)??!1})}),L=i.reactive({isSorting:!1,sortField:"",sortOrder:"",sortColumn:{},sortFunction:e.option.customAscFunction??{}}),R=i.reactive({menu:null,contextMenuItems:[],contextMenuClass:e.option.customContextMenuClass||"",columnMenu:null,columnMenuItems:[],columnMenuTextInfo:e.option.columnMenuText||{},hiddenColumnMenuItem:e.option.hiddenColumnMenuItem||{},customContextMenu:e.option.customContextMenu||[],gridSettingMenu:null,gridSettingContextMenuItems:[],customGridSettingContextMenu:i.computed(()=>{var H,Q;return((Q=(H=e.option)==null?void 0:H.useGridSetting)==null?void 0:Q.customContextMenu)||[]}),isShowMenuOnClick:!1}),v=i.reactive({minWidth:40,rendererMinWidth:80,iconWidth:42,showResizeLine:!1,adjust:e.option.adjust||!1,columnWidth:e.option.columnWidth||80,scrollWidth:e.option.scrollWidth||17,rowHeight:i.computed(()=>e.option.rowHeight>M?e.option.rowHeight:M),gridWidth:i.computed(()=>e.width?h(e.width):"100%"),gridHeight:i.computed(()=>e.height?h(e.height):"100%")}),N=()=>{k.checkedRows=[],k.isHeaderChecked=!1,k.isHeaderIndeterminate=!1,C.store.forEach(H=>{H[1]=!1})},O=()=>{D.selectedRow=[],C.store.forEach(H=>{H[3]=!1})},P=()=>{C.store.forEach(H=>{H[4]=!1}),w.expandedRows=[]},{getPagingData:_,updatePagingInfo:A,changePage:z}=_0({stores:C,pageInfo:S,sortInfo:L,filterInfo:T,elementInfo:I,clearCheckInfo:N}),$=i.ref(0),{updateVScroll:W,updateHScroll:F,onScroll:U}=T0({scrollInfo:B,stores:C,elementInfo:I,resizeInfo:v,pageInfo:S,summaryScroll:$,expandedInfo:w,getPagingData:_,updatePagingInfo:A}),{onCheck:j,onCheckAll:K}=L0({checkInfo:k,stores:C,pageInfo:S,getPagingData:_}),{onExpanded:q}=R0({expandedInfo:w}),{onSort:ee,getSortTarget:J,setSort:te,setSortInfo:G,hasSortTarget:oe}=O0({sortInfo:L,stores:C,updatePagingInfo:A}),{onSearch:Z,setFilter:ae,setHeaderCheckboxByFilter:me}=N0({columnSettingInfo:V,filterInfo:T,stores:C,checkInfo:k,pageInfo:S,getConvertValue:c,updateVScroll:W,getPagingData:_,updatePagingInfo:A,getColumnIndex:d}),{setStore:re}=P0({selectInfo:D,checkInfo:k,stores:C,sortInfo:L,elementInfo:I,filterInfo:T,expandedInfo:w,setSort:te,setSortInfo:G,updateVScroll:W,setFilter:ae}),{calculatedColumn:ue,onResize:ke,onShow:rt,onColumnResize:ct}=B0({resizeInfo:v,elementInfo:I,checkInfo:k,expandedInfo:w,stores:C,isRenderer:a,updateVScroll:W,updateHScroll:F,contextInfo:R}),{setPositionColumnSetting:yt,initColumnSettingInfo:uo,onApplyColumn:fo,setColumnHidden:mo}=kr({stores:C,columnSettingInfo:V,contextInfo:R,onSearch:Z,onResize:ke}),{setContextMenu:Zt,onContextMenu:As,onColumnContextMenu:zs,onGridSettingContextMenu:hi}=V0({contextInfo:R,stores:C,selectInfo:D,useGridSetting:f,filterInfo:T,columnSettingInfo:V,setColumnHidden:mo,onSort:ee}),{onRowClick:ui,onRowDblClick:fi}=D0({selectInfo:D,stores:C}),{onDragStart:mi,onDragOver:gi,onDrop:pi}=A0({stores:C}),yi=H=>{R.gridSettingContextMenuItems.length=0,R.customGridSettingContextMenu.length?hi(H):V.isShowColumnSetting=!0},qt=H=>{var Q,Ce,xt,Kt,go,It,Qe,xi,bi,jr;H.type==="wheel"&&((Q=R.menu)==null||Q.hide(H)),H.type==="scroll"&&!((Ce=H.target.classList)!=null&&Ce.contains("table-body"))&&!((Kt=(xt=H.target.offsetParent)==null?void 0:xt.classList)!=null&&Kt.contains("ev-select-dropbox"))&&!((It=(go=H.target.offsetParent)==null?void 0:go.classList)!=null&&It.contains("ev-grid-column-setting"))&&!((xi=(Qe=H.target.offsetParent)==null?void 0:Qe.classList)!=null&&xi.contains("ev-text-field-wrapper"))&&(T.isShowFilterSetting=!1,V.isShowColumnSetting=!1,R.isShowMenuOnClick=!1,(bi=R.columnMenu)==null||bi.hide(H),(jr=R.gridSettingMenu)==null||jr.hide())};i.onMounted(()=>{ue(),re({rows:e.rows,isInit:!0}),document.addEventListener("wheel",qt,{capture:!1}),document.addEventListener("scroll",qt,{capture:!0})}),i.onUnmounted(()=>{document.removeEventListener("wheel",qt,{capture:!1}),document.removeEventListener("scroll",qt,{capture:!0})}),i.onActivated(()=>{ke()}),i.onUpdated(()=>{var H;E.value=((H=I["grid-wrapper"])==null?void 0:H.offsetWidth)/1.5||0}),i.watch(()=>V.isShowColumnSetting,H=>{var Q;if(!H){(Q=R.gridSettingMenu)==null||Q.hide();return}yt(u.value)}),i.watch(()=>e.columns,()=>{oe()?G(J()):(G(J()),te()),T.filteringColumn=null,T.filteringItemsByColumn={},C.filterStore=[],re({rows:[],isMakeIndex:!1}),uo(),C.movedColumns.length=0},{deep:!0}),i.watch(()=>L.isSorting,H=>{H&&(re({rows:C.originStore,isMakeIndex:!1}),L.isSorting=!H,S.isClientPaging&&(S.currentPage=1,C.pagingStore=_(),N()))}),i.watch(()=>e.rows,H=>{re({rows:H}),T.isSearch&&Z(T.searchWord),ke()},{deep:!0}),i.watch(()=>e.uncheckable,()=>{re({rows:e.rows})},{deep:!0}),i.watch(()=>e.checked,H=>{k.checkedRows=H}),i.watch(()=>e.disabledRows,()=>{C.store.length&&C.store.forEach(H=>{H[6]=e.disabledRows.includes(H[2])})},{deep:!0}),i.watch(()=>k.checkedRows,H=>{k.isHeaderChecked=!1;let Q=C.store;S.isClientPaging&&(Q=_()),Q.length&&(Q.forEach(Ce=>{Ce[1]=H.includes(Ce[2])}),k.isHeaderChecked=H.length===Q.length),W()}),i.watch(()=>e.selected,H=>{D.useSelect&&(D.selectedRow=H)}),i.watch(()=>D.selectedRow,H=>{D.useSelect&&(C.store.forEach(Q=>{Q[3]=H.includes(Q[2])&&!e.disabledRows.includes(Q[2])}),W())}),i.watch(()=>b.value,async H=>{if(await i.nextTick(),H>=0){if(S.usePage&&!S.isInfinite&&(S.highlightPage=Math.ceil(H/S.perPage)||1,S.highlightPage!==S.currentPage)){S.currentPage=S.highlightPage,S.isHighlight=!0;return}I.body.scrollTop=v.rowHeight*b.value}}),i.watch(()=>k.useCheckbox.mode,()=>{N()}),i.watch(()=>D.useSelect,()=>{O()}),i.watch(()=>D.multiple,()=>{O()}),i.watch(()=>e.checked.length,H=>{H||N()}),i.watch(()=>e.expanded.length,H=>{H||P(),W()}),i.watch(()=>[e.option.columnWidth,v.gridWidth],async()=>{await i.nextTick(),v.columnWidth=e.option.columnWidth;const H=I["grid-wrapper"];H.style.width=v.gridWidth,H.style.height=v.gridHeight,C.orderedColumns.map(Q=>{var xt;const Ce=Q;return!((xt=e.columns[Q.index])!=null&&xt.width)&&!Ce.resized&&(Ce.width=0),Ce}),ke()}),i.watch(()=>e.option.searchValue,H=>{H!==void 0&&(Z((H==null?void 0:H.value)??H),S.isClientPaging&&(N(),O()))},{immediate:!0}),i.watch(()=>{var H;return(H=e.option.page)==null?void 0:H.currentPage},H=>{var Ce;const Q=H||1;S.currentPage=(Ce=e.option.page)!=null&&Ce.isInfinite?1:Q},{immediate:!0}),i.watch(()=>S.currentPage,(H,Q)=>{i.nextTick(()=>{z(Q),S.isClientPaging&&H!==Q&&(N(),O()),W(),H===S.highlightPage&&S.isHighlight&&(I.body.scrollTop=v.rowHeight*b.value,S.isHighlight=!S.isHighlight)})});const gn=i.reactive({boxTop:0,boxLeft:0}),X=i.ref(null),ne=i.ref(!1),he=i.ref(!1),xe=i.ref(null),Me=i.ref({}),Pe=i.reactive({caption:"",field:""}),Xe=i.ref([]),aw=[{name:"AND",value:"and"},{name:"OR",value:"or"}],Fs=i.ref(0),rw=({caption:H,field:Q},Ce)=>{if(Pe.caption=H,Pe.field=Q,Xe.value=Ce,(Ce==null?void 0:Ce.length)>1){ne.value=!0;const xt=X.value.getBoundingClientRect().left,Kt=window.pageYOffset+X.value.getBoundingClientRect().top+X.value.getBoundingClientRect().height;gn.boxTop=`${Kt}px`,gn.boxLeft=`${xt}px`}},cw=()=>{C.filterStore=[],re({rows:[],isMakeIndex:!1})},Hs=async H=>{var Kt,go;H&&he.value&&(Fs.value=0);const Q=(Kt=X.value)==null?void 0:Kt.getElementsByClassName("filtering-items__item"),Ce=[];let xt=0;if(Q){for(let It=0;It<Q.length;It++){const Qe=Q[It];Qe.classList.remove("non-display");const xi=(go=X.value.getBoundingClientRect())==null?void 0:go.width,{width:bi}=Qe.getBoundingClientRect();xt+=bi+10,xi-150<=xt&&!Qe.classList.contains("filtering-items__item--count")?(Fs.value++,Ce.push(Qe),Me.value={...Me.value,[Qe.dataset.field]:Se(T.filteringItemsByColumn[Qe.dataset.field])}):delete Me.value[Qe.dataset.field]}Q.forEach(It=>{const Qe=Ce.includes(It);It.classList.toggle("non-display",Qe)})}},dw=async(H,Q)=>{Q!=null&&Q.length?(T.filteringItemsByColumn[H]=Q,he.value=!0):(delete Me.value[H],delete T.filteringItemsByColumn[H]),await i.nextTick(),Hs(!0),T.isShowFilterSetting=!1,C.filterStore=[],re({rows:[],isMakeIndex:!1}),me(C.filterStore)};let Ws=null;const hw=()=>{Ws&&clearTimeout(Ws),Ws=setTimeout(()=>{he.value=!he.value,Hs(he.value)},150)},uw=()=>{T.filteringColumn=null,T.filteringItemsByColumn={},Me.value={},C.filterStore=[],re({rows:[],isMakeIndex:!1})},fw=i.computed(()=>{var H;return{width:`${E.value}px`,top:`${((H=X.value)==null?void 0:H.getBoundingClientRect().height)||0}px`}}),mw=H=>{const Q=T.filteringItemsByColumn[H];return Q==null?void 0:Q[Q.length-1]},gw=()=>{const H=document.createElement("div");H.id="ev-grid-filtering-items-modal",H.setAttribute("style","position: absolute; top: 0; left: 0;"),document.getElementById("ev-grid-filtering-items-modal")||document.body.appendChild(H)};return i.onBeforeMount(()=>gw()),{idColIndex:i.computed(()=>{var H;return(H=C.orderedColumns.find(Q=>Q.field==="id"))==null?void 0:H.index}),summaryScroll:$,showHeader:g,stripeStyle:m,borderStyle:x,highlightIdx:b,useSummary:p,useGridSetting:f,toolbarRef:u,stores:C,emptyText:y,...i.toRefs(I),...i.toRefs(C),...i.toRefs(T),...i.toRefs(B),...i.toRefs(S),...i.toRefs(v),...i.toRefs(D),...i.toRefs(k),...i.toRefs(w),...i.toRefs(L),...i.toRefs(R),...i.toRefs(V),isRenderer:a,getComponentName:r,getConvertValue:c,getColumnIndex:d,setPixelUnit:h,updateVScroll:W,updateHScroll:F,onScroll:U,calculatedColumn:ue,onResize:ke,onShow:rt,onColumnResize:ct,onRowClick:ui,onRowDblClick:fi,onCheck:j,onCheckAll:K,onExpanded:q,onSort:ee,setSort:te,setStore:re,setContextMenu:Zt,onContextMenu:As,onSearch:Z,setGridSetting:yi,onApplyColumn:fo,onColumnContextMenu:zs,filteringItemsWidth:E,isShowColumnFilteringItems:he,operatorItems:aw,selectedFilteringItems:Xe,selectedFilteringColumn:Pe,filteringItemsRef:X,isShowFilteringItemsBox:ne,filteringItemsStyle:fw,hiddenFilteringItemsCount:Fs,...i.toRefs(gn),hiddenFilteringItemsRef:xe,hiddenFilteringItemsByColumn:Me,removeAllFiltering:uw,onExpandFilteringItems:hw,setColumnFilteringItems:Hs,onChangeOperator:cw,onApplyFilter:dw,onClickFilteringItem:rw,getFilteringItemByField:mw,onDragStart:mi,onDragOver:gi,onDrop:pi,ROW_DISABLED_INDEX:6}}},F0={key:0,class:"filtering-items filtering-items--used"},H0={key:1,ref:"filteringItemsRef",class:"filtering-items"},W0=["data-field","onClick"],$0={class:"filtering-items__item--title"},X0=["title"],U0={key:1,class:"filtering-items__item--value"},Y0=["onClick"],j0={class:"filtering-items__item--title"},G0=["title"],Z0={key:1,class:"filtering-items__item--value"},q0={class:"column-list"},K0=["data-index"],J0=["title","onClick"],Q0=["onClick"],eC=["onMousedown"],tC={ref:"table"},nC=["data-index","disabled","onClick","onContextmenu","onDblclick"],oC=["data-name","data-index","disabled"],iC={key:0},sC=["title"],lC=["disabled"],aC=["disabled"],rC={key:0},cC=["colspan"],dC={key:0},hC={class:"is-empty"},uC={ref:"resizeLine",class:"table-resize-line"};function fC(e,t,n,o,s,l){var E;const a=i.resolveComponent("ev-icon"),r=i.resolveComponent("ev-select"),c=i.resolveComponent("grid-option-button"),d=i.resolveComponent("toolbar"),h=i.resolveComponent("ev-checkbox"),u=i.resolveComponent("grid-sort-button"),f=i.resolveComponent("ev-context-menu"),g=i.resolveComponent("grid-summary"),p=i.resolveComponent("grid-pagination"),m=i.resolveComponent("filter-setting"),x=i.resolveComponent("column-setting"),b=i.resolveDirective("clickoutside"),y=i.resolveDirective("resize"),M=i.resolveDirective("observe-visibility");return i.openBlock(),i.createElementBlock(i.Fragment,null,[e.$slots.toolbar||o.useGridSetting?(i.openBlock(),i.createElementBlock("div",{key:0,ref:"toolbarRef",class:"toolbar-wrapper",style:i.normalizeStyle(`width: ${e.gridWidth};`)},[i.createVNode(d,null,{toolbarWrapper:i.withCtx(()=>[i.createElementVNode("div",{class:"filtering",style:i.normalizeStyle({width:`${o.filteringItemsWidth}px`})},[e.isFiltering&&!Object.keys(e.filteringItemsByColumn).length?(i.openBlock(),i.createElementBlock("div",F0,[i.createVNode(a,{icon:"ev-icon-filter-list"}),t[18]||(t[18]=i.createElementVNode("span",null,"Filter",-1))])):i.createCommentVNode("",!0),e.isFiltering&&Object.keys(e.filteringItemsByColumn).length?(i.openBlock(),i.createElementBlock("div",H0,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(e.filteringItemsByColumn),(I,T)=>{var V,C,S,k;return i.openBlock(),i.createElementBlock(i.Fragment,{key:T},[T===0?(i.openBlock(),i.createElementBlock("div",{key:0,class:"filtering-items__item filtering-items__item--filter",onClick:t[0]||(t[0]=i.withModifiers((...w)=>o.onExpandFilteringItems&&o.onExpandFilteringItems(...w),["stop"]))},[i.createVNode(a,{icon:"ev-icon-filter-list",class:"filtering-items-expand"}),i.createElementVNode("span",null," Filter ("+i.toDisplayString(Object.keys(e.filteringItemsByColumn).length)+") ",1),i.createVNode(a,{class:"filtering-items__item--remove",icon:"ev-icon-s-close",style:{"margin-left":"0"},onClick:i.withModifiers(o.removeAllFiltering,["stop"])},null,8,["onClick"])])):i.createCommentVNode("",!0),T===1?(i.openBlock(),i.createBlock(r,{key:1,modelValue:e.columnOperator,"onUpdate:modelValue":t[1]||(t[1]=w=>e.columnOperator=w),items:o.operatorItems,class:"filtering-items__item--operator",onChange:o.onChangeOperator},null,8,["modelValue","items","onChange"])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:"filtering-items__item non-display","data-field":I,onClick:i.withModifiers(w=>{var B;return o.onClickFilteringItem({caption:(B=o.getFilteringItemByField(I))==null?void 0:B.caption,field:I},e.filteringItemsByColumn[I])},["stop"])},[i.createElementVNode("span",$0,i.toDisplayString((V=o.getFilteringItemByField(I))==null?void 0:V.caption)+" "+i.toDisplayString((C=o.getFilteringItemByField(I))==null?void 0:C.comparison),1),e.filteringItemsByColumn[I].length<2?(i.openBlock(),i.createElementBlock("span",{key:0,class:"filtering-items__item--value",title:(S=o.getFilteringItemByField(I))==null?void 0:S.value},i.toDisplayString((k=o.getFilteringItemByField(I))==null?void 0:k.value),9,X0)):(i.openBlock(),i.createElementBlock("span",U0," + "+i.toDisplayString(e.filteringItemsByColumn[I].length),1)),i.createVNode(a,{class:"filtering-items__item--remove",icon:"ev-icon-s-close",onClick:w=>o.onApplyFilter(I,[])},null,8,["onClick"])],8,W0)],64)}),128)),o.isShowColumnFilteringItems&&Object.keys(e.filteringItemsByColumn).length&&o.hiddenFilteringItemsCount>0?(i.openBlock(),i.createElementBlock("div",{key:0,class:"filtering-items__item filtering-items__item--count",onClick:t[2]||(t[2]=(...I)=>o.onExpandFilteringItems&&o.onExpandFilteringItems(...I))}," + "+i.toDisplayString(o.hiddenFilteringItemsCount),1)):i.createCommentVNode("",!0)],512)):i.createCommentVNode("",!0),!o.isShowColumnFilteringItems&&Object.keys(o.hiddenFilteringItemsByColumn).length?i.withDirectives((i.openBlock(),i.createElementBlock("div",{key:2,ref:"hiddenFilteringItemsRef",class:"filtering-items filtering-items__hidden-items",style:i.normalizeStyle(o.filteringItemsStyle)},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(o.hiddenFilteringItemsByColumn),(I,T)=>{var V,C,S,k;return i.openBlock(),i.createElementBlock("div",{key:T,class:"filtering-items__item",onClick:i.withModifiers(w=>{var B;return o.onClickFilteringItem({caption:(B=o.getFilteringItemByField(I))==null?void 0:B.caption,field:I},o.hiddenFilteringItemsByColumn[I])},["stop"])},[i.createElementVNode("span",j0,i.toDisplayString((V=o.getFilteringItemByField(I))==null?void 0:V.caption)+" "+i.toDisplayString((C=o.getFilteringItemByField(I))==null?void 0:C.comparison),1),o.hiddenFilteringItemsByColumn[I].length<2?(i.openBlock(),i.createElementBlock("span",{key:0,class:"filtering-items__item--value",title:(S=o.getFilteringItemByField(I))==null?void 0:S.value},i.toDisplayString((k=o.getFilteringItemByField(I))==null?void 0:k.value),9,G0)):(i.openBlock(),i.createElementBlock("span",Z0," + "+i.toDisplayString(o.hiddenFilteringItemsByColumn[I].length),1)),i.createVNode(a,{class:"filtering-items__item--remove",icon:"ev-icon-s-close",onClick:w=>o.onApplyFilter(I,[],!0)},null,8,["onClick"])],8,Y0)}),128))],4)),[[b,()=>{o.isShowColumnFilteringItems||o.onExpandFilteringItems()}]]):i.createCommentVNode("",!0)],4),o.useGridSetting?(i.openBlock(),i.createBlock(c,{key:0,class:"grid-setting__icon",onClick:t[3]||(t[3]=I=>o.setGridSetting(I))})):i.createCommentVNode("",!0),i.renderSlot(e.$slots,"toolbar",{item:{onSearch:o.onSearch}},void 0,!0)]),_:3})],4)):i.createCommentVNode("",!0),i.withDirectives((i.openBlock(),i.createElementBlock("div",i.mergeProps({ref:"grid-wrapper"},e.$attrs,{class:"grid-wrapper",style:`width: ${e.gridWidth}; height: ${e.gridHeight};`}),[i.createElementVNode("div",{ref:"grid",class:i.normalizeClass({table:!0,adjust:e.adjust,"ev-grid":!0,"non-header":!o.showHeader,"ev-grid--empty":!e.viewStore.length})},[i.withDirectives(i.createElementVNode("div",{ref:"header",class:i.normalizeClass({"table-header":!0,"non-border":!!o.borderStyle})},[i.createElementVNode("ul",q0,[e.useCheckbox.use?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass({column:!0,"checkbox-all":!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${e.minWidth}px`,"border-right":"1px solid #CFCFCF"})},[e.useCheckbox.use&&e.useCheckbox.headerCheck&&e.useCheckbox.mode!=="single"?(i.openBlock(),i.createBlock(h,{key:0,modelValue:e.isHeaderChecked,"onUpdate:modelValue":t[4]||(t[4]=I=>e.isHeaderChecked=I),disabled:e.isHeaderUncheckable,indeterminate:e.isHeaderIndeterminate,onChange:o.onCheckAll},null,8,["modelValue","disabled","indeterminate","onChange"])):i.createCommentVNode("",!0)],6)):i.createCommentVNode("",!0),e.useRowDetail?(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass({column:!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${e.minWidth}px`,"border-right":"1px solid #CFCFCF"})},null,6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.orderedColumns,(I,T)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:T},[!I.hide&&!I.hiddenDisplay?(i.openBlock(),i.createElementBlock("li",{key:0,"data-index":T,class:i.normalizeClass({column:!0,render:o.isRenderer(I),"non-border":!!o.borderStyle,[I.field]:I.field}),style:i.normalizeStyle({width:`${I.width}px`,"min-width":`${o.isRenderer(I)?e.rendererMinWidth:e.minWidth}px`,"margin-right":e.orderedColumns.length-1===T&&(e.hasVerticalScrollBar||e.hasHorizontalScrollBar)?`${e.scrollWidth}px`:"0px","border-right":e.orderedColumns.length-1===T?"none":"1px solid #CFCFCF"}),draggable:!0,onDragstart:t[6]||(t[6]=(...V)=>o.onDragStart&&o.onDragStart(...V)),onDragover:t[7]||(t[7]=(...V)=>o.onDragOver&&o.onDragOver(...V)),onDrop:t[8]||(t[8]=(...V)=>o.onDrop&&o.onDrop(...V))},[I.customHeader&&e.$slots.customHeader?i.renderSlot(e.$slots,"customHeader",{key:0},void 0,!0):(i.openBlock(),i.createElementBlock("span",{key:1,title:I.caption,class:"column-name",onClick:[V=>o.onColumnContextMenu(V,I),t[5]||(t[5]=i.withModifiers((...V)=>e.columnMenu.show&&e.columnMenu.show(...V),["prevent"]))]},[i.createTextVNode(i.toDisplayString(I.caption)+" ",1),i.createElementVNode("span",{onClick:i.withModifiers(V=>o.onSort(I),["stop"])},[e.$slots.sortIcon?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[I.sortable===void 0||I.sortable?(i.openBlock(),i.createElementBlock("span",{key:0,class:"column-sort__icon column-sort__icon--basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,"sortIcon",{},void 0,!0)],4)):i.createCommentVNode("",!0),e.sortField===I.field?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass([{"column-sort__icon":!0,"column-sort__icon--asc":e.sortOrder==="asc","column-sort__icon--desc":e.sortOrder==="desc"}]),style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,`sortIcon_${e.sortOrder}`,{},void 0,!0)],6)):i.createCommentVNode("",!0)],64)):(i.openBlock(),i.createElementBlock(i.Fragment,{key:1},[I.sortable===void 0||I.sortable?(i.openBlock(),i.createBlock(u,{key:0,class:"column-sort__icon column-sort__icon--basic",icon:"basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},null,8,["style"])):i.createCommentVNode("",!0),e.sortField===I.field?(i.openBlock(),i.createBlock(u,{key:1,class:i.normalizeClass([{"column-sort__icon":!0,"column-sort__icon--asc":e.sortOrder==="asc","column-sort__icon--desc":e.sortOrder==="desc"}]),icon:e.sortOrder,style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,visibility:e.sortOrder?I.hidden:!0})},null,8,["class","icon","style"])):i.createCommentVNode("",!0)],64))],8,Q0)],8,J0)),i.createElementVNode("span",{class:"column-resize",onMousedown:i.withModifiers(V=>o.onColumnResize(T,V),["stop","left"])},null,40,eC)],46,K0)):i.createCommentVNode("",!0)],64))),128)),(E=e.$props.option.customContextMenu)!=null&&E.length?(i.openBlock(),i.createElementBlock("li",{key:2,class:i.normalizeClass({column:!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:"30px","min-width":"30px","margin-right":e.hasVerticalScrollBar||e.hasHorizontalScrollBar?`${e.scrollWidth}px`:"0px"})},null,6)):i.createCommentVNode("",!0)])],2),[[i.vShow,o.showHeader]]),i.createElementVNode("div",{ref:"body",class:i.normalizeClass({stripe:o.stripeStyle,"table-body":!0,"bottom-border":!!e.viewStore.length,"non-border":!!o.borderStyle}),onScroll:t[11]||(t[11]=(...I)=>o.onScroll&&o.onScroll(...I)),onContextmenu:t[12]||(t[12]=I=>o.onContextMenu(I))},[i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollTopHeight}px;`),class:"vscroll-spacer"},null,4),i.createElementVNode("table",tC,[i.createElementVNode("tbody",null,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.viewStore,(I,T)=>{var V,C;return i.openBlock(),i.createElementBlock(i.Fragment,{key:o.idColIndex!=null?I[2][o.idColIndex]:T},[i.createElementVNode("tr",{"data-index":I[0],class:i.normalizeClass({row:!0,selected:I[3],highlight:I[0]===o.highlightIdx,"non-border":!!o.borderStyle&&o.borderStyle!=="rows"}),disabled:I[o.ROW_DISABLED_INDEX],onClick:S=>o.onRowClick(S,I),onContextmenu:S=>o.onRowClick(S,I,!0),onDblclick:S=>o.onRowDblClick(S,I)},[e.useCheckbox.use?(i.openBlock(),i.createElementBlock("td",{key:0,class:i.normalizeClass({cell:!0,"row-checkbox":!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${e.minWidth}px`,height:`${e.rowHeight}px`,"border-right":"1px solid #CFCFCF"})},[i.createVNode(h,{modelValue:I[1],"onUpdate:modelValue":S=>I[1]=S,class:"row-checkbox-input",disabled:I[5]||I[o.ROW_DISABLED_INDEX],onChange:S=>o.onCheck(S,I)},null,8,["modelValue","onUpdate:modelValue","disabled","onChange"])],6)):i.createCommentVNode("",!0),e.useRowDetail?(i.openBlock(),i.createElementBlock("td",{key:1,class:i.normalizeClass({cell:!0,"row-detail-toggle":!0,"non-border":!!o.borderStyle,"row-detail-toggle--expanded":I[4]}),style:i.normalizeStyle({width:`${e.minWidth}px`,height:`${e.rowHeight}px`,"border-right":"1px solid #CFCFCF"})},[i.createVNode(a,{modelValue:I[4],"onUpdate:modelValue":S=>I[4]=S,icon:"ev-icon-s-play",class:"row-detail-toggle-icon",onClick:i.withModifiers(S=>o.onExpanded(S,I),["stop"])},null,8,["modelValue","onUpdate:modelValue","onClick"])],6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.orderedColumns,(S,k)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:`${o.idColIndex!=null?I[2][o.idColIndex]:T}-${k}`},[!S.hide&&!S.hiddenDisplay?(i.openBlock(),i.createElementBlock("td",{key:0,"data-name":S.field,"data-index":S.index,class:i.normalizeClass({cell:!0,render:o.isRenderer(S),[S.type]:S.type,[S.align]:S.align,[S.field]:S.field,"non-border":!!o.borderStyle}),style:i.normalizeStyle({width:`${S.width}px`,height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,"min-width":`${o.isRenderer(S)?e.rendererMinWidth:e.minWidth}px`,"border-right":e.orderedColumns.length-1===k?"none":"1px solid #CFCFCF"}),disabled:I[o.ROW_DISABLED_INDEX]},[e.$slots[S.field]?(i.openBlock(),i.createElementBlock("div",iC,[i.renderSlot(e.$slots,S.field,{item:{row:I,column:S},disabled:I[o.ROW_DISABLED_INDEX]},void 0,!0)])):(i.openBlock(),i.createElementBlock("div",{key:1,title:o.getConvertValue(S,I[2][S.index])},i.toDisplayString(o.getConvertValue(S,I[2][S.index])),9,sC))],14,oC)):i.createCommentVNode("",!0)],64))),128)),(V=e.$props.option.customContextMenu)!=null&&V.length?(i.openBlock(),i.createElementBlock("td",{key:2,class:i.normalizeClass({"row-contextmenu":!0,"non-border":!!o.borderStyle}),style:i.normalizeStyle({position:"sticky",right:0,width:"30px",height:`${e.rowHeight}px`,"min-width":"30px","line-height":`${e.rowHeight}px`}),disabled:I[o.ROW_DISABLED_INDEX]},[e.$slots.contextmenuIcon?(i.openBlock(),i.createElementBlock("span",{key:0,class:"row-contextmenu__btn",disabled:I[o.ROW_DISABLED_INDEX],onClick:t[9]||(t[9]=S=>o.onContextMenu(S))},[i.renderSlot(e.$slots,"contextmenuIcon",{},void 0,!0)],8,aC)):(i.openBlock(),i.createBlock(c,{key:1,icon:"ev-icon-warning2",class:"row-contextmenu__btn",disabled:I[o.ROW_DISABLED_INDEX],onClick:t[10]||(t[10]=S=>o.onContextMenu(S))},null,8,["disabled"]))],14,lC)):i.createCommentVNode("",!0)],42,nC),e.useRowDetail&&((C=e.$slots)!=null&&C.rowDetail)&&I[4]?(i.openBlock(),i.createElementBlock("tr",rC,[i.createElementVNode("td",{colspan:I.length},[i.createElementVNode("div",{style:i.normalizeStyle({width:"100%",height:`${e.detailRowHeight}px`,"min-height":`${e.detailRowHeight}px`,"max-height":`${e.detailRowHeight}px`})},[i.renderSlot(e.$slots,"rowDetail",{item:{row:I}},void 0,!0)],4)],8,cC)])):i.createCommentVNode("",!0)],64)}),128)),e.viewStore.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("tr",dC,[i.createElementVNode("td",hC,i.toDisplayString(o.emptyText),1)]))])],512),i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollBottomHeight}px;`),class:"vscroll-spacer"},null,4),i.createVNode(f,{ref:"menu","custom-class":e.contextMenuClass,items:e.contextMenuItems},null,8,["custom-class","items"]),i.createVNode(f,{ref:"columnMenu",items:e.columnMenuItems},null,8,["items"]),i.createVNode(f,{ref:"gridSettingMenu",items:e.gridSettingContextMenuItems,"is-show-menu-on-click":e.isShowMenuOnClick},null,8,["items","is-show-menu-on-click"])],34),i.withDirectives(i.createElementVNode("div",uC,null,512),[[i.vShow,e.showResizeLine]])],2)],16)),[[y,o.onResize],[M,{callback:o.onShow,once:!0}]]),o.useSummary?(i.openBlock(),i.createBlock(g,{key:1,"ordered-columns":e.orderedColumns,stores:o.stores,"use-checkbox":e.useCheckbox.use,"style-option":{borderStyle:o.borderStyle,minWidth:e.minWidth,rowHeight:e.rowHeight},"scroll-left":o.summaryScroll},null,8,["ordered-columns","stores","use-checkbox","style-option","scroll-left"])):i.createCommentVNode("",!0),e.usePage&&!e.isInfinite?(i.openBlock(),i.createBlock(p,{key:2,modelValue:e.currentPage,"onUpdate:modelValue":t[13]||(t[13]=I=>e.currentPage=I),total:e.pageTotal,"per-page":e.perPage,"visible-page":e.visiblePage,"show-page-info":e.showPageInfo,order:e.order},null,8,["modelValue","total","per-page","visible-page","show-page-info","order"])):i.createCommentVNode("",!0),i.createVNode(m,{"is-show":e.isShowFilterSetting,"onUpdate:isShow":t[14]||(t[14]=I=>e.isShowFilterSetting=I),items:e.filteringItemsByColumn,"onUpdate:items":t[15]||(t[15]=I=>e.filteringItemsByColumn=I),column:e.filteringColumn,position:e.filterSettingPosition,onApplyFiltering:o.onApplyFilter},null,8,["is-show","items","column","position","onApplyFiltering"]),i.createVNode(x,{"is-show":e.isShowColumnSetting,"onUpdate:isShow":t[16]||(t[16]=I=>e.isShowColumnSetting=I),"is-show-menu-on-click":e.isShowMenuOnClick,"onUpdate:isShowMenuOnClick":t[17]||(t[17]=I=>e.isShowMenuOnClick=I),columns:e.updatedColumns,"hidden-column":e.hiddenColumn,position:e.columnSettingPosition,"text-info":e.columnSettingTextInfo,onApplyColumn:o.onApplyColumn},null,8,["is-show","is-show-menu-on-click","columns","hidden-column","position","text-info","onApplyColumn"])],64)}const no=le(z0,[["render",fC],["__scopeId","data-v-22cd2bf6"]]);no.install=e=>{e.component(no.name,no)};const ai=document.createElement("canvas").getContext("2d"),Y={hexToRgb(e){if(!e)return!1;const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e),n=parseInt(t[1],16),o=parseInt(t[2],16),s=parseInt(t[3],16);return`${n},${o},${s}`},getColorStringType(e){if(!e)return"";const t=e.replace(/ /g,""),n=/^#(?:[A-Fa-f0-9]{3}){1,2}$/.exec(t),o=/^rgb[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*(?:,(?![)])|(?=[)]))){3}[)]$/.exec(t),s=/^rgba[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*,){3}\s*0*(?:\.\d+|1?)\s*[)]$/.exec(t);let l="";return n?l="HEX":o?l="RGB":s?l="RGBA":l="NONE",l},colorStringToRgba(e,t=1){const n=e.replace(/ /g,""),o=this.getColorStringType(n);let s="";switch(o){case"HEX":s=`rgba(${this.hexToRgb(n)},${t})`;break;case"RGB":s=n.replace(")",`, ${t})`).replace("rgb","rgba");break;case"RGBA":s=n.replace(`${this.getOpacity(e)})`,`${t})`);break;default:s=`rgba(0, 0, 0, ${t})`;break}return s},getOpacity(e){const t=e==null?void 0:e.replace(/ /g,"");return this.getColorStringType(t)==="RGBA"?t.replace(/^.*,(.+)\)/,"$1"):"1"},calculateMagnitude(e){return Math.floor(Math.log(e)/Math.LN10)},aliasPixel(e){return e%2===0?0:.5},getLabelStyle(e){const{fontStyle:t="normal",fontWeight:n="normal",fontSize:o="12",fontFamily:s="Roboto"}=e;return`${t} normal ${n} ${o}px ${s}`},labelSignFormat(e,t=null){const n=gh(1),o=mh(1),s=fh(1),l=uh(1),a=1e3;let r;if(!ft(e))return e;const c=e<0,d=Math.abs(e),h=(u,f,g)=>{let p;return u%f===0?p=pt(t)?`${u/f}${g}`:`${(u/f).toFixed(t)}${g}`:p=`${(u/f).toFixed(1)}${g}`,c?`-${p}`:p};if(d>=n)r=h(d,n,"P");else if(d>=o)r=h(d,o,"T");else if(d>=s)r=h(d,s,"G");else if(d>=l)r=h(d,l,"M");else if(d>=a)r=h(d,1e3,"K");else{const u=pt(t)?d:d.toFixed(t);r=c?`-${u}`:`${u}`}return r},calcTextSize(e,t,n=0){const o=document.createElement("span"),s=`visibility:hidden; position:absolute; top:-10000px; font: ${t}; padding: 0 ${n}px`;o.setAttribute("style",s),o.style.font=t,o.textContent=e,document.body.appendChild(o);const l=o.getBoundingClientRect(),a=l.width||2,r=l.height||2;return o.remove(),{width:a,height:r}},calcTextSizeCanvas(e,t){if(!e)return{width:2,height:2};ai.save(),ai.font=t;const n=ai.measureText(e),o=t.match(/(\d+(?:\.\d+)?)px/),l=(o?Number(o[1]):14)*1.2;return ai.restore(),{width:Math.max(Math.ceil(n.width),2),height:Math.max(Math.ceil(l),2)}},getStringMinMax(e){const t={min:e[0],max:e[0]};return e.forEach(n=>{var o,s;((o=t==null?void 0:t.max)==null?void 0:o.length)<(n==null?void 0:n.length)&&(t.max=n),((s=t==null?void 0:t.min)==null?void 0:s.length)>(n==null?void 0:n.length)&&(t.min=n)}),t},truncateLabelWithEllipsis(e,t,n,o="right"){if(!e)return"";if(!t)return e;const s="…",l=n.measureText(s).width;let a=e,r=n.measureText(a).width;if(r<=t||r<=l)return e;let c=a.length;for(;r>=t-l&&c-- >0;)a=o==="right"?a.substring(0,c):a.substring(1,a.length),r=n.measureText(a).width;return o==="right"?a+s:s+a},showLabelTip(e){const{ctx:t,width:n,height:o,x:s,y:l,arrowSize:a,borderRadius:r,text:c,backgroundColor:d,textColor:h}=e,u=s-n/2,f=s+n/2,g=l-o,p=l;t.beginPath(),t.save(),t.fillStyle=d||"#E96E2C",t.strokeStyle=d||"#E96E2C",t.shadowBlur=0,t.moveTo(u+r,g),t.quadraticCurveTo(u,g,u,g+r),t.lineTo(u,p-r),t.quadraticCurveTo(u,p,u+r,p),t.lineTo(f-r,p),t.quadraticCurveTo(f,p,f,p-r),t.lineTo(f,g+r),t.quadraticCurveTo(f,g,f-r,g),t.lineTo(s-a,g),t.lineTo(s,g-a),t.lineTo(s+a,g),t.lineTo(u+r,g),t.closePath(),t.fill(),t.restore(),t.save(),t.font="normal normal bold 12px Roboto",t.fillStyle=h||"#FFF",t.textBaseline="middle",t.textAlign="center",t.fillText(`${c}`,s,g+o/2),t.restore(),t.beginPath()},isPieType(e){return e==="pie"||e==="doughnut"||e==="sunburst"},isDoughnutHole(e){return e==="doughnut"||e==="sunburst"},setDOMStyle(e,t){var n;!e||!t||(n=Object.keys(t))==null||n.forEach(o=>{e.style[o]=t[o]})},checkSafeInteger(e){return e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER},htmlToElement(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstChild},isNullOrUndefined(e){return e==null},rgbaAdjustHalfOpacity(e){const t=/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/,n=/^rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)$/;if(t.test(e)){const[,o,s,l]=e.match(t);return`rgba(${o}, ${s}, ${l}, 0.5)`}if(n.test(e)){const[,o,s,l,a]=e.match(n),r=(parseFloat(a)/2).toFixed(2);return`rgba(${o}, ${s}, ${l}, ${r})`}return e.startsWith("#")&&e.length>7?e:`${e}80`},calcBoxDistance(e,t,n){if(e.w!==null&&e.w!==void 0&&e.h!==null&&e.h!==void 0){const o=e.xp,s=e.yp,l=Math.min(o,o+e.w),a=Math.max(o,o+e.w),r=Math.min(s,s+e.h),c=Math.max(s,s+e.h),d=Math.max(0,l-t,t-a),h=Math.max(0,r-n,n-c);return d*d+h*h}return(e.xp-t)**2+(e.yp-n)**2}};function mC(e){const t=(String(e).split(".")[1]??"").length;return e.toFixed(t+1)}var gC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function pC(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Mr={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(gC,function(){var n=1e3,o=6e4,s=36e5,l="millisecond",a="second",r="minute",c="hour",d="day",h="week",u="month",f="quarter",g="year",p="date",m="Invalid Date",x=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(L){var R=["th","st","nd","rd"],v=L%100;return"["+L+(R[(v-20)%10]||R[v]||R[0])+"]"}},M=function(L,R,v){var N=String(L);return!N||N.length>=R?L:""+Array(R+1-N.length).join(v)+L},E={s:M,z:function(L){var R=-L.utcOffset(),v=Math.abs(R),N=Math.floor(v/60),O=v%60;return(R<=0?"+":"-")+M(N,2,"0")+":"+M(O,2,"0")},m:function L(R,v){if(R.date()<v.date())return-L(v,R);var N=12*(v.year()-R.year())+(v.month()-R.month()),O=R.clone().add(N,u),P=v-O<0,_=R.clone().add(N+(P?-1:1),u);return+(-(N+(v-O)/(P?O-_:_-O))||0)},a:function(L){return L<0?Math.ceil(L)||0:Math.floor(L)},p:function(L){return{M:u,y:g,w:h,d,D:p,h:c,m:r,s:a,ms:l,Q:f}[L]||String(L||"").toLowerCase().replace(/s$/,"")},u:function(L){return L===void 0}},I="en",T={};T[I]=y;var V="$isDayjsObject",C=function(L){return L instanceof B||!(!L||!L[V])},S=function L(R,v,N){var O;if(!R)return I;if(typeof R=="string"){var P=R.toLowerCase();T[P]&&(O=P),v&&(T[P]=v,O=P);var _=R.split("-");if(!O&&_.length>1)return L(_[0])}else{var A=R.name;T[A]=R,O=A}return!N&&O&&(I=O),O||!N&&I},k=function(L,R){if(C(L))return L.clone();var v=typeof R=="object"?R:{};return v.date=L,v.args=arguments,new B(v)},w=E;w.l=S,w.i=C,w.w=function(L,R){return k(L,{locale:R.$L,utc:R.$u,x:R.$x,$offset:R.$offset})};var B=function(){function L(v){this.$L=S(v.locale,null,!0),this.parse(v),this.$x=this.$x||v.x||{},this[V]=!0}var R=L.prototype;return R.parse=function(v){this.$d=function(N){var O=N.date,P=N.utc;if(O===null)return new Date(NaN);if(w.u(O))return new Date;if(O instanceof Date)return new Date(O);if(typeof O=="string"&&!/Z$/i.test(O)){var _=O.match(x);if(_){var A=_[2]-1||0,z=(_[7]||"0").substring(0,3);return P?new Date(Date.UTC(_[1],A,_[3]||1,_[4]||0,_[5]||0,_[6]||0,z)):new Date(_[1],A,_[3]||1,_[4]||0,_[5]||0,_[6]||0,z)}}return new Date(O)}(v),this.init()},R.init=function(){var v=this.$d;this.$y=v.getFullYear(),this.$M=v.getMonth(),this.$D=v.getDate(),this.$W=v.getDay(),this.$H=v.getHours(),this.$m=v.getMinutes(),this.$s=v.getSeconds(),this.$ms=v.getMilliseconds()},R.$utils=function(){return w},R.isValid=function(){return this.$d.toString()!==m},R.isSame=function(v,N){var O=k(v);return this.startOf(N)<=O&&O<=this.endOf(N)},R.isAfter=function(v,N){return k(v)<this.startOf(N)},R.isBefore=function(v,N){return this.endOf(N)<k(v)},R.$g=function(v,N,O){return w.u(v)?this[N]:this.set(O,v)},R.unix=function(){return Math.floor(this.valueOf()/1e3)},R.valueOf=function(){return this.$d.getTime()},R.startOf=function(v,N){var O=this,P=!!w.u(N)||N,_=w.p(v),A=function(q,ee){var J=w.w(O.$u?Date.UTC(O.$y,ee,q):new Date(O.$y,ee,q),O);return P?J:J.endOf(d)},z=function(q,ee){return w.w(O.toDate()[q].apply(O.toDate("s"),(P?[0,0,0,0]:[23,59,59,999]).slice(ee)),O)},$=this.$W,W=this.$M,F=this.$D,U="set"+(this.$u?"UTC":"");switch(_){case g:return P?A(1,0):A(31,11);case u:return P?A(1,W):A(0,W+1);case h:var j=this.$locale().weekStart||0,K=($<j?$+7:$)-j;return A(P?F-K:F+(6-K),W);case d:case p:return z(U+"Hours",0);case c:return z(U+"Minutes",1);case r:return z(U+"Seconds",2);case a:return z(U+"Milliseconds",3);default:return this.clone()}},R.endOf=function(v){return this.startOf(v,!1)},R.$set=function(v,N){var O,P=w.p(v),_="set"+(this.$u?"UTC":""),A=(O={},O[d]=_+"Date",O[p]=_+"Date",O[u]=_+"Month",O[g]=_+"FullYear",O[c]=_+"Hours",O[r]=_+"Minutes",O[a]=_+"Seconds",O[l]=_+"Milliseconds",O)[P],z=P===d?this.$D+(N-this.$W):N;if(P===u||P===g){var $=this.clone().set(p,1);$.$d[A](z),$.init(),this.$d=$.set(p,Math.min(this.$D,$.daysInMonth())).$d}else A&&this.$d[A](z);return this.init(),this},R.set=function(v,N){return this.clone().$set(v,N)},R.get=function(v){return this[w.p(v)]()},R.add=function(v,N){var O,P=this;v=Number(v);var _=w.p(N),A=function(W){var F=k(P);return w.w(F.date(F.date()+Math.round(W*v)),P)};if(_===u)return this.set(u,this.$M+v);if(_===g)return this.set(g,this.$y+v);if(_===d)return A(1);if(_===h)return A(7);var z=(O={},O[r]=o,O[c]=s,O[a]=n,O)[_]||1,$=this.$d.getTime()+v*z;return w.w($,this)},R.subtract=function(v,N){return this.add(-1*v,N)},R.format=function(v){var N=this,O=this.$locale();if(!this.isValid())return O.invalidDate||m;var P=v||"YYYY-MM-DDTHH:mm:ssZ",_=w.z(this),A=this.$H,z=this.$m,$=this.$M,W=O.weekdays,F=O.months,U=O.meridiem,j=function(ee,J,te,G){return ee&&(ee[J]||ee(N,P))||te[J].slice(0,G)},K=function(ee){return w.s(A%12||12,ee,"0")},q=U||function(ee,J,te){var G=ee<12?"AM":"PM";return te?G.toLowerCase():G};return P.replace(b,function(ee,J){return J||function(te){switch(te){case"YY":return String(N.$y).slice(-2);case"YYYY":return w.s(N.$y,4,"0");case"M":return $+1;case"MM":return w.s($+1,2,"0");case"MMM":return j(O.monthsShort,$,F,3);case"MMMM":return j(F,$);case"D":return N.$D;case"DD":return w.s(N.$D,2,"0");case"d":return String(N.$W);case"dd":return j(O.weekdaysMin,N.$W,W,2);case"ddd":return j(O.weekdaysShort,N.$W,W,3);case"dddd":return W[N.$W];case"H":return String(A);case"HH":return w.s(A,2,"0");case"h":return K(1);case"hh":return K(2);case"a":return q(A,z,!0);case"A":return q(A,z,!1);case"m":return String(z);case"mm":return w.s(z,2,"0");case"s":return String(N.$s);case"ss":return w.s(N.$s,2,"0");case"SSS":return w.s(N.$ms,3,"0");case"Z":return _}return null}(ee)||_.replace(":","")})},R.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},R.diff=function(v,N,O){var P,_=this,A=w.p(N),z=k(v),$=(z.utcOffset()-this.utcOffset())*o,W=this-z,F=function(){return w.m(_,z)};switch(A){case g:P=F()/12;break;case u:P=F();break;case f:P=F()/3;break;case h:P=(W-$)/6048e5;break;case d:P=(W-$)/864e5;break;case c:P=W/s;break;case r:P=W/o;break;case a:P=W/n;break;default:P=W}return O?P:w.a(P)},R.daysInMonth=function(){return this.endOf(u).$D},R.$locale=function(){return T[this.$L]},R.locale=function(v,N){if(!v)return this.$L;var O=this.clone(),P=S(v,N,!0);return P&&(O.$L=P),O},R.clone=function(){return w.w(this.$d,this)},R.toDate=function(){return new Date(this.valueOf())},R.toJSON=function(){return this.isValid()?this.toISOString():null},R.toISOString=function(){return this.$d.toISOString()},R.toString=function(){return this.$d.toUTCString()},L}(),D=B.prototype;return k.prototype=D,[["$ms",l],["$s",a],["$m",r],["$H",c],["$W",d],["$M",u],["$y",g],["$D",p]].forEach(function(L){D[L[1]]=function(R){return this.$g(R,L[0],L[1])}}),k.extend=function(L,R){return L.$i||(L(R,B,k),L.$i=!0),k},k.locale=S,k.isDayjs=C,k.unix=function(L){return k(1e3*L)},k.en=T[I],k.Ls=T,k.p={},k})})(Mr);var yC=Mr.exports;const Je=pC(yC),xC={createDataSet(e,t){Object.keys(this.seriesInfo.charts).forEach(n=>{const o=this.seriesInfo.charts[n];o.length&&(n==="pie"?this.options.sunburst?this.createSunburstDataSet(e):this.createPieDataSet(e,o):n==="scatter"?o.forEach(s=>{const l=this.seriesList[s],a=e[s],r=l==null?void 0:l.passingValue;l&&a&&(l.data=this.addSeriesDSforScatter(a),l.minMax=this.getSeriesMinMax(l.data,r))}):n==="heatMap"?o.forEach(s=>{const l=this.seriesList[s],a=l==null?void 0:l.passingValue,r=e[s];l&&r&&(l.labels=t,l.data=this.addSeriesDSForHeatMap(r),l.minMax=this.getSeriesMinMax(l.data,a),l.valueOpt=this.getSeriesValueOptForHeatMap(l))}):o.forEach(s=>{var c,d;const l=this.seriesList[s],a=(c=e==null?void 0:e[s])==null?void 0:c.some(h=>h===l.passingValue);l.hasPassingValueInData=a;const r=(d=e==null?void 0:e[s])==null?void 0:d.map(h=>l.interpolation==="zero"&&!h?0:h===l.passingValue?null:h);l&&r&&(l.isExistGrp&&l.stackIndex&&!l.isOverlapping?l.data=this.addSeriesStackDS(r,t,l.bsIds,l.stackIndex):l.data=this.addSeriesDS(r,t,l.isExistGrp),l.minMax=this.getSeriesMinMax(l.data,l.passingValue))}))})},createRealTimeScatterDataSet(e){var o,s,l;const t=Object.keys(e),n={maxY:0,minY:1/0,fromTime:0,toTime:0};for(let a=0;a<t.length;a++){const r=t[a],c=e[r],d=c==null?void 0:c.length;if(!this.isInit||this.updateSeries||!this.dataSet[r]){const k={dataGroup:[],startIndex:0,endIndex:null,length:0,fromTime:0,toTime:0};this.dataSet[r]={...k,...this.dataSet[r]}}const h=this.dataSet[r],u=h.dataGroup,f=this.options.realTimeScatter.range||300,g=h.length!==f;h.length=f;const p=h.length;let m=0;for(let k=0;k<d;k++){const w=c[k];w&&m<w.x&&(m=w.x)}m=m?Math.floor(m/1e3)*1e3:0;const x=((l=(s=(o=u.at(-1))==null?void 0:o.data)==null?void 0:s.at(-1))==null?void 0:l.x)||Date.now(),b=Math.floor(x/1e3)*1e3,y=h.toTime||b,M=m||y;if(h.endIndex==null||g){h.startIndex=0,h.endIndex=p-1,u.length=p;for(let k=0;k<p;k++)u[k]=u[k]||{data:[],max:0,min:1/0},u[k].data.length=0,u[k].max=0,u[k].min=1/0;h.toTime=M,h.fromTime=h.toTime-p*1e3}const E=(M-y)/1e3,I=Number.isFinite(E)?Math.max(0,Math.floor(E)):0;if(h.toTime=M,h.fromTime=h.toTime-p*1e3,m&&(h.toTime-m)/1e3>p&&r==="")return;const T=k=>{k.data.length=0,k.max=0,k.min=1/0};for(let k=0;k<p;k++)u[k]?u[k].data||(u[k].data=[],u[k].max=0,u[k].min=1/0):u[k]={data:[],max:0,min:1/0};if(I>0)if(I>=p){for(let k=0;k<p;k++)T(u[k]);h.startIndex=0,h.endIndex=p-1}else{let k=h.startIndex,w=h.endIndex;for(let B=0;B<I;B++)T(u[k]),k=(k+1)%p,w=(w+1)%p;h.startIndex=k,h.endIndex=w}for(let k=0;k<d;k++){const w=c[k];if(w){const B=Math.floor(w.x/1e3)*1e3;if(h.fromTime<=B){let D=h.endIndex-(h.toTime-B)/1e3;D<0&&(D=p+D);const L=u[D];L.data.push({x:w.x,y:w.y,o:w.value??w.y,color:w.color}),L.max=Math.max(L.max,w.y),L.min=Math.min(L.min,w.y)}}}const V=1e3,C={maxY:0,minY:1/0};for(let k=0;k<p;k++){const w=u[k];for(let B=0;B<w.data.length;B++){const D=w.data[B],L=Math.floor(D.x/V)*V;L>=h.fromTime&&L<=h.toTime&&Number.isFinite(D.y)&&(D.y>C.maxY&&(C.maxY=D.y),D.y<C.minY&&(C.minY=D.y))}}Number.isFinite(C.minY)&&(n.maxY=Math.max(n.maxY,C.maxY),n.minY=Math.min(n.minY,C.minY)),n.fromTime=h.fromTime,n.toTime=h.toTime}Number.isFinite(n.minY)||(n.minY=0,n.maxY=0),this.seriesInfo.charts.scatter.forEach(a=>{const r=this.seriesList[a];r.data=this.dataSet,r.minMax={minX:Je(n.fromTime),minY:n.minY,maxX:Je(n.toTime),maxY:n.maxY}})},createSunburstDataSet(e){this.pieDataSet=[];const t=this.pieDataSet,n=[];for(let o=0;o<e.length;o++){const s=e[o],l=this.seriesList[s.id];let a=!1;if(t[0]||(t[0]={ir:0,or:0,total:0,data:[]}),l.show){if(t[0].total+=s.value||0,t[0].data.push({parent:"$ev-root",id:s.id,value:s.value,sa:0,ea:0}),s.children)for(let r=0;r<s.children.length;r++)this.seriesList[s.children[r].id].show&&(a=!0),n.push({parent:s.id,data:s.children[r],depth:1});else{const r={id:"dummy",value:s.value};n.push({parent:s.id,data:r,depth:1})}if(!a){const r={id:"dummy",value:s.value};n.push({parent:s.id,data:r,depth:1})}}}for(t[0].data.sort((o,s)=>s.value-o.value);n.length;){const o=n.shift(),s=o.parent,l=o.data,a=o.depth;let r=!1;t[a]||(t[a]={ir:0,or:0,total:{},data:[]}),t[a].total[s]||(t[a].total[s]=0);const c=this.seriesList[l.id];if(l.id==="dummy")t[a].data.push({parent:s,id:"dummy",value:l.value,sa:0,ea:0}),t[a].total[s]+=l.value;else if(c&&c.show){if(t[a].data.push({parent:s,id:l.id,value:l.value,sa:0,ea:0}),t[a].total[s]+=l.value,l.children)for(let d=0;d<l.children.length;d++)this.seriesList[l.children[d].id].show&&(r=!0),n.push({parent:l.id,data:l.children[d],depth:a+1});else{const d={id:"dummy",value:l.value};n.push({parent:l.id,data:d,depth:a+1})}if(!r){const d={id:"dummy",value:l.value};n.push({parent:l.id,data:d,depth:a+1})}}t[a].data.sort((d,h)=>h.value-d.value)}},createPieDataSet(e,t){this.pieDataSet=[];const n=this.pieDataSet;n[0]={data:[],ir:0,or:0,total:0},t.forEach(o=>{if(this.seriesList[o].show){const s=e[o][0]??0;n[0].total+=s,n[0].data.push({id:o,value:s,sa:0,ea:0})}}),n.forEach(o=>{o.data.sort((s,l)=>l.value-s.value)})},addSeriesStackDS(e,t,n,o=0){const s=this.seriesList,l=this.options.horizontal,a=[],r=new Map,c=(h,u,f)=>{const g=`${h}-${u}-${f>=0?"pos":"neg"}`;if(r.has(g))return r.get(g);let p=0,m=h;for(;m>=0;){const x=s[n[m]];if(x!=null&&x.show){const b=x.data[u],y=l?b==null?void 0:b.x:b==null?void 0:b.y,M=b==null?void 0:b.o,E=!Y.isNullOrUndefined(x.passingValue)&&x.passingValue===M,I=f>=0&&M>=0||f<0&&M<0;if(y!=null&&!E&&I){p=y;break}}m--}return r.set(g,p),p},d=n.length-1;return e.forEach((h,u)=>{const f=Math.max(0,d);let g=c(f,u,h),p=h,m=t[u],x=h;if(g!=null&&m!=null){x&&typeof x=="object"&&("x"in x||"y"in x)&&(p=l?h.x:h.y,m=l?h.y:h.x);const b=(p==null?void 0:p.value)??p;o>0?b!=null?x=g+b:x=p:(g=0,x=b),a.push(this.addData(x,m,p,g))}}),a},addSeriesDS(e,t,n){var a;const o=this.options.horizontal,s=[],l=(a=this.seriesList[Object.keys(this.seriesList)[0]])==null?void 0:a.passingValue;return e.forEach((r,c)=>{let d=r,h=t[c];if(d&&typeof d=="object"&&(r.x||r.y)&&(d=o?r.x:r.y,h=o?r.y:r.x),h!==null){const u=n&&!Y.isNullOrUndefined(l)&&d===l;s.push(this.addData(u?0:d,h,d))}}),s},addSeriesDSforScatter(e){return e.map(t=>{const n=t.x,o={value:t.y,color:(t==null?void 0:t.color)||null};return this.addData(o,n,o)})},addSeriesDSForHeatMap(e){return e.map(({x:t,y:n,value:o,color:s=null})=>({x:t,y:n,o,xp:null,yp:null,w:null,h:null,dataColor:s,cId:null}))},addData(e,t,n=null,o=null){let s,l=null,a=null,r=null,c=null,d=null;return e!==null&&typeof e=="object"?(l=e.value,r=e.color,d=e.textColor):l=e??null,n!==null&&typeof n=="object"?(a=n.value,c=n.color):a=n??null,this.options.horizontal?s={x:l,y:t,o:a,b:o}:s={x:t,y:l,o:a,b:o},s.xp=null,s.yp=null,s.w=null,s.h=null,s.dataColor=r??c,s.dataTextColor=d,s},getSeriesMinMax(e,t){const n={minX:null,minY:null,maxX:null,maxY:null,maxDomain:null},o=this.options.horizontal;if(e.length){const s=!Y.isNullOrUndefined(t);return e.reduce((l,a,r)=>{var f,g,p;const c=l,d=((f=a.x)==null?void 0:f.value)||a.x,h=((g=a.y)==null?void 0:g.value)||a.y,u=((p=a.o)==null?void 0:p.value)||a.o;return(s?u!==t&&d<=c.minX:d<=c.minX)&&(c.minX=d===null?0:d),(s?u!==t&&h<=c.minY:h<=c.minY)&&(c.minY=h===null?0:h),(s?u!==t&&d>=c.maxX:d>=c.maxX)&&(c.maxX=d===null?0:d,o&&d!==null&&(c.maxDomain=h,c.maxDomainIndex=r)),(s?u!==t&&h>=c.maxY:h>=c.maxY)&&(c.maxY=h===null?0:h,!o&&h!==null&&(c.maxDomain=d,c.maxDomainIndex=r)),c},{minX:e[0].x,minY:e[0].y,maxX:e[0].x,maxY:e[0].y,maxDomain:o?e[0].y:e[0].x,maxDomainIndex:0})}return n},getSeriesValueOptForHeatMap(e){const{data:t,colorState:n,isGradient:o}=e,s=this.options.heatMapColor,l=s.colorsByRange.length||s.rangeCount,a=s.decimalPoint;let r,c=0,d=!1;t.forEach(({o:u})=>{c<u&&(c=Math.max(c,u)),u<0?d=!0:r===void 0?r=u:r=Math.min(r,u)}),d&&!o&&n.length===l&&n.push({id:`color#${l}`,color:s.error,state:"normal",label:"Error",show:!0});let h=c>r?Math.floor((c-r)/l):1;return c-r<=l&&(a>0?h=+((c-r)/l).toFixed(a):h=1),{min:r,max:c,interval:h,existError:d,decimalPoint:a}},getItemByLabelIndex(e){if(e<0)return!1;const t=Object.keys(this.seriesList),n=!!this.options.horizontal;let o=null,s=null,l=null,a="",r=0,c=!1,d=!1;if(e>-1){for(let h=0;h<t.length;h++){const u=t[h],f=this.seriesList[u],g=f.data[e];if(g&&f.show&&f.showLegend){const p=n?g.y:g.x,m=n?g.yp:g.xp;if(p!=null){const x=n?g.o||g.x:g.o||g.y;f.stackIndex?(r+=isNaN(g.o)?0:g.o,c=!0):r+=g.y,(l===null||l<=x)&&(l=x,a=u,o=p,s=m)}}}d={label:o,pos:s,value:l===null?0:l,sId:a,acc:r,useStack:c,maxIndex:e}}return d},getItem(e,t=!1){const{seriesID:n,dataIndex:o}=e;let s;if("seriesID"in e){const l=this.getDataByValues(n,o);if(!l||!(l!=null&&l.xp)||!(l!=null&&l.yp))return null;s=[this.getHitItemByPosition([l.xp,l.yp],t,o,!0)]}else{const l=Object.entries(this.seriesList);let a;for(let r=0;r<l.length;r++){const[c,d]=l[r];if(d.show){a=c;break}}s=o==null?void 0:o.map(r=>{const c=this.getDataByValues(a,r);return c?this.getHitItemByPosition([(c==null?void 0:c.xp)??0,(c==null?void 0:c.yp)??0],t,r,!0):null})}return s},getDataByValues(e,t){const n=this.seriesList[e];return!n||isNaN(t)||t<0||(n==null?void 0:n.data.length)<=t?!1:n.data[t]},getHitItemByPosition(e,t=!1,n,o=!1,s=!1){var B;const l=Object.keys(this.seriesList),a=!!this.options.horizontal,[r,c]=e;let d=n;if(d===void 0&&!t){const D=l.find(L=>{var v;const R=this.seriesList[L];return(R==null?void 0:R.show)&&((v=R==null?void 0:R.data)==null?void 0:v.length)>0});if(D){const L=this.seriesList[D].data,R=a?e[1]:e[0];let v=1/0,N=-1;for(let O=0;O<L.length;O++){const P=s||l.some(A=>{var $,W,F,U;const z=this.seriesList[A];return(z==null?void 0:z.show)&&((W=($=z.data)==null?void 0:$[O])==null?void 0:W.o)!==null&&((U=(F=z.data)==null?void 0:F[O])==null?void 0:U.o)!==void 0}),_=L[O];if(P&&_){let A;if(a?A=_.h?_.yp+_.h/2:_.yp:A=_.w?_.xp+_.w/2:_.xp,A!=null){const z=Math.abs(R-A);z<v&&(v=z,N=O)}}}N!==-1&&(d=N)}}let h=null,u=null,f=null,g=null,p="",m=null,x=1/0,b=!1,y=null,M=null,E=null,I=null,T="",V=null,C=1/0,S=0,k=!1;for(let D=0;D<l.length;D++){const L=l[D],R=this.seriesList[L],v=t?R.findApproximateData:R.findGraphData;if(v){const N=v.call(R,e,a,d,o),O=N.data,P=N.index;if(O)if(Y.isPieType(N.type))h=N.type,u=L,p=L,f=(O.ea-O.sa)/2,g=O.o,m=O.index;else{const _=a?O.y:O.x,A=a?O.yp:O.xp;if(_!=null){const z=a?O.o||O.x:O.o||O.y;R.stackIndex!=null?(S+=isNaN(O.o)?0:O.o,k=!0):S+=O.y;const $=z!=null&&!Number.isNaN(z),W=O.xp!==null&&O.xp!==void 0&&O.yp!==null&&O.yp!==void 0;if($&&W){const F=Y.calcBoxDistance(O,r,c);(T===""||F<C)&&(C=F,y=R.type,M=_,E=A,I=z,T=L,V=P)}else $&&T===""&&(y=R.type,M=_,E=A,I=z,T=L,V=P);if(N.hit&&O.xp!==void 0&&O.yp!==void 0){const F=(O.xp-e[0])**2+(O.yp-e[1])**2;N.directHit?((!b||F<x)&&(x=F,h=R.type,u=_,f=A,g=z,p=L,m=P),b=!0):b||F<x&&(x=F,h=R.type,u=_,f=A,g=z,p=L,m=P)}}}}}if(s&&p===""&&T===""&&d!==void 0&&d>=0){const D=l.find(R=>{var N;const v=this.seriesList[R];return(v==null?void 0:v.show)&&((N=v==null?void 0:v.data)==null?void 0:N.length)>0}),L=D?(B=this.seriesList[D].data)==null?void 0:B[d]:null;L&&(M=a?L.y:L.x,V=d)}const w=p!=="";return{type:w?h:y,label:w?u:M,pos:w?f:E,value:(w?g:I)??0,sId:w?p:T,acc:S,useStack:k,dataIndex:w?m:V}},getLabelInfoByPosition(e,t){var m,x,b;const[n,o]=e,s={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},l=this.data.series,a=((m=Object.values(l).sort((y,M)=>M.pointSize??0-y.pointSize??0)[0])==null?void 0:m.pointSize)??3,{horizontal:r,selectLabel:c}=this.options;let d,h;t==="xAxis"?(d=this.axesX[0],h=this.scrollbar.x):t==="yAxis"?(d=this.axesY[0],h=this.scrollbar.y):(d=r?this.axesY[0]:this.axesX[0],h=r?this.scrollbar.y:this.scrollbar.x);const u=s[d.units.rectStart],f=s[d.units.rectEnd];let g,p;if(h!=null&&h.use&&((x=d==null?void 0:d.labels)!=null&&x.length)){const{type:y,range:M,interval:E=1}=h,[I,T]=M??[0,d.labels.length],V=Math.floor((+T-+I)/E)+1,C=(f-u)/V,k=Math.floor(((t==="yAxis"||r?o:n)-u)/C);y==="step"?g=I+k:g=(d==null?void 0:d.labels.findIndex(B=>B===+I))+k}else if((b=d==null?void 0:d.labels)!=null&&b.length){const y=(f-u)/d.labels.length,E=Math.floor(((t==="yAxis"?o:n)-u)/y);g=d.labels.length>E?E:-1}else{let y,M;n<u-a?(y=u,M=0):n>f+a?(y=f,M=this.data.labels.length-1):y=n,p=this.getHitItemByPosition([y,o],c==null?void 0:c.useApproximateValue,M,!0),g=p.dataIndex??-1}return{labelIndex:g,hitInfo:p}},getCurMouseLabelVal(e,t,n){const{type:o,horizontal:s}=this.options,l=e==="xAxis",a=l?"x":"y";let r="",c=-1;const d=()=>{let u="";switch(o){case"bar":case"line":{u=s&&!l||!s&&l?this.data.labels[n]:"";break}case"heatMap":{u=this.data.labels[a][n];break}}return u},h=()=>{let u="";const f={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},{steps:g,interval:p,graphMin:m}=this.axesSteps[a][0],{width:x,height:b}=this.axesRange[a][0].size,y=l?this.axesX:this.axesY,M=f[y[0].units.rectStart],E=f[y[0].units.rectEnd],I=Math.abs(t[l?0:1]-M),T=(l?x:b)/2,V=Math.abs(M-E)/g,C=Math.floor((I+T)/V);return V*C+T>I&&V*C-T<I&&(u=C*p+m),u};return typeof n=="number"&&(r=d(),c=n),r||(r=h(),c=-1),{labelVal:r,labelIdx:c}},getStoreMinMax(){const e=Object.keys(this.seriesList),t=this.options.horizontal,n={x:[{min:null,max:null}],y:[{min:null,max:null}]};return e.length?e.reduce((o,s)=>{const l=o,a=this.seriesList[s],r=a.minMax,c=a.xAxisIndex,d=a.yAxisIndex;if(l.x[c]||(l.x[c]={min:null,max:null,maxSID:null}),l.y[d]||(l.y[d]={min:null,max:null,maxSID:null}),r&&a.show){t?((l.x[c].min===null||r.minX!==null&&r.minX<l.x[c].min)&&(l.x[c].min=r.minX),r.minY!==null&&(l.y[d].min===null||r.minY!==null&&r.minY<l.y[d].min)&&(l.y[d].min=r.minY)):(r.minX!==null&&(l.x[c].min===null||r.minX!==null&&r.minX<l.x[c].min)&&(l.x[c].min=r.minX),(l.y[d].min===null||r.minY!==null&&r.minY<l.y[d].min)&&(l.y[d].min=r.minY));const h=this.seriesList[s].isExistGrp,u=l.x[c].max<0;(h&&u||!l.x[c].max||r.maxX>=l.x[c].max)&&(l.x[c].max=r.maxX,l.x[c].maxSID=s);const f=l.y[d].max<0;(h&&f||!l.y[d].max||r.maxY>=l.y[d].max)&&(l.y[d].max=r.maxY,l.y[d].maxSID=s)}return l},{x:[{min:null,max:null,maxSID:null}],y:[{min:null,max:null,maxSID:null}]}):n},calculateAngle(){const e=this.pieDataSet;let t,n,o,s,l,a,r,c,d;const h=[],u={"$ev-root":1.5*Math.PI};for(let f=0;f<e.length;f++){const g=e[f];d=!0;for(let p=0;p<g.data.length;p++)if(t=g.data[p],n=t.value,d&&(d=t.id==="dummy"),!f)a=u["$ev-root"],l=2*Math.PI*(n/g.total),r=a+l,t.sa=a,t.ea=r,u["$ev-root"]+=l;else{if(o=this.getParentInfo(f-1,t.parent),!o)break;u[t.parent]||(u[t.parent]=o.sa),a=u[t.parent],c=o.ea-o.sa,s=g.total[t.parent]||0,l=c*(n/s),r=a+l,t.sa=a,t.ea=r,u[t.parent]+=l}d&&h.push(f)}for(let f=0;f<h.length;f++)this.pieDataSet.splice(h,1);this.options.reverse&&(this.pieDataSet=zp(this.pieDataSet))},getParentInfo(e,t){for(let n=e;n>=0;n--){const o=this.pieDataSet[n];for(let s=0;s<o.data.length;s++)if(o.data[s].id===t)return o.data[s]}return null},getAggregations(){const e=this.data.data,t=this.data.series,n={},o=Object.keys(t);return o==null||o.forEach(s=>{const l=e[s].map(f=>f!=null&&f.value?f.value:f),a=l[l.length-1],r=l.filter(f=>f!=null),c=Math.min(...r),d=Math.max(...r),h=r.reduce((f,g)=>f+g,0),u=h/r.length||0;(!Y.checkSafeInteger(c)||!Y.checkSafeInteger(d)||!Y.checkSafeInteger(u)||!Y.checkSafeInteger(h)||!Y.checkSafeInteger(a))&&console.warn("[EVUI][Chart] The aggregated value exceeds 9007199254740991 or less than -9007199254740991."),n[s]={min:c,max:d,avg:u,total:h,last:a}}),n}},bC={x:{rectStart:"x1",rectEnd:"x2",rectOffsetCounter:e=>e==="top"?"y2":"y1",rectOffset:e=>e==="top"?"y1":"y2"},y:{rectStart:"y2",rectEnd:"y1",rectOffsetCounter:e=>e==="left"?"x2":"x1",rectOffset:e=>e==="left"?"x1":"x2"}},Vt=["#2b99f0","#8ac449","#00C4C5","#ffde00","#ff7781","#8470ff","#75cd8e","#48d1cc","#fec64f","#fe984f","#0052ff","#00a48c","#83cfde","#dfe32d","#ff7d40","#99c7ff","#a5fee3","#0379c9","#eef093","#ffa891","#00c5cd","#009bc7","#cacaff","#ffc125","#df6264"],oo={show:!0,highlight:{defaultSize:4,maxSize:6,maxShadowSize:10,maxShadowOpacity:.4},xAxisIndex:0,yAxisIndex:0,point:!0,pointHighlight:!0,pointSize:3,pointStyle:"",lineWidth:2,fill:!1,fillOpacity:.4,showLegend:!0,passingValue:null,interpolation:"none"},CC={show:!0,highlight:{pointSize:5},xAxisIndex:0,yAxisIndex:0,category:!0,showLegend:!0,showValue:{use:!1,fontSize:12,textColor:"#000000",formatter:null,decimalPoint:null}},SC={show:!0,showLegend:!0,stroke:{show:!0,color:"#FFFFFF",lineWidth:2},showValue:{use:!1,fontSize:12,textColor:"#000000",formatter:null}},Ir={min:null,max:null,autoScaleRatio:null,startToZero:!1,showAxis:!0,axisLineColor:"#C9CFDC",axisLineWidth:1,showGrid:!0,gridLineColor:"#C9CFDC",showAxisTick:!0,showIndicator:!1,timeFormat:"mm:ss",range:null,interval:null,decimalPoint:"auto",fixedSteps:!1,scaleChange:!1,labelStyle:{show:!0,fontSize:12,color:"#25262E",fontFamily:"Roboto",fontWeight:400,fitWidth:!1,fitDir:"right",alignToGridLine:!1,padding:0,fixWidth:void 0},showLastLabel:!1,lastLabelFontStyle:null,title:{use:!1,text:null,fontWeight:400,fontSize:12,fontFamily:"Roboto",textAlign:"right",fontStyle:"normal",color:"#808080"},scrollbar:{use:!1,width:14,height:14,background:"#F2F2F2",showButton:!0,thumbStyle:{background:"#929292",radius:0}}},Er={show:!1,fontSize:12,fontColor:"#FF0000",fillColor:"#FFFFFF",lineColor:"#FF0000",lineWidth:0,fontWeight:400,fontFamily:"Roboto",verticalAlign:"middle",textAlign:"center",textOverflow:"none",maxWidth:null},vr={color:"#FF0000",lineWidth:1,label:Er},Tr={color:"#FAE59D"},wC={show:!0,xAxisIndex:0,yAxisIndex:0,showLegend:!0,showValue:{use:!1,fontSize:12,textColor:"#000000",formatter:null,decimalPoint:0},highlight:{stroke:{use:!1,color:null,width:1,radius:0},shadow:{use:!0,offsetX:0,offsetY:0,blur:4,color:"#959494"}}},ri={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:26784e5,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},kC=Object.freeze([1,2,5]),ie={calculateX(e,t,n,o,s=0){if(e==null||e>n||e<t)return null;const l=o/(n-t);return Math.ceil(s+l*(e-t))},calculateSubX(e,t,n,o,s=0){if(e==null)return null;const l=o/(n-t);return Math.ceil(s+l*(e-t))},calculateY(e,t,n,o,s=0){let l;if(e==null||e>n||e<t)return null;const a=o/(n-t);return s?l=s-a*(e-(t||0)):l=-(a*(e-(t||0))),Math.floor(l)},drawPoint(e,t,n,o,s){let l,a,r,c,d;if(isNaN(n)||n<=0)return;let h,u,f,g;switch(t){case"triangle":e.beginPath(),l=3*n/Math.sqrt(3),c=l*Math.sqrt(3)/2,e.moveTo(o-l/2,s+c/3),e.lineTo(o+l/2,s+c/3),e.lineTo(o,s-2*c/3),e.closePath(),e.fill();break;case"rect":d=1/Math.SQRT2*n,e.beginPath(),e.fillRect(o-d,s-d,2*d,2*d),e.strokeRect(o-d,s-d,2*d,2*d);break;case"rectRounded":h=n/Math.SQRT2,u=o-h,f=s-h,g=Math.SQRT2*n,e.beginPath(),this.roundedRect(e,u,f,g,g,n/2),e.closePath(),e.fill();break;case"rectRot":d=1/Math.SQRT2*n,e.beginPath(),e.moveTo(o-d,s),e.lineTo(o,s+d),e.lineTo(o+d,s),e.lineTo(o,s-d),e.closePath(),e.fill();break;case"cross":e.beginPath(),e.moveTo(o,s+n),e.lineTo(o,s-n),e.moveTo(o-n,s),e.lineTo(o+n,s),e.closePath();break;case"crossRot":e.beginPath(),a=Math.cos(Math.PI/4)*n,r=Math.sin(Math.PI/4)*n,e.moveTo(o-a,s-r),e.lineTo(o+a,s+r),e.moveTo(o-a,s+r),e.lineTo(o+a,s-r),e.closePath();break;case"star":e.beginPath(),e.moveTo(o,s+n),e.lineTo(o,s-n),e.moveTo(o-n,s),e.lineTo(o+n,s),a=Math.cos(Math.PI/4)*n,r=Math.sin(Math.PI/4)*n,e.moveTo(o-a,s-r),e.lineTo(o+a,s+r),e.moveTo(o-a,s+r),e.lineTo(o+a,s-r),e.closePath();break;case"line":e.beginPath(),e.moveTo(o-n,s),e.lineTo(o+n,s),e.closePath();break;default:e.beginPath(),e.arc(o,s,n,0,Math.PI*2),e.closePath(),e.fill();break}e.stroke()},roundedRect(e,t,n,o,s,l){const a=Math.PI,r=a/2;if(l){const c=Math.min(l,s/2,o/2),d=t+c,h=n+c,u=t+o-c,f=n+s-c;e.moveTo(t,h),d<u&&h<f?(e.arc(d,h,c,-a,-r),e.arc(u,h,c,-r,0),e.arc(u,f,c,0,r),e.arc(d,f,c,r,a)):d<u?(e.moveTo(d,n),e.arc(u,h,c,-r,r),e.arc(d,h,c,r,a+r)):h<f?(e.arc(d,h,c,-a,0),e.arc(d,f,c,0,a)):e.arc(d,h,c,-a,a),e.closePath(),e.moveTo(t,n)}else e.rect(t,n,o,s)},createGradient(e,t,n,o,s,l){const{x:a,y:r,w:c,h:d}=n;let h;t?h=e.createLinearGradient(a,0,a+c,0):h=e.createLinearGradient(0,r,0,r+d);for(let u=0;u<o.length;u++){const f=o[u][0]??0,g=o[u][1]??"rgba(255, 255, 255, 0)",p=g.includes("rgba")?Y.getOpacity(g):1,m=s?l:p;h.addColorStop(f,Y.colorStringToRgba(g,m))}return h}};class MC{constructor(t,n,o){const s=Fe({},n,oo);Object.keys(s).forEach(l=>{this[l]=s[l]}),this.name===void 0&&(this.name=`series-${o}`),["color","pointFill","fillColor"].forEach(l=>{this[l]===void 0&&(this[l]=l==="pointFill"?this.color:Vt[o%Vt.length])}),this.type="line",this.sId=t,this.extent={downplay:{opacity:.3,lineWidth:1},normal:{opacity:1,lineWidth:1},highlight:{opacity:1,lineWidth:2}},this.data=[],this.beforeMouseXp=0,this.beforeMouseYp=0,this.beforeFindItemIndex=-1,this.size={comboOffset:0}}useLinearInterpolation(){return this.interpolation==="linear"||this.interpolation==="none"&&!!this.passingValue&&this.hasPassingValueInData}draw(t){var P,_,A,z,$,W,F;if(!this.show)return;const{ctx:n,chartRect:o,labelOffset:s,axesSteps:l,selectLabel:a,selectSeries:r,legendHitInfo:c,isBrush:d,unSelectedOpacity:h}=t,u=a==null?void 0:a.option,f=(u==null?void 0:u.use)&&(u==null?void 0:u.useSeriesOpacity),g=((P=a==null?void 0:a.selected)==null?void 0:P.dataIndex)??[];let p;if(c)p=this.extent[(c==null?void 0:c.sId)===this.sId?"highlight":"downplay"];else if((_=r==null?void 0:r.option)!=null&&_.use&&((z=(A=r==null?void 0:r.selected)==null?void 0:A.seriesId)!=null&&z.length)){const U=(W=($=r==null?void 0:r.selected)==null?void 0:$.seriesId)==null?void 0:W.includes(this.sId);p=this.extent[U?"highlight":"downplay"]}else f&&g.length?p=this.extent.downplay:p=this.extent.normal;p===this.extent.downplay&&(p={...p,opacity:h});const m=U=>U!=null&&U.includes("rgba")?Y.getOpacity(U):p.opacity,x=this.color,b=m(x),y=this.pointFill,M=m(y),E=this.extent.downplay?this.fillOpacity*p.opacity:this.fillOpacity,I=this.lineWidth*p.lineWidth;n.beginPath(),n.save(),n.lineJoin="round",n.lineWidth=I,n.strokeStyle=Y.colorStringToRgba(x,b),this.segments&&n.setLineDash(this.segments);const T=this.useLinearInterpolation();let V=0;const C=l.x[this.xAxisIndex],S=l.y[this.yAxisIndex];let k=o.chartWidth-(s.left+s.right);const w=o.chartHeight-(s.top+s.bottom);this.combo&&(V=k/(this.data.length||1),k-=V,this.size.comboOffset=V);const B=o.x1+s.left+V/2,D=o.y2-s.bottom,L=U=>{const j=Math.min(Math.max(U,C.graphMin),C.graphMax);return ie.calculateX(j,C.graphMin,C.graphMax,k,B)},R=U=>{const j=Math.min(Math.max(U,S.graphMin),S.graphMax);return ie.calculateY(j,S.graphMin,S.graphMax,w,D)},v=this.data.some(U=>U.o<0),N=v?R(0):o.y2-s.bottom;let O;if(this.data.forEach(U=>{let j=L(U.x),K=R(U.y);this.isExistGrp&&T&&U.o===null&&(K=R(U.b??0)),j!==null&&(j+=Y.aliasPixel(j)),U.xp=j,U.yp=K,!(T&&U.o===null)&&(pt(O==null?void 0:O.y)&&!this.isExistGrp||!T&&(pt(O==null?void 0:O.y)||pt(U.o))?n.moveTo(j,K):n.lineTo(j,K),O=U)}),n.stroke(),this.segments&&n.setLineDash([]),this.fill&&this.data.length){n.beginPath();const U=Y.colorStringToRgba(this.fillColor||x,E);if((F=this.fill)!=null&&F.gradient){let J=this.data[0].yp,te=this.data[0].y;this.data.forEach(Z=>{Z.yp&&Z.yp<=J?J=Z.yp:Z.y&&Z.y>=te&&(te=Z.y)});const G=n.createLinearGradient(0,o.y2,0,J),oe=p.opacity<1?U:x;G.addColorStop(0,v?oe:U),G.addColorStop(.5,U),G.addColorStop(1,oe),n.fillStyle=G}else n.fillStyle=U;let j=null,K=null;const q=this.data.map(J=>J==null?void 0:J.o),ee=[];for(let J=0;J<q.length+1;J++)if(T&&Pp(q[J])||!T&&pt(q[J])){if(j!==null&&K!==null){const G=q.slice(j,J).findLastIndex(oe=>!pt(oe)&&oe!==null);ee.push([j,j+G]),j=null,K=null}}else T&&q[J]===null||(j=j===null?J:j),K=J;ee.forEach(([J,te])=>{if(J===te){const G=this.data[J];n.moveTo(G.xp-I,G.yp),n.lineTo(G.xp+I,G.yp),n.lineTo(G.xp+I,R(G.b)??N),n.closePath();return}for(let G=J;G<=te;G++){const oe=this.data[G];if(G===J?n.moveTo(oe.xp,oe.yp):oe.o!==null&&n.lineTo(oe.xp,oe.yp),G===te){for(let Z=te;Z>=J;Z--){const ae=this.data[Z],me=L(ae.x);if(ae.o!==null){const re=R(ae.b)??R(0);n.lineTo(me,re)}}n.closePath()}}}),n.fill()}if(!d){n.strokeStyle=Y.colorStringToRgba(x,b);const U=Y.colorStringToRgba(y,1),j=Y.colorStringToRgba(y,M),K=this.interpolation==="linear"&&this.data.filter(q=>q.o!==null).length===1;this.data.forEach((q,ee)=>{var Z,ae;if(q.xp===null||q.yp===null||q.o===null)return;const J=(Z=this.data[ee-1])==null?void 0:Z.o,te=(ae=this.data[ee+1])==null?void 0:ae.o,G=!T&&pt(J)&&pt(te)||K,oe=g.includes(ee);(this.point||G||oe)&&(n.fillStyle=oe&&!c?U:j,ie.drawPoint(n,this.pointStyle,this.pointSize,q.xp,q.yp))})}n.restore()}itemHighlight(t,n){const o=t.data,s=n,{xp:l,yp:a,o:r}=o;s.save(),l!==null&&a!==null&&r!==null&&this.pointHighlight&&(s.strokeStyle=Y.colorStringToRgba(this.color,0),s.fillStyle=Y.colorStringToRgba(this.color,this.highlight.maxShadowOpacity),ie.drawPoint(s,this.pointStyle,this.highlight.maxShadowSize,l,a),s.fillStyle=this.color,ie.drawPoint(s,this.pointStyle,this.highlight.maxSize,l,a),s.fillStyle="#fff",ie.drawPoint(s,this.pointStyle,this.highlight.defaultSize,l,a)),s.restore()}findGraphData(t,n,o,s){var f;const l=t[0],a=t[1],r={data:null,hit:!1,color:this.color},c=this.data.filter(g=>!Y.isNullOrUndefined(g.x)),d=this.useLinearInterpolation(),h=Math.max((this.pointSize??oo.pointSize)+oo.pointSize,oo.highlight.maxSize),u=g=>{if(!g||g.xp===void 0||g.yp===void 0)return!1;const p=l-g.xp,m=a-g.yp;return p*p+m*m<=h*h};if(c!=null&&c.length)if(typeof o=="number"&&this.show){if(r.data=c[o],r.index=o,r.data){const g=c[o];Math.abs(a-g.yp)<=15&&(r.hit=!0),u(g)&&(r.hit=!0,r.directHit=!0)}}else if(typeof this.beforeFindItemIndex=="number"&&this.beforeFindItemIndex!==-1&&this.show&&s)r.data=c[this.beforeFindItemIndex],r.index=this.beforeFindItemIndex;else{let g=1/0,p=-1;const m=[];c.forEach((M,E)=>{M.xp!==null&&M.yp!==null&&M.o!==null&&m.push({...M,originalIndex:E})}),m.length===0&&c.forEach((M,E)=>{m.push({...M,originalIndex:E})});let x=0,b=m.length-1;for(;x<=b;){const M=Math.floor((x+b)/2),E=m[M],I=Math.abs(l-E.xp);if(I<g&&(g=I,p=E.originalIndex),E.xp<l){if(x=M+1,x<m.length){const T=Math.abs(l-m[x].xp);T<g&&(g=T,p=m[x].originalIndex)}}else if(E.xp>l){if(b=M-1,b>=0){const T=Math.abs(l-m[b].xp);T<g&&(g=T,p=m[b].originalIndex)}}else break}const y=m.findIndex(M=>M.originalIndex===p);if(y!==-1)for(let M=Math.max(0,y-2);M<=Math.min(m.length-1,y+2);M++){const E=m[M],I=Math.abs(l-E.xp);I<g&&(g=I,p=E.originalIndex)}if(p!==-1){let M=50;if(c.length>1){const I=[];for(let T=1;T<c.length;T++)c[T].xp!==null&&c[T-1].xp!==null&&I.push(Math.abs(c[T].xp-c[T-1].xp));I.length>0&&(M=I.reduce((T,V)=>T+V,0)/I.length)}const E=Math.max(M,1);if(g<=E)r.data=c[p],r.index=p;else{let I=!1,T=d?1/0:E;const V=d?m:c;for(let C=0;C<V.length;C++){const S=Math.abs(l-V[C].xp);S<=T&&(I=!0,T=S,p=d?V[C].originalIndex:C)}I&&(r.data=c[p],r.index=p)}if(r.data){const I=c[p];Math.abs(a-I.yp)<=15&&(r.hit=!0),u(I)&&(r.hit=!0,r.directHit=!0)}}}return s||(this.beforeMouseXp=l,this.beforeMouseYp=a,typeof r.index=="number"&&(this.beforeFindItemIndex=r.index)),d&&((f=r==null?void 0:r.data)==null?void 0:f.o)===null&&(r.data=null),r}findApproximateData(t){var f,g;const n=t[0],o=t[1],s={data:null,hit:!1,color:this.color},l=this.data.filter(p=>!Y.isNullOrUndefined(p.x));if(!l.length)return s;const a=l.length>1?Math.abs(((f=l[1])==null?void 0:f.xp)-((g=l[0])==null?void 0:g.xp)):50,r=Math.max(a*.4,10);let c=0,d=l.length-1,h=-1,u=1/0;for(;c<=d;){const p=Math.floor((c+d)/2),m=l[p].xp;if(m-r<=n&&n<=m+r){const x=Math.max(0,p-2),b=Math.min(l.length-1,p+2);for(let y=x;y<=b;y++)if(l[y].xp!==null&&l[y].yp!==null){const M=Math.sqrt((n-l[y].xp)**2+(o-l[y].yp)**2);M<u&&(u=M,h=y)}return h!==-1&&(s.data=l[h],s.index=h,u<5&&(s.hit=!0)),s}else if(m+r<n){if(p<d&&n<l[p+1].xp){const x=Math.abs(l[p].xp-n),b=Math.abs(l[p+1].xp-n);s.data=x>b?l[p+1]:l[p],s.index=x>b?p+1:p;const y=s.data;return Math.abs(o-y.yp)<10&&(s.hit=!0),s}c=p+1}else{if(p>0&&n>l[p-1].xp){const x=Math.abs(l[p-1].xp-n),b=Math.abs(l[p].xp-n);s.data=x>b?l[p]:l[p-1],s.index=x>b?p:p-1;const y=s.data;return Math.abs(o-y.yp)<10&&(s.hit=!0),s}d=p-1}}return s}findItems({xsp:t,width:n}){const o=t+n;return this.data.filter(s=>t-1<=s.xp&&s.xp<=o+1)}}class IC{constructor(t,n,o,s=!1){const l=bs({},oo,n);Object.keys(l).forEach(a=>{this[a]=l[a]}),this.name===void 0&&(this.name=`series-${o}`),["color","pointFill","fillColor","overflowColor"].forEach(a=>{this[a]===void 0&&(this[a]=Vt[o%Vt.length])}),this.sId=t,this.data=[],this.type="scatter",this.realTimeScatter=s,this._rtTotalCount=0,this._colorCache=new Map}getCachedColor(t,n){const o=`${t}_${n}`;if(this._colorCache.has(o))return this._colorCache.get(o);const s=Y.colorStringToRgba(t,n);if(this._colorCache.size>100){const l=this._colorCache.keys().next().value;this._colorCache.delete(l)}return this._colorCache.set(o,s),s}draw(t){this.show&&(this.realTimeScatter?this.realTimeScatterDraw(t):this.defaultScatterDraw(t))}getOpacity(t,n,o){const s=n.includes("rgba")?Y.getOpacity(n):1;let l=!1;const{selectInfo:a,legendHitInfo:r,unSelectedOpacity:c}=t;return r?l=r.sId!==this.sId:a&&(l=(a==null?void 0:a.seriesID)!==this.sId||(a==null?void 0:a.dataIndex)!==o),l?c:s}calcItem(t,n){const{chartRect:o,labelOffset:s,axesSteps:l,displayOverflow:a}=n;let r;const c=l.x[this.xAxisIndex],d=l.y[this.yAxisIndex],h=o.chartWidth-(s.left+s.right),u=o.chartHeight-(s.top+s.bottom),f=o.x1+s.left,g=o.y2-s.bottom;let p=ie.calculateX(t.x,c.graphMin,c.graphMax,h,f);const m=ie.calculateY(a&&t.y>d.graphMax?d.graphMax:t.y,d.graphMin,d.graphMax,u,g);p!==null&&(r=Y.aliasPixel(p),p+=r),t.xp=p,t.yp=m}defaultScatterDraw(t){const{ctx:n,axesSteps:o,duple:s,legendHitInfo:l,coordinateDedupe:a}=t,r=o.y[this.yAxisIndex];for(let c=0;c<this.data.length;c++){const d=this.data[c],h=c,u=a!==!1;let f;if(l?f=l.sId===this.sId:u?f=s.get(`${d.x}${d.y}`)===this.sId:f=!0,f&&(this.calcItem(d,t),d.xp!==null&&d.yp!==null)){const p=d.y>r.graphMax&&this.overflowColor||d.dataColor||this.color,m=this.getOpacity(t,p,h);n.strokeStyle=this.getCachedColor(p,m);const x=d.dataColor||this.pointFill,b=this.getOpacity(t,x,h);n.fillStyle=this.getCachedColor(x,b),ie.drawPoint(n,this.pointStyle,this.pointSize,d.xp,d.yp)}}}realTimeScatterDraw(t){var u,f,g,p,m,x;const{ctx:n,axesSteps:o,duple:s,legendHitInfo:l,coordinateDedupe:a}=t,r=o.y[this.yAxisIndex],c=typeof this.pointStyle=="string"?this.pointStyle:this.pointStyle.value,d=typeof this.pointSize=="number"?this.pointSize:this.pointSize.value;let h=0;for(let b=0;b<((f=(u=this.data[this.sId])==null?void 0:u.dataGroup)==null?void 0:f.length);b++)for(let y=0;y<((p=(g=this.data[this.sId])==null?void 0:g.dataGroup[b])==null?void 0:p.data.length);y++){const M=(x=(m=this.data[this.sId])==null?void 0:m.dataGroup[b])==null?void 0:x.data[y];h++;const E=a!==!1;let I;if(l?I=l.sId===this.sId:E?I=s.get(`${M.x}${M.y}`)===this.sId:I=!0,I&&(this.calcItem(M,t),M.xp!==null&&M.yp!==null)){const T=M.y>r.graphMax&&this.overflowColor,V=T||M.color||this.color,C=T||M.color||this.pointFill||this.color,S=this.getOpacity(t,V,y),k=this.getOpacity(t,C,y);n.strokeStyle=this.getCachedColor(V,S),n.fillStyle=this.getCachedColor(C,k),ie.drawPoint(n,c,d,M.xp,M.yp)}}this._rtTotalCount=h}findItemsInRange(t,n,o,s,l){return t.filter(a=>n-1<=a.xp&&a.xp<=s+1&&o-1<=a.yp&&a.yp<=l+1)}defaultScatterFindItems(t,n,o,s,l){return this.findItemsInRange(t,n,o,s,l)}realTimeScatterFindItems(t,n,o,s,l){const a=[];for(let r=0;r<t[this.sId].dataGroup.length;r++){const c=t[this.sId].dataGroup[r];a.push(...this.findItemsInRange(c.data,n,o,s,l))}return a}findItems({xsp:t,ysp:n,width:o,height:s}){const l=this.data,a=t+o,r=n+s;let c=[];return this.realTimeScatter?c=this.realTimeScatterFindItems(l,t,n,a,r):c=this.defaultScatterFindItems(l,t,n,a,r),c}itemHighlight(t,n){const o=t.data,s=n,l=o.xp,a=o.yp;if(s.save(),l!==null&&a!==null){const r=o.dataColor||this.color,c=o.dataColor||this.pointFill;s.strokeStyle=this.getCachedColor(r,0),s.fillStyle=this.getCachedColor(c,this.highlight.maxShadowOpacity),ie.drawPoint(s,this.pointStyle,this.highlight.maxShadowSize,l,a),s.fillStyle=r,ie.drawPoint(s,this.pointStyle,this.highlight.maxSize,l,a),s.fillStyle="#fff",ie.drawPoint(s,this.pointStyle,this.highlight.defaultSize,l,a)}s.restore()}findGraphData(t){var c;const n=t[0],o=t[1],s={data:null,hit:!1,color:this.color,index:null},l=this.pointSize;if(this.realTimeScatter){const d=(c=this.data[this.sId])==null?void 0:c.dataGroup;if(!d)return s;let u=this._rtTotalCount-1;for(let f=d.length-1;f>=0;f--){const g=d[f];if(g!=null&&g.data)for(let p=g.data.length-1;p>=0;p--){const m=g.data[p];if(m.xp!==null&&m.yp!==null){const x=m.xp,b=m.yp;if(x-l<=n&&n<=x+l&&b-l<=o&&o<=b+l)return s.data=m,s.index=u,s.hit=!0,s}u--}}return s}const a=this.data,r=a.findIndex(d=>{const h=d.xp,u=d.yp;return h-l<=n&&n<=h+l&&u-l<=o&&o<=u+l});return r>-1&&(s.data=a[r],s.index=r,s.hit=!0),s}}class Br{constructor(t,n,o,s){const l=Fe({},n,CC);Object.keys(l).forEach(a=>{this[a]=l[a]}),this.name===void 0&&(this.name=`series-${o}`),this.color===void 0&&(this.color=Vt[o%Vt.length]),this.type="bar",this.sId=t,this.data=[],this.isHorizontal=s,this.size={cat:0,bar:0,cPad:0,bPad:0,w:0,h:0,ix:0}}draw(t){var z,$,W,F,U;if(!this.show)return;const n=t.ctx,o=t.chartRect,s=t.labelOffset,l=t.axesSteps,a=t.showIndex,r=t.thickness,c=t.showSeriesCount;this.isHorizontal=t.isHorizontal;const{isHorizontal:d,showValue:h}=this;let u,f;const g=l.x[this.xAxisIndex],p=l.y[this.yAxisIndex];let m=this.data.length;const[x,b]=d?[p.minIndex,p.maxIndex]:[g.minIndex,g.maxIndex];ve(x)&&ve(b)&&(m=b-x+1);const y=o.chartWidth-(s.left+s.right),M=o.chartHeight-(s.top+s.bottom),E=o.x1+s.left,I=o.y2-s.bottom,T=ie.calculateX(0,g.graphMin,g.graphMax,y),V=ie.calculateY(0,p.graphMin,p.graphMax,M),C=d?E+T:E,S=d?I:I+V,k=d?M:y,w=k/(m||1);let B;t.cPadRatio>=1||t.cPadRatio<=0?B=2:B=Math.max(k*(t.cPadRatio/2)/m,2);let L,R,v;L=w>B*2?w-B*2:w,L=this.isExistGrp?L:L/c;const N=this.calculateBarSize(r,L);R=d?null:N,v=d?N:null;const O=d?(L-v)/2:(L-R)/2,P=this.isExistGrp?1:a+1;this.size.cat=w,this.size.bar=L,this.size.cPad=B,this.size.bPad=O,this.size.w=R,this.size.h=v,this.size.ix=P,this.chartRect=o,this.labelOffset=s,this.borderRadius=t.borderRadius,this.filteredCount=m;const _=ve(x)?x:0,A=ve(b)?b:this.data.length-1;this.visibleStartIndex=_;for(let j=_;j<=A;j++){const K=j-_,q=this.data[j];if(q){const ee=d?S-w*K-B:C+w*K+B;if(d?(u=C,f=Math.round(ee-(L*P-(v+O)))):(u=Math.round(ee+(L*P-(R+O))),f=S),d){const ue=q.b?q.o:q.x,ke=Math.min(Math.max(ue,g.graphMin),g.graphMax);if(R=ie.calculateX(ke,g.graphMin,g.graphMax,y,-T),q.b){const ct=Math.min(Math.max(q.b,g.graphMin),g.graphMax);u=ie.calculateX(ct,g.graphMin,g.graphMax,y,C-T)}const rt=ue>0?-1:1;R=ue&&Math.abs(R)===0?rt:R}else{const ue=q.b?q.o:q.y,ke=Math.min(Math.max(ue,p.graphMin),p.graphMax);if(v=ie.calculateY(ke,p.graphMin,p.graphMax,M,-V),q.b){const ct=Math.min(Math.max(q.b,p.graphMin),p.graphMax);f=ie.calculateY(ct,p.graphMin,p.graphMax,M,S-V)}const rt=ue>0?-1:1;v=ue&&Math.abs(v)===0?rt:v}const J=q.dataColor||this.color,te=t==null?void 0:t.legendHitInfo,G=(z=t==null?void 0:t.selectLabel)==null?void 0:z.option,oe=($=t==null?void 0:t.selectItem)==null?void 0:$.option,Z=((F=(W=t==null?void 0:t.selectLabel)==null?void 0:W.selected)==null?void 0:F.dataIndex)??[],{dataIndex:ae,seriesID:me}=((U=t==null?void 0:t.selectItem)==null?void 0:U.selected)??{};let re=!1;if(te?re=(te==null?void 0:te.sId)!==this.sId:G!=null&&G.use&&(G!=null&&G.useSeriesOpacity)?re=Z.length&&!Z.includes(j):ft(ae)&&(oe!=null&&oe.useSeriesOpacity)&&(this.isExistGrp?re=ae!==j:re=ae!==j||me!==this.sId),typeof J!="string")n.fillStyle=ie.createGradient(n,d,{x:u,y:f,w:R,h:v},J,re,t.unSelectedOpacity);else{const ue=J.includes("rgba")?Y.getOpacity(J):1,ke=re?t.unSelectedOpacity:ue;n.fillStyle=Y.colorStringToRgba(J,ke)}this.drawBar({ctx:n,positions:{x:u,y:f,w:R,h:v}}),h.use&&this.drawValueLabels({context:n,data:q,positions:{x:u,y:f,h:v,w:R},isHighlight:!1,textColor:q.dataTextColor,index:j}),q.xp=u,q.yp=f,q.w=R,q.h=d?-v:v,q.index=j}}}itemHighlight(t,n,o,s){const l=this.showValue,a=t.data,r=n,c=a.xp,d=a.yp,h=a.w,u=a.h;r.save(),r.shadowOffsetX=0,r.shadowOffsetY=0,r.shadowBlur=4;const f=t.data.dataColor||this.color;if(typeof f!="string"){const g=ie.createGradient(r,this.isHorizontal,{x:c,y:d,w:h,h:u},f,!1,s);r.fillStyle=g,r.shadowColor=f[f.length-1][1]}else r.fillStyle=f,r.shadowColor=f;r.beginPath(),this.drawBar({ctx:r,positions:{x:c,y:d,w:h,h:this.isHorizontal?-u:u}}),l.use&&this.drawValueLabels({context:r,data:a,positions:{x:c,y:d,h:u,w:h},isHighlight:!0,textColor:t.data.dataTextColor||t.dataTextColor,index:o}),r.restore()}findGraphData(t,n,o,s){if(typeof o=="number"&&this.show&&s){const l=this.data,a={data:null,hit:!1,color:this.color},r=this.visibleStartIndex??0,c=r+(this.filteredCount??l.length)-1,d=Math.max(r,Math.min(o,c));return l[d]&&(a.data=l[d],a.index=d,a.hit=this.isPointInBar(t,l[d]),a.directHit=a.hit),a}return n?this.findGraphRangeCount(t):this.findGraphRange(t)}binarySearchBar(t,n){const[o,s]=t,l={data:null,hit:!1,color:this.color},a=this.data,r=this.visibleStartIndex??0,c=this.filteredCount??a.length;let d=r,h=Math.min(r+c-1,a.length-1);for(;d<=h;){const u=Math.floor((d+h)/2),f=a[u];if(!f){console.warn(`[EVUI][Bar] binarySearchBar: gdata[${u}] is falsy`);break}const{xp:g,yp:p,w:m,h:x}=f,b=g+m,y=p+x;if(n?y<=s&&s<=p:g<=o&&o<=b)return l.data=f,l.index=f.index,l.hit=this.isPointInBar(t,f),l.directHit=l.hit,l;(n?!(y<s):g+4<o)?d=u+1:h=u-1}return l}findGraphRange(t){return this.binarySearchBar(t,!1)}findGraphRangeCount(t){return this.binarySearchBar(t,!0)}drawValueLabels({context:t,data:n,positions:o,isHighlight:s,textColor:l,index:a}){const r=this.isHorizontal,{fontSize:c,textColor:d,align:h,formatter:u,decimalPoint:f}=this.showValue,{x:g,y:p,w:m,h:x}=o,b=t;b.save(),b.beginPath(),b.font=`normal normal normal ${c}px Roboto`,b.fillStyle=l||d,b.lineWidth=1,b.textBaseline="middle",b.textAlign=r&&h!=="center"?"left":"center";let y;const M=ft(this.stackIndex);M?y=n.o:y=(r?n.x:n.y)??"";let E;u&&(E=u(y,{label:r?n.y:n.x,index:a})),(!u||typeof E!="string")&&(E=Y.labelSignFormat(y,f)??"");const I=y<0,T=Math.round(b.measureText(E).width),V=c,C=10,S=I?g-C:g+C,k=I?p+C:p-C,w=g+m/2,B=s?p+x/2:p-x/2,D=Math.abs(m)-C,L=Math.abs(x)-C;switch(h){case"start":{if(r&&T<D){const R=I?S-T:S;b.fillText(E,R,B)}else if(!r&&V<L){const R=I?p+C:p-C;b.fillText(E,w,R)}break}case"center":{r&&T<D?b.fillText(E,w,B):!r&&V<L&&b.fillText(E,w,p+x/2);break}case"out":{if(M){console.warn("[EVUI][Bar Chart] In case of Stack Bar Chart, 'out' of 'showValue''s align is not supported.");return}if(r){const R=this.chartRect.x1+this.labelOffset.left,v=this.chartRect.x2-this.labelOffset.right;if(I){const N=g-C+m-T;N>R&&b.fillText(E,N,B)}else{const N=g+C+m;N+T<v&&b.fillText(E,N,B)}}else{const R=I?p+x+C:p+x-C;b.fillText(E,w,R)}break}default:case"end":{if(r&&T<D){const R=I?g+m+C:g+m-T-C;b.fillText(E,R,B)}else if(!r){if(I){const R=p+x-C;R>k&&b.fillText(E,w,R)}else if(V<L){const R=p+x+C;b.fillText(E,w,R)}}break}}b.restore()}calculateBarSize(t,n){return typeof t=="string"&&/[0-9]+px/.test(t)?Math.min(n,Number(t.replace("px",""))):typeof t=="number"&&t<=1&&t>=0?Math.ceil(n*t):n}drawBar({ctx:t,positions:n}){const{isHorizontal:o,borderRadius:s}=this,l="stackIndex"in this,a=s&&s>0,{x:r,y:c,w:d}=n,h=o?-n.h:n.h;if(!(d===0||h===0)){if(t.save(),a&&!l)try{this.drawRoundedRect(t,n)}catch{t.fillRect(r,c,d,h)}else t.fillRect(r,c,d,h);t.restore()}}isPointInBar(t,n){const[o,s]=t,{xp:l,yp:a,w:r,h:c}=n,d=l+r,h=a+c;return l<=o&&o<=d&&h<=s&&s<=a}drawRoundedRect(t,n){const{chartRect:o,labelOffset:s,isHorizontal:l,borderRadius:a}=this,{x:r,y:c}=n;let{w:d,h}=n,u=a;const f=new Path2D;f.rect(o.x1+s.left,o.y1,o.chartWidth-s.right,o.chartHeight-s.bottom),t.clip(f),t.beginPath(),t.moveTo(r,c),Math.abs(d)<u*2&&(u=Math.abs(d)/2),Math.abs(h)<u*2&&(u=Math.abs(h)/2),l?d<0?(d+=u,t.lineTo(r+d,c),t.arcTo(r+d-u,c,r+d-u,c-u,u),t.arcTo(r+d-u,c-h,r+d,c-h,u),t.lineTo(r,c-h),t.lineTo(r,c)):(d-=u,t.lineTo(r+d,c),t.arcTo(r+d+u,c,r+d+u,c-u,u),t.arcTo(r+d+u,c-h,r+d,c-h,u),t.lineTo(r,c-h),t.lineTo(r,c)):h>0?(h-=u,t.lineTo(r+d,c),t.lineTo(r+d,c+h),t.arcTo(r+d,c+h+u,r-d+u,c+h+u,u),t.arcTo(r,c+h+u,r,c+h,u),t.lineTo(r,c)):(h+=u,t.lineTo(r+d,c),t.lineTo(r+d,c+h),t.arcTo(r+d,c+h-u,r+d-u,c+h-u,u),t.arcTo(r,c+h-u,r,c+h,u),t.lineTo(r,c)),t.fill(),t.closePath()}}class EC extends Br{draw(t){if(!this.show)return;const n=t.ctx,o=t.chartRect,s=t.labelOffset,l=t.axesSteps,a=t.showIndex,r=t.isHorizontal,c=t.thickness,d=t.showSeriesCount;let h,u;const f=l.x[this.xAxisIndex],g=l.y[this.yAxisIndex],p=o.chartWidth-(s.left+s.right),m=o.chartHeight-(s.top+s.bottom),x=o.x1+s.left,b=o.y2-s.bottom,y=o.x2-s.right,E=(r?m:p)/(this.data.length||1),I=2;let T;this.isExistGrp?T=E-I*2:T=(E-I*2)/d;const C=typeof c=="string"&&/[0-9]+px/.test(c)?Math.min(T,Number(c.replace("px",""))):typeof c=="number"&&c<=1&&c>=0?Math.ceil(T*c):T;let S=r?null:C,k=r?null:C,w=r?C:null;const B=r?(T-w)/2:(T-S)/2,D=this.isExistGrp?1:a+1;this.size.cat=E,this.size.bar=T,this.size.cPad=I,this.size.bPad=B,this.size.w=S,this.size.ix=D,this.chartRect=o,this.labelOffset=s,this.borderRadius=t.borderRadius,this.data.forEach((L,R)=>{if(n.beginPath(),r?(h=x,u=ie.calculateY(L.y,g.graphMin,g.graphMax,m,b)):(h=ie.calculateSubX(L.x,f.graphMin,f.graphMax,p,x),h<x?(k-=x-h,h=h+S<x?null:x):h+S>y&&(k-=k-(y-h)),h>=y&&(h=null),h!==null&&(h+=Math.ceil(T*D)-Math.round(S+B)),u=b),r?L.b?(S=ie.calculateX(L.x-L.b,f.graphMin,f.graphMax,p),h=ie.calculateX(L.b,f.graphMin,f.graphMax,p,x)):S=ie.calculateX(L.x,f.graphMin,f.graphMax,p):L.b?(w=ie.calculateY(L.y-L.b,g.graphMin,g.graphMax,m),u=ie.calculateY(L.b,g.graphMin,g.graphMax,m,b)):w=ie.calculateY(L.y,g.graphMin,g.graphMax,m),h!==null&&u!==null){const v=L.dataColor||this.color,N=v.includes("rgba")?Y.getOpacity(v):1,O=this.state==="downplay"?t.unSelectedOpacity:N;typeof v!="string"?(S=S!==k?k:S,n.fillStyle=ie.createGradient(n,r,{x:h,y:u,w:S,h:w},v,this.state==="downplay",t.unSelectedOpacity)):n.fillStyle=Y.colorStringToRgba(v,O),this.drawBar({ctx:n,positions:{x:h,y:u,w:S,h:w}}),this.showValue.use&&this.drawValueLabels({context:n,data:L,positions:{x:h,y:u,h:w,w:S},isHighlight:!1,index:R})}k=S,L.xp=h,L.yp=u,L.w=S,L.h=r?-w:w})}}class vC{constructor(t,n,o){const s=bs({},SC,n);Object.keys(s).forEach(l=>{this[l]=s[l]}),this.name===void 0&&(this.name=`series-${o}`),this.color===void 0&&(this.color=Vt[o%Vt.length]),this.sId=t,this.show=!0,this.data=[],this.type="pie",this.centerX=0,this.centerY=0,this.radius=0,this.doughnutHoleSize=0,this.startAngle=0,this.endAngle=0,this.ctx=null,this.isSelect=!1}draw(t,n,o){var h;const s=t??this.ctx,l=new Path2D,a=this.isSelect?this.radius+5:this.radius,r=this.color,c=r.includes("rgba")?Y.getOpacity(r):1,d=this.isDownplay?o:c;s.beginPath(),l.moveTo(this.centerX,this.centerY),l.arc(this.centerX,this.centerY,a,this.startAngle,this.endAngle),l.lineTo(this.centerX,this.centerY),s.fillStyle=Y.colorStringToRgba(r,d),s.fill(l),n.use&&(s.lineCap="round",s.lineWidth=n==null?void 0:n.lineWidth,s.strokeStyle=n==null?void 0:n.color,s.stroke(l)),(h=this.showValue)!=null&&h.use&&this.drawValueLabels(s),s.closePath(),this.ctx=s}findGraphData([t,n]){const o={data:null,hit:!1,color:null,index:-1},{radius:s,startAngle:l,endAngle:a,centerX:r,centerY:c}=this,d=Math.sqrt((t-r)**2+(n-c)**2),h=2.5*Math.PI-Math.atan2(t-r,n-c),u=s>d&&h>=l&&h<=a;return this.show&&u&&(o.type=this.type,o.data=this.data,o.hit=!0,o.color=this.color,o.index=0),o}itemHighlight(t,n){var a,r;const o=n,s=this.isSelect?this.radius+5:this.radius;o.save(),o.shadowOffsetX=0,o.shadowOffsetY=0,o.shadowBlur=4;const l=((a=t==null?void 0:t.data)==null?void 0:a.dataColor)||this.color;o.fillStyle=l,o.shadowColor=l,o.beginPath(),o.moveTo(this.centerX,this.centerY),o.arc(this.centerX,this.centerY,s,this.startAngle,this.endAngle),o.lineTo(this.centerX,this.centerY),o.fill(),(r=this.showValue)!=null&&r.use&&this.drawValueLabels(o),o.closePath(),o.restore()}drawValueLabels(t){const n=t,o=this.data.o,{fontSize:s,textColor:l,formatter:a}=this.showValue;let r;a&&(r=a({value:o,percentage:this.data.percentage})),(!a||typeof r!="string")&&(r=Y.labelSignFormat(o));const c=1.8,d=this.radius-this.doughnutHoleSize,h=(this.endAngle-this.startAngle)*180/Math.PI,u=s+4,f=Math.round(n.measureText(r).width);if(h>=f*c&&h>=u*c&&d>=f*c&&d>=u*c){n.save(),n.beginPath();const g=l.includes("rgba")?Y.getOpacity(l):1,p=this.state==="downplay"?this.unSelectedOpacity:g;n.font=`normal normal normal ${s}px Roboto`,n.fillStyle=Y.colorStringToRgba(l,p),n.lineWidth=1,n.textAlign="center",n.textBaseline="middle";const m=d/2+this.doughnutHoleSize,x=(this.endAngle-this.startAngle)/2+this.startAngle,b=m*Math.cos(x)+this.centerX,y=m*Math.sin(x)+this.centerY;n.fillText(r,b,y),n.restore()}}}class TC{constructor(t,n,o,s,l){const a=bs({},wC,n);Object.keys(a).forEach(r=>{this[r]=a[r]}),this.isHorizontal=s,this.isGradient=l,this.createColorState(o),this.sId=t,this.data=[],this.labels={x:[],y:[]},this.valueOpt={},this.size={w:0,h:0},this.type="heatMap",this.currentLabelInfo={x:{steps:0,min:0,max:0},y:{steps:0,min:0,max:0}}}createColorState(t){const n=[],o=/[^0-9]&[^,]/g,{min:s,max:l,rangeCount:a,colorsByRange:r,error:c,stroke:d}=t,h=s.includes("#")?Y.hexToRgb(s):s.replace(o,""),u=l.includes("#")?Y.hexToRgb(l):l.replace(o,""),[f,g,p]=h.split(","),[m,x,b]=u.split(",");if(this.isGradient)n.push({minColor:{minR:f,minG:g,minB:p},maxColor:{maxR:m,maxG:x,maxB:b},rangeCount:a,start:0,end:100,selectedValue:null});else if(r.length)r.forEach(({color:y,label:M},E)=>{n.push({id:`color#${E}`,color:y,label:M,state:"normal",show:!0})});else{const y=Math.floor((f-m)/(a-1)),M=Math.floor((g-x)/(a-1)),E=Math.floor((p-b)/(a-1));for(let I=0;I<a;I++){const T=+f-y*I,V=+g-M*I,C=+p-E*I;n.push({id:`color#${I}`,color:`rgb(${T},${V},${C})`,state:"normal",show:!0})}}this.colorState=n,this.errorColor=c,this.stroke=d}getColorForGradient(t){const{minColor:n,maxColor:o}=this.colorState[0],{minR:s,minG:l,minB:a}=n,{maxR:r,maxG:c,maxB:d}=o,h=+s-Math.floor((s-r)*t/100),u=+l-Math.floor((l-c)*t/100),f=+a-Math.floor((a-d)*t/100);return`rgb(${h},${u},${f})`}getColorIndexByValue(t){const{existError:n,min:o,interval:s,decimalPoint:l}=this.valueOpt,a=this.colorState.length-1;if(n&&t<0)return a;const r=Math.floor(+(t-o).toFixed(l)/s);return r>=a?n?a-1:a:r}getItemInfo(t){const{min:n,max:o}=this.valueOpt,s={show:!1,opacity:1,dataColor:null,id:null,isHighlight:null};if(this.isGradient){const l=We(t-n,o-n),{start:a,end:r,selectedValue:c}=this.colorState[0];(t<0||a<=l&&l<=r)&&(s.show=!0,s.isHighlight=c!==null&&Math.floor(t)===Math.floor(n+(o-n)*(c/100)),s.dataColor=t<0?this.errorColor:this.getColorForGradient(l))}else{const l=this.getColorIndexByValue(t),{show:a,state:r,color:c,id:d}=this.colorState[l];s.show=a,s.opacity=r==="downplay"?.1:1,s.dataColor=t<0?this.errorColor:c,s.id=d}return s}drawItem(t,n,o,s,l,a){if(t.beginPath(),!(s<0||l<0)){if(a.show){const{radius:r}=a;if(r>0){const c=Math.min(s,l);let d=r;d>c/2&&(d=Math.floor(c/2)),t.moveTo(n+d,o),t.arcTo(n+s,o,n+s,o+l,d),t.arcTo(n+s,o+l,n,o+l,d),t.arcTo(n,o+l,n,o,d),t.arcTo(n,o,n+s,o,d),t.stroke(),t.fill()}else t.strokeRect(n,o,s,l),t.fillRect(n,o,s,l)}else{const r=Y.aliasPixel(1);t.fillRect(n,o-r,s+r,l+r)}t.closePath()}}calculateXY(t,n,o,s){let l=null;if(this.labels[t]&&this.labels[t].length){let a=this.labels[t].findIndex(f=>f===n);a===-1&&(a=this.labels[t].findIndex(f=>+f==+n));const{minIndex:r,maxIndex:c,graphMin:d,graphMax:h}=s;if(ve(c)&&a>c||ve(r)&&a<r||qi(r)&&qi(c)&&(n<d||n>h))return null;const u=r??this.labels[t].findIndex(f=>+f==+d);a>-1&&(a-=u>-1?u:0,l=t==="x"?o+this.size.w*a:o-this.size.h*(a+1))}return l}draw(t){if(!this.show)return;const{ctx:n,chartRect:o,labelOffset:s,overlayCtx:l,selectLabel:a,legendHitInfo:r,selectItem:c,axesSteps:d}=t,h=o.chartWidth-(s.left+s.right),u=o.chartHeight-(s.top+s.bottom),f=o.x1+s.left,g=o.y2-s.bottom,p=d.x[this.xAxisIndex],m=d.y[this.yAxisIndex];this.size.w=h/p.oriSteps,this.size.h=u/m.oriSteps,this.currentLabelInfo={x:{steps:p.oriSteps,min:p.graphMin,max:p.graphMax},y:{steps:m.oriSteps,min:m.graphMin,max:m.graphMax}};const x=(b,y,M)=>{var E,I;if(!r){let T;const{option:V,selected:C}=c,{option:S,selected:k}=a,w=ft(C==null?void 0:C.dataIndex)&&(C==null?void 0:C.dataIndex)>-1,B=((E=k==null?void 0:k.label)==null?void 0:E.length)>0;return w?T=V.useSeriesOpacity?M!==(C==null?void 0:C.dataIndex):!1:B&&(T=S.useSeriesOpacity?!((I=k==null?void 0:k.label)!=null&&I.includes(this.getItemLabel(a,b))):!1),T?.1:y}return y};this.data.forEach((b,y)=>{var S;let E=this.calculateXY("x",b.x,f,p),I=this.calculateXY("y",b.y,g,m),T=this.size.w,V=this.size.h;const C=b.o;if(E!==null&&I!==null&&C!==null&&C!==void 0){const{show:k,opacity:w,dataColor:B,id:D,isHighlight:L}=this.getItemInfo(C);let R=w;w===1&&Y.getColorStringType(b.dataColor)==="RGBA"&&(R=Y.getOpacity(b.dataColor));const v=x(b,R,y);if(b.dataColor||(b.dataColor=B),b.cId=D,n.save(),k){n.fillStyle=Y.colorStringToRgba(b.dataColor,v);let N=this.stroke;const O=c==null?void 0:c.option,P=(O==null?void 0:O.use)&&(O==null?void 0:O.showBorder),_=y===((S=c==null?void 0:c.selected)==null?void 0:S.dataIndex);P&&_&&(N={show:O==null?void 0:O.showBorder,...O==null?void 0:O.borderStyle});let A=!1;if(N.show&&N.lineWidth>0){const{color:z,lineWidth:$,opacity:W}=N,F=$*2;A=F<Math.floor(T)&&F<Math.floor(V),n.strokeStyle=A?Y.colorStringToRgba(z,v===1?W:v):void 0,A?(n.lineWidth=$,E+=$,I+=$,T-=F,V-=F):n.lineWidth=0}E+=1,b.xp=E,b.yp=I,b.w=T,b.h=V,this.drawItem(n,E,I,T,V,{...N,show:A}),n.restore(),this.showValue.use&&this.drawValueLabels({context:n,data:b}),L&&this.itemHighlight({data:b},l)}}})}drawValueLabels({context:t,data:n}){const{fontSize:o,textColor:s,align:l,formatter:a,decimalPoint:r}=this.showValue,{xp:c,yp:d,w:h,h:u,o:f}=n,g=t;g.save(),g.beginPath(),g.font=`normal normal normal ${o}px Roboto`,g.fillStyle=s,g.lineWidth=1,g.textBaseline="middle",g.textAlign=l!=="center"?"left":"center";let p;a&&(p=a(f)),(!a||typeof p!="string")&&(p=Y.labelSignFormat(f,r));const m=Math.round(g.measureText(p).width),x=o,b=c+h/2,y=d+u/2;if(!(m>=h||x>=u||p<0)){switch(l){case"top":{const M=b-m/2,E=y-x/2;g.fillText(p,M,E);break}case"right":{const M=c+h-m;g.fillText(p,M,y);break}case"bottom":{const M=b-m/2,E=y+x/2;g.fillText(p,M,E);break}case"left":g.fillText(p,c,y);break;default:{const M=b-m/2;g.fillText(p,M,y);break}}g.restore()}}getAdjustedBounds({xp:t,yp:n,width:o,height:s}){const a=Math.max(0,o),r=Math.max(0,s);return{xsp:Math.floor(t*100)/100,xep:Math.ceil((t+a)*100)/100,ysp:Math.floor(n*100)/100,yep:Math.ceil((n+r)*100)/100}}findItems(t){const n=this.data,{xsp:o,xep:s,ysp:l,yep:a}=this.getAdjustedBounds({xp:t.xsp,yp:t.ysp,width:t.width,height:t.height});return n.filter(({xp:r,yp:c,w:d,h})=>{const{xsp:u,xep:f,ysp:g,yep:p}=this.getAdjustedBounds({xp:r,yp:c,width:d,height:h});return u>=o&&f<=s&&g>=l&&p<=a})}itemHighlight(t,n){var m;const o=t.data,s=n,{stroke:l,shadow:a}=this.highlight,r=o.xp,c=o.yp,d=o.w,h=o.h,u=o.cId;let f;if(this.isGradient){const{min:x,max:b}=this.valueOpt,y=We(o.o-x,b-x),{start:M,end:E}=this.colorState[0];f=M<=y&&y<=E||o.o===-1}else f=(m=this.colorState.find(({id:x})=>x===u))==null?void 0:m.show;if(r===null||c===null||!f)return;s.save();const g=Y.getColorStringType(o.dataColor)==="RGBA"?t.dataColor:Y.colorStringToRgba(o.dataColor,1);s.fillStyle=g,a.use&&(s.shadowOffsetX=a.offsetX,s.shadowOffsetY=a.offsetY,s.shadowBlur=a.blur,s.shadowColor=a.color);const p={color:"",lineWidth:1,opacity:1,radius:0,show:!0};if(l.use){const{color:x,width:b,radius:y}=l;p.show=!0,p.radius=y,s.lineWidth=b,p.lineWidth=b,s.strokeStyle=x||g,p.color=x||g}else p.show=!1,s.strokeStyle=g,p.color=g;this.drawItem(s,r-.5,c-.5,d+1,h+1,p),s.restore(),this.showValue.use&&this.drawValueLabels({context:s,data:o})}findGraphData(t){const n=t[0],o=t[1],s={data:null,hit:!1,color:null,dataColor:null,name:null},l=this.data,a=l.findIndex(r=>{const{xp:c,yp:d,w:h,h:u}=r;return c<=n&&n<=c+h&&d<=o&&o<=d+u});if(a>-1){const r=l[a];s.data=r,s.color=r.dataColor,s.dataColor=r.dataColor,s.index=a,s.hit=!0}return s}findBlockRange({xcp:t,xep:n,ycp:o,yep:s,range:l}){const a=this.labels,r=1,c={xsp:Math.min(t,n),ysp:Math.min(o,s),width:Math.ceil(Math.abs(n-t)),height:Math.ceil(Math.abs(s-o))};if(a.x.length&&a.y.length){const d=this.currentLabelInfo.x.steps||a.x.length,h=this.currentLabelInfo.y.steps||a.y.length,{x1:u,x2:f,y1:g,y2:p}=l,m=(f-u)/d,x=(p-g)/h,b={xsp:t,xep:n,ysp:o,yep:s},y=(M,E,I)=>{let T,V,C;M==="x"?(V=m,C=u+r):(V=x,C=g),a[M].findIndex((k,w)=>(T=C+V*w,T<=E&&E<=T+V))>-1?b[I]=["xsp","ysp"].includes(I)?T:T+V:E<C&&(b[I]=C)};y("x",Math.min(t,n),"xsp"),y("x",Math.max(t,n),"xep"),y("y",Math.min(o,s),"ysp"),y("y",Math.max(o,s),"yep"),c.xsp=Math.min(b.xsp,b.xep),c.ysp=Math.min(b.ysp,b.yep),c.width=Math.abs(b.xep-b.xsp),c.height=Math.abs(b.yep-b.ysp)}return c}getFilteredLabel(t,n,o,s){return t.length!==n?t.filter(l=>o<=l&&l<=s):t}findSelectionRange(t){const{xsp:n,ysp:o,width:s,height:l,range:a}=t;let r=null;const{x1:c,x2:d,y1:h,y2:u}=a,{x:f,y:g}=this.labels;if(f.length&&g.length){const{x:{steps:p,min:m,max:x},y:{steps:b,min:y,max:M}}=this.currentLabelInfo,E=p||f.length,I=b||g.length,T=(d-c)/E,V=(u-h)/I,C=n+s,S=o+l,k={min:Math.floor((n-c)/T),max:Math.floor((C-c-T)/T)},w=I-1,B={min:w-Math.round((S-h-V)/V),max:w-Math.round((o-h)/V)},D=this.getFilteredLabel(f,E,m,x),L=this.getFilteredLabel(g,I,y,M);r={xMin:D[k.min],xMax:D[k.max],yMin:L[B.min],yMax:L[B.max]}}return r}getItemLabel(t,n){const{option:o,selected:s}=t;let l=this.isHorizontal?n.y:n.x;return o!=null&&o.useBothAxis&&(s!=null&&s.targetAxis)&&(l=(s==null?void 0:s.targetAxis)==="yAxis"?n.y:n.x),l}}const Dr={Store:xC,Series:{createSeriesSet(e,t,n,o){let s=Object.keys(e);this.options.overlapping.use&&(s=this.getOverlappingSeriesKeys(e,t,o)),s.forEach((l,a)=>{const r=e[l].type||t;this.seriesList[l]=this.addSeries({type:r,id:l,opt:e[l],index:a,isHorizontal:n})})},getOverlappingSeriesKeys(e,t,n){const o=[],s=[],l=n.flat();return Object.keys(e).forEach(a=>{if((e[a].type||t)==="bar"&&l.length){const d=l.findIndex(h=>h===a);o.push({key:a,overlappingIdx:d})}else s.push({key:a})}),o.sort((a,r)=>r.overlappingIdx-a.overlappingIdx),[...o,...s].map(({key:a})=>a)},addSeries(e){var a;const{type:t,id:n,opt:o,index:s,isHorizontal:l}=e;if(t==="line")return this.seriesInfo.charts.line.push(n),new MC(n,o,s);if(t==="scatter")return this.seriesInfo.charts.scatter.push(n),new IC(n,o,s,(a=this.options.realTimeScatter)==null?void 0:a.use);if(t==="bar")return this.seriesInfo.charts.bar.push(n),o.timeMode?new EC(n,o,s,l):new Br(n,o,s,l);if(t==="pie")return this.seriesInfo.charts.pie.push(n),new vC(n,o,s);if(t==="heatMap"){this.seriesInfo.charts.heatMap.push(n);const{heatMapColor:r,legend:c}=this.options,d=c.type==="gradient";return new TC(n,o,r,l,d)}return!1},addGroupInfo(e){e.forEach((t,n)=>{let o=0;t.reduce((s,l,a)=>{const r=this.seriesList[l];return r.stackIndex=a+o,r.groupIndex=n,r.isExistGrp=!0,r.bsId=s,r.bsIds=t.filter((c,d)=>c!==l&&a>d),r.isOverlapping=this.options.overlapping.use,r.show||o--,r.show?l:s},t[0])})}}};class io{constructor(t,n,o,s){const l=Fe({},n,Ir);Object.keys(l).forEach(a=>{this[a]=l[a]}),this.type=t,this.ctx=o,this.units=bC[this.type],this.options=s,this.position||(this.position=t==="x"?"bottom":"left")}calculateLabelRange(t,n,o,s){let l,a,r;t==="x"?(l=n.chartWidth,r=Math.floor(s*1.1),a=[o.left,o.right]):(l=n.chartHeight,a=[o.top,o.bottom],r=s+Math.floor(l*.1));const c=l-(a[0]+a[1]),d=1,h=Math.max(Math.floor(c/r)-1,1);return{min:d,max:h}}calculateScaleRange(t,n){var d;let o,s,l=!1;const a=n!=null&&n.use?n==null?void 0:n.range:this.range;Array.isArray(a)&&(a==null?void 0:a.length)===2?this.options.type==="heatMap"?(o=a[1]>+t.max?+t.max:a[1],s=a[0]<+t.min?+t.min:a[0]):(o=a[1],s=a[0]):typeof a=="function"?[s,o]=a(t.min,t.max):(o=t.max,s=t.min),this.autoScaleRatio&&(o=Math.ceil(o*(this.autoScaleRatio+1))),this.startToZero&&(s=0),o===s&&(o+=1,l=!0);const r=this.getLabelFormat(s),c=this.getLabelFormat(o,{isMaxValueSameAsMin:l});return{min:s,max:o,minLabel:r,maxLabel:c,size:Y.calcTextSizeCanvas(c,Y.getLabelStyle(this.labelStyle),(d=this.labelStyle)==null?void 0:d.padding)}}getLabelWidthHasMaxLength(t,n,o=[]){const s=Y.getLabelStyle(this.labelStyle);return[...(t??[]).map(r=>this.getLabelFormat(r)),...o].reduce((r,c)=>{var h;const d=((h=Y.calcTextSizeCanvas(c,s))==null?void 0:h.width)??0;return Math.max(r,d)},0)}calculateSteps(t){const{maxValue:n,minValue:o}=t;let{maxSteps:s}=t,l=this.getInterval(t),a=o,r;for(;a<n;)a+=l;const c=a,d=o,h=c-d;if(r=Math.round(h/l),n===1&&(this.decimalPoint?s>2?(l=.2,r=5,s=5):(l=.5,r=2,s=2):(l=1,r=1,s=1)),this.fixedSteps)return{steps:r,interval:l,graphMin:d,graphMax:c};for(;r>s;)l*=2,r=Math.round(h/l),l=Math.ceil(h/r);return c-d>r*l&&(l=Math.ceil((c-d)/r)),{steps:r,interval:l,graphMin:d,graphMax:c}}drawAxisTitle(t,n){const o=this.title;if(!(o!=null&&o.use)||isNaN(o.fontSize))return;const s=this.ctx;s.save(),s.font=Y.getLabelStyle(o),s.fillStyle=o.color,s.textAlign=o.textAlign;const l={xLeft:t.x1+n.left,xRight:t.x2-n.right,yTop:t.y1};let a,r;const c=10;this.type==="x"?(a=l.xRight,r=t.y2+o.fontSize+c):(r=l.yTop-o.fontSize-c,a=l.xLeft),a>0&&r>0&&s.fillText(o.text,a,r),s.restore()}draw(t,n,o,s,l,a){var E,I,T,V,C,S,k,w,B,D,L,R,v,N,O,P,_,A,z,$;const r=this.ctx,c=this.options,d={x1:t.x1+n.left,x2:t.x2-n.right,y1:t.y1+n.top,y2:t.y2-n.bottom},h=o.steps,u=o.graphMin,f=o.graphMax,g=o.interval,p=d[this.units.rectStart],m=d[this.units.rectEnd],x=d[this.units.rectOffset(this.position)],b=d[this.units.rectOffsetCounter(this.position)],y=5;let M;if(this.drawAxisTitle(t,n),r.font=Y.getLabelStyle(this.labelStyle),r.fillStyle=this.labelStyle.color,this.type==="x"?(r.textAlign="center",r.textBaseline=this.position==="top"?"bottom":"top"):(r.textAlign=this.position==="left"?"right":"left",r.textBaseline="middle"),this.showAxis&&(r.lineWidth=this.axisLineWidth,M=Y.aliasPixel(r.lineWidth),r.beginPath(),r.strokeStyle=this.axisLineColor,this.type==="x"?(r.moveTo(p,x+M),r.lineTo(m,x+M)):(r.moveTo(x+M,p),r.lineTo(x+M,m)),r.stroke(),r.closePath()),!(h===0||u===null)){if((E=this.labelStyle)!=null&&E.show){const W=m-p,F=W/h,U=[],j=o.interval;let K=null,q=null,ee=p,J=u;if(this.type==="x"&&(c!=null&&c.axesX[0].flow)&&a.length!==h+1){const G=Math.floor(u/j)*j;G!==+u&&(J=G+j,ee+=W/(f-u)*(J-u))}r.strokeStyle=this.gridLineColor,r.lineWidth=1,M=Y.aliasPixel(r.lineWidth);let te;for(let G=0;G<=h;G++)if(K=Math.round(ee+F*G),K<=m||this.type!=="x"||!(c!=null&&c.axesX[0].flow)||a.length===h+1){r.beginPath(),U[G]=J+G*g,U[G]===0&&this.zeroLineColor?r.strokeStyle=this.zeroLineColor:r.strokeStyle=this.gridLineColor,q=K+M,te=this.getLabelFormat(Math.min(f,U[G]),{prev:U[G-1]??""});const Z=((T=(I=this.options)==null?void 0:I.selectLabel)==null?void 0:T.use)&&((C=(V=this.options)==null?void 0:V.selectLabel)==null?void 0:C.useLabelOpacity)&&this.options.horizontal===(this.type==="y")&&((S=l==null?void 0:l.dataIndex)==null?void 0:S.length)&&!(l!=null&&l.label.map(ue=>this.getLabelFormat(Math.min(f,ue),{prev:U[G-1]??""})).includes(te));let ae;G===h&&this.lastLabelFontStyle?(r.font=Y.getLabelStyle(this.lastLabelFontStyle),ae=this.lastLabelFontStyle.color):(r.font=Y.getLabelStyle(this.labelStyle),ae=this.labelStyle.color);let me=1;Y.getColorStringType(ae)==="RGBA"&&(me=Y.getOpacity(ae)),r.fillStyle=Y.colorStringToRgba(ae,Z?(k=this.options)==null?void 0:k.unSelectedOpacity:me);let re;if(this.type==="x"){if(re=this.position==="top"?x-10:x+10,((w=c==null?void 0:c.brush)!=null&&w.showLabel||!(c!=null&&c.brush))&&r.fillText(this.checkFixWidth(te),K,re),!Z&&((B=c==null?void 0:c.selectItem)!=null&&B.showLabelTip)&&(s!=null&&s.label)&&!((D=this.options)!=null&&D.horizontal)){const ue=this.getLabelFormat(Math.min(f,s.label+0*g));if(ue===te){const ke=Math.round(r.measureText((L=this.labelStyle)==null?void 0:L.fontSize).width);Y.showLabelTip({ctx:this.ctx,width:Math.round(r.measureText(ue).width)+10,height:ke,x:K,y:re+(ke-2),borderRadius:2,arrowSize:3,text:te,backgroundColor:(v=(R=c==null?void 0:c.selectItem)==null?void 0:R.labelTipStyle)==null?void 0:v.backgroundColor,textColor:(O=(N=c==null?void 0:c.selectItem)==null?void 0:N.labelTipStyle)==null?void 0:O.textColor})}}this.showAxisTick&&(r.beginPath(),r.strokeStyle=this.axisLineColor,r.moveTo(q,x),r.lineTo(q,x+y),r.stroke(),r.closePath()),(G!==0||c!=null&&c.axesX[0].flow)&&this.showGrid&&(r.beginPath(),r.strokeStyle=this.gridLineColor,r.moveTo(q,x),r.lineTo(q,b),r.stroke(),r.closePath())}else re=this.position==="left"?x-10:x+10,((P=c==null?void 0:c.brush)!=null&&P.showLabel||!(c!=null&&c.brush))&&r.fillText(this.checkFixWidth(te),re,K),G===h&&(q-=1),this.showAxisTick&&(r.beginPath(),r.strokeStyle=this.axisLineColor,r.moveTo(x+(this.axisLineWidth??1),q),r.lineTo(x-y,q),r.stroke(),r.closePath()),G!==0&&this.showGrid&&(r.beginPath(),r.strokeStyle=this.gridLineColor,r.moveTo(x,q),r.lineTo(b,q),r.stroke(),r.closePath())}}if((_=this.plotBands)!=null&&_.length||(A=this.plotLines)!=null&&A.length){const W=t.chartWidth-(n.left+n.right),F=t.chartHeight-(n.top+n.bottom),U=M+1,j=d.x1,K=d.x2+U,q=d.y1-U,ee=d.y2;(z=this.plotBands)==null||z.forEach(J=>{const te=Fe({},J,Tr),{from:G,to:oe,label:Z}=te,ae=Y.isNullOrUndefined(G)?u:Math.max(G,u),me=Y.isNullOrUndefined(oe)?f:Math.min(oe,f);this.setPlotBandStyle(te);let re,ue;if(this.type==="x"){if(re=ie.calculateX(ae,u,f,W,j),ue=ie.calculateX(me,u,f,W,j),re===null||ue===null)return;this.drawXPlotBand(re,ue,j,K,q,ee)}else{if(re=ie.calculateY(ae,u,f,F,ee),ue=ie.calculateY(me,u,f,F,ee),re===null||ue===null)return;this.drawYPlotBand(re,ue,j,K,q,ee)}if(Z.show){const ke=this.getNormalizedLabelOptions(t,Z),rt=this.getPlotBandLabelPosition(re,ue,ke,K,q);this.drawPlotLabel(ke,rt)}r.restore()}),($=this.plotLines)==null||$.forEach(J=>{if(typeof+J.value!="number")return;const te=Fe({},J,vr),{value:G,label:oe}=te;let Z;if(this.type==="x"){if(Z=ie.calculateX(G,u,f,W,j),Z===null)return;this.setPlotLineStyle(te),this.drawXPlotLine(Z,j,K,q,ee)}else{if(Z=ie.calculateY(G,u,f,F,ee),Z===null)return;this.setPlotLineStyle(te),this.drawYPlotLine(Z,j,K,q,ee)}if(oe.show){const ae=this.getNormalizedLabelOptions(t,oe),me=this.getPlotLineLabelPosition(Z,ae,K,q);this.drawPlotLabel(ae,me)}r.restore()})}}}setPlotLineStyle(t){const n=this.ctx,{color:o,lineWidth:s}=t;n.beginPath(),n.save(),n.lineWidth=s,n.strokeStyle=o,t.segments&&n.setLineDash(t.segments)}setPlotBandStyle(t){const n=this.ctx,{color:o}=t;n.beginPath(),n.save(),n.fillStyle=o}drawXPlotBand(t,n,o,s,l,a){const r=this.ctx,c=d=>d||d>o||d<s;if(!c(t)||!c(n)){r.closePath(),r.restore();return}r.moveTo(t,l),r.lineTo(t,a),r.lineTo(n,a),r.lineTo(n,l),r.lineTo(t,l),r.stroke(),r.fill(),r.restore(),r.closePath()}drawXPlotLine(t,n,o,s,l){const a=this.ctx;if(!t||t<n||t>o){a.closePath(),a.restore();return}let r=t;r+=Y.aliasPixel(a.lineWidth),a.moveTo(r,l),a.lineTo(r,s),a.stroke(),a.restore(),a.closePath()}drawYPlotLine(t,n,o,s,l){const a=this.ctx;if(!t||t>l||t<s){a.closePath(),a.restore();return}let r=t;r+=Y.aliasPixel(a.lineWidth),a.moveTo(n,r),a.lineTo(o,r),a.stroke(),a.restore(),a.closePath()}drawYPlotBand(t,n,o,s,l,a){const r=this.ctx,c=d=>d||d>l||d<a;if(!c(t)||!c(n)){r.closePath(),r.restore();return}r.moveTo(o,t),r.lineTo(o,n),r.lineTo(s,n),r.lineTo(s,t),r.lineTo(o,t),r.fill(),r.restore(),r.closePath()}getNormalizedLabelOptions(t,n){const o=Fe({},n,Er),s=this.ctx,{maxWidth:l}=o,a=o.fontSize>20?20:o.fontSize;let r=o.text,c=l??s.measureText(r).width;const d=this.type==="y"?t.width-t.chartWidth:l??t.width;return d<s.measureText(r).width&&o.textOverflow==="ellipsis"&&(r=Y.truncateLabelWithEllipsis(o.text,d,s),c=s.measureText(r).width),{label:r,fontSize:a,labelWidth:c,labelBoxPadding:a/4,labelHalfWidth:c/2,labelHalfHeight:a/2,...o}}getPlotBandLabelPosition(t,n,o,s,l){const{fontSize:a,labelWidth:r,labelHalfWidth:c,labelHalfHeight:d,labelBoxPadding:h,textAlign:u,verticalAlign:f}=o;if(a<=0)return{textX:0,textY:0};let g,p;if(this.type==="x")switch(p=l-h-a,u){case"left":g=t+c+h;break;case"right":g=n-c-h;break;case"center":default:g=(n-t)/2+t;break}else switch(g=s+r+h,f){case"top":p=n+d+h;break;case"bottom":p=t-d-h;break;case"middle":default:p=(t-n)/2+n;break}return{textX:g,textY:p}}getPlotLineLabelPosition(t,n,o,s){const{fontSize:l,labelWidth:a,labelHalfWidth:r,labelHalfHeight:c,labelBoxPadding:d}=n;if(l<=0)return{textX:0,textY:0};let h,u;if(this.type==="x")switch(u=s-d-l,n.textAlign){case"left":h=t-r-d;break;case"right":h=t+r+d;break;case"center":default:h=t;break}else switch(h=o+a+d,n.verticalAlign){case"top":u=t-c-d;break;case"bottom":u=t+c+d;break;case"middle":default:u=t;break}return{textX:h,textY:u}}drawPlotLabel(t,n){if(!n)return;const{textX:o,textY:s}=n,{label:l,fontSize:a,fontColor:r,fillColor:c,lineColor:d,lineWidth:h,labelBoxPadding:u,labelWidth:f,labelHalfWidth:g,labelHalfHeight:p}=t;if(a<=0)return;const m=this.ctx;m.save(),m.beginPath(),m.font=Y.getLabelStyle(t);let x=0,b=0,y=0,M=0;this.type==="x"?(x=s-u,b=s+a,y=o-g-u,M=o+g+u):(x=s-p-u,b=s+p+u,y=o-f,M=o+u),m.fillStyle=c,m.strokeStyle=d,m.lineWidth=h,m.moveTo(y,b),m.lineTo(y,x),m.lineTo(M,x),m.lineTo(M,b),m.lineTo(y,b),m.fill(),h>0&&m.stroke(),m.fillStyle=r,m.fillText(l,o,s),m.closePath()}checkFixWidth(t){const{fixWidth:n,fitDir:o}=this.labelStyle;return ve(n)&&n>0?Y.truncateLabelWithEllipsis(t,n,this.ctx,o):t}}class BC extends io{normalizeTimeValue(t){if(t==null)return null;if(typeof t=="number")return Number.isFinite(t)?t:null;const n=Je(t).valueOf();return Number.isFinite(n)?n:null}calculateScaleRange(t,n){const o=n!=null&&n.use?n==null?void 0:n.range:this.range;if(!(Array.isArray(o)||typeof o=="function")&&((t==null?void 0:t.min)==null||(t==null?void 0:t.max)==null))return{min:null,max:null,minLabel:"",maxLabel:"",size:Y.calcTextSizeCanvas("",Y.getLabelStyle(this.labelStyle))};let l=o;Array.isArray(o)&&o.length===2?l=[this.normalizeTimeValue(o[0]),this.normalizeTimeValue(o[1])]:typeof o=="function"&&(l=(...h)=>{const[u,f]=o(...h);return[this.normalizeTimeValue(u),this.normalizeTimeValue(f)]});const a=this.range,r=n!=null&&n.use?{...n,range:l}:n,c={...t,min:this.normalizeTimeValue(t==null?void 0:t.min),max:this.normalizeTimeValue(t==null?void 0:t.max)};let d;try{n!=null&&n.use||(this.range=l),d=super.calculateScaleRange(c,r)}finally{this.range=a}return{...d,min:this.normalizeTimeValue(d.min),max:this.normalizeTimeValue(d.max)}}getLabelFormat(t,n={}){if(this.formatter){const o=this.formatter(t,n);if(typeof o=="string")return o}return Je(t).format(this.timeFormat)}getInterval(t){const n=this.normalizeTimeValue(t.maxValue),o=this.normalizeTimeValue(t.minValue),s=t.maxSteps;if(this.interval){let l;if(typeof this.interval=="string"?l=ri[this.interval].size:typeof this.interval=="object"?l=this.interval.time*ri[this.interval.unit].size:typeof this.interval=="number"&&(l=this.interval),l>0&&Number.isFinite(l))return l}return Math.ceil((n-o)/s)}calculateSteps(t){const n=this.normalizeTimeValue(t.minValue),o=this.normalizeTimeValue(t.maxValue),s=Math.max(1,t.maxSteps??1),l={...t,minValue:n,maxValue:o};if(n==null||o==null)return{steps:0,interval:0,graphMin:null,graphMax:null};const a=Array.isArray(this.range)&&this.range.length===2,c=typeof this.interval=="number"||typeof this.interval=="object"&&this.interval!==null?this.getInterval(l):null,d=c!=null&&c>0&&Number.isFinite(c),h=1e-10,u=+n;let f=+o;if(a&&d){const b=f-u,y=b/c,M=Math.abs(y-Math.round(y))<h;if(this.fixedSteps||M){let E=c,I=Math.round(y);if(!this.fixedSteps)for(;I>s;)E+=c,I=Math.ceil(b/E);return{steps:I,interval:E,graphMin:u,graphMax:f}}}if(!a&&d){const b=f-u;let y=c,M=Math.ceil(b/y);for(;M>s;)y+=c,M=Math.ceil(b/y);return f=u+y*M,{steps:M,interval:y,graphMin:u,graphMax:f}}let g=this.getInterval(l),p=u;for(;p<o;)p+=g;f=p;const m=f-u;let x=Math.round(m/g);for(;x>s;){g*=2,x=Math.round(m/g);const b=m/x;g=this.decimalPoint?b:Math.ceil(b)}if(m>x*g){const b=m/x;g=this.decimalPoint?b:Math.ceil(b)}return{steps:x,interval:g,graphMin:u,graphMax:f}}}class DC extends io{getTruthyValue(t){const n=this.adjustedDecimalPoint??this.decimalPoint;return ve(t)?Number(t.toFixed(n)):t}getLabelFormat(t,n={}){if(this.formatter){const s=this.getTruthyValue(t),l=this.formatter(s,{...n,prevOriginalValue:n==null?void 0:n.prev,prevDecimalPointValue:this.getTruthyValue(n==null?void 0:n.prev),currentOriginalValue:t,currentDecimalPointValue:s});if(typeof l=="string")return l}const o=this.adjustedDecimalPoint??this.decimalPoint;return Y.labelSignFormat(t,o)}getInterval(t){if(this.interval)return this.interval;let n=0;const o=t.maxValue,s=t.minValue,l=t.maxSteps;if(!l||l<=0)return 0;if(this.startToZero&&s<0){const a=Math.abs(s)+Math.abs(o),r=Math.abs(s)/a,c=Math.abs(o)/a;let d=Math.max(1,Math.round(r*l)),h=Math.max(1,l-d);d+h>l&&(r>c?d-=1:h-=1),n=Math.max(Math.abs(s)/(d||1),Math.abs(o)/(h||1))}else n=(o-s)/l;return this.decimalPoint?n:Math.ceil(n)}getExactInterval(t,n){if(!Number.isFinite(t)||t<=0)return{interval:1,steps:1};const o=Math.max(1,n);let s=null,l=0,a=1/0;for(let r=o;r>=1;r--){const c=t/r;let d=1;for(let h=0;h<=12;h++,d*=10){const u=c*d;if(Math.abs(u-Math.round(u))<1e-6){h<a&&c<t&&(a=h,s=Math.round(u)/d,l=r);break}}if(a===0)break}return l>0?{interval:s,steps:l}:{interval:parseFloat((t/o).toFixed(12)),steps:o}}getStepsWithNiceScale({max:t,min:n,maxSteps:o}){const s=t-n;if(!Number.isFinite(s)||s<=0)return{max:n+1,min:n,interval:1,steps:1};const l=s/o,a=Math.floor(Math.log10(l)),r=Math.ceil(Math.log10(s));let c=t,d=n,h=0,u=0,f=1/0;for(let g=a;g<=r;g++){const p=10**g;for(const m of kC){const x=m*p;if(x>=l){const b=x*1e-10,y=Math.floor((n+b)/x)*x,M=Math.ceil((t-y-b)/x),E=y+x*M;if(M<=o&&E>=t-b){const I=n-y+(E-t);I<f&&(c=E,d=y,h=x,u=M,f=I)}}}}if(!(h>0)||u<=0){const g=Math.max(1,o),p=s/g||1;return{max:t,min:n,interval:p,steps:g}}return{max:c,min:d,interval:h,steps:u}}getDecimalPointFromInterval(t){if(!Number.isFinite(t)||t===0)return 0;const n=Math.abs(t),o=10,s=1e-10,l=(c,d=0)=>{const h=10**d;return Math.round((c+Number.EPSILON)*h)/h},a=(c,d)=>{const h=l(c,d);return Math.abs(c-h)<s};if(n>=1&&a(n,0))return 0;const r=n>=1?0:Math.max(0,Math.ceil(-Math.log10(n)));for(let c=r;c<=o;c+=1)if(a(n,c))return c;return o}getLegacyOneMaxScale(t){return this.decimalPoint?t>2?{interval:.2,steps:5}:{interval:.5,steps:2}:{interval:1,steps:1}}calculateSteps(t){const{minValue:n,maxValue:o}=t,s=Math.max(1,t.maxSteps??1),l=Array.isArray(this.range)&&this.range.length===2,r=typeof this.interval=="number"||typeof this.interval=="object"&&this.interval!==null?this.getInterval(t):null,c=r!=null&&r>0&&Number.isFinite(r),d=l?+this.range[0]:null,h=l?+this.range[1]:null,u=1e-10,f=y=>{if(this.decimalPoint==="auto"){const M=this.getDecimalPointFromInterval(y);M!=null&&!Number.isNaN(M)?this.adjustedDecimalPoint=M:typeof this.getAutoDecimalPointFromInterval=="function"?this.adjustedDecimalPoint=this.getAutoDecimalPointFromInterval(y):this.adjustedDecimalPoint=0}else this.adjustedDecimalPoint=this.decimalPoint},g=(y,M)=>Math.max(1,Math.round(y/M+u)),p=({min:y,max:M,interval:E})=>{let I=0,T=0;return y>=0?(I=+y,T=Math.ceil(M/E)*E):M>=0?(I=Math.floor(y/E)*E,T=Math.ceil(M/E)*E):(T=+M,I=Math.floor(y/E)*E),{graphMin:I,graphMax:T}};if(l&&c){const y=d,M=h,E=r,T=(M-y)/E;if(Math.abs(T-Math.round(T))<u&&T<=s||this.fixedSteps){const C=Math.round(T);return f(E),{steps:C,interval:E,graphMin:y,graphMax:M}}}if(l){const y=d,M=h,E=M-y,{interval:I,steps:T}=this.getExactInterval(E,s);return f(I),{steps:T,interval:I,graphMin:y,graphMax:M}}if(c){let y=r,M=0,E=0,I=0,T=0;for({graphMin:M,graphMax:E}=p({min:n,max:o,interval:y}),I=E-M,T=g(I,y);T>s;)y+=r,{graphMin:M,graphMax:E}=p({min:n,max:o,interval:y}),I=E-M,T=g(I,y);return f(y),{steps:T,interval:y,graphMin:M,graphMax:E}}const m=this.startToZero&&n>=0?0:n,x=this.startToZero&&o<=0?0:o;if(m===0&&x===1){const y=this.getLegacyOneMaxScale(s);return f(y.interval),{steps:y.steps,interval:y.interval,graphMin:m,graphMax:x}}const b=this.getStepsWithNiceScale({min:m,max:x,maxSteps:s});return f(b.interval),{steps:b.steps,interval:b.interval,graphMin:b.min,graphMax:b.max}}calculateScaleRange(t,n){var u;let o,s,l=!1;const a=n!=null&&n.use?n==null?void 0:n.range:this.range;if(!(Array.isArray(a)||typeof a=="function")&&((t==null?void 0:t.min)==null||(t==null?void 0:t.max)==null)){const f=this.getLabelFormat(0),g=this.getLabelFormat(1,{isMaxValueSameAsMin:!0});return{min:0,max:1,minLabel:f,maxLabel:g,size:Y.calcTextSizeCanvas(g,Y.getLabelStyle(this.labelStyle))}}Array.isArray(a)&&(a==null?void 0:a.length)===2?this.options.type==="heatMap"?(o=a[1]>+t.max?+t.max:a[1],s=a[0]<+t.min?+t.min:a[0]):(o=a[1],s=a[0]):typeof a=="function"?[s,o]=a(t.min,t.max):(o=t.max,s=t.min);const c=Array.isArray(this.range)&&this.range.length===2;if(this.autoScaleRatio&&!c){const f=o,g=o*(this.autoScaleRatio+1);if(o=this.decimalPoint?g:Math.ceil(g),o>0&&s<0){const p=f-o;s+=p}else if(o<0&&s<0){const p=s*(this.autoScaleRatio+1);s=this.decimalPoint?p:Math.ceil(p)}}this.startToZero&&!c&&(s>0&&(s=0),o<0&&(o=0)),o===s&&(o+=1,l=!0);const d=this.getLabelFormat(s),h=this.getLabelFormat(o,{isMaxValueSameAsMin:l});return{min:s,max:o,minLabel:d,maxLabel:h,size:Y.calcTextSizeCanvas(h,Y.getLabelStyle(this.labelStyle),(u=this.labelStyle)==null?void 0:u.padding)}}}class LC extends io{calculateScaleRange(t){let n,o,s=!1;Array.isArray(this.range)&&this.range.length===2?(n=this.range[1],o=this.range[0]):typeof range=="function"?[o,n]=this.range(t.min,t.max):(n=t.max,o=t.min);const l=Y.calculateMagnitude(n-o);n=Math.ceil(n/10**l)*10**l,this.startToZero&&(o=0),n===o&&(n+=1,s=!0);const a=this.getLabelFormat(o),r=this.getLabelFormat(n,{isMaxValueSameAsMin:s});return{min:o,max:n,minLabel:a,maxLabel:r,size:Y.calcTextSize(r,Y.getLabelStyle(this.labelStyle))}}calculateSteps(t,n){const o=t.maxValue,s=t.minValue,l=t.maxSteps,a=Y.calculateMagnitude(o-s);let r=this.getInterval(t),c;const d=o,h=s,u=d-h;for(c=Math.round(u/r),o===1&&(r=.2,c=5);(c>l||c*2<l)&&!n;)if(c>l)r*=2,c=Math.ceil(u/r);else if(a>=0)if(r/2%1===0)r/=2,c=Math.ceil(u/r);else break;else r/=2,c=Math.ceil(u/r);return{steps:c,interval:r,graphMin:h,graphMax:Math.ceil(h+c*r)}}getLabelFormat(t,n={}){if(this.formatter){const o=this.formatter(t,n);if(typeof o=="string")return o}return Y.labelSignFormat(t,this.decimalPoint)}getInterval(t){const n=t.maxValue,o=t.minValue;return 10**Y.calculateMagnitude(n-o)}}const Ps=new WeakMap;class RC extends io{constructor(t,n,o,s,l){super(t,n,o,l),this.labels=s}getMaxWidth(t,n){var s;const o=(s=this.labelStyle)==null?void 0:s.maxWidth;if(o==null)return n;if(typeof o=="string"){const l=o.trim();if(l.includes("%")){const r=Number.parseFloat(l.replace("%",""));return Number.isNaN(r)?n:t.chartWidth*(r/100)}const a=Number.parseFloat(l);return Number.isNaN(a)?n:a}return o}getStepMinMax(t,n){return this.labelStyle.alignToGridLine?t:n!=null&&n.use?(Ps.has(this.labels)||Ps.set(this.labels,Y.getStringMinMax(this.labels)),Ps.get(this.labels)):Y.getStringMinMax(this.labels)}calculateScaleRange(t,n,o){const s=this.getStepMinMax(t,n);let l=s.max,a=s.min,r=0,c=this.labels.length-1,d=this.labels.length;const h=n!=null&&n.use?n==null?void 0:n.range:this.range;if(Array.isArray(h)&&(h!=null&&h.length)){const[f,g]=h;ve(f)&&ve(g)&&(r=f<r?r:f,c=g>c?c:g,l=this.labels[c],a=this.labels[r],d=c-r+1)}else if(typeof h=="function"){const[f,g]=h(a,l);r=f<r?r:f,c=g>c?c:g,l=this.labels[c],a=this.labels[r],d=c-r+1}const u=this.getMaxWidth(o,o.chartWidth/(d+2));return{min:a,max:l,minIndex:r,maxIndex:c,minLabel:this.getLabelFormat(a,u),maxLabel:this.getLabelFormat(l,u),size:Y.calcTextSizeCanvas(this.getLabelFormat(l,u),Y.getLabelStyle(this.labelStyle))}}getIndexInterval(t){const n=t.maxSteps;return this.interval?this.interval:Math.ceil(this.labels.length/n)}calculateSteps(t){const{minValue:n,maxValue:o,minIndex:s,maxIndex:l}=t,a=l-s+1;let r=1;const c=this.labels.every(d=>!isNaN(d));return this.labelStyle.alignToGridLine&&c&&(r=this.getIndexInterval(t)),{oriSteps:a,steps:a,indexInterval:r,graphMin:n,graphMax:o,minIndex:s,maxIndex:l}}draw(t,n,o,s,l){var y,M,E,I,T,V,C,S,k,w,B;const a=this.ctx,r=this.labels,c={x1:t.x1+n.left,x2:t.x2-n.right,y1:t.y1+n.top,y2:t.y2-n.bottom},d=o.steps,h=o.indexInterval,u=o.minIndex,f=c[this.units.rectStart],g=c[this.units.rectEnd],p=c[this.units.rectOffset(this.position)],m=c[this.units.rectOffsetCounter(this.position)],x=this.getMaxWidth(t,t.chartWidth/(d+2)),b=5;if(this.drawAxisTitle(t,n),(y=this.labelStyle)!=null&&y.show){a.font=Y.getLabelStyle(this.labelStyle),this.type==="x"?(a.textAlign="center",a.textBaseline=this.position==="top"?"bottom":"top"):(a.textAlign=this.position==="left"?"right":"left",a.textBaseline="middle"),a.fillStyle=this.labelStyle.color,a.lineWidth=this.axisLineWidth;const D=Y.aliasPixel(a.lineWidth);if(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(f,p+D),a.lineTo(g,p+D)):(a.moveTo(p+D,f),a.lineTo(p+D,g)),a.stroke(),d===0)return;const L=(g-f)/d,R=this.labelStyle.alignToGridLine;let v=null,N=null;a.beginPath(),a.strokeStyle=this.gridLineColor;let O,P,_;for(_=0;_<d;_+=h){const A=u+_,z=this.labels[A];v=Math.round(f+L*_),N=v+D,O=this.getLabelFormat(z,x);const{selectLabel:$,selectItem:W,horizontal:F}=this.options;let U;l!=null&&l.targetAxis?U=(l==null?void 0:l.targetAxis)==="yAxis"?"y":"x":U=F?"y":"x";const j=($==null?void 0:$.use)&&($==null?void 0:$.useLabelOpacity)&&U===this.type&&((M=l==null?void 0:l.dataIndex)==null?void 0:M.length)&&!((E=l==null?void 0:l.dataIndex)!=null&&E.includes(A));let K=this.labelStyle.color,q=1;if(Y.getColorStringType(K)==="RGBA"&&(q=Y.getOpacity(K)),_===d-1&&this.lastLabelFontStyle&&(a.font=Y.getLabelStyle(this.lastLabelFontStyle),K=this.lastLabelFontStyle.color),a.fillStyle=Y.colorStringToRgba(K,j?(I=this.options)==null?void 0:I.unSelectedOpacity:q),this.type==="x"){P=this.position==="top"?p-10:p+10;const J=R?v:v+L/2;if(a.fillText(this.checkFixWidth(O),J,P),!j&&(W!=null&&W.showLabelTip)&&(s!=null&&s.label)&&!F){const te=s.label;if(te===O){const G=Math.round(a.measureText((T=this.labelStyle)==null?void 0:T.fontSize).width);Y.showLabelTip({ctx:this.ctx,width:Math.round(a.measureText(te).width)+10,height:G,x:v+L/2,y:P+(G-2),borderRadius:2,arrowSize:3,text:O,backgroundColor:(V=W==null?void 0:W.labelTipStyle)==null?void 0:V.backgroundColor,textColor:(C=W==null?void 0:W.labelTipStyle)==null?void 0:C.textColor})}}this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(v+L/2,p),a.lineTo(v+L/2,p+b),a.stroke(),a.closePath()),_>0&&this.showGrid&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(N,p),a.lineTo(N,m),a.stroke(),a.closePath())}else{P=this.position==="left"?p-10:p+10;const J=R?v:v+L/2;a.fillText(this.checkFixWidth(O),P,J),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(p+(this.axisLineWidth??1),J),a.lineTo(p-b,J),a.stroke(),a.closePath()),_>0&&this.showGrid&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(p,N),a.lineTo(m,N),a.stroke(),a.closePath())}a.stroke()}if(this.showLastLabel){const A=u+d-1;if(u+Math.floor((d-1)/h)*h!==A){const $=Math.round(f+L*(d-1)),W=R?$:$+L/2,F=this.getLabelFormat(r[A],x);a.font=this.lastLabelFontStyle?Y.getLabelStyle(this.lastLabelFontStyle):Y.getLabelStyle(this.labelStyle),a.fillStyle=this.lastLabelFontStyle?this.lastLabelFontStyle.color:this.labelStyle.color,this.type==="x"?a.fillText(this.checkFixWidth(F),W,P):a.fillText(this.checkFixWidth(F),P,W),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(W,p),a.lineTo(W,p+b)):(a.moveTo(p+(this.axisLineWidth??1),W),a.lineTo(p-b,W)),a.stroke(),a.closePath())}}if(R&&!this.showLastLabel){const A=Kb(+r[1],+r[0]),z=Os(+r[r.length-1],A);if(isNaN(z))return;v=Math.round(f+L*this.labels.length),N=v+D;const $=this.getLabelFormat(`${z}`,x),W=v+L/2;a.font=Y.getLabelStyle(this.labelStyle),a.fillStyle=this.labelStyle.color,this.type==="x"?a.fillText(this.checkFixWidth($),v,P):a.fillText(this.checkFixWidth($),P,v),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(W,p),a.lineTo(W,p+b)):(a.moveTo(p+(this.axisLineWidth??1),N),a.lineTo(p-b,N)),a.stroke(),a.closePath())}a.closePath()}if((S=this.plotBands)!=null&&S.length||(k=this.plotLines)!=null&&k.length){const D=Y.aliasPixel(a.lineWidth)+1,L=c.x1+D,R=c.x2,v=c.y1+D,N=c.y2,O=(g-f)/(this.labelStyle.show?r.length:1);(w=this.plotBands)==null||w.forEach(P=>{if(!P.from&&!P.to)return;const _=Fe({},P,Tr),{from:A=0,to:z=r.length,label:$}=_,W=Math.round(f+O*A),F=Math.round(f+O*z);if(this.setPlotBandStyle(_),this.type==="x"?this.drawXPlotBand(W,F,L,R,v,N):this.drawYPlotBand(W,F,L,R,v,N),$.show){const U=this.getNormalizedLabelOptions(t,$),j=this.getPlotBandLabelPosition(W,F,U,R,v);this.drawPlotLabel(U,j)}a.restore()}),(B=this.plotLines)==null||B.forEach(P=>{if(!P.value)return;const _=Fe({},P,vr),{value:A,label:z}=_,$=Math.round(f+O*A)+O/2;if(this.setPlotLineStyle(_),this.type==="x"?this.drawXPlotLine($,L,R,v,N):this.drawYPlotLine($,L,R,v,N),z.show){const W=this.getNormalizedLabelOptions(t,z),F=this.getPlotLineLabelPosition($,W,R,v);this.drawPlotLabel(W,F)}a.restore()})}}getLabelFormat(t,n,o={}){if(this.formatter){const s=this.formatter(t,o);if(typeof s=="string")return s}return this.labelStyle.fitWidth?this.fittingString(t,n):t}fittingString(t,n){const o=this.ctx;o.save(),o.font=Y.getLabelStyle(this.labelStyle);const s=this.labelStyle.fitDir;return Y.truncateLabelWithEllipsis(t,n,o,s)}getLabelWidthHasMaxLength(t,n,o=[]){const s=Y.getLabelStyle(this.labelStyle),l=(t==null?void 0:t.length)??0,a=this.getMaxWidth(n,(n==null?void 0:n.chartWidth)/(l+2));return[...(t??[]).map(d=>this.getLabelFormat(d,a)),...o].reduce((d,h)=>{var f;const u=((f=Y.calcTextSizeCanvas(h,s))==null?void 0:f.width)??0;return Math.max(d,u)},0)}}class OC extends io{constructor(t,n,o,s,l){super(t,n,o),this.labels=s,this.options=l}getLabelFormat(t,n={}){if(this.formatter){const o=this.formatter(t,n);if(typeof o=="string")return o}return Je(t).format(this.timeFormat)}getInterval(t){const n=t.maxValue,o=t.minValue,s=t.maxSteps;if(this.interval){if(typeof this.interval=="string")return ri[this.interval].size;if(typeof this.interval=="object")return this.interval.time*ri[this.interval.unit].size;if(typeof this.interval=="number")return this.interval}return Math.ceil((n-o)/s)}calculateSteps(t){const{maxValue:n,minValue:o,maxSteps:s}=t,l=this.getInterval(t);let a=l,r=o,c;for(;r<n;)r+=a;const d=r>n?n:r,h=o,u=d-h;c=Math.round(u/a)+1;const f=c;for(n===1&&(a=.2,c=5);c>s;)a*=2,c=Math.round(u/a),a=Math.ceil(u/c);return d-h>c*a&&(a=Math.ceil((d-h)/c)),{steps:c,oriSteps:f,interval:a,rawInterval:l,graphMin:h,graphMax:d}}draw(t,n,o,s,l){var R,v,N,O,P,_,A,z,$,W,F,U,j,K,q,ee;const a=this.ctx,r=this.labels,c={x1:t.x1+n.left,x2:t.x2-n.right,y1:t.y1+n.top,y2:t.y2-n.bottom},d=o.steps,h=o.graphMin,u=o.graphMax,f=o.rawInterval,g=o.oriSteps;let p=c[this.units.rectStart];const m=c[this.units.rectEnd],x=c[this.units.rectOffset(this.position)],b=c[this.units.rectOffsetCounter(this.position)],y=5;this.drawAxisTitle(t,n),a.font=Y.getLabelStyle(this.labelStyle),this.type==="x"?(a.textAlign="center",a.textBaseline=this.position==="top"?"bottom":"top"):(a.textAlign=this.position==="left"?"right":"left",a.textBaseline="middle"),a.fillStyle=this.labelStyle.color,a.lineWidth=this.axisLineWidth;const M=Y.aliasPixel(a.lineWidth);if(a.beginPath(),a.strokeStyle=this.axisLineColor,this.type==="x"?(a.moveTo(p,x+M),a.lineTo(m,x+M)):(a.moveTo(x+M,p),a.lineTo(x+M,m)),a.stroke(),a.closePath(),d===0||h===null)return;const E=this.labelStyle.alignToGridLine,I=(m-p)/(g||1);this.categoryMode&&!E&&(p+=Math.ceil(I/2)-2);const T=[];let V=null,C=null;a.beginPath(),a.strokeStyle=this.gridLineColor;let S,k,w,B=d<=2?g:Math.round(g/d);const D=p>Math.ceil(c[this.units.rectStart]);this.type==="x"&&D&&B===g&&(B=1);const L=B===g?g:g-1;for(w=0;w<=L;w+=B){T[w]=Je(h).valueOf()+w*f,V=Math.round(p+I*w),C=V+M;let J;for(let Z=0;Z<T.length;Z++)T[Z]!==void 0&&Z!==w&&(J=T[Z]);S=this.getLabelFormat(Math.min(u,T[w]),{prev:J});const te=((v=(R=this.options)==null?void 0:R.selectLabel)==null?void 0:v.use)&&((O=(N=this.options)==null?void 0:N.selectLabel)==null?void 0:O.useLabelOpacity)&&this.options.horizontal===(this.type==="y")&&((P=l==null?void 0:l.dataIndex)==null?void 0:P.length)&&!(l!=null&&l.label.map(Z=>this.getLabelFormat(Math.min(u,Z),{prev:J})).includes(S)),G=this.labelStyle.color;let oe=1;if(Y.getColorStringType(G)==="RGBA"&&(oe=Y.getOpacity(G)),a.fillStyle=Y.colorStringToRgba(G,te?(_=this.options)==null?void 0:_.unSelectedOpacity:oe),this.type==="x"){if(k=this.position==="top"?x-10:x+10,a.fillText(this.checkFixWidth(S),V,k),!te&&((z=(A=this.options)==null?void 0:A.selectItem)!=null&&z.showLabelTip)&&(s!=null&&s.label)&&!(($=this.options)!=null&&$.horizontal)){const Z=this.getLabelFormat(Math.min(u,s.label+0*f));if(Z===S){const ae=Math.round(a.measureText((W=this.labelStyle)==null?void 0:W.fontSize).width);Y.showLabelTip({ctx:this.ctx,width:Math.round(a.measureText(Z).width)+10,height:ae,x:V,y:k+(ae-2),borderRadius:2,arrowSize:3,text:S,backgroundColor:(j=(U=(F=this.options)==null?void 0:F.selectItem)==null?void 0:U.labelTipStyle)==null?void 0:j.backgroundColor,textColor:(ee=(q=(K=this.options)==null?void 0:K.selectItem)==null?void 0:q.labelTipStyle)==null?void 0:ee.textColor})}}this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(C,x),a.lineTo(C,x+y),a.stroke(),a.closePath()),w<g&&this.showGrid&&(D||!D&&w!==0)&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(C,x),a.lineTo(C,b),a.stroke(),a.closePath())}else k=this.position==="left"?x-10:x+10,a.fillText(this.checkFixWidth(S),k,V),this.showAxisTick&&(a.beginPath(),a.strokeStyle=this.axisLineColor,a.moveTo(x+(this.axisLineWidth??1),C),a.lineTo(x-y,C),a.stroke(),a.closePath()),w<g&&this.showGrid&&(D||!D&&w!==0)&&(a.beginPath(),a.strokeStyle=this.gridLineColor,a.moveTo(x,C),a.lineTo(b,C),a.stroke(),a.closePath());a.stroke()}if(this.categoryMode&&E&&w*B===g){const J=Je(r[1]).diff(Je(r[0])),te=this.getLabelFormat(Je(T[g-1]+J));V=Math.round(p+I*g),C=V+M,this.type==="x"?(a.fillText(this.checkFixWidth(te),V,k),this.showGrid&&(a.moveTo(C,x),a.lineTo(C,b))):(a.fillText(this.checkFixWidth(te),k,V),this.showGrid&&(a.moveTo(x,C),a.lineTo(b,C))),a.stroke()}a.closePath()}}const NC={createTitle(){this.titleDOM=document.createElement("div"),this.titleDOM.className="ev-chart-title",this.wrapperDOM.appendChild(this.titleDOM)},initTitle(){this.isInitTitle||this.createTitle(),this.updateTitle(),this.isInitTitle=!0},showTitle(){this.titleDOM.style.display="block",this.wrapperDOM.style.paddingTop=`${this.options.title.height}px`},hideTitle(){this.titleDOM.style.display="none",this.wrapperDOM.style.paddingTop="0px"},updateTitle(){const e=this.options.title;Object.keys(e.style).forEach(t=>{this.titleDOM.style[t]=e.style[t]}),this.titleDOM.textContent=e.text,this.titleDOM.style.height=`${e.height}px`,this.titleDOM.style.lineHeight=`${e.height}px`}},VC={createLegendLayout(){var e,t;this.legendDOM=document.createElement("div"),this.legendDOM.className="ev-chart-legend",this.legendBoxDOM=document.createElement("div"),this.legendBoxDOM.className="ev-chart-legend-box",(t=(e=this.options)==null?void 0:e.legend)!=null&&t.allowResize&&(this.resizeDOM=document.createElement("div"),this.resizeDOM.className="ev-chart-resize-bar",this.ghostDOM=document.createElement("div"),this.ghostDOM.className="ev-chart-resize-ghost",this.wrapperDOM.appendChild(this.resizeDOM)),this.useTable?(this.legendTableDOM=document.createElement("table"),this.legendTableDOM.className="ev-chart-legend--table",this.setLegendColumnHeader(),this.legendBoxDOM.appendChild(this.legendTableDOM),this.legendDOM.style.overflow="auto"):(this.legendBoxDOM.style.overflowX="hidden",this.legendBoxDOM.style.overflowY="auto",this.legendBoxDOM.style.height="100%"),this.legendDOM.appendChild(this.legendBoxDOM),this.wrapperDOM.appendChild(this.legendDOM),this.options.legend.virtualScroll&&!this.useTable&&(this.legendTopSpacer=document.createElement("div"),this.legendTopSpacer.className="ev-chart-legend--top-spacer",this.legendTopSpacer.style.clear="both",this.legendTopSpacer.style.opacity=0,this.legendBottomSpacer=document.createElement("div"),this.legendBottomSpacer.className="ev-chart-legend--bottom-spacer",this.legendBottomSpacer.style.clear="both",this.legendBottomSpacer.style.opacity=0,this.legendBoxDOM.appendChild(this.legendTopSpacer),this.legendBoxDOM.appendChild(this.legendBottomSpacer),this.updateVisibleRowCountFrameId=requestAnimationFrame(()=>{this.updateVisibleRowCount()}))},setLegendColumnHeader(){var o;const e=(o=this.options.legend)==null?void 0:o.table,t=e.columns;["color",...Object.keys(t)].forEach(s=>{var a,r;const l=document.createElement("th");if(l.className="ev-chart-legend--table__column-name",(a=t[s])!=null&&a.use||s==="color"||s==="name"){const c=t[s],d=(c==null?void 0:c.title)??"";l.textContent=d,l.setAttribute("title",d),l.dataset.type=d,Y.setDOMStyle(l,(r=e==null?void 0:e.style)==null?void 0:r.header),this.legendTableDOM.append(l)}})},initLegend(){var e,t;this.isHeatMapType=this.options.type==="heatMap",this.useTable=!!((t=(e=this.options.legend)==null?void 0:e.table)!=null&&t.use)&&this.options.type!=="heatmap"&&this.options.type!=="scatter",this.legendItemHeight=18,this.isInitLegend||this.createLegendLayout(),this.isHeatMapType?(this.initEventForColorLegend(),this.addColorLegendList()):(this.initEvent(),this.addLegendList()),this.initResizeEvent(),this.isInitLegend=!0,this.isLegendMove=!1},updateVisibleRowCount(){const e=this.options.legend.position==="right"||this.options.legend.position==="left",t=this.legendBoxDOM.clientHeight,n=this.legendBoxDOM.clientWidth,o=Math.max(this.options.legend.width-8,1),s=Object.values(this.seriesList).filter(l=>l.showLegend!==!1).length;this.itemsPerRow=e?1:Math.floor(n/o),this.totalRowCount=Math.ceil(s/this.itemsPerRow),this.visibleRowCount=t>this.legendItemHeight?Math.round(t/this.legendItemHeight)+1:this.totalRowCount},updateStartEndRowIndex(){var t;const e=Math.max(Math.floor(((t=this.legendBoxDOM)==null?void 0:t.scrollTop)/this.legendItemHeight),0);this.startRowIndex=Math.min(e,Math.max(this.totalRowCount-this.visibleRowCount,0)),this.endRowIndex=this.startRowIndex+this.visibleRowCount+1},renderVisibleLegends(){this.updateStartEndRowIndex();const e=this.legendBoxDOM.querySelectorAll(".ev-chart-legend-container");if(e&&e.length)for(const c of e)c.remove();const t=this.totalRowCount*this.legendItemHeight,n=this.startRowIndex*this.legendItemHeight,o=Math.max(t-this.visibleRowCount*this.legendItemHeight-n,0);this.legendTopSpacer.style.height=`${n}px`,this.legendBottomSpacer.style.height=`${o}px`;const s=this.startRowIndex*this.itemsPerRow,l=this.endRowIndex*this.itemsPerRow,a=this.data.groups.at(0);let r=[];if(a?r=a.filter(c=>this.seriesList[c].showLegend).map(c=>[c,this.seriesList[c]]):r=Object.entries(this.seriesList).filter(([,c])=>c.showLegend),r&&r.length)for(let c=s;c<l&&c<r.length;c++){const[,d]=r[c];this.addLegend(d)}},addLegendList(){const{groups:e}=this.data,{seriesList:t}=this;this.options.legend.virtualScroll&&!this.useTable?this.renderVisibleLegendsFrameId=requestAnimationFrame(()=>{this.renderVisibleLegends()}):(this.addLegendForGroups(e,t,this.useTable),this.addStandaloneLegends(t,this.useTable))},addLegendForGroups(e,t,n){e==null||e.forEach(o=>{o==null||o.forEach(s=>{const l=t[s];l&&l.showLegend&&this.addLegendBasedOnType(l,n)})})},addStandaloneLegends(e,t){Object.values(e).forEach(n=>{!n.isExistGrp&&n.showLegend&&this.addLegendBasedOnType(n,t)})},addLegendBasedOnType(e,t){t?this.addLegendWithValues(e):this.addLegend(e)},addColorLegendList(){const e=this.seriesList;Object.values(e).forEach(t=>{if(!t.isExistGrp&&t.showLegend){const{colorState:n,valueOpt:o}=t,{min:s,max:l,interval:a,existError:r,decimalPoint:c}=o,d=n.length,h=r?d-2:d-1;for(let u=0;u<d;u++){const{id:f,color:g,label:p=""}=n[u],m=s+a*u;let x=m+a;u<h?x-=.1**c:x=l+.1**c;let b=p;if(!b)if(b=`${m.toFixed(c)} - ${x.toFixed(c)}`,s===void 0||l===void 0)if(u===0)b="0";else break;else{if(m>l)break;a<=1&&c===0&&(b=m)}this.addLegend({cId:f,color:g,name:b,show:!0})}}})},getContainerDOM(e){let t=null;const n=e.target.dataset.type;return n==="container"?t=e.target:["name","color","min","max","avg","total","last"].includes(n)&&(t=e.target.parentElement,t!=null&&t.series||(t=t.parentElement)),t},initEvent(){if(this.isInitLegend)return;const e={container:`ev-chart-legend${this.useTable?"--table__row":"-container"}`,color:`ev-chart-legend${this.useTable?"--table__color":"-color"}`,name:`ev-chart-legend${this.useTable?"--table__name":"-name"}`,value:`ev-chart-legend${this.useTable?"--table__value":"-value"}`},t=(l,a)=>{const r=l==null?void 0:l.getElementsByClassName(e.color)[0],c=l==null?void 0:l.getElementsByClassName(e.name)[0],d=l==null?void 0:l.getElementsByClassName(e.value),h=l==null?void 0:l.series;if(r.style.backgroundColor=a,r.style.borderColor=a,c.style.color=a,d&&d.length)for(const u of d)u.style.color=a;h.show=!1,l.dataset.inactive=!0},n=(l,a)=>{var f,g;let r;const c=l==null?void 0:l.getElementsByClassName(e.color)[0],d=l==null?void 0:l.getElementsByClassName(e.name)[0],h=l==null?void 0:l.getElementsByClassName(e.value),u=l==null?void 0:l.series;if(typeof u.color!="string"?r=u.color[u.color.length-1][1]:r=u.color,u.type==="line"&&u.fill?(c.style.height="8px",c.style.backgroundColor=Y.rgbaAdjustHalfOpacity(r),c.style.border=`1px solid ${r}`):c.style.backgroundColor=r,d.style.color=a,h&&h.length)for(const p of h){const m=(g=(f=this.options.legend.table)==null?void 0:f.columns[p.dataset.type])==null?void 0:g.style;p.style.color=m!=null&&m.color?m.color:a}u.show=!0,l.dataset.inactive=!1},o=()=>{(this.data.groups.at(0)?this.data.groups.at(0).slice().reverse().filter(a=>this.seriesList[a].showLegend).map(a=>[a,this.seriesList[a]]):Object.entries(this.seriesList).filter(([,a])=>a.showLegend)).forEach(([,a])=>{a.show=!1})},s=()=>{(this.data.groups.at(0)?this.data.groups.at(0).slice().reverse().filter(a=>this.seriesList[a].showLegend).map(a=>[a,this.seriesList[a]]):Object.entries(this.seriesList).filter(([,a])=>a.showLegend)).forEach(([,a])=>{a.show=!0})};this.onLegendBoxClick=l=>{var x;const{legend:a}=this.options;if(a!=null&&a.stopClickEvt)return;const{chartIdx:r}=this.data,c=this.getContainerDOM(l);if(!c)return;const d=c==null?void 0:c.getElementsByClassName(e.color)[0],h=c==null?void 0:c.getElementsByClassName(e.name)[0],u=(c==null?void 0:c.dataset.inactive)==="false";if(!d||!h)return;if(a.clickMode==="active"){const b=Array.from(this.legendBoxDOM.getElementsByClassName(e.container));b.every(E=>E.dataset.inactive==="false")?(b.forEach(E=>{t(E,a.inactive)}),o(),n(c,a.color),this.seriesInfo.count=1):u?(t(c,a.inactive),this.seriesInfo.count--):u||(n(c,a.color),this.seriesInfo.count++),b.every(E=>E.dataset.inactive==="true")&&(b.forEach(E=>{n(E,a.color)}),s(),this.seriesInfo.count=b.length)}if(a.clickMode!=="active"){if(u&&this.seriesInfo.count===1)return;u?(t(c,a.inactive),this.seriesInfo.count--):(n(c,a.color),this.seriesInfo.count++)}if(this.brushSeries){const b=[...this.brushSeries.list];b[r]=this.seriesList,this.brushSeries.list=b,this.brushSeries.chartIdx=r}((x=this.options.eventBehavior)==null?void 0:x.legendClick)!=="emitOnly"&&this.update({updateSeries:!1,updateSelTip:{update:!0,keepDomain:!0}});const g=Object.values(this.seriesList).filter(b=>b.show).map(b=>b.sId),p=g.length===Object.values(this.seriesList).length,m={e:l,data:{seriesIds:p?[]:g,isActiveAll:p}};typeof this.listeners["click-legend"]=="function"&&this.listeners["click-legend"](m)},this.onLegendBoxLeave=()=>{this.legendHover=null,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:null},lightUpdate:!0})},this.onLegendBoxOver=l=>{var d;const a=this.getContainerDOM(l);if(!a){this.onLegendBoxLeave();return}const c={sId:(d=a==null?void 0:a.series)==null?void 0:d.sId,type:this.options.type};this.legendHover=c,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:c},lightUpdate:!0})},this.legendBoxDOM.addEventListener("click",this.onLegendBoxClick),this.legendBoxDOM.addEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.addEventListener("mouseleave",this.onLegendBoxLeave),this.options.legend.virtualScroll&&!this.useTable&&(this.legendBoxDOM.addEventListener("resize",this.updateVisibleRowCount),this.legendBoxDOM.addEventListener("scroll",this.renderVisibleLegends.bind(this))),this.initResizeEvent()},initEventForColorLegend(){if(this.isInitLegend)return;const e={container:`ev-chart-legend${this.useTable?"--table__row":"-container"}`,color:`ev-chart-legend${this.useTable?"--table__color":"-color"}`,name:`ev-chart-legend${this.useTable?"--table__name":"-name"}`},t=(l,a)=>{var f;const r=l==null?void 0:l.getElementsByClassName(e.color)[0],c=l==null?void 0:l.getElementsByClassName(e.name)[0],d=Object.values(this.seriesList)[0],h=(f=l==null?void 0:l.series)==null?void 0:f.cId;r.style.backgroundColor=a,r.style.borderColor=a,c.style.color=a;const u=d.colorState.findIndex(g=>g.id===h);u>-1&&(d.colorState[u].show=!1),l.dataset.inactive=!0},n=(l,a)=>{var f,g;const r=l==null?void 0:l.getElementsByClassName(e.color)[0],c=l==null?void 0:l.getElementsByClassName(e.name)[0],d=Object.values(this.seriesList)[0],h=(f=l==null?void 0:l.series)==null?void 0:f.cId;r.style.backgroundColor=(g=l==null?void 0:l.series)==null?void 0:g.color,c.style.color=a;const u=d.colorState.findIndex(p=>p.id===h);u>-1&&(d.colorState[u].show=!0),l.dataset.inactive=!1},o=()=>{Object.values(this.seriesList)[0].colorState.forEach(a=>{a.show=!1})},s=()=>{Object.values(this.seriesList)[0].colorState.forEach(a=>{a.show=!0})};this.onLegendBoxClick=l=>{var b;const a=this.options.legend;if(a!=null&&a.stopClickEvt)return;const r=Object.values(this.seriesList)[0],c=this.getContainerDOM(l);if(!c)return;const d=c==null?void 0:c.getElementsByClassName(e.color)[0],h=c==null?void 0:c.getElementsByClassName(e.name)[0],u=(c==null?void 0:c.dataset.inactive)==="false",f=r.colorState.filter(y=>y.show).length;if(!d||!h)return;if(a.clickMode==="active"){const y=Array.from(this.legendBoxDOM.getElementsByClassName(e.container));y.every(I=>I.dataset.inactive==="false")?(y.forEach(I=>{t(I,a.inactive)}),o(),n(c,a.color)):u?t(c,a.inactive):u||n(c,a.color),y.every(I=>I.dataset.inactive==="true")&&(y.forEach(I=>{n(I,a.color)}),s())}if(a.clickMode!=="active"){if(u&&f===1)return;u?t(c,a.inactive):n(c,a.color)}((b=this.options.eventBehavior)==null?void 0:b.legendClick)!=="emitOnly"&&this.update({updateSeries:!1,updateSelTip:{update:!0,keepDomain:!0}});const g=r.colorState.filter(y=>y.show),p=g.map(y=>+y.id.split("#")[1]),m=r.colorState.length===g.length,x={e:l,data:{seriesIndices:m?[]:p,isActiveAll:m}};typeof this.listeners["click-legend"]=="function"&&this.listeners["click-legend"](x)},this.onLegendBoxLeave=()=>{this.legendHover=null,Object.values(this.seriesList)[0].colorState.forEach(a=>{a.state="normal"}),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},lightUpdate:!0})},this.onLegendBoxOver=l=>{var h,u;const a=(h=Object.values(this.seriesList))==null?void 0:h[0],r=this.getContainerDOM(l);if(!r){this.onLegendBoxLeave();return}const c=(u=r==null?void 0:r.series)==null?void 0:u.cId,d={sId:c,type:this.options.type};this.legendHover=d,a.colorState.forEach(f=>{f.state=f.id===c?"highlight":"downplay"}),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:d},lightUpdate:!0})},this.legendBoxDOM.addEventListener("click",this.onLegendBoxClick),this.legendBoxDOM.addEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.addEventListener("mouseleave",this.onLegendBoxLeave),this.initResizeEvent()},initResizeEvent(){this.onResizeMouseDown=e=>{e.stopPropagation(),e.preventDefault();const t=this.options,n=t.legend.position,o=t.title.show?t.title.height:0,s=this.ghostDOM;this.resizeDOM.style.display="none",this.wrapperDOM.appendChild(s),n==="left"||n==="right"?(s.style.top=`${o}px`,s.style.left=this.resizeDOM.style.left,s.style.right=this.resizeDOM.style.right,s.style.height=this.resizeDOM.style.height):(s.classList.add("horizontal"),n==="top"?s.style.top=this.resizeDOM.style.top:n==="bottom"&&(s.style.bottom=this.resizeDOM.style.bottom)),this.wrapperDOM.addEventListener("mousemove",this.mouseMove,!1),this.wrapperDOM.addEventListener("mouseup",this.mouseUp,!1)},this.resizeDOM&&(this.resizeDOM.addEventListener("mousedown",this.onResizeMouseDown),this.mouseMove=this.onMouseMove.bind(this),this.mouseUp=this.onMouseUp.bind(this))},updateLegend(){this.resetLegend(),this.isHeatMapType?this.addColorLegendList():this.addLegendList()},updateLegendTableValues(){var o,s,l,a,r;const e=(l=(s=(o=this.options)==null?void 0:o.legend)==null?void 0:s.table)==null?void 0:l.columns,t=this.getAggregations(),n=(a=this.legendBoxDOM)==null?void 0:a.getElementsByClassName("ev-chart-legend--table__row");if(n&&n.length)for(const c of n){const d=c==null?void 0:c.getElementsByClassName("ev-chart-legend--table__value");if(d&&d.length)for(const h of d){const u=h.dataset.type;if(u!=="name"){const f=c.series.sId,g=(r=t==null?void 0:t[f])==null?void 0:r[u];h.textContent=this.getFormattedValue(e[u],g)}}}},forceUpdateLegend(){this.destroyLegend(),this.initLegend()},resetLegend(){var t,n;const e=this.legendBoxDOM;if(e){if(this.useTable){const o=this.legendTableDOM;for(;o.hasChildNodes();)o.removeChild(o.firstChild);this.setLegendColumnHeader()}else if(this.options.legend.virtualScroll)((n=(t=this.legendDOM)==null?void 0:t.style)==null?void 0:n.display)==="none"?this.legendNeedsUpdate=!0:(this.updateVisibleRowCount(),this.renderVisibleLegends());else for(;e.hasChildNodes();)e.removeChild(e.firstChild);this.seriesInfo.count=0}},destroyLegend(){const e=this.legendDOM;this.renderVisibleLegendsFrameId!=null&&(cancelAnimationFrame(this.renderVisibleLegendsFrameId),this.renderVisibleLegendsFrameId=null),this.updateVisibleRowCountFrameId!=null&&(cancelAnimationFrame(this.updateVisibleRowCountFrameId),this.updateVisibleRowCountFrameId=null),e&&(e.remove(),this.legendDOM=null,this.legendBoxDOM=null,this.resizeDOM=null,this.isInitLegend=!1,this.seriesInfo.count=0)},addLegend(e){const t=this.options.legend,n=document.createElement("div"),o=document.createElement("span"),s=document.createElement("div");n.className="ev-chart-legend-container",n.dataset.inactive=!e.show,n.series=e,o.className="ev-chart-legend-color",e.type==="line"&&e.point&&!e.fill&&(o.className+=" ev-chart-legend-color--point-line"),s.className="ev-chart-legend-name";let l;e.show?typeof e.color!="string"?l=e.color[e.color.length-1][1]:l=e.color:l=t.inactive,e.type==="line"&&e.fill?(o.style.height="8px",o.style.backgroundColor=e.show?Y.rgbaAdjustHalfOpacity(l):t.inactive,o.style.border=`1px solid ${l}`):o.style.backgroundColor=l,o.dataset.type="color",s.style.color=t.color,s.textContent=e.name,s.setAttribute("title",e.name),s.dataset.type="name",n.appendChild(o),n.appendChild(s),t.position==="top"||t.position==="bottom"?(n.style.width=`${t.width-8}px`,n.style.margin="0 4px"):n.style.width="100%",n.style.height=`${this.legendItemHeight}px`,n.style.display="inline-block",n.style.overflow="hidden",n.dataset.type="container",this.legendBoxDOM.insertBefore(n,this.legendBottomSpacer),e.show&&this.seriesInfo.count++},addLegendWithValues(e){var h,u,f,g,p;const t=this.options.legend,n=(h=t==null?void 0:t.table)==null?void 0:h.columns,o=(u=this.getAggregations())==null?void 0:u[e==null?void 0:e.sId];if(!o||!n)return;const s=document.createElement("tr");s.className="ev-chart-legend--table__row",s.dataset.inactive=!e.show,Y.setDOMStyle(s,(g=(f=t.table)==null?void 0:f.style)==null?void 0:g.row),s.series=e,s.dataset.type="container";const l=document.createElement("td");l.className="ev-chart-legend--table__color-wrapper",l.dataset.type="color";const a=document.createElement("div");a.className="ev-chart-legend--table__color",a.dataset.type="color";let r;switch(e.show?typeof e.color!="string"?r=e.color[e.color.length-1][1]:r=e.color:r=t.inactive,e.type){case"line":{e.fill?(a.style.backgroundColor=Y.rgbaAdjustHalfOpacity(r),a.style.border=`1px solid ${r}`):(e.point&&(a.className+=" ev-chart-legend--table__color--point-line"),a.className+=" ev-chart-legend--table__color--line",a.style.backgroundColor=r);break}case"bar":case"pie":default:{a.style.height="10px",a.style.backgroundColor=r;break}}e.type==="line"&&e.fill?(a.style.height="8px",a.style.backgroundColor=e.show?Y.rgbaAdjustHalfOpacity(r):t.inactive,a.style.border=`1px solid ${r}`):a.style.backgroundColor=r,l.appendChild(a),s.appendChild(l);const c=document.createElement("td");c.className="ev-chart-legend--table__name",c.style.color=e.show?t.color:t.inactive,c.textContent=e.name,c.setAttribute("title",e.name),c.dataset.type="name",Y.setDOMStyle(c,(p=n==null?void 0:n.name)==null?void 0:p.style),e.show||(c.style.color=t.inactive),s.appendChild(c);const d=Object.keys(n);d==null||d.forEach(m=>{var x;if(m!=="name"&&n[m].use){const b=this.getFormattedValue(n[m],o[m]),y=document.createElement("td");y.className="ev-chart-legend--table__value",y.style.color=e.show?t.color:t.inactive,y.textContent=b,y.dataset.type=m.toString(),Y.setDOMStyle(y,(x=n[m])==null?void 0:x.style),e.show||(y.style.color=t.inactive),s.appendChild(y)}}),this.legendTableDOM.appendChild(s),e.show&&this.seriesInfo.count++},setLegendPosition(){var p,m,x,b,y,M,E,I,T;const e=this.options,t=(p=e==null?void 0:e.legend)==null?void 0:p.position,n=(m=this.wrapperDOM)==null?void 0:m.style,o=(x=this.legendDOM)==null?void 0:x.style,s=(b=this.legendBoxDOM)==null?void 0:b.style,l=(y=this.resizeDOM)==null?void 0:y.style;let a,r;const c=(M=e==null?void 0:e.title)!=null&&M.show?(E=e==null?void 0:e.title)==null?void 0:E.height:0,d=c+((I=e==null?void 0:e.legend)==null?void 0:I.height),{top:h=0,bottom:u=0,left:f=0,right:g=0}=((T=e==null?void 0:e.legend)==null?void 0:T.padding)??{};if(!(!n||!o))switch(s.padding=`${h}px ${g}px ${u}px ${f}px`,t){case"top":n.padding=`${d}px 0 0 0`,a=this.chartDOM.getBoundingClientRect(),r=parseInt(o.paddingTop)+parseInt(o.paddingBottom),s.width="100%",s.height=`${e.legend.height-r}px`,o.top=`${c}px`,o.right="",o.bottom="",o.left="",o.width=`${a.width}px`,o.height=`${e.legend.height+(l?4:0)}px`,l&&(l.top=`${d}px`,l.right="",l.bottom="",l.left="",l.width=`${a.width}px`,l.height="4px",l.cursor="row-resize");break;case"right":n.padding=`${c}px ${e.legend.width}px 0 0`,a=this.chartDOM.getBoundingClientRect(),s.width=`${e.legend.width-10}px`,s.maxHeight=`${a.height}px`,o.paddingLeft="10px",o.top=`${c}px`,o.right="0px",o.bottom="",o.left="",o.width=`${e.legend.width}px`,o.height=`${a.height}px`,l&&(l.top=`${c}px`,l.right=`${e.legend.width}px`,l.bottom="",l.left="",l.width="4px",l.height=`${a.height}px`,l.cursor="col-resize");break;case"bottom":n.padding=`${c}px 0 ${e.legend.height}px 0`,a=this.chartDOM.getBoundingClientRect(),r=parseInt(o.paddingTop)+parseInt(o.paddingBottom),s.width="100%",s.height=`${e.legend.height-r}px`,o.top="",o.right="",o.bottom="0px",o.left="0px",o.width=`${a.width}px`,o.height=`${e.legend.height+(l?4:0)}px`,l&&(l.top="",l.right="",l.bottom=`${e.legend.height}px`,l.left="",l.width=`${a.width}px`,l.height="4px",l.cursor="row-resize");break;case"left":n.padding=`${c}px 0 0 ${e.legend.width}px`,a=this.chartDOM.getBoundingClientRect(),s.width=`${e.legend.width}px`,s.maxHeight=`${a.height}px`,s.display="absolute",s.bottom="0px",o.top=`${c}px`,o.right="",o.bottom="",o.left="0px",o.width=`${e.legend.width}px`,o.height=`${a.height}px`,l&&(l.top=`${c}px`,l.right="",l.bottom="",l.left=`${e.legend.width}px`,l.width="4px",l.height=`${a.height}px`,l.cursor="col-resize");break}},updateLegendContainerSize(){var n;if(!this.options||!this.legendBoxDOM)return;const e=(n=this.options)==null?void 0:n.legend,t=this.legendBoxDOM.getElementsByClassName("ev-chart-legend-container");if(t)for(let o=0;o<t.length;o++)e.position==="top"||e.position==="bottom"?(t[o].style.width=`${e.width-8}px`,t[o].style.margin="0 4px"):t[o].style.width="100%"},onMouseMove(e){e.stopPropagation(),e.preventDefault();const t=this.wrapperDOM.getBoundingClientRect(),n=this.wrapperDOM.offsetWidth,o=this.wrapperDOM.offsetHeight,s=this.options.title.show?this.options.title.height:0,l=this.options.legend.position,a=150,r=70,c=120,d=20;let h;switch(l){case"left":h=e.clientX-t.left,h<c?h=c:h>n-a&&(h=n-a),this.ghostDOM.style.left=`${h}px`;break;case"right":h=e.clientX-t.left,h<a?h=a:h>n-c&&(h=n-c),this.ghostDOM.style.left=`${h}px`;break;case"top":h=e.clientY-t.top,h<d+s?h=d+s:h>o-r&&(h=o-r),this.ghostDOM.style.top=`${h}px`;break;case"bottom":h=e.clientY-t.top,h<r+s?h=r+s:h>o-d&&(h=o-d),this.ghostDOM.style.bottom=`${this.wrapperDOM.offsetHeight-h}px`;break}this.isLegendMove=!0},onMouseUp(e){e.stopPropagation(),e.preventDefault(),this.wrapperDOM.removeEventListener("mousemove",this.mouseMove,!1),this.wrapperDOM.removeEventListener("mouseup",this.mouseUp,!1);const t=this.options,n=t.legend.position,o=this.resizeDOM.style,s=this.legendDOM.style,l=this.legendBoxDOM.style,a=this.ghostDOM.style,r=this.wrapperDOM.style,c=t.title.show?t.title.height:0,d=+this.legendDOM.style.paddingLeft.replace("px","");let h;if(this.isLegendMove)switch(n){case"top":o.top=a.top,h=+a.top.replace("px",""),s.height=`${h-c}px`,l.height=`${h-c-4}px`,t.legend.height=h-c-4,r.padding=`${h}px 0 0 0`;break;case"right":o.left=a.left,h=+a.left.replace("px",""),s.width=`${this.wrapperDOM.offsetWidth-h-4}px`,l.width=`${this.wrapperDOM.offsetWidth-h-4-d}px`,t.legend.width=this.wrapperDOM.offsetWidth-h-4,r.padding=`${c}px ${this.wrapperDOM.offsetWidth-h}px 0 0`;break;case"bottom":o.bottom=a.bottom,h=this.wrapperDOM.offsetHeight-+a.bottom.replace("px",""),s.height=`${this.wrapperDOM.offsetHeight-h}px`,l.height=`${h-c-4}px`,t.legend.height=this.wrapperDOM.offsetHeight-h,r.padding=`${c}px 0 ${this.wrapperDOM.offsetHeight-h}px 0`;break;case"left":o.left=a.left,h=+a.left.replace("px",""),s.width=`${h}px`,l.width=`${h}px`,t.legend.width=h,r.padding=`${c}px 0 0 ${h-4}px`;break}o.display="block",this.ghostDOM.remove(),this.isLegendMove&&(this.render(),this.isLegendMove=!1)},showLegend(){this.resizeDOM&&(this.resizeDOM.style.display="block"),this.legendDOM&&(this.legendDOM.style.display="block"),this.legendNeedsUpdate&&this.options.legend.virtualScroll&&!this.useTable&&(this.legendNeedsUpdate=!1,this.updateVisibleRowCount(),this.renderVisibleLegends())},hideLegend(){var l,a,r,c,d;const e=this.options,t=(l=this.wrapperDOM)==null?void 0:l.style,n=(a=this.resizeDOM)==null?void 0:a.style,o=(r=this.legendDOM)==null?void 0:r.style,s=(c=e==null?void 0:e.title)!=null&&c.show?(d=e==null?void 0:e.title)==null?void 0:d.height:0;!o||!t||(n&&(n.display="none"),o.display="none",o.width="0",o.height="0",t.padding=`${s}px 0 0 0`)},getFormattedValue({formatter:e,decimalPoint:t},n){if(n==null)return"Null";let o;return e&&(o=e(+n)),(!e||typeof o!="string")&&(o=Y.labelSignFormat(+n,t)),o}},Lr=28,PC={width:70,height:60},_C={createLegendLayout(){this.legendDOM=document.createElement("div"),this.legendDOM.className="ev-chart-legend",this.legendBoxDOM=document.createElement("div"),this.legendBoxDOM.className="ev-chart-legend-box",this.containerDOM=document.createElement("div"),this.containerDOM.className="ev-chart-legend-container",this.legendBoxDOM.appendChild(this.containerDOM),this.legendDOM.appendChild(this.legendBoxDOM),this.wrapperDOM.appendChild(this.legendDOM)},initLegend(){this.isInitLegend||(this.createLegendLayout(),this.createLegend()),Object.values(this.seriesList).forEach(e=>{this.setLegendStyle(e)}),this.initEvent(),this.isInitLegend=!0,this.legendDragInfo={dragging:!1,isStart:!0}},initEvent(){this.isInitLegend||(this.onLegendMouseDown=e=>{e.stopPropagation(),e.preventDefault();const t=e.target.dataset.type;let n;if(t==="handle")n=e.target;else if(t==="handle-btn")n=e.target.parentElement;else if(t==="handle-btn-color")n=e.target.parentElement.parentElement;else return;const o=Object.values(this.seriesList);if(!o.length)return;const{colorState:s}=o[0],{start:l,end:a}=s[0];s[0].selectedValue=null,this.clearOverlay(),this.legendDragInfo.dragging=!0,this.legendDragInfo.isStart=l!==a?n.className.includes("start"):this.legendDragInfo.isStart,n.classList.add("dragging"),this.legendBoxDOM.addEventListener("mousemove",this.onLegendMouseMove,!1),this.legendBoxDOM.addEventListener("mouseup",this.onLegendMouseUp,!1)},this.onLegendMouseMove=e=>{e.stopPropagation(),e.preventDefault();const{dragging:t,isStart:n}=this.legendDragInfo;if(t){let o=this.getSelectedValue(e);o=this.isSide?100-o:o;const s=n?"start":"end",l=Object.values(this.seriesList);if(!l.length)return;const{colorState:a}=l[0],{start:r,end:c}=a[0];if(n&&o>c||!n&&o<r)return;a[0][s]=o,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})}},this.onLegendMouseUp=()=>{this.legendDragInfo.dragging=!1;const e=this.containerDOM.getElementsByClassName("ev-chart-legend-handle dragging")[0];e==null||e.classList.remove("dragging"),this.legendBoxDOM.removeEventListener("mouseup",this.onLegendMouseUp,!1)},this.onLegendBoxOver=e=>{const t=e.target.dataset.type,n=Object.values(this.seriesList);if(!n.length)return;const{colorState:o,valueOpt:s}=n[0],l=o[0];let a=this.getSelectedValue(e);if(a=this.isSide?100-a:a,["line","thumb","layer","overlay","overlay-item"].includes(t))if(l.start<=a&&a<=l.end)l.selectedValue=a,this.createLegendOverlay(a,s);else return;else if(["handle","handle-btn","handle-btn-color"].includes(t)){const r=e.target.className.includes("start");l.selectedValue=r?l.start:l.end,this.clearOverlay()}else return;this.legendHover={sId:"gradient",type:this.options.type},this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})},this.onLegendBoxLeave=()=>{this.legendDragInfo.dragging=!1,this.legendHover=null,this.clearOverlay();const e=Object.values(this.seriesList);if(!e.length)return;const{colorState:t}=e[0];t[0].selectedValue=null,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})},this.legendBoxDOM.addEventListener("mousedown",this.onLegendMouseDown),this.legendBoxDOM.addEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.addEventListener("mouseleave",this.onLegendBoxLeave))},getSelectedValue(e){const{x:t,y:n,width:o,height:s}=this.containerDOM.getBoundingClientRect(),l=!this.isSide,a=l?t:n,r=l?o:s;let c=l?e.clientX:e.clientY;c<a?c=a:c>a+r&&(c=a+r);const d=c-a;return+We(d,r)},updateLegend(){this.resetLegend(),this.createLegend(),Object.values(this.seriesList).forEach(e=>{this.setLegendStyle(e)})},resetLegend(){const e=this.containerDOM;if(e)for(;e.hasChildNodes();)e.removeChild(e.firstChild)},clearOverlay(){const e=this.containerDOM.getElementsByClassName("ev-chart-legend-line")[0],t=e==null?void 0:e.getElementsByClassName("ev-chart-legend-overlay")[0];if(t){e.removeChild(t);const o=e.getElementsByClassName("ev-chart-legend-thumb")[0].children;if(o&&o.length)for(const s of o)s.style.opacity=1}},createLegendOverlay(e,t){this.clearOverlay();const n=this.legendHandleSize,{min:o,max:s}=t;if(o===void 0||s===void 0)return;const l=this.containerDOM.getElementsByClassName("ev-chart-legend-line")[0],a=document.createElement("div");a.className="ev-chart-legend-overlay",a.dataset.type="overlay";const r=document.createElement("div");r.className="ev-chart-legend-overlay-tooltip",r.innerText=Math.floor(o+(s-o)*(e/100));const c=document.createElement("span");c.className="ev-chart-legend-overlay-item",c.dataset.type="overlay-item";let d,h;const u=Math.floor(n/2)+14;this.isSide?(h=`top:${100-e}%;left:${u}px;transform:translateY(-50%);`,d=`top:${100-e}%;transform:translateY(-50%);`):(h=`top:-${u}px;left:${e}%;transform:translateX(-50%);`,d=`left:${e}%;transform:translateX(-50%);`),d+=`width:${n-10}px;height:${n-10}px;`,r.style.cssText=h,c.style.cssText=d,a.appendChild(r),a.appendChild(c),l==null||l.appendChild(a);const f=l==null?void 0:l.getElementsByClassName("ev-chart-legend-thumb")[0];if(f){const g=f.children;if(g&&g.length)for(const p of g)p.style.opacity=.2}},createLegendHandle(e){const t=document.createElement("span");t.className=`ev-chart-legend-handle-btn-color ${e}`,t.dataset.type="handle-btn-color";const n=document.createElement("div");n.className=`ev-chart-legend-handle-btn ${e}`,n.dataset.type="handle-btn",n.appendChild(t);const o=document.createElement("div");return o.className=`ev-chart-legend-handle ${e}`,o.dataset.type="handle",o.appendChild(n),o},createLegendLabel(){const e=document.createElement("span");e.className="ev-chart-legend-label-text";const t=document.createElement("div");return t.className="ev-chart-legend-label",t},createLegend(){if(!Object.values(this.seriesList).length)return;const e=this.options.legend;this.isSide=!["top","bottom"].includes(e.position);const t=this.isSide?e.width:e.height;this.legendHandleSize=t>Lr?Lr:t;const n=this.legendHandleSize,o=this.createLegendHandle(this.isSide?"end":"start",n),s=this.createLegendHandle(this.isSide?"start":"end",n),l=document.createElement("div");l.className="ev-chart-legend-line-layer",l.dataset.type="line-layer";const a=document.createElement("div");a.className="ev-chart-legend-thumb",a.dataset.type="thumb",a.appendChild(this.createLegendLabel()),a.appendChild(this.createLegendLabel());const r=document.createElement("div");r.className="ev-chart-legend-line",r.dataset.type="line",r.appendChild(l),r.appendChild(a),this.containerDOM.appendChild(r),this.containerDOM.appendChild(o),this.containerDOM.appendChild(s)},setLegendStyle(e){const t=this.isSide?"top":"right",n=this.legendHandleSize,{valueOpt:o,colorState:s}=e,{min:l,max:a,decimalPoint:r}=o,{start:c,end:d}=s[0],h=e.getColorForGradient(c),u=e.getColorForGradient(d);let f=`linear-gradient(to ${t}, `;f+=`${h}, ${u})`;const g=Math.floor(n/2)+14;let p=`width:${n}px;height:${n}px;`,m,x,b,y=`background:${f};`;this.isSide?(p+=`margin-top:-${n/2}px;`,m=`left:${g}px;transform:translateY(-50%);top:`,x=`top:${100-d}%;`,b=`top:${100-c}%;`,y+=`top:${100-d}%;height:${d-c}%;`):(p+=`margin-left:-${n/2}px;`,m=`top:-${g}px;transform:translateX(-50%);left:`,x=`left:${c}%;`,b=`left:${d}%;`,y+=`left:${c}%;width:${d-c}%;`);const M=(l+(a-l)*(c/100)).toFixed(r),E=(l+(a-l)*(d/100)).toFixed(r),I=this.containerDOM.getElementsByClassName("ev-chart-legend-thumb")[0];I.style.cssText=y;const T=I.getElementsByClassName("ev-chart-legend-label");T[0].style.cssText=`${m}0%;`,T[1].style.cssText=`${m}100%;`,l!==void 0&&a!==void 0&&(T[0].innerText=this.isSide?E:M,T[1].innerText=this.isSide?M:E);const V=this.containerDOM.getElementsByClassName("ev-chart-legend-handle");V[0].style.cssText=p+x,V[1].style.cssText=p+b;const C=this.containerDOM.getElementsByClassName("ev-chart-legend-handle-btn-color");C[0].style.backgroundColor=this.isSide?u:h,C[1].style.backgroundColor=this.isSide?h:u},setLegendPosition(){var x,b,y,M;const e=this.options,t=(x=e==null?void 0:e.legend)==null?void 0:x.position,{width:n,height:o}=PC,s=this.legendHandleSize,l=(b=e==null?void 0:e.title)!=null&&b.show?(y=e==null?void 0:e.title)==null?void 0:y.height:0,a=l+o,{top:r=0,bottom:c=0,left:d=0,right:h=0}=((M=e==null?void 0:e.legend)==null?void 0:M.padding)??{},u=this.wrapperDOM.style;if(!u)return;let f,g,p,m;switch(t){case"top":u.padding=`${a}px 0 0 0`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${s+7}px ${h}px ${c}px ${d}px;`,g+="width:100%",g+=`height${o}px;`,f=`width:${m.width}px;`,f+=`height:${o}px;`,f+=`top:${l}px;`;break;case"right":u.padding=`${l}px ${n}px 0 0`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${r}px ${h}px ${c}px ${d}px;`,g+=`width:${n}px;`,g+="height:100%;",g+=`max-height:${m.height}px;`,f=`width:${n}px;`,f+=`height:${m.height}px;`,f+=`top:${l}px;right:0px;`;break;case"bottom":u.padding=`${l}px 0 ${o}px 0`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${s+7}px ${h}px ${c}px ${d}px;`,g+="width:100%;",g+=`height:${o}px;`,f=`width:${m.width}px;`,f+=`height:${o}px;`,f+="bottom:0px;left:0px;";break;case"left":u.padding=`${l}px 0 0 ${n}px`,m=this.chartDOM.getBoundingClientRect(),g=`padding:${r}px ${h}px ${c}px ${d}px;`,g+="display:absolute;",g+="bottom:0px;",g+=`width:${n}px;`,g+="height:100%;",g+=`maxHeight:${m.height}px;`,f=`width:${n}px;`,f+=`height:${m.height}px;`,f+=`top:${l}px;left:0px`;break}if(["top","bottom"].includes(t)){const E=m.width/2;p=`left:${m.width/2-E/2}px;`,p+=`width:${E}px;`,p+=`height:${s}px;`,p+="padding:4px 0;",p+="margin:0 4px;"}else{const E=m.height/2;p=`top:${m.height/2-E/2}px;`,p+="left:5px;",p+=`width:${s}px;`,p+=`height:${E}px;`,p+="padding:0 4px;",p+="margin:4px 0;"}this.containerDOM.style.cssText=p,this.legendBoxDOM.style.cssText=g,this.legendDOM.style.cssText=f},updateLegendContainerSize(){Object.values(this.seriesList).forEach(e=>{this.setLegendStyle(e)})},showLegend(){this.resizeDOM&&(this.resizeDOM.style.display="block"),this.legendDOM&&(this.legendDOM.style.display="block")},hideLegend(){var s,l,a,r;const e=this.options,t=(s=this.wrapperDOM)==null?void 0:s.style,n=(l=this.legendDOM)==null?void 0:l.style,o=(a=e==null?void 0:e.title)!=null&&a.show?(r=e==null?void 0:e.title)==null?void 0:r.height:0;!n||!t||(n.display="none",n.width="0",n.height="0",t.padding=`${o}px 0 0 0`)}},AC={initScrollbar(){var e,t,n,o,s,l;(n=(t=(e=this.options.axesX)==null?void 0:e[0])==null?void 0:t.scrollbar)!=null&&n.use&&this.initScrollbarInfo(this.options.axesX,"x"),(l=(s=(o=this.options.axesY)==null?void 0:o[0])==null?void 0:s.scrollbar)!=null&&l.use&&this.initScrollbarInfo(this.options.axesY,"y")},initScrollbarInfo(e,t){var s,l,a,r,c,d;const n=this.scrollbar[t],o=Fe({},(s=e==null?void 0:e[0])==null?void 0:s.scrollbar,Ir.scrollbar);Object.keys(o).forEach(h=>{n[h]=o[h]}),n.resetPosition&&(n.range=(a=(l=e==null?void 0:e[0])==null?void 0:l.range)!=null&&a.length?[...e[0].range]:null,this.resetScrollbarSavedPositions(t)),n.isInit||(n.type=(r=e==null?void 0:e[0])==null?void 0:r.type,n.range=(d=(c=e==null?void 0:e[0])==null?void 0:c.range)!=null&&d.length?[...e[0].range]:null,this.resetScrollbarSavedPositions(t),this.initScrollbarRange(t),this.createScrollbarLayout(t),this.createScrollbar(t),this.createScrollEvent(t),n.isInit=!0)},initScrollbarRange(e){var s,l;const t=this.scrollbar[e],n=t.type,o=this.options.type==="heatMap"?this.data.labels[e]:this.data.labels;if((s=t.range)!=null&&s.length&&o.length){const[a,r]=t.range;let c,d;if(ve(a)&&ve(r)){if(n==="step")c=0,d=o.length-1;else{const f=(l=this.minMax[e])==null?void 0:l[0];c=+f.min,d=+f.max}const h=r-a,u=d-c;h>=u?(t.range[0]=c,t.range[1]=d):(t.range[0]=+a<c?c:+a,t.range[1]=+r>d?d:+r,t.range[1]-t.range[0]<h&&(t.range[0]=t.range[1]-h,t.range[0]<c&&(t.range[0]=c)))}}},updateScrollbarInfo(e,t){var r,c,d,h,u,f,g,p,m,x,b,y,M,E,I;const{axesX:n,axesY:o}=this.options,s=e==="x"?n:o;if(!this.scrollbar[e].isInit&&((c=(r=s==null?void 0:s[0])==null?void 0:r.scrollbar)!=null&&c.use)&&((d=s==null?void 0:s[0])!=null&&d.range)){this.initScrollbarInfo(s,e);return}else if(!((h=s==null?void 0:s[0].scrollbar)!=null&&h.use)||qi((u=s==null?void 0:s[0])==null?void 0:u.range)){this.destroyScrollbar(e);return}const l=e==="x"?this.axesX:this.axesY,a=!je((f=s==null?void 0:s[0])==null?void 0:f.range,(g=l==null?void 0:l[0])==null?void 0:g.range);if(a||t){const T=e==="x"?(x=(m=(p=this.options.axesX)==null?void 0:p[0])==null?void 0:m.scrollbar)==null?void 0:x.resetPosition:(M=(y=(b=this.options.axesY)==null?void 0:b[0])==null?void 0:y.scrollbar)==null?void 0:M.resetPosition;if(a){const V=(E=s==null?void 0:s[0])==null?void 0:E.range,C=this.scrollbar[e].range;if(!T&&(V!=null&&V.length)&&(C!=null&&C.length)){const S=V[1]-V[0];this.scrollbar[e].range=[C[0],C[0]+S]}else this.scrollbar[e].range=V!=null&&V.length?[...V]:null}(T||t)&&this.resetScrollbarSavedPositions(e),this.initScrollbarRange(e)}this.scrollbar[e].use=!!((I=s==null?void 0:s[0].scrollbar)!=null&&I.use)},updateScrollbarPosition(){var e,t,n,o,s,l,a,r,c,d;if((e=this.scrollbar.x)!=null&&e.use&&((t=this.scrollbar.x)!=null&&t.isInit)){const h=!((s=(o=(n=this.options.axesX)==null?void 0:n[0])==null?void 0:o.scrollbar)!=null&&s.resetPosition);this.setScrollbarPosition("x",h)}if((l=this.scrollbar.y)!=null&&l.use&&((a=this.scrollbar.y)!=null&&a.isInit)){const h=!((d=(c=(r=this.options.axesY)==null?void 0:r[0])==null?void 0:c.scrollbar)!=null&&d.resetPosition);this.setScrollbarPosition("y",h)}},createScrollbarLayout(e){const t=this.scrollbar[e];t.dom=document.createElement("div"),t.dom.className="ev-chart-scrollbar",t.dom.dataset.type="scrollbar";const n=document.createElement("div");n.className="ev-chart-scrollbar-container",n.dataset.type=e,t.dom.appendChild(n),this.wrapperDOM.appendChild(t.dom)},createScrollbar(e){const t=this.scrollbar[e],n=t.dom.children[0];this.createScrollbarTrack(n),this.createScrollbarThumb(n),t.showButton&&this.createScrollbarButton(n)},createScrollbarTrack(e){const t=document.createElement("div");t.className="ev-chart-scrollbar-track",t.dataset.type="track",e.appendChild(t)},createScrollbarThumb(e){const t=document.createElement("div");t.className="ev-chart-scrollbar-thumb",t.dataset.type="thumb",e.appendChild(t)},createScrollbarButton(e){const t=document.createElement("div");t.className="ev-chart-scrollbar-button ev-chart-scrollbar-button-up",t.dataset.type="button";const n=document.createElement("i");n.className="ev-icon ev-icon-triangle-up ev-chart-scrollbar-button-icon",n.dataset.type="button-icon",t.appendChild(n);const o=document.createElement("div");o.className="ev-chart-scrollbar-button ev-chart-scrollbar-button-down",o.dataset.type="button";const s=document.createElement("i");s.className="ev-icon ev-icon-triangle-down ev-chart-scrollbar-button-icon",s.dataset.type="button-icon",o.appendChild(s),e.appendChild(t),e.appendChild(o)},setScrollbarPosition(e,t=!1){var V,C;const n=this.scrollbar[e];if(!n.use||!n.range)return;const o=n.dom,s=this.chartRect,l=this.labelOffset,a={x1:s.x1+l.left,x2:s.x2-l.right,y1:s.y1+l.top,y2:s.y2-l.bottom},r=(V=this.options.title)!=null&&V.show?(C=this.options.title)==null?void 0:C.height:0,c=e==="x",d=c?n.height:n.width,h=c?a.x2-a.x1:a.y2-a.y1,u=n.showButton?d:0,f=h-u*2,g=this.getScrollbarThumbSize(e,f);if(t&&n.savedPositionRatio!==void 0){const S=Math.max(0,f-g.size);n.savedAtStart?g.position=0:n.savedAtEnd?g.position=S:g.position=Math.min(n.savedPositionRatio*f,S)}const p=Math.max(0,f-g.size);p>0&&(n.savedPositionRatio=g.position/f,n.savedAtStart=g.position<=0,n.savedAtEnd=g.position>=p);let m="display: block;",x,b,y,M,E=`width:${u}px;height:${u}px;`;c?(m=`top: ${s.y2+r+l.top}px;`,m+=`left: ${a.x1}px;`,m+=`width: ${h}px;`,m+=` height: ${d}px;`,x="top: 0;",x+=`left: ${u}px;`,x+=`width: ${f}px;`,x+="height: 100%;",b=`width: ${g.size}px;`,b+="height: 100%;",b+=`left: ${g.position+u}px`,E+="transform:rotate(90deg);top: 0;",y=`${E}right:0;`,M=`${E}left:0;`):(m=`top: ${a.y1+r}px;`,m+=`left: ${a.x2+10}px;`,m+=`width: ${d}px;`,m+=`height: ${h}px;`,x=`top: ${u}px;`,x+="left: 0;",x+="width: 100%;",x+=`height: ${f}px;`,b="width: 100%;",b+=`height: ${g.size}px;`,b+=`bottom: ${g.position+u}px`,E+="left:0;",y=`${E}top: 0;`,M=`${E}bottom: 0;`),o.style.cssText=m;const I=o.getElementsByClassName("ev-chart-scrollbar-track");I[0].style.cssText=x,I[0].style.backgroundColor=n.background;const T=o.getElementsByClassName("ev-chart-scrollbar-thumb");if(T[0].style.cssText=b,T[0].style.backgroundColor=n.thumbStyle.background,T[0].style.borderRadius=`${n.thumbStyle.radius}px`,n.showButton){const S=o.getElementsByClassName("ev-chart-scrollbar-button-up"),k=Math.floor(f-g.size),w=Math.floor(g.position)>k?.5:1;S[0].style.cssText=`background-color: ${n.background};${y}`,S[0].style.opacity=w,S[0].children[0].style.display="block";const B=o.getElementsByClassName("ev-chart-scrollbar-button-down");B[0].style.cssText=`background-color: ${n.background};${M}`,B[0].style.opacity=Math.floor(g.position)<0?.5:1,B[0].children[0].style.display="block"}},getScrollbarThumbSize(e,t){var u,f,g,p;const n=this.scrollbar[e],[o,s]=n.range,l=n.type;let a,r,c=1,d=0,h=0;if(l==="step"){const m=this.options.type==="heatMap"?this.data.labels[e]:this.data.labels,x=s-o+1;r=m.length;const b=t/r;a=b*x,h=b*o}else{const m=e==="x"?this.axesX:this.axesY,x=(u=this.minMax[e])==null?void 0:u[0],b=+x.max-+x.min,y=+s-+o;l==="time"&&(c=(p=m==null?void 0:m[0])==null?void 0:p.getInterval({minValue:x.min,maxValue:x.max,maxSteps:(g=(f=this.labelRange[e])==null?void 0:f[0])==null?void 0:g.max})),r=Math.ceil(b/c)+1,d=+x.min;const M=t/r,E=y/c+1,I=+o-d;a=M*E,h=M*(I/c)}return n.startValue=d,n.steps=r,n.interval=c,{size:a,position:h}},getScrollbarContainerDOM(e){const t=["track","thumb","button"],n=e.dataset.type;return t.includes(n)?e.parentElement:n==="button-icon"?e.parentElement.parentElement:n==="scrollbar"?e.getElementsByClassName("ev-chart-scrollbar-container")[0]:e},updateScrollbarRange(e,t){const n=this.scrollbar[e],{startValue:o,range:s,interval:l,steps:a}=n,r=o+l*a,c=e==="x"?this.axesX[0]:this.axesY[0],[d,h]=s??[];(!ve(d)||!ve(h))&&(n.range=(c==null?void 0:c.range)||null);let u,f,g=!1;t?(u=d+l,f=h+l,g=f>=r):(u=d-l,f=h-l,g=u<o),g||(n.range=[u,f],this.resetScrollbarSavedPositions(e),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},lightUpdate:u>1,updateByScrollbar:!0}))},resetScrollbarSavedPositions(e){const t=this.scrollbar[e];t&&(delete t.savedPositionRatio,delete t.savedAtStart,delete t.savedAtEnd)},createScrollEvent(){var t,n,o;this.onScrollbarClick=s=>{s.preventDefault();const l=s.target.dataset.type,a=this.getScrollbarContainerDOM(s.target),r=["button","button-icon"],c=a.dataset.type;let d;if(r.includes(l)){let h;l==="button"?h=s.target:l==="button-icon"&&(h=s.target.parentElement),d=h.className.includes("up")}else if(l==="track"){const h=a.getElementsByClassName("ev-chart-scrollbar-thumb"),{x:u,y:f}=h[0].getBoundingClientRect(),g=c==="x",p=g?s.clientX:-s.clientY,m=g?u:-f;d=p>m}else return;this.updateScrollbarRange(c,d)},this.onScrollbarDown=s=>{if(s.preventDefault(),s.target.dataset.type!=="thumb")return;const l=this.getScrollbarContainerDOM(s.target),a=l.dataset.type,r=l.getElementsByClassName("ev-chart-scrollbar-thumb"),{x:c,y:d,height:h}=r[0].getBoundingClientRect(),u=this.scrollbar[a];u.scrolling=!0,a==="x"?u.pointInThumb=s.clientX-c:u.pointInThumb=d+h-s.clientY;const f=u.dom;f.addEventListener("mousemove",this.onScrollbarMove),f.addEventListener("mouseup",this.onScrollbarUp)};const e=s=>{this.scrolling(s)};if(this.onScrollbarMove=qo(e,5),this.onScrollbarUp=s=>{s.preventDefault(),this.stopScrolling(s)},this.onScrollbarLeave=s=>{s.preventDefault(),this.scrolling(s),this.stopScrolling(s)},this.onScrollbarWheel=s=>{var h,u,f,g,p,m,x,b;const l=((u=(h=this.tooltipDOM)==null?void 0:h.style)==null?void 0:u.display)==="block",a=this.tooltipBodyDOM||((f=this.tooltipDOM)==null?void 0:f.querySelector(this.options.tooltip.htmlScrollTarget));if(l&&a){const{scrollTop:y,scrollHeight:M,clientHeight:E}=a,I=y<=0,T=y+E>=M,V=s.deltaY<0,C=s.deltaY>0;if(!(I&&V||T&&C))return}s.preventDefault();const r=1;if((g=this.scrollbar.x)!=null&&g.use&&s.shiftKey&&Math.abs(s.deltaY)>r){this.updateScrollbarRange("x",s.deltaY>0);return}const c=Math.abs(s.deltaX),d=Math.abs(s.deltaY);if(c>r&&d>r){c>d&&((p=this.scrollbar.x)!=null&&p.use)?this.updateScrollbarRange("x",s.deltaX>0):d>c&&((m=this.scrollbar.y)!=null&&m.use)&&this.updateScrollbarRange("y",s.deltaY<0);return}if((x=this.scrollbar.x)!=null&&x.use&&c>r){this.updateScrollbarRange("x",s.deltaX>0);return}(b=this.scrollbar.y)!=null&&b.use&&d>r&&this.updateScrollbarRange("y",s.deltaY<0)},this.scrollbar.x.use&&!this.scrollbar.x.isInit){const s=this.scrollbar.x.dom;s.addEventListener("click",this.onScrollbarClick),s.addEventListener("mousedown",this.onScrollbarDown),s.addEventListener("mouseleave",this.onScrollbarLeave)}if(this.scrollbar.y.use&&!this.scrollbar.y.isInit){const s=this.scrollbar.y.dom;s.addEventListener("click",this.onScrollbarClick),s.addEventListener("mousedown",this.onScrollbarDown),s.addEventListener("mouseleave",this.onScrollbarLeave)}((t=this.scrollbar.x)!=null&&t.use||(n=this.scrollbar.y)!=null&&n.use)&&((o=this.overlayCanvas)==null||o.addEventListener("wheel",this.onScrollbarWheel,{passive:!1}))},scrolling(e){const t=this.getScrollbarContainerDOM(e.target),n=t.dataset.type;if(!this.scrollbar[n].scrolling)return;const{steps:o,range:s,pointInThumb:l,startValue:a,interval:r}=this.scrollbar[n],c=t.getElementsByClassName("ev-chart-scrollbar-track"),{x:d,y:h,width:u,height:f}=c[0].getBoundingClientRect(),g=n==="x",p=g?d:h,m=g?u:f,x=m/o,b=a+(o-1)*r;let y=g?e.clientX:e.clientY;y<p?y=p:y>p+m&&(y=p+m);let M;if(g?M=y-p-l:M=p+m-y-l,M<=0)return;let E,I;const T=Math.round(Math.abs(M)/x)*r,[V,C]=s;if(M>0){const S=a+(T-+V);E=+V+S,I=E+(+C-+V)}E<a||I>b||(this.scrollbar[n].range=[E,I],this.resetScrollbarSavedPositions(n),this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},lightUpdate:E>1,updateByScrollbar:!0}))},stopScrolling(e){const n=this.getScrollbarContainerDOM(e.target).dataset.type,o=this.scrollbar[n];if(o.scrolling){o.scrolling=!1;const s=o.dom;s.removeEventListener("mousemove",this.onScrollbarMove,!1),s.removeEventListener("mouseup",this.onScrollbarUp,!1)}},hideScrollbar(e){const t=this.scrollbar[e].dom;if(!t)return;const n=t==null?void 0:t.style;n.display="none",n.width="0",n.height="0"},destroyScrollbar(e){var n,o,s;const t=this.scrollbar[e].dom;t&&(t.remove(),this.scrollbar[e]={isInit:!1},!((n=this.scrollbar.x)!=null&&n.use)&&!((o=this.scrollbar.y)!=null&&o.use)&&((s=this.overlayCanvas)==null||s.removeEventListener("wheel",this.onScrollbarWheel,{passive:!1})))}};function zC(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")}function Rr(e,t,n){let o,s,l,a,r,c,d=0,h=!1,u=!1,f=!0;const g=!t&&t!==0&&typeof root.requestAnimationFrame=="function";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0,zC(n)&&(h=!!n.leading,u="maxWait"in n,l=u?Math.max(+n.maxWait||0,t):l,f="trailing"in n?!!n.trailing:f);function p(k){const w=o,B=s;return o=s=void 0,d=k,a=e.apply(B,w),a}function m(k,w){return g?(window.cancelAnimationFrame(r),window.requestAnimationFrame(k)):setTimeout(k,w)}function x(k){if(g)return window.cancelAnimationFrame(k);clearTimeout(k)}function b(k){return d=k,r=m(E,t),h?p(k):a}function y(k){const w=k-c,B=k-d,D=t-w;return u?Math.min(D,l-B):D}function M(k){const w=k-c,B=k-d;return c===void 0||w>=t||w<0||u&&B>=l}function E(){const k=Date.now();if(M(k))return I(k);r=m(E,y(k))}function I(k){return r=void 0,f&&o?p(k):(o=s=void 0,a)}function T(){r!==void 0&&x(r),d=0,o=c=s=r=void 0}function V(){return r===void 0?a:I(Date.now())}function C(){return r!==void 0}function S(...k){const w=Date.now(),B=M(w);if(o=k,s=this,c=w,B){if(r===void 0)return b(c);if(u)return r=m(E,t),p(c)}return r===void 0&&(r=m(E,t)),a}return S.cancel=T,S.flush=V,S.pending=C,S}const FC="Expected a function";function HC(e,t,n){let o=!0,s=!0;if(typeof e!="function")throw new TypeError(FC);return Rr(e,t,{leading:o,maxWait:t,trailing:s})}const WC={createEventFunctions(){var e,t,n,o;this.onMouseMove=s=>{var f,g;if((f=this.dragInfo)!=null&&f.isMove||this.isMobile)return;const l={e:s},{indicator:a,tooltip:r,type:c}=this.options,d=this.getMousePosition(s),h=this.findHitItem(d);r!=null&&r.showAllValueInRange&&(h!=null&&h.items)&&this.addNotHitInfo(h);const u=this.overlayCtx;if(this.overlayClear(),Object.keys(h.items).length){if(r.use&&this.isInitTooltip)if(this.drawItemsHighlight(h,u),typeof(r==null?void 0:r.returnValue)=="function"){const m=[];Object.keys(h.items).forEach(x=>{m.push({sId:x,data:h.items[x].data,color:h.items[x].color,name:h.items[x].name,dataId:h.items[x].id,index:h.items[x].index})}),this.hideTooltipDOM(),r.returnValue(m,s)}else(g=r==null?void 0:r.formatter)!=null&&g.html?(this.drawCustomTooltip(h==null?void 0:h.items),this.setCustomTooltipLayoutPosition(h,s)):(this.setTooltipLayoutPosition(h,s),c==="scatter"?this.drawTooltipForScatter(h,this.tooltipCtx):c==="heatMap"?this.drawToolTipForHeatMap(h,this.tooltipCtx):this.drawTooltip(h,this.tooltipCtx));const p=Object.values(this.seriesList||{}).some(m=>m.type==="line");if(r.use&&(c==="line"||p)){const m=this.drawIndicatorForTooltip(h,a.color),x=m==null?void 0:m.labelValue,b=this.getTimeLabel(d);l.hoveredLabel={horizontal:this.options.horizontal,label:b,mousePosition:[s.clientX,s.clientY],dataLabel:x}}}else r.use&&this.isInitTooltip&&(typeof(r==null?void 0:r.returnValue)=="function"&&r.returnValue([],s),this.hideTooltipDOM());if(this.dragInfoBackup&&this.drawSelectionArea(this.dragInfoBackup),!l.hoveredLabel&&!this.isNotUseIndicator()){const p=Object.values(this.seriesList||{}).some(x=>x.type==="line");(c!=="line"&&!p||!r.use||!Object.keys(h.items).length)&&this.drawIndicator(d,a.color);const m=this.getTimeLabel(d);l.hoveredLabel={horizontal:this.options.horizontal,label:m,mousePosition:[s.clientX,s.clientY]}}else l.hoveredLabel||(l.hoveredLabel={label:""});typeof this.listeners["mouse-move"]=="function"&&(c!=="pie"&&(l.curMouseTargetVal=this.getCurMouseTargetVal(d,h)),this.listeners["mouse-move"](l))},this.onMouseLeave=s=>{const{tooltip:l,dragSelection:a}=this.options;l.throttledMove&&this.onMouseMove.cancel(),(!a.use||!a.keepDisplay)&&this.overlayClear(),l.use&&this.isInitTooltip&&(typeof(l==null?void 0:l.returnValue)=="function"&&l.returnValue([],s),this.tooltipClear()),this.listeners["mouse-leave"]()},this.onDblClick=s=>{const l={e:s},a=this.getMousePosition(s),{type:r,selectItem:c,selectLabel:d,selectSeries:h}=this.options,u=(c==null?void 0:c.use)&&(c==null?void 0:c.useClick),f=(d==null?void 0:d.use)&&(d==null?void 0:d.useClick),g=(h==null?void 0:h.use)&&(h==null?void 0:h.useClick);u?l.eventTarget="item":f?l.eventTarget="label":g&&(l.eventTarget="series");const p=()=>{var E,I;const b=this.findHitItem(a,!0),y=b.hitId??Object.keys(b.items)[0],M=b.items[y];M&&(l.label=M.label,l.value=(E=M.data)==null?void 0:E.o,l.seriesId=y,l.dataIndex=M.index,l.acc=(I=M.data)==null?void 0:I.acc)},m=b=>{var V,C;const y=this.findHitItem(a,!0),M=y.hitId??Object.keys(y.items)[0],E=y.items[M],{labelIndex:I}=this.getLabelInfoByPosition(a,b),{dataIndex:T}=this.regulateSelectedLabelInfo(I,b);this.defaultSelectInfo=this.getSelectedLabelInfoWithLabelData(T,b),E&&(l.label=E.label,l.seriesId=M,l.value=(V=E.data)==null?void 0:V.o,l.acc=(C=E.data)==null?void 0:C.acc,l.dataIndex=E.index)},x=()=>{var E,I,T;const b=this.findHitItem(a,!0),y=b.hitId??Object.keys(b.items)[0],M=b.items[y];if(y!==null){const V=this.updateSelectedSeriesInfo(y,!0);M&&(l.label=M.label,l.value=(E=M.data)==null?void 0:E.o,l.seriesId=(I=V.seriesId)==null?void 0:I.at(0),l.acc=(T=M.data)==null?void 0:T.acc,l.dataIndex=M.index)}};switch(r){case"bar":{f?m(this.options.horizontal?"yAxis":"xAxis"):p();break}case"line":{u?p():f?m():g&&x();break}default:{p();break}}typeof this.listeners["dbl-click"]=="function"&&this.listeners["dbl-click"](l)},this.onClick=s=>{var b;if(this.isMouseMove){this.isMouseMove=!1;return}const l={e:s},a=this.getMousePosition(s),{type:r,selectItem:c,selectLabel:d,selectSeries:h}=this.options,u=(c==null?void 0:c.use)&&(c==null?void 0:c.useClick),f=(d==null?void 0:d.use)&&(d==null?void 0:d.useClick),g=(h==null?void 0:h.use)&&(h==null?void 0:h.useClick),p=()=>{const y=this.getHitItemByPosition(a,!1,void 0,!1,!0);({label:l.label,value:l.value,sId:l.seriesId,dataIndex:l.dataIndex,acc:l.acc}=y),y!=null&&y.sId&&(l.selected={eventTarget:"item",seriesId:this.isDeselectItem(y)?null:y.sId,dataIndex:this.isDeselectItem(y)?null:y.dataIndex})},m=y=>{var I,T,V,C;const{labelIndex:M}=this.getLabelInfoByPosition(a,y),{dataIndex:E}=this.regulateSelectedLabelInfo(M,y);this.defaultSelectInfo=this.getSelectedLabelInfoWithLabelData(E,y),y&&(this.defaultSelectInfo.targetAxis=E!=null&&E.length?y:null),l.selected={eventTarget:"label",...Se(this.defaultSelectInfo)},l.label=(T=(I=this.defaultSelectInfo)==null?void 0:I.label)==null?void 0:T.at(0),l.dataIndex=(C=(V=this.defaultSelectInfo)==null?void 0:V.dataIndex)==null?void 0:C.at(0)},x=()=>{const y=this.findHitItem(a,!0),M=y.hitId??Object.keys(y.items)[0],E=y.items[M];if(!pt(M)){const I=this.updateSelectedSeriesInfo(M,!1);this.defaultSelectInfo.seriesId=I.seriesId,l.selected={eventTarget:"series",...Se(this.defaultSelectInfo)},l.label=E.label,l.dataIndex=E.index}};switch(r){default:case"bar":{u?p():f&&m(this.options.horizontal?"yAxis":"xAxis");break}case"line":{u?p():f?m():g&&x();break}case"heatMap":{const y=!!this.options.horizontal;if(u&&f){const{useBothAxis:M}=d,E=this.getCurMouseLocation(a);if(E==="chartBackground")this.clearSelectedLabelInfo(),l.deselected={eventTarget:"label"},p();else if(E==="yAxis"||E==="xAxis"){if(this.clearSelectedItemInfo(),l.deselected={eventTarget:"item"},!M&&E!==(y?"yAxis":"xAxis"))return;m(E)}}else if(u)p();else if(f){const{useBothAxis:M}=d,E=this.getCurMouseLocation(a);if((E==="yAxis"||E==="xAxis")&&!M&&E!==(y?"yAxis":"xAxis"))return;E!=="canvas"&&m(M?E:null)}break}case"pie":{u&&p();break}case"scatter":{if(u&&p(),(b=this.options.dragSelection)!=null&&b.use&&this.isMobile){let y=this.setTouchInfo(s);this.overlayClear(),this.options.dragSelection.keepDisplay&&(s.layerX<y.range.x1||s.layerY<y.range.y1||s.layerX>y.range.x2||s.layerY>y.range.y2)?this.isTouchOverlay=!1:(y=this.setTouchBoxDimensions(y),this.isTouchOverlay=!0,this.drawSelectionArea(y)),this.options.dragSelection.keepDisplay||setTimeout(()=>{this.isTouchOverlay=!1,this.overlayClear()},100),l.e=s,l.touchInfo=y,l.data=this.findSelectedItems(y),l.range=this.getSelectionRange(y),typeof this.listeners["drag-select"]=="function"&&this.listeners["drag-select"](l)}break}}typeof this.listeners.click=="function"&&(this.dragInfoBackup||this.listeners.click(l))},this.onMouseDown=s=>{const{dragSelection:l,type:a}=this.options;l.use&&(a==="scatter"||a==="line"||a==="heatMap")&&(this.removeSelectionArea(),this.dragStart(s,a))},this.onWheel=s=>{var r,c,d;const l=((c=(r=this.tooltipDOM)==null?void 0:r.style)==null?void 0:c.display)==="block",a=(d=this.tooltipDOM)==null?void 0:d.querySelector(this.options.tooltip.htmlScrollTarget);(l||a&&a.scrollHeight>a.clientHeight)&&(s.preventDefault(),l&&(this.tooltipBodyDOM.scrollTop+=s.deltaY),a&&(a.scrollTop+=s.deltaY))},(t=(e=this.options)==null?void 0:e.tooltip)!=null&&t.useScrollbar&&this.overlayCanvas.addEventListener("wheel",this.onWheel,{passive:!1}),(o=(n=this.options)==null?void 0:n.tooltip)!=null&&o.throttledMove&&(this.onMouseMove=HC(this.onMouseMove,30)),this.overlayCanvas.addEventListener("mousemove",this.onMouseMove),this.overlayCanvas.addEventListener("mouseleave",this.onMouseLeave),this.overlayCanvas.addEventListener("dblclick",this.onDblClick),this.overlayCanvas.addEventListener("click",this.onClick),this.overlayCanvas.addEventListener("mousedown",this.onMouseDown),this.dragTouchSelectionEvent=s=>this.dragTouchSelectionDestroy(s),window.addEventListener("click",this.dragTouchSelectionEvent)},dragStart(e,t){let[n,o]=this.getMousePosition(e);const s=this.chartRect,l=this.labelOffset,a={x1:s.x1+l.left,x2:s.x2-l.right,y1:s.y1+l.top,y2:s.y2-l.bottom};n<a.x1&&(n=a.x1),n>a.x2&&(n=a.x2),o<a.y1&&(o=a.y1),o>a.y2&&(o=a.y2),this.dragInfo={xcp:n,ycp:o,range:a};const r=d=>{d.preventDefault();const[h,u]=this.getMousePosition(d),f=this.dragInfo,{xcp:g,ycp:p,range:m}=f;let x,b;if(f.isMove=!0,this.isMouseMove=!0,h<m.x1?x=m.x1:h>m.x2?x=m.x2:x=h,u<m.y1?b=a.y1:u>m.y2?b=m.y2:b=u,t==="heatMap"){const y={xcp:g,xep:x,ycp:p,yep:b,range:m},{xsp:M,ysp:E,width:I,height:T}=this.getDragInfoForHeatMap(y);f.xsp=M,f.ysp=E,f.width=I,f.height=T}else f.xsp=Math.min(g,x),f.ysp=t==="scatter"?Math.min(p,b):m.y1,f.width=Math.ceil(Math.abs(x-g)),f.height=t==="scatter"?Math.ceil(Math.abs(b-p)):m.y2-m.y1;this.overlayClear(),this.drawSelectionArea(f)},c=d=>{var u,f;const h=this.dragInfo;if(h!=null&&h.isMove&&(h==null?void 0:h.width)>1&&(h==null?void 0:h.height)>1){const g={e:d,data:this.findSelectedItems(h),range:t==="heatMap"?this.getSelectionRangeForHeatMap(h):this.getSelectionRange(h)};if(this.dragInfoBackup=Fe({},h),typeof this.listeners["drag-select"]=="function"&&!((f=(u=this.options)==null?void 0:u.zoom)!=null&&f.use))this.listeners["drag-select"](g);else{const{xsp:p,range:m,width:x}=h,b=p-m.x1;g.range.dragSelectionInfo={dragXsp:b,dragXep:b+x,exceptAxesYChartWidth:m.x2-m.x1,exceptAxesXChartHeight:m.y2-m.y1,chartRange:m,chartTitle:this.options.title.text},this.options.zoom.getRangeInfo(g)}this.options.dragSelection.keepDisplay||this.removeSelectionArea()}this.dragInfo=null,window.removeEventListener("mousemove",r),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",r),window.addEventListener("mouseup",c)},drawSelectionArea({xsp:e,ysp:t,width:n,height:o,range:s}){const l=this.overlayCtx,{fillColor:a,opacity:r}=this.options.dragSelection,c=this.chartRect,d=this.labelOffset,h={x1:c.x1+d.left,x2:c.x2-d.right,y1:c.y1+d.top,y2:c.y2-d.bottom};if(l.fillStyle=a,l.globalAlpha=r,je(h,s))l.fillRect(e,t,n,o);else{const u=s.x2-s.x1,f=s.y2-s.y1,g=h.x2-h.x1,p=h.y2-h.y1,m=(e-s.x1)/u,x=(t-s.y1)/f,b=h.x1+g*m,y=h.y1+p*x,M=n/u,E=o/f,I=g*M,T=p*E;l.fillRect(b,y,I,T)}l.globalAlpha=1},removeSelectionArea(){this.dragInfoBackup=null,this.overlayClear()},getMousePosition(e){const t=e.originalEvent||e,n=this.overlayCanvas.getBoundingClientRect();return[t.clientX-n.left,t.clientY-n.top,n.width,n.height]},getCurMouseTargetVal(e,t){const n=this.getCurMouseLocation(e),o={location:n,labelIdx:-1,labelVal:"",dataIdx:-1,maxDataVal:"",originVal:""};if(n==="chartBackground"){const{maxHighlight:s,items:l}=t;if(s!=null&&s.length){const[a,r]=s;l[a]&&(o.dataIdx=l[a].index,o.maxDataVal=r,o.originVal=t)}}else if(n==="xAxis"||n==="yAxis"){const{axesX:s,axesY:l}=this.options,a=(c,d,h)=>{o.labelIdx=d,o.labelVal=c[0].type==="time"?Je(h).format(c[0].timeFormat):h,o.originVal=c[0].type==="time"?Je(h):h};(c=>{const{labelIndex:d}=this.getLabelInfoByPosition(e,n),{labelVal:h,labelIdx:u}=this.getCurMouseLabelVal(c,e,d);a(c==="xAxis"?s:l,u,h)})(n)}return o},setTouchInfo(e){let[t,n]=this.getMousePosition(e);const o=this.chartRect,s=this.labelOffset,l={x1:o.x1+s.left,x2:o.x2-s.right,y1:o.y1+s.top,y2:o.y2-s.bottom};return t=Math.max(l.x1,Math.min(t,l.x2)),n=Math.max(l.y1,Math.min(n,l.y2)),{xcp:t,ycp:n,range:l}},setTouchBoxDimensions(e){var h;const t=((h=this.options.dragSelection)==null?void 0:h.size)||50,n=t/2,{xcp:o,ycp:s,range:l}=e;let a=o-n,r=s-n,c=t,d=t;return this.boxOverflow={x1:!1,x2:!1,y1:!1,y2:!1},o<l.x1+n&&(a=l.x1,c=n-(l.x1-o),this.boxOverflow.x1=!0),o>l.x2-n&&(c=n-(o-l.x2),this.boxOverflow.x2=!0),s<l.y1+n&&(r=l.y1,d=n-(l.y1-s),this.boxOverflow.y1=!0),s>l.y2-n&&(d=n-(s-l.y2),this.boxOverflow.y2=!0),e.xsp=a,e.ysp=r,e.width=c,e.height=d,e},dragTouchSelectionDestroy(e){var t;(t=this.options.dragSelection)!=null&&t.use&&e.target!==this.overlayCanvas&&this.isTouchOverlay&&(this.isTouchOverlay=!1,this.overlayClear())},findHitItem(e,t=!1){var I,T,V;const n=Object.keys(this.seriesList),o={},s=!!this.options.horizontal,l=this.tooltipCtx,[a,r]=e;let c=null,d="",h=0,u="",f=null,g=null,p=1/0,m=!1,x=null,b=1/0;const y=this.findClosestDataIndex(e,n,t);if(y===-1&&!this.isNotUseIndicator())return{items:o,hitId:c,maxTip:[d,u],maxHighlight:null};const M=n.every(C=>this.seriesList[C].type==="bar");for(let C=0;C<n.length;C++){const S=n[C],k=this.seriesList[S];if(k.findGraphData&&k.show){const w=k.findGraphData(e,s,y,!M);if(w!=null&&w.data){let B;if(w.data.o===null&&k.interpolation!=="zero"?k.isExistGrp||(B=s?w.data.x:w.data.y):isNaN(w.data.o)||(B=w.data.o),B!=null){const D=this.getFormattedTooltipLabel({dataId:k.id,seriesId:S,seriesName:k.name,itemData:w.data}),L=l?l.measureText(D).width:1;w.id=k.id,w.name=D,w.axis={x:k.xAxisIndex,y:k.yAxisIndex},w.label=s?(I=w.data)==null?void 0:I.y:(T=w.data)==null?void 0:T.x,o[S]=w;const R=this.getFormattedTooltipValue({dataId:k.id,seriesId:S,seriesName:D,value:B,itemData:w.data});if(w.data.formatted=R,h<L&&(d=D,h=L),u.length<=`${R}`.length&&(u=`${R}`),(f===null||f<=B)&&(f=B,g=S),w.hit&&w.data.xp!==void 0&&w.data.yp!==void 0){const v=(w.data.xp-e[0])**2+(w.data.yp-e[1])**2;w.directHit?((!m||v<p)&&(p=v,c=S),m=!0):!m&&v<p&&(p=v,c=S)}if(w.data.xp!==void 0&&w.data.yp!==void 0&&w.data.xp!==null&&w.data.yp!==null){const v=Y.calcBoxDistance(w.data,a,r);v<b&&(b=v,x=S)}}}}}c===null&&(c=x!==null?x:Object.keys(o)[0]);const E=f!==null?[g,f]:null;if(t&&Object.keys(o).length===0&&y!==-1){const C=n.find(k=>{var B;const w=this.seriesList[k];return(w==null?void 0:w.show)&&((B=w==null?void 0:w.data)==null?void 0:B.length)>0}),S=C?(V=this.seriesList[C].data)==null?void 0:V[y]:null;S&&(o[""]={id:"",name:"",label:s?S.y:S.x,index:y,axis:{x:0,y:0},data:{o:void 0,x:S.x,y:S.y}},c="")}return{items:o,hitId:c,maxTip:[d,u],maxHighlight:E}},findClosestDataIndex(e,t,n=!1){var f;const[o,s]=e,l=!!this.options.horizontal,a=l?s:o,r=t.find(g=>{var m;const p=this.seriesList[g];return(p==null?void 0:p.show)&&((m=p==null?void 0:p.data)==null?void 0:m.length)>0});if(!r||!((f=this.seriesList[r])!=null&&f.data))return-1;const c=this.seriesList[r].data;let d=50;if(c.length>1){const g=[];for(let p=1;p<c.length;p++){const m=c[p-1],x=c[p];if(m&&x){let b,y;l?(b=m.h?m.yp+m.h/2:m.yp,y=x.h?x.yp+x.h/2:x.yp):(b=m.w?m.xp+m.w/2:m.xp,y=x.w?x.xp+x.w/2:x.xp),b!==null&&y!==null&&g.push(Math.abs(y-b))}}g.length>0&&(d=g.reduce((p,m)=>p+m,0)/g.length)}let h=1/0,u=-1;for(let g=0;g<c.length;g++)if(n||t.some(m=>{var b,y,M,E;const x=this.seriesList[m];return(x==null?void 0:x.show)&&((y=(b=x.data)==null?void 0:b[g])==null?void 0:y.o)!==null&&((E=(M=x.data)==null?void 0:M[g])==null?void 0:E.o)!==void 0})){const m=c[g];if(m){let x;if(l?x=m.h?m.yp+m.h/2:m.yp:x=m.w?m.xp+m.w/2:m.xp,x!==null){const b=Math.abs(a-x);b<h&&(h=b,u=g)}}}return h>=d?t.some(p=>{const m=this.seriesList[p];if(m!=null&&m.show){const x=m.passingValue,b=m.interpolation,y=m.hasPassingValueInData;return b==="linear"||b==="none"&&!!x&&y}return!1})?u:-1:u},getFormattedTooltipLabel({dataId:e,seriesId:t,seriesName:n,itemData:o}){var c;const l=this.options.tooltip,a=(c=l==null?void 0:l.formatter)==null?void 0:c.label;let r=n;return a&&(r=a({dataId:e,seriesId:t,seriesName:n,itemData:o})),r},getFormattedTooltipValue({dataId:e,seriesId:t,seriesName:n,value:o,itemData:s}){var h;const l=this.options,a=!!l.horizontal,r=l.tooltip,c=typeof(r==null?void 0:r.formatter)=="function"?r==null?void 0:r.formatter:(h=r==null?void 0:r.formatter)==null?void 0:h.value;let d=o;return c&&(l.type==="pie"?d=c({value:o,name:n,percentage:s==null?void 0:s.percentage,seriesId:t,dataId:e}):l.type==="heatMap"?d=c({x:s==null?void 0:s.x,y:s==null?void 0:s.y,value:o>-1?o:"error",seriesId:t,dataId:e}):d=c({x:a?o:s==null?void 0:s.x,y:a?s==null?void 0:s.y:o,o:s==null?void 0:s.o,name:n,seriesId:t,dataId:e})),o&&(!c||typeof d!="string")&&(l.type==="heatMap"?d=o<0?"error":$t(o):d=$t(o)),d},addNotHitInfo(e){var c,d,h,u,f,g;const t=this.tooltipCtx,n=!!this.options.horizontal,o=Object.keys(e.items)[0],s=n?(h=(d=(c=e.items)==null?void 0:c[o])==null?void 0:d.data)==null?void 0:h.y:(g=(f=(u=e.items)==null?void 0:u[o])==null?void 0:f.data)==null?void 0:g.x;let l="",a="";const r=Object.keys(this.seriesList);for(let p=0;p<r.length;p++){const m=r[p],x=this.seriesList[m];if(x!=null&&x.show){const b=x.data.find(C=>n?(C==null?void 0:C.y)===s:(C==null?void 0:C.x)===s),y=this.getFormattedTooltipLabel({dataId:x.id,seriesId:m,seriesName:x.name,itemData:b}),M=this.getFormattedTooltipValue({dataId:x.id,seriesId:m,seriesName:y,value:b==null?void 0:b.o,itemData:b});if(b&&b.o!==null&&b.o!==void 0&&!e.items[m]){const C={};C.color=x.color,C.hit=!1,C.name=y,C.axis={x:x.xAxisIndex,y:x.yAxisIndex},C.index=n?x.yAxisIndex:x.xAxisIndex,C.data=b,C.data.formatted=M,e.items[m]=C}const E=t?t.measureText(l).width:1,I=t?t.measureText(y).width:1;E<I&&(l=y);const T=t?t.measureText(a).width:1,V=t?t.measureText(`${M}`).width:1;T<V&&(a=`${M}`)}}e.maxTip=[l,a]},selectItemByData(e,t){this.defaultSelectItemInfo=e;let n;t==="pie"?n={type:"pie",sId:e.seriesID}:n=isNaN(e==null?void 0:e.dataIndex)?null:this.getItem(e,!1),this.render(n)},selectLabelByData(e,t){this.defaultSelectInfo=this.getSelectedLabelInfoWithLabelData(e,t),this.render()},selectSeriesByData(e){this.defaultSelectInfo.seriesId=e,this.render()},getSelectedLabelInfoWithLabelData(e,t){const{selectLabel:n,type:o,horizontal:s}=this.options,l=Se(this.defaultSelectInfo);switch(l.dataIndex=e,o){default:case"bar":case"line":{l.dataIndex.splice(n.limit),l.label=l.dataIndex.map(r=>this.data.labels[r]);const a=Object.entries(this.data.data);l.data=l.dataIndex.map(r=>Object.fromEntries(a.map(([c,d])=>[c,d[r]])));break}case"heatMap":{const{limit:a,useBothAxis:r}=this.options.selectLabel;l.dataIndex.splice(a);let c;r?c=t==="yAxis"?"y":"x":c=s?"y":"x",l.label=l.dataIndex.map(h=>this.data.labels[c][h]);const d=Object.values(this.data.data)[0];l.data=d.filter(({x:h,y:u})=>l.label.includes(c==="y"?u:h));break}}return l},regulateSelectedLabelInfo(e,t){var l,a;const n=((l=this.options)==null?void 0:l.selectLabel)??{},o=t===null||((a=this.defaultSelectInfo)==null?void 0:a.targetAxis)===t?{...this.defaultSelectInfo,targetAxis:t}:{dataIndex:[],targetAxis:t},s=Se(o);if(o.dataIndex.includes(e)){const r=o.dataIndex.indexOf(e);s.dataIndex.splice(r,1)}else e>-1&&(s.dataIndex.push(e),n.limit>0&&n.limit<s.dataIndex.length&&(n.useDeselectOverflow?s.dataIndex.splice(0,1):s.dataIndex.pop()));return s},updateSelectedSeriesInfo(e,t){var l;const n=((l=this.options)==null?void 0:l.selectSeries)??{},o=this.defaultSelectInfo??{seriesId:[]};typeof o.seriesId=="string"&&(o.seriesId=[o.seriesId]);const s=Se(o);if(o.seriesId.includes(e)){if(!t){const a=o.seriesId.indexOf(e);s.seriesId.splice(a,1)}}else e&&(s.seriesId.push(e),n.limit>0&&n.limit<s.seriesId.length&&(n.useDeselectOverflow?s.seriesId.splice(0,1):s.seriesId.pop()));return s},drawIndicatorForTooltip(e,t){var d;if(!(e!=null&&e.items)||!Object.keys(e.items).length)return null;const n=this.overlayCtx,{horizontal:o}=this.options,s={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},l=Object.keys(e.items)[0],a=e.items[l];if(!(a!=null&&a.data))return null;const r=o?a.data.y:a.data.x;let c;if(o){const h=a.data.yp+(a.data.h?a.data.h/2:0);c=[s.x1,h]}else c=[a.data.xp+(a.data.w?a.data.w/2:0),s.y1];return n.beginPath(),n.save(),n.strokeStyle=t,n.lineWidth=1,(d=this.options.indicator)!=null&&d.segments&&n.setLineDash(this.options.indicator.segments),o?(n.moveTo(s.x1,c[1]+.5),n.lineTo(s.x2,c[1]+.5)):(n.moveTo(c[0]+.5,s.y1),n.lineTo(c[0]+.5,s.y2)),n.stroke(),n.restore(),n.closePath(),{labelValue:r,position:c}},findSelectedItems(e){const t=[],n=Object.keys(this.seriesList);for(let o=0;o<n.length;o++){const s=n[o],l=this.seriesList[s],a=l.findItems;if(a){const r=a.call(l,e);r&&r.length&&t.push({seriesName:l.name,seriesId:s,items:r})}}return t},getSelectionRange({xsp:e,ysp:t,width:n,height:o,range:s}){var M,E,I,T;const l=this.axesSteps.x.length?this.axesSteps.x[0]:null,a=this.axesSteps.y.length?this.axesSteps.y[0]:null;if(!l||!a)return null;const r=e+n,c=t+o,d=l.graphMax-l.graphMin,h=a.graphMax-a.graphMin,u=this.getRatioInRange(s.x1,s.x2,e),f=this.getRatioInRange(s.x1,s.x2,r),g=this.getRatioInRange(s.y1,s.y2,c),p=this.getRatioInRange(s.y1,s.y2,t),m=this.isMobile&&((M=this.boxOverflow)!=null&&M.x1)?Math.min(this.minMax.x[0].min,l.graphMin):Math.max(l.graphMin+d*u,l.graphMin),x=this.isMobile&&((E=this.boxOverflow)!=null&&E.x2)?Math.max(this.minMax.x[0].max,l.graphMax):Math.min(l.graphMin+d*f,l.graphMax),b=this.isMobile&&((I=this.boxOverflow)!=null&&I.y2)?Math.min(this.minMax.y[0].min,a.graphMin):Math.max(a.graphMin+h*(1-g),a.graphMin),y=this.isMobile&&((T=this.boxOverflow)!=null&&T.y1)?Math.max(this.minMax.y[0].max,a.graphMax):Math.min(a.graphMin+h*(1-p),a.graphMax);return{xMin:+m.toFixed(3),xMax:+x.toFixed(3),yMin:+b.toFixed(3),yMax:+y.toFixed(3)}},getRatioInRange(e,t,n){const o=t-e;return(n-e)/o},getDragInfoForHeatMap(e){const t=Object.keys(this.seriesList)[0];return this.seriesList[t].findBlockRange(e)},getSelectionRangeForHeatMap(e){const t=this.axesSteps.x.length?this.axesSteps.x[0]:null,n=this.axesSteps.y.length?this.axesSteps.y[0]:null;if(!t||!n)return null;const o=Object.keys(this.seriesList)[0],{xMin:s,xMax:l,yMin:a,yMax:r}=this.seriesList[o].findSelectionRange(e)??{};return{xMin:s??t.graphMin,xMax:l??t.graphMax,yMin:a??n.graphMin,yMax:r??n.graphMax}},isDeselectItem(e){var t,n;return this.options.selectItem.useDeselectItem&&(e==null?void 0:e.dataIndex)===((t=this.defaultSelectItemInfo)==null?void 0:t.dataIndex)&&(e==null?void 0:e.sId)===((n=this.defaultSelectItemInfo)==null?void 0:n.seriesID)&&!isNaN(e==null?void 0:e.dataIndex)},getCurMouseLocation(e){const[t,n]=e,o={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},s=o[this.axesX[0].units.rectStart],l=o[this.axesX[0].units.rectEnd],a=o[this.axesY[0].units.rectStart],r=o[this.axesY[0].units.rectEnd];return gt(t,this.chartRect.x1,o.x1)&>(n,a,r)?"yAxis":gt(t,s,l)&>(n,o.y2,this.chartRect.y2)?"xAxis":gt(t,o.x1,o.x2)&>(n,o.y1,o.y2)?"chartBackground":"canvas"},isNotUseIndicator(){return this.options.type==="pie"||this.options.type==="scatter"||this.options.type==="heatMap"},clearSelectedLabelInfo(){this.defaultSelectInfo={dataIndex:[]}},clearSelectedItemInfo(){this.defaultSelectItemInfo=null}},_s=8,ci=50,so=17,$C=8,XC={createTooltipDOM(){var e,t;this.tooltipDOM=document.createElement("div"),this.tooltipDOM.className="ev-chart-tooltip",this.tooltipHeaderDOM=document.createElement("div"),this.tooltipHeaderDOM.className="ev-chart-tooltip-header",this.tooltipBodyDOM=document.createElement("div"),this.tooltipBodyDOM.className="ev-chart-tooltip-body",this.tooltipCanvas=document.createElement("canvas"),this.tooltipCanvas.className="ev-chart-tooltip-canvas",this.tooltipCtx=this.tooltipCanvas.getContext("2d"),this.tooltipDOM.style.display="none",(t=(e=this.options.tooltip)==null?void 0:e.formatter)!=null&&t.html||this.setDefaultTooltipLayout(),document.body.appendChild(this.tooltipDOM),this.options.tooltip.debouncedHide?this.hideTooltipDOM=Rr(()=>{this.tooltipDOM.style.display="none"},200):this.hideTooltipDOM=()=>{this.tooltipDOM.style.display="none"},this.isInitTooltip=!0},setDefaultTooltipLayout(){this.tooltipBodyDOM.appendChild(this.tooltipCanvas),this.tooltipDOM.appendChild(this.tooltipHeaderDOM),this.tooltipDOM.appendChild(this.tooltipBodyDOM)},getFontStyle(e){var s,l;const t=(s=this.options)==null?void 0:s.tooltip,n=((l=t==null?void 0:t.fontSize)==null?void 0:l[e])??14,o=(t==null?void 0:t.fontFamily)??"Roboto";return`normal normal lighter ${Math.max(n,0)}px ${o}`},getTextHeight(){var e,t,n;return(((n=(t=(e=this.options)==null?void 0:e.tooltip)==null?void 0:t.fontSize)==null?void 0:n.contents)??14)+6},getColorMargin(){var e,t,n;return(((n=(t=(e=this.options)==null?void 0:e.tooltip)==null?void 0:t.fontSize)==null?void 0:n.contents)??14)+2},getBoxPadding(){var s,l;const{top:e=0,right:t=20,bottom:n=3,left:o=16}=((l=(s=this.options)==null?void 0:s.tooltip)==null?void 0:l.rowPadding)??{};return{t:e,l:o,b:n,r:t}},setTooltipLayoutPosition(e,t){var A,z,$,W,F,U,j;const n=this.tooltipCtx,o=t.pageX,s=t.pageY,l=e.items,[a,r]=e.maxTip,d=Object.keys(l).length,h=this.getBoxPadding(),u=this.options.tooltip,f=this.getColorMargin(),g=e.hitId,p=l[g].data,m=l[g].axis,x=(A=u.formatter)==null?void 0:A.title;this.axesX.length&&this.axesY.length&&u.showHeader&&(x?this.tooltipHeaderDOM.textContent=x({x:p.x,y:p.y}):this.tooltipHeaderDOM.textContent=this.options.horizontal?this.axesY[m.y].getLabelFormat(p.y):this.axesX[m.x].getLabelFormat(p.x)),u.textOverflow&&this.tooltipHeaderDOM.classList.add(`ev-chart-tooltip-header--${u.textOverflow}`),this.tooltipHeaderDOM.style.visibility="hidden",n.save(),n.font=this.getFontStyle("contents");const y=!!this.options.horizontal?($=(z=l[e.hitId])==null?void 0:z.data)==null?void 0:$.y:(F=(W=l[e.hitId])==null?void 0:W.data)==null?void 0:F.x,M=(y==null?void 0:y.length)>a.length?y:a,E=Math.round(n.measureText(M).width),I=Math.round(n.measureText(r).width),T=E+I+h.l+h.r+f+ci+so,V=T>u.maxWidth?u.maxWidth:T;let C=u.textOverflow==="wrap"?0:d;if(u.textOverflow==="wrap"){const K=u.maxWidth-(Math.round(n.measureText(r).width)+h.l+h.r+f+ci+so);Object.values(l).map(ee=>ee.name).forEach(ee=>{if(n.measureText(ee).width>K){let J="";for(let te=0;te<ee.length;te++){const G=ee[te],oe=`${J}${G}`;n.measureText(oe).width>K?(J=G,C+=1):J=oe}}C+=1}),n.restore()}const S=h.t+C*this.getTextHeight()+d*_s+h.b;let k;u.useScrollbar&&S>u.maxHeight?(this.tooltipBodyDOM.style.overflowY="auto",k=u.maxHeight):(this.tooltipBodyDOM.style.overflowY="hidden",k=S),this.tooltipCanvas.width=V*this.pixelRatio,this.tooltipCanvas.height=S*this.pixelRatio,this.tooltipCanvas.style.width=`${V}px`,this.tooltipCanvas.style.height=`${S}px`,this.tooltipHeaderDOM.style.width=`${V}px`,this.tooltipHeaderDOM.style.height="auto",this.tooltipDOM.style.height="auto",this.tooltipBodyDOM.style.height=`${k+6}px`,this.tooltipDOM.style.display="block";const w=document.body.clientWidth,B=document.body.clientHeight,D=20,L=((U=this.tooltipDOM)==null?void 0:U.offsetHeight)||((j=this.tooltipHeaderDOM)==null?void 0:j.offsetHeight)+k+$C,R=w-V-D,v=B-L-D,N=o+D,O=s+D,P=o-V-D,_=s-L-D;this.tooltipDOM.style.left=N>R?`${P}px`:`${N}px`,this.tooltipDOM.style.top=O>v?`${_}px`:`${O}px`},drawSeriesColorShape(e,t,n){var a,r;const o=(r=(a=this.options.tooltip)==null?void 0:a.fontSize)==null?void 0:r.contents,{x:s,y:l}=n;if(t==="circle"){e.beginPath();const c=o/2;e.arc(s,l-c/2,c,0,2*Math.PI),e.fill()}else{const c=o;e.fillRect(s-c/3,l-c/1.2,c,c)}},drawTooltip(e,t){const n=t,o=e.items,[,s]=e.maxTip,l=this.alignSeriesList(Object.keys(o)),a=this.getBoxPadding(),r=this.options.horizontal,c=this.options.tooltip,d=this.getTextHeight(),h=this.getColorMargin();this.axesX.length&&this.axesY.length&&c.showHeader?this.tooltipHeaderDOM.style.visibility="visible":this.tooltipHeaderDOM.style.display="none";let u=2,f=2;u+=Y.aliasPixel(u),f+=Y.aliasPixel(f),n.save(),n.scale(this.pixelRatio,this.pixelRatio),this.tooltipBodyDOM.style.overflowY==="auto"&&(a.r+=so),u+=a.l,f+=a.t,n.font=this.getFontStyle("contents");const g=[];l.forEach(m=>{g.push({id:m,data:o[m].data,color:o[m].color,name:o[m].name,dataId:o[m].id})}),c.sortByValue&&g.sort((m,x)=>{let b=m.data.o,y=x.data.o;return b==null&&(b=r?m.data.x:m.data.y),y==null&&(y=r?x.data.x:x.data.y),y-b}),this.setTooltipDOMStyle(c);let p=1;for(let m=0;m<g.length;m++){const x=g[m].data,b=g[m].color,y=g[m].name,M=x.formatted;let E=u+4,I=f+p*d;E+=Y.aliasPixel(E),I+=Y.aliasPixel(I),n.beginPath(),typeof b!="string"?n.fillStyle=ie.createGradient(n,r,{x:E-4,y:I,w:12,h:-12},b):n.fillStyle=b;const T={id:g[m].id,name:g[m].name,value:M,dataId:g[m].dataId};this.drawSeriesColorShape(n,c.colorShape,{x:E,y:I}),n.fillStyle=typeof c.fontColor.label=="function"?c.fontColor.label(T):c.fontColor.label??c.fontColor;const V=c.maxWidth-Math.round(n.measureText(s).width)-a.l-a.r-h-ci,C=E+h,S=I;if(V>n.measureText(y).width)n.fillText(y,C,S);else if(c.textOverflow==="wrap"){let k="",w=S;for(let B=0;B<y.length;B++){const D=y[B],L=`${k}${D}`;n.measureText(L).width>V?(n.fillText(k,C,w),k=D,p+=1,w+=d):k=L}n.fillText(k,C,w)}else{const k=Y.truncateLabelWithEllipsis(y,V,n);n.fillText(k,C,S)}n.save(),n.fillStyle=typeof c.fontColor.value=="function"?c.fontColor.value(T):c.fontColor.value??c.fontColor,n.textAlign="right",n.fillText(M,this.tooltipDOM.offsetWidth-a.r,I),n.restore(),n.closePath(),f+=_s,p+=1}n.restore()},drawToolTipForHeatMap(e,t){const n=t,o=e.items,s=e.hitId,l=o[s].data,a=o[s].axis,r=o[s].color,c=this.getBoxPadding(),d=this.options.horizontal,h=this.options.tooltip,u=Object.values(this.seriesList)[0],f=this.getTextHeight(),g=this.getColorMargin();let p=!1,m=l.formatted;const{colorState:x,isGradient:b}=u;if(b){const{min:I,max:T}=u.valueOpt,V=We(l.o-I,T-I),{start:C,end:S}=x[0];p=C<=V&&V<=S||l.o===-1}else{const I=x.find(({id:T})=>T===l.cId);p=I==null?void 0:I.show,m=(I==null?void 0:I.label)??m}if(!p){this.tooltipClear();return}this.axesX.length&&this.axesY.length&&h.showHeader?this.tooltipHeaderDOM.style.visibility="visible":this.tooltipHeaderDOM.style.display="none",this.setTooltipDOMStyle(h),n.save(),n.scale(this.pixelRatio,this.pixelRatio),this.tooltipBodyDOM.style.overflowY==="auto"&&(c.r+=so);const y=c.l+2,M=c.t+f+2;n.font=this.getFontStyle("contents"),n.beginPath(),typeof r!="string"?n.fillStyle=ie.createGradient(n,d,{x:y,y:M,w:12,h:-12},r):n.fillStyle=r;const E={id:e.hitId,name:l.y,value:m,dataId:o[s].id};this.drawSeriesColorShape(n,h.colorShape,{x:y,y:M}),n.fillStyle=typeof h.fontColor.label=="function"?h.fontColor.label(E):h.fontColor.label??h.fontColor,this.axesY.length&&n.fillText(this.axesY[a.y].getLabelFormat(l.y),y+g,M),n.textAlign="right",n.fillStyle=typeof h.fontColor.value=="function"?h.fontColor.value(E):h.fontColor.value??h.fontColor,n.fillText(m,this.tooltipDOM.offsetWidth-c.r,M),n.closePath()},drawTooltipForScatter(e,t){const n=t,o=e.items,[,s]=e.maxTip,l=this.alignSeriesList(Object.keys(o)),a=this.getBoxPadding(),r=this.options.tooltip,c=this.getTextHeight(),d=this.getColorMargin();this.axesX.length&&this.axesY.length&&r.showHeader?this.tooltipHeaderDOM.style.visibility="visible":this.tooltipHeaderDOM.style.display="none";let h=2,u=2;h+=Y.aliasPixel(h),u+=Y.aliasPixel(u),n.save(),n.scale(this.pixelRatio,this.pixelRatio),this.tooltipBodyDOM.style.overflowY==="auto"&&(a.r+=so),h+=a.l,u+=a.t,n.font=this.getFontStyle("contents");const f=[];l.forEach(p=>{f.push({data:o[p].data,color:o[p].color,name:o[p].name})}),r.sortByValue&&f.sort((p,m)=>{let x=p.data.o,b=m.data.o;return x==null&&(x=p.data.y),b==null&&(b=m.data.y),b-x}),this.setTooltipDOMStyle(r);let g=1;for(let p=0;p<f.length;p++){const m=f[p].data,x=f[p].color,b=f[p].name,y=m.formatted;let M=h+4,E=u+g*c;M+=Y.aliasPixel(M),E+=Y.aliasPixel(E),n.beginPath(),typeof x!="string"?n.fillStyle=ie.createGradient(n,!1,{x:M-4,y:E,w:12,h:-12},x):n.fillStyle=x;const I={id:e.hitId,name:f[p].name,value:y,dataId:f[p].dataId};this.drawSeriesColorShape(n,r.colorShape,{x:M,y:E}),n.fillStyle=typeof r.fontColor.label=="function"?r.fontColor.label(I):r.fontColor.label??r.fontColor;const T=r.maxWidth-Math.round(n.measureText(s).width)-a.l-a.r-d-ci,V=M+d,C=E;if(T>n.measureText(b).width)n.fillText(b,V,C);else if(r.textOverflow==="wrap"){let S="",k=C;for(let w=0;w<b.length;w++){const B=b[w],D=`${S}${B}`;n.measureText(D).width>T?(n.fillText(S,V,k),S=B,g+=1,k+=c):S=D}n.fillText(S,V,k)}else{const S=Y.truncateLabelWithEllipsis(b,T,n);n.fillText(S,V,C)}n.save(),n.textAlign="right",n.fillStyle=typeof r.fontColor.value=="function"?r.fontColor.value(I):r.fontColor.value??r.fontColor,n.fillText(y,this.tooltipDOM.offsetWidth-a.r,E),n.restore(),n.closePath(),u+=_s,g+=1}n.restore()},setCustomTooltipLayoutPosition(e,t){var b,y;const n=t.pageX,o=t.pageY,s=(b=this.tooltipDOM.getElementsByClassName("ev-chart-tooltip-custom"))==null?void 0:b[0];if(!s&&!this.tooltipDOM)return;this.tooltipDOM.style.display="block";const l=s.offsetWidth,a=s.offsetHeight;this.tooltipDOM.style.height="auto",this.tooltipBodyDOM.style.height=`${a+6}px`;const r=document.body.clientWidth,c=document.body.clientHeight,d=(y=this.tooltipDOM)==null?void 0:y.getBoundingClientRect(),h=20,u=r-l-h,f=c-(d==null?void 0:d.height)-h,g=n+h,p=o+h,m=n-l-h,x=o-(d==null?void 0:d.height)-h;this.tooltipDOM.style.left=g>u?`${m}px`:`${g}px`,this.tooltipDOM.style.top=p>f?`${x}px`:`${p}px`},drawCustomTooltip(e){var n,o,s,l;const t=(n=this.options)==null?void 0:n.tooltip;if((o=t.formatter)!=null&&o.html){this.tooltipDOM.innerHTML="";const a=[];Object.keys(e).forEach(c=>{a.push({sId:c,data:e[c].data,color:e[c].color,name:e[c].name,dataId:e[c].id,index:e[c].index})});const r=Y.htmlToElement((s=t==null?void 0:t.formatter)==null?void 0:s.html(a));r&&this.tooltipDOM.appendChild(r),this.tooltipDOM.style.overflowY="hidden",this.tooltipDOM.style.backgroundColor=t.backgroundColor,this.tooltipDOM.style.border=`1px solid ${t.borderColor}`,this.tooltipDOM.style.color=((l=t.fontColor)==null?void 0:l.title)??t.fontColor}},setTooltipDOMStyle(e){var t;if(this.tooltipDOM.style.overflowY="hidden",this.tooltipDOM.style.backgroundColor=e.backgroundColor,this.tooltipDOM.style.border=`1px solid ${e.borderColor}`,this.tooltipDOM.style.color=((t=e.fontColor)==null?void 0:t.title)??e.fontColor,this.tooltipHeaderDOM.style.fontSize=`${e.fontSize.title}px`,this.tooltipHeaderDOM.style.fontFamily=this.getFontStyle("title"),e.useShadow){const n=`rgba(0, 0, 0, ${e.shadowOpacity})`;this.tooltipDOM.style.boxShadow=`2px 2px 2px ${n}`}this.tooltipDOM.style.display="block"},drawItemsHighlight(e,t){Object.keys(e.items).forEach(n=>{var s;const o=this.seriesList[n];o.itemHighlight(e.items[n],t,e.items[n].index,(s=this.options)==null?void 0:s.unSelectedOpacity),Y.isDoughnutHole(o.type)&&this.drawDoughnutHole(t)})},drawIndicator(e,t){var d;const n=this.overlayCtx,[o,s]=e,l={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},a=15,r=15,c=this.options;o>=l.x1-a&&o<=l.x2+a&&s>=l.y1-r&&s<=l.y2+r&&(n.beginPath(),n.save(),n.strokeStyle=t,n.lineWidth=1,(d=c.indicator)!=null&&d.segments&&n.setLineDash(c.indicator.segments),c.horizontal?(n.moveTo(l.x1,s+.5),n.lineTo(l.x2,s+.5)):(n.moveTo(o+.5,l.y1),n.lineTo(o+.5,l.y2)),n.stroke(),n.restore(),n.closePath())},getTimeLabel(e){var h,u;const t=this.options;if(t.syncHover===!1||!t.horizontal&&!t.axesX.every(({type:f})=>f==="time")||t.horizontal&&!t.axesY.every(({type:f})=>f==="time"))return null;const n=+((h=this.data.labels)==null?void 0:h[0]),o=+((u=this.data.labels)==null?void 0:u[this.data.labels.length-1]);if(n==null||o==null)return null;const[s,l]=e,a={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom};if(t.horizontal){const f=a.y2-a.y1,p=(l-a.y1)*(o-n)/f+n;return Math.round(p)}const r=a.x2-a.x1,d=(s-a.x1)*(o-n)/r+n;return Math.round(d)},drawSyncedIndicator({horizontal:e,label:t,mousePosition:n,dataLabel:o}){var p,m;if(!this._canDrawSyncedIndicator(e,n))return;if(o){this.drawSyncedIndicatorForTooltip({dataLabel:o,mousePosition:n});return}const s=+((p=this.data.labels)==null?void 0:p[0]),l=+((m=this.data.labels)==null?void 0:m[this.data.labels.length-1]),[a,r]=n,{top:c,bottom:d,left:h,right:u}=this.chartDOM.getBoundingClientRect();if(gt(a,h,u)&>(r,d,c))return;this.overlayClear();const g={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom};if(e){const b=(g.y2-g.y1)*(t-s)/(l-s)+g.y1;this.drawIndicator([g.x2,b],this.options.indicator.color)}else{const b=(g.x2-g.x1)*(t-s)/(l-s)+g.x1;this.drawIndicator([b,g.y2],this.options.indicator.color)}},_canDrawSyncedIndicator(e,t){return!t||!!e!=!!this.options.horizontal?!1:this._isTimeBasedSyncEnabled(e)&&this._hasValidTimeRange()},_isTimeBasedSyncEnabled(e){var n,o;return this.options.syncHover===!1||!((o=(n=this.data)==null?void 0:n.labels)!=null&&o.length)?!1:e?this.options.axesY.every(({type:s})=>s==="time"):this.options.axesX.every(({type:s})=>s==="time")},_hasValidTimeRange(){var n,o;const e=+((n=this.data.labels)==null?void 0:n[0]),t=+((o=this.data.labels)==null?void 0:o[this.data.labels.length-1]);return e!=null&&t!=null},drawSyncedIndicatorForTooltip({dataLabel:e,mousePosition:t}){var u,f,g,p,m,x,b,y,M,E,I,T,V;if(!((u=this.data)!=null&&u.labels)||!e)return;const n=this.data.labels.findIndex(C=>(C==null?void 0:C.valueOf())===(e==null?void 0:e.valueOf()));if(n===-1){this.overlayClear();return}const{horizontal:o}=this.options,s=this.chartDOM.getBoundingClientRect(),[l,a]=t;if(gt(l,s.left,s.right)&>(a,s.bottom,s.top))return;this.overlayClear();const c={x1:this.chartRect.x1+this.labelOffset.left,x2:this.chartRect.x2-this.labelOffset.right,y1:this.chartRect.y1+this.labelOffset.top,y2:this.chartRect.y2-this.labelOffset.bottom},d=this.data.labels.length;let h;if(o){const C=c.y2-c.y1,S=(f=this.options.axesY)==null?void 0:f.some(B=>B.categoryMode),k=(g=this.options.axesY)==null?void 0:g.some(B=>B.type==="time");let w;if(S)w=c.y1+C*(n+.5)/d;else if(k){const B=(m=(p=this.axesSteps)==null?void 0:p.y)==null?void 0:m[0],D=(B==null?void 0:B.graphMin)??+((x=this.data.labels)==null?void 0:x[0]),L=(B==null?void 0:B.graphMax)??+((b=this.data.labels)==null?void 0:b[this.data.labels.length-1]);w=c.y1+C*(+e-D)/(L-D)}else w=c.y1+C*n/(d-1);h=[c.x2,w]}else{const C=c.x2-c.x1,S=(y=this.options.axesX)==null?void 0:y.some(B=>B.categoryMode),k=(M=this.options.axesX)==null?void 0:M.some(B=>B.type==="time");let w;if(S)w=c.x1+C*(n+.5)/d;else if(k){const B=(I=(E=this.axesSteps)==null?void 0:E.x)==null?void 0:I[0],D=(B==null?void 0:B.graphMin)??+((T=this.data.labels)==null?void 0:T[0]),L=(B==null?void 0:B.graphMax)??+((V=this.data.labels)==null?void 0:V[this.data.labels.length-1]);w=c.x1+C*(+e-D)/(L-D)}else w=c.x1+C*n/(d-1);h=[w,c.y2]}this.drawIndicator(h,this.options.indicator.color)},tooltipClear(){this.clearRectRatio=this.pixelRatio<1?this.pixelRatio:1,this.tooltipCtx.clearRect(0,0,this.tooltipCanvas.width/this.clearRectRatio,this.tooltipCanvas.height/this.clearRectRatio),this.tooltipDOM.style.display="none"},alignSeriesList(e){const t=this.data.groups,n=this.seriesList,o=[];return t.forEach(s=>{s.slice().reverse().forEach(l=>{const a=n[l];a&&a.showLegend&&e.includes(l)&&o.push(l)})}),Object.keys(n).forEach(s=>{const l=n[s];!l.isExistGrp&&l.showLegend&&e.includes(s)&&o.push(s)}),o},tooltipDestroy(){this.tooltipDOM&&(this.tooltipDOM.remove(),this.tooltipDOM=null),this.isInitTooltip=!1}},UC={pieDataSet:[],drawPie(e){var E;const t=this.bufferCtx,n=this.chartRect,o=this.pieDataSet,s=this.options,l=this.options.padding,a=!!s.doughnutHoleSize;let r,c,d,h=1.5*Math.PI,u,f,g;const p=n.width/2,m=n.height/2,x=p-(l.left+l.right),b=m-(l.bottom+l.top);if(typeof x=="number"&&x<0||typeof b=="number"&&b<0)return;const y=Math.min(x,b)*s.doughnutHoleSize,M=Math.min(x,b);for(let I=0;I<o.length;I++){const T=o[I];if(!T)return;let V=M-(M-y)/o.length*I;if((E=s==null?void 0:s.pieStroke)!=null&&E.use&&(V-=s.pieStroke.lineWidth),V<0)return;if(T.or=V,I<o.length-1?T.ir=M-(M-y)/o.length*(I+1):T.ir=1,T.total){for(let C=0;C<T.data.length;C++)if(r=T.data[C],c=r.value,g=c/T.total*100,d=2*Math.PI*(c/T.total),u=h+d,r.sa=h,r.ea=u,f=this.seriesList[r.id],c){const S={...s.pieStroke};T.data.length===1&&s.pieStroke.use&&(S.use=!1,t.lineWidth=s.pieStroke.lineWidth,t.strokeStyle=s.pieStroke.color,t.arc(p,m,V,0,2*Math.PI),t.stroke());const{selectInfo:k,legendHitInfo:w,unSelectedOpacity:B}=e;f.isSelect=(k==null?void 0:k.sId)===r.id,f.isDownplay=w&&w.sId!==r.id,f.type=a?"doughnut":"pie",f.centerX=p,f.centerY=m,f.radius=V,f.doughnutHoleSize=V*(s.doughnutHoleSize??0),f.startAngle=h,f.endAngle=u,f.data={o:c,percentage:g},f.draw(t,S,B),h+=d}}}},drawSunburst(e){var m;const t=this.bufferCtx,{width:n,height:o}=this.chartRect,s=this.pieDataSet,l=this.options,a=this.options.padding;this.calculateAngle();let r,c;const d=n/2,h=o/2,u=d-(a.left+a.right),f=h-(a.bottom+a.top);if(typeof u=="number"&&u<0||typeof f=="number"&&f<0)return;const g=Math.min(u,f)*l.doughnutHoleSize,p=Math.min(u,f);for(let x=0;x<s.length;x++){const b=s[x];if(!b)return;let y=p-(p-g)/s.length*x;if((m=l==null?void 0:l.pieStroke)!=null&&m.use&&(y-=l.pieStroke.lineWidth),y<0)return;b.or=y,x<s.length-1?b.ir=p-(p-g)/s.length*(x+1):b.ir=1;for(let M=0;M<b.data.length;M++)if(r=b.data[M],r.id==="dummy")t.save(),t.globalCompositeOperation="destination-out",t.beginPath(),t.fillStyle="#fff",t.lineWidth=2,t.strokeStyle="#fff",t.moveTo(d,h),t.arc(d,h,y,r.sa,r.ea),t.stroke(),t.fill(),t.closePath(),t.restore();else if(c=this.seriesList[r.id],r.value){const E={...l.pieStroke};b.data.length===1&&l.pieStroke.use&&(E.use=!1,t.lineWidth=l.pieStroke.lineWidth,t.strokeStyle=l.pieStroke.color,t.arc(d,h,y,0,2*Math.PI),t.stroke());const{selectInfo:I,legendHitInfo:T,unSelectedOpacity:V}=e;c.isSelect=(I==null?void 0:I.sId)===r.id,c.isDownplay=T&&T.sId!==r.id,c.type="sunburst",c.centerX=d,c.centerY=h,c.radius=y,c.doughnutHoleSize=y*(l.doughnutHoleSize??0),c.startAngle=r.sa,c.endAngle=r.ea,c.data={o:r.value},c.draw(t,E,V)}}},drawDoughnutHole(e=this.bufferCtx){var h;const t=this.options,{width:n,height:o}=this.chartRect,s=this.options.padding,l=n/2,a=o/2,r=l-(s.left+s.right),c=a-(s.bottom+s.top);if(typeof r=="number"&&r<0||typeof c=="number"&&c<0)return;const d=Math.min(r,c)*t.doughnutHoleSize;e.save(),e.globalCompositeOperation="destination-out",e.beginPath(),e.fillStyle="#fff",e.fillOpacity=0,e.arc(l,a,d,0,2*Math.PI),e.fill(),e.strokeStyle="#fff",e.stroke(),e.closePath(),e.restore(),(h=t==null?void 0:t.pieStroke)!=null&&h.use&&(e.beginPath(),e.strokeStyle=t.pieStroke.color,e.lineWidth=t.pieStroke.lineWidth,e.arc(l,a,d,0,Math.PI*2),e.stroke(),e.closePath()),this.pieDataSet[this.pieDataSet.length-1].ir=d}},YC={drawTips(e){var h,u,f,g,p,m;const t=this.options;let n=null;const o=!!t.horizontal,s=t.maxTip,l=t.selectItem,a=t.selectLabel;let r,c;typeof((h=t.tooltip)==null?void 0:h.formatter)=="function"?n=(u=t.tooltip)==null?void 0:u.formatter:typeof((g=(f=t.tooltip)==null?void 0:f.formatter)==null?void 0:g.value)=="function"&&(n=(m=(p=t.tooltip)==null?void 0:p.formatter)==null?void 0:m.value),a.use&&a.showTip&&(c=t.type==="heatMap"?this.drawLabelTipForHeatMap():this.drawTipForSelectedLabel());const d=x=>{e.forEach(b=>{if(b){const y=this.seriesList[b==null?void 0:b.sId];if(!(y!=null&&y.show))return;const M=this.calculateTipInfo(y,"sel",b);if(M){let E=!1;if(s.use&&(r==null?void 0:r.dp)===M.dp&&(E=!0),x.showTextTip||x.showTip){if(x.tipText==="label"){const I=o?t.axesY[0]:t.axesX[0],T=M.label;M.text=I.type==="time"?Je(T).format(I.timeFormat):T}else M.text=$t(M.value);this.drawTextTip({opt:x,tipType:"sel",seriesOpt:y,isSamePos:E,...M})}x.showIndicator&&this.drawFixedIndicator({opt:x,seriesOpt:y,...M})}b&&(b!=null&&b.label)&&(b==null?void 0:b.label)===0&&(this.lastHitInfo=b)}})};if(e&&!c&&(l.use?d(l):a.use&&t.type==="line"&&d(a)),s.use&&!c){const x=this.minMax[o?"x":"y"][0].maxSID,b=this.seriesList[x];r=this.calculateTipInfo(b,"max",null),s.use&&r&&(n?r.text=n({seriesId:b.sId,x:o?r.value:void 0,y:o?void 0:r.value}):r.text=$t(r.value),this.drawTextTip({opt:s,tipType:"max",seriesOpt:b,...r}),s.showIndicator&&this.drawFixedIndicator({opt:s,seriesOpt:b,...r}))}},calculateTipInfo(e,t,n){if(!e)return!1;const o=!!this.options.horizontal,s=this.lastTip,l=this.chartRect,a=this.labelOffset,r={x1:l.x1+a.left,x2:l.x2-a.right,y1:l.y1+a.top,y2:l.y2-a.bottom},c=l.chartHeight-(a.top+a.bottom),d=l.chartWidth-(a.left+a.right),h=this.axesSteps.x[e.xAxisIndex],u=this.axesSteps.y[e.yAxisIndex],f=r.x1,g=r.x2,p=r.y2,{type:m,size:x}=e,{maxDomain:b,maxDomainIndex:y}=e.minMax;if(b===null||y<0)return!1;let M=m==="bar"?y:b;t==="sel"&&(n&&n.label!==null?(s.pos=m==="bar"?n.dataIndex:n.label,M=s.pos):s.pos!==null&&(M=s.pos));let E=o?e.minMax.maxX:e.minMax.maxY,I;if(t==="sel"){if(n&&n.value!==null)E=n.useStack?n.acc:n.value,I=n.label,s.value=E,s.label=I;else if(s.value!==null)E=s.value,I=s.label;else if(s.pos!==null){const w=m==="bar"?this.getItemByLabelIndex(s.pos):this.getItemByLabel(s.pos);E=w.useStack?w.acc:w.value,I=w.label,s.value=E,s.label=I}}let T,V,C;if(m==="bar"){const w=o?this.scrollbar.y:this.scrollbar.x;if(w!=null&&w.use){const[B,D]=(w==null?void 0:w.range)??[];if(M>=B&&M<=D)M-=B??0;else return!1}o?(V=Math.round(x.h/2),T=p-x.cat*M-x.cPad,C=T-(x.bar*x.ix-(x.h+x.bPad))-V):(V=Math.round(x.w/2),T=f+x.cat*M+x.cPad,C=T+(x.bar*x.ix-(x.w+x.bPad))+V)}else m==="line"?C=ie.calculateX(M,h.graphMin,h.graphMax,d-x.comboOffset,f+x.comboOffset/2):m==="scatter"&&(C=ie.calculateX(M,h.graphMin,h.graphMax,d,f));return{...{xArea:d,yArea:c,graphX:h,graphY:u,xsp:f,xep:g,ysp:p},...{dp:C,value:E,label:I,type:m}}},drawFixedIndicator(e){const t=!!this.options.horizontal,n=this.bufferCtx,{graphX:o,graphY:s,xArea:l,yArea:a,xsp:r,ysp:c,dp:d,type:h,value:u,opt:f,seriesOpt:g}=e;let p=0;h==="line"?p+=3:h==="scatter"&&(p+=(g==null?void 0:g.pointSize)??0);let m;if(f.fixedPosTop)t?m=ie.calculateX(o.graphMax,o.graphMin,o.graphMax,l,r):(m=ie.calculateY(s.graphMax,s.graphMin,s.graphMax,a,c),m-=p);else if(t){const x=Math.min(Math.max(u,o.graphMin),o.graphMax);m=ie.calculateX(x,o.graphMin,o.graphMax,l,r)}else{const x=Math.min(Math.max(u,s.graphMin),s.graphMax);m=ie.calculateY(x,s.graphMin,s.graphMax,a,c),m-=p}d!==null&&(n.beginPath(),n.save(),n.strokeStyle=f.indicatorColor,n.lineWidth=2,t?(n.moveTo(r,d),n.lineTo(m,d)):(n.moveTo(d,c),n.lineTo(d,m)),n.stroke(),n.restore(),n.closePath())},drawTipForSelectedLabel(){var r,c;const e=this.options,t=!!e.horizontal,n=e.selectLabel,{dataIndex:o,data:s,label:l}=this.defaultSelectInfo;let a=!1;if(o.length){a=!0;const d=this.chartRect,h=this.labelOffset,u={x1:d.x1+h.left,x2:d.x2-h.right,y1:d.y1+h.top,y2:d.y2-h.bottom},f=t?this.axesY[0]:this.axesX[0],g=t?this.axesX[0]:this.axesY[0],p=t?this.axesSteps.x[0]:this.axesSteps.y[0],m=t?ie.calculateX:ie.calculateY,x=t?ie.calculateY:ie.calculateX,b=t?this.scrollbar.y:this.scrollbar.x,y=d.chartWidth-(h.left+h.right),M=d.chartHeight-(h.top+h.bottom),E=t?y:M,I=u[g.units.rectStart];let T=this.options.type==="bar"?4:6;T*=t?1:-1;const V=Object.keys(this.seriesList??{}),C=V.filter(z=>this.seriesList[z].show),S=V.some(z=>this.seriesList[z].isExistGrp&&!this.seriesList[z].isOverlapping),k=((r=this.data.groups)==null?void 0:r[0])??[];let w,B,D,L,R,v,N,O,P,_=0,A=(c=f.labels)==null?void 0:c.length;if(f.labels){let z=f.labels.length;if(b!=null&&b.use){const{range:$,interval:W,type:F}=b,[U,j]=$??[];ve(U)&&ve(j)&&(z=Math.floor((+j-+U)/W)+1,_=F==="step"?U:f.labels.findIndex(K=>K===+U),A=F==="step"?j:f.labels.findIndex(K=>K===+j))}L=u[f.units.rectStart],R=u[f.units.rectEnd],v=(R-L)/z}else N=this.axesSteps.x[0],O=V.find(z=>{var $;return(($=this.seriesList[z])==null?void 0:$.type)==="line"}),P=this.seriesList[O].size;s.forEach((z,$)=>{var W;if(D=p.graphMax,!n.fixedPosTop){if(S){const F=C==null?void 0:C.reduce((K,q)=>{var ee,J;return k.includes(q)&&(((ee=z[q])==null?void 0:ee.value)??z[q])>0?K+(((J=z[q])==null?void 0:J.value)??z[q]):K},0),U=((W=C==null?void 0:C.filter(K=>!k.includes(K)))==null?void 0:W.map(K=>{var q;return((q=z[K])==null?void 0:q.value)??z[K]}))??[],j=(U==null?void 0:U.length)>0?U.reduce((K,q)=>Math.max(K,q??-1/0),-1/0):-1/0;D=F>0?Math.max(j,F):Math.max(j,0)}else if(C.length){const F=C.map(j=>{var K;return((K=z[j])==null?void 0:K.value)??z[j]}),U=F.length>0?F.reduce((j,K)=>Math.max(j,K??-1/0),-1/0):-1/0;D=U>0||this.options.type!=="bar"?U:0}}if(f.labels){if(o[$]<_||o[$]>A)return;const F=o[$]-_;w=Math.round(L+v*F)+v/2}else w=x(l[$],N.graphMin,N.graphMax,y-P.comboOffset,u.x1+P.comboOffset/2);B=m(D,p.graphMin,p.graphMax,E,I)+T,this.showTip({context:this.bufferCtx,x:t?B:w,y:t?w:B,opt:n,isSamePos:!1})})}return a},drawLabelTipForHeatMap(){const e=this.options,t=!!e.horizontal,n=e.selectLabel,{dataIndex:o}=this.defaultSelectInfo;let s=!1;if(o){s=!0;const l=this.chartRect,a=this.labelOffset,r={x1:l.x1+a.left,x2:l.x2-a.right,y1:l.y1+a.top,y2:l.y2-a.bottom},c=t?this.axesY[0]:this.axesX[0],d=r[c.units.rectStart],u=(r[c.units.rectEnd]-d)/c.labels.length,f=t?this.axesX[0]:this.axesY[0],g=6*(t?1:-1),p=r[f.units.rectEnd]+g;o==null||o.forEach(m=>{const b=Math.round(d+u*m)+u/2;this.showTip({context:this.bufferCtx,x:t?p:b,y:t?b:p,opt:n,isSamePos:!1})})}return s},drawTextTip(e){const t=!!this.options.horizontal,n=this.bufferCtx,{graphX:o,graphY:s,xArea:l,yArea:a,xsp:r,xep:c,ysp:d}=e,{dp:h,value:u,text:f,opt:g,type:p,tipType:m,isSamePos:x,seriesOpt:b}=e,y=4,M=4,{fontSize:E,fontFamily:I,fontWeight:T,height:V}=g.tipStyle,C=`normal normal ${T} ${E}px ${I}`;let S=1;p==="line"?S+=6:p==="scatter"?S+=b==null?void 0:b.pointSize:p==="bar"&&(S+=4);let k,w=h;if(g.fixedPosTop)t?(k=ie.calculateX(o.graphMax,o.graphMin,o.graphMax,l,r),k+=S):(k=ie.calculateY(s.graphMax,s.graphMin,s.graphMax,a,d),k-=S);else if(t){const L=Math.min(Math.max(u,o.graphMin),o.graphMax);k=ie.calculateX(L,o.graphMin,o.graphMax,l,r),k=u<0?k-S:k+S}else{const L=p==="bar"&&u<0?0:u,R=Math.min(Math.max(L,s.graphMin),s.graphMax);k=ie.calculateY(R,s.graphMin,s.graphMax,a,d),k=L<0?k+S:k-S}let B="center";n.save(),n.font=C;const D=Math.round(Math.max(n.measureText(f).width+12,40));t||(h+D/2>c-10?(B="right",w-=D/2-y*2):h-D/2<r+10&&(B="left",w+=D/2-y*2)),n.restore(),(g.showTextTip||m==="max")&&this.showTextTip({context:n,type:B,width:D,height:V,x:t?k+D/2:w,y:t?w+V/2:k,opt:g,arrowSize:y,borderRadius:M,text:f,textStyle:C,isNegative:u<0}),g.showTip&&m==="sel"&&this.showTip({context:n,x:t?k:h,y:t?h:k,opt:g,isSamePos:x})},showTextTip(e){const t=!!this.options.horizontal,{type:n,width:o,height:s,x:l,y:a,arrowSize:r,borderRadius:c,text:d,opt:h,textStyle:u,isNegative:f}=e,g=e.context;let p=l-o/2,m=l+o/2;const x=a-s,b=a;f&&t&&(p=l-o/2-o,m=l-o/2),g.save(),g.font=u,g.fillStyle=h.tipBackground??h.tipStyle.background,g.shadowBlur=0,g.beginPath(),g.moveTo(p+c,x),g.quadraticCurveTo(p,x,p,x+c),g.lineTo(p,b-c),g.quadraticCurveTo(p,b,p+c,b),g.lineTo(m-c,b),g.quadraticCurveTo(m,b,m,b-c),g.lineTo(m,x+c),g.quadraticCurveTo(m,x,m-c,x),g.lineTo(p+c,x),g.closePath(),g.fill(),g.beginPath(),t?(f?(g.moveTo(m,b),g.lineTo(m,x+c+r/2),g.lineTo(m+r,b-s/2),g.lineTo(m,b-c-r/2)):(g.moveTo(p,x),g.lineTo(p,x+c+r/2),g.lineTo(p-r,b-s/2),g.lineTo(p,b-c-r/2)),g.closePath(),g.fill()):(f?n==="left"?(g.lineTo(p+c+r,b+r),g.lineTo(p+c+r*2,b)):n==="right"?(g.lineTo(m-r*2-c,b),g.lineTo(m-r-c,b+r)):(g.lineTo(l-r,b),g.lineTo(l,b+r),g.lineTo(l+r,b)):f||(n==="left"?(g.moveTo(p,x),g.lineTo(p+c+r,b+r),g.lineTo(p+c+r*2,b)):n==="right"?(g.moveTo(m,x),g.lineTo(m-r*2-c,b),g.lineTo(m-r-c,b+r)):(g.lineTo(l-r,b),g.lineTo(l,b+r),g.lineTo(l+r,b))),g.closePath(),g.fill()),g.restore(),g.save(),g.font=u,g.fillStyle=h.tipTextColor??h.tipStyle.textColor,g.textBaseline="middle",g.textAlign="center",g.fillText(`${d}`,p+o/2,x+s/2),g.restore()},showTip(e){const t=!!this.options.horizontal,{x:n,y:o,opt:s,isSamePos:l}=e,a=e.context,c=o-(l?24:0);a.save(),a.fillStyle=s.tipBackground??s.tipStyle.background,a.beginPath(),a.moveTo(n,c),t?(a.lineTo(n+6,c-6),a.lineTo(n+6,c+6)):(a.lineTo(n+6,c-6),a.lineTo(n-6,c-6)),a.lineTo(n,c),a.closePath(),a.fill(),a.restore()}};let Or=class{constructor(t,n,o,s,l,a,r){Object.keys(Dr).forEach(c=>Object.assign(this,Dr[c])),o.brush||(Object.assign(this,XC),Object.assign(this,WC),Object.assign(this,YC),Object.assign(this,VC),Object.assign(this,UC),Object.assign(this,NC),Object.assign(this,AC)),o.type==="heatMap"&&o.legend.type==="gradient"&&Object.assign(this,_C),this.isMobile=ph(),this.brushSeries=r,this.target=t,this.data=n,this.options=o,this.listeners=s,this.wrapperDOM=document.createElement("div"),this.wrapperDOM.className=o.brush?"ev-chart-brush-wrapper":"ev-chart-wrapper",this.chartDOM=document.createElement("div"),this.chartDOM.className=o.brush?"ev-chart-brush-container":"ev-chart-container",this.wrapperDOM.appendChild(this.chartDOM),this.target.appendChild(this.wrapperDOM),this.displayCanvas=document.createElement("canvas"),this.displayCanvas.setAttribute("style","display: block;"),this.displayCtx=this.displayCanvas.getContext("2d"),this.bufferCanvas=document.createElement("canvas"),this.bufferCanvas.setAttribute("style","display: block;"),this.bufferCtx=this.bufferCanvas.getContext("2d"),this.pixelRatio=window.devicePixelRatio||1,this.oldPixelRatio=this.pixelRatio,this.chartDOM.appendChild(this.displayCanvas),o.brush||(this.overlayCanvas=document.createElement("canvas"),this.overlayCanvas.setAttribute("style","display: block; z-index: 2;"),this.overlayCanvas.setAttribute("class","overlay-canvas"),this.overlayCtx=this.overlayCanvas.getContext("2d"),this.chartDOM.appendChild(this.overlayCanvas),this.overlayCanvas.style.position="absolute",this.overlayCanvas.style.top="0px",this.overlayCanvas.style.left="0px"),this.isInitLegend=!1,this.isInitTitle=!1,this.isInit=!1,this.scrollbar={x:{isInit:!1},y:{isInit:!1}},this.seriesList={},this.lastTip={pos:null,value:null},this.seriesInfo={charts:{pie:[],bar:[],line:[],scatter:[],heatMap:[]},count:0},this.defaultSelectItemInfo=l,this.defaultSelectInfo=a,this.legendHover=null}init(){var u,f,g,p,m;const{series:t,data:n,labels:o,groups:s}=this.data,{type:l,axesX:a,axesY:r,tooltip:c,horizontal:d,realTimeScatter:h}=this.options;this.createSeriesSet(t,l,d,s),s.length&&this.addGroupInfo(s),h!=null&&h.use?(this.dataSet={},this.createRealTimeScatterDataSet(n)):this.createDataSet(n,o),this.minMax=this.getStoreMinMax(),this.initRect(),this.axesX=this.createAxes("x",a),this.axesY=this.createAxes("y",r),((f=(u=a==null?void 0:a[0])==null?void 0:u.scrollbar)!=null&&f.use||(p=(g=r==null?void 0:r[0])==null?void 0:g.scrollbar)!=null&&p.use)&&this.initScrollbar(),this.initDefaultSelectInfo(),this.drawChart(),c.use&&!this.isInitTooltip&&this.createTooltipDOM(),(m=this.createEventFunctions)==null||m.call(this),this.isInit=!0}_updateSeriesCount(){this.seriesInfo.count=Object.values(this.seriesList).filter(t=>t.show).length}initRect(){const t=this.options;t.title.show&&(this.isInitTitle||this.initTitle(),this.showTitle()),t.legend.show&&!t.legend.external?(this.isInitLegend||this.initLegend(),this.setLegendPosition()):t.legend.show&&t.legend.external&&this._updateSeriesCount(),this.chartRect=this.getChartRect()}drawSyncedIndicator({horizontal:t,label:n,mousePosition:o}){this.drawSyncedIndicator({horizontal:t,label:n,mousePosition:o})}adjustXAndYAxisWidth(){var o,s,l,a;const t=(r,c,d)=>{const{interval:h,graphMin:u,graphMax:f,steps:g=0,minIndex:p,maxIndex:m,indexInterval:x}=r??{};let b=[];if((d==null?void 0:d.type)==="step"&&p!==void 0&&m!==void 0&&x!==void 0){const{labels:y}=this.data,M=c==="x"?(y==null?void 0:y.x)??y??[]:(y==null?void 0:y.y)??y??[];b=[];for(let E=p;E<=m;E+=x)M[E]!==void 0&&b.push(M[E])}else if(h)b=Array.from({length:g},(y,M)=>u+M*h),b.push(f);else{const{labels:y}=this.data;b=c==="x"?(y==null?void 0:y.x)??y??[]:(y==null?void 0:y.y)??y??[]}return b},n={x:(s=(o=this.axesRange)==null?void 0:o.x)==null?void 0:s.map((r,c)=>{var x,b,y,M;const d=this.axesX[c],h=(x=this.axesSteps)==null?void 0:x.x[c],u=t(h,"x",d),f=ve((b=d==null?void 0:d.labelStyle)==null?void 0:b.fixWidth)?d.labelStyle.fixWidth:0;let g=[];const p=(y=this.axesSteps)==null?void 0:y.x[c];if((d==null?void 0:d.type)!=="step"&&p!=null){const{graphMin:E,graphMax:I}=p;if(typeof E=="number"&&typeof I=="number"){const T=Math.abs(E)>=Math.abs(I)?E:I;g=[mC(T)]}}const m=((M=d==null?void 0:d.getLabelWidthHasMaxLength)==null?void 0:M.call(d,u,this.chartRect,g))??0;return{...r,size:{width:f||Math.max(m,r.size.width),height:r.size.height}}}),y:(a=(l=this.axesRange)==null?void 0:l.y)==null?void 0:a.map((r,c)=>{var p,m,x;const d=this.axesY[c],h=(p=this.axesSteps)==null?void 0:p.y[c],u=t(h,"y",d),f=ve((m=d==null?void 0:d.labelStyle)==null?void 0:m.fixWidth)?d.labelStyle.fixWidth:0,g=((x=d==null?void 0:d.getLabelWidthHasMaxLength)==null?void 0:x.call(d,u,this.chartRect))??0;return{...r,size:{width:f||Math.max(g,r.size.width),height:r.size.height}}})};this.axesRange=n,this.labelOffset=this.getLabelOffset(n),this.labelRange=this.getAxesLabelRange(),this.axesSteps=this.calculateSteps()}emitAxesScaleChange(){var c;if(typeof((c=this.listeners)==null?void 0:c["axes-scale-change"])!="function")return;const t=this._lastEmittedAxesRange,n=this.labelRange,o=(d,h)=>(d==null?void 0:d.min)===(h==null?void 0:h.min)&&(d==null?void 0:d.max)===(h==null?void 0:h.max),s=({min:d,max:h})=>({minSteps:d,maxSteps:h}),l=n.x.every((d,h)=>{var f;return!!!((f=this.options.axesX[h])!=null&&f.scaleChange)||!!t&&o(d,t.x[h])}),a=n.y.every((d,h)=>{var f;return!!!((f=this.options.axesY[h])!=null&&f.scaleChange)||!!t&&o(d,t.y[h])});if(l&&a)return;this._lastEmittedAxesRange=n;const r={x:n.x.map(s),y:n.y.map(s)};this.listeners["axes-scale-change"](r)}drawChart(t){var n,o,s,l,a,r;this.initScale(),this.axesRange=this.getAxesRange(),this.labelOffset=this.getLabelOffset(),this.labelRange=this.getAxesLabelRange(),((o=(n=this.scrollbar)==null?void 0:n.x)!=null&&o.use||(l=(s=this.scrollbar)==null?void 0:s.y)!=null&&l.use)&&this.updateScrollbarPosition(),this.axesSteps=this.calculateSteps(),this.adjustXAndYAxisWidth(),this.emitAxesScaleChange(),this.drawAxis(t),this.drawSeries(t),this.drawTip(),this.bufferCanvas&&((a=this.bufferCanvas)==null?void 0:a.width)>1&&((r=this.bufferCanvas)==null?void 0:r.height)>1&&this.displayCtx.drawImage(this.bufferCanvas,0,0)}collectDuplicatePoints(t,n){var s,l,a;const o=!!this.options.seriesReverse;for(let r=o?n.length-1:0;o?r>=0:r<n.length;o?r--:r++){const c=this.seriesList[n[r]];if(!!(c!=null&&c.show))if((s=this.options.realTimeScatter)!=null&&s.use){const h=(l=c.data[c.sId])==null?void 0:l.dataGroup;for(let u=0;u<h.length;u++){const f=((a=h[u])==null?void 0:a.data)||[];for(let g=0;g<f.length;g++){const p=f[g];t.set(`${p.x}${p.y}`,c.sId)}}}else{const h=this.data.data[n[r]]??[];for(let u=0;u<h.length;u++){const f=h[u];t.set(`${f.x}${f.y}`,c.sId)}}}}drawSeries(t){var p;const{maxTip:n,selectLabel:o,selectItem:s,selectSeries:l,brush:a,displayOverflow:r,unSelectedOpacity:c}=this.options,d={ctx:this.bufferCtx,chartRect:this.chartRect,labelOffset:this.labelOffset,axesSteps:this.axesSteps,maxTipOpt:{background:n.background,color:n.color},selectLabel:{option:o,selected:this.defaultSelectInfo},selectSeries:{option:l,selected:this.defaultSelectInfo},selectItem:{option:s,selected:this.defaultSelectItemInfo},overlayCtx:this.overlayCtx,isBrush:!!a,displayOverflow:r,unSelectedOpacity:c,isHorizontal:this.options.horizontal};let h=0,u=0;this.seriesInfo.charts.bar.forEach(m=>{this.seriesList[m].show&&u++});const f=new Map,g=Object.keys(this.seriesInfo.charts);for(let m=0;m<g.length;m++){const x=g[m],b=this.seriesInfo.charts[x];x==="scatter"&&this.options.coordinateDedupe&&this.collectDuplicatePoints(f,b);for(let y=0;y<b.length;y++){let M=this.seriesList[b[y]];switch(x){case"line":{const E=t==null?void 0:t.legend;M.draw({legendHitInfo:E,...d});break}case"heatMap":{const E=t==null?void 0:t.legend;M.draw({legendHitInfo:E,...d});break}case"bar":{const E=t==null?void 0:t.legend,{thickness:I,cPadRatio:T,borderRadius:V}=this.options;M.draw({thickness:I,cPadRatio:T,borderRadius:V,showSeriesCount:u,showIndex:h,legendHitInfo:E,...d}),M.show&&h++;break}case"pie":{const E=this.lastHitInfo??{sId:(p=this.defaultSelectItemInfo)==null?void 0:p.seriesID},I=t==null?void 0:t.legend;this.options.sunburst?this.drawSunburst({selectInfo:E,legendHitInfo:I,unSelectedOpacity:d.unSelectedOpacity}):this.drawPie({selectInfo:E,legendHitInfo:I,unSelectedOpacity:d.unSelectedOpacity}),this.options.doughnutHoleSize>0&&this.drawDoughnutHole();break}case"scatter":{const E=t==null?void 0:t.legend;let I;if(s.use&&s.useSeriesOpacity){const T=this.lastHitInfo,V=this.defaultSelectItemInfo;T!=null&&T.dataIndex||(T==null?void 0:T.dataIndex)===0?I={seriesID:T.sId,dataIndex:T.dataIndex}:V!=null&&V.dataIndex||(V==null?void 0:V.dataIndex)===0?I={...V}:I=null}this.options.seriesReverse&&(M=this.seriesList[b.at(-1-y)]),M.draw({legendHitInfo:E,selectInfo:I,duple:f,coordinateDedupe:this.options.coordinateDedupe,...d});break}}}}}drawTip(){var n;let t;this.lastHitInfo?t=this.lastHitInfo:this.defaultSelectItemInfo?t=this.getItem(this.defaultSelectItemInfo,!1):this.defaultSelectInfo&&this.options.selectLabel.use?t=this.getItem(this.defaultSelectInfo,!1):t=null,(n=this.drawTips)==null||n.call(this,t)}createAxes(t,n=[]){const o=this.bufferCtx,l=this.options.type==="heatMap"?this.data.labels[t]:this.data.labels,a=this.options;return n.map(r=>{switch(r.type){case"linear":return new DC(t,r,o,a);case"time":return r.categoryMode?new OC(t,r,o,l,a):new BC(t,r,o,a);case"log":return new LC(t,r,o);case"step":return new RC(t,r,o,l,a);default:return!1}})}getAxesRange(){const t=this.axesX.map((o,s)=>o.calculateScaleRange(this.minMax.x[s],this.scrollbar.x,this.chartRect)),n=this.axesY.map((o,s)=>o.calculateScaleRange(this.minMax.y[s],this.scrollbar.y,this.chartRect));return{x:t,y:n}}drawAxis(t){this.axesX.forEach((n,o)=>{n.draw(this.chartRect,this.labelOffset,this.axesSteps.x[o],t,this.defaultSelectInfo,this.data.labels)}),this.axesY.forEach((n,o)=>{n.draw(this.chartRect,this.labelOffset,this.axesSteps.y[o],t,this.defaultSelectInfo)})}calculateSteps(){const t=this.axesX.map((o,s)=>{const l={minValue:this.axesRange.x[s].min,maxValue:this.axesRange.x[s].max,minIndex:this.axesRange.x[s].minIndex,maxIndex:this.axesRange.x[s].maxIndex,minSteps:this.labelRange.x[s].min,maxSteps:this.labelRange.x[s].max};return o.calculateSteps(l)}),n=this.axesY.map((o,s)=>{const l={minValue:this.axesRange.y[s].min,maxValue:this.axesRange.y[s].max,minIndex:this.axesRange.y[s].minIndex,maxIndex:this.axesRange.y[s].maxIndex,minSteps:this.labelRange.y[s].min,maxSteps:this.labelRange.y[s].max};return o.calculateSteps(l)});return{x:t,y:n}}getAxesLabelRange(){const t=this.axesX.map((o,s)=>{const l=this.axesRange.x[s].size;return o.calculateLabelRange("x",this.chartRect,this.labelOffset,l.width)}),n=this.axesY.map((o,s)=>{const l=this.axesRange.y[s].size;return o.calculateLabelRange("y",this.chartRect,this.labelOffset,l.height)});return{x:t,y:n}}initScale(){const t=window.devicePixelRatio||1,n=this.displayCtx.webkitBackingStorePixelRatio||this.displayCtx.mozBackingStorePixelRatio||this.displayCtx.msBackingStorePixelRatio||this.displayCtx.oBackingStorePixelRatio||this.displayCtx.backingStorePixelRatio||1;this.pixelRatio=t/n,this.oldPixelRatio!==this.pixelRatio&&(this.oldPixelRatio=this.pixelRatio),this.bufferCtx.scale(this.pixelRatio,this.pixelRatio),this.overlayCtx&&this.overlayCtx.scale(this.pixelRatio,this.pixelRatio)}getChartDOMRect(){var s;const t=(s=this.chartDOM)==null?void 0:s.getBoundingClientRect(),n=(t==null?void 0:t.width)||10,o=(t==null?void 0:t.height)||10;return this.setWidth(n),this.setHeight(o),{width:n,height:o}}getChartRect(){var I,T,V,C;const{width:t,height:n}=this.getChartDOMRect(),o=this.options.padding,s=(T=(I=this.options.axesX)==null?void 0:I[0])==null?void 0:T.title,l=(C=(V=this.options.axesY)==null?void 0:V[0])==null?void 0:C.title,a=10;let r=0;s!=null&&s.use&&(s!=null&&s.text)&&(r=(isNaN(s==null?void 0:s.fontSize)?12:s==null?void 0:s.fontSize)+a);let c=0;l!=null&&l.use&&(l!=null&&l.text)&&(c=(isNaN(l==null?void 0:l.fontSize)?12:l==null?void 0:l.fontSize)+a);const d=this.scrollbar.x,h=this.scrollbar.y;let u=0;d!=null&&d.use&&(u=d==null?void 0:d.height);let f=0;h!=null&&h.use&&(f=h==null?void 0:h.width);const g=o.left+o.right+f,p=o.top+o.bottom+r+c+u,m=t>g?t-g:t,x=n>p?n-p:n,b=o.left,y=Math.max(t-o.right-f,b+2),M=o.top+c,E=Math.max(n-o.bottom-r-u,M+2);return{x1:b,x2:y,y1:M,y2:E,chartWidth:m,chartHeight:x,width:t,height:n}}setWidth(t){this.displayCanvas&&(this.displayCanvas.width=t*this.pixelRatio,this.displayCanvas.style.width=`${t}px`,this.bufferCanvas.width=t*this.pixelRatio,this.bufferCanvas.style.width=`${t}px`,this.overlayCanvas&&(this.overlayCanvas.width=t*this.pixelRatio,this.overlayCanvas.style.width=`${t}px`))}setHeight(t){this.displayCanvas&&(this.displayCanvas.height=t*this.pixelRatio,this.displayCanvas.style.height=`${t}px`,this.bufferCanvas.height=t*this.pixelRatio,this.bufferCanvas.style.height=`${t}px`,this.overlayCanvas&&(this.overlayCanvas.height=t*this.pixelRatio,this.overlayCanvas.style.height=`${t}px`))}getLabelOffset(t=null){const n=this.axesX,o=this.axesY,s=t??this.axesRange,l={top:2,left:2,right:2,bottom:2},a={width:14,height:4};let r=0,c=0;return n.forEach((d,h)=>{var u;(u=d.labelStyle)!=null&&u.show&&(r=s.x[h].size.width+a.width,c=s.x[h].size.height+a.height,d.position==="bottom"?c>l.bottom&&(l.bottom=c):d.position==="top"&&c>l.top&&(l.top=c),l.left=r/2>l.left?r/2:l.left,l.right=r/2>l.right?r/2:l.right)}),o.forEach((d,h)=>{var u;(u=d.labelStyle)!=null&&u.show&&(r=s.y[h].size.width+a.width,d.position==="left"?r>l.left&&(l.left=r):d.position==="right"&&r>l.right&&(l.right=r),l.top=c/2>l.top?c/2:l.top,l.bottom=c/2>l.bottom?c/2:l.bottom)}),l}updateScrollbar(t,n){var c,d,h,u,f,g,p,m,x,b;const o=n||t,s=((h=(d=(c=this.options.axesX)==null?void 0:c[0])==null?void 0:d.scrollbar)==null?void 0:h.use)??!1,l=((g=(f=(u=this.options.axesY)==null?void 0:u[0])==null?void 0:f.scrollbar)==null?void 0:g.use)??!1,a=((m=(p=this.scrollbar)==null?void 0:p.x)==null?void 0:m.use)??!1,r=((b=(x=this.scrollbar)==null?void 0:x.y)==null?void 0:b.use)??!1;(s!==a||s||o&&s)&&this.updateScrollbarInfo("x",t),(l!==r||l||o&&l)&&this.updateScrollbarInfo("y",t)}update(t){var x,b,y,M,E,I;const n=this.options,o=this.data.data,s=this.data.labels,l=this.data.groups,a=this.data.series,{updateSeries:r,updateSelTip:c,updateLegend:d,updateData:h,updateTooltip:u,lightUpdate:f,updateByScrollbar:g}=t;if(!this.isInit)return;if(this.updateScrollbar(h,g),this.resetProps(),this.updateSeries=r,r&&(this.seriesInfo=null,this.seriesList=null,this.lastTip=null,this.seriesInfo={charts:{pie:[],bar:[],line:[],scatter:[],heatMap:[]},count:0},this.seriesList={},this.lastTip={pos:null,value:null},this.createSeriesSet(a,n.type,n.horizontal,l),this.legendDOM&&!n.legend.external&&this.updateLegend()),c.update&&(this.lastTip.value=null,c.keepDomain||(this.lastTip.pos=null,this.lastHitInfo=null)),!f)if(l.length&&this.addGroupInfo(l),(x=this.options.realTimeScatter)!=null&&x.use?(this.dataSet||(this.dataSet={}),this.createRealTimeScatterDataSet(o)):this.createDataSet(o,s),n.title.show?(this.isInitTitle?this.updateTitle():this.initTitle(),this.showTitle()):this.isInitTitle&&this.hideTitle(),n.legend.show&&!n.legend.external){const T=!!((y=(b=n.legend)==null?void 0:b.table)!=null&&y.use)&&n.type!=="heatMap"&&n.type!=="scatter";this.isInitLegend?r?this.updateLegend():d?this.forceUpdateLegend():T&&h&&this.updateLegendTableValues():this.initLegend(),this.setLegendPosition(),this.updateLegendContainerSize(),this.showLegend()}else n.legend.show&&n.legend.external?(r||h)&&(this._updateSeriesCount(),this.emitLegendData()):this.isInitLegend&&this.hideLegend();u&&(this.isInitTooltip||this.createTooltipDOM(),this.tooltipDOM.innerHTML="",(E=(M=n.tooltip)==null?void 0:M.formatter)!=null&&E.html||this.setDefaultTooltipLayout()),this.minMax=this.getStoreMinMax(),this.axesX=this.createAxes("x",n.axesX),this.axesY=this.createAxes("y",n.axesY),this.initDefaultSelectInfo();let p=t==null?void 0:t.hitInfo;!(p!=null&&p.legend)&&((I=this.legendHover)!=null&&I.sId)&&(p={...p||{},legend:this.legendHover}),this.render(p),this.dragInfo&&this.drawSelectionArea?this.drawSelectionArea(this.dragInfo):this.dragInfoBackup&&(this.dragInfoBackup=null)}resetProps(){this.axesX[0]=null,this.axesY[0]=null,this.axesX=null,this.axesY=null,this.minMax=null,this.axesRange=null,this.labelOffset=null,this.chartRect=null}overlayClear(){this.clearRectRatio=this.pixelRatio<1?this.pixelRatio:1,this.overlayCtx.clearRect(0,0,this.overlayCanvas.width/this.clearRectRatio,this.overlayCanvas.height/this.clearRectRatio)}clear(){this.clearRectRatio=this.pixelRatio<1?this.pixelRatio:1,this.displayCanvas&&this.displayCtx.clearRect(0,0,this.displayCanvas.width/this.clearRectRatio,this.displayCanvas.height/this.clearRectRatio),this.bufferCanvas&&this.bufferCtx.clearRect(0,0,this.bufferCanvas.width/this.clearRectRatio,this.bufferCanvas.height/this.clearRectRatio),this.overlayCanvas&&this.overlayCtx.clearRect(0,0,this.overlayCanvas.width/this.clearRectRatio,this.overlayCanvas.height/this.clearRectRatio)}resize(t){var n,o,s,l,a,r,c;this.clear(),this.bufferCtx.restore(),this.bufferCtx.save(),((s=(o=(n=this.options.axesX)==null?void 0:n[0])==null?void 0:o.scrollbar)!=null&&s.use||(r=(a=(l=this.options.axesY)==null?void 0:l[0])==null?void 0:a.scrollbar)!=null&&r.use)&&this.initScrollbar(),this.initRect(),this.initScale(),this.chartRect=this.getChartRect(),this.drawChart(),this.dragInfoBackup&&((c=this.drawSelectionArea)==null||c.call(this,this.dragInfoBackup)),t&&t(!0)}render(t){this.isInit&&(this.clear(),this.chartRect=this.getChartRect(),this.drawChart(t))}_getLegendSeries(){var n;const t=(n=this.data.groups)==null?void 0:n.at(0);return t?t.filter(o=>{var s;return(s=this.seriesList[o])==null?void 0:s.showLegend}).map(o=>[o,this.seriesList[o]]):Object.entries(this.seriesList).filter(([,o])=>o.showLegend)}_seriesToLegendItem(t){const n=typeof t.color!="string"?t.color[t.color.length-1][1]:t.color;return{sId:t.sId,name:t.name,color:n,type:t.type,show:t.show,fill:t.fill,fillColor:t.fillColor}}buildLegendData(){return this._getLegendSeries().map(([,t])=>this._seriesToLegendItem(t))}emitLegendData(){typeof this.listeners["update:legendData"]=="function"&&this.listeners["update:legendData"](this.buildLegendData())}toggleSeries(t){var d;const n=this.seriesList[t];if(!n)return;const o=this.options.legend,s=this._getLegendSeries();if(o.clickMode==="active")s.every(([,f])=>f.show)?(s.forEach(([,f])=>{f.show=!1}),n.show=!0,this.seriesInfo.count=1):n.show?(n.show=!1,this.seriesInfo.count--):(n.show=!0,this.seriesInfo.count++),s.every(([,f])=>!f.show)&&(s.forEach(([,f])=>{f.show=!0}),this.seriesInfo.count=s.length);else{if(n.show&&this.seriesInfo.count===1)return;n.show?(n.show=!1,this.seriesInfo.count--):(n.show=!0,this.seriesInfo.count++)}if(this.brushSeries){const{chartIdx:h}=this.data,u=[...this.brushSeries.list];u[h]=this.seriesList,this.brushSeries.list=u,this.brushSeries.chartIdx=h}((d=this.options.eventBehavior)==null?void 0:d.legendClick)!=="emitOnly"&&this.update({updateSeries:!1,updateSelTip:{update:!0,keepDomain:!0}});const a=Object.values(this.seriesList).filter(h=>h.show).map(h=>h.sId),r=a.length===Object.values(this.seriesList).length,c={data:{seriesIds:r?[]:a,isActiveAll:r}};typeof this.listeners["click-legend"]=="function"&&this.listeners["click-legend"](c),this.options.legend.show&&this.options.legend.external&&this.emitLegendData()}highlightSeries(t){const n={sId:t,type:this.options.type};this.legendHover=n,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:n},lightUpdate:!0})}unhighlightSeries(){this.legendHover=null,this.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},hitInfo:{legend:null},lightUpdate:!0})}destroy(){if(!this.isInit)return;const t=this.target;for(this.options.legend.show&&!this.options.legend.external&&(this.legendBoxDOM&&(this.legendBoxDOM.removeEventListener("click",this.onLegendBoxClick),this.legendBoxDOM.removeEventListener("mouseover",this.onLegendBoxOver),this.legendBoxDOM.removeEventListener("mouseleave",this.onLegendBoxLeave),this.options.legend.type==="gradient"&&this.legendBoxDOM.removeEventListener("mousedown",this.onLegendMouseDown),this.options.legend.virtualScroll&&!this.useTable&&(this.legendBoxDOM.removeEventListener("resize",this.updateVisibleRowCount),this.legendBoxDOM.removeEventListener("scroll",this.renderVisibleLegends))),this.resizeDOM&&this.resizeDOM.removeEventListener("mousedown",this.onResizeMouseDown)),this.overlayCanvas&&(this.overlayCanvas.removeEventListener("mousemove",this.onMouseMove),this.overlayCanvas.removeEventListener("mouseleave",this.onMouseLeave),this.overlayCanvas.removeEventListener("dblclick",this.onDblClick),this.overlayCanvas.removeEventListener("click",this.onClick),this.overlayCanvas.removeEventListener("mousedown",this.onMouseDown),this.overlayCanvas.removeEventListener("wheel",this.onWheel),window.removeEventListener("click",this.dragTouchSelectionEvent)),this.isInitTooltip&&this.tooltipDestroy(),this.renderVisibleLegendsFrameId!=null&&(cancelAnimationFrame(this.renderVisibleLegendsFrameId),this.renderVisibleLegendsFrameId=null),this.updateVisibleRowCountFrameId!=null&&(cancelAnimationFrame(this.updateVisibleRowCountFrameId),this.updateVisibleRowCountFrameId=null),this.wrapperDOM=null,this.chartDOM=null,this.legendDOM=null,this.legendBoxDOM=null,this.resizeDOM=null,this.ghostDOM=null,this.titleDOM=null,this.displayCanvas=null,this.bufferCanvas=null,this.overlayCanvas=null;t.hasChildNodes();)t.removeChild(t.firstChild)}hideTooltip(){var t;this.options.tooltip.use&&((t=this.tooltipDOM)!=null&&t.style)&&(this.tooltipDOM.style.display="none")}initDefaultSelectInfo(){var s,l;const{type:t,selectLabel:n,selectSeries:o}=this.options;if(n.use){let a=null;t==="heatMap"&&(n!=null&&n.useBothAxis)&&(a=(s=this.defaultSelectInfo)==null?void 0:s.targetAxis),this.defaultSelectInfo=(l=this.defaultSelectInfo)!=null&&l.dataIndex?this.getSelectedLabelInfoWithLabelData(this.defaultSelectInfo.dataIndex,a):{dataIndex:[],label:[],data:[]}}o.use&&!this.defaultSelectInfo&&(this.defaultSelectInfo={seriesId:[]})}};const jC={name:"EvChartToolbar",props:{toolbar:{type:Object,default:()=>({})}},emits:["onClickToolbar"]},GC={class:"ev-chart-toolbar"},ZC={class:"ev-chart-toolbar__icon"};function qC(e,t,n,o,s,l){const a=i.resolveComponent("ev-icon");return i.openBlock(),i.createElementBlock("div",GC,[i.createElementVNode("div",ZC,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.$props.toolbar.items,(r,c)=>(i.openBlock(),i.createBlock(a,{key:`${c}-${r.icon}`,class:i.normalizeClass(c),icon:r.icon,size:r.size,title:r.title,onClick:d=>e.$emit("onClickToolbar",d,c)},null,8,["class","icon","size","title","onClick"]))),128))])])}const Nr=le(jC,[["render",qC],["__scopeId","data-v-dfbffbab"]]);class KC{constructor(t,n,o,s,l,a,r){this.isExecuteZoom=l,this.evChartProps=t.props,this.evChartCloneData=n.data,this.brushIdx=a;const c=o.zoom;this.setEvChartZoomOptions(c),this.setIcon(s);const d=n.data[0].labels.length-1;this.cloneLabelsLastIdx=d,this.isAnimationFinish=!0,this.zoomAreaMemory={previous:[],current:[[0,d]],latest:[]},r&&(this.emitFunc=r,r.updateZoomStartIdx(0),r.updateZoomEndIdx(d)),c.useWheelMove&&(this.wrapWheelMoveZoomArea=this.wheelMoveZoomArea.bind(this)),this.evChartDomContainers=c.useAnimation?this.drawAnimationCanvas(t.dom):t.dom}setEvChartZoomOptions(t){this.evChartZoomOptions=t}setIcon(t){if(!t)return;const n=t.querySelector(".dragZoom");this.resetIcon=t.querySelector(".reset"),this.previousIcon=t.querySelector(".previous"),this.latestIcon=t.querySelector(".latest"),this.dragZoomIcon=n,this.iconStyle(n,"enable")}drawAnimationCanvas(t){return t.forEach(n=>{const o=document.createElement("canvas");o.setAttribute("style","display: block;"),o.setAttribute("class","animation-canvas"),o.style.position="absolute",n.appendChild(o)}),t}setEventListener(t){const n=t?"addEventListener":"removeEventListener";this.isUseZoomMode=t,this.evChartDomContainers.forEach(o=>{o[n]("wheel",this.wrapWheelMoveZoomArea)})}wheelMoveZoomArea(t){t.preventDefault();const[n,o]=this.zoomAreaMemory.current[0];if(n===o)return;let s,l;if(t.deltaY>0){if(!n)return;s=n-1,l=o-1}else{if(o===this.cloneLabelsLastIdx)return;s=n+1,l=o+1}this.isUseToolbar=!0,this.executeZoom(s,l),this.zoomAreaMemory.current[0]=[s,l]}clickMoveZoomArea(t){if(!this.zoomAreaMemory[t].length)return;const[n,o]=this.zoomAreaMemory[t].pop();this.isUseToolbar=!0,this.executeZoom(n,o),this.setZoomAreaMemory(n,o,t==="previous"?"latest":"previous")}dragZoom({data:t,range:{dragSelectionInfo:n}}){const{dragXsp:o,dragXep:s,exceptAxesYChartWidth:l,chartTitle:a}=n,{options:r,data:c}=this.evChartProps,d=r.length>1?r.findIndex(h=>{var u;return(((u=h==null?void 0:h.title)==null?void 0:u.text)??"")===a}):0;if(r[d].axesX[0].type==="time"){const h=t[0].items,u=h[0].x,f=h[h.length-1].x,g=c[d].labels,p=this.evChartCloneData[d].labels,[m,x]=this.zoomAreaMemory.current[0];let b=p.findIndex(T=>+T.$d==+u.$d),y=p.findLastIndex(T=>+T.$d==+f.$d);const M=T=>l/(g.length-1)*(T-m);let E=M(b);if(b===y&&(E-o>=s-E?b-=1:y+=1),b===m&&y===x)return;b-y===-1&&(E=M(b));const I=M(y);this.evChartZoomOptions.useAnimation?this.dragZoomAnimation(n,b,y,E,I):(this.executeZoom(b,y),this.setZoomAreaMemory(b,y))}}dragZoomAnimation(t,n,o,s,l){const{chartRange:a,exceptAxesYChartWidth:r,exceptAxesXChartHeight:c}=t,d=window.devicePixelRatio||1,h=Array.from(this.evChartDomContainers).map(u=>{const f=u.querySelector(".animation-canvas");return[u.children[0],f]});for(let u=0;u<h.length;u++){const[f,g]=h[u],p=g.getContext("2d");g.style.top=`${a.y1}px`,g.style.left=`${a.x1}px`,g.width=r*d,g.style.width=`${r}px`,g.height=c*d,g.style.height=`${c}px`,g.style.display==="none"&&(g.style.display="block"),this.isAnimationFinish=!1,this.isUseToolbar=!0,this.executeDragZoomAnimation(f,p,t,s,l).then(m=>{g.style.display="none",m&&u===h.length-1&&(this.isAnimationFinish=m,this.executeZoom(n,o),this.setZoomAreaMemory(n,o))})}}executeZoom(t,n){this.isExecuteZoom&&(this.isExecuteZoom.value=!0);for(let o=0;o<this.evChartCloneData.length;o++){const{data:s,labels:l,series:a}=this.evChartCloneData[o],r=this.evChartProps.data[o],c=Object.keys(a);for(let d=0;d<c.length;d++){const h=c[d];r.data[h]=s[h].filter((u,f)=>t<=f&&n>=f)}r.labels=l.filter((d,h)=>t<=h&&n>=h)}!this.brushIdx.isUseButton&&!this.brushIdx.isUseScroll&&(this.brushIdx.start=t,this.brushIdx.end=n),this.emitFunc&&(this.emitFunc.updateZoomStartIdx(t),this.emitFunc.updateZoomEndIdx(n))}setBrushIdx(t,n){this.brushIdx.end=-1;for(let o=0;o<n.value.length;o++){const s=t.data[n.value[o]];s.labels.length&&(this.brushIdx.start=0,this.brushIdx.end=s.labels.length-1)}}updateEvChartCloneData(t,n,o,s){const l=t.data[0].labels.length-1;if(this.cloneLabelsLastIdx=l,this.evChartCloneData=t.data,s){const a=this.zoomAreaMemory.current[0];let r=a[0],c=a[1];r===0&&c===-1&&(r=0,c=l,this.zoomAreaMemory={previous:[],current:[[r,c]],latest:[]}),this.emitFunc&&(this.emitFunc.updateZoomStartIdx(r),this.emitFunc.updateZoomEndIdx(c)),this.executeZoom(r,c)}else this.dragZoomIcon&&this.dragZoomIcon.classList.remove("active"),this.zoomAreaMemory={previous:[],current:[[0,l]],latest:[]},this.emitFunc&&(this.emitFunc.updateZoomStartIdx(0),this.emitFunc.updateZoomEndIdx(l)),this.setIconStyle(o),this.setBrushIdx(t,n)}setZoomAreaMemory(t,n,o){if(t<0||n<=0)return;const{previous:s,current:l,latest:a}=this.zoomAreaMemory,r=l.pop(),{bufferMemoryCnt:c}=this.evChartZoomOptions;o?(s.length>=c&&s.splice(0,s.length-c+1),this.zoomAreaMemory[o].push(r)):(t!==r[0]||n!==r[1])&&(r[0]===0&&r[1]===-1?s.push([0,this.cloneLabelsLastIdx]):s.push(r),a.length=0),l.push([t,n]),this.setIconStyle(this.isUseZoomMode)}executeDragZoomAnimation(t,n,o,s,l){const{chartRange:a,exceptAxesYChartWidth:r,exceptAxesXChartHeight:c}=o;let d=0,h=s,u=l-s,f=l,g=1;const p=.0015;let m=.5;const x=.1,b=.05,y=50,M=Math.ceil(y*(s/r)),E=Math.ceil(y*((r-l)/r)),I=T=>(n.clearRect(0,0,r,c),h<=0&&u>=r?(t.style.opacity="initial",T(!0)):(m>=x&&(t.style.opacity=m,m-=b),n.globalAlpha=g,n.drawImage(t,a.x1,a.y1,s,c,d,0,s,c),n.drawImage(t,a.x1+s,a.y1,l-s,c,h,0,u,c),n.drawImage(t,a.x1+l,a.y1,r,c,f,0,r,c),g-=p,d-=M,h-=M,u+=M+E,f+=E,requestAnimationFrame(()=>I(T))));return new Promise(T=>I(T))}setIconStyle(t){const n=(o,s)=>{s?this.iconStyle(o,"enable"):this.iconStyle(o,"disable")};if(t&&this.dragZoomIcon.classList.contains("active")){const{previous:o,latest:s}=this.zoomAreaMemory;n(this.previousIcon,o.length),n(this.latestIcon,s.length),this.iconStyle(this.resetIcon,"enable")}else n(this.resetIcon),n(this.previousIcon),n(this.latestIcon)}iconStyle(t,n){if(!t)return;const[o,s]=n==="enable"?[1,"initial"]:[.5,"none"];t.style.opacity=o,t.style.pointerEvents=s}initZoom(){if(!this.isAnimationFinish)return;const[t,n]=this.zoomAreaMemory.current[0],o=this.cloneLabelsLastIdx;(t!==0||n!==o)&&(this.isUseToolbar=!0,this.executeZoom(0,o),this.setZoomAreaMemory(0,o))}}const JC={padding:{top:20,right:2,left:2,bottom:4},border:2,title:{show:!1,height:40,text:"",style:{fontSize:15,color:"#000",fontFamily:"Roboto"}},legend:{show:!0,type:"icon",position:"right",color:"#353740",inactive:"#aaa",width:140,height:24,allowResize:!1,virtualScroll:!1,clickMode:"active",external:!1,table:{use:!1,columns:{name:{title:"Name"},min:{title:"MIN",use:!1},max:{title:"MAX",use:!1},avg:{title:"AVG",use:!1},total:{title:"TOTAL",use:!1},last:{title:"LAST",use:!1}}}},itemHighlight:!0,seriesHighlight:!0,unSelectedOpacity:.3,useSelect:!1,doughnutHoleSize:0,pieStroke:{use:!0,lineWidth:2,color:"#FFFFFF"},reverse:!1,horizontal:!1,overlapping:{use:!1},width:"100%",height:"100%",thickness:1,cPadRatio:0,borderRadius:0,combo:!1,tooltip:{use:!0,sortByValue:!0,backgroundColor:"#4C4C4C",fontColor:"#FFFFFF",borderColor:"#666666",shadowOpacity:.25,useShadow:!1,throttledMove:!1,debouncedHide:!1,useScrollbar:!1,textOverflow:"wrap",fontFamily:"Roboto",colorShape:"rect",fontSize:{title:16,contents:14},rowPadding:{top:0,bottom:3,right:20,left:16},showHeader:!0},indicator:{use:!0,color:"#EE7F44",segments:null},maxTip:{use:!1,fixedPosTop:!1,showIndicator:!1,indicatorColor:"#000000",tipStyle:{height:20,background:"#000000",textColor:"#FFFFFF",fontSize:14,fontFamily:"Roboto",fontWeight:400}},selectItem:{use:!1,useClick:!0,showTextTip:!1,tipText:"value",showTip:!1,showIndicator:!1,fixedPosTop:!1,useApproximateValue:!1,indicatorColor:"#000000",tipStyle:{height:20,background:"#000000",textColor:"#FFFFFF",fontSize:14,fontFamily:"Roboto",fontWeight:400},useSeriesOpacity:!1,useDeselectItem:!1,showBorder:!1,borderStyle:{color:"#FFFFFF",lineWidth:1,opacity:1,radius:0}},selectLabel:{use:!1,useClick:!0,tipText:"value",limit:1,useDeselectOverflow:!1,showTip:!1,useSeriesOpacity:!0,useLabelOpacity:!0,fixedPosTop:!1,useApproximateValue:!1,tipBackground:"#000000",indicatorColor:"#000000",tipStyle:{height:20,background:"#000000",textColor:"#FFFFFF",fontSize:14,fontFamily:"Roboto",fontWeight:400},showTextTip:!1,showIndicator:!1,useBothAxis:!1},selectSeries:{use:!1,useClick:!0,limit:1,useDeselectOverflow:!1},dragSelection:{use:!1,keepDisplay:!0,size:50,fillColor:"#38ACEC",opacity:.65},zoom:{bufferMemoryCnt:100,keepZoomStatus:!1,useAnimation:!0,useWheelMove:!0,toolbar:{show:!1,items:{previous:{icon:"ev-icon-allow2-left",size:"medium",title:"Previous"},latest:{icon:"ev-icon-allow2-right",size:"medium",title:"Latest"},reset:{icon:"ev-icon-redo",size:"medium",title:"Reset"},dragZoom:{icon:"ev-icon-zoomin",size:"medium",title:"Drag Zoom"}}}},heatMapColor:{min:"#FFFFFF",max:"#0052FF",rangeCount:1,colorsByRange:[],stroke:{show:!1,color:"#FFFFFF",lineWidth:1,opacity:1,radius:0},error:"#FF0000",decimalPoint:0},seriesReverse:!1,coordinateDedupe:!0,eventBehavior:{legendClick:"update"}},QC={series:{},groups:[],labels:[],data:{}},eS=()=>{let e=null;const t=200;return{clickEventCallback:s=>{e&&(clearTimeout(e),e=null),e=setTimeout(()=>{s(),e=null},t)},dblClickEventCallback:s=>{e&&(clearTimeout(e),e=null),s()}}},Vr=(e,t)=>{const{props:n,emit:o}=i.getCurrentInstance(),s=f=>{const g=Fe({},f,JC);return(f.type==="scatter"||f.type==="heatMap")&&!(f!=null&&f.tooltip)&&(g.tooltip.use=!1),f.type==="pie"&&!(f!=null&&f.padding)&&(g.padding={top:2,right:2,left:2,bottom:4}),g},l=f=>Fe(f,QC),a=Se(n.selectedItem),r=Se(n.selectedLabel??(e==null?void 0:e.value)),c=Se(n.selectedSeries),{clickEventCallback:d,dblClickEventCallback:h}=eS();return{eventListeners:{click:async f=>{await i.nextTick(),d(()=>{const{seriesId:g,dataIndex:p,eventTarget:m,targetAxis:x}=(f==null?void 0:f.selected)??{},{eventTarget:b}=(f==null?void 0:f.deselected)??{};switch(m){case"item":{g!==null?(o("update:selectedItem",{seriesID:g,dataIndex:p}),b==="label"&&o("update:selectedLabel",{dataIndex:[]})):o("update:selectedItem",null);break}case"label":{e!=null&&e.value?e.value.dataIndex=p:(o("update:selectedLabel",{dataIndex:p,targetAxis:x}),b==="item"&&o("update:selectedItem",null));break}case"series":{o("update:selectedSeries",{seriesId:g});break}}o("click",f)})},"dbl-click":async f=>{await i.nextTick(),h(()=>{const{eventTarget:g}=f;switch(g){case"series":{o("update:selectedSeries",{seriesId:f.seriesId?[f.seriesId]:[]});break}}o("dbl-click",f)})},"drag-select":async f=>{await i.nextTick(),o("drag-select",f)},"mouse-move":async f=>{t!=null&&t.value&&(t.value=f.hoveredLabel),await i.nextTick(),o("mouse-move",f)},"mouse-leave":()=>{t!=null&&t.value&&(t.value.label=null)},"click-legend":async f=>{await i.nextTick(),o("click-legend",f)},"update:legendData":async f=>{await i.nextTick(),o("update:legendData",f)},"axes-scale-change":f=>{o("axes-scale-change",f)}},selectItemInfo:a,selectLabelInfo:r,selectSeriesInfo:c,getNormalizedData:l,getNormalizedOptions:s}},Pr=e=>{const t=i.ref(),n=i.computed(()=>{const o=s=>{let l;return s?l=s.unit?s.value+s.unit:`${s.value}px`:l=void 0,l};return{width:o(ql(e.width)),height:o(ql(e.height))}});return{wrapper:t,wrapperStyle:n}},_r=(e,{wrapper:t,evChartGroupRef:n},o,s)=>{const{props:l,emit:a}=i.getCurrentInstance(),r=i.ref(!1),c=i.ref(!1),d=i.ref(!0),h=i.ref(),u=i.reactive({zoom:e.zoom}),f=i.reactive({start:0,end:-1,isUseButton:!1,isUseScroll:!1});let g=null;const p=i.reactive({dom:[],props:{data:[],options:[]}}),m=i.reactive({data:null,options:null}),x=i.ref([]),b=S=>{S.data.length&&S.range&&c.value&&g.dragZoom(S)},y=()=>{p.props.options.forEach((S,k)=>{if(S.zoom={...S.zoom,use:c.value,getRangeInfo:b},c.value)S.dragSelection={...S.dragSelection,use:!0,keepDisplay:!1};else{const{use:w,keepDisplay:B}=m.options[k].dragSelection??{};S.dragSelection={use:!!w,keepDisplay:!!B}}})},M=()=>{if(n!=null&&n.value?(p.dom=n.value.querySelectorAll(".ev-chart-container"),p.dom.length&&s.value.forEach(({data:S,options:k},w)=>{S.chartIdx=w,p.props.data.push(S),p.props.options.push(k),x.value.push(w)})):(p.dom=[t.value.querySelector(".ev-chart-container")],p.props.data.push(l.data),p.props.options.push(l.options)),p.props.data.length){m.data=Se(p.props.data),m.options=Se(p.props.options);const S={updateZoomStartIdx:k=>a("update:zoomStartIdx",k),updateZoomEndIdx:k=>a("update:zoomEndIdx",k)};g=new KC(p,m,u,h.value,r,f,S)}},E=S=>{m.data[0].labels.length<=1||(c.value=!c.value,S?S.classList.toggle("active"):h.value.querySelector(".dragZoom").classList.toggle("active"),y(),g.setIconStyle(c.value),g.setEventListener(c.value))},I=(S,k)=>{if(g.isAnimationFinish)switch(k){case"dragZoom":E(S.target);break;case"reset":g.initZoom();break;case"previous":case"latest":g.clickMoveZoomArea(k);break}};i.onUpdated(()=>{g&&h.value&&g.setIcon(h.value)});const T=S=>{!je(S.zoom,u.zoom)&&(u.zoom=S.zoom,g?(!u.zoom.toolbar.show&&c.value&&E(),g.setEvChartZoomOptions(u.zoom)):u.zoom.toolbar.show&&!n&&M())},V=S=>{d.value?(r.value||(m.data=n?Se(S):[Se(S)],u.zoom.keepZoomStatus?d.value=!1:(c.value=!1,y()),g&&g.updateEvChartCloneData(m,x,c.value,u.zoom.keepZoomStatus)),r.value=!1):d.value=!0},C=(S,k)=>{if(g.isUseToolbar){g.isUseToolbar=!1;return}c.value&&(g.executeZoom(S,k),g.setZoomAreaMemory(S,k))};return i.watch(()=>[f.start,f.end],([S,k],[w])=>{if(o!=null&&o.value)if(typeof o.value.dataIndex=="number")S>=(w??0)?o.value.dataIndex-=S-(w??0):o.value.dataIndex+=w-S;else for(let B=0;B<o.value.dataIndex.length;B++)S>=(w??0)?o.value.dataIndex[B]-=S-(w??0):o.value.dataIndex[B]+=w-S;(f.isUseButton||f.isUseScroll)&&g.executeZoom(S,k)}),i.watch(()=>[f.isUseButton,f.isUseScroll],([S,k],[w,B])=>{w&&!S?g.setZoomAreaMemory(f.start,f.end):B&&!k&&(g.zoomAreaMemory.current[0]=[f.start,f.end])}),{evChartZoomOptions:u,evChartInfo:p,evChartToolbarRef:h,evChartClone:m,brushIdx:f,createEvChartZoom:M,setOptionsForUseZoom:T,setDataForUseZoom:V,controlZoomIdx:C,onClickToolbar:I}},tS={name:"EvChart",components:{EvChartToolbar:Nr},directives:{resize:wn},props:{selectedItem:{type:Object,default:null},selectedLabel:{type:Object,default:null},selectedSeries:{type:Object,default:null},options:{type:Object,default:()=>({})},data:{type:Object,default:()=>({})},resizeTimeout:{type:Number,default:0},zoomStartIdx:{type:Number,default:0},zoomEndIdx:{type:Number,default:0},realTimeScatterReset:{type:Boolean,default:!1},legendData:{type:Array,default:()=>[]}},emits:["click","dbl-click","drag-select","mouse-move","update:selectedItem","update:selectedLabel","update:selectedSeries","update:zoomStartIdx","update:zoomEndIdx","update:realTimeScatterReset","click-legend","update:legendData","axes-scale-change"],setup(e,{emit:t}){let n=null;const o=i.ref(!1),s=i.inject("isChartGroup",!1),l=i.inject("brushSeries",{list:[],chartIdx:null}),a=i.inject("groupSelectedLabel",null),r=i.inject("groupHoveredLabel",null),c=i.inject("brushIdx",{start:0,end:-1}),d=i.inject("evChartPropsInGroup",[]),{eventListeners:h,selectItemInfo:u,selectLabelInfo:f,selectSeriesInfo:g,getNormalizedData:p,getNormalizedOptions:m}=Vr(a,r),x=p(e.data),b=m(e.options),y=i.computed(()=>e.selectedLabel),M=i.computed(()=>e.selectedItem),{wrapper:E,wrapperStyle:I}=Pr(b),{evChartZoomOptions:T,evChartToolbarRef:V,createEvChartZoom:C,setOptionsForUseZoom:S,setDataForUseZoom:k,controlZoomIdx:w,onClickToolbar:B}=s?{}:_r(b,{wrapper:E,evChartGroupRef:null},e.selectedLabel?y:M,d),D=()=>{var z;let _;b.selectLabel.use?_=f:b.selectSeries.use&&(_=g);const A=(z=e.options.realTimeScatter)!=null&&z.use?{...e.data,groups:[],labels:[]}:x;n=new Or(E.value,A,b,h,u,_,l)},L=()=>{n&&(n.init(),!s&&b.zoom.toolbar.show&&C(),b.legend.show&&b.legend.external&&n.emitLegendData())};i.watch(()=>e.options,_=>{var F,U;const A=m(_),z=((U=(F=n.options)==null?void 0:F.legend)==null?void 0:U.show)??!1,$=!je(A.legend.table,n.options.legend.table),W=A.tooltip.use&&!je(A.tooltip,n.options.tooltip);n.options=Se(A),n.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1},updateLegend:$,updateTooltip:W}),A.legend.show&&A.legend.external&&!z&&n.emitLegendData(),s||S(A)},{deep:!0,flush:"post"}),i.watch(()=>e.data,_=>{var W,F;const A=(W=e.options.realTimeScatter)!=null&&W.use?{..._,groups:[],labels:[]}:p(_),z=!je(A.series,n.data.series)||!je(A.groups,n.data.groups)||e.options.type==="heatMap",$=!je(A,n.data);n.data=(F=e.options.realTimeScatter)!=null&&F.use?A:Se(A),n.update({updateSeries:z,updateSelTip:{update:!0,keepDomain:!1},updateData:$}),!s&&$&&k(A)},{deep:!0,flush:"post"}),s&&!(a!=null&&a.value)&&i.watch(()=>c.start,(_,A)=>{if(y!=null&&y.value)for(let z=0;z<y.value.dataIndex.length;z++)_>=(A??0)?y.value.dataIndex[z]-=_-(A??0):y.value.dataIndex[z]+=A-_;else M!=null&&M.value&&(_>=(A??0)?M.value.dataIndex-=_-(A??0):M.value.dataIndex+=A-_)}),i.watch(()=>M.value,_=>{const A=e.options.type;n.selectItemByData(_,A)},{deep:!0,flush:"post"}),i.watch(()=>(a==null?void 0:a.value)??y.value,_=>{_!=null&&_.dataIndex&&n.selectLabelByData(_.dataIndex,_==null?void 0:_.targetAxis)},{deep:!0,flush:"post"}),i.watch(()=>e.selectedSeries,_=>{var A;(A=b.selectSeries)!=null&&A.use?_.seriesId&&n.selectSeriesByData(_.seriesId):console.warn("[EVUI][Chart] selectSeries.use is false, so selectedSeries is not working")},{deep:!0,flush:"post"}),s||i.watch(()=>[e.zoomStartIdx,e.zoomEndIdx],([_,A])=>{w(_,A)}),i.watch(()=>e.realTimeScatterReset,_=>{_&&(Object.keys(n.dataSet??{}).forEach(A=>{n.dataSet[A]&&(n.dataSet[A].dataGroup=[])}),t("update:realTimeScatterReset",!1))}),i.watch(()=>{var _;return(_=e.options.realTimeScatter)==null?void 0:_.use},_=>{n.options.realTimeScatter.use=_??!1,n.update({updateSeries:!0,updateSelTip:{update:!1,keepDomain:!1},updateData:!1})}),i.watch(()=>r==null?void 0:r.value,_=>{_&&e.options.syncHover!==!1&&(_.label==null?n.overlayClear():n.drawSyncedIndicator(_))},{deep:!0,flush:"post"}),i.onMounted(async()=>{d!=null&&d.value&&d.value.push(e),await D(),await L(),o.value=!0}),i.onBeforeUnmount(()=>{var _;n&&"destroy"in n&&n.destroy(),(_=d==null?void 0:d.value)!=null&&_.length&&(d.value.length=0),o.value=!1}),i.onDeactivated(()=>{n&&"hideTooltip"in n&&n.hideTooltip()});const R=_=>{n==null||n.toggleSeries(_)},v=_=>{n==null||n.highlightSeries(_)},N=()=>{n==null||n.unhighlightSeries()},O=()=>{n&&"update"in n&&n.update({updateSeries:!0,updateSelTip:{update:!0,keepDomain:!1}})},P=Go(()=>{n&&"resize"in n&&n.resize()},e.resizeTimeout);return i.onActivated(()=>{o.value&&P()}),{wrapper:E,wrapperStyle:I,onResize:P,redraw:O,toggleSeries:R,highlightSeries:v,unhighlightSeries:N,evChartToolbarRef:V,injectIsChartGroup:s,onClickToolbar:B,normalizedOptions:b,zoomOptions:i.toRef(T??{zoom:{}},"zoom")}}},nS={key:0,ref:"evChartToolbarRef"};function oS(e,t,n,o,s,l){var c;const a=i.resolveComponent("ev-chart-toolbar"),r=i.resolveDirective("resize");return i.openBlock(),i.createElementBlock(i.Fragment,null,[(c=o.zoomOptions.toolbar)!=null&&c.show&&!o.injectIsChartGroup?(i.openBlock(),i.createElementBlock("div",nS,[i.createVNode(a,{toolbar:o.zoomOptions.toolbar,onOnClickToolbar:o.onClickToolbar},null,8,["toolbar","onOnClickToolbar"])],512)):i.createCommentVNode("",!0),i.withDirectives(i.createElementVNode("div",{ref:"wrapper",style:i.normalizeStyle(o.wrapperStyle),class:"ev-chart"},null,4),[[r,o.onResize]])],64)}const lo=le(tS,[["render",oS]]);lo.install=e=>{e.component(lo.name,lo)};const iS={zoom:{bufferMemoryCnt:100,keepZoomStatus:!1,useAnimation:!0,useWheelMove:!0,toolbar:{show:!1,items:{previous:{icon:"ev-icon-allow2-left",size:"medium",title:"Previous"},latest:{icon:"ev-icon-allow2-right",size:"medium",title:"Latest"},reset:{icon:"ev-icon-redo",size:"medium",title:"Reset"},dragZoom:{icon:"ev-icon-zoomin",size:"medium",title:"Drag Zoom"}}}}},sS=()=>{const e=i.ref(!1),t=i.ref(),n=i.ref([]),o=i.reactive({list:[],chartIdx:null});return{getNormalizedOptions:l=>Fe({},l,iS),isExecuteZoom:e,brushSeries:o,evChartGroupRef:t,evChartPropsInGroup:n}},lS={name:"EvChartGroup",components:{evChartToolbar:Nr},props:{options:{type:Object,default:()=>({})},zoomStartIdx:{type:Number,default:0},zoomEndIdx:{type:Number,default:0},groupSelectedLabel:{type:Object,default:null}},emits:["update:groupSelectedLabel","update:zoomStartIdx","update:zoomEndIdx","update:groupHoveredLabel"],setup(e,{emit:t}){const{getNormalizedOptions:n,isExecuteZoom:o,brushSeries:s,evChartGroupRef:l,evChartPropsInGroup:a}=sS(),r=n(e.options);i.provide("isExecuteZoom",o),i.provide("isChartGroup",!0),i.provide("brushSeries",s),i.provide("evChartPropsInGroup",a);const c=i.computed({get:()=>e.groupSelectedLabel,set:E=>t("update:groupSelectedLabel",E)});i.provide("groupSelectedLabel",c);const d=i.ref(null);i.provide("groupHoveredLabel",d),i.watch(()=>e.options.syncHover,E=>{E?d.value={label:"",horizontal:!1}:d.value=null},{immediate:!0});const{evChartZoomOptions:h,evChartInfo:u,evChartToolbarRef:f,evChartClone:g,brushIdx:p,createEvChartZoom:m,setOptionsForUseZoom:x,setDataForUseZoom:b,controlZoomIdx:y,onClickToolbar:M}=_r(r,{wrapper:null,evChartGroupRef:l},c,a);return i.provide("evChartClone",g),i.provide("evChartInfo",u),i.provide("brushIdx",p),i.onMounted(()=>{m()}),i.watch(()=>u.props.data,E=>{b(E)},{deep:!0}),i.watch(()=>e.options,E=>{const I=n(E);x(I)},{deep:!0}),i.watch(()=>[e.zoomStartIdx,e.zoomEndIdx],([E,I])=>{p.isUseButton||p.isUseScroll||y(E,I)}),{evChartGroupRef:l,evChartToolbarRef:f,zoomOptions:i.toRef(h,"zoom"),onClickToolbar:M}}},aS={key:0,ref:"evChartToolbarRef"},rS={ref:"evChartGroupRef",class:"ev-chart-group__wrapper"};function cS(e,t,n,o,s,l){const a=i.resolveComponent("ev-chart-toolbar");return i.openBlock(),i.createElementBlock(i.Fragment,null,[o.zoomOptions.toolbar.show?(i.openBlock(),i.createElementBlock("div",aS,[i.createVNode(a,{toolbar:o.zoomOptions.toolbar,onOnClickToolbar:o.onClickToolbar},null,8,["toolbar","onOnClickToolbar"])],512)):i.createCommentVNode("",!0),i.createElementVNode("div",rS,[i.renderSlot(e.$slots,"default",{},void 0,!0)],512)],64)}const ao=le(lS,[["render",cS],["__scopeId","data-v-b1c0c322"]]);ao.install=e=>{e.component(ao.name,ao)};const Ie={WHEEL:{UP:"MOVEUP_WHEEL",DOWN:"MOVEDOWN_WHEEL"},GRAB:{UP:"MOVEUP_GRAB",DOWN:"MOVEDOWN_GRAB"},BUTTON:{INCREASE:"INCREASE",DECREASE:"DECREASE"}},Re={LEFT:"leftX",RIGHT:"rightX"};let dS=class{constructor(t,n,o,s,l){this.evChart=t,this.evChartBrushOptions=o,this.evChartBrushRef=l,this.evChartData=n,this.brushIdx=s,o.value.useDebounce&&(this.debounceBrushIdx={start:s.start,end:s.end})}init(t){var n;if(this.brushIdx.start>this.brushIdx.end){this.removeBrushCanvas();return}if((n=this.evChartBrushRef)!=null&&n.value){const o=this.evChartBrushRef.value.querySelector(".brush-canvas");if(o)this.drawBrushRect({brushCanvas:o,isResize:t});else{const s=document.createElement("canvas");s.setAttribute("class","brush-canvas"),s.setAttribute("style","display: block; z-index: 1;");const l=this.evChartBrushRef.value.querySelector(".ev-chart-brush-container");l&&(this.brushCanvas=s,l.appendChild(s),this.evChartBrushContainer=l,this.drawBrushRect({brushCanvas:s}),this.addEvent(s))}}}drawBrushRect({brushCanvas:t,isResize:n,isDebounce:o,mode:s,offsetX:l}){const{chartRect:a,labelOffset:r}=this.evChart;if(!a&&!r)return;const c=this.evChartData.value.labels.length-1;this.labelEndIdx=c;const d={x1:a.x1+r.left,x2:a.x2-r.right,y1:a.y1+r.top,y2:a.y2-r.bottom},h=this.setCanvasWidthHeight(d,t);if(!(n&&this.isEqualWidth)&&c>=0){const u=this.setBrushXAndWidth(h,l,o,s);h&&u&&this.drawBrush(h,u,d,t)}}setCanvasWidthHeight(t,n){const s=t.x2-t.x1+6,l=t.y2-t.y1,a=(t.x2-t.x1)/this.labelEndIdx,r=window.devicePixelRatio||1;return this.isEqualWidth=n.width===Math.floor(s*r),{brushButtonWidth:6,brushCanvasHeight:l,brushCanvasWidth:s,axesXInterval:a,pixelRatio:r}}setBrushXAndWidth(t,n=0,o,s){const{brushButtonWidth:l,brushCanvasWidth:a,axesXInterval:r,pixelRatio:c}=t;!o&&this.debounceBrushIdx&&(this.debounceBrushIdx.start=this.brushIdx.start,this.debounceBrushIdx.end=this.brushIdx.end);const d=this.debounceBrushIdx??this.brushIdx;switch(s){case Ie.BUTTON.INCREASE:case Ie.BUTTON.DECREASE:this.brushRectWidth=a*c,this.curBrushButtonType===Re.LEFT?(this.brushRectWidth=this.beforeBrushRectWidth?this.beforeBrushRectWidth-n:this.brushRectWidth-n,this.brushRectWidth<=l?this.brushRectWidth=l:(this.brushRectX=n*c,this.beforeBrushRectX=this.brushRectX)):this.curBrushButtonType===Re.RIGHT&&(this.brushRectWidth=n-this.beforeBrushRectX,this.brushRectWidth<=l?this.brushRectWidth=l:(this.brushRectX=this.beforeBrushRectX,this.beforeBrushRectWidth=this.brushRectWidth+this.brushRectX));break;case Ie.GRAB.UP:case Ie.GRAB.DOWN:this.brushRectX<=0&&s===Ie.GRAB.DOWN||this.brushRectX+this.brushRectWidth>=a&&s===Ie.GRAB.UP?this.offsetXAndRectXInterval=null:(this.offsetXAndRectXInterval||(this.offsetXAndRectXInterval=n-this.brushRectX),this.brushRectX=n-this.offsetXAndRectXInterval);break;default:n||(this.brushRectX=d.start*r*c,this.brushRectWidth=(a-(this.labelEndIdx-(d.end-d.start))*r)*c,this.beforeBrushRectX=this.brushRectX,this.beforeBrushRectWidth=this.brushRectWidth+this.brushRectX);break}const h=a*c;return this.brushRectX<0?this.brushRectX=0:this.brushRectX+this.brushRectWidth>h&&(this.brushRectX=h-this.brushRectWidth),this.brushRectWidth>h&&(this.brushRectWidth=h),{brushRectX:this.brushRectX,brushRectWidth:this.brushRectWidth}}drawBrush(t,n,o,s){const{brushButtonWidth:l,brushCanvasHeight:a,brushCanvasWidth:r,axesXInterval:c,pixelRatio:d}=t,{brushRectX:h,brushRectWidth:u}=n,{height:f,selection:{fillColor:g,opacity:p}}=this.evChartBrushOptions.value,m=f-o.y1,x=h,b=h+u;s.style.position||(s.style.position="absolute",s.style.top=`${o.y1}px`,s.style.left=`${o.x1-l/2}px`),this.isEqualWidth||(s.width=r*d,s.style.width=`${r}px`,s.height=a*d,s.style.height=`${a}px`);const y=s.getContext("2d");y.clearRect(0,0,r*d,a*d),y.fillStyle=g,y.globalAlpha=p,y.fillRect(h,0,u,m),y.fillRect(x,0,l,m),y.fillRect(b-l,0,l,m),this.brushPosInfo={leftX:x/d,rightX:b/d,buttonWidth:l,axesXInterval:c,...t,...n}}getCanvasOffsetX(t){const n=this.brushCanvas.getBoundingClientRect();return t.clientX-n.left}addEvent(){let t;const n=l=>{if(this.isDragMode){const a=this.getCanvasOffsetX(l);this.mouseDownAndMove({offsetX:a})}};this.onDocumentMouseMove=qo(n,5),this.onDocumentMouseUp=()=>{document.removeEventListener("mousemove",this.onDocumentMouseMove),document.removeEventListener("mouseup",this.onDocumentMouseUp),this.initEventState()},this.onMouseDown=l=>{l.preventDefault(),t.isInsideButton?this.isDragMode="button":t.isInsideBrush?(this.clickBrushInsideX=l.offsetX,this.isDragMode="grab"):t.isOutsideBrush&&this.teleportBrush(l),this.isDragMode&&(document.addEventListener("mousemove",this.onDocumentMouseMove),document.addEventListener("mouseup",this.onDocumentMouseUp))};const o=l=>{this.isDragMode||(t=this.getMousePosition(l),this.changeCursor(t))};this.onMouseMove=qo(o,5),this.onWheel=l=>{l.preventDefault();const a=l.deltaY>0?Ie.WHEEL.DOWN:Ie.WHEEL.UP;this.updateBrushIdx(a),this.debounceBrushIdx&&this.drawBrushRect({brushCanvas:this.brushCanvas,isDebounce:!0,mode:a}),this.brushIdx.isUseScroll=!0},this.onMouseUp=()=>{this.initEventState()};const s=()=>{this.initEventState()};this.onWheelDebounce=Go(s,100),this.setEventListener("addEventListener")}getMousePosition(t){const n=d=>Math.abs(this.brushPosInfo[d]-t.offsetX),o=n(Re.RIGHT)>n(Re.LEFT)?Re.LEFT:Re.RIGHT,s=d=>t.offsetX>this.brushPosInfo[d],l=d=>t.offsetX<this.brushPosInfo[d],a=l(Re.LEFT)||s(Re.RIGHT),r=s(Re.LEFT)&&l(Re.RIGHT),c=t.offsetX+this.brushPosInfo.buttonWidth>=this.brushPosInfo[o]&&t.offsetX-this.brushPosInfo.buttonWidth<=this.brushPosInfo[o];return this.curBrushButtonType=c&&o,{isInsideButton:c,isInsideBrush:r,isOutsideBrush:a}}destroy(){if(this.brushCanvas&&(this.setEventListener("removeEventListener"),document.removeEventListener("mousemove",this.onDocumentMouseMove),document.removeEventListener("mouseup",this.onDocumentMouseUp),this.brushCanvas=null),this.evChartBrushContainer){const t=this.evChartBrushContainer;for(;t.hasChildNodes();)t.removeChild(t.firstChild)}}setEventListener(t){this.brushCanvas[t]("mousemove",this.onMouseMove),this.brushCanvas[t]("mousedown",this.onMouseDown),this.brushCanvas[t]("mouseup",this.onMouseUp),this.evChartBrushOptions.value.useWheelMove&&(this.brushCanvas[t]("wheel",this.onWheel),this.brushCanvas[t]("wheel",this.onWheelDebounce))}removeBrushWrapper(){if(this.evChartBrushRef.value){const t=this.evChartBrushRef.value.querySelector(".ev-chart-brush-wrapper");t&&this.evChartBrushRef.value.removeChild(t)}}removeBrushCanvas(){if(this.evChartBrushContainer){const t=this.evChartBrushContainer.querySelector(".brush-canvas");t&&this.evChartBrushContainer.removeChild(t)}}teleportBrush(t){const n=this.debounceBrushIdx??this.brushIdx,o=(n.end-n.start)/2;let s,l,a;o>.5?(n.end-n.start)%2===0?(a=Math.round(t.offsetX/this.brushPosInfo.axesXInterval),s=Math.ceil(o),l=Math.floor(o)):(a=Math.ceil(t.offsetX/this.brushPosInfo.axesXInterval),s=Math.ceil(o),l=Math.floor(o)):(a=Math.floor(t.offsetX/this.brushPosInfo.axesXInterval),t.offsetX-a*this.brushPosInfo.axesXInterval>this.brushPosInfo.axesXInterval/2?(s=Math.floor(o),l=Math.ceil(o)):(s=Math.ceil(o),l=Math.floor(o),o<1&&(a+=1))),a-s<=0?(n.start=0,n.end=l+s):a+l>=this.labelEndIdx?(n.start=this.labelEndIdx-l-s,n.end=this.labelEndIdx):(n.start=a-s,n.end=a+l),this.brushIdx.isUseScroll=!0}changeCursor(t){t.isOutsideBrush?this.brushCanvas.style.cursor="pointer":t.isInsideBrush&&(t.isInsideButton?this.brushCanvas.style.cursor="ew-resize":this.brushCanvas.style.cursor="grab")}mouseDownAndMove(t){const n=this.debounceBrushIdx?0:this.brushPosInfo.axesXInterval/3;let o;t.offsetX>this.beforeMouseXPos?this.isDragMode==="grab"?this.clickBrushInsideX<t.offsetX-n&&(o=Ie.GRAB.UP,this.isUseBrushGrab=!0,this.brushIdx.isUseScroll=!0,this.clickBrushInsideX=t.offsetX+n):t.offsetX-this.brushPosInfo[this.curBrushButtonType]>n&&(o=this.curBrushButtonType===Re.LEFT?Ie.BUTTON.DECREASE:Ie.BUTTON.INCREASE,this.brushIdx.isUseButton=!0):t.offsetX<this.beforeMouseXPos&&(this.isDragMode==="grab"?this.clickBrushInsideX>t.offsetX+n&&(o=Ie.GRAB.DOWN,this.isUseBrushGrab=!0,this.brushIdx.isUseScroll=!0,this.clickBrushInsideX=t.offsetX-n):this.brushPosInfo[this.curBrushButtonType]-t.offsetX>n&&(o=this.curBrushButtonType===Re.LEFT?Ie.BUTTON.INCREASE:Ie.BUTTON.DECREASE,this.brushIdx.isUseButton=!0)),this.debounceBrushIdx?this.drawBrushRect({brushCanvas:this.brushCanvas,isDebounce:!0,mode:o,offsetX:t.offsetX}):this.updateBrushIdx(o),this.beforeMouseXPos=t.offsetX}updateBrushIdx(t){const n=this.debounceBrushIdx??this.brushIdx;switch(t){case Ie.WHEEL.UP:case Ie.GRAB.UP:if(n.end>=this.labelEndIdx)return;n.start+=1,n.end+=1;break;case Ie.WHEEL.DOWN:case Ie.GRAB.DOWN:if(n.start<=0)return;n.start-=1,n.end-=1;break;case Ie.BUTTON.INCREASE:if(this.curBrushButtonType===Re.LEFT){if(!n.start)return;n.start-=1}else{if(n.end===this.labelEndIdx)return;n.end+=1}break;case Ie.BUTTON.DECREASE:if(n.start===n.end-1)return;this.curBrushButtonType===Re.LEFT?n.start+=1:n.end-=1;break}}updateBrushIdxUseXPos(){if(!this.debounceBrushIdx)return;const t=()=>{let s,l;if(this.brushPosInfo){const{brushRectX:a,brushRectWidth:r,brushCanvasWidth:c,axesXInterval:d}=this.brushPosInfo;if(this.brushIdx.isUseButton||this.isUseBrushGrab){if(s=a/d,l=this.labelEndIdx-(c-(a+r))/d,this.curBrushButtonType===Re.LEFT?(s=Math.round(s),l=this.brushIdx.end,s===l&&(s-=1)):this.curBrushButtonType===Re.RIGHT?(s=this.brushIdx.start,l=Math.round(l),s===l&&(l+=1)):(s=Math.round(s),l=Math.round(l)),l>this.labelEndIdx){const h=l-this.labelEndIdx;s-=h,l-=h}if(s<0){const h=Math.abs(s);s=0,l+=h}}}return{brushStartIdx:s,brushEndIdx:l}},{brushStartIdx:n,brushEndIdx:o}=t();this.brushIdx.start===n&&this.brushIdx.end===o&&this.drawBrushRect({brushCanvas:this.brushCanvas}),this.brushIdx.start=n??this.debounceBrushIdx.start,this.brushIdx.end=o??this.debounceBrushIdx.end}initEventState(){if(this.isCleaningUp)return;this.isCleaningUp=!0,new Promise(n=>{this.updateBrushIdxUseXPos(),n(!0)}).then(n=>{n&&(this.clickBrushInsideX=null,this.isDragMode=null,this.beforeMouseXPos=null,this.curBrushButtonType=null,this.isUseBrushGrab=!1,this.offsetXAndRectXInterval=null,this.brushIdx.isUseButton=!1,this.brushIdx.isUseScroll=!1),this.isCleaningUp=!1})}};const hS={show:!0,useDebounce:!0,chartIdx:0,height:100,showLabel:!1,selection:{fillColor:"#38ACEC",opacity:.65},useWheelMove:!0},uS=()=>({getNormalizedBrushOptions:t=>Fe({},t,hS)}),fS={name:"EvChartBrush",directives:{resize:wn},props:{options:{type:Object,default:()=>({})}},setup(e){let t=null,n=null;const o=i.ref(!1),s=i.inject("evChartClone",{data:[]}),l=i.inject("evChartInfo",{props:{options:[]}}),a=i.inject("brushIdx",{start:0,end:-1,isUseButton:!1,isUseScroll:!1}),r=i.inject("brushSeries",{list:[],chartIdx:null}),{getNormalizedBrushOptions:c}=uS(),d=i.computed(()=>c(e.options)),{eventListeners:h,selectItemInfo:u,selectLabelInfo:f,selectSeriesInfo:g,getNormalizedData:p,getNormalizedOptions:m}=Vr(),x=i.computed(()=>p((s.data??[])[d.value.chartIdx])),b=i.computed(()=>{var w,B;const S=l.props.options[d.value.chartIdx],k={...S,brush:{use:!0,...d.value},height:d.value.height,zoom:{use:!1},dragSelection:{use:!1},title:{show:!1},tooltip:{use:!1},legend:{show:!1},selectLabel:{use:!1},selectSeries:{use:!1},axesX:[{...(w=S==null?void 0:S.axesX)==null?void 0:w[0],title:{use:!1}}],axesY:[{...(B=S==null?void 0:S.axesY)==null?void 0:B[0],title:{use:!1}}]};return m(k)}),{wrapper:y,wrapperStyle:M}=Pr(b.value);i.watch(()=>r.list,()=>{y.value&&r.chartIdx===d.value.chartIdx&&(t.seriesList=r.list[d.value.chartIdx],t.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}}))}),i.watch(b,(S,k)=>{var w;S.brush.chartIdx<=((w=s.data)==null?void 0:w.length)-1?n&&!je(k.brush,S.brush)?n.removeBrushWrapper():t&&!je(S,k)&&(t.options=Se(S),t.update({updateSeries:!1,updateSelTip:{update:!1,keepDomain:!1}})):(t.data=Se(x.value),t.update({updateSeries:!0,updateSelTip:{update:!1,keepDomain:!1},updateData:!1}),n.removeBrushCanvas())}),i.watch(()=>s.data,S=>{if(t){const k=S[d.value.chartIdx];if(k){const w=!je(k.series,t.data.series),B=r.list[d.value.chartIdx];typeof B=="object"&&Object.keys(B).length&&Object.keys(k.series).forEach(D=>{var L;"show"in k.series[D]||(k.series[D].show=((L=B[D])==null?void 0:L.show)??!0)}),t.data=Se(k),t.update({updateSeries:w,updateSelTip:{update:!1,keepDomain:!1},updateData:!1})}}});const E=()=>{let S;b.value.selectLabel.use?S=f:b.value.selectSeries.use&&(S=g),t=new Or(y.value,x.value,b.value,h,u,S)},I=()=>{n=new dS(t,x,d,a,y)},T=()=>{t&&t.init()},V=S=>{n&&n.init(S)};i.watch(()=>[a.start,a.end],()=>{var S;y.value&&d.value.chartIdx<=((S=s.data)==null?void 0:S.length)-1&&V()}),i.onMounted(async()=>{d.value.show&&(await E(),await T(),I(),V()),o.value=!0}),i.onUpdated(async()=>{var S;if(d.value.show&&d.value.chartIdx<=((S=s.data)==null?void 0:S.length)-1){const k=r.list[d.value.chartIdx];typeof k=="object"&&Object.keys(k).length&&Object.keys(x.value.series).forEach(w=>{var B;"show"in x.value.series[w]||(x.value.series[w].show=((B=k[w])==null?void 0:B.show)??!0)}),await E(),await T(),I(),V()}}),i.onBeforeUnmount(()=>{t&&"destroy"in t&&t.destroy(),n&&n.destroy(),o.value=!1}),i.onDeactivated(()=>{t&&"hideTooltip"in t&&t.hideTooltip()});const C=Go(()=>{t&&"resize"in t&&new Promise(k=>t.resize(k)).then(k=>{k&&V(k)})},0);return i.onActivated(()=>{o.value&&C()}),{evChartBrushOptions:d,evChartBrushRef:y,evChartBrushStyle:M,onResize:C}}};function mS(e,t,n,o,s,l){const a=i.resolveDirective("resize");return o.evChartBrushOptions.show?i.withDirectives((i.openBlock(),i.createElementBlock("div",{key:0,ref:"evChartBrushRef",style:i.normalizeStyle(o.evChartBrushStyle),class:"ev-chart-brush"},null,4)),[[a,o.onResize]]):i.createCommentVNode("",!0)}const ro=le(fS,[["render",mS]]);ro.install=e=>{e.component(ro.name,ro)};const gS={name:"TreeGridNode",components:{GridOptionButton:Ns},props:{dataIndex:{type:Number,default:0},nodeData:{type:Object,default:()=>({})},selectedData:{type:Object,default:()=>({})},useCheckbox:{type:Object,default:()=>({})},orderedColumns:{type:[Array],default:()=>[]},expandIcon:{type:String,default:""},collapseIcon:{type:String,default:""},parentIcon:{type:String,default:""},childIcon:{type:String,default:""},customContextMenu:{type:[Array],default:()=>[]},menuRef:{type:Object,default:null},rowHeight:{type:Number,default:35},minWidth:{type:Number,default:40},borderStyle:{type:String,default:""},highlightIndex:{type:Number,default:-1}},emits:{"check-tree-data":null,"expand-tree-data":null,"click-tree-data":null,"dbl-click-tree-data":null,"context-menu":null},setup(e,{emit:t}){const n=(y,M)=>{t("check-tree-data",y,M)},o=y=>{t("expand-tree-data",y)},s=(y,M)=>{t("click-tree-data",y,M)},l=(y,M)=>{t("dbl-click-tree-data",y,M)},a=y=>{t("context-menu",y)},r=y=>{const M=e.expandIcon?e.expandIcon:"",E=e.expandIcon?e.collapseIcon:"";return y.expand?E:M},c=i.computed(()=>e.nodeData||{}),d=i.computed(()=>e.parentIcon||"tree-parent-icon"),h=i.computed(()=>e.childIcon||"tree-child-icon"),u=i.computed(()=>d.value!=="none"||h.value!=="none"),f=i.computed(()=>{const y=e.orderedColumns||[],M=y.findIndex(I=>I.expandColumn&&!I.hide&&!I.hiddenDisplay);if(M!==-1)return M;const E=y.findIndex(I=>!I.hide&&!I.hiddenDisplay);return E!==-1?E:0}),g=y=>({row:!0,"tree-row":!0,[`tree-row--level-${y==null?void 0:y.level}`]:!0,highlight:(y==null?void 0:y.index)===e.highlightIndex,selected:y.selected,"non-border":!!e.borderStyle&&e.borderStyle!=="rows"}),p=i.computed(()=>({cell:!0,"row-checkbox":!0,"non-border":!!e.borderStyle}));return{parentIconMV:d,childIconMV:h,node:c,isDataIcon:u,checkboxClass:p,expandColumnIdx:f,onCheck:n,onExpand:o,onClick:s,onDblClick:l,onContextMenu:a,expandIconClasses:r,getRowClass:g,getColumnClass:(y,M)=>({cell:!0,"tree-td":M===0,[y.type]:y.type,[y.align]:y.align,[y.field]:y.field,"non-border":!!e.borderStyle}),getColumnStyle:(y,M)=>({width:`${y.width}px`,height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,"min-width":`${e.minWidth}px`,"border-right":e.orderedColumns.length-1===M?"none":"1px solid #CFCFCF"}),getDepthStyle:y=>({"margin-left":`${y*13}px`})}}},pS=["data-index"],yS=["data-name","data-index"],xS={class:"td-content__wrapper"},bS=["title"],CS={class:"td-content"};function SS(e,t,n,o,s,l){var d;const a=i.resolveComponent("ev-checkbox"),r=i.resolveComponent("ev-icon"),c=i.resolveComponent("grid-option-button");return i.openBlock(),i.createElementBlock("tr",{"data-index":o.node.index,class:i.normalizeClass(o.getRowClass(o.node)),onClick:t[7]||(t[7]=h=>o.onClick(h,o.node)),onDblclick:t[8]||(t[8]=h=>o.onDblClick(h,o.node))},[n.useCheckbox.use?(i.openBlock(),i.createElementBlock("td",{key:0,class:i.normalizeClass(o.checkboxClass),style:i.normalizeStyle({width:`${n.minWidth}px`,height:`${n.rowHeight}px`,"border-right":"1px solid #CFCFCF"})},[i.createVNode(a,{modelValue:o.node.checked,"onUpdate:modelValue":t[0]||(t[0]=h=>o.node.checked=h),disabled:o.node.uncheckable,indeterminate:o.node.indeterminate,class:"row-checkbox-input",onChange:t[1]||(t[1]=h=>o.onCheck(h,o.node))},null,8,["modelValue","disabled","indeterminate"])],6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.orderedColumns,(h,u)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:u},[!h.hide&&!h.hiddenDisplay?(i.openBlock(),i.createElementBlock("td",{key:0,"data-name":h.field,"data-index":o.node.index,class:i.normalizeClass(o.getColumnClass(h,u)),style:i.normalizeStyle(o.getColumnStyle(h,u))},[i.createElementVNode("div",xS,[u===o.expandColumnIdx?(i.openBlock(),i.createElementBlock("span",{key:0,style:i.normalizeStyle(o.getDepthStyle(o.node.level))},null,4)):i.createCommentVNode("",!0),u===o.expandColumnIdx?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass({expand:o.node.expand,"ev-tree-toggle":!0})},[o.node.hasChild?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[o.expandIconClasses(o.node)?(i.openBlock(),i.createBlock(r,{key:0,icon:o.expandIconClasses(o.node),style:{display:"block"},onClick:t[2]||(t[2]=f=>o.onExpand(o.node))},null,8,["icon"])):(i.openBlock(),i.createElementBlock("button",{key:1,class:"tree-expand-icon",onClick:t[3]||(t[3]=i.withModifiers(f=>o.onExpand(o.node),["stop"]))},[...t[9]||(t[9]=[i.createElementVNode("i",null,null,-1)])]))],64)):i.createCommentVNode("",!0)],2)):i.createCommentVNode("",!0),u===o.expandColumnIdx&&o.isDataIcon?(i.openBlock(),i.createElementBlock("span",{key:2,title:o.node[h.field],class:i.normalizeClass({expand:o.node.expand,"ev-tree-toggle":!0})},[i.createElementVNode("span",{class:i.normalizeClass(o.node.hasChild?o.parentIconMV:o.childIconMV)},[...t[10]||(t[10]=[i.createElementVNode("i",null,null,-1)])],2)],10,bS)):i.createCommentVNode("",!0),i.createElementVNode("div",CS,[e.$slots[h.field+"Node"]?i.renderSlot(e.$slots,h.field+"Node",{key:0,item:{data:o.node.data}},void 0,!0):i.createCommentVNode("",!0)])])],14,yS)):i.createCommentVNode("",!0)],64))),128)),(d=n.customContextMenu)!=null&&d.length?(i.openBlock(),i.createElementBlock("td",{key:1,class:i.normalizeClass({"row-contextmenu":!0,"non-border":!!n.borderStyle}),style:i.normalizeStyle({position:"sticky",right:0,width:"30px",height:`${n.rowHeight}px`,"min-width":"30px","line-height":`${n.rowHeight}px`})},[e.$slots.contextmenuIconNode?(i.openBlock(),i.createElementBlock("span",{key:0,class:"row-contextmenu__btn",onClick:[t[4]||(t[4]=h=>o.onContextMenu(h)),t[5]||(t[5]=i.withModifiers((...h)=>n.menuRef.show&&n.menuRef.show(...h),["prevent"]))]},[i.renderSlot(e.$slots,"contextmenuIconNode",{},void 0,!0)])):(i.openBlock(),i.createBlock(c,{key:1,icon:"ev-icon-warning2",class:"row-contextmenu__btn",onClick:[t[6]||(t[6]=h=>o.onContextMenu(h)),i.withModifiers(n.menuRef.show,["prevent"])]},null,8,["onClick"]))],6)):i.createCommentVNode("",!0)],42,pS)}const wS=le(gS,[["render",SS],["__scopeId","data-v-faab3696"]]),kS={name:"EvTreeGridToolbar"},MS={class:"tree-grid-toolbar"};function IS(e,t,n,o,s,l){return i.openBlock(),i.createElementBlock("div",MS,[i.renderSlot(e.$slots,"toolbarWrapper")])}const ES=le(kS,[["render",IS]]),vS=e=>{const{props:t}=i.getCurrentInstance(),{checkInfo:n}=e;return{isRenderer:(d={})=>{var h;return!!((h=d==null?void 0:d.render)!=null&&h.use)},getComponentName:(d="")=>{const h=g=>g.charAt(0).toUpperCase()+g.slice(1),u="Renderer";let f="";if(d.indexOf("_")!==-1){const g=d.split("_");for(let p=0;p<g.length;p++)f+=h(g[p])}else f=h(d);return f+u},getConvertValue:(d,h)=>{let u=d.type==="number"||d.type==="float"?Number(h):h;return d.type==="number"?(u=$t(h),u=u===!1?h:u):d.type==="float"&&(u=u.toFixed(d.decimal??3).replace(/\B(?=(\d{3})+(?!\d))/g,",")),u},getColumnIndex:d=>t.columns.findIndex(h=>h.field===d),setPixelUnit:d=>{let h=d;const u=h.toString().indexOf("px")>=0,f=h.toString().indexOf("%")>=0;return!u&&!f&&(h=`${h}px`),h},checkHeader:d=>{n.isHeaderChecked=!!d.length&&d.every(u=>u.checked);const h=d.filter(u=>u.uncheckable);if(h.length){const u=d.filter(g=>g.checked),f=d.every(g=>h.includes(g));n.isHeaderChecked=!f&&h.length+u.length===d.length,n.isHeaderUncheckable=f}n.isHeaderIndeterminate=!!d.length&&d.some(u=>u.checked||u.indeterminate)&&!n.isHeaderChecked}}},di=e=>{const{originColumns:t,filteredColumns:n}=e;return t.map(o=>{const s=n.find(l=>l.index===o.index)??{};return{...o,...s}})},TS=e=>{const{scrollInfo:t,stores:n,elementInfo:o,resizeInfo:s,pageInfo:l,summaryScroll:a,getPagingData:r,updatePagingInfo:c}=e,d=f=>{let g=n.showTreeStore;l.isClientPaging&&(g=r());const p=o.body;if(p){const m=s.rowHeight,x=p.clientHeight>m?Math.ceil(p.clientHeight/m):g.length,b=g.length*m;let y=Math.floor(p.scrollTop/m);y>g.length-1&&(y=0);const M=y+x+1,E=Math.max(y,0),I=M,T=o.table;n.viewStore=g.slice(E,I),t.hasVerticalScrollBar=x<g.length||p.clientHeight<T.clientHeight,t.vScrollTopHeight=E*m,t.vScrollBottomHeight=b-n.viewStore.length*m-t.vScrollTopHeight,f&&l.isInfinite&&t.vScrollBottomHeight===0&&(l.prevPage=l.currentPage,l.currentPage=Math.ceil(I/l.perPage)+1,l.startIndex=I,c({onScrollEnd:!0}))}},h=()=>{const f=o.header,g=o.body,p=o.table;f.scrollLeft=g.scrollLeft,a.value=g.scrollLeft,t.hasHorizontalScrollBar=g.clientWidth<p.clientWidth};return{updateVScroll:d,updateHScroll:h,onScroll:()=>{const f=o.body,g=f.scrollTop,p=f.scrollLeft,m=t.lastScroll.top,x=t.lastScroll.left,b=p!==x;g!==m&&f.clientHeight&&d(!0),b&&h(),t.lastScroll.top=g,t.lastScroll.left=p}}},BS=e=>{const{props:t,emit:n}=i.getCurrentInstance(),{resizeInfo:o,elementInfo:s,checkInfo:l,stores:a,isRenderer:r,updateVScroll:c,updateHScroll:d,contextInfo:h}=e,u=()=>{a.viewStore=a.showTreeStore;const m=a.viewStore;let x=o.columnWidth;o.columnWidth>0&&(x=o.columnWidth),x=o.columnWidth;let b=0;if(o.adjust&&s.body){const y=s.body;let M=y.offsetWidth;const E=y.offsetHeight,I=a.orderedColumns.reduce((T,V)=>(V.hide||V.hiddenDisplay||(V.width?T.totalWidth+=V.width:T.emptyCount++),T),{totalWidth:h.customContextMenu.length?30:0,emptyCount:0});if(o.rowHeight*m.length>E-o.scrollWidth&&(M-=o.scrollWidth),l.useCheckbox.use&&(M-=o.minWidth),x=M-I.totalWidth,x>0){const T=I.emptyCount===0?0:Math.floor(x/I.emptyCount);b=x-T*I.emptyCount,x=I.emptyCount!==0?T:x}else x=o.columnWidth;x=x<o.minWidth?o.minWidth:x,o.columnWidth=x}if(a.orderedColumns.forEach(y=>{const M=r(y)?o.rendererMinWidth:o.minWidth;y.width&&y.width<M&&(y.width=M),!y.width&&!y.hide&&(y.width=x)}),b&&a.orderedColumns.length){let y=a.orderedColumns.length-1,M=a.orderedColumns[y];for(;y>0&&M&&(M.hide||M.hiddenDisplay);)y-=1,M=a.orderedColumns[y];M&&(M.width+=b)}o.isResize=!o.isResize},f=()=>{i.nextTick(()=>{var m,x;o.adjust&&a.orderedColumns.forEach(b=>{var M;const y=b;return!((M=t.columns[b.index])!=null&&M.width)&&!y.resized&&(y.width=0),y},void 0),u(),(m=s.body)!=null&&m.clientHeight&&c(),(x=s.body)!=null&&x.clientWidth&&d()})};return{calculatedColumn:u,onResize:f,onShow:m=>{m&&f()},onColumnResize:(m,x)=>{const b=s.header,y=s.body,M=b.getBoundingClientRect().left,E=b.querySelector(`li[data-index="${m}"]`),I=r(a.orderedColumns[m])?o.rendererMinWidth:o.minWidth,T=E.getBoundingClientRect(),V=y.getBoundingClientRect().right-M,C=s.resizeLine,S=T.left-M+I,k=T.right-M,w=x.clientX,B=T.left-M;y.style.overflow="auto",C.style.left=`${k}px`,o.showResizeLine=!0;const D=R=>{const v=R.clientX-w,N=k+v;let O=Math.max(S,N);O=Math.min(V,O),C.style.left=`${O}px`},L=()=>{const v=parseInt(C.style.left,10)-B;a.orderedColumns[m]&&(a.orderedColumns[m].width=v,a.orderedColumns[m].resized=!0),o.showResizeLine=!1,document.removeEventListener("mousemove",D),f();const N=di(a);n("resize-column",{column:a.orderedColumns[m],columns:N}),n("change-column-info",{type:"resize",columns:N})};document.addEventListener("mousemove",D),document.addEventListener("mouseup",L,{once:!0})}}},DS=e=>{const{emit:t}=i.getCurrentInstance(),n=e,o=(r,c)=>{var u;const d=r.target.tagName.toLowerCase();let h={};return r.target.offsetParent&&(d==="td"?h=r.target.dataset:h=((u=r.target.closest("td"))==null?void 0:u.dataset)??{}),{event:r,rowData:c,rowIndex:c.index,cellName:h.name,cellIndex:h.index}};let s=null;return{onRowClick:(r,c)=>{var d,h;return r.target&&r.target.parentElement&&(r.target.parentElement.classList.contains("row-checkbox-input")||(h=(d=r.target.closest("td"))==null?void 0:d.classList)!=null&&h.contains("row-contextmenu"))?!1:(clearTimeout(s),s=setTimeout(()=>{n.useSelect&&(c.selected?(c.selected=!1,n.multiple?r.ctrlKey?n.selectedRow=n.selectedRow.filter(u=>u.index!==c.index):n.selectedRow=[c]:n.selectedRow=[]):(c.selected=!0,r.ctrlKey&&n.multiple&&(!n.limitCount||n.limitCount>n.selectedRow.length)?n.selectedRow.push(c):n.selectedRow=[c]),t("update:selected",n.selectedRow),t("click-row",o(r,c)))},100),!0)},onRowDblClick:(r,c)=>{clearTimeout(s),t("dblclick-row",o(r,c))}}},LS=e=>{const{checkInfo:t,stores:n,checkHeader:o,pageInfo:s,getPagingData:l}=e,{emit:a}=i.getCurrentInstance(),r=()=>t.useCheckbox.mode==="each",c=g=>{const p=n.treeStore.findIndex(m=>m.index===g.index);p!==-1&&(n.treeStore[p].checked=g.checked)},d=g=>{r()||g.hasChild&&g.children.forEach(p=>{const m=p;g.checked&&!m.checked&&!m.uncheckable&&t.checkedRows.push(m),g.checked||(t.checkedRows=t.checkedRows.filter(x=>x.index!==m.index)),m.checked=g.checked&&!m.uncheckable,m.hasChild&&d(m)})},h=g=>{if(r())return;const p=g.parent;if(p){const m=p.children.every(b=>b.checked);p.checked=m&&!p.uncheckable;const x=p.children.filter(b=>b.uncheckable);if(x.length){const b=p.children.filter(y=>y.checked);x.length+b.length===p.children.length&&(p.checked=!0)}p.indeterminate=!m&&p.children.some(b=>b.checked||b.indeterminate),p.checked?t.checkedRows.push(p):t.checkedRows=t.checkedRows.filter(b=>b.index!==p.index),p.parent&&h(p)}};return{onCheck:(g,p)=>{let m=n.store;s.isClientPaging&&(m=l());const x=()=>t.useCheckbox.mode==="single",b=()=>{t.isHeaderChecked&&(t.isHeaderChecked=!1)},y=()=>{x()&&t.checkedRows.length>0&&(t.prevCheckedRow.checked=!1,c(t.prevCheckedRow))},M=I=>{if(x()){t.checkedRows=[I];return}d(I),h(I),t.checkedRows.push(I),I.indeterminate=!1},E=I=>{if(x()){t.checkedRows=[];return}t.checkedRows=t.checkedRows.filter(T=>T.index!==I.index)};y(),p.checked?(M(p),o(m)):(b(),E(p),d(p),h(p)),t.prevCheckedRow=p,a("update:checked",t.checkedRows),a("check-row",g,p.index,p)},onCheckAll:g=>{var x;const p=t.isHeaderChecked;let m=(x=n.store)==null?void 0:x.filter(b=>b.isFilter);s.isClientPaging&&(m=l()),m.forEach(b=>{b.checked=p&&!b.uncheckable,b.checked?t.checkedRows.find(y=>y.index===b.index)||t.checkedRows.push(b):t.checkedRows=t.checkedRows.filter(y=>y.index!==b.index),b.indeterminate=!1}),t.isHeaderIndeterminate=!1,a("update:checked",t.checkedRows),a("check-all",g,t.checkedRows)}}},RS=e=>{const{emit:t}=i.getCurrentInstance(),{contextInfo:n,stores:o,selectInfo:s,useGridSetting:l,columnSettingInfo:a,setColumnHidden:r,onSort:c}=e,d=(g=!0)=>{const p=[];if(g&&n.customContextMenu.length){const m=s.selectedRow,x=n.customContextMenu.map(b=>{const y=b;return y.validate&&(y.disabled=!y.validate(y.itemId,m)),y.selectedRow=m??[],y});p.push(...x)}n.contextMenuItems=p};return{setContextMenu:d,onContextMenu:g=>{var x,b;const m=(b=(x=g.target.closest(".row"))==null?void 0:x.dataset)==null?void 0:b.index;if(m){const y=o.viewStore.findIndex(E=>E.index===Number(m)),M=o.viewStore[y];s.selectedRow=[M],d(),t("update:selected",s.selectedRow)}else s.selectedRow=[],d(!1),t("update:selected",[])},onColumnContextMenu:(g,p)=>{var m,x,b,y,M,E;if(g.target.className.includes("column-name")){const I=!!p.sortable;n.columnMenuItems=[{text:((m=n.columnMenuTextInfo)==null?void 0:m.hide)??"Hide",iconClass:"ev-icon-visibility-off",disabled:!l.value||o.orderedColumns.length===1||!!p.fixed,hidden:((x=n.hiddenColumnMenuItem)==null?void 0:x.hide)||!l.value,click:()=>{r(p.field),t("change-column-status",{columns:o.updatedColumns}),t("change-column-info",{type:"display",columns:o.updatedColumns})}},{text:((b=n.columnMenuTextInfo)==null?void 0:b.ascending)??"Ascending",iconClass:"ev-icon-allow2-up",disabled:!I,hidden:(y=n.hiddenColumnMenuItem)==null?void 0:y.ascending,click:()=>c(p,"asc")},{text:((M=n.columnMenuTextInfo)==null?void 0:M.descending)??"Descending",iconClass:"ev-icon-allow2-down",disabled:!I,hidden:(E=n.hiddenColumnMenuItem)==null?void 0:E.descending,click:()=>c(p,"desc")}]}else n.columnMenuItems.length=0},onGridSettingContextMenu:g=>{const{useDefaultColumnSetting:p,columnSettingTextInfo:m}=a,x={text:(m==null?void 0:m.title)??"Column List",isShowMenu:!0,click:()=>{a.isShowColumnSetting=!0,n.isShowMenuOnClick=!0}};n.customGridSettingContextMenu.length&&(n.gridSettingContextMenuItems=[...n.customGridSettingContextMenu]),p&&n.gridSettingContextMenuItems.push(x),n.gridSettingMenu.show(g)}}},OS=e=>{const{emit:t}=i.getCurrentInstance(),{stores:n,onResize:o}=e,s=()=>{let r=0;const c=[];function d(u){const f={};return Object.keys(u).forEach(g=>{g!=="children"&&(f[g]=u[g])}),f}function h(u){const{node:f,level:g,isShow:p,parent:m,uncheckable:x}=u;f!==null&&typeof f=="object"&&(f.index=r++,f.level=g,Object.hasOwnProperty.call(f,"checked")||(f.checked=!1),Object.hasOwnProperty.call(f,"selected")||(f.selected=!1),Object.hasOwnProperty.call(f,"show")||(f.show=p),Object.hasOwnProperty.call(f,"expand")||(f.expand=!0),Object.hasOwnProperty.call(f,"isFilter")||(f.isFilter=!1),Object.hasOwnProperty.call(f,"uncheckable")||(f.uncheckable=x),Object.hasOwnProperty.call(f,"indeterminate")||(f.indeterminate=!1),Object.hasOwnProperty.call(f,"data")||(f.data=d(f)),c.push(f),Object.hasOwnProperty.call(f,"parent")||(f.parent=m),f.children&&(f.hasChild=!0,f.children.forEach(b=>h({node:b,level:g+1,isShow:f.show&&f.expand,parent:f,uncheckable:f.uncheckable}))))}return n.treeRows.forEach(u=>{h({node:u,level:0,isShow:!0,parent:void 0,uncheckable:!1})}),c},l=(r,c,d)=>{r.forEach(h=>{const u=h;u.show=d&&c?u.isFilter:c,u.hasChild&&l(u.children,u.show&&u.expand,u.isFilter)})};return{setTreeNodeStore:s,handleExpand:r=>{const c=!r.expand,d=r;d.expand=!d.expand,l(d.children,d.expand,d.isFilter),t("toggle-row",{row:d,isExpand:c}),o()}}},NS=e=>{const{stores:t,filterInfo:n,pageInfo:o,getConvertValue:s,onResize:l,checkHeader:a,getPagingData:r,updatePagingInfo:c}=e,d=g=>{if(!(g!=null&&g.parent))return;const{parent:p}=g;p.show=!0,p.isFilter=!0,d(p)},h=g=>{if(!(g!=null&&g.children))return;const{children:p}=g;p.forEach(m=>{const x=m;x.parent.show&&x.parent.expand?x.show=!0:x.show=!1,x.isFilter=!0,x.hasChild&&h(x)})};let u=null;return{onSearch:g=>{u&&clearTimeout(u),u=setTimeout(()=>{n.isSearch=!1,n.searchWord=g;const p=t.treeStore;p.forEach(m=>{m.show=!1,m.isFilter=!1}),g?(p.filter(x=>{let b=!1;for(let y=0;y<t.orderedColumns.length;y++){const M=t.orderedColumns[y]||{};let E=x[M.field]??null;if(M.type=M.type||"string",E!==null&&!M.hide&&((M==null?void 0:M.searchable)===void 0||M!=null&&M.searchable)&&(E=s(M,E).toString(),b=E.toLowerCase().includes(g.toString().toLowerCase()),b))break}return b}).forEach(x=>{x.show=!0,x.parent&&!x.parent.expand&&(x.show=!1),x.isFilter=!0,d(x),h(x)}),n.isSearch=!0):(p.forEach(m=>{m.show=!0,m.isFilter=!1}),p.forEach(m=>{d(m),h(m)})),!g&&o.isClientPaging&&o.prevPage&&(o.currentPage=1,t.pagingStore=r()),c({onSearch:!0}),a(t.store),l()},500)}}},VS=e=>{const{emit:t}=i.getCurrentInstance(),{stores:n,pageInfo:o,sortInfo:s,filterInfo:l,elementInfo:a,clearCheckInfo:r}=e,c=()=>{const u=(o.currentPage-1)*o.perPage,f=parseInt(u,10)+parseInt(o.perPage,10);return n.showTreeStore.slice(u,f)},d=u=>{t("page-change",{eventName:u,pageInfo:{currentPage:o.currentPage,prevPage:o.prevPage,startIndex:o.startIndex,total:o.pageTotal,perPage:o.perPage},sortInfo:{field:s.sortField,order:s.sortOrder},searchInfo:{searchWord:l.searchWord,searchColumns:n.orderedColumns.filter(f=>!f.hide&&((f==null?void 0:f.searchable)===void 0||(f==null?void 0:f.searchable))).map(f=>f.field)}}),o.isInfinite&&(u!=null&&u.onSearch||u!=null&&u.onSort)&&(o.currentPage=1,a.body.scrollTop=0,r())};return{getPagingData:c,updatePagingInfo:d,changePage:u=>{if(o.isClientPaging)if(o.prevPage=u,n.showTreeStore.length<=o.perPage)n.pagingStore=n.showTreeStore;else{const f=(o.currentPage-1)*o.perPage,g=parseInt(f,10)+parseInt(o.perPage,10);n.pagingStore=n.showTreeStore.slice(f,g),a.body.scrollTop=0,o.startIndex=f}d({onChangePage:!0})}}},PS=({sortInfo:e,stores:t})=>{const{emit:n}=i.getCurrentInstance(),o=(u=!0)=>u?["asc","desc","init"]:["asc","desc"];function s(){this.orders=o(),this.dequeue=()=>this.orders.shift(),this.enqueue=u=>this.orders.push(u)}const l=(u,f="init")=>{t.orderedColumns.forEach(g=>{g.index===(u==null?void 0:u.index)&&f?g.sortOption={sortType:f}:g.sortOption={sortType:"init"}})},a=()=>{const u=t.originColumns.filter(f=>f.hiddenDisplay||f.hide);u.length&&u.forEach(f=>{f.sortOption={sortType:"init"}})},r=new s;return{onSort:(u,f)=>{if(u.sortable===void 0?!0:u.sortable){e.sortColumn=u,e.sortField!==(u==null?void 0:u.field)&&(r.orders=o(),e.sortField=u==null?void 0:u.field),f&&(r.orders=o(),f==="desc"&&(e.sortOrder=r.dequeue(),r.enqueue(e.sortOrder))),e.sortOrder=r.dequeue(),r.enqueue(e.sortOrder),a(),l(u,e.sortOrder);const p=di(t);n("sort-column",{field:e.sortField,order:e.sortOrder,column:e.sortColumn,columns:p}),n("change-column-info",{type:"sort",columns:p})}},setSortInfo:(u,f=!0)=>{const g=u==null?void 0:u.findIndex(x=>{var b;return(x==null?void 0:x.sortable)&&((b=x==null?void 0:x.sortOption)==null?void 0:b.sortType)&&x.sortOption.sortType!=="init"}),p=u[g];g>-1&&(p.index=g);const{sortType:m}=(p==null?void 0:p.sortOption)||{};e.sortColumn=p,e.sortField=p==null?void 0:p.field,e.isSorting=!!m,e.sortOrder=m,l(p,m),f&&n("change-column-info",{type:"sort",columns:di(t)})},initSortInfo:u=>{e.isSorting=!1,e.sortOrder="init",u.forEach(f=>{var g;(g=f==null?void 0:f.sortOption)!=null&&g.sortType&&f.sortOption.sortType!=="init"&&(f.sortOption.sortType="init")})}}},_S={name:"EvTreeGrid",components:{TreeGridNode:wS,Toolbar:ES,GridPagination:gr,GridSummary:Cr,ColumnSetting:Sr,GridSortButton:wr,GridOptionButton:Ns},directives:{observeVisibility:Yi,resize:wn},props:{columns:{type:[Array],default:()=>[]},rows:{type:[Array,Object],default:()=>null},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:"100%"},selected:{type:[Array],default:()=>[]},checked:{type:[Array],default:()=>[]},option:{type:Object,default:()=>({})},expandIcon:{type:String,default:""},collapseIcon:{type:String,default:""}},emits:{"update:selected":null,"update:checked":null,"click-row":null,"dblclick-row":null,"check-row":null,"check-all":null,"page-change":null,"sort-column":null,"toggle-row":null,"resize-column":({column:e,columns:t})=>({column:e,columns:t}),"change-column-status":({columns:e})=>({columns:e}),"change-column-info":({type:e,columns:t})=>({type:e,columns:t})},setup(e){var hi,ui,fi,mi,gi,pi,yi,qt,gn;const t=i.ref(null),n=i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useGridSetting)==null?void 0:ne.use)||!1}),o=i.computed(()=>{var X;return((X=e.option)==null?void 0:X.useSummary)||!1}),s=i.computed(()=>e.option.emptyText??"No records"),l=i.reactive({body:null,header:null,table:null,resizeLine:null,"grid-wrapper":null}),a=i.reactive({isSearch:!1,searchWord:""}),r=i.reactive({isShowColumnSetting:!1,isFilteringColumn:!1,visibleColumnIdx:[],hiddenColumn:"",columnSettingPosition:{top:0,left:0,columnListMenuWidth:0},useDefaultColumnSetting:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useGridSetting)==null?void 0:ne.useDefaultColumnSetting)??!0}),columnSettingTextInfo:{title:((ui=(hi=e.option)==null?void 0:hi.useGridSetting)==null?void 0:ui.columnMenuText)??"Column List",search:((mi=(fi=e.option)==null?void 0:fi.useGridSetting)==null?void 0:mi.searchText)??"Search",empty:((pi=(gi=e.option)==null?void 0:gi.useGridSetting)==null?void 0:pi.emptyText)??"No records",ok:((qt=(yi=e.option)==null?void 0:yi.useGridSetting)==null?void 0:qt.okBtnText)??"OK"}}),c=i.reactive({treeStore:[],viewStore:[],filterStore:[],pagingStore:[],originStore:[],showTreeStore:i.computed(()=>c.treeStore.filter(X=>X.show)),searchStore:i.computed(()=>c.treeStore.filter(X=>X.isFilter)),store:i.computed(()=>a.isSearch?c.searchStore:c.treeStore),treeRows:e.rows,filteredColumns:[],originColumns:i.computed(()=>e.columns.map((X,ne)=>{var he;return{index:ne,hiddenDisplay:!1,...X,width:isFinite(X.width)?X.width:void 0,sortOption:{sortType:((he=X==null?void 0:X.sortOption)==null?void 0:he.sortType)||"init"}}})),orderedColumns:i.computed(()=>c.filteredColumns.length?c.filteredColumns:c.originColumns),updatedColumns:i.computed(()=>di(c))}),d=i.reactive({usePage:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.use)||!1}),useClient:((gn=e.option.page)==null?void 0:gn.useClient)||!1,isInfinite:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.isInfinite)||!1}),startIndex:0,prevPage:0,currentPage:0,pageTotal:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.total)||0}),perPage:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.perPage)||20}),visiblePage:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.visiblePage)||8}),order:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.order)||"center"}),showPageInfo:i.computed(()=>{var X;return((X=e.option.page)==null?void 0:X.showPageInfo)||!1}),isClientPaging:i.computed(()=>d.useClient&&d.usePage&&!d.isInfinite),isHighlight:!1,highlightPage:0}),h=i.reactive({prevCheckedRow:[],isHeaderChecked:!1,isHeaderUncheckable:!1,isHeaderIndeterminate:!1,checkedRows:e.checked,useCheckbox:i.computed(()=>e.option.useCheckbox||{})}),{isRenderer:u,getComponentName:f,getConvertValue:g,getColumnIndex:p,setPixelUnit:m,checkHeader:x}=vS({checkInfo:h}),b=i.reactive({lastScroll:{top:0,left:0},vScrollTopHeight:0,vScrollBottomHeight:0,hasVerticalScrollBar:!1,hasHorizontalScrollBar:!1}),y=i.reactive({selectedRow:e.selected,useSelect:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useSelection)==null?void 0:ne.use)??!0}),limitCount:i.computed(()=>{var ne,he;let X=(he=(ne=e.option)==null?void 0:ne.useSelection)==null?void 0:he.limitCount;return X=X&&X>=2?X:0,X}),multiple:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useSelection)==null?void 0:ne.multiple)??!1})}),M=i.reactive({isSorting:!1,sortField:"",sortOrder:"",sortColumn:{},sortFunction:e.option.customAscFunction??{}}),E=i.reactive({menu:null,contextMenuItems:[],contextMenuClass:e.option.customContextMenuClass||"",columnMenu:null,columnMenuItems:[],columnMenuTextInfo:e.option.columnMenuText||{},hiddenColumnMenuItem:e.option.hiddenColumnMenuItem||{},customContextMenu:e.option.customContextMenu||[],gridSettingMenu:null,gridSettingContextMenuItems:[],customGridSettingContextMenu:i.computed(()=>{var X,ne;return((ne=(X=e.option)==null?void 0:X.useGridSetting)==null?void 0:ne.customContextMenu)||[]}),isShowMenuOnClick:!1}),I=i.reactive({minWidth:40,rendererMinWidth:80,showResizeLine:!1,adjust:e.option.adjust||!1,columnWidth:e.option.columnWidth||80,scrollWidth:e.option.scrollWidth||17,rowHeight:i.computed(()=>e.option.rowHeight||35),gridWidth:i.computed(()=>e.width?m(e.width):"100%"),gridHeight:i.computed(()=>e.height?m(e.height):"100%"),isResize:!1}),T=i.reactive({showHeader:i.computed(()=>e.option.showHeader===void 0?!0:e.option.showHeader),stripeStyle:i.computed(()=>{var X;return((X=e.option.style)==null?void 0:X.stripe)||!1}),borderStyle:i.computed(()=>{var X;return((X=e.option.style)==null?void 0:X.border)||""}),highlightIdx:i.computed(()=>{var X;return((X=e.option.style)==null?void 0:X.highlight)??-1})}),V=()=>{y.selectedRow.length=0,c.store.forEach(X=>{X.selected=!1})},C=()=>{h.isHeaderChecked=!1,h.isHeaderIndeterminate=!1,h.checkedRows.length=0,c.store.forEach(X=>{X.checked=!1,X.indeterminate=!1})},{getPagingData:S,updatePagingInfo:k,changePage:w}=VS({stores:c,pageInfo:d,sortInfo:M,filterInfo:a,elementInfo:l,clearCheckInfo:C}),B=i.ref(0),{updateVScroll:D,updateHScroll:L,onScroll:R}=TS({scrollInfo:b,stores:c,elementInfo:l,resizeInfo:I,pageInfo:d,summaryScroll:B,getPagingData:S,updatePagingInfo:k}),{onRowClick:v,onRowDblClick:N}=DS(y),{onCheck:O,onCheckAll:P}=LS({checkInfo:h,stores:c,checkHeader:x,pageInfo:d,getPagingData:S}),{calculatedColumn:_,onResize:A,onShow:z,onColumnResize:$}=BS({resizeInfo:I,elementInfo:l,checkInfo:h,stores:c,isRenderer:u,updateVScroll:D,updateHScroll:L,contextInfo:E}),{setTreeNodeStore:W,handleExpand:F}=OS({stores:c,onResize:A}),{onSort:U,initSortInfo:j,setSortInfo:K}=PS({sortInfo:M,stores:c}),{onSearch:q}=NS({stores:c,filterInfo:a,pageInfo:d,getConvertValue:g,onResize:A,checkHeader:x,getPagingData:S,updatePagingInfo:k}),{setPositionColumnSetting:ee,initColumnSettingInfo:J,onApplyColumn:te,setColumnHidden:G}=kr({stores:c,columnSettingInfo:r,contextInfo:E,onSearch:q,onResize:A}),{setContextMenu:oe,onContextMenu:Z,onColumnContextMenu:ae,onGridSettingContextMenu:me}=RS({contextInfo:E,stores:c,selectInfo:y,useGridSetting:n,columnSettingInfo:r,setColumnHidden:G,onSort:U}),re=X=>{E.gridSettingContextMenuItems.length=0,E.customGridSettingContextMenu.length?me(X):r.isShowColumnSetting=!0},ue=X=>{var ne,he,xe,Me,Pe,Xe;X.type==="wheel"&&((ne=E.menu)==null||ne.hide(X)),X.type==="scroll"&&!((he=X.target.classList)!=null&&he.contains("table-body"))&&!((Me=(xe=X.target.offsetParent)==null?void 0:xe.classList)!=null&&Me.contains("ev-grid-column-setting"))&&(r.isShowColumnSetting=!1,E.isShowMenuOnClick=!1,(Pe=E.columnMenu)==null||Pe.hide(X),(Xe=E.gridSettingMenu)==null||Xe.hide())};i.onMounted(()=>{var X;if(c.treeStore=W(),c.originStore=Se(c.treeStore),(X=e.option)!=null&&X.useSort)K(e.columns,!1);else{const ne=E.hiddenColumnMenuItem;ne.ascending=!0,ne.descending=!0}document.addEventListener("wheel",ue,{capture:!1}),document.addEventListener("scroll",ue,{capture:!0})}),i.onUnmounted(()=>{document.removeEventListener("wheel",ue,{capture:!1}),document.removeEventListener("scroll",ue,{capture:!0})}),i.onActivated(()=>{A()}),i.watch(()=>{var X;return(X=e.option)==null?void 0:X.useSort},X=>{const ne=e.option.hiddenColumnMenuItem,he=E.hiddenColumnMenuItem;X?(he.ascending=(ne==null?void 0:ne.ascending)??!1,he.descending=(ne==null?void 0:ne.descending)??!1,K(e.columns,!1)):(he.ascending=!0,he.descending=!0,j(e.columns))}),i.watch(()=>r.isShowColumnSetting,X=>{var ne;if(!X){(ne=E.gridSettingMenu)==null||ne.hide();return}ee(t.value)}),i.watch(()=>e.columns,()=>{J()},{deep:!0,immediate:!0}),i.watch(()=>e.checked,X=>{h.checkedRows=X}),i.watch(()=>h.checkedRows,X=>{h.isHeaderChecked=!1;let ne=c.store;d.isClientPaging&&(ne=S()),ne.length&&(ne.forEach(he=>{he.checked=!!X.find(xe=>xe.index===he.index)}),x(ne)),D()}),i.watch(()=>e.selected,X=>{y.useSelect&&(y.selectedRow=X)}),i.watch(()=>y.selectedRow,X=>{y.useSelect&&(c.store.forEach(ne=>{ne.selected=!!X.find(he=>he.index===ne.index)}),D())},{deep:!0}),i.watch(()=>T.highlightIdx,async X=>{await i.nextTick();const ne=xe=>{if(!(xe!=null&&xe.children))return;const{children:Me}=xe;Me.forEach(Pe=>{const Xe=Pe;Xe.parent.show&&Xe.parent.expand?Xe.show=!0:Xe.show=!1,Xe.isFilter=!0,Xe.hasChild&&ne(Xe)})},he=xe=>{if(!(xe!=null&&xe.parent)){ne(xe);return}const{parent:Me}=xe;Me.show=!0,Me.isFilter=!0,Me.expand=!0,ne(Me),he(Me)};if(X>=0){const xe=c.store.find(Pe=>Pe.index===X);if(!xe)return;xe.show=!0,xe.isFilter=!0,he(xe);const Me=c.showTreeStore.map(Pe=>Pe.index).indexOf(xe.index);if(d.usePage&&!d.isInfinite){const Pe=Math.ceil(Me/d.perPage);if(d.highlightPage=Me===d.perPage?Pe+1:Pe||1,d.highlightPage!==d.currentPage){d.currentPage=d.highlightPage,d.isHighlight=!0;return}}l.body.scrollTop=I.rowHeight*Me}}),i.watch(()=>h.useCheckbox.mode,()=>{h.checkedRows=[],h.isHeaderChecked=!1}),i.watch(()=>y.useSelect,()=>{V()}),i.watch(()=>y.multiple,()=>{V()}),i.watch(()=>e.rows,X=>{c.treeRows=X,c.treeStore=W(),A()},{deep:!0}),i.watch(()=>c.treeStore.length,()=>{x(c.store)}),i.watch(()=>[e.width,e.height,e.option.columnWidth],()=>{e.option.columnWidth!=null&&(I.columnWidth=e.option.columnWidth),c.orderedColumns.map(X=>{var he;const ne=X;return!((he=e.columns[X.index])!=null&&he.width)&&!ne.resized&&(ne.width=0),ne}),A()}),i.watch(()=>e.option.searchValue,X=>{i.nextTick(()=>{X!==void 0&&(q((X==null?void 0:X.value)??X),d.isClientPaging&&(C(),V()))})},{immediate:!0}),i.watch(()=>{var X;return(X=e.option.page)==null?void 0:X.currentPage},X=>{var he;const ne=X||1;d.currentPage=(he=e.option.page)!=null&&he.isInfinite?1:ne},{immediate:!0}),i.watch(()=>d.currentPage,(X,ne)=>{i.nextTick(()=>{if(w(ne),d.isClientPaging&&X!==ne&&(C(),V()),D(),X===d.highlightPage&&d.isHighlight){const he=c.pagingStore.map(xe=>xe.index).indexOf(T.highlightIdx);l.body.scrollTop=I.rowHeight*he,d.isHighlight=!d.isHighlight}})});const ke=()=>({"column-sort__icon":!0,"column-sort__icon--asc":M.sortOrder==="asc","column-sort__icon--desc":M.sortOrder==="desc"}),rt=i.computed(()=>({width:I.gridWidth,height:I.gridHeight})),ct=i.computed(()=>({"table-body":!0,stripe:T.stripeStyle,"bottom-border":!!c.viewStore.length,"non-border":!!T.borderStyle})),yt=i.computed(()=>({table:!0,"ev-grid":!0,"ev-tree-grid":!0,adjust:I.adjust,"non-header":!T.showHeader,"ev-tree-grid--empty":!c.viewStore.length})),uo=i.computed(()=>({"table-header":!0,"non-border":!!T.borderStyle})),fo=i.computed(()=>({column:!0,"checkbox-all":!0,"non-border":!!T.borderStyle})),mo=i.computed(()=>h.useCheckbox.use&&h.useCheckbox.headerCheck&&h.useCheckbox.mode!=="single"),Zt=X=>({column:!0,render:u(X),"non-border":!!T.borderStyle,[X.field]:X.field}),As=(X,ne)=>{const he=u(X);return{width:`${X.width}px`,"min-width":he?`${I.rendererMinWidth}px;`:`${I.minWidth}px`,"margin-right":c.orderedColumns.length-1===ne&&b.hasVerticalScrollBar&&b.hasHorizontalScrollBar?`${I.scrollWidth}px`:"0px","border-right":c.orderedColumns.length-1===ne?"none":"1px solid #CFCFCF"}},zs=X=>`${X}Node`;return{summaryScroll:B,gridStyle:rt,gridClass:yt,headerClass:uo,headerCheckboxClass:fo,isHeaderCheckbox:mo,bodyStyle:ct,useSummary:o,useGridSetting:n,toolbarRef:t,stores:c,emptyText:s,...i.toRefs(T),...i.toRefs(l),...i.toRefs(c),...i.toRefs(a),...i.toRefs(b),...i.toRefs(I),...i.toRefs(y),...i.toRefs(h),...i.toRefs(M),...i.toRefs(E),...i.toRefs(d),...i.toRefs(r),isRenderer:u,getComponentName:f,getConvertValue:g,getColumnIndex:p,setPixelUnit:m,updateVScroll:D,updateHScroll:L,onScroll:R,calculatedColumn:_,onResize:A,onShow:z,onColumnResize:$,onRowClick:v,onRowDblClick:N,onCheck:O,onCheckAll:P,setContextMenu:oe,onContextMenu:Z,onSearch:q,handleExpand:F,getColumnClass:Zt,getColumnStyle:As,getSlotName:zs,setGridSetting:re,onApplyColumn:te,onColumnContextMenu:ae,onSort:U,sortIconClass:ke}}},AS={class:"column-list"},zS=["data-index"],FS=["title","onClick"],HS=["onClick"],WS=["onMousedown"],$S={ref:"table"},XS=["title"],US={key:0},YS={class:"is-empty"},jS={ref:"resizeLine",class:"table-resize-line"};function GS(e,t,n,o,s,l){var b;const a=i.resolveComponent("grid-option-button"),r=i.resolveComponent("toolbar"),c=i.resolveComponent("ev-checkbox"),d=i.resolveComponent("grid-sort-button"),h=i.resolveComponent("tree-grid-node"),u=i.resolveComponent("ev-context-menu"),f=i.resolveComponent("grid-summary"),g=i.resolveComponent("grid-pagination"),p=i.resolveComponent("column-setting"),m=i.resolveDirective("resize"),x=i.resolveDirective("observe-visibility");return i.openBlock(),i.createElementBlock(i.Fragment,null,[e.$slots.toolbar||o.useGridSetting?(i.openBlock(),i.createElementBlock("div",{key:0,ref:"toolbarRef",class:"toolbar-wrapper",style:i.normalizeStyle(`width: ${e.gridWidth};`)},[i.createVNode(r,null,{toolbarWrapper:i.withCtx(()=>[o.useGridSetting?(i.openBlock(),i.createBlock(a,{key:0,class:"grid-setting__icon",onClick:o.setGridSetting},null,8,["onClick"])):i.createCommentVNode("",!0),i.renderSlot(e.$slots,"toolbar",{item:{onSearch:o.onSearch}},void 0,!0)]),_:3})],4)):i.createCommentVNode("",!0),i.withDirectives((i.openBlock(),i.createElementBlock("div",{ref:"grid-wrapper",style:i.normalizeStyle(o.gridStyle)},[i.createElementVNode("div",{ref:"grid",class:i.normalizeClass(o.gridClass)},[i.withDirectives(i.createElementVNode("div",{ref:"header",class:i.normalizeClass(o.headerClass)},[i.createElementVNode("ul",AS,[e.useCheckbox.use?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass(o.headerCheckboxClass),style:i.normalizeStyle({width:`${e.minWidth}px`,"border-right":"1px solid #CFCFCF"})},[o.isHeaderCheckbox?(i.openBlock(),i.createBlock(c,{key:0,modelValue:e.isHeaderChecked,"onUpdate:modelValue":t[0]||(t[0]=y=>e.isHeaderChecked=y),disabled:e.isHeaderUncheckable,indeterminate:e.isHeaderIndeterminate,onChange:o.onCheckAll},null,8,["modelValue","disabled","indeterminate","onChange"])):i.createCommentVNode("",!0)],6)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.orderedColumns,(y,M)=>{var E,I;return i.openBlock(),i.createElementBlock(i.Fragment,{key:M},[!y.hide&&!y.hiddenDisplay?(i.openBlock(),i.createElementBlock("li",{key:0,"data-index":M,class:i.normalizeClass(o.getColumnClass(y)),style:i.normalizeStyle(o.getColumnStyle(y,M))},[y.customHeader&&e.$slots.customHeader?i.renderSlot(e.$slots,"customHeader",{key:0},void 0,!0):(i.openBlock(),i.createElementBlock("span",{key:1,title:y.caption,class:i.normalizeClass(["column-name",{"column-name--click":o.useGridSetting}]),onClick:[T=>o.onColumnContextMenu(T,y),t[1]||(t[1]=i.withModifiers((...T)=>e.columnMenu.show&&e.columnMenu.show(...T),["prevent"]))]},[i.createTextVNode(i.toDisplayString(y.caption)+" ",1),i.createElementVNode("span",{onClick:i.withModifiers(T=>o.onSort(y),["stop"])},[e.$slots.sortIcon?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[(E=e.$props.option)!=null&&E.useSort&&(y!=null&&y.sortable)?(i.openBlock(),i.createElementBlock("span",{key:0,class:"column-sort__icon column-sort__icon--basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,"sortIcon",{},void 0,!0)],4)):i.createCommentVNode("",!0),e.sortField===y.field?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass(o.sortIconClass(y)),style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},[i.renderSlot(e.$slots,`sortIcon_${e.sortOrder}`,{},void 0,!0)],6)):i.createCommentVNode("",!0)],64)):(i.openBlock(),i.createElementBlock(i.Fragment,{key:1},[(I=e.$props.option)!=null&&I.useSort&&(y!=null&&y.sortable)?(i.openBlock(),i.createBlock(d,{key:0,class:"column-sort__icon column-sort__icon--basic",icon:"basic",style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`})},null,8,["style"])):i.createCommentVNode("",!0),e.sortField===y.field?(i.openBlock(),i.createBlock(d,{key:1,class:i.normalizeClass(o.sortIconClass(y)),icon:e.sortOrder,style:i.normalizeStyle({height:`${e.rowHeight}px`,"line-height":`${e.rowHeight}px`,visibility:e.sortOrder?y.hidden:!0})},null,8,["class","icon","style"])):i.createCommentVNode("",!0)],64))],8,HS)],10,FS)),i.createElementVNode("span",{class:"column-resize",onMousedown:i.withModifiers(T=>o.onColumnResize(M,T),["stop","left"])},null,40,WS)],14,zS)):i.createCommentVNode("",!0)],64)}),128)),(b=e.$props.option.customContextMenu)!=null&&b.length?(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass({column:!0,"non-border":!!e.borderStyle}),style:i.normalizeStyle({width:"30px","min-width":"30px","margin-right":e.hasVerticalScrollBar||e.hasHorizontalScrollBar?`${e.scrollWidth}px`:"0px"})},null,6)):i.createCommentVNode("",!0)])],2),[[i.vShow,e.showHeader]]),i.createElementVNode("div",{ref:"body",class:i.normalizeClass(o.bodyStyle),onScroll:t[2]||(t[2]=(...y)=>o.onScroll&&o.onScroll(...y)),onContextmenu:[t[3]||(t[3]=y=>o.onContextMenu(y)),t[4]||(t[4]=i.withModifiers((...y)=>e.menu.show&&e.menu.show(...y),["prevent"]))]},[i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollTopHeight}px;`),class:"vscroll-spacer"},null,4),i.createElementVNode("table",$S,[i.createElementVNode("tbody",null,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(e.viewStore,(y,M)=>(i.openBlock(),i.createBlock(h,{key:M,"selected-data":e.selectedRow,"node-data":y,"use-checkbox":e.useCheckbox,"ordered-columns":e.orderedColumns,"expand-icon":n.option.expandIcon,"collapse-icon":n.option.collapseIcon,"parent-icon":n.option.parentIcon,"child-icon":n.option.childIcon,"custom-context-menu":e.customContextMenu,"menu-ref":e.menu,"is-resize":e.isResize,"row-height":e.rowHeight,"min-width":e.minWidth,"highlight-index":e.highlightIdx,"border-style":e.borderStyle,onCheckTreeData:o.onCheck,onExpandTreeData:o.handleExpand,onClickTreeData:o.onRowClick,onDblClickTreeData:o.onRowDblClick,onContextMenu:o.onContextMenu},i.createSlots({_:2},[i.renderList(e.orderedColumns,(E,I)=>({name:o.getSlotName(E.field),fn:i.withCtx(({item:T})=>[e.$slots[E.field]?i.renderSlot(e.$slots,E.field,{key:0,item:{data:T.data,fieldName:E.field}},void 0,!0):(i.openBlock(),i.createElementBlock("span",{key:1,title:o.getConvertValue(E,y[E.field])},i.toDisplayString(o.getConvertValue(E,y[E.field])),9,XS))])})),e.$slots.contextmenuIcon?{name:"contextmenuIconNode",fn:i.withCtx(()=>[i.renderSlot(e.$slots,"contextmenuIcon",{},void 0,!0)]),key:"0"}:void 0]),1032,["selected-data","node-data","use-checkbox","ordered-columns","expand-icon","collapse-icon","parent-icon","child-icon","custom-context-menu","menu-ref","is-resize","row-height","min-width","highlight-index","border-style","onCheckTreeData","onExpandTreeData","onClickTreeData","onDblClickTreeData","onContextMenu"]))),128)),e.viewStore.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("tr",US,[i.createElementVNode("td",YS,i.toDisplayString(o.emptyText),1)]))])],512),i.createElementVNode("div",{style:i.normalizeStyle(`height: ${e.vScrollBottomHeight}px;`),class:"vscroll-spacer"},null,4),i.createVNode(u,{ref:"menu","custom-class":e.contextMenuClass,items:e.contextMenuItems},null,8,["custom-class","items"]),i.createVNode(u,{ref:"columnMenu",items:e.columnMenuItems},null,8,["items"]),i.createVNode(u,{ref:"gridSettingMenu",items:e.gridSettingContextMenuItems,"is-show-menu-on-click":e.isShowMenuOnClick},null,8,["items","is-show-menu-on-click"])],34),i.withDirectives(i.createElementVNode("div",jS,null,512),[[i.vShow,e.showResizeLine]])],2)],4)),[[m,o.onResize],[x,{callback:o.onShow,once:!0}]]),o.useSummary?(i.openBlock(),i.createBlock(f,{key:1,"is-tree":!0,"ordered-columns":e.orderedColumns,stores:o.stores,"use-checkbox":e.useCheckbox.use,"style-option":{borderStyle:e.borderStyle,minWidth:e.minWidth,rowHeight:e.rowHeight},"scroll-left":o.summaryScroll},null,8,["ordered-columns","stores","use-checkbox","style-option","scroll-left"])):i.createCommentVNode("",!0),e.usePage&&!e.isInfinite?(i.openBlock(),i.createBlock(g,{key:2,modelValue:e.currentPage,"onUpdate:modelValue":t[5]||(t[5]=y=>e.currentPage=y),total:e.showTreeStore.length,"per-page":e.perPage,"visible-page":e.visiblePage,"show-page-info":e.showPageInfo,order:e.order},null,8,["modelValue","total","per-page","visible-page","show-page-info","order"])):i.createCommentVNode("",!0),i.createVNode(p,{"is-show":e.isShowColumnSetting,"onUpdate:isShow":t[6]||(t[6]=y=>e.isShowColumnSetting=y),"is-show-menu-on-click":e.isShowMenuOnClick,"onUpdate:isShowMenuOnClick":t[7]||(t[7]=y=>e.isShowMenuOnClick=y),columns:e.updatedColumns,"hidden-column":e.hiddenColumn,position:e.columnSettingPosition,"text-info":e.columnSettingTextInfo,onApplyColumn:o.onApplyColumn},null,8,["is-show","is-show-menu-on-click","columns","hidden-column","position","text-info","onApplyColumn"])],64)}const co=le(_S,[["render",GS],["__scopeId","data-v-9ed705b7"]]);co.install=e=>{e.component(co.name,co)};const ZS={name:"PageButton",props:{page:{type:Object,required:!0},disabled:{type:Boolean,default:!1}}},qS=["aria-current"];function KS(e,t,n,o,s,l){return i.openBlock(),i.createElementBlock("span",i.mergeProps({class:{"is-current":n.page.isCurrent,"is-disabled":n.disabled||n.page.disabled,[n.page.class]:!0}},e.$attrs,{"aria-current":n.page.isCurrent,onClick:t[0]||(t[0]=i.withModifiers((...a)=>n.page.click&&n.page.click(...a),["stop"]))}),[i.renderSlot(e.$slots,"default",{},()=>[i.createTextVNode(i.toDisplayString(n.page.number),1)])],16,qS)}const JS={name:"EvPagination",components:{EvIcon:hn,pageButton:le(ZS,[["render",KS]])},props:{total:{type:[Number,String],default:0},visiblePage:{type:[Number,String],default:8},perPage:{type:[Number,String],default:20},modelValue:{type:[Number,String],default:1},showPageInfo:{type:Boolean,default:!1},order:{type:String,default:"left",validator:e=>["left","right","center"].includes(e)},pagePerJump:{type:[Number,void 0],default:void 0}},emits:{"update:modelValue":null,change:null},setup(e,{emit:t}){const n=i.computed(()=>e.visiblePage>7?e.visiblePage:7),o=i.computed(()=>e.modelValue),s=i.computed(()=>e.total===0?1:Math.ceil(e.total/e.perPage)),l=i.computed(()=>o.value>1),a=i.computed(()=>o.value<s.value),r=i.computed(()=>Math.max(o.value-e.pagePerJump,1)),c=i.computed(()=>Math.min(o.value+e.pagePerJump,s.value)),d=i.computed(()=>{const m=o.value*e.perPage-e.perPage+1;return m>=0?m:0}),h=(m,x)=>{o.value===m||m<1||m>s.value||(t("update:modelValue",m),t("change",m),x&&x.target&&i.nextTick(()=>x.target.focus()))},u=(m,x={})=>({number:m,isCurrent:x.isCurrent??o.value===m,click:b=>h(m,b),input:(b,y)=>h(+y,b),disabled:x.disabled||!1,class:x.class||""}),f=(m,x)=>{const b=[],y=m>0?m:1;for(let M=y;M<=x;M++)b.push(u(M));return b},g=i.computed(()=>{const m=parseInt(n.value,10);if(m===0)return[];const x=Math.min(Math.max(0,m)||s.value,s.value);if(s.value<=x)return f(1,s.value);const b=x%2===0?1:0,y=Math.floor(x/2),M=s.value-y+1+b;if(o.value>y&&o.value<M){const I=s.value,T=o.value-y+2,V=o.value+y-2-b,C=T-1===2?2:-1,S=V+1===I-1?V+1:-1;return[u(1),u(C),...f(T,V),u(S),u(s.value)]}else if(o.value===y){const E=o.value+y-1-b;return[...f(1,E),u(-1),u(s.value)]}else if(o.value===M){const E=o.value-y+1;return[u(1),u(-1),...f(E,s.value)]}return[...f(1,y),u(-1),...f(M,s.value)]}),p=i.computed(()=>({"justify-content":e.order,flex:"3 1 0%"}));return i.watch(()=>s.value,m=>{o.value>m&&h(m)}),i.watch(()=>o.value,(m,x)=>{s.value<m&&h(x)}),{pageCount:s,pagesInRange:g,hasPrev:l,hasNext:a,listClasses:p,firstData:d,current:o,changePage:h,getPage:u,prevJumpPage:r,nextJumpPage:c}}},QS={class:"pagination"},ew={key:0,class:"pagination-info"},tw={key:0,class:"pagination-ellipsis"},nw=["onClick"];function ow(e,t,n,o,s,l){const a=i.resolveComponent("ev-icon"),r=i.resolveComponent("page-button");return i.openBlock(),i.createElementBlock("nav",QS,[n.showPageInfo?(i.openBlock(),i.createElementBlock("small",ew,[n.perPage===1?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[i.createTextVNode(i.toDisplayString(o.firstData)+" / "+i.toDisplayString(n.total),1)],64)):(i.openBlock(),i.createElementBlock(i.Fragment,{key:1},[i.createTextVNode(i.toDisplayString(o.firstData)+" - "+i.toDisplayString(Math.min(o.current*n.perPage,n.total))+" / "+i.toDisplayString(n.total),1)],64))])):i.createCommentVNode("",!0),i.createElementVNode("ul",{class:"pagination-list",style:i.normalizeStyle(o.listClasses)},[e.$props.pagePerJump?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass(["step-button",{"is-disabled":!o.hasPrev}])},[i.createVNode(r,{class:"pagination-previous",disabled:!o.hasPrev,page:o.getPage(o.prevJumpPage,{isCurrent:!1})},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-double-left"})]),_:1},8,["disabled","page"])],2)):i.createCommentVNode("",!0),i.createElementVNode("li",{class:i.normalizeClass(["step-button",{"is-disabled":!o.hasPrev}])},[i.createVNode(r,{class:"pagination-previous",disabled:!o.hasPrev,page:o.getPage(o.current-1)},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-arrow-left"})]),_:1},8,["disabled","page"])],2),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(o.pagesInRange,(c,d)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:d},[c.number===-1?(i.openBlock(),i.createElementBlock("li",tw,[...t[0]||(t[0]=[i.createElementVNode("span",null,"…",-1)])])):(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass({"is-current":c.isCurrent,"is-page":!0}),onClick:c.click},[i.createVNode(r,{page:c},null,8,["page"])],10,nw))],64))),128)),i.createElementVNode("li",{class:i.normalizeClass(["step-button",{"is-disabled":!o.hasNext}])},[i.createVNode(r,{class:"pagination-next",disabled:!o.hasNext,page:o.getPage(o.current+1)},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-arrow-right"})]),_:1},8,["disabled","page"])],2),e.$props.pagePerJump?(i.openBlock(),i.createElementBlock("li",{key:1,class:i.normalizeClass(["step-button",{"is-disabled":!o.hasNext}])},[i.createVNode(r,{class:"pagination-previous",disabled:!o.hasNext,page:o.getPage(o.nextJumpPage,{isCurrent:!1})},{default:i.withCtx(()=>[i.createVNode(a,{icon:"ev-icon-s-double-right"})]),_:1},8,["disabled","page"])],2)):i.createCommentVNode("",!0)],4)])}const ho=le(JS,[["render",ow]]);ho.install=e=>{e.component(ho.name,ho)};const iw="3.6.3",sw=[kn,Mn,sn,In,ln,an,En,vn,Bn,Dn,Ln,Nn,Wn,hn,Un,Yn,jn,Gn,Zn,qn,Kn,Jn,Qn,eo,no,lo,ao,ro,ei,ni,oi,co,ho],lw={version:iw,install:e=>{e&&sw.forEach(t=>{e.use(t)})}};se.EvButton=sn,se.EvButtonGroup=In,se.EvCalendar=Un,se.EvChart=lo,se.EvChartBrush=ro,se.EvChartGroup=ao,se.EvCheckbox=ln,se.EvCheckboxGroup=an,se.EvContextMenu=Gn,se.EvDatePicker=Yn,se.EvGrid=no,se.EvIcon=hn,se.EvInputNumber=Nn,se.EvLoading=qn,se.EvMenu=Jn,se.EvMessage=ei,se.EvMessageBox=oi,se.EvNotification=ni,se.EvPagination=ho,se.EvProgress=Kn,se.EvRadio=En,se.EvRadioGroup=vn,se.EvScheduler=jn,se.EvSelect=Bn,se.EvSlider=Wn,se.EvTabPanel=Mn,se.EvTabs=kn,se.EvTextField=Ln,se.EvTimePicker=eo,se.EvToggle=Dn,se.EvTree=Qn,se.EvTreeGrid=co,se.EvWindow=Zn,se.default=lw,Object.defineProperties(se,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|