@visactor/vtable 1.17.1 → 1.17.2
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/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/dataset/dataset-pivot-table.js +2 -1
- package/cjs/edit/editors.js +1 -2
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +2 -2
- package/dist/vtable.min.js +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/dataset/dataset-pivot-table.js +2 -1
- package/es/edit/editors.js +1 -2
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +2 -2
package/dist/vtable.min.js
CHANGED
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */function tB(t,e,i,r){var o,n=arguments.length,s=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(n<3?o(s):n>3?o(e,i,s):o(e,i))||s);return n>3&&s&&Object.defineProperty(e,i,s),s}const eB=Gn();class iB extends ds{type="chart";chartInstance;activeChartInstance;active;cacheCanvas;isShareChartSpec;constructor(t,e){if(super(e),this.numberType=eB,this.isShareChartSpec=t,e.chartInstance)this.chartInstance=e.chartInstance;else{const t=this.chartInstance=new e.ClassType(e.spec,_t({},this.attribute.tableChartOption,{renderCanvas:e.canvas,mode:"node"===this.attribute.mode?"node":"desktop-browser",modeParams:this.attribute.modeParams,canvasControled:!1,viewBox:{x1:0,x2:0,y1:0,y2:0},dpr:e.dpr,interactive:!1,animation:!1,autoFit:!1}));t.renderSync(),t.getStage().enableDirtyBounds(),e.chartInstance=this.chartInstance=t}}activate(t){this.active=!0;const{col:e,row:i}=this.parent,{x1:r,y1:o,x2:n,y2:s}=this.getViewBox(),a=function(t,e,i){const{layoutMap:r}=i.internalProps,o=new Me,n=i.scenegraph.tableGroup.globalAABBBounds;o.x1=n.x1,o.x2=n.x2,o.y1=n.y1,o.y2=n.y2,r.isLeftBottomCorner(t,e)||r.isRightTopCorner(t,e)||r.isLeftTopCorner(t,e)||r.isRightBottomCorner(t,e)||(r.isFrozenColumn(t,e)?(o.y1=n.y1+i.getFrozenRowsHeight(),o.y2=n.y2-i.getBottomFrozenRowsHeight()):r.isFrozenRow(t,e)?(o.x1=n.x1+i.getFrozenColsWidth(),o.x2=n.x2-i.getRightFrozenColsWidth()):r.isRightFrozenColumn(t,e)?(o.y1=n.y1+i.getFrozenRowsHeight(),o.y2=n.y2-i.getBottomFrozenRowsHeight()):r.isBottomFrozenRow(t,e)?(o.x1=n.x1+i.getFrozenColsWidth(),o.x2=n.x2-i.getRightFrozenColsWidth()):r.isFrozenColumn(t,e)||r.isRightFrozenColumn(t,e)||(o.x1=n.x1+i.getFrozenColsWidth(),o.x2=n.x2-i.getRightFrozenColsWidth(),o.y1=n.y1+i.getFrozenRowsHeight(),o.y2=n.y2-i.getBottomFrozenRowsHeight()));return o.x1=o.x1+(i.options.viewBox?.x1??0),o.x2=o.x2+(i.options.viewBox?.x1??0),o.y1=o.y1+(i.options.viewBox?.y1??0),o.y2=o.y2+(i.options.viewBox?.y1??0),o}(e,i,t),l=a.intersect({x1:r-t.scrollLeft,x2:n-t.scrollLeft,y1:o-t.scrollTop,y2:s-t.scrollTop});this.activeChartInstance?.release(),this.activeChartInstance=new this.attribute.ClassType(this.attribute.spec,_t({},this.attribute.tableChartOption,{renderCanvas:this.attribute.canvas,mode:"desktop-browser",canvasControled:!1,viewBox:{x1:0,x2:n-r,y1:0,y2:s-o},dpr:t.internalProps.pixelRatio,animation:!1,interactive:!0,autoFit:!1,beforeRender:e=>{const i=this.stage,r=e.window.getContext(),o=i.window.getViewBoxTransform(),n=i.window.getViewBox();r.inuse=!0,r.clearMatrix(),r.setTransform(o.a,o.b,o.c,o.d,o.e,o.f,!0),r.translate(n.x1,n.y1),r.setTransformForCurrent(!0),r.beginPath(),r.rect(l.x1,l.y1,l.x2-l.x1,l.y2-l.y1),r.clip(),r.clearMatrix(),t.options.canvas&&!e.needRender&&(e.pauseRender(),t.scenegraph.stage.dirtyBounds.union(this.globalAABBBounds),t.scenegraph.updateNextFrame())},afterRender(t){t.window.getContext().inuse=!1,t.needRender=!1,h.resumeRender()}}));const h=this.activeChartInstance.getStage(),c=this.globalTransMatrix.clone(),d=this.stage.window.getViewBoxTransform();c.multiply(d.a,d.b,d.c,d.d,d.e,d.f),h.window.setViewBoxTransform&&h.window.setViewBoxTransform(c.a,c.b,c.c,c.d,c.e,c.f),this.activeChartInstance.renderSync(),t.internalProps.layoutMap?.updateDataStateToActiveChartInstance?.(this.activeChartInstance),this.activeChartInstance.on("click",(e=>{!1===this.attribute.spec.select?.enable?t.scenegraph.updateChartState(null):iB.temp&&t.scenegraph.updateChartState(e?.datum)})),this.activeChartInstance.on("brushEnd",(e=>{t.scenegraph.updateChartState(e?.value?.inBrushData),iB.temp=0,setTimeout((()=>{iB.temp=1}),0)})),t._bindChartEvent?.(this.activeChartInstance)}static temp=1;deactivate(){this.active=!1,this.activeChartInstance?.updateViewBox({x1:-1e3,x2:-800,y1:-1e3,y2:-800},!1,!1),this.activeChartInstance?.release(),this.activeChartInstance=null}updateData(t){this.attribute.data=t}getViewBox(){const t=this.parent,e=this.attribute.cellPadding,i=this.stage.table,{x1:r,y1:o,x2:n,y2:s}=t.globalAABBBounds;return{x1:Math.ceil(r+e[3]+i.scrollLeft+(i.options.viewBox?.x1??0)),x2:Math.ceil(r+t.attribute.width-e[1]+i.scrollLeft+(i.options.viewBox?.x1??0)),y1:Math.ceil(o+e[0]+i.scrollTop+(i.options.viewBox?.y1??0)),y2:Math.ceil(o+t.attribute.height-e[2]+i.scrollTop+(i.options.viewBox?.y1??0))}}}const rB=[],oB=[];let nB=5,sB=!1;function aB(t){J(t)&&(nB=t)}function lB(t){const{axes:e,dataId:i,data:r,spec:o,ClassType:n,canvas:s,mode:a,modeParams:l,dpr:h}=t.attribute;let{chartInstance:c}=t;c||(c=new n(o,{renderCanvas:s,mode:"node"===a?"node":"desktop-browser",modeParams:l,canvasControled:!1,viewBox:{x1:0,x2:0,y1:0,y2:0},dpr:h,interactive:!1,animation:!1,autoFit:!1}),c.renderSync(),t.chartInstance=c);const d=t.getViewBox();d.x2<=d.x1&&(d.x2=d.x1+1),d.y2<=d.y1&&(d.y2=d.y1+1),c.updateViewBox({x1:0,x2:d.x2-d.x1,y1:0,y2:d.y2-d.y1},!1,!1);const u=c.getStage(),g=t.globalTransMatrix.clone(),p=t.stage.window.getViewBoxTransform();g.multiply(p.a,p.b,p.c,p.d,p.e,p.f),u.window.setViewBoxTransform&&u.window.setViewBoxTransform(g.a,g.b,g.c,g.d,g.e,g.f);const{table:f}=t.getRootNode();let m=!1;if(f.options.specFormat){const e=f.options.specFormat(t.attribute.spec,c,t);if(e.needFormatSpec&&e.spec){const t=e.spec;c.updateSpecSync(t),m=e.updateSpec??!0}}if(!m)if(e?.forEach(((t,e)=>{"band"===t.type?c.updateModelSpec({type:"axes",index:e},{domain:t.domain.slice(0)},!0):c.updateModelSpecSync({type:"axes",index:e},{min:t.range?.min??0,max:t.range?.max??0,tick:{tickMode:t.tick?.tickMode}},!0)})),f.internalProps.layoutMap?.updateDataStateToActiveChartInstance?.(c),"string"==typeof i)c.updateDataSync(i,r??[]);else{const t=[];for(const e in i){const n=i[e],s=o.series.find((t=>t?.data?.id===e));t.push({id:e,values:n?r?.filter((t=>t.hasOwnProperty(n)))??[]:r??[],fields:s?.data?.fields}),c.updateFullDataSync||c.updateDataSync(e,n?r?.filter((t=>t.hasOwnProperty(n)))??[]:r??[])}c.updateFullDataSync?.(t)}dB(c.getStage(),t)}function hB(t){sB=!0,oB.length>0?requestAnimationFrame((()=>{const e=oB.splice(0,nB);rB.splice(0,nB),e.forEach((t=>{lB(t),t.addUpdateBoundTag()})),t.render(),hB(t)})):sB=!1}const cB=2e3;function dB(t,e){const{viewWidth:i,viewHeight:r}=t;if(i<cB&&r<cB)return e.cacheCanvas=uB(t),void(e.isShareChartSpec||(e.chartInstance?.release(),e.chartInstance=null,e.setAttribute("chartInstance",null)));const o=Math.ceil(r/cB),n=Math.ceil(i/cB),s=[];for(let e=0;e<o;e++)for(let o=0;o<n;o++){const n=o*cB,a=e*cB,l=n+cB>i?i:n+cB,h=a+cB>r?r:a+cB,c=l-n,d=h-a,u=new Me;u.setValue(n,a,l,h);const g=uB(t,!1,u);s.push({canvas:g,x:n,y:a,width:c,height:d})}e.cacheCanvas=s}function uB(t,e=!0,i){if("released"===t.releaseStatus)return null;const r=t.window.getViewBoxTransform(),o=function(t,e=!0,i){const r=t.window.getViewBoxTransform(),o=Qr.get(so),n=i?-i.x1:0,s=i?-i.y1:0,a=i?i.x2:t.viewWidth,l=i?i.y2:t.viewHeight,h=i?i.width():t.viewWidth,c=i?i.height():t.viewHeight;o.create({viewBox:{x1:n,y1:s,x2:a,y2:l},width:h*r.a,height:c*r.d,dpr:t.window.dpr,canvasControled:!0,offscreen:!0,title:""});return t.renderTo(o),o}(t,e,i);o.setViewBoxTransform(r.a,r.b,r.c,r.d,0,0),t.renderTo(o);const n=o.getNativeHandler();return n.nativeCanvas?n.nativeCanvas:null}const gB=Symbol.for("ChartRender");let pB=class extends ca{type;numberType=eB;drawShape(t,e,i,r,o,n,s,a){const l=_o(t,n?.theme).group,{dataId:h,data:c,spec:d}=t.attribute;t.getViewBox();const{width:u=l.width,height:g=l.height}=t.attribute,{table:p}=t.getRootNode(),{active:f,cacheCanvas:m,activeChartInstance:b}=t;if(!f&&m)ot(m)?m.forEach((t=>{const{x:i,y:r,width:o,height:n,canvas:s}=t;e.drawImage(s,i,r,o,n)})):e.drawImage(m,i,r,u,g);else if(b){if(p.options.specFormat){const e=p.options.specFormat(t.attribute.spec,b,t);if(e.needFormatSpec&&e.spec){const t=e.spec;b.updateSpecSync(t)}}const e=t.getViewBox();b.updateViewBox({x1:0,x2:e.x2-e.x1,y1:0,y2:e.y2-e.y1},!1,!1);const i=b.getStage();i.needRender=!0;const r=t.globalTransMatrix.clone(),o=t.stage.window.getViewBoxTransform().clone();if(o.multiply(r.a,r.b,r.c,r.d,r.e,r.f),i.window.setViewBoxTransform(o.a,o.b,o.c,o.d,o.e,o.f),"string"==typeof h)b.updateDataSync(h,c??[]);else{const t=[];for(const e in h){const i=h[e],r=d.series.find((t=>t?.data?.id===e));t.push({id:e,values:i?c?.filter((t=>t.hasOwnProperty(i)))??[]:c??[],fields:r?.data?.fields}),b.updateFullDataSync||b.updateDataSync(e,i?c?.filter((t=>t.hasOwnProperty(i)))??[]:c??[])}b.updateFullDataSync?.(t)}}else p.internalProps.renderChartAsync?(-1===rB.indexOf(`${t.parent.col}+${t.parent.row}`)&&(rB.push(`${t.parent.col}+${t.parent.row}`),oB.push(t)),sB||hB(p)):lB(t)}draw(t,e,i,r){this._draw(t,{},!1,i,r)}};pB=tB([f()],pB);let fB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{shape:g}=t.attribute;if("circle"===g){const{width:o=l.width,height:n=l.height}=t.attribute;e.beginPath(),e.arc(i+o/2,r+n/2,Math.min(o,n)/2,0,2*Math.PI),e.closePath(),e.save(),e.clip()}}};fB=tB([f()],fB);let mB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{shape:g}=t.attribute;"circle"===g&&e.restore()}};mB=tB([f()],mB);let bB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{isGif:g}=t.attribute;g&&t.playing&&(t.attribute.opacity=0)}};bB=tB([f()],bB);let yB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{isGif:g}=t.attribute;g&&t.playing&&(t.attribute.opacity=1,e.globalAlpha=t.attribute.opacity,t.renderFrame(e,i,r))}};function CB(t,e,i,r){const{highlightScope:o,disableHeader:n,cellPos:s}=t.hover,a=t.table,l=a.isHeader(e,i);if(l&&n)return;let h;if(o===KC.single&&s.col===e&&s.row===i?h="cellBgColor":o===KC.column&&s.col===e?h=s.col===e&&s.row===i?"cellBgColor":"inlineColumnBgColor":o===KC.row&&s.row===i?h=s.col===e&&s.row===i?"cellBgColor":"inlineRowBgColor":o===KC.cross&&(s.col===e&&s.row===i?h="cellBgColor":s.col===e?h="inlineColumnBgColor":s.row===i&&(h="inlineRowBgColor")),h){let t;if(l){const o=a.getHeaderDefine(e,i);t=o?.disableHeaderHover,r.firstChild&&"axis"===r.firstChild.name&&a.options.hover?.disableAxisHover&&(t=!0)}else{const r=a.getBodyColumnDefine(e,i);t=r?.disableHover}t&&(h=void 0)}return h}function wB(t,e,i,r){const{highlightInRange:o,disableHeader:n,ranges:s}=t.select;let a;const l=1===s.length&&function(t){return t.start.col!==t.end.col||t.start.row!==t.end.row}(s?.[0])&&o;if(l?1===s?.length&&s[0].start&&s[0].end:1===s?.length&&s[0].end.col===s[0].start.col&&s[0].end.row===s[0].start.row){if(t.table.isHeader(e,i)&&n)return;if(a=l?function(t,e,i){let r;const{highlightScope:o,cellPos:n,ranges:s}=t.select,a=s[0],l=Math.min(a.start.col,a.end.col),h=Math.max(a.start.col,a.end.col),c=Math.min(a.start.row,a.end.row),d=Math.max(a.start.row,a.end.row);return o===KC.single&&n.col===e&&n.row===i?r="cellBgColor":o===KC.column&&e>=l&&e<=h?r=pv(s[0],e,i)?"cellBgColor":"inlineColumnBgColor":o===KC.row&&i>=c&&i<=d?r=pv(s[0],e,i)?"cellBgColor":"inlineRowBgColor":o===KC.cross&&(pv(s[0],e,i)?r="cellBgColor":e>=l&&e<=h?r="inlineColumnBgColor":i>=c&&i<=d&&(r="inlineRowBgColor")),r}(t,e,i):function(t,e,i){let r;const{highlightScope:o,cellPos:n}=t.select;return o===KC.single&&n.col===e&&n.row===i?r="cellBgColor":o===KC.column&&n.col===e?r=n.col===e&&n.row===i?"cellBgColor":"inlineColumnBgColor":o===KC.row&&n.row===i?r=n.col===e&&n.row===i?"cellBgColor":"inlineRowBgColor":o===KC.cross&&(n.col===e&&n.row===i?r="cellBgColor":n.col===e?r="inlineColumnBgColor":n.row===i&&(r="inlineRowBgColor")),r}(t,e,i),a){vB(t.table,e,i)&&(a=void 0)}}else if("replace"===t.table.theme.selectionStyle.selectionFillMode)for(let t=0;t<s.length;t++){const r=s[t],o=Math.min(r.start.col,r.end.col),n=Math.max(r.start.col,r.end.col),l=Math.min(r.start.row,r.end.row),h=Math.max(r.start.row,r.end.row);if(o<=e&&l<=i&&n>=e&&h>=i){a="cellBgColor";break}}return a}function vB(t,e,i){const r=t.options.select?.disableSelect;if("function"==typeof r?r(e,i,t):r)return!0;if(t.isHeader(e,i)){let r=t.options.select?.disableHeaderSelect;if(r)return!0;const o=t.getHeaderDefine(e,i);if(r=o?.disableHeaderSelect,r)return!0}else{const r=t.getBodyColumnDefine(e,i),o=r?.disableSelect;if("function"==typeof o?o(e,i,t):o)return!0}return!1}yB=tB([f()],yB);let xB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{stroke:g=l.stroke,strokeArrayWidth:p=l.strokeArrayWidth,strokeArrayColor:f=l.strokeArrayColor}=t.attribute;g&&(Array.isArray(p)||Array.isArray(f))&&(u.doStroke=!1)}};xB=tB([f()],xB);let _B=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{stroke:u=l.stroke,strokeArrayColor:g=l.strokeArrayColor,strokeArrayWidth:p=l.strokeArrayWidth,lineWidth:f=l.lineWidth,strokeColor:m=l.stroke,cornerRadius:b=l.cornerRadius}=t.attribute;let y,C,{width:w=l.width,height:v=l.height}=t.attribute;if(u&&(Array.isArray(p)||0!==f)&&(Array.isArray(g)||Array.isArray(p))){if("number"==typeof f&&1&f||Array.isArray(p)&&p.some((t=>1&t))){const e=t.stage.table;if(!e)return;const o="bottom-right"===e?.theme?.cellBorderClipDirection;if(o){if(i=Math.floor(i)-.5,r=Math.floor(r)-.5,"cell"===t.role){const e=t.col,o=t.row;0===e&&(i+=1),0===o&&(r+=1)}}else i=Math.floor(i)+.5,r=Math.floor(r)+.5;e.options.customConfig?._disableColumnAndRowSizeRound&&(w=Math.round(w),v=Math.round(v));const{width:n,height:s}=FB(t,Math.ceil(w),Math.ceil(v),o);y=n,C=s}else y=Math.ceil(w),C=Math.ceil(v);0===b||ot(b)&&b.every((t=>0===t))?AB(t,e,i,r,l,u,p||f,g||m,y,C):(e.beginPath(),Ta(e,i,r,y,C,b,new Array(4).fill(0).map(((o,n)=>(o,s,a,h)=>{DB(n,o,s,a,h,t,e,i,r,l,u,p||f,g||m,y,C)}))),e.stroke())}}};function SB(t){if(!Array.isArray(t))return{isSplitDraw:!1,width:t};let e;for(let i=0;i<t.length;i++){const r=t[i];if(r)if(e){if(r!==e)return{isSplitDraw:!0}}else e=r}return{isSplitDraw:!1,width:e}}function AB(t,e,i,r,o,n,s,a,l,h,c,d){const u=SB(s),g=!Array.isArray(s),p=!Array.isArray(n),f=Array.isArray(d),m=Array.isArray(a)||u.isSplitDraw;e.setStrokeStyle(t,t.attribute,i,r,o);const{lineDash:b=o.lineDash}=t.attribute;let y=!1;b.length&&b.some((t=>Array.isArray(t)))&&(y=!0),e.beginPath(),e.moveTo(i,r);const C=(p||n[0])&&(g||s[0]),w=(p||n[1])&&(g||s[1]),v=(p||n[2])&&(g||s[2]),x=(p||n[3])&&(g||s[3]);if(C){const t=(g?u.width:s[0])/2,o=(g?u.width:s[0])/2;f&&Array.isArray(d[0])?(e.moveTo(i-t+(l+t+o)*d[0][0],r),e.lineTo(i-t+(l+t+o)*(d[0][1]-d[0][0]),r),e.moveTo(i+l+o,r)):(e.moveTo(i-t,r),e.lineTo(i+l+o,r)),(m||y)&&(a&&a[0]?e.strokeStyle=a[0]:a&&!a[0]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[0]),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,y&&e.setLineDash(b[0]??[]),e.stroke(),e.beginPath(),e.moveTo(i+l,r))}else e.moveTo(i+l,r);if(w){const t=(g?u.width:s[1])/2,o=(g?u.width:s[1])/2;f&&Array.isArray(d[1])?(e.moveTo(i+l,r-t+h*d[1][0]),e.lineTo(i+l,r-t+(h+t+o)*(d[1][1]-d[1][0])),e.moveTo(i+l,r+h+o)):(e.moveTo(i+l,r-t),e.lineTo(i+l,r+h+o)),(m||y)&&(a&&a[1]?e.strokeStyle=a[1]:a&&!a[1]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[1]),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,y&&e.setLineDash(b[1]??[]),e.stroke(),e.beginPath(),e.moveTo(i+l,r+h))}else e.moveTo(i+l,r+h);if(v){const t=(g?u.width:s[2])/2,o=(g?u.width:s[2])/2;f&&Array.isArray(d[2])?(e.moveTo(i-t+(l+t+o)*d[2][0],r+h),e.lineTo(i-t+(l+t+o)*(d[2][1]-d[2][0]),r+h),e.moveTo(i-t,r+h)):(e.moveTo(i-t,r+h),e.lineTo(i+l+o,r+h)),(m||y)&&(a&&a[2]?e.strokeStyle=a[2]:a&&!a[2]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[2]),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,y&&e.setLineDash(b[2]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r+h))}else e.moveTo(i,r+h);if(x){const t=(g?u.width:s[3])/2,o=(g?u.width:s[3])/2;f&&Array.isArray(d[3])?(e.moveTo(i,r-t+(h+t+o)*d[3][0]),e.lineTo(i,r-t+(h+t+o)*(d[3][1]-d[3][0])),e.moveTo(i,r-t)):(e.moveTo(i,r-t),e.lineTo(i,r+h+o)),(m||y)&&(a&&a[3]?e.strokeStyle=a[3]:a&&!a[3]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[3]),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,y&&e.setLineDash(b[3]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r))}else e.moveTo(i,r);m||y||(!g&&u.width&&(e.lineWidth=u.width),e.stroke()),e.lineDashOffset=0,e.setLineDash([])}_B=tB([f()],_B);let RB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{lineDash:g=l.lineDash,stroke:p=l.stroke,strokeArrayColor:f=l.strokeArrayColor,strokeArrayWidth:m=l.strokeArrayWidth}=t.attribute;p&&Array.isArray(g)&&g.length&&g[0]?.length&&!Array.isArray(f)&&!Array.isArray(m)&&(u.doStroke=!1)}};RB=tB([f()],RB);let TB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{lineDash:u=l.lineDash,stroke:g=l.stroke,strokeArrayColor:p=l.strokeArrayColor,strokeArrayWidth:f=l.strokeArrayWidth,lineWidth:m=l.lineWidth}=t.attribute;if(!g||!(Array.isArray(u)&&u.length&&u[0]?.length)||Array.isArray(p)||Array.isArray(f))return;const b=t.stage.table;if(!b)return;const y=ot(u[0])?function(t){if(1===t.length)return[t[0],t[0],t[0],t[0]];if(2===t.length)return[t[0],t[1],t[0],t[1]];return t}(u):[u,u,u,u];let C,w,{width:v=l.width,height:x=l.height}=t.attribute;if(b.options.customConfig?._disableColumnAndRowSizeRound?(v=Math.round(v),x=Math.round(x)):(v=Math.ceil(v),x=Math.ceil(x)),1&m){const e="bottom-right"===b.theme.cellBorderClipDirection,o=0,n=0;if(e){if(i=Math.floor(i)-.5,r=Math.floor(r)-.5,"cell"===t.role){0===t.col&&(i+=1),0===t.row&&(r+=1)}}else i=Math.floor(i)+.5,r=Math.floor(r)+.5;const{width:s,height:a}=FB(t,Math.ceil(v+o),Math.ceil(x+n),e);C=s,w=a}else C=Math.ceil(v),w=Math.ceil(x);e.setStrokeStyle(t,t.attribute,i,r,l),e.beginPath(),e.moveTo(i,r),e.lineTo(i+C,r),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,e.setLineDash(y[0]??[]),e.stroke(),e.beginPath(),e.moveTo(i+C,r),e.lineTo(i+C,r+w),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,e.setLineDash(y[1]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r+w),e.lineTo(i+C,r+w),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,e.setLineDash(y[2]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r),e.lineTo(i,r+w),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,e.setLineDash(y[3]??[]),e.stroke(),e.lineDashOffset=0,e.setLineDash([])}};TB=tB([f()],TB);let BB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{lineWidth:g=l.lineWidth,stroke:p=l.stroke,lineDash:f=l.lineDash,strokeArrayWidth:m=l.strokeArrayWidth,strokeArrayColor:b=l.strokeArrayColor,notAdjustPos:y}=t.attribute;!0!==y&&p&&Array.isArray(f)&&!f.length&&!Array.isArray(b)&&!Array.isArray(m)&&1&g&&(u.doStroke=!1)}};BB=tB([f()],BB);let MB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{lineWidth:u=l.lineWidth,stroke:g=l.stroke,lineDash:p=l.lineDash,strokeArrayWidth:f=l.strokeArrayWidth,strokeArrayColor:m=l.strokeArrayColor,notAdjustPos:b,cornerRadius:y=l.cornerRadius}=t.attribute;let{width:C=l.width,height:w=l.height}=t.attribute;if(!0!==b&&g&&Array.isArray(p)&&!p.length&&!Array.isArray(m)&&!Array.isArray(f)&&1&u){const o=t.stage.table;if(!o)return;o.options.customConfig?._disableColumnAndRowSizeRound&&(C=Math.round(C),w=Math.round(w)),e.beginPath();const n="bottom-right"===o?.theme?.cellBorderClipDirection,s=0,a=0;if(n){if(i=Math.floor(i)-.5,r=Math.floor(r)-.5,"cell"===t.role){0===t.col&&(i+=1),0===t.row&&(r+=1)}}else i=Math.floor(i)+.5,r=Math.floor(r)+.5;const{width:h,height:c}=FB(t,Math.ceil(C),Math.ceil(w),n);y?Ta(e,i,r,h+s,c+a,y):e.rect(i,r,h,c),e.setStrokeStyle(t,t.attribute,i,r,l),e.stroke()}}};MB=tB([f()],MB);let PB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){if("cell"===t.role){const e=t.stage.table;if(e){const i=function(t,e){let i,r;if("cell"===t.role&&J(t.mergeStartCol)&&J(t.mergeStartRow)&&J(t.mergeEndCol)&&J(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=ET(t,e.scenegraph);for(let t=r;t<=o;t++)for(let r=n;r<=s;r++){const o=wB(e.stateManager,t,r);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=wB(e.stateManager,t.col,t.row));if(!i)return;const o=e.internalProps.layoutMap;return o.isCornerHeader(t.col,t.row)?r=e.theme.cornerHeaderStyle?.select||e.theme.headerStyle?.select:o.isColumnHeader(t.col,t.row)?r=e.theme.headerStyle?.select:o.isRowHeader(t.col,t.row)?r=e.theme.rowHeaderStyle?.select:o.isBottomFrozenRow(t.col,t.row)?r=e.theme.bottomFrozenStyle?.select||(e.isListTable()?e.theme.bodyStyle?.select:e.theme.headerStyle?.select):o.isRightFrozenColumn(t.col,t.row)?r=e.theme.rightFrozenStyle?.select||(e.isListTable()?e.theme.bodyStyle?.select:e.theme.rowHeaderStyle?.select):e.isHeader(t.col,t.row)||(r=e.theme.bodyStyle?.select),IR(i,r,t.col,t.row,e)}(t,e);if(i)t.attribute._vtableHightLightFill=i;else if(e.stateManager.interactionState!==UC.scrolling){const i=function(t,e){let i,r;if("cell"===t.role&&J(t.mergeStartCol)&&J(t.mergeStartRow)&&J(t.mergeEndCol)&&J(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=ET(t,e.scenegraph);for(let a=r;a<=o;a++)for(let r=n;r<=s;r++){const o=CB(e.stateManager,a,r,t);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=CB(e.stateManager,t.col,t.row,t));if(!i)return;const o=e.internalProps.layoutMap;return o.isCornerHeader(t.col,t.row)?r=e.theme.cornerHeaderStyle?.hover||e.theme.headerStyle?.hover:o.isColumnHeader(t.col,t.row)?r=e.theme.headerStyle?.hover:o.isRowHeader(t.col,t.row)?r=e.theme.rowHeaderStyle?.hover:o.isBottomFrozenRow(t.col,t.row)?r=e.theme.bottomFrozenStyle?.hover||(e.isListTable()?e.theme.bodyStyle?.hover:e.theme.headerStyle?.hover):o.isRightFrozenColumn(t.col,t.row)?r=e.theme.rightFrozenStyle?.hover||(e.isListTable()?e.theme.bodyStyle?.hover:e.theme.rowHeaderStyle?.hover):e.isHeader(t.col,t.row)||(r=e.theme.bodyStyle?.hover),IR(i,r,t.col,t.row,e)}(t,e);i&&(t.attribute._vtableHightLightFill=i)}}}}};PB=tB([f()],PB);let HB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){if(t.attribute._vtableHightLightFill)if(c);else if(s){const o=t.attribute.fill;t.attribute.fill=t.attribute._vtableHightLightFill,e.setCommonStyle(t,t.attribute,i,r,l),e.fill(),t.attribute.fill=o,t.attribute._vtableHightLightFill=void 0}}};HB=tB([f()],HB);let kB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const g=t.stage.table;if(g)if("body"===t.role){EB(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),-(t.attribute.y??0)+g.getFrozenRowsHeight(),t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("row-header"===t.role){EB(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("col-header"===t.role){EB(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("right-frozen"===t.role){EB(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getRightFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("bottom-frozen"===t.role){EB(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-header"===t.role){EB(e,0,0,g.getFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-top-header"===t.role){EB(e,0,0,g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-bottom-header"===t.role){EB(e,0,0,g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-left-bottom-header"===t.role){EB(e,0,0,g.getFrozenColsWidth(),g.getBottomFrozenRowsHeight())}}};kB=tB([f()],kB);const LB=Math.pow(2,24);function EB(t,e,i,r,o){t.beginPath();const n=t.applyedMatrix;Math.abs(n.f)>LB||Math.abs(n.g)>LB?t.rect(e-LB,i-LB,r+2*LB,o+2*LB):t.rect(e,i,r,o)}function FB(t,e,i,r){const o=t.stage.table;if(!o)return{width:e,height:i};if("cell"===t.role){let n=t.col,s=t.row;const a=nx(o,n,s);a&&(n=a.end.col,s=a.end.row),n!==o.colCount-1||r?(n===o.frozenColCount-1&&o.scrollLeft&&!r||0===n&&r)&&(e-=1):e-=1,s!==o.rowCount-1||r?(s===o.frozenRowCount-1&&o.scrollTop&&!r||0===s&&r)&&(i-=1):i-=1}else"corner-frozen"===t.role&&(o.scrollLeft&&!r&&(e-=1),o.scrollTop&&!r&&(i-=1));return{width:e,height:i}}let IB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{stroke:g=l.stroke,strokeArrayWidth:p=l.strokeArrayWidth,strokeArrayColor:f=l.strokeArrayColor}=t.attribute;g&&(Array.isArray(g)||Array.isArray(p)||Array.isArray(f))&&(u.doStroke=!1)}};IB=tB([f()],IB);let zB,OB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{width:u=l.width,height:g=l.height,stroke:p=l.stroke,strokeArrayColor:f=l.strokeArrayColor,strokeArrayWidth:m=l.strokeArrayWidth,lineWidth:b=l.lineWidth,strokeColor:y=l.stroke,cornerRadius:C=l.cornerRadius}=t.attribute;if(p&&(Array.isArray(m)||0!==b)&&(Array.isArray(p)||Array.isArray(f)||Array.isArray(m))){const o=0,n=0;"border-rect"!==t.name&&"table-border-rect"!==t.name&&("number"==typeof b&&1&b||Array.isArray(m)&&m.some((t=>1&t)))&&(i=Math.floor(i)+.5,r=Math.floor(r)+.5),0===C||ot(C)&&C.every((t=>0===t))?AB(t,e,i,r,l,p,m||b,f||y,Math.ceil(u+o),Math.ceil(g+n)):(e.beginPath(),Ta(e,i,r,u,g,C,new Array(4).fill(0).map(((s,a)=>(s,h,c,d)=>{DB(a,s,h,c,d,t,e,i,r,l,p,m||b,f||y,Math.ceil(u+o),Math.ceil(g+n))}))),e.stroke())}}};function DB(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p){const f=n,m=h,b=SB(d),y=!Array.isArray(d),C=!Array.isArray(c),w=Array.isArray(u)||b.isSplitDraw;s.setStrokeStyle(n,n.attribute,a,l,h);const{lineDash:v=m.lineDash}=f.attribute;let x=!1;v.length&&v.some((t=>Array.isArray(t)))&&(x=!0),s.moveTo(a,l);const _=(C||c[0])&&(y||d[0]),S=(C||c[1])&&(y||d[1]),A=(C||c[2])&&(y||d[2]),R=(C||c[3])&&(y||d[3]);_&&0===t?(y?b.width:d[0],y?b.width:d[0],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[0]?s.strokeStyle=u[0]:u&&!u[0]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[0]),s.lineDashOffset=s.currentMatrix.e/s.currentMatrix.a,x&&s.setLineDash(v[0]??[]),s.stroke(),s.beginPath())):0===t&&s.moveTo(a+g,l),S&&1===t?(y?b.width:d[1],y?b.width:d[1],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[1]?s.strokeStyle=u[1]:u&&!u[1]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[1]),s.lineDashOffset=s.currentMatrix.f/s.currentMatrix.d,x&&s.setLineDash(v[1]??[]),s.stroke(),s.beginPath(),s.moveTo(a+g,l+p))):1===t&&s.moveTo(a+g,l+p),A&&2===t?(y?b.width:d[2],y?b.width:d[2],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[2]?s.strokeStyle=u[2]:u&&!u[2]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[2]),s.lineDashOffset=s.currentMatrix.e/s.currentMatrix.a,x&&s.setLineDash(v[2]??[]),s.stroke(),s.beginPath(),s.moveTo(a,l+p))):2===t&&s.moveTo(a,l+p),R&&3===t?(y?b.width:d[3],y?b.width:d[3],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[3]?s.strokeStyle=u[3]:u&&!u[3]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[3]),s.lineDashOffset=s.currentMatrix.f/s.currentMatrix.d,x&&s.setLineDash(v[3]??[]),s.stroke(),s.beginPath(),s.moveTo(a,l))):3===t&&s.moveTo(a,l),w||x||(!y&&b.width&&(s.lineWidth=b.width),s.stroke()),s.lineDashOffset=0,s.setLineDash([]),s.closePath()}OB=tB([f()],OB);let WB=class{order=1;interceptors;constructor(){this.interceptors=[new NB]}afterDrawItem(t,e,i,r,o){for(let n=0;n<this.interceptors.length;n++)if(this.interceptors[n].afterDrawItem&&this.interceptors[n].afterDrawItem(t,e,i,r,o))return!0;return!1}beforeDrawItem(t,e,i,r,o){if((!t.in3dMode||i.in3dInterceptor)&&!t.shadowRoot&&!(t.baseGraphic||t.attribute.globalZIndex||t.interactiveGraphic))return!1;for(let n=0;n<this.interceptors.length;n++)if(this.interceptors[n].beforeDrawItem&&this.interceptors[n].beforeDrawItem(t,e,i,r,o))return!0;return!1}};WB=tB([f()],WB);class NB{order=1;afterDrawItem(t,e,i,r,o){return"image"===t.type&&this.drawItem(t,e,i,r,o),!1}drawItem(t,e,i,r,o){const{image:n,gif:s}=t.attribute;if(s&&t.playing)return!1;if(!n||!t.resources)return!1;const a=t.resources.get(n);if(!a||"loading"!==a.state)return!1;if(!zB){const t=kR(),e=t.loading_pic.svg,i=t.loading_pic.width,r=t.loading_pic.height;zB=rd({width:i,height:r,image:e})}const{image:l}=zB.attribute;if(!n||!zB.resources)return!1;const h=zB.resources.get(l);if("success"!==h.state)return!1;const{context:c}=i;c.highPerformanceSave(),t.parent&&c.setTransformFromMatrix(t.parent.globalTransMatrix,!0),t.glyphHost&&t.glyphHost.parent&&c.setTransformFromMatrix(t.glyphHost.parent.globalTransMatrix,!0);const d=t.AABBBounds,{width:u,height:g}=ER(h.data.width,h.data.height,d.width(),d.height());return c.drawImage(h.data,d.x1+(d.width()-u)/2,d.y1+(d.height()-g)/2,u,g),c.highPerformanceRestore(),!0}}let GB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{text:g,underline:p=l.underline,lineThrough:f=l.lineThrough,direction:m=l.direction,whiteSpace:b=l.whiteSpace,fontSize:y=l.fontSize,verticalMode:C=l.verticalMode,ellipsis:w=l.ellipsis,textAlign:v=l.textAlign,textBaseline:x=l.textBaseline,x:_=l.x,y:S=l.y}=t.attribute;let A=!1;if(Array.isArray(t)){const e=t.cache?.layoutData;w&&e&&e.lines.every((t=>""===t.str))&&(A=!0)}else{const{cache:e}=t;w&&e&&""===e.clipedText&&0===e.clipedWidth&&(A=!0)}if(!A)return;const R=rt(w)?w:"...",T=hn(t.attribute.lineHeight,y)??y;let B=0;T!==y&&("top"===x?B=(T-y)/2:"middle"===x||"bottom"===x&&(B=-(T-y)/2)),n&&(d?d(e,t.attribute,l):a&&(e.setStrokeStyle(t,t.attribute,_-i,S-r,l),e.strokeText(R,_,S+B))),o&&(c?c(e,t.attribute,l):s&&(e.setCommonStyle(t,t.attribute,_-i,S-r,l),e.fillText(R,_,S+B),this.drawUnderLine(p,f,t,_,S+B,0,l,e,R)))}drawUnderLine(t,e,i,r,o,n,s,a,l){if(e+t<=0)return;const{textAlign:h=s.textAlign,textBaseline:c=s.textBaseline,fontSize:d=s.fontSize,fontFamily:u=s.fontFamily,fontWeight:g=s.fontWeight,fontStyle:p=s.fontStyle,fill:f=s.fill,opacity:m=s.opacity,underlineOffset:b=s.underlineOffset,underlineDash:y=s.underlineDash,fillOpacity:C=s.fillOpacity}=i.attribute;if(!t&&!e)return;const w=_T.measureTextWidth(l,{fontSize:d,fontFamily:u,fontWeight:g,fontStyle:p}),v=Xs(h,w),x=Ys(c,d,d),_={lineWidth:0,stroke:f,opacity:m,strokeOpacity:C};if(t){_.lineWidth=t,a.setStrokeStyle(i,_,r,o,s),a.setLineDash(y),a.beginPath();const e=o+x+d+b;a.moveTo(r+v,e,n),a.lineTo(r+v+w,e,n),a.stroke()}if(e){_.lineWidth=e,a.setStrokeStyle(i,_,r,o,s),a.beginPath();const t=o+x+d/2;a.moveTo(r+v,t,n),a.lineTo(r+v+w,t,n),a.stroke()}}};GB=tB([f()],GB);var VB=new i(((t,e,i,r)=>{i(Pa)?r(Pa).to(IB).inSingletonScope():(t(IB).toSelf().inSingletonScope(),t(js).toService(IB)),i(Ha)?r(Ha).to(OB).inSingletonScope():(t(OB).toSelf().inSingletonScope(),t(js).toService(OB)),t(pB).toSelf().inSingletonScope(),t(gB).to(pB),t(Zl).to(pB),t(fB).toSelf().inSingletonScope(),t(Ns).toService(fB),t(mB).toSelf().inSingletonScope(),t(Ns).toService(mB),t(bB).toSelf().inSingletonScope(),t(Ns).toService(bB),t(yB).toSelf().inSingletonScope(),t(Ns).toService(yB),t(PB).toSelf().inSingletonScope(),t(Ws).toService(PB),t(HB).toSelf().inSingletonScope(),t(Ws).toService(HB),t(_B).toSelf().inSingletonScope(),t(Ws).toService(_B),t(xB).toSelf().inSingletonScope(),t(Ws).toService(xB),t(RB).toSelf().inSingletonScope(),t(Ws).toService(RB),t(TB).toSelf().inSingletonScope(),t(Ws).toService(TB),t(BB).toSelf().inSingletonScope(),t(Ws).toService(BB),t(MB).toSelf().inSingletonScope(),t(Ws).toService(MB),t(kB).toSelf().inSingletonScope(),t(Ws).toService(kB),t(WB).toSelf().inSingletonScope(),t(dh).toService(WB),t(GB).toSelf().inSingletonScope(),t(Ks).toService(GB)}));function jB(t,e,i,r){t.internalProps.columnWidthConfig&&t._parseColumnWidthConfig(t.internalProps.columnWidthConfig),t.isPivotTable()&&t.internalProps.columnWidthConfigForRowHeader&&t._parseColumnWidthConfigForRowHeader(t.internalProps.columnWidthConfigForRowHeader),e=e??0,i=i??t.colCount-1,0===e&&i===t.colCount-1&&t._clearColRangeWidthsMap();const o=t.internalProps.layoutMap;t.isPivotTable()&&(o.enableUseGetBodyCache(),o.enableUseHeaderPathCache());const n=[],s=[];if(r)for(let e=0;e<t.colCount;e++)n[e]=t.getColWidth(e);for(let o=e;o<=i;o++){let e;if(t.internalProps.transpose||"only-header"!==t.internalProps.layoutMap.columnObjects?.[o]?.columnWidthComputeMode&&"only-header"!==t.columnWidthComputeMode||!("showHeader"in t.internalProps.layoutMap))e=t.internalProps.transpose||"only-body"!==t.internalProps.layoutMap.columnObjects?.[o]?.columnWidthComputeMode&&"only-body"!==t.columnWidthComputeMode?UB(o,0,t.rowCount-1,t):UB(o,t.internalProps.layoutMap.getBodyRange().start.row,t.internalProps.layoutMap.getBodyRange().end.row,t);else{const i=t.internalProps.layoutMap.showHeader;t.internalProps.layoutMap.showHeader=!0,e=UB(o,0,t.internalProps.layoutMap.headerLevelCount-1,t),t.internalProps.layoutMap.showHeader=i}t._setColContentWidth(o,e);t.getColWidth(o)!==e&&t._clearColRangeWidthsMap(o),r?s[o]=Math.round(t._adjustColWidth(o,e)):t._setColWidth(o,t._adjustColWidth(o,e),!1,!0)}if("adaptive"===t.widthMode){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,o=0,n=t.colCount;if("only-body"===t.widthAdaptiveMode){for(let e=0;e<t.colCount;e++){const o=r?s[e]??t.getColWidth(e):t.getColWidth(e);(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=o)}o=t.rowHeaderLevelCount,n=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount}qB(e-i,o,n,r,s,t)}else if(t.autoFillWidth){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,o=0;for(let e=0;e<t.colCount;e++){const n=r?s[e]??t.getColWidth(e):t.getColWidth(e);(e<t.rowHeaderLevelCount+t.leftRowSeriesNumberCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=n),o+=n}if(o<e&&o>i){qB(e-i,t.rowHeaderLevelCount+t.leftRowSeriesNumberCount,t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount,r,s,t)}}if(r){for(let e=0;e<t.colCount;e++){const i=s[e]??t.getColWidth(e)??t.getColWidth(e);i!==n[e]&&t._setColWidth(e,i,!1,!0)}t.stateManager.checkFrozen();for(let e=0;e<t.colCount;e++){const i=t.getColWidth(e);i!==n[e]&&t.scenegraph.updateColWidth(e,i-n[e],!0,!0)}t.scenegraph.updateContainer(!0)}t.isPivotTable()&&(o.disableUseGetBodyCache(),o.disableUseHeaderPathCache())}function UB(t,e,i,r,o=!1){let n=function(t,e){const i=e.getColWidthDefined(t);if(e.internalProps._widthResizedColMap.has(t))return e.getColWidth(t);return i}(t,r);return r.internalProps.transpose&&"auto"===n&&("only-header"===r.columnWidthComputeMode&&t>=r.rowHeaderLevelCount||"only-body"===r.columnWidthComputeMode&&t<r.rowHeaderLevelCount)&&(n=r.getDefaultColumnWidth(t)),o&&!r.internalProps.transpose?KB(n,t,e,i,o,r):"number"==typeof n?n:"auto"!==n&&"string"==typeof n?r._adjustColWidth(t,r._colWidthDefineToPxWidth(n)):KB(n,t,e,i,o,r)}function KB(t,e,i,r,o,n){let s=0,a=1,l=1;if(r-i>5e3&&(l=Math.ceil((r-i)/5e3)),n.isPivotChart()&&e>=n.rowHeaderLevelCount&&e<n.colCount-n.rightFrozenColCount){if(n.internalProps.layoutMap.indicatorsAsCol)return n.defaultColWidth;{const t=n.internalProps.layoutMap.getOptimunWidthForChart(e);if(t>0)return t}}for(let h=i;h<=r;h+=a){if(n.isPivotChart()){const t=n.internalProps.layoutMap,i=t.getAxisConfigInPivotChart(e,h);if(i){const t=sx.getFunction("computeAxisComponentWidth")(i,n);if("number"==typeof t){s=Math.max(t,s);continue}}else if(t.isLeftBottomCorner(e,h)||t.isRightTopCorner(e,h)||t.isRightBottomCorner(e,h))continue}const i=$B(e,h,n);if(i&&(s=Math.max(i.width,s),!i.renderDefault))continue;const r=t;if("number"==typeof r&&"standard"===n.widthMode&&!o){s=Math.max(r,s);continue}const c=n.isHeader(e,h)?n._getHeaderLayoutMap(e,h)?.headerType:n.getBodyColumnType(e,h);if(J(c)&&"text"!==c&&"link"!==c&&"progressbar"!==c&&"checkbox"!==c&&"radio"!==c&&"switch"!==c&&"button"!==c){s=Math.max(s,n.getColWidthDefinedNumber(e)||0);continue}let d=0;const u=n.internalProps.layoutMap;if(u.isHeader(e,h)){const t=u.getHeader(e,h);if("only-body"===t?.define?.columnWidthComputeMode)continue;J(t?.hierarchyLevel)&&(d=(t.hierarchyLevel??0)*("tree"===u.rowHierarchyType?u.rowHierarchyIndent??0:0),u.rowHierarchyTextStartAlignment&&!n.internalProps.headerHelper.getHierarchyIcon(e,h)&&(d+=n.internalProps.headerHelper.getHierarchyIconWidth()))}else if(n.isListTable()){a=l;const t=n.getBodyColumnDefine(e,h);if(t?.tree){const t=n.dataSource.getIndexKey(n.getRecordShowIndexByCell(e,h));d=Array.isArray(t)&&n.getHierarchyState(e,h)!==ZC.none?(t.length-1)*(u.hierarchyIndent??0):0,u.hierarchyTextStartAlignment&&!n.internalProps.bodyHelper.getHierarchyIcon(e,h)&&(d+=n.internalProps.headerHelper.getHierarchyIconWidth())}}const g=XB(e,h,c,n);s=Math.max(g+d,s),a>1&&n.bottomFrozenRowCount>0&&h<n.rowCount-n.bottomFrozenRowCount&&h+a>=n.rowCount-n.bottomFrozenRowCount&&(h=n.rowCount-n.bottomFrozenRowCount-a,a=1,l=1)}const h=n.getMinColWidth(e),c=n.getMaxColWidth(e);return s<h?h:s>c?c:(s<=0&&(s=n.defaultColWidth),s)}function $B(t,e,i){const r=i.getCustomRender(t,e);let o=i.getCustomLayout(t,e);if(r||o){let n,s=1,a=0,l=!1,h=!1;(i.isHeader(t,e)||i.getBodyColumnDefine(t,e)?.mergeCell||i.hasCustomMerge())&&(n=i.getCellRange(t,e),s=n.end.col-n.start.col+1);const c={col:n?.start.col??t,row:n?.start.row??e,dataValue:i.getCellOriginValue(t,e),value:i.getCellValue(t,e)||"",rect:YB(t,e,i),table:i,originCol:t,originRow:e};if("react-custom-layout"===o&&(o=i.reactCustomLayout?.getCustomLayoutFunc(t,e)||VA),q(o)){const t=o(c);if(t.rootContainer){t.rootContainer=eR(t.rootContainer),tR(t.rootContainer,0,i.getRowHeight(e));const r=t.rootContainer.attribute.width;t.rootContainer.setStage(i.scenegraph.stage),a=r>0?r:t.rootContainer.AABBBounds.width()??0,l=t.renderDefault,h=t.enableCellPadding}else a=0,l=t.renderDefault,h=t.enableCellPadding}else if("function"==typeof r){const t=r(c);a=t?.expectedWidth??0,l=t?.renderDefault}else a=r?.expectedWidth??0,l=r?.renderDefault;if(a=Math.ceil(a),h){const r=tA(IR("padding",i._getCellStyle(t,e),t,e,i));a+=r[1]+r[3]}return{width:a/s,renderDefault:l}}}function XB(t,e,i,r){let o=0;const n=r.getCellValue(t,e),s=r._getCellStyle(t,e);let a=0,l=!1;if("body"!==r.getCellLocation(t,e))l=!0;else{const i=r.getBodyColumnDefine(t,e);l=!!i?.icon||!!i?.tree||i?.dragOrder}if(l){const i=r.getCellIcons(t,e);i?.forEach((t=>{t.positionType!==JC.absoluteRight&&(a+=(t.width??0)+(t.marginLeft??0)+(t.marginRight??0))}))}let h=1;if(r.isHeader(t,e)||r.getBodyColumnDefine(t,e)?.mergeCell||r.hasCustomMerge()){const i=r.getCellRange(t,e);h=i.end.col-i.start.col+1}const c=tA(IR("padding",s,t,e,r)),d=c[1]+c[3],u=IR("fontSize",s,t,e,r),g=IR("fontFamily",s,t,e,r),p=IR("fontWeight",s,t,e,r);let f;if("checkbox"===i)f=Q(n)?n.text:n;else if("radio"===i)if(ot(n)){f="";const i=r.getBodyColumnDefine(t,e),o=i?.radioDirectionInCell??"vertical";"vertical"===o?n.forEach((t=>{f+=(Q(t)?t.text:t).toString()+"\n"})):"horizontal"===o&&n.forEach((t=>{f+=(Q(t)?t.text:t).toString()}))}else f=Q(n)?n.text:n;else if("button"===i){const i=cv(r.getBodyColumnDefine(t,e).text,{col:t,row:e,table:r,context:null,value:n,dataValue:r.getCellOriginValue(t,e)});f=i??n??""}else f=n;const m=NR(f,r).text;if(m.length>=1&&(1!==m.length||""!==m[0])?m.forEach((t=>{const e=r.measureText(t,{fontSize:u,fontFamily:g,fontWeight:p}).width;o=Math.max((e+d+4+a)/h,o)})):o=Math.max((d+4+a)/h,o),!1!==r.internalProps.limitMaxAutoWidth&&(o=Math.min("number"==typeof r.internalProps.limitMaxAutoWidth?r.internalProps.limitMaxAutoWidth:450,o)),"checkbox"===i){const i=IR("size",s,t,e,r);if(o+=i,f){const i=IR("spaceBetweenTextAndIcon",s,t,e,r);o+=i}}else if("radio"===i){const i=IR("size",s,t,e,r),a=IR("outerRadius",s,t,e,r),l=at(a)?2*a:i,h=IR("spaceBetweenTextAndIcon",s,t,e,r);if(ot(n)){const i=r.getBodyColumnDefine(t,e),a=IR("spaceBetweenRadio",s,t,e,r),c=i?.radioDirectionInCell??"vertical";"vertical"===c?(o+=l,o+=h):"horizontal"===c&&(o+=(l+h)*n.length,o+=a*(n.length-1))}else o+=l,f&&(o+=h)}else if("switch"===i){const i=IR("boxWidth",s,t,e,r);o=i}else if("button"===i){const i=IR("buttonPadding",s,t,e,r);o+=2*i}return o}function YB(t,e,i){return{left:0,top:0,right:i.getColWidth(t),bottom:i.getRowHeight(e),width:null,height:null}}function qB(t,e,i,r,o,n,s){let a=0;const l=[],h=[];let c=0;for(let s=e;s<i;s++){const e=r?o[s]??n.getColWidth(s):n.getColWidth(s),i=n.getMaxColWidth(s),d=n.getMinColWidth(s);if(e!==i&&e!==d?(a+=e,l.push(s)):t-=e,n.options.customConfig?.shrinkSparklineFirst){"sparkline"===n.getBodyColumnType(s,0)&&(h.push({col:s,width:e}),c+=e-n.defaultColWidth)}}const d=t/a;if(n.options.customConfig?.shrinkSparklineFirst&&d<1&&a-t<c)for(let e=0;e<h.length;e++){const{col:i,width:l}=h[e],c=(a-t)/h.length,d=Math.floor(l-c);r?o[i]=n._adjustColWidth(i,d):s?n.scenegraph.setColWidth(i,n._adjustColWidth(i,d)):n._setColWidth(i,n._adjustColWidth(i,d),!1,!0)}else for(let e=0;e<l.length;e++){const i=l[e];let a;a=e===l.length-1?t-l.reduce(((t,e,s)=>e!==i?t+(r?o[e]??n.getColWidth(i):n.getColWidth(e)):t),0):Math.round((r?o[i]??n.getColWidth(i):n.getColWidth(i))*d),r?o[i]=n._adjustColWidth(i,a):s?n.scenegraph.setColWidth(i,n._adjustColWidth(i,a)):n._setColWidth(i,n._adjustColWidth(i,a),!1,!0)}}const ZB=new LR({});function JB(t,e,i,r,o,n,s,a,l){let h,c,d,u=0;t.lastChild&&t.lastChild.row===r-1?u=t.lastChild.attribute.y+t.lastChild.attribute.height:t.colHeight&&(u=t.colHeight);for(let g=r;g<=o;g++){const o=g;let p,f,m,b,y=a.getCellLocation(e,o),C=a.getCellValue(e,o),w=i,v=a.getRowHeight(o),x=!1;if(a.internalProps.customMergeCell){const t=a.getCustomMerge(e,o);if(t){const{range:e,text:i,style:s,customLayout:l,customRender:h}=t;if(p=e,f=p.start.col!==p.end.col||p.start.row!==p.end.row,f){const t=tM(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}C=i,m=s,(l||h)&&(b=JA(l,h,e.start.col,e.start.row,a.getColsWidth(e.start.col,e.end.col),a.getRowsHeight(e.start.row,e.end.row),!1,a.isAutoRowHeight(o),[0,0,0,0],p,a)),x=!0}}let _,S=e,A=o;p&&(S=p.start.col,A=p.start.row),!a.isPivotTable()&&("columnHeader"===y||"cornerHeader"===y)&&o>=a.columnHeaderLevelCount&&(y="body"),_=!a.isPivotTable()&&a.isSeriesNumberInBody(e,o)?a.getBodyColumnDefine(S,A):"body"!==y?a.getHeaderDefine(S,A):a.getBodyColumnDefine(S,A);let R="body"!==y||(_?.dragOrder||!!_?.icon||!!_?.tree);if(!p&&(a.internalProps.enableTreeNodeMerge||"body"!==y||_?.mergeCell)&&(p=a.getCellRange(e,o),f=p.start.col!==p.end.col||p.start.row!==p.end.row,f)){const t=tM(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}let T=!1;if(a.internalProps.enableTreeNodeMerge&&f){const t=a.getCellRawRecord(p.start.col,p.start.row),{vtableMergeName:i,vtableMerge:r}=t??{};T=r,r&&(R=!0,a.options.groupTitleCustomLayout&&(b=JA(a.options.groupTitleCustomLayout,void 0,p.start.col,p.start.row,a.getColsWidth(p.start.col,p.end.col),a.getRowsHeight(p.start.row,p.end.row),!1,a.isAutoRowHeight(o),[0,0,0,0],p,a)),a.options.groupTitleFieldFormat?C=a.options.groupTitleFieldFormat(t,e,o,a):i&&(C=i))}const B=T||x?"text":(a.isHeader(e,o)?a._getHeaderLayoutMap(e,o).headerType??"text":a.getBodyColumnType(e,o))??"text";if(dv(C)){eM(e,o,0,u,w,v,t),eT(C,a,QB.bind(null,{type:B,value:C,define:_,table:a,col:e,row:o,colWidth:i,cellWidth:w,cellHeight:v,columnGroup:t,y:u,customStyle:m,mayHaveIcon:R,cellLocation:y,range:p,customResult:b,defaultRowHeight:s})),t.updateColumnRowNumber(o);const r=a.getRowHeight(o);t.updateColumnHeight(r),u+=r}else{const r=zA(m||a._getCellStyle(p?p.start.col:e,p?p.start.row:o),a,p?p.start.col:e,p?p.start.row:o,IR).theme;r.group.cornerRadius=OA(e,o,a),r.group.width=i,r.group.height=Array.isArray(s)?s[o]:s,r._vtable.padding&&(h=r._vtable.padding),r.text.textAlign&&(c=r.text.textAlign),r.text.textBaseline&&(d=r.text.textBaseline),"body"===y||r.group.fill||(r.group.fill="#fff");const n=rT(B,C,_,a,e,o,i,w,v,t,u,h,c,d,R,r,p,b);if(t.updateColumnRowNumber(o),f){const i=a.getRowHeight(o);a.getColWidth(e);const{width:r}=n.attribute,{height:s}=n.attribute;n.contentWidth=r,n.contentHeight=s,lT(p,r,s,h,c,d,a),t.updateColumnHeight(i),u+=i}else t.updateColumnHeight(v),u+=v}if(l&&o>l)break}return t.setAttribute("width",i),{width:i,height:u}}function QB(t){let e,i,r;const{type:o,value:n,define:s,table:a,col:l,row:h,colWidth:c,cellWidth:d,cellHeight:u,columnGroup:g,y:p,cellLocation:f,mayHaveIcon:m,customStyle:b,range:y,customResult:C,defaultRowHeight:w}=t,v=zA(b||a._getCellStyle(y?y.start.col:l,y?y.start.row:h),a,y?y.start.col:l,y?y.start.row:h,IR).theme;v.group.cornerRadius=OA(l,h,a),v.group.width=c,v.group.height=Array.isArray(w)?w[h]:w,v._vtable.padding&&(e=v._vtable.padding),v.text.textAlign&&(i=v.text.textAlign),v.text.textBaseline&&(r=v.text.textBaseline),"body"===f||v.group.fill||(v.group.fill="#fff"),rT(o,n,s,a,l,h,c,d,u,g,p,e,i,r,m,v,y,C)}function tM(t,e,i,r){let o=0,n=0;const s=e.get(`${t.start.col},${t.start.row};${t.end.col},${t.end.row}`);if(!s||r){for(let e=t.start.col;e<=t.end.col;e++)o+=i.getColWidth(e);for(let e=t.start.row;e<=t.end.row;e++)n+=i.getRowHeight(e);e.set(`${t.start.col},${t.start.row};${t.end.col},${t.end.row}`,{cellWidth:o,cellHeight:n})}else o=s.cellWidth,n=s.cellHeight;return{cellWidth:o,cellHeight:n}}function eM(t,e,i,r,o,n,s){const a=new LR({x:i,y:r,width:o,height:n});a.role="cell",a.col=t,a.row=e,s.addChild(a)}function iM(t,e,i,r,o,n,s,a,l,h){if(r>o||n>s)return;const{layoutMap:c,defaultHeaderRowHeight:d,defaultColWidth:u}=l.internalProps,g=l.defaultRowHeight;let p=0,f=0;for(let c=r;c<=o;c++){const r=c,o=l.getColWidth(r),u=new LR({x:e+p,y:i,width:o,height:0,clip:!1,pickable:!1});u.role="column",u.col=c,t.addChild(u);const{width:m,height:b}=JB(u,r,o,n,s,l.scenegraph.mergeMap,"columnHeader"===a&&at(d)?d:g,l,h);p+=m,f=Math.max(f,b)}t.setAttribute("width",p),t.setAttribute("height",f)}function rM(t){let e=t.firstChild;for(;e&&"group"!==e.type;)e=e._next;return e}function oM(t){let e=t.lastChild;for(;e&&"group"!==e.type;)e=e._prev;return e}function nM(t,e,i,r="left"){for(let o=t;o<=e;o++){const t=i.scenegraph.getColGroup(o);t&&sM(t,i,r);const e=i.scenegraph.getColGroup(o,!0);e&&sM(e,i,r);const n=i.scenegraph.getColGroupInBottom(o);n&&sM(n,i,r)}const o=Math.min(i.scenegraph.proxy.colLimit,i.scenegraph.proxy.bodyRightCol-i.scenegraph.proxy.bodyLeftCol+1),n=i.getColsWidth(i.frozenColCount,i.frozenColCount+o),s=i.getColsWidth(i.frozenColCount,i.colCount-1);i.scenegraph.proxy.xLimitLeft=n/2,i.scenegraph.proxy.xLimitRight=s-n/2}function sM(t,e,i="left"){if("left"===i){let i;const r=function(t){let e=t._prev;for(;e&&"group"!==e.type;)e=e._prev;return e}(t);i=r?r.attribute.x+e.getColWidth(t._prev.col):e.getColsWidth(e.frozenColCount,t.col-1),t.setAttribute("x",i)}else{let i;const r=function(t){let e=t._next;for(;e&&"group"!==e.type;)e=e._next;return e}(t);i=r?r.attribute.x-e.getColWidth(t.col):e.getColsWidth(e.frozenColCount,t.col-1),t.setAttribute("x",i)}}async function aM(t,e,i,r){if(!e)return;const o=e.col,n=e.left;let s;if(s=i?r.bodyRightCol-r.colEnd:r.screenLeftCol-r.referenceCol,function(t,e,i,r,o){t>0?(lM(t,"left",o.screenLeftCol,i,r,o),o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX)):t<0?(lM(-t,"right",o.screenLeftCol,i,r,o),o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX)):(o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX))}(s,o,n,t,r),i){const e=r.table.scenegraph.getColGroup(r.colEnd);if(e){const i=e.attribute.x+e.attribute.width-(r.table.tableNoFrameWidth-r.table.getFrozenColsWidth()-r.table.getRightFrozenColsWidth())-t;r.deltaX=-i,r.table.scenegraph.setBodyAndColHeaderX(-t+r.deltaX)}}r.table.scenegraph.updateNextFrame()}async function lM(t,e,i,r,o,n){if("left"===e&&n.colEnd+t>n.bodyRightCol?t=n.bodyRightCol-n.colEnd:"right"===e&&n.colStart-t<n.bodyLeftCol&&(t=n.colStart-n.bodyLeftCol),0!==t)if(t<0&&(e="left"===e?"right":"left",t=-t),t<n.colEnd-n.colStart){const o="left"===e?n.colStart:n.colEnd-t+1,s="left"===e?n.colStart+t-1:n.colEnd,a="left"===e?n.colEnd+1:n.colStart-t,l="left"===e?n.colEnd+t:n.colStart-1;jB(n.table,a,l),function(t,e,i,r){for(let o=t;o<=e;o++)r.table.scenegraph.bodyGroup.childrenCount>0&&"group"===r.table.scenegraph.bodyGroup.firstChild.type&&uM(r.table.scenegraph.bodyGroup,i,r),r.table.scenegraph.colHeaderGroup.childrenCount>0&&"group"===r.table.scenegraph.colHeaderGroup.firstChild.type&&uM(r.table.scenegraph.colHeaderGroup,i,r),r.table.scenegraph.bottomFrozenGroup.childrenCount>0&&"group"===r.table.scenegraph.bottomFrozenGroup.firstChild.type&&uM(r.table.scenegraph.bottomFrozenGroup,i,r)}(o,s,e,n);const h=a,c=l;n.colStart="left"===e?n.colStart+t:n.colStart-t,n.colEnd="left"===e?n.colEnd+t:n.colEnd-t,gM(h,c,n),nM(h,c,n.table,e);const d=r-((n.table.scenegraph.getColGroup(i)||n.table.scenegraph.getColGroup(i,!0)).attribute.x+n.table.getFrozenColsWidth()+n.table.scenegraph.proxy.deltaX);n.table.scenegraph.proxy.deltaX+=d,n.currentCol="left"===e?n.currentCol+t:n.currentCol-t,n.totalCol=Math.max(0,Math.min(n.table.colCount-1,"left"===e?n.totalCol+t:n.totalCol-t)),n.referenceCol=n.colStart+Math.floor((n.colEnd-n.colStart)/2),n.colUpdatePos=a,n.colUpdateDirection=e,n.table.scenegraph.updateNextFrame()}else{const i="left"===e?n.colStart+t:n.colStart-t,r="left"===e?n.colEnd+t:n.colEnd-t;jB(n.table,i,r);!function(t,e,i,r){r.table.scenegraph.colHeaderGroup.forEachChildren(((o,n)=>{"group"===o.type&&hM(o,"left"===i?o.col+e:o.col-e,0===n?t:o._prev.attribute.x+r.table.getColWidth(o._prev.col))})),r.table.scenegraph.bottomFrozenGroup.forEachChildren(((o,n)=>{"group"===o.type&&hM(o,"left"===i?o.col+e:o.col-e,0===n?t:o._prev.attribute.x+r.table.getColWidth(o._prev.col))})),r.table.scenegraph.bodyGroup.forEachChildren(((o,n)=>{"group"===o.type&&hM(o,"left"===i?o.col+e:o.col-e,0===n?t:o._prev.attribute.x+r.table.getColWidth(o._prev.col))}))}(n.table.getColsWidth(n.bodyLeftCol,i-1),t,e,n);const o=i,s=r;n.colStart=i,n.colEnd=r,gM(o,s,n),nM(o,s,n.table,r>n.bodyRightCol-(n.colEnd-n.colStart+1)?"right":"left"),n.currentCol="left"===e?n.currentCol+t:n.currentCol-t,n.totalCol=Math.max(0,Math.min(n.table.colCount-1,"left"===e?n.totalCol+t:n.totalCol-t)),n.referenceCol=n.colStart+Math.floor((n.colEnd-n.colStart)/2),n.colUpdatePos=n.colStart,n.colUpdateDirection=r>n.bodyRightCol-(n.colEnd-n.colStart+1)?"right":"left",n.table.scenegraph.updateNextFrame()}}function hM(t,e,i){t.col=e,t.forEachChildren((t=>{t.col=e,t.needUpdate=!0})),t.setAttribute("x",i),t.needUpdate=!0}function cM(t,e){if(!t)return;let i=t.firstChild;for(;i;){i=e.updateCellGroupContent(i)._next}t.needUpdate=!1,t.setAttribute("width",e.table.getColWidth(t.col))}function dM(t,e){if(!t)return;const i=e.screenTopRow,r=Math.max(e.bodyTopRow,i-1*e.screenRowCount),o=Math.min(e.bodyBottomRow,i+2*e.screenRowCount,e.table.rowCount-1);for(let i=r;i<=o;i++){const r=e.highPerformanceGetCell(t.col,i,!0);e.updateCellGroupContent(r)}e.rowUpdatePos=e.rowStart,t.needUpdate=!1,t.setAttribute("width",e.table.getColWidth(t.col))}function uM(t,e,i){if("left"===e){const e=rM(t),r=oM(t);hM(e,r.col+1,r.attribute.x+i.table.getColWidth(r.col)),t.appendChild(e),t.border&&t.appendChild(t.border)}else{const e=oM(t),r=rM(t);hM(e,r.col-1,r.attribute.x-i.table.getColWidth(r.col-1)),t.insertBefore(e,t.firstChild)}}function gM(t,e,i){for(let r=t;r<=e;r++){const t=i.table.scenegraph.getColGroup(r,!0);t&&cM(t,i);const e=i.table.scenegraph.getColGroupInBottom(r);e&&cM(e,i);const o=i.table.scenegraph.getColGroupInRightTopCorner(r);o&&cM(o,i);const n=i.table.scenegraph.getColGroupInRightBottomCorner(r);n&&cM(n,i);const s=i.table.scenegraph.getColGroup(r);s&&dM(s,i)}pM(i.table.scenegraph.colHeaderGroup),pM(i.table.scenegraph.bottomFrozenGroup),pM(i.table.scenegraph.bodyGroup),i.progress()}function pM(t){const e=oM(t);if(e&&(t.setAttribute("width",e.attribute.x+e.attribute.width),t.border)){const i=t.border;i.setAttribute("width",e.attribute.x+e.attribute.width-(i.attribute.borderLeft??0)/2-(i.attribute.borderRight??0)/2)}}function fM(t,e,i,r,o,n="up",s){if("up"===n)for(let n=t;n<=e;n++)for(let t=i;t<=r;t++){const e=o.scenegraph.highPerformanceGetCell(n,t,!0);if("cell"!==e.role||!e.row)continue;let i;if(e._prev)i=e._prev?.attribute.y+o.getRowHeight(e._prev.row);else if(s){const e=r===o.rowCount-o.bottomFrozenRowCount-1?r:r+1;if(i=o.scenegraph.highPerformanceGetCell(n,e,!0).attribute.y,J(i))for(let r=t;r<e;r++)i-=o.getRowHeight(r)}else i=mM(e.row,o);J(i)&&e.setAttribute("y",i)}else for(let n=t;n<=e;n++)for(let t=r;t>=i;t--){const e=o.scenegraph.highPerformanceGetCell(n,t,!0);if("cell"!==e.role||!e.row)continue;let r;if(e._next)r=e._next?.attribute.y-o.getRowHeight(e.row);else if(s){const e=i<=o.frozenRowCount?o.frozenRowCount:i-1;if(i<=o.frozenRowCount)r=0;else{r=o.scenegraph.highPerformanceGetCell(n,e,!0).attribute.y}for(let i=e;i<t;i++){r+=o.getRowHeight(i)}}else r=mM(e.row,o);J(r)&&e.setAttribute("y",r)}const a=Math.min(o.scenegraph.proxy.rowLimit,o.scenegraph.proxy.bodyBottomRow-o.scenegraph.proxy.bodyTopRow+1),l=o.getRowsHeight(o.frozenRowCount,o.frozenRowCount+a),h=o.getRowsHeight(o.frozenRowCount,o.rowCount-1);o.scenegraph.proxy.yLimitTop=l/2,o.scenegraph.proxy.yLimitBottom=h-l/2}function mM(t,e){let i;return i=t<e.frozenRowCount?e.getRowsHeight(0,t-1):t>=e.rowCount-e.bottomFrozenRowCount?e.getRowsHeight(e.rowCount-e.bottomFrozenRowCount,t-1):e.getRowsHeight(e.frozenRowCount,t-1),i}async function bM(t,e,i,r){if(!e)return;const o=e.row,n=e.top;let s;if(s=i?r.bodyBottomRow-r.rowEnd:o-r.referenceRow,function(t,e,i,r,o){t>0?(yM(t,"up",e,i,r,o),o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY)):t<0?(yM(-t,"down",e,i,r,o),o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY)):(o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY))}(s,o,n,t,r),i){const e=r.table.scenegraph.highPerformanceGetCell(r.colStart,r.rowEnd,!0);if("cell"===e.role){const i=e.attribute.y+e.attribute.height-(r.table.tableNoFrameHeight-r.table.getFrozenRowsHeight()-r.table.getBottomFrozenRowsHeight())-t;r.deltaY=-i,r.updateBody(t-r.deltaY)}}}async function yM(t,e,i,r,o,n){if("up"===e&&n.rowEnd+t>n.bodyBottomRow?t=n.bodyBottomRow-n.rowEnd:"down"===e&&n.rowStart-t<n.bodyTopRow&&(t=n.rowStart-n.bodyTopRow),0!==t)if(t<0&&(e="up"===e?"down":"up",t=-t),t<n.rowEnd-n.rowStart){const r="up"===e?n.rowStart:n.rowEnd-t+1,o="up"===e?n.rowStart+t-1:n.rowEnd,s="up"===e?n.rowEnd+1:n.rowStart-t,a="up"===e?n.rowEnd+t:n.rowStart-1;let l,h;if(n.table.isAutoRowHeight())l=s,h=a;else{l=Math.max(n.bodyTopRow,i-1*n.screenRowCount),h=Math.min(n.bodyBottomRow,i+2*n.screenRowCount,n.table.rowCount-1)}TT(n.table,l,h,!1),function(t,e,i,r){for(let o=0;o<r.table.frozenColCount;o++){const n=r.table.scenegraph.getColGroup(o);if(n)for(let o=t;o<=e;o++)CM(n,i,r)}for(let o=r.table.colCount-r.table.rightFrozenColCount;o<r.table.colCount;o++){const n=r.table.scenegraph.getColGroup(o);if(n)for(let o=t;o<=e;o++)CM(n,i,r)}for(let o=r.bodyLeftCol;o<=r.bodyRightCol;o++){const n=r.table.scenegraph.getColGroup(o);if(n)for(let o=t;o<=e;o++)CM(n,i,r)}}(r,o,e,n),n.rowStart="up"===e?n.rowStart+t:n.rowStart-t,n.rowEnd="up"===e?n.rowEnd+t:n.rowEnd-t;const c=wM(l,h,n,!0);n.table.isAutoRowHeight()&&(fM(n.bodyLeftCol,n.bodyRightCol,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),fM(0,n.table.frozenColCount-1,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),fM(n.table.colCount-n.table.rightFrozenColCount,n.table.colCount-1,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0)),n.currentRow="up"===e?n.currentRow+t:n.currentRow-t,n.totalRow=Math.max(0,Math.min(n.bodyBottomRow,"up"===e?n.totalRow+t:n.totalRow-t,n.table.rowCount-1)),n.referenceRow=n.rowStart+Math.floor((n.rowEnd-n.rowStart)/2),n.table.isAutoRowHeight()&&c?n.rowUpdatePos=Math.min(n.rowUpdatePos,n.rowEnd+1):n.rowUpdatePos=Math.min(n.rowUpdatePos,s),n.rowUpdateDirection=e,n.table.scenegraph.updateNextFrame(),await n.progress()}else{const r="up"===e?n.rowStart+t:n.rowStart-t,o=Math.min(n.table.rowCount-1,"up"===e?n.rowEnd+t:n.rowEnd-t),s=n.table.getRowsHeight(n.bodyTopRow,r-1);let a,l;n.table.isAutoRowHeight()?(a=r,l=o):(a=Math.max(n.bodyTopRow,i-1*n.screenRowCount),l=Math.min(n.bodyBottomRow,i+2*n.screenRowCount,n.table.rowCount-1)),TT(n.table,a,l,!1),function(t,e,i,r){for(let o=0;o<r.table.frozenColCount;o++){const n=r.table.scenegraph.getColGroup(o);n?.forEachChildren(((o,n)=>{r.updateCellGroupPosition(o,"up"===i?o.row+e:o.row-e,0===n?t:o._prev.attribute.y+r.table.getRowHeight(o._prev.row))}))}for(let o=r.table.colCount-r.table.rightFrozenColCount;o<r.table.colCount;o++){const n=r.table.scenegraph.getColGroup(o);n?.forEachChildren(((o,n)=>{r.updateCellGroupPosition(o,"up"===i?o.row+e:o.row-e,0===n?t:o._prev.attribute.y+r.table.getRowHeight(o._prev.row))}))}for(let o=r.bodyLeftCol;o<=r.bodyRightCol;o++){const n=r.table.scenegraph.getColGroup(o);n?.forEachChildren(((o,n)=>{r.updateCellGroupPosition(o,"up"===i?o.row+e:o.row-e,0===n?t:o._prev.attribute.y+r.table.getRowHeight(o._prev.row))}))}}(s,t,e,n),n.rowStart=r,n.rowEnd=o;const h=wM(a,l,n,!0);n.table.isAutoRowHeight()&&(fM(n.bodyLeftCol,n.bodyRightCol,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),fM(0,n.table.frozenColCount-1,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),fM(n.table.colCount-n.table.rightFrozenColCount,n.table.colCount-1,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up")),n.currentRow="up"===e?n.currentRow+t:n.currentRow-t,n.totalRow=Math.max(0,Math.min(n.bodyBottomRow,"up"===e?n.totalRow+t:n.totalRow-t,n.table.rowCount-1)),n.referenceRow=n.rowStart+Math.floor((n.rowEnd-n.rowStart)/2),n.table.isAutoRowHeight()&&h?n.rowUpdatePos=n.rowEnd+1:n.rowUpdatePos=n.rowStart,n.rowUpdateDirection=o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",n.table.scenegraph.updateNextFrame(),await n.progress()}}function CM(t,e,i){if(t.childrenCount>=1)if("up"===e){const e=t.firstChild;i.updateCellGroupPosition(e,t.lastChild.row+1,t.lastChild.attribute.y+i.table.getRowHeight(t.lastChild.row)),t.appendChild(e)}else{const e=t.lastChild;i.updateCellGroupPosition(e,t.firstChild.row-1,t.firstChild.attribute.y-i.table.getRowHeight(e.row)),t.insertBefore(e,t.firstChild)}}function wM(t,e,i,r=!1){for(let r=0;r<i.table.frozenColCount;r++)for(let o=t;o<=e;o++){const t=i.highPerformanceGetCell(r,o,!0);i.updateCellGroupContent(t)}for(let r=i.table.colCount-i.table.rightFrozenColCount;r<i.table.colCount;r++)for(let o=t;o<=e;o++){const t=i.highPerformanceGetCell(r,o);i.updateCellGroupContent(t)}let o=i.bodyLeftCol,n=i.bodyRightCol,s=!0;if(r){const t=i.screenLeftCol;o=Math.max(i.bodyLeftCol,t-1*i.screenColCount),n=Math.min(i.bodyRightCol,t+2*i.screenColCount),o===i.bodyLeftCol&&n===i.bodyRightCol||(s=!1)}for(let r=o;r<=n;r++)for(let o=t;o<=e;o++){const t=i.highPerformanceGetCell(r,o);i.updateCellGroupContent(t)}return vM(i.table.scenegraph.rowHeaderGroup),vM(i.table.scenegraph.rightFrozenGroup),vM(i.table.scenegraph.bodyGroup),i.table.scenegraph.updateNextFrame(),s}function vM(t){const e=oM(t);if(!e)return;const i=oM(e);if(i&&(t.setAttribute("height",i.attribute.y+i.attribute.height),t.border)){const e=t.border;e.setAttribute("height",i.attribute.y+i.attribute.height-(e.attribute.borderTop??0)/2-(e.attribute.borderBottom??0)/2)}}function xM(t){const{changedCells:e}=t.internalProps.stick;e.forEach((e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((t=>{t.setAttributes({dx:e.dx,dy:e.dy})}))})),e.clear();const{scrollTop:i,scrollLeft:r,frozenRowCount:o,frozenColCount:n}=t,s=t.getFrozenRowsHeight(),a=t.getFrozenColsWidth(),{row:l}=t.getRowAt(i+s+1),{col:h}=t.getColAt(r+a+1),c=Math.max(l,t.frozenRowCount),d=Math.max(h,t.frozenColCount),u=t.getAllRowsHeight()>t.tableNoFrameHeight?t.getRowAt(i+t.tableNoFrameHeight-t.getBottomFrozenRowsHeight()-1).row:t.rowCount-t.bottomFrozenRowCount-1,g=t.getAllColsWidth()>t.tableNoFrameWidth?t.getColAt(r+t.tableNoFrameWidth-t.getRightFrozenColsWidth()-1).col:t.colCount-t.rightFrozenColCount-1;if(!(g<0||u<0)){for(let i=0;i<o&&!(g<d);i++)[d,g].forEach((r=>{const o=t._getCellStyle(r,i);if(o?.textStick&&"vertical"!==o?.textStick){AM(t.scenegraph.getCell(r,i),a+t.tableX,t.tableNoFrameWidth-t.getRightFrozenColsWidth()+t.tableX,e,o?.textStickBaseOnAlign,t)}}));for(let i=0;i<n&&!(u<c);i++)[c,u].forEach((r=>{const o=t._getCellStyle(i,r);if(o?.textStick&&"horizontal"!==o?.textStick){_M(t.scenegraph.getCell(i,r),s+t.tableY,t.tableNoFrameHeight-t.getBottomFrozenRowsHeight()+t.tableY,e,o?.textStickBaseOnAlign,t)}}));for(let i=d;i<=g&&!(u<c);i++)[c,u].forEach((r=>{const o=t._getCellStyle(i,r);if(o?.textStick&&"horizontal"!==o?.textStick){_M(t.scenegraph.getCell(i,r),s+t.tableY,t.tableNoFrameHeight-t.getBottomFrozenRowsHeight()+t.tableY,e,o?.textStickBaseOnAlign,t)}}));for(let i=c;i<=u&&!(g<d);i++)[d,g].forEach((r=>{const o=t._getCellStyle(r,i);if(o?.textStick&&"vertical"!==o?.textStick){AM(t.scenegraph.getCell(r,i),a+t.tableX,t.tableNoFrameWidth-t.getRightFrozenColsWidth()+t.tableX,e,o?.textStickBaseOnAlign,t)}}))}}function _M(t,e,i,r,o,n){if(at(t.mergeStartCol)&&at(t.mergeStartRow)&&at(t.mergeEndCol)&&at(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=ET(t,n.scenegraph);for(let t=s;t<=a;t++)for(let s=l;s<=h;s++){const a=n.scenegraph.getCell(t,s);"cell"===a.role&&SM(a,e,i,r,o)}}else SM(t,e,i,r,o)}function SM(t,e,i,r,o){const n=t.getChildByName("text",!0)||t.getChildByName("image",!0);if(!n)return;if("image"===n.type){const{image:t}=n.attribute;if(!t||!n.resources)return;if("success"!==n.resources.get(t).state)return}const s=n.textBaseline??"top";n.AABBBounds.width();const a=n.globalAABBBounds.y1,l=n.globalAABBBounds.y2;if("middle"===s&&o){const o=t.globalAABBBounds.y1+(t.firstChild?.attribute.dy??0),s=o+(t.contentHeight??t.attribute.height??0);if(o<e||s>i){const a=Math.max(o,e),l=Math.min(s,i),h=n.globalTransMatrix.f-(l+a)/2+n.AABBBounds.height()/2;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dy",(t.attribute.dy??0)-h+2)}))}}else if(a<e){const i=a-e;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dy",(t.attribute.dy??0)-i+2)}))}else if(l>i){const e=l-i;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dy",(t.attribute.dy??0)-e)}))}}function AM(t,e,i,r,o,n){if(at(t.mergeStartCol)&&at(t.mergeStartRow)&&at(t.mergeEndCol)&&at(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=ET(t,n.scenegraph);for(let t=s;t<=a;t++)for(let s=l;s<=h;s++){const a=n.scenegraph.getCell(t,s);"cell"===a.role&&RM(a,e,i,r,o)}}else RM(t,e,i,r,o)}function RM(t,e,i,r,o){const n=t.getChildByName("text",!0)||t.getChildByName("image",!0);if(!n)return;if("image"===n.type){const{image:t}=n.attribute;if(!t||!n.resources)return;if("success"!==n.resources.get(t).state)return}const s=n.attribute.textAlign??n.textAlign??"left";n.AABBBounds.width();const a=n.globalAABBBounds.x1,l=n.globalAABBBounds.x2;if("center"===s&&o){const o=t.globalAABBBounds.x1+(t.firstChild?.attribute.dx??0),s=o+(t.contentWidth??t.attribute.width??0);if(o<e||s>i){const a=Math.max(o,e),l=Math.min(s,i),h=n.globalTransMatrix.e-(l+a)/2;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dx",(t.attribute.dx??0)-h+2)}))}}else if(a<e){const i=a-e;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dx",(t.attribute.dx??0)-i+2)}))}else if(l>i){const e=l-i;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dx",(t.attribute.dx??0)-e)}))}}function TM(t){const e=t.internalProps.layoutMap.headerObjects,i=t.internalProps.layoutMap.columnObjects;for(let t=0;t<e.length;t++){const i=e[t];if(i&&i.style?.textStick)return!0}for(let t=0;t<i.length;t++){const e=i[t];if(e&&e.style?.textStick)return!0}return!!(t.theme.headerStyle.textStick||t.theme.rowHeaderStyle.textStick||t.theme.bodyStyle.textStick)}ZB.role="empty";class BM{table;isRelease=!1;mode="column";isProgressing;rowLimit=200;currentRow=0;totalRow;yLimitTop;yLimitBottom;rowStart=0;rowEnd=0;referenceRow=0;bodyBottomRow;screenRowCount;firstScreenRowLimit;taskRowCount;rowUpdatePos;rowUpdateDirection;screenTopRow=0;totalActualBodyRowCount;deltaY=0;deltaHeight=0;colLimit=100;bodyRightCol;totalCol;colStart;colEnd;taskColCount;xLimitLeft;xLimitRight;screenColCount;firstScreenColLimit;colUpdatePos;currentCol;referenceCol;screenLeftCol=0;colUpdateDirection;totalActualBodyColCount;deltaX=0;deltaWidth=0;cellCache=new Map;constructor(t){this.table=t,this.table.isPivotChart()?(this.rowLimit=Math.max(100,Math.ceil(2*t.tableNoFrameHeight/t.defaultRowHeight)),this.colLimit=Math.max(100,Math.ceil(2*t.tableNoFrameWidth/t.defaultColWidth))):this.table.isAutoRowHeight()?this.rowLimit=Math.max(100,Math.ceil(2*t.tableNoFrameHeight/t.defaultRowHeight)):("autoWidth"===this.table.widthMode||(this.rowLimit=Math.max(200,Math.ceil(2*t.tableNoFrameHeight/t.defaultRowHeight))),this.colLimit=Math.max(100,Math.ceil(2*t.tableNoFrameWidth/t.defaultColWidth))),this.table.internalProps.transpose?this.mode="row":this.table.isPivotTable()&&(this.mode="pivot"),this.table.options.maintainedDataCount&&(this.rowLimit=this.table.options.maintainedDataCount)}get bodyLeftCol(){return this.table.frozenColCount}get bodyTopRow(){return this.table.frozenRowCount}setParamsForColumn(){this.bodyRightCol=this.table.colCount-1-this.table.rightFrozenColCount;const t=Math.min(this.colLimit,this.bodyRightCol-this.bodyLeftCol+1);this.totalActualBodyColCount=t,this.totalCol=this.bodyLeftCol+t-1,this.colStart=this.bodyLeftCol,this.colEnd=this.totalCol;const e=this.table.defaultColWidth;this.taskColCount=1*Math.ceil(this.table.tableNoFrameWidth/e);const i=e*t,r=e*(this.bodyRightCol-this.bodyLeftCol+1);this.xLimitLeft=i/2,this.xLimitRight=r-i/2;const o=5*this.table.tableNoFrameWidth;this.screenColCount=Math.ceil(this.table.tableNoFrameWidth/e),this.firstScreenColLimit=Math.max(15,this.bodyLeftCol+Math.min(this.colLimit,Math.ceil(o/e))),this.colUpdatePos=this.bodyRightCol}setParamsForRow(){this.bodyBottomRow=this.table.rowCount-1-this.table.bottomFrozenRowCount;const t=Math.min(this.rowLimit,this.bodyBottomRow-this.bodyTopRow+1);this.totalActualBodyRowCount=t,this.totalRow=this.bodyTopRow+t-1,this.rowStart=this.bodyTopRow,this.rowEnd=this.totalRow;const e=this.table.defaultRowHeight;this.taskRowCount=1*Math.ceil(this.table.tableNoFrameHeight/e);const i=e*t,r=e*(this.bodyBottomRow-this.bodyTopRow+1);this.yLimitTop=i/2,this.yLimitBottom=r-i/2;const o=5*this.table.tableNoFrameHeight;this.screenRowCount=Math.ceil(this.table.tableNoFrameHeight/e),this.firstScreenRowLimit=Math.max(30,this.bodyTopRow+Math.min(this.rowLimit,Math.ceil(o/e))),this.rowUpdatePos=this.bodyBottomRow}refreshRowCount(){this.bodyBottomRow=this.table.rowCount-1-this.table.bottomFrozenRowCount;const t=Math.min(this.rowLimit,this.bodyBottomRow-this.bodyTopRow+1);this.totalActualBodyRowCount=t,this.totalRow=this.rowStart+t-1}refreshColCount(){this.bodyRightCol=this.table.colCount-1-this.table.rightFrozenColCount;const t=Math.min(this.colLimit,this.bodyRightCol-this.bodyLeftCol+1);this.totalActualBodyColCount=t,this.totalCol=this.bodyLeftCol+t-1,this.colStart=this.bodyLeftCol,this.colEnd=this.totalCol}resize(){const t=this.table.defaultColWidth;this.taskColCount=1*Math.ceil(this.table.tableNoFrameWidth/t);const e=5*this.table.tableNoFrameWidth;this.screenColCount=Math.ceil(this.table.tableNoFrameWidth/t),this.firstScreenColLimit=this.bodyLeftCol+Math.min(this.colLimit,Math.ceil(e/t));const i=this.table.defaultRowHeight;this.taskRowCount=1*Math.ceil(this.table.tableNoFrameHeight/i);const r=5*this.table.tableNoFrameHeight;this.screenRowCount=Math.ceil(this.table.tableNoFrameHeight/i),this.firstScreenRowLimit=this.bodyTopRow+Math.min(this.rowLimit,Math.ceil(r/i))}createGroupForFirstScreen(t,e,i,r,o,n,s,a){!function(t,e,i,r,o,n,s,a,l){const{table:h}=l,{leftBottomCornerGroup:c,rightTopCornerGroup:d,rightBottomCornerGroup:u}=h.scenegraph;let g,p,f,m;l.setParamsForRow(),l.setParamsForColumn(),"adaptive"===h.widthMode||h.options.autoWrapText&&("adaptive"===h.heightMode||h.isAutoRowHeight())?(f=h.colCount-1,g=Math.min(l.firstScreenColLimit-1,h.colCount-1)):g=Math.min(l.firstScreenColLimit-1,h.colCount-1),"adaptive"===h.heightMode?(m=h.rowCount-1,p=Math.min(l.firstScreenRowLimit-1,h.rowCount-1)):p=Math.min(l.firstScreenRowLimit-1,h.rowCount-1),0===h.internalProps._widthResizedColMap.size&&jB(h,0,f??g),0===h.internalProps._heightResizedRowMap.size&&TT(h,0,"auto"===h.options.canvasHeight?h.rowCount-1:m??p),g<h.colCount-h.rightFrozenColCount&&jB(h,h.colCount-h.rightFrozenColCount,h.colCount-1),p<h.rowCount-h.bottomFrozenRowCount&&TT(h,h.rowCount-h.bottomFrozenRowCount,h.rowCount-1),h.scenegraph.colHeaderGroup.setAttribute("x",h.getFrozenColsWidth()),h.scenegraph.rowHeaderGroup.setAttribute("y",h.getFrozenRowsHeight()),h.scenegraph.bottomFrozenGroup.setAttribute("x",h.getFrozenColsWidth()),h.scenegraph.rightFrozenGroup.setAttribute("y",h.getFrozenRowsHeight()),h.scenegraph.bodyGroup.setAttributes({x:h.getFrozenColsWidth(),y:h.getFrozenRowsHeight()}),iM(t,s,a,0,h.frozenColCount-1,0,h.frozenRowCount-1,h.isListTable()?"columnHeader":"cornerHeader",h),g-h.rightFrozenColCount>=h.frozenColCount&&iM(e,s,a,h.frozenColCount,g-h.rightFrozenColCount,0,h.frozenRowCount-1,"columnHeader",h),h.frozenColCount>0&&(h.leftRowSeriesNumberCount>0&&iM(i,s,a,0,h.leftRowSeriesNumberCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,"rowHeader",h),h.frozenColCount>h.leftRowSeriesNumberCount&&iM(i,s,a,h.leftRowSeriesNumberCount,Math.min(h.frozenColCount-1,h.rowHeaderLevelCount+h.leftRowSeriesNumberCount-1),h.frozenRowCount,p-h.bottomFrozenRowCount,"rowHeader",h),h.frozenColCount>h.rowHeaderLevelCount+h.leftRowSeriesNumberCount&&iM(i,s,a,h.rowHeaderLevelCount+h.leftRowSeriesNumberCount,h.frozenColCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,"body",h)),h.bottomFrozenRowCount>0&&(h.frozenColCount>0&&(h.leftRowSeriesNumberCount>0&&iM(c,s,a,0,h.leftRowSeriesNumberCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"rowHeader",h),h.rowHeaderLevelCount>0&&iM(c,s,a,h.leftRowSeriesNumberCount,h.leftRowSeriesNumberCount+h.rowHeaderLevelCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"rowHeader",h),h.frozenColCount>h.rowHeaderLevelCount+h.leftRowSeriesNumberCount&&iM(c,s,a,h.rowHeaderLevelCount+h.leftRowSeriesNumberCount,h.frozenColCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"body",h)),g-h.rightFrozenColCount>=h.frozenColCount&&iM(o,s,a,h.frozenColCount,g-h.rightFrozenColCount,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,h.isPivotChart()?"rowHeader":"body",h)),h.rightFrozenColCount>0&&(iM(d,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,0,h.frozenRowCount-1,"columnHeader",h),iM(r,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,h.isPivotChart()?"rowHeader":"body",h)),h.bottomFrozenRowCount>0&&h.rightFrozenColCount>0&&iM(u,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"body",h),g-h.rightFrozenColCount>=h.frozenColCount&&iM(n,s,a,h.frozenColCount,g-h.rightFrozenColCount,h.frozenRowCount,p-h.bottomFrozenRowCount,"body",h),n.firstChild||e.firstChild||t.firstChild||i.firstChild?(l.currentRow=n.firstChild?.rowNumber??i.firstChild?.rowNumber??l.totalRow,l.rowEnd=l.currentRow,l.rowUpdatePos=l.rowEnd+1,l.referenceRow=l.rowStart+Math.floor((l.rowEnd-l.rowStart)/2),l.currentCol=n.lastChild?.col??e.lastChild?.col??i.lastChild?.col??t.lastChild?.col??l.totalCol,l.colEnd=l.currentCol,l.colUpdatePos=l.colEnd+1,l.referenceCol=l.colStart+Math.floor((l.colEnd-l.colStart)/2),l.progress()):(l.currentRow=l.totalRow,l.rowEnd=l.currentRow,l.rowUpdatePos=l.rowEnd+1,l.referenceRow=l.rowStart+Math.floor((l.rowEnd-l.rowStart)/2),l.currentCol=l.totalCol,l.colEnd=l.currentCol,l.colUpdatePos=l.colEnd+1,l.referenceCol=l.colStart+Math.floor((l.colEnd-l.colStart)/2))}(t,e,i,r,o,n,s,a,this)}async progress(){if(!this.isProgressing)return this.isProgressing=!0,new Promise(((t,e)=>{setTimeout((async()=>{this.isProgressing=!1,this.isRelease||(this.colUpdatePos<=this.colEnd?(await this.updateColCellGroupsAsync(),await this.progress()):this.rowUpdatePos<=this.rowEnd?(await this.updateRowCellGroupsAsync(),await this.progress()):this.currentCol<this.totalCol?(await this.createCol(),await this.progress()):this.currentRow<this.totalRow&&(await this.createRow(),await this.progress()),xM(this.table),this.table.scenegraph.updateNextFrame(),t())}),16)}))}async createRow(){this.taskRowCount&&this.createRowCellGroup(this.taskRowCount)}async createCol(){this.taskColCount&&this.createColGroup(this.taskRowCount)}createRowCellGroup(t){const e=Math.min(this.totalRow,this.currentRow+t);if(TT(this.table,this.currentRow+1,e,!1),this.rowEnd=e,this.table.frozenColCount){let t=0;for(let i=0;i<this.table.frozenColCount;i++){const r=this.table.scenegraph.getColGroup(i);this.table.isListTable();const{height:o}=JB(r,i,r.attribute.width,this.currentRow+1,e,this.table.scenegraph.mergeMap,this.table.defaultRowHeight,this.table);t=Math.max(t,o),this.table.scenegraph.rowHeaderGroup.setAttribute("height",t)}}if(this.table.rightFrozenColCount){let t=0;for(let i=this.table.colCount-this.table.rightFrozenColCount;i<this.table.colCount;i++){const r=this.table.scenegraph.getColGroup(i);this.table.isPivotChart();const{height:o}=JB(r,i,r.attribute.width,this.currentRow+1,e,this.table.scenegraph.mergeMap,this.table.defaultRowHeight,this.table);t=Math.max(t,o),this.table.scenegraph.rightFrozenGroup.setAttribute("height",t)}}let i=0;for(let t=this.bodyLeftCol;t<=this.bodyRightCol;t++){const r=this.table.scenegraph.getColGroup(t);if(!r)continue;this.table.rowHeaderLevelCount;const{height:o}=JB(r,t,r.attribute.width,this.currentRow+1,e,this.table.scenegraph.mergeMap,this.table.defaultRowHeight,this.table);i=Math.max(i,o)}this.table.scenegraph.bodyGroup.setAttribute("height",i),this.currentRow=e,this.rowUpdatePos=this.rowEnd,this.table.scenegraph.updateContainer(),this.table.scenegraph.updateBorderSizeAndPosition()}createColGroup(t){const e=Math.min(this.totalCol,this.currentCol+t);jB(this.table,this.currentCol+1,e),this.colEnd=e;for(let t=0;t<this.table.rowCount;t++){const e=this.highPerformanceGetCell(this.currentCol,t);"cell"===e.role&&at(e.mergeStartCol)&&e.mergeStartCol>this.currentCol&&this.table.scenegraph.updateCellContent(e.col,e.row)}if(this.table.frozenRowCount){const t=this.table.scenegraph.colHeaderGroup.lastChild instanceof LR?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;iM(this.table.scenegraph.colHeaderGroup,i,r,this.currentCol+1,e,0,this.table.frozenRowCount-1,"columnHeader",this.table)}if(this.table.bottomFrozenRowCount){const t=this.table.scenegraph.bottomFrozenGroup.lastChild instanceof LR?this.table.scenegraph.bottomFrozenGroup.lastChild:this.table.scenegraph.bottomFrozenGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;iM(this.table.scenegraph.bottomFrozenGroup,i,r,this.currentCol+1,e,this.table.rowCount-this.table.bottomFrozenRowCount,this.table.rowCount-1,"columnHeader",this.table)}let i=this.table.scenegraph.bodyGroup.lastChild&&(this.table.scenegraph.bodyGroup.lastChild instanceof LR?this.table.scenegraph.bodyGroup.lastChild:this.table.scenegraph.bodyGroup.lastChild._prev);i||(i=this.table.scenegraph.colHeaderGroup.lastChild&&(this.table.scenegraph.colHeaderGroup.lastChild instanceof LR?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev));const r=i.attribute.x+i.attribute.width,o=i.attribute.y;iM(this.table.scenegraph.bodyGroup,r,o,this.currentCol+1,e,this.rowStart,this.rowEnd,"body",this.table),this.currentCol=e,this.colUpdatePos=this.colEnd,this.table.scenegraph.updateContainer(),this.table.scenegraph.updateBorderSizeAndPosition()}async setY(t,e=!1){const i=this.table.getRowsHeight(this.bodyTopRow,this.bodyTopRow+(this.rowEnd-this.rowStart+1))/2,r=this.table.getAllRowsHeight()-i,o=this.table.getTargetRowAt(t+this.table.scenegraph.colHeaderGroup.attribute.height);o&&(this.screenTopRow=o.row),t<i&&this.rowStart===this.bodyTopRow||t>r&&this.rowEnd===this.bodyBottomRow?(this.updateDeltaY(t),this.updateBody(t-this.deltaY)):this.table.scenegraph.bodyGroup.firstChild&&"group"===this.table.scenegraph.bodyGroup.firstChild.type&&0!==this.table.scenegraph.bodyGroup.firstChild.childrenCount||this.table.scenegraph.rowHeaderGroup.firstChild&&"group"===this.table.scenegraph.rowHeaderGroup.firstChild.type&&0!==this.table.scenegraph.rowHeaderGroup.firstChild.childrenCount?this.dynamicSetY(t,o,e):(this.updateDeltaY(t),this.updateBody(t-this.deltaY))}async setX(t,e=!1){const i=this.table.getColsWidth(this.bodyLeftCol,this.bodyLeftCol+(this.colEnd-this.colStart+1))/2,r=this.table.getAllColsWidth()-i,o=this.table.getTargetColAt(t+this.table.scenegraph.rowHeaderGroup.attribute.width);o&&(this.screenLeftCol=o.col),t<i&&this.colStart===this.bodyLeftCol||t>r&&this.colEnd===this.bodyRightCol||this.table.scenegraph.bodyGroup.firstChild&&"group"===this.table.scenegraph.bodyGroup.firstChild.type&&0===this.table.scenegraph.bodyGroup.firstChild.childrenCount?(this.updateDeltaX(t),this.table.scenegraph.setBodyAndColHeaderX(-t+this.deltaX)):this.dynamicSetX(t,o,e)}async dynamicSetY(t,e,i=!1){bM(t,e,i,this)}async dynamicSetX(t,e,i=!1){aM(t,e,i,this)}updateBody(t){this.table.scenegraph.setBodyAndRowHeaderY(-t)}async updateRowCellGroupsAsync(){this.updateCellGroups(this.taskRowCount)}updateCellGroups(t){const e=Math.min(this.bodyBottomRow,this.rowUpdatePos+t);this.table.isAutoRowHeight()&&TT(this.table,this.rowUpdatePos,e,!1),wM(this.rowUpdatePos,e,this),this.table.isAutoRowHeight()&&(fM(this.bodyLeftCol,this.bodyRightCol,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),fM(0,this.table.frozenColCount-1,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),fM(this.table.colCount-this.table.rightFrozenColCount,this.table.colCount-1,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0)),this.rowUpdatePos=e+1}updateBottomFrozenCellGroups(){const t=this.table.rowCount-this.table.bottomFrozenRowCount,e=this.table.rowCount-1;this.table.isAutoRowHeight()&&TT(this.table,t,e,!1),wM(t,e,this),this.table.isAutoRowHeight()&&(fM(this.bodyLeftCol,this.bodyRightCol,t,e,this.table,this.rowUpdateDirection),fM(0,this.table.frozenColCount-1,t,e,this.table,this.rowUpdateDirection),fM(this.table.colCount-this.table.rightFrozenColCount,this.table.colCount-1,t,e,this.table,this.rowUpdateDirection))}updateRightFrozenCellGroups(){const t=this.table.colCount-this.table.rightFrozenColCount,e=this.table.colCount-1;"autoWidth"===this.table.widthMode&&jB(this.table,t,e,!1),gM(t,e,this),this.table.isAutoRowHeight()&&nM(t,e,this.table,this.colUpdateDirection)}async updateColCellGroupsAsync(){this.updateColGroups(this.taskRowCount)}updateColGroups(t){const e=Math.min(this.bodyRightCol,this.colUpdatePos+t);jB(this.table,this.colUpdatePos,e),gM(this.colUpdatePos,e,this),this.colUpdatePos=e+1}updateCellGroupPosition(t,e,i){t.row=e,t.mergeStartCol=void 0,t.mergeStartRow=void 0,t.mergeEndCol=void 0,t.mergeEndRow=void 0,t.setAttribute("y",i),t.needUpdate=!0,t.needUpdateForAutoRowHeight=!0}updateCellGroupContent(t){if(!t.needUpdate||"cell"!==t.role)return t;const e=this.table.scenegraph.updateCellContent(t.col,t.row);return t.needUpdate=!1,e||t}async sortCellVertical(){await async function(t){let e,i;t.table.scenegraph.bodyGroup.forEachChildren(((t,e)=>{"group"===t.type&&(t.needUpdate=!0,t?.forEachChildren((t=>{t.needUpdate=!0})))})),t.table.isAutoRowHeight()?(e=t.rowStart,i=t.rowEnd):(e=Math.max(t.bodyTopRow,t.screenTopRow-1*t.screenRowCount),i=Math.min(t.bodyBottomRow,t.screenTopRow+2*t.screenRowCount,t.table.rowCount-1));const r=t.table.getAllRowsHeight();TT(t.table,e,i);const o=t.table.getAllRowsHeight();r!==o&&t.table.scenegraph.updateContainerHeight(t.table.frozenRowCount,o-r);for(let e=0;e<t.table.frozenColCount;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.rowStart;i<=t.rowEnd;i++)t.table.scenegraph.updateCellContent(e,i);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}for(let e=t.colStart;e<=t.colEnd;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}for(let e=t.table.colCount-t.table.rightFrozenColCount;e<t.table.colCount;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.rowStart;i<=t.rowEnd;i++)t.table.scenegraph.updateCellContent(e,i);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}wM(e,i,t),t.table.isAutoRowHeight()&&fM(t.bodyLeftCol,t.bodyRightCol,e,i,t.table,t.rowEnd>t.bodyBottomRow-(t.rowEnd-t.rowStart+1)?"down":"up"),t.rowUpdatePos=t.rowStart,t.rowUpdateDirection=t.rowEnd>t.bodyBottomRow-(t.rowEnd-t.rowStart+1)?"down":"up",t.table.scenegraph.updateNextFrame(),t.table.isAutoRowHeight()||await t.progress()}(this)}async sortCellHorizontal(){await async function(t){t.table.scenegraph.bodyGroup.forEachChildren(((t,e)=>{"group"===t.type&&(t.needUpdate=!0,t?.forEachChildren((t=>{t.needUpdate=!0})))}));const e=Math.max(t.bodyLeftCol,t.screenLeftCol-1*t.screenColCount),i=Math.min(t.bodyRightCol,t.screenLeftCol+2*t.screenColCount);jB(t.table,e,i);for(let e=t.colStart;e<=t.colEnd;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}for(let e=t.table.colCount-t.table.rightFrozenColCount;e<t.table.colCount;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.rowStart;i<=t.rowEnd;i++)t.table.scenegraph.updateCellContent(e,i);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}gM(e,i,t),t.colUpdatePos=t.colStart,t.colUpdateDirection=t.colEnd>t.bodyRightCol-(t.colEnd-t.colStart+1)?"right":"left",t.table.scenegraph.updateNextFrame(),await t.progress()}(this)}highPerformanceGetCell(t,e,i){if(e>=this.table.frozenRowCount&&e<this.table.rowCount-this.table.bottomFrozenRowCount&&(e<this.rowStart||e>this.rowEnd))return ZB;if(t>=this.table.frozenColCount&&t<this.table.colCount-this.table.rightFrozenColCount&&(t<this.colStart||t>this.colEnd))return ZB;if(this.cellCache.get(t)){const r=this.cellCache.get(t);if((r._next||r._prev)&&Math.abs(r.row-e)<e){let o=MM(r,e);return o&&(i||"shadow-cell"!==o.role)||(o=this.table.scenegraph.getCell(t,e,i)),o.row&&this.cellCache.set(t,o),o}const o=this.table.scenegraph.getCell(t,e,i);return o.col===t&&o.row&&this.cellCache.set(t,o),o}const r=this.table.scenegraph.getCell(t,e,i);return r.col===t&&r.row&&this.cellCache.set(t,r),r}updateDeltaY(t,e,i){if(this.rowStart===this.bodyTopRow){const t=this.table.scenegraph.highPerformanceGetCell(this.colStart,this.rowStart,!0);if("cell"===t.role){const e=t.attribute.y;this.deltaY=-e}}else if(this.rowEnd===this.bodyBottomRow){const t=this.table.scenegraph.highPerformanceGetCell(this.colStart,this.rowEnd,!0);if("cell"===t.role){const e=t.attribute.y+t.attribute.height-(this.table.getAllRowsHeight()-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight());this.deltaY=-e}}else if(J(e)&&J(i)){let r=this.table.scenegraph.highPerformanceGetCell(this.colStart,i,!0);"cell"!==r.role&&(r=this.table.scenegraph.highPerformanceGetCell(0,i,!0));const o=t-this.deltaY,n=e-o,s=r.attribute.y-o+this.table.getFrozenRowsHeight();this.deltaY=n-s}}updateDeltaX(t,e,i){if(this.colStart===this.bodyLeftCol){const t=this.table.scenegraph.getColGroup(this.colStart);if(t){const e=t.attribute.x;this.deltaX=-e}}else if(this.colEnd===this.bodyRightCol){const t=this.table.scenegraph.getColGroup(this.colEnd);if(t){const e=t.attribute.x+t.attribute.width-(this.table.getAllColsWidth()-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth());this.deltaX=-e}}else if(J(e)&&J(i)){const r=this.table.scenegraph.getColGroup(i)||this.table.scenegraph.getColGroup(i,!0),o=t-this.deltaX,n=e-o,s=r.attribute.x-o+this.table.getFrozenColsWidth();this.deltaX=n-s}}release(){this.isRelease=!0}}function MM(t,e){if(!t)return null;if(t.row===e)return t;const i=t._prev,r=t._next;return t.row>e&&i&&i.row===t.row-1?MM(i,e):t.row<e&&r&&r.row===t.row+1?MM(r,e):null}function PM(t){t.customSelectedRangeComponents.forEach(((e,i)=>{HM(e,i,t)})),t.selectingRangeComponents.forEach(((e,i)=>{HM(e,i,t)})),t.selectedRangeComponents.forEach(((e,i)=>{HM(e,i,t)}))}function HM(t,e,i){const r=i.table,[o,n,s,a]=e.split("-"),l=parseInt(o,10),h=parseInt(n,10),c=parseInt(s,10),d=parseInt(a,10);let u,g=l,p=h,f=c,m=d;switch(t.role){case"rowHeader":u=r.getBodyVisibleRowRange(),u&&(p=Math.max(h,u.rowStart-1),m=Math.min(d,u.rowEnd+1));break;case"columnHeader":case"bottomFrozen":u=r.getBodyVisibleCellRange(),u&&(g=Math.max(l,u.colStart-1),f=Math.min(c,u.colEnd+1));break;case"cornerHeader":case"rightTopCorner":case"leftBottomCorner":case"rightBottomCorner":break;case"rightFrozen":u=r.getBodyVisibleCellRange(),u&&(p=Math.max(h,u.rowStart-1),m=Math.min(d,u.rowEnd+1));break;default:u=r.getBodyVisibleCellRange(),u&&(p=Math.max(h,u.rowStart-1),m=Math.min(d,u.rowEnd+1),g=Math.max(l,u.colStart-1),f=Math.min(c,u.colEnd+1))}const b=r.getColsWidth(g,f),y=r.getRowsHeight(p,m),C=i.highPerformanceGetCell(g,p).globalAABBBounds,w=i.highPerformanceGetCell(f,m).globalAABBBounds;t.rect.setAttributes({x:C.x1-i.tableGroup.attribute.x,y:C.y1-i.tableGroup.attribute.y,width:b,height:y,visible:!0}),t.fillhandle&&t.fillhandle?.setAttributes({x:w.x2-i.tableGroup.attribute.x-3,y:w.y2-i.tableGroup.attribute.y-3,width:6,height:6,visible:!0});let v=!!r.frozenColCount&&l===r.frozenColCount;if(!v&&r.frozenColCount&&r.scrollLeft>0&&l>=r.frozenColCount){r.getColsWidth(0,l-1)-r.scrollLeft<r.getFrozenColsWidth()&&(v=!0)}let x=!!r.rightFrozenColCount&&(r.rightFrozenColCount>0&&c===r.colCount-r.rightFrozenColCount-1);if(!x&&r.rightFrozenColCount&&c<r.colCount-r.rightFrozenColCount){r.getColsWidth(0,c)-r.scrollLeft>r.tableNoFrameWidth-r.getRightFrozenColsWidth()&&(x=!0)}let _=!r.frozenRowCount||h===r.frozenRowCount;if(!_&&r.frozenRowCount&&r.scrollTop>0&&h>=r.frozenRowCount){r.getRowsHeight(0,h-1)-r.scrollTop<r.getFrozenRowsHeight()&&(_=!0)}let S=!!r.bottomFrozenRowCount&&d===r.rowCount-r.bottomFrozenRowCount-1;if(!S&&r.bottomFrozenRowCount&&d<r.rowCount-r.bottomFrozenRowCount){r.getRowsHeight(0,d)-r.scrollTop>r.tableNoFrameHeight-r.getBottomFrozenRowsHeight()&&(S=!0)}if(v&&t.rect.attribute.stroke[3]||x&&t.rect.attribute.stroke[1]||_&&t.rect.attribute.stroke[0]||S&&t.rect.attribute.stroke[2]){if(v&&t.rect.attribute.stroke[3]&&i.tableGroup.insertAfter(t.rect,"columnHeader"===t.role?i.cornerHeaderGroup:"bottomFrozen"===t.role?i.leftBottomCornerGroup:i.rowHeaderGroup),S&&t.rect.attribute.stroke[2]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.leftBottomCornerGroup:"rightFrozen"===t.role?i.rightBottomCornerGroup:i.bottomFrozenGroup),_&&t.rect.attribute.stroke[0]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.cornerHeaderGroup:"rightFrozen"===t.role?i.rightTopCornerGroup:i.colHeaderGroup),x&&t.rect.attribute.stroke[1]&&i.tableGroup.insertAfter(t.rect,"columnHeader"===t.role?i.rightTopCornerGroup:"bottomFrozen"===t.role?i.rightBottomCornerGroup:i.rightFrozenGroup),t.rect.attribute.x<r.getFrozenColsWidth()&&r.scrollLeft>0&&("body"===t.role||"columnHeader"===t.role||"bottomFrozen"===t.role)){const e=t.rect.attribute.width-(r.getFrozenColsWidth()-t.rect.attribute.x);t.rect.setAttributes({x:t.rect.attribute.x+(r.getFrozenColsWidth()-t.rect.attribute.x),width:e>0?e:0}),t.fillhandle?.setAttributes({visible:e>0})}if(r.getRightFrozenColsWidth()>0&&i.rightFrozenGroup.attribute.height>0&&t.rect.attribute.x+t.rect.attribute.width>i.rightFrozenGroup.attribute.x&&("body"===t.role||"columnHeader"===t.role||"bottomFrozen"===t.role)){const e=i.rightFrozenGroup.attribute.x-t.rect.attribute.x;t.rect.setAttributes({x:t.rect.attribute.x,width:e>0?e:0}),t.fillhandle?.setAttributes({visible:e-b>0})}if(t.rect.attribute.y<i.colHeaderGroup.attribute.height&&r.scrollTop>0&&("body"===t.role||"rowHeader"===t.role||"rightFrozen"===t.role)){const e=t.rect.attribute.height-(i.colHeaderGroup.attribute.height-t.rect.attribute.y);t.rect.setAttributes({y:t.rect.attribute.y+(i.colHeaderGroup.attribute.height-t.rect.attribute.y),height:e>0?e:0}),t.fillhandle?.setAttributes({visible:e>0})}if(i.bottomFrozenGroup.attribute.width>0&&i.bottomFrozenGroup.attribute.height>0&&t.rect.attribute.y+t.rect.attribute.height>i.bottomFrozenGroup.attribute.y&&("body"===t.role||"rowHeader"===t.role||"rightFrozen"===t.role)){const e=i.bottomFrozenGroup.attribute.y-t.rect.attribute.y;t.rect.setAttributes({y:t.rect.attribute.y,height:e>0?e:0}),t.fillhandle?.setAttributes({visible:e-y>0})}}else i.tableGroup.insertAfter(t.rect,"body"===t.role?i.bodyGroup:"columnHeader"===t.role?i.colHeaderGroup:"rowHeader"===t.role?i.rowHeaderGroup:"cornerHeader"===t.role?i.cornerHeaderGroup:"rightTopCorner"===t.role?i.rightTopCornerGroup:"rightFrozen"===t.role?i.rightFrozenGroup:"leftBottomCorner"===t.role?i.leftBottomCornerGroup:"bottomFrozen"===t.role?i.bottomFrozenGroup:i.rightBottomCornerGroup);let A=0;"number"==typeof t.rect.attribute.lineWidth&&(A=Math.ceil(t.rect.attribute.lineWidth/2)),c===r.colCount-1&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[1]??0)/2)),t.rect.setAttributes({width:t.rect.attribute.width-A})),0===l&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[3]??0)/2)),t.rect.setAttributes({x:t.rect.attribute.x+A,width:t.rect.attribute.width-A})),d===r.rowCount-1&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[2]??0)/2)),t.rect.setAttributes({height:t.rect.attribute.height-A})),0===h&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[0]??0)/2)),t.rect.setAttributes({y:t.rect.attribute.y+A,height:t.rect.attribute.height-A}))}function kM(t,e,i=!0){const r=t.table,o=e.start.col,n=e.start.row,s=e.end.col,a=e.end.row,l=e.skipBodyMerge;let h=Math.max(Math.min(s,o),0),c=Math.max(Math.min(a,n),0),d=Math.min(Math.max(s,o),r.colCount-1),u=Math.min(Math.max(a,n),r.rowCount-1);const g=()=>{let t=!1;for(let e=h;e<=d;e++){if(e===h)for(let i=c;i<=u;i++){if(!r.isHeader(e,i)&&l)continue;const o=nx(r,e,i);if(o&&o.start.col<h){h=o.start.col,t=!0;break}}if(!t&&e===d)for(let i=c;i<=u;i++){if(!r.isHeader(e,i)&&l)continue;const o=nx(r,e,i);if(o&&Math.min(o.end.col,r.colCount-1)>d){d=o.end.col,t=!0;break}}if(t)break}if(!t)for(let e=c;e<=u;e++){if(e===c)for(let i=h;i<=d;i++){if(!r.isHeader(i,e)&&l)continue;const o=nx(r,i,e);if(o&&o.start.row<c){c=o.start.row,t=!0;break}}if(!t&&e===u)for(let i=h;i<=d;i++){if(!r.isHeader(i,e)&&l)continue;const o=nx(r,i,e);if(o&&Math.min(o.end.row,r.rowCount-1)>u){u=o.end.row,t=!0;break}}if(t)break}t&&g()};i&&g(),t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map;let p=!1,f=!1,m=!1,b=!1,y=!1,C=!1,w=!1,v=!1,x=!1;if(h<=r.frozenColCount-1&&c<=r.frozenRowCount-1&&(C=!0),d>=r.colCount-r.rightFrozenColCount&&c<=r.frozenRowCount-1&&(w=!0),h<=r.frozenColCount-1&&u>=r.rowCount-r.bottomFrozenRowCount&&(x=!0),d>=r.colCount-r.rightFrozenColCount&&u>=r.rowCount-r.bottomFrozenRowCount&&(v=!0),h<=r.frozenColCount-1&&u>=r.frozenRowCount&&c<=r.rowCount-r.bottomFrozenRowCount-1&&(p=!0),d>=r.colCount-r.rightFrozenColCount&&u>=r.frozenRowCount&&c<=r.rowCount-r.bottomFrozenRowCount-1&&(f=!0),c<=r.frozenRowCount-1&&d>=r.frozenColCount&&h<=r.colCount-r.rightFrozenColCount-1&&(m=!0),u>=r.rowCount-r.bottomFrozenRowCount&&d>=r.frozenColCount&&h<=r.colCount-r.rightFrozenColCount-1&&(b=!0),h<=r.colCount-r.rightFrozenColCount-1&&d>=r.frozenColCount&&c<=r.rowCount-r.bottomFrozenRowCount-1&&u>=r.frozenRowCount&&(y=!0),C){const e=Math.min(d,r.frozenColCount-1),i=Math.min(u,r.frozenRowCount-1),o=[!0,!m,!p,!0];t.createCellSelectBorder(h,c,e,i,"cornerHeader",`${h}${c}${d}${u}`,o)}if(w){const e=Math.max(h,r.colCount-r.rightFrozenColCount),i=Math.min(u,r.frozenRowCount-1),o=[!0,!0,!f,!m];t.createCellSelectBorder(e,c,d,i,"rightTopCorner",`${h}${c}${d}${u}`,o)}if(x){const e=Math.min(d,r.frozenColCount-1),i=Math.max(c,r.rowCount-r.bottomFrozenRowCount),o=[!p,!b,!0,!0];t.createCellSelectBorder(h,i,e,u,"leftBottomCorner",`${h}${c}${d}${u}`,o)}if(v){const e=Math.max(h,r.colCount-r.rightFrozenColCount),i=Math.max(c,r.rowCount-r.bottomFrozenRowCount),o=[!f,!0,!0,!b];t.createCellSelectBorder(e,i,d,u,"rightBottomCorner",`${h}${c}${d}${u}`,o)}if(m){const e=Math.max(h,r.frozenColCount),i=Math.min(d,r.colCount-r.rightFrozenColCount-1),o=Math.min(u,r.frozenRowCount-1),n=[!0,!w,!y,!C];t.createCellSelectBorder(e,c,i,o,"columnHeader",`${h}${c}${d}${u}`,n)}if(b){const e=Math.max(h,r.frozenColCount),i=Math.min(d,r.colCount-r.rightFrozenColCount-1),o=Math.max(c,r.rowCount-r.bottomFrozenRowCount),n=[!y,!v,!0,!x];t.createCellSelectBorder(e,o,i,u,"bottomFrozen",`${h}${c}${d}${u}`,n)}if(p){const e=Math.max(c,r.frozenRowCount),i=Math.min(u,r.rowCount-r.bottomFrozenRowCount-1),o=Math.min(d,r.frozenColCount-1),n=[!C,!y,!x,!0];t.createCellSelectBorder(h,e,o,i,"rowHeader",`${h}${c}${d}${u}`,n)}if(f){const e=Math.max(c,r.frozenRowCount),i=Math.min(u,r.rowCount-r.bottomFrozenRowCount-1),o=Math.max(h,r.colCount-r.rightFrozenColCount),n=[!w,!0,!v,!y];t.createCellSelectBorder(o,e,d,i,"rightFrozen",`${h}${c}${d}${u}`,n)}if(y){const e=Math.max(h,r.frozenColCount),i=Math.max(c,r.frozenRowCount),o=Math.min(d,r.colCount-r.rightFrozenColCount-1),n=Math.min(u,r.rowCount-r.bottomFrozenRowCount-1),s=[!m,!f,!b,!p];t.createCellSelectBorder(e,i,o,n,"body",`${h}${c}${d}${u}`,s)}}function LM(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)}))}function EM(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)}))}function FM(t){t.selectingRangeComponents.forEach(((e,i)=>{t.selectedRangeComponents.get(i)&&(t.selectingRangeComponents.get(i).rect.delete(),t.selectingRangeComponents.get(i).fillhandle?.delete()),t.selectedRangeComponents.set(i,e)})),t.selectingRangeComponents=new Map,t.updateNextFrame()}function IM(t){t.selectedRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectedRangeComponents=new Map}function zM(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map}function OM(t,e,i,r,o){const n=r.scenegraph,s=qw(t.map((t=>t.row))).sort(((t,e)=>e-t)),a=qw(e.map((t=>t.row))).sort(((t,e)=>t-e)),l=qw(i.map((t=>t.row))).sort(((t,e)=>t-e));let h;if(l.length){h=GM(l[0]-1,l[l.length-1]+1,n)}if(a.length){const t=GM(a[0]-1,a[a.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}if(s.length){const t=GM(s[0]-1,s[s.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}s.forEach((t=>{!function(t,e,i){const r=e.proxy;t>=r.rowStart&&t<=r.rowEnd&&(WM(t,e),r.rowEnd--,r.currentRow--);if(!i){r.bodyBottomRow--;const t=Math.min(r.rowLimit,r.bodyBottomRow-r.bodyTopRow+1);r.totalActualBodyRowCount=t,r.totalRow=Math.min(r.table.rowCount-1,r.rowStart+t-1)}}(t,n,o)}));const c=r.rowHeightsMap;if(s.forEach((t=>{c.delete(t)})),s.length){!function(t){function e(e,i){e.row=i;const r=nx(t.table,e.col,e.row);r?(e.mergeStartCol=r.start.col,e.mergeEndCol=r.end.col,e.mergeStartRow=r.start.row,e.mergeEndRow=r.end.row):(e.mergeStartCol=void 0,e.mergeEndCol=void 0,e.mergeStartRow=void 0,e.mergeEndRow=void 0)}t.bodyGroup.forEachChildren((i=>{let r=t.bodyRowStart;i?.forEachChildren((t=>{e(t,r),r++}))})),t.rowHeaderGroup.forEachChildren((i=>{let r=t.bodyRowStart;i?.forEachChildren((t=>{e(t,r),r++}))})),t.rightFrozenGroup.forEachChildren((i=>{let r=t.bodyRowStart;i?.forEachChildren((t=>{e(t,r),r++}))})),t.bottomFrozenGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount;i?.forEachChildren((t=>{e(t,r),r++}))})),t.leftBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount;i?.forEachChildren((t=>{e(t,r),r++}))})),t.rightBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount;i?.forEachChildren((t=>{e(t,r),r++}))}))}(n);const t=NM(s[s.length-1]-1,s[0]-s.length+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}let d;if(n.table._clearRowRangeHeightsMap(),a.forEach((t=>{const e=function(t,e,i){const r=e.proxy;if(!i){r.bodyBottomRow++;const t=Math.min(r.rowLimit,r.bodyBottomRow-r.bodyTopRow+1);r.totalActualBodyRowCount=t,r.totalRow=r.rowStart+t-1}if(t<r.rowStart)return;if(t>r.rowEnd)return r.rowEnd-r.rowStart+1<r.rowLimit?(r.rowEnd++,r.currentRow++,DM(t,e),t):void 0;if(r.rowEnd-r.rowStart+1<r.rowLimit)return r.rowEnd++,r.currentRow++,DM(t,e),t;return t}(t,n,o);d=d??e,c.insert(t)})),function(t){function e(e,i,r){e.row=i,e.setAttribute("y",r);const o=nx(t.table,e.col,e.row);o?(e.mergeStartCol=o.start.col,e.mergeEndCol=o.end.col,e.mergeStartRow=o.start.row,e.mergeEndRow=o.end.row):(e.mergeStartCol=void 0,e.mergeEndCol=void 0,e.mergeStartRow=void 0,e.mergeEndRow=void 0)}t.bodyGroup.forEachChildren((i=>{let r=t.bodyRowStart,o=t.getCellGroupY(r);i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.rowHeaderGroup.forEachChildren((i=>{let r=t.bodyRowStart,o=t.getCellGroupY(r);i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.rightFrozenGroup.forEachChildren((i=>{let r=t.bodyRowStart,o=t.getCellGroupY(r);i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.bottomFrozenGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount,o=0;i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.leftBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount,o=0;i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.rightBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount,o=0;i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))}))}(n),a.length){const t=NM(a[0]-1,a[a.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}for(let t=0;t<r.colCount;t++)l.forEach((e=>{if(e<r.frozenRowCount){const i=nx(n.table,t,e);if(i)for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)nT(t,e,n.table,!1);else nT(t,e,n.table,!1)}else if(e>r.rowCount-1||e<n.table.rowCount-n.table.bottomFrozenRowCount&&(e<n.proxy.rowStart||e>n.proxy.rowEnd))WM(e,n);else{const i=nx(n.table,t,e);if(i)for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)nT(t,e,n.table,!1);else nT(t,e,n.table,!1)}}));if(l.length){const t=NM(l[0]-1,l[l.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}if(at(d)){for(let t=0;t<Math.max(r.colCount,r.internalProps._oldColCount??r.colCount);t++)for(let e=d;e<Math.max(r.rowCount,r.internalProps._oldRowCount??r.rowCount);e++){const i=n.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}h=J(h)?J(d)?Math.min(h,d):h:d}if(at(h)&&(n.proxy.rowUpdatePos=Math.min(n.proxy.rowUpdatePos,h)),a.length){if(!at(d)){const t=Math.min(...a);n.proxy.rowUpdatePos=Math.min(t,n.proxy.rowUpdatePos)}n.proxy.rowUpdateDirection="down",n.proxy.updateCellGroups(2*n.proxy.screenRowCount),g()}else s.length&&(!function(t,e){if(e.table.isHasSeriesNumber())for(let i=t;i<=e.table.rowCount-1;i++)nT(0,i,e.table,!1)}(s[s.length-1],n),n.proxy.updateCellGroups(2*n.proxy.screenRowCount),g());n.proxy.progress();const u=r.getRowsHeight(r.frozenRowCount,r.rowCount-1-r.bottomFrozenRowCount);function g(){if(a?.[a?.length-1]>=r.rowCount-r.bottomFrozenRowCount||l?.[l?.length-1]>=r.rowCount-r.bottomFrozenRowCount||s?.[0]>=r.rowCount-r.bottomFrozenRowCount){for(let t=0;t<r.colCount;t++)for(let e=r.rowCount-r.bottomFrozenRowCount;e<r.rowCount;e++){const i=n.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}n.proxy.updateBottomFrozenCellGroups()}}n.updateContainerHeight(n.table.frozenRowCount,u-n.bodyGroup.attribute.height)}function DM(t,e){for(let i=0;i<e.table.colCount;i++){const r=new LR({x:0,y:0,width:e.table.getColWidth(i),height:e.table.getRowHeight(t)});if(r.role="cell",r.col=i,r.row=t,r.needUpdate=!0,!r)continue;const o=e.getColGroup(i);if(o)if(o.firstChild&&t<o.firstChild.row)o.insertBefore(r,o.firstChild),o.firstChild.row=o.firstChild.row+1;else if(o.lastChild&&t>o.lastChild.row)o.appendChild(r);else{const n=e.highPerformanceGetCell(i,t,!0);n!==r&&(o.insertBefore(r,n),n&&(n.row=n.row+1),n!==o.lastChild&&o.lastChild&&(o.lastChild.row=o.lastChild.row+1))}}}function WM(t,e){for(let i=0;i<e.table.colCount;i++){const r=e.getColGroup(i,!1);if(!r)continue;let o;r.forEachChildren((e=>e.row===t&&(o=e,!0))),o&&(r.updateColumnHeight(-o.attribute.height),r.removeChild(o))}}function NM(t,e,i){let r;for(let o=0;o<i.table.colCount;o++){const n=i.table.getCellRange(o,t);let s;n.start.row<=t+1&&n.end.row>=t+1&&(VM(n,i),s=n.start.row);const a=i.table.getCellRange(o,e);a.start.row<=e+1&&a.end.row>=e+1&&(VM(a,i),s=a.start.row),J(s)&&(r=J(r)?Math.min(r,s):s)}return r}function GM(t,e,i){let r;for(let o=0;o<i.table.colCount;o++){let n;const s=i.highPerformanceGetCell(o,t);s.mergeStartRow&&s.mergeEndRow&&s.mergeEndRow>t&&(VM({start:{row:s.mergeStartRow,col:i.table.isAutoRowHeight()?0:s.mergeStartCol},end:{row:s.mergeEndRow,col:i.table.isAutoRowHeight()?i.table.colCount-1:s.mergeEndCol}},i),n=s.mergeStartRow);const a=i.highPerformanceGetCell(o,e);a.mergeStartRow&&a.mergeEndRow&&a.mergeStartRow<e&&(VM({start:{row:a.mergeStartRow,col:i.table.isAutoRowHeight()?0:a.mergeStartCol},end:{row:a.mergeEndRow,col:i.table.isAutoRowHeight()?i.table.colCount-1:a.mergeEndCol}},i),n=a.mergeStartRow),J(n)&&(r=J(r)?Math.min(r,n):n)}return r}function VM(t,e){const{start:i,end:r}=t;for(let t=i.col;t<=r.col;t++)for(let o=i.row;o<=r.row;o++){const i=e.highPerformanceGetCell(t,o,!0);i&&(i.needUpdate=!0)}}function jM(t){if(!t.table.reactCustomLayout)return;const{table:e,stage:i}=t,r=i.pluginService.findPluginsByName("ReactAttributePlugin")[0],{htmlMap:o,renderId:n}=r;for(const s in o){const a=o[s],{graphic:l,wrapContainer:h,renderId:c}=a;if(c!==n)continue;let d;if(t.frozenColCount>e.frozenColCount){const i=KA(l);if(!i)continue;const{col:r,row:o}=i;o>=e.rowCount-e.bottomFrozenRowCount&&r<t.frozenColCount&&r>=e.frozenColCount&&l.attribute.react.container===e.frozenBottomDomContainer?d=e.bottomDomContainer:o>=e.frozenRowCount&&r<t.frozenColCount&&r>=e.frozenColCount&&l.attribute.react.container===e.frozenBodyDomContainer?d=e.bodyDomContainer:o<e.frozenRowCount&&r<t.frozenColCount&&r>=e.frozenColCount&&l.attribute.react.container===e.frozenHeaderDomContainer&&(d=e.headerDomContainer)}else if(t.frozenColCount<e.frozenColCount){const i=KA(l);if(!i)continue;const{col:r,row:o}=i;o>=e.rowCount-e.bottomFrozenRowCount&&r<e.frozenColCount&&r>=t.frozenColCount&&l.attribute.react.container===e.bottomDomContainer?d=e.frozenBottomDomContainer:o>=e.frozenRowCount&&r<e.frozenColCount&&r>=t.frozenColCount&&l.attribute.react.container===e.bodyDomContainer?d=e.frozenBodyDomContainer:o<e.frozenRowCount&&r<e.frozenColCount&&r>=t.frozenColCount&&l.attribute.react.container===e.headerDomContainer&&(d=e.frozenHeaderDomContainer)}d&&(d.appendChild(h),a.nativeContainer=d,a.container=d,l.attribute.react.container=d,r.updateStyleOfWrapContainer(l,i,h,d,l.attribute.react))}}function UM(t){const e=t.bodyGroup.firstChild instanceof LR?t.bodyGroup.firstChild:null;e&&(t.rowHeaderGroup.appendChild(e),t.rowHeaderGroup.setAttribute("width",t.rowHeaderGroup.attribute.width+e.attribute.width),t.bodyGroup.setAttribute("width",t.bodyGroup.attribute.width-e.attribute.width))}function KM(t){const e=t.colHeaderGroup.firstChild instanceof LR?t.colHeaderGroup.firstChild:null;e&&(t.cornerHeaderGroup.appendChild(e),t.cornerHeaderGroup.setAttribute("width",t.cornerHeaderGroup.attribute.width+e.attribute.width),t.colHeaderGroup.setAttribute("width",t.colHeaderGroup.attribute.width-e.attribute.width))}function $M(t){const e=t.rowHeaderGroup.lastChild instanceof LR?t.rowHeaderGroup.lastChild:t.rowHeaderGroup.lastChild?._prev;e&&(ZM(t.bodyGroup,e,t.bodyGroup.firstChild),t.bodyGroup.setAttribute("width",t.bodyGroup.attribute.width+e.attribute.width),t.rowHeaderGroup.setAttribute("width",t.rowHeaderGroup.attribute.width-e.attribute.width))}function XM(t){const e=t.cornerHeaderGroup.lastChild instanceof LR?t.cornerHeaderGroup.lastChild:t.cornerHeaderGroup.lastChild?._prev;e&&(ZM(t.colHeaderGroup,e,t.colHeaderGroup.firstChild),t.colHeaderGroup.setAttribute("width",t.colHeaderGroup.attribute.width+e.attribute.width),t.cornerHeaderGroup.setAttribute("width",t.cornerHeaderGroup.attribute.width-e.attribute.width))}function YM(t){const e=t.bottomFrozenGroup.firstChild instanceof LR?t.bottomFrozenGroup.firstChild:null;e&&(t.leftBottomCornerGroup.appendChild(e),t.leftBottomCornerGroup.setAttribute("width",t.leftBottomCornerGroup.attribute.width+e.attribute.width),t.bottomFrozenGroup.setAttribute("width",t.bottomFrozenGroup.attribute.width-e.attribute.width),t.table.isPivotChart()&&e.forEachChildren((t=>{t.setAttributes({stroke:!1,fill:!1})})))}function qM(t){const e=t.leftBottomCornerGroup.lastChild instanceof LR?t.leftBottomCornerGroup.lastChild:t.leftBottomCornerGroup.lastChild?._prev;e&&(ZM(t.bottomFrozenGroup,e,t.bottomFrozenGroup.firstChild),t.bottomFrozenGroup.setAttribute("width",t.bottomFrozenGroup.attribute.width+e.attribute.width),t.leftBottomCornerGroup.setAttribute("width",t.leftBottomCornerGroup.attribute.width-e.attribute.width),t.table.isPivotChart()&&e.forEachChildren((e=>{const i=t.table._getCellStyle(e.col,e.row),r=t.table.getCellRange(e.col,e.row),o=zA(i,t.table,r?r.start.col:e.col,r?r.start.row:e.row,IR).theme;e.setAttributes({fill:o?.group?.fill??void 0,stroke:o?.group?.stroke??void 0})})))}function ZM(t,e,i){e&&t&&(i?t.insertBefore(e,i):t.appendChild(e))}function JM(t){let e=!1;for(let i=0;i<t.bodyGroup.childrenCount;i++){const r=t.bodyGroup.children[i].firstChild;t.colHeaderGroup.children[i]?.appendChild(r),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height+r.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height-r.attribute.height),e=!0)}}function QM(t){let e=!1;for(let i=0;i<t.rowHeaderGroup.childrenCount;i++){const r=t.rowHeaderGroup.children[i].firstChild;t.cornerHeaderGroup.children[i]?.appendChild(r),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height+r.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height-r.attribute.height),e=!0)}}function tP(t){let e=!1;for(let i=0;i<t.rightFrozenGroup.childrenCount;i++){const r=t.rightFrozenGroup.children[i].firstChild;t.rightTopCornerGroup.children[i]?.appendChild(r),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height+r.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height-r.attribute.height),e=!0)}}function eP(t){let e=!1;for(let i=0;i<t.colHeaderGroup.childrenCount;i++){const r=t.colHeaderGroup.children[i].lastChild;ZM(t.bodyGroup.children[i],r,t.bodyGroup.children[i].firstChild),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height-r.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height+r.attribute.height),e=!0)}}function iP(t){let e=!1;for(let i=0;i<t.cornerHeaderGroup.childrenCount;i++){const r=t.cornerHeaderGroup.children[i].lastChild;ZM(t.rowHeaderGroup.children[i],r,t.rowHeaderGroup.children[i].firstChild),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height-r.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height+r.attribute.height),e=!0)}}function rP(t){let e=!1;for(let i=0;i<t.rightTopCornerGroup.childrenCount;i++){const r=t.rightTopCornerGroup.children[i].lastChild;ZM(t.rightFrozenGroup.children[i],r,t.rightFrozenGroup.children[i].firstChild),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height-r.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height+r.attribute.height),e=!0)}}function oP(t){for(let e=t.proxy.colStart;e<=t.proxy.colEnd;e++){const i=t.getColGroup(e);i?.getChildren()?.forEach((t=>{t.children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}))}}function nP(t,e){t.forEachChildren((t=>{"column"===t.role&&t.forEachChildren((t=>{if("cell"===t.role){let i=!1;if(t.forEachChildren((t=>"axis"===t.name&&(i=!0,!0))),i){const i=e.internalProps.layoutMap.getAxisConfigInPivotChart(t.col,t.row),r=tA(IR("padding",e._getCellStyle(t.col,t.row),t.col,t.row,e)),o=new(sx.getComponent("axis"))(i,t.attribute.width,t.attribute.height,i.__vtablePadding??r,e);t.clear(),t.appendChild(o.component),o.overlap()}}}))}))}function sP(t,e,i){t.forEachChildren((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.setAttributes({width:Math.ceil(e-t.attribute.cellPadding[3]-t.attribute.cellPadding[1]),height:Math.ceil(i-t.attribute.cellPadding[0]-t.attribute.cellPadding[2])}))}))}function aP(t,e,i){return new LR({x:0,y:0,width:t,height:e,clip:i??!1,pickable:!1})}function lP(t,e){return t.forEachChildrenSkipChild(((t,i)=>{t.setAttribute("x",e),e+=t.attribute.width})),e}function hP(t,e,i,r,o){const n=t.name;uP(i,r,(t=>t.name===n),(t=>{GR(e,t),t.name=e.name}),o),o.updateNextFrame()}function cP(t){const{col:e,row:i,iconMark:r,order:o,oldSortCol:n,oldSortRow:s,oldIconMark:a,scene:l}=t,h=l.table.internalProps.headerHelper.getSortIcon(o,l.table,e,i);if(r&&hP(r,h,e,i,l),!function(t,e,i,r,o){const n=o.getCellRange(t,e),s=o.getCellRange(i,r);return n.start.col===s.start.col&&n.start.row===s.start.row&&n.end.col===s.end.col&&n.end.row===s.end.row}(e,i,n,s,l.table)){const t=l.table.internalProps.headerHelper.getSortIcon("normal",l.table,n,s);a?hP(a,t,n,s,l):function(t,e,i,r){const o=r.getCell(t,e);if(J(o.mergeStartCol)&&J(o.mergeStartRow)&&J(o.mergeEndCol)&&J(o.mergeEndRow))for(let t=o.mergeStartCol;t<=o.mergeEndCol;t++)for(let e=o.mergeStartRow;e<=o.mergeEndRow;e++){let o;r.getCell(t,e).forEachChildren((t=>"sort"===t.attribute.funcType&&(o=t,!0))),o&&(GR(i,o),o.name=i.name)}else{let t;Zw(o,"children",(e=>"sort"===e.attribute.funcType&&(t=e,!0))),t&&(GR(i,t),t.name=i.name)}}(n,s,t,l)}}function dP(t,e,i){t&&"empty"!==t.role&&t.forEachChildren((t=>{"group"===t.type?dP(t,e,i):e(t)&&i(t)}))}function uP(t,e,i,r,o){const n=o.getCell(t,e);if("cell"===n.role&&J(n.mergeStartCol)&&J(n.mergeStartRow)&&J(n.mergeEndCol)&&J(n.mergeEndRow)){const{colStart:t,colEnd:e,rowStart:s,rowEnd:a}=ET(n,o);for(let n=t;n<=e;n++)for(let t=s;t<=a;t++)dP(o.highPerformanceGetCell(n,t),i,r)}else dP(n,i,r)}function gP(t,e){const{bgColor:i,borderColor:r,borderLineWidth:o,borderLineDash:n}=e,s={x:0,y:0,width:0,height:0,visible:!1,pickable:!0,fill:i};return s.stroke=ZT(r,void 0),s.lineWidth=o,n&&(s.lineDash=n),s.lineCap="butt",Array.isArray(r)&&(s.strokeArrayColor=tA(r)),Array.isArray(o)&&(s.strokeArrayWidth=tA(o),s.lineWidth=1),t.setAttributes(s),t.role="corner-frozen",t}function pP(t,e,i,r){const o=r.scenegraph,n=fP(t.map((t=>t.col))).sort(((t,e)=>e-t)),s=fP(e.map((t=>t.col))).sort(((t,e)=>t-e)),a=fP(i.map((t=>t.col))).sort(((t,e)=>t-e));n.forEach((t=>{!function(t,e){const i=e.proxy;if(t>=e.table.rowHeaderLevelCount)if(t>=e.table.colCount-e.table.rightFrozenColCount);else{const i=e.getColGroup(t,!1);i&&i.parent===e.bodyGroup&&e.bodyGroup.removeChild(i);const r=e.getColGroupInBottom(t);r&&r.parent===e.bottomFrozenGroup&&e.bottomFrozenGroup.removeChild(r);const o=e.getColGroup(t,!0);o&&o.parent===e.colHeaderGroup&&e.colHeaderGroup.removeChild(o)}t>=i.colStart&&t<=i.colEnd&&(i.colEnd--,i.currentCol--);i.bodyRightCol--;const r=Math.min(i.colLimit,i.bodyRightCol-i.bodyLeftCol+1);i.totalActualBodyColCount=r,i.totalCol=i.colStart+r-1}(t,o)}));const l=r.colWidthsMap;let h;if(n.forEach((t=>{l.delAndReorder(t)})),n.length&&mP(o),o.table._clearColRangeWidthsMap(),s.forEach((t=>{const e=function(t,e){const i=e.proxy;i.bodyRightCol++;const r=Math.min(i.colLimit,i.bodyRightCol-i.bodyLeftCol+1);if(i.totalActualBodyColCount=r,i.totalCol=i.colStart+r-1,t<i.colStart)return;if(t>i.colEnd)return i.colEnd-i.colStart+1<i.colLimit?(i.colEnd++,i.currentCol++,bP(t,e),t):void 0;if(i.colEnd-i.colStart+1<i.colLimit)return i.colEnd++,i.currentCol++,bP(t,e),t;return t}(t,o);mP(o),h=h??e,l.addAndReorder(t)})),function(t){let e=t.bodyColStart,i=t.getCellGroupX(e);function r(i){i.col=e;const r=nx(t.table,i.col,i.row);r&&(i.mergeStartCol=r.start.col,i.mergeStartCol=r.start.col,i.mergeEndCol=r.end.col,i.mergeEndCol=r.end.col),i.role}t.bodyGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.bodyColStart,i=t.getCellGroupX(e),t.colHeaderGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.bodyColStart,i=t.getCellGroupX(e),t.bottomFrozenGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.table.colCount-t.table.rightFrozenColCount,i=0,t.rightFrozenGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.table.colCount-t.table.rightFrozenColCount,i=0,t.rightTopCornerGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.table.colCount-t.table.rightFrozenColCount,i=0,t.rightBottomCornerGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++}))}(o),a.forEach((t=>{for(let e=0;e<r.rowCount;e++){const i=nx(o.table,t,e);if(i)for(let t=i.start.col;t<=i.end.col;t++)for(let t=i.start.col;t<=i.end.col;t++)nT(t,e,o.table,!1);else nT(t,e,o.table,!1)}})),at(h)){for(let t=h;t<Math.max(r.colCount,r.internalProps._oldColCount??r.colCount);t++)for(let e=0;e<Math.max(r.rowCount,r.internalProps._oldRowCount??r.rowCount);e++){const i=o.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}o.proxy.colUpdatePos=h}if(s.length){if(!at(h)){const t=Math.min(...s);o.proxy.colUpdatePos=t}o.proxy.colUpdateDirection="left",o.proxy.updateColGroups(2*o.proxy.screenColCount),d(),o.proxy.progress()}else n.length&&(o.proxy.updateColGroups(2*o.proxy.screenColCount),d(),o.proxy.progress());const c=r.getColsWidth(r.frozenColCount,r.colCount-1);function d(){if(s?.[s?.length-1]>=r.colCount-r.rightFrozenColCount||a?.[a?.length-1]>=r.colCount-r.rightFrozenColCount||n?.[0]>=r.colCount-r.rightFrozenColCount){for(let t=r.colCount-r.rightFrozenColCount;t<r.colCount;t++)for(let e=0;e<r.rowCount;e++){const i=o.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}o.proxy.updateRightFrozenCellGroups()}}o.updateContainerWidth(o.table.frozenColCount,c-o.bodyGroup.attribute.width)}function fP(t){const e=[];for(let i=0;i<t.length;i++)-1===e.indexOf(t[i])&&e.push(t[i]);return e}function mP(t){let e=t.bodyColStart;function i(i){i.col=e;const r=nx(t.table,i.col,i.row);r&&(i.mergeStartCol=r.start.col,i.mergeStartCol=r.start.col,i.mergeEndCol=r.end.col,i.mergeEndCol=r.end.col),i.role}t.bodyGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{i(t)})),e++})),e=t.bodyColStart,t.colHeaderGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{i(t)})),e++})),e=t.bodyColStart,t.bottomFrozenGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{i(t)})),e++}))}function bP(t,e){if(e.colHeaderGroup&&e.table.columnHeaderLevelCount>0){const r=new LR({x:0,y:0,width:e.table.getColWidth(t),height:0,clip:!1,pickable:!1});r.role="column",r.col=t;const o=e.getColGroup(t,!0);o?e.colHeaderGroup.insertBefore(r,o):e.colHeaderGroup.appendChild(r),i(r,t,0,e.table.columnHeaderLevelCount-1)}if(e.bodyGroup){const r=new LR({x:0,y:0,width:e.table.getColWidth(t),height:0,clip:!1,pickable:!1});r.role="column",r.col=t;const o=e.getColGroup(t,!1);o?e.bodyGroup.insertBefore(r,o):e.bodyGroup.appendChild(r),i(r,t,e.bodyRowStart,e.bodyRowEnd)}if(e.bottomFrozenGroup&&e.table.bottomFrozenRowCount>0){const r=new LR({x:0,y:0,width:e.table.getColWidth(t),height:0,clip:!1,pickable:!1});r.role="column",r.col=t;const o=e.getColGroupInBottom(t);o?e.bottomFrozenGroup.insertBefore(r,o):e.bottomFrozenGroup.appendChild(r),i(r,t,e.table.rowCount-e.table.bottomFrozenRowCount,e.table.rowCount-1)}function i(t,i,r,o){for(let n=r;n<=o;n++){const r=new LR({x:0,y:0,width:e.table.getColWidth(i),height:e.table.getRowHeight(n)});r.role="cell",r.col=i,r.row=n,r.needUpdate=!0,t.appendChild(r)}}}jC(),Qr.load(VB),Qr.load(yT);class yP{proxy;tableGroup;colHeaderGroup;cornerHeaderGroup;rowHeaderGroup;bodyGroup;rightFrozenGroup;bottomFrozenGroup;rightTopCornerGroup;leftBottomCornerGroup;rightBottomCornerGroup;componentGroup;selectedRangeComponents;selectingRangeComponents;customSelectedRangeComponents;lastSelectId;component;stage;table;isPivot;hasFrozen;frozenColCount;frozenRowCount;clear;mergeMap;_dealAutoFillHeightOriginRowsHeight;_needUpdateContainer=!1;constructor(t){var e;let i,r;var o;this.table=t,this.hasFrozen=!1,this.clear=!0,this.mergeMap=new Map,e=this.table.theme.textPopTipStyle,_t(Yb.poptip,Xb,e),"node"===Ew.mode?(lu.setEnv("node",t.options.modeParams),i=t.canvasWidth,r=t.canvasHeight):t.options.canvas&&t.options.viewBox?(lu.setEnv("browser"),i=t.options.viewBox.x2-t.options.viewBox.x1,r=t.options.viewBox.y2-t.options.viewBox.y1):(lu.setEnv("browser"),i=t.canvas.width,r=t.canvas.height),this.stage=(o={canvas:t.canvas,width:i,height:r,disableDirtyBounds:!1,background:t.theme.underlayBackgroundColor,dpr:t.internalProps.pixelRatio,enableLayout:!0,beforeRender:t=>{this.table.options.beforeRender&&this.table.options.beforeRender(t),this.table.animationManager.ticker.start()},afterRender:t=>{this.table.options.afterRender&&this.table.options.afterRender(t),this.table.fireListeners("after_render",null)},canvasControled:!t.options.canvas,viewBox:t.options.viewBox,...t.options.renderOption},new Su(o)),this.stage.defaultLayer.setTheme({group:{boundsPadding:0,strokeBoundsBuffer:0,lineJoin:"round"},text:{ignoreBuf:!0}}),this.initSceneGraph(),this.stage.defaultLayer.add(this.tableGroup),this.stage.table=this.table,this.createComponent()}get width(){return this.tableGroup.attribute?.width??0}get height(){return this.tableGroup.attribute?.height??0}get x(){return this.tableGroup.attribute?.x??0}get y(){return this.tableGroup.attribute?.y??0}get bodyRowStart(){return this.proxy.rowStart??0}get bodyRowEnd(){return this.proxy.rowEnd??this.table.rowCount-1}get bodyColStart(){return this.proxy.colStart??0}get bodyColEnd(){return this.proxy.colEnd??this.table.colCount-1}initSceneGraph(){this.isPivot=this.table.isPivotTable(),function(t){const e=t.table.tableNoFrameWidth,i=t.table.tableNoFrameHeight;t.tableGroup=new LR({x:0,y:0,width:e,height:i,clip:!0,pickable:!1}),t.tableGroup.role="table";const r=aP(0,0,!t.table.options.enableTreeStickCell);r.role="col-header",t.colHeaderGroup=r;const o=aP(0,0,!t.table.options.enableTreeStickCell);o.role="corner-header",t.cornerHeaderGroup=o;const n=aP(0,0,!0);n.role="row-header",t.rowHeaderGroup=n;const s=aP(e,0,!0);s.role="body",t.bodyGroup=s;const a=aP(0,0,!0);a.role="right-frozen",t.rightFrozenGroup=a;const l=aP(0,0,!0);l.role="bottom-frozen",t.bottomFrozenGroup=l;const h=aP(0,0);h.role="component",t.componentGroup=h;const c=aP(0,0,!0);c.role="corner-right-top-header",t.rightTopCornerGroup=c;const d=aP(0,0,!0);d.role="corner-right-bottom-header",t.rightBottomCornerGroup=d;const u=aP(0,0,!0);u.role="corner-left-bottom-header",t.leftBottomCornerGroup=u,t.tableGroup.addChild(s),t.tableGroup.addChild(n),t.tableGroup.addChild(l),t.tableGroup.addChild(r),t.tableGroup.addChild(a),t.tableGroup.addChild(d),t.tableGroup.addChild(c),t.tableGroup.addChild(u),t.tableGroup.addChild(o),t.tableGroup.addChild(h)}(this)}clearCells(){this.table.animationManager.clear(),(this.table.isPivotChart()||this.table._hasCustomRenderOrLayout())&&this.stage.pluginService.findPluginsByName("poptipForText").forEach((t=>{t.deactivate(this.stage.pluginService)})),this.clear=!0,this.hasFrozen=!1,this.mergeMap.clear(),this.colHeaderGroup.clear(),delete this.colHeaderGroup.border,this.rowHeaderGroup.clear(),delete this.rowHeaderGroup.border,this.cornerHeaderGroup.clear(),delete this.cornerHeaderGroup.border,this.bodyGroup.clear(),delete this.bodyGroup.border,this.bottomFrozenGroup.clear(),delete this.bottomFrozenGroup.border,this.rightFrozenGroup.clear(),delete this.rightFrozenGroup.border,this.rightTopCornerGroup.clear(),delete this.rightTopCornerGroup.border,this.rightBottomCornerGroup.clear(),delete this.rightBottomCornerGroup.border,this.leftBottomCornerGroup.clear(),delete this.leftBottomCornerGroup.border,this.colHeaderGroup.setAttributes({x:0,y:0,width:0,height:0}),this.rowHeaderGroup.setAttributes({x:0,y:0,width:0,height:0}),this.cornerHeaderGroup.setAttributes({x:0,y:0,width:0,height:0}),this.bodyGroup.setAttributes({x:0,y:0,width:0,height:0}),this.rightFrozenGroup.setAttributes({x:0,y:0,width:0,height:0}),this.bottomFrozenGroup.setAttributes({x:0,y:0,width:0,height:0}),this.rightTopCornerGroup.setAttributes({x:0,y:0,width:0,height:0,visible:!1}),this.leftBottomCornerGroup.setAttributes({x:0,y:0,width:0,height:0,visible:!1}),this.rightBottomCornerGroup.setAttributes({x:0,y:0,width:0,height:0,visible:!1}),this.tableGroup.setAttributes({x:this.table.tableX,y:this.table.tableY,width:0,height:0}),this.tableGroup.border&&(this.tableGroup.parent.removeChild(this.tableGroup.border),delete this.tableGroup.border),this.proxy?.release(),this.table.reactCustomLayout?.clearCache()}updateStageBackground(){this.stage.background=this.table.theme.underlayBackgroundColor,this.stage.renderNextFrame()}createComponent(){this.component=new XT(this.table),this.component.addToGroup(this.componentGroup),this.selectedRangeComponents=new Map,this.selectingRangeComponents=new Map,this.customSelectedRangeComponents=new Map}updateComponent(){this.component.updateStyle()}createSceneGraph(t=!1){t||(this.table.rowHeightsMap.clear(),this.table.internalProps.layoutMap.clearCellRangeMap()),(this.table.isPivotChart()||this.table._hasCustomRenderOrLayout())&&this.stage.pluginService.autoEnablePlugins.getContributions().forEach((t=>{"poptipForText"===t.name&&this.stage.pluginService.register(t)})),this.clear=!1,this.frozenColCount=this.table.frozenColCount,this.frozenRowCount=this.table.frozenRowCount,this.proxy=new BM(this.table),YT(this.tableGroup,this.table.theme.frameStyle,this.tableGroup.role,void 0,!0),this.table.isPivotChart()&&(gP(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle||this.table.theme.cornerHeaderStyle||{}),gP(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle||this.table.theme.cornerHeaderStyle||{}),gP(this.rightBottomCornerGroup,this.table.theme.cornerRightBottomCellStyle||this.table.theme.cornerHeaderStyle||{})),this.proxy.createGroupForFirstScreen(this.cornerHeaderGroup,this.colHeaderGroup,this.rowHeaderGroup,this.rightFrozenGroup,this.bottomFrozenGroup,this.bodyGroup,0,0),this.afterScenegraphCreated()}renderSceneGraph(){this.stage.render()}getCell(t,e,i){let r;if(r=this.table.rightFrozenColCount>0&&t>=this.table.colCount-this.table.rightFrozenColCount&&e<this.table.frozenRowCount?this.rightTopCornerGroup.getColGroup(t)?.getRowGroup(e):this.table.bottomFrozenRowCount>0&&e>=this.table.rowCount-this.table.bottomFrozenRowCount&&t<this.table.frozenColCount?this.leftBottomCornerGroup.getColGroup(t)?.getRowGroup(e):this.table.rightFrozenColCount>0&&this.table.bottomFrozenRowCount>0&&t>=this.table.colCount-this.table.rightFrozenColCount&&e>=this.table.rowCount-this.table.bottomFrozenRowCount?this.rightBottomCornerGroup.getColGroup(t)?.getRowGroup(e):this.table.rightFrozenColCount>0&&t>this.table.colCount-1-this.table.rightFrozenColCount?this.rightFrozenGroup.getColGroup(t)?.getRowGroup(e):this.table.bottomFrozenRowCount>0&&e>this.table.rowCount-1-this.table.bottomFrozenRowCount?this.bottomFrozenGroup.getColGroup(t)?.getRowGroup(e):this.getColGroup(t,e<this.frozenRowCount)?.getRowGroup(e),r&&"shadow-cell"===r.role&&!i){const i=this.table.getCellRange(t,e);i.start.col===t&&i.start.row===e||(r=this.getCell(i.start.col,i.start.row))}return r||ZB}highPerformanceGetCell(t,e,i){return this.proxy.highPerformanceGetCell(t,e,i)}getColGroup(t,e=!1){let i;return i=t<this.frozenColCount&&e?this.cornerHeaderGroup.getColGroup(t):t<this.frozenColCount?this.rowHeaderGroup.getColGroup(t):e&&this.table.rightFrozenColCount>0&&t>this.table.colCount-1-this.table.rightFrozenColCount?this.rightTopCornerGroup.getColGroup(t):!e&&this.table.rightFrozenColCount>0&&t>this.table.colCount-1-this.table.rightFrozenColCount?this.rightFrozenGroup.getColGroup(t):e?this.colHeaderGroup.getColGroup(t):this.bodyGroup.getColGroup(t),i||void 0}getColGroupInBottom(t,e=!1){if(e){const e=this.getColGroupInLeftBottomCorner(t)??this.getColGroupInRightBottomCorner(t);if(e)return e}if(this.table.bottomFrozenRowCount>0)return this.bottomFrozenGroup.getColGroup(t)}getColGroupInLeftBottomCorner(t){if(this.table.bottomFrozenRowCount>0)return this.leftBottomCornerGroup.getColGroup(t)}getColGroupInRightTopCorner(t){if(this.table.rightFrozenColCount>0)return this.rightTopCornerGroup.getColGroup(t)}getColGroupInRightBottomCorner(t){if(this.table.rightFrozenColCount>0&&this.table.bottomFrozenRowCount>0)return this.rightBottomCornerGroup.getColGroup(t)}getCellSize(t,e){const i=this.getCell(t,e),r=nx(this.table,t,e);let o=i.attribute.width,n=i.attribute.height;return r&&(o/=r.end.col-r.start.col+1,n/=r.end.row-r.start.row+1),{width:o,height:n}}updateNextFrame(){this.updateContainerSync(),this.resetAllSelectComponent(),this.stage.renderNextFrame()}resetAllSelectComponent(){(this.table.stateManager.select?.ranges?.length>0||this.table.stateManager.select?.customSelectRanges?.length>0)&&PM(this)}hideHoverIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"mouseenter_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",0);const e=t.parent.getChildByName("icon-back");e&&e.setAttribute("visible",!1)}),i),i.updateNextFrame())}(t,e,this)}showHoverIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"mouseenter_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",1)}),i),i.updateNextFrame())}(t,e,this)}hideClickIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"click_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",0)}),i),i.updateNextFrame())}(t,e,this)}showClickIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"click_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",1)}),i),i.updateNextFrame())}(t,e,this)}getIcon(t,e,i,r){return function(t,e,i,r,o){let n;return o.getCell(t,e).forEachChildren((t=>{t.role&&t.role.startsWith("icon")&&t.containsPoint(i,r,fi.GLOBAL)&&(n=t)})),n}(t,e,i,r,this)}setIconHoverStyle(t,e,i,r){!function(t,e,i,r,o){if((t.attribute.backgroundColor||t.attribute.hoverImage)&&uP(e,i,(e=>e.name===t.name),(t=>{if(t.attribute.backgroundColor){let e=t.parent.getChildByName("icon-back");e?e.setAttributes({x:(t.attribute.x??0)+(t.AABBBounds.width()-t.backgroundWidth)/2,y:(t.attribute.y??0)+(t.AABBBounds.height()-t.backgroundHeight)/2,dx:t.attribute.dx??0,dy:t.attribute.dy??0,width:t.backgroundWidth,height:t.backgroundHeight,fill:t.attribute.backgroundColor,cornerRadius:5,visible:!0}):(e=Jc({x:(t.attribute.x??0)+(t.AABBBounds.width()-t.backgroundWidth)/2,y:(t.attribute.y??0)+(t.AABBBounds.height()-t.backgroundHeight)/2,dx:t.attribute.dx??0,dy:t.attribute.dy??0,width:t.backgroundWidth,height:t.backgroundHeight,fill:t.attribute.backgroundColor,cornerRadius:5,pickable:!1,visible:!0}),e.name="icon-back"),t.parent.insertBefore(e,t)}t.attribute.hoverImage&&t.attribute.image!==t.attribute.hoverImage&&(t.image=t.attribute.hoverImage)}),o),t.tooltip){const{x1:r,x2:n,y1:s,y2:a}=t.globalAABBBounds,l={content:t.tooltip.title,referencePosition:{rect:{left:r,right:n,top:s,bottom:a,width:t.globalAABBBounds.width(),height:t.globalAABBBounds.height()},placement:t.tooltip.placement},disappearDelay:t.tooltip.disappearDelay,style:Object.assign({},o.table.internalProps.theme?.tooltipStyle,t.tooltip?.style)};o.table.internalProps.tooltipHandler.isBinded(l)||o.table.showTooltip(e,i,l)}}(t,e,i,0,this)}updateSortIcon(t){const{col:e,row:i,iconMark:r,order:o,oldSortCol:n,oldSortRow:s,oldIconMark:a}=t;cP({col:e,row:i,iconMark:r,order:o,oldSortCol:n,oldSortRow:s,oldIconMark:a,scene:this})}updateFrozenIcon(t,e){!function(t){for(let e=0;e<t.table.colCount;e++)for(let i=0;i<t.table.columnHeaderLevelCount;i++)uP(e,i,(t=>"frozen"===t.attribute.funcType),(r=>{const o=t.table.internalProps.headerHelper.getFrozenIcon(e,i);GR(o,r),r.name=o.name}),t)}(this)}updateHierarchyIcon(t,e){!function(t,e,i){let r;r=i.table.isHeader(t,e)?i.table.internalProps.headerHelper.getHierarchyIcon(t,e):i.table.internalProps.bodyHelper.getHierarchyIcon(t,e),uP(t,e,(t=>t.attribute.funcType===QC.collapse||t.attribute.funcType===QC.expand),(t=>{GR(r,t),t.name=r.name}),i)}(t,e,this)}setIconNormalStyle(t,e,i){!function(t,e,i,r){(t.attribute.backgroundColor||t.attribute.hoverImage)&&uP(e,i,(e=>e.name===t.name),(t=>{const e=t.parent.getChildByName("icon-back");e&&e.setAttribute("visible",!1),t.attribute.hoverImage&&t.attribute.image!==t.attribute.originImage&&(t.image=t.attribute.originImage)}),r)}(t,e,i,this)}residentHoverIcon(t,e){!function(t,e,i){uP(t,e,(t=>t.attribute.funcType===QC.dropDown),(t=>{t.oldVisibleTime=t.attribute.visibleTime,t.setAttribute("visibleTime","always"),t.setAttribute("opacity",1)}),i)}(t,e,this)}resetResidentHoverIcon(t,e){!function(t,e,i){uP(t,e,(t=>t.attribute.funcType===QC.dropDown),(t=>{t.oldVisibleTime&&t.setAttribute("visibleTime",t.oldVisibleTime),t.setAttribute("opacity","always"===t.attribute.visibleTime?1:0)}),i)}(t,e,this)}deactivateChart(t,e){if(-1===t||-1===e)return;const i=this.getCell(t,e);i?.firstChild?.deactivate?.()}activateChart(t,e){if(-1===t||-1===e)return;const i=this.getCell(t,e);return i?.firstChild?.activate?.(this.table),i?.firstChild?.activeChartInstance}removeInteractionBorder(t,e){const i=this.getCell(t,e);i.setAttribute("highlightStroke",void 0),i.setAttribute("highlightStrokeArrayWidth",void 0),i.setAttribute("highlightStrokeArrayColor",void 0)}createCellSelectBorder(t,e,i,r,o,n,s){!function(t,e,i,r,o,n,s,a){let l=!!t.table.options.excelOptions?.fillHandle;if(t.table.stateManager.select.ranges?.length>1)l=!1,t.removeFillHandleFromSelectComponents();else if(1===t.table.stateManager.select.ranges?.length){const e=Math.max(t.table.stateManager.select.ranges[0].start.row,t.table.stateManager.select.ranges[0].end.row),i=Math.max(t.table.stateManager.select.ranges[0].start.col,t.table.stateManager.select.ranges[0].end.col);t.table.isHeader(i,e)&&(l=!1)}!Array.isArray(a)||!1!==a[1]&&!1!==a[2]||(l=!1);const h=Math.min(e,r),c=Math.min(i,o),d=Math.max(e,r),u=Math.max(i,o),g=t.highPerformanceGetCell(h,c).globalAABBBounds,p=t.highPerformanceGetCell(d,u).globalAABBBounds,f=t.table.theme,m=f.selectionStyle?.cellBorderColor,b=f.selectionStyle?.cellBorderLineWidth,y=Jc({pickable:!1,fill:"replace"!==f.selectionStyle?.selectionFillMode&&(f.selectionStyle?.cellBgColor??"rgba(0, 0, 255,0.1)"),lineWidth:b,stroke:a.map((t=>!!t&&m)),x:g.x1-t.tableGroup.attribute.x,y:g.y1-t.tableGroup.attribute.y,width:0,height:0,visible:!0});let C;l&&(C=Jc({pickable:!1,fill:m,stroke:m,x:p.x2-3,y:p.y2-3,width:6,height:6,visible:!0})),t.lastSelectId=s,t.selectingRangeComponents.set(`${h}-${c}-${d}-${u}-${s}`,{rect:y,fillhandle:C,role:n}),t.tableGroup.insertAfter(y,"body"===n?t.bodyGroup:"columnHeader"===n?t.colHeaderGroup:"rowHeader"===n?t.rowHeaderGroup:"cornerHeader"===n?t.cornerHeaderGroup:"rightTopCorner"===n?t.rightTopCornerGroup:"rightFrozen"===n?t.rightFrozenGroup:"leftBottomCorner"===n?t.leftBottomCornerGroup:"bottomFrozen"===n?t.bottomFrozenGroup:t.rightBottomCornerGroup),l&&t.tableGroup.insertAfter(C,"body"===n?t.bodyGroup:"columnHeader"===n?t.colHeaderGroup:"rowHeader"===n?t.rowHeaderGroup:"cornerHeader"===n?t.cornerHeaderGroup:"rightTopCorner"===n?t.rightTopCornerGroup:"rightFrozen"===n?t.rightFrozenGroup:"leftBottomCorner"===n?t.leftBottomCornerGroup:"bottomFrozen"===n?t.bottomFrozenGroup:t.rightBottomCornerGroup)}(this,t,e,i,r,o,n,s)}moveSelectingRangeComponentsToSelectedRangeComponents(){FM(this)}deleteLastSelectedRangeComponents(){var t;(t=this).selectedRangeComponents.forEach(((e,i)=>{i.split("-")[4]===t.lastSelectId&&(e.rect.delete(),e.fillhandle?.delete(),t.selectedRangeComponents.delete(i))}))}deleteAllSelectBorder(){IM(this),zM(this)}updateCellSelectBorder(t,e=!0){kM(this,t,e)}removeFillHandleFromSelectComponents(){this.selectedRangeComponents.forEach(((t,e)=>{t.fillhandle?.delete(),t.fillhandle=void 0}))}recreateAllSelectRangeComponents(){IM(this),this.table.stateManager.select.ranges.forEach((t=>{kM(this,t),FM(this)}))}updateColWidth(t,e,i,r){!function(t,e,i,r){r||t.table._setColWidth(e,t.table.getColWidth(e)+i,!0);const o=t.getColGroup(e,!0),n=t.getColGroupInRightTopCorner(e);o&&!n&&OT(o,i,"col-corner",t),n&&OT(n,i,"right-top",t);const s=t.getColGroup(e);s&&OT(s,i,"row-body",t);const a=t.getColGroupInLeftBottomCorner(e);a&&OT(a,i,"left-bottom",t);const l=t.getColGroupInBottom(e);l&&OT(l,i,"bottom",t);const h=t.getColGroupInRightBottomCorner(e);h&&OT(h,i,"right-bottom",t),e<t.frozenColCount?(t.cornerHeaderGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),t.rowHeaderGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)}))):(t.colHeaderGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),t.bodyGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)}))),a&&t.leftBottomCornerGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),l&&t.bottomFrozenGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),h&&t.rightBottomCornerGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)}))}(this,t,Math.round(e),r),i||this.updateContainer(!0)}updateChartSizeForResizeColWidth(t){!function(t,e){const{table:i}=t,r=i.internalProps.layoutMap,o=-1===e?"all":i.internalProps.columnResizeType;if("column"===o){const r=t.getColGroup(e),o=t.getColGroup(e,!0),n=t.getColGroupInBottom(e,!0);if(r?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),"adaptive"===i.widthMode&&e<i.colCount-1){const r=t.getColGroup(e+1),o=t.getColGroup(e+1,!0),n=t.getColGroupInBottom(e+1,!0);r?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))}))}}else{let n,s,a,l=i.rowHeaderLevelCount,h=i.colCount-1;if("indicator"===o)if(r.indicatorsAsCol)n=r.getIndicatorKey(e,i.columnHeaderLevelCount);else{const t=r.getCellHeaderPaths(e,i.columnHeaderLevelCount-1),o=t.colHeaderPaths[t.colHeaderPaths.length-1];s=o.dimensionKey,a=o.value}else if("indicatorGroup"===o){const t=i.internalProps.layoutMap,e=t.getCellHeaderPaths(i.stateManager.columnResize.col,i.columnHeaderLevelCount),r=t.getHeadNodeByRowOrColDimensions(e.colHeaderPaths.slice(0,e.colHeaderPaths.length-1));l=r.startInTotal+i.frozenColCount,h=r.startInTotal+i.frozenColCount+r.size-1}for(let e=l;e<=h;e++){const l=t.getColGroup(e),h=t.getColGroup(e,!0),c=t.getColGroupInBottom(e,!0);if(l){if("indicator"===o){const t=r.getIndicatorKey(e,i.columnHeaderLevelCount);if(r.indicatorsAsCol&&t!==n)continue;if(!r.indicatorsAsCol){const t=r.getCellHeaderPaths(e,i.columnHeaderLevelCount-1),o=t?.colHeaderPaths[t.colHeaderPaths.length-1];if(!o||s!==o.dimensionKey||a!==o.value)continue}}l.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),h?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),c?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))}))}}}}(this,t)}updateChartSizeForResizeRowHeight(t){!function(t,e){const{table:i}=t,r=i.internalProps.layoutMap,o=i.stateManager,n=-1===e?"all":i.internalProps.rowResizeType;let s,a,l,h=i.columnHeaderLevelCount,c=i.rowCount-1;if("indicator"===n)if(r.indicatorsAsCol){const t=r.getCellHeaderPaths(i.rowHeaderLevelCount-1,e),o=t.rowHeaderPaths?.[t.rowHeaderPaths.length-1];a=o?.dimensionKey,l=o?.value}else s=r.getIndicatorKey(i.rowHeaderLevelCount,e);else if("indicatorGroup"===n){const t=i.internalProps.layoutMap,r=t.getCellHeaderPaths(i.rowHeaderLevelCount,e),o=t.getHeadNodeByRowOrColDimensions(r.rowHeaderPaths.slice(0,r.rowHeaderPaths.length-1));h=o.startInTotal+i.frozenRowCount,c=o.startInTotal+i.frozenRowCount+o.size-1}const d=[{startCol:t.proxy.colStart,endCol:t.proxy.colEnd}];i.frozenColCount&&d.push({startCol:0,endCol:i.frozenColCount-1}),i.rightFrozenColCount&&d.push({startCol:i.colCount-i.rightFrozenColCount,endCol:i.colCount-1}),d.forEach((({startCol:d,endCol:u})=>{for(let g=d;g<=u;g++)if("row"===n){const r=t.highPerformanceGetCell(g,e);if("cell"!==r.role)continue;if(sP(r,i.getColWidth(r.col),i.getRowHeight(r.row)),"adaptive"===i.heightMode&&e<i.rowCount-1){const r=t.highPerformanceGetCell(g,e+1);sP(r,i.getColWidth(r.col),i.getRowHeight(r.row))}}else for(let e=h;e<=c;e++){if("indicator"===n){const t=r.getIndicatorKey(o.table.rowHeaderLevelCount,e);if(!r.indicatorsAsCol&&t!==s)continue;if(r.indicatorsAsCol){const t=r.getCellHeaderPaths(o.table.rowHeaderLevelCount-1,e),i=t?.rowHeaderPaths[t.rowHeaderPaths.length-1];if(!i||a!==i.dimensionKey||l!==i.value)continue}}const h=t.highPerformanceGetCell(g,e);"cell"===h.role&&sP(h,i.getColWidth(h.col),i.getRowHeight(h.row))}}))}(this,t)}updateChartState(t){this.table.isPivotChart()&&function(t,e){const i=t.table;if(i.isPivotChart()){const r=i._selectedDataItemsInChart.length;if((null===e||0===e?.length||0===Object.keys(e).length)&&0===r)return;const o=[];if(Array.isArray(e))e.forEach((t=>{if(t&&0!==t.key&&Object.keys(t).length>0){const e={};for(const i in t)i.startsWith("VGRAMMAR_")||i.startsWith("__VCHART")||(e[i]=t[i]);o.push(e)}}));else if(e&&0!==e.key&&Object.keys(e).length>0){const t={};for(const i in e)i.startsWith("VGRAMMAR_")||i.startsWith("__VCHART")||(t[i]=e[i]);o.push(t)}Rt(i._selectedDataItemsInChart,o)||(i._selectedDataItemsInChart=o,i.internalProps.layoutMap.updateDataStateToChartInstance(),oP(t),i.scenegraph.updateNextFrame())}}(this,t)}updateCheckboxCellState(t,e,i){if(this.table.transpose)this.bodyGroup.children?.forEach((t=>{t.getChildAt(e)?.getChildren().forEach((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}));else{const e=this.getColGroup(t);e?.children?.forEach((t=>{t.getChildren().find((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}))}}updateHeaderCheckboxCellState(t,e,i){if(this.table.transpose)this.rowHeaderGroup.children?.forEach((t=>{t.getChildAt(e).getChildren().forEach((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}));else{const e=this.getColGroup(t,!0);e.children?.forEach((t=>{t.getChildren().find((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}))}}updateAutoColWidth(t){this.table.internalProps._widthResizedColMap.delete(t);const e=this.table.getColWidth(t),i=UB(t,0,this.table.rowCount-1,this.table,!0);i!==e&&this.updateColWidth(t,i-e)}recalculateColWidths(){const t=this.table;"adaptive"===t.widthMode||t.autoFillWidth||t.internalProps.transpose?jB(this.table,0,this.table.colCount-1,!0):(t._clearColRangeWidthsMap(),t.frozenColCount>0&&jB(this.table,0,t.frozenColCount-1,!0),t.rightFrozenColCount>0&&jB(this.table,t.rightFrozenColCount,t.colCount-1,!0),jB(t,this.proxy.colStart,this.proxy.colEnd,!0))}recalculateRowHeights(){const t=this.table;t.internalProps.useOneRowHeightFillAll=!1,"adaptive"===t.heightMode||t.autoFillHeight?TT(this.table,0,this.table.rowCount-1,!0,!0):(t.frozenRowCount>0&&TT(this.table,0,t.frozenRowCount-1,!0,!0),t.bottomFrozenRowCount>0&&TT(this.table,t.bottomFrozenRowCount,t.rowCount-1,!0,!0),TT(t,this.proxy.rowStart,this.proxy.rowEnd,!0,!0))}resize(){this.proxy.resize(),("adaptive"===this.table.widthMode||this.table.autoFillWidth)&&(0===this.table.internalProps._widthResizedColMap.size?this.recalculateColWidths():this.dealWidthMode()),"adaptive"===this.table.heightMode?0===this.table.internalProps._heightResizedRowMap.size?this.recalculateRowHeights():this.dealHeightMode():this.table.autoFillHeight&&this.dealHeightMode(),this.resetFrozen(),this.updateTableSize(),this.updateBorderSizeAndPosition(),this.component.updateScrollBar(),("adaptive"===this.table.widthMode||"adaptive"===this.table.heightMode||this.table.autoFillWidth||this.table.autoFillHeight)&&this.updateChartSizeForResizeColWidth(-1),this.proxy.progress(),this.updateNextFrame()}updateTableSize(){if(this.tableGroup.setAttributes({x:this.table.tableX,y:this.table.tableY,width:Math.min(this.table.tableNoFrameWidth,Math.max(this.colHeaderGroup.attribute.width,this.bodyGroup.attribute.width,this.bottomFrozenGroup.attribute.width,0)+Math.max(this.cornerHeaderGroup.attribute.width,this.rowHeaderGroup.attribute.width,this.leftBottomCornerGroup.attribute.width,0)+Math.max(this.rightTopCornerGroup.attribute.width,this.rightFrozenGroup.attribute.width,this.rightBottomCornerGroup.attribute.width,0)),height:Math.min(this.table.tableNoFrameHeight,Math.max(this.colHeaderGroup.attribute.height,this.cornerHeaderGroup.attribute.height,this.rightTopCornerGroup.attribute.height,0)+Math.max(this.rowHeaderGroup.attribute.height,this.bodyGroup.attribute.height,this.rightFrozenGroup.attribute.height,0)+Math.max(this.leftBottomCornerGroup.attribute.height,this.bottomFrozenGroup.attribute.height,this.rightBottomCornerGroup.attribute.height,0))}),this.tableGroup.border){const t=this.tableGroup.border?.attribute;let e,i,r,o;t?.strokeArrayWidth?(e=t.strokeArrayWidth?t.strokeArrayWidth[0]:t.lineWidth??0,i=t.strokeArrayWidth?t.strokeArrayWidth[1]:t.lineWidth??0,r=t.strokeArrayWidth?t.strokeArrayWidth[2]:t.lineWidth??0,o=t.strokeArrayWidth?t.strokeArrayWidth[3]:t.lineWidth??0):(e=t?.lineWidth??0,i=t?.lineWidth??0,r=t?.lineWidth??0,o=t?.lineWidth??0),"rect"===this.tableGroup.border.type?this.table.theme.frameStyle?.innerBorder?this.tableGroup.border.setAttributes({x:this.table.tableX+o/2,y:this.table.tableY+e/2,width:this.tableGroup.attribute.width-o/2-i/2,height:this.tableGroup.attribute.height-e/2-r/2}):this.tableGroup.border.setAttributes({x:this.table.tableX-o/2,y:this.table.tableY-e/2,width:this.tableGroup.attribute.width+o/2+i/2,height:this.tableGroup.attribute.height+e/2+r/2}):"group"===this.tableGroup.border.type&&(this.table.theme.frameStyle?.innerBorder?(this.tableGroup.border.setAttributes({x:this.table.tableX+o/2,y:this.table.tableY+e/2,width:this.tableGroup.attribute.width-o/2-i/2,height:this.tableGroup.attribute.height-e/2-r/2}),this.tableGroup.border.firstChild?.setAttributes({x:0,y:0,width:this.tableGroup.attribute.width-o/2-i/2,height:this.tableGroup.attribute.height-e/2-r/2})):(this.tableGroup.border.setAttributes({x:this.table.tableX-o/2,y:this.table.tableY-e/2,width:this.tableGroup.attribute.width+o/2+i/2,height:this.tableGroup.attribute.height+e/2+r/2}),this.tableGroup.border.firstChild?.setAttributes({x:o/2,y:e/2,width:this.tableGroup.attribute.width,height:this.tableGroup.attribute.height})))}this.table.bottomFrozenRowCount>0&&(this.bottomFrozenGroup.setAttribute("y",this.tableGroup.attribute.height-this.table.getBottomFrozenRowsHeight()),this.leftBottomCornerGroup.setAttributes({visible:!0,y:this.tableGroup.attribute.height-this.table.getBottomFrozenRowsHeight(),height:this.table.getBottomFrozenRowsHeight(),width:this.table.getFrozenColsWidth()}),this.rightBottomCornerGroup.setAttributes({visible:!0,y:this.tableGroup.attribute.height-this.table.getBottomFrozenRowsHeight(),height:this.table.getBottomFrozenRowsHeight()})),this.table.rightFrozenColCount>0&&(this.rightFrozenGroup.setAttribute("x",this.tableGroup.attribute.width-this.table.getRightFrozenColsWidth()),this.rightTopCornerGroup.setAttributes({visible:!0,x:this.tableGroup.attribute.width-this.table.getRightFrozenColsWidth(),width:this.table.getRightFrozenColsWidth(),height:this.table.getFrozenRowsHeight()}),this.rightBottomCornerGroup.setAttributes({visible:!0,x:this.tableGroup.attribute.width-this.table.getRightFrozenColsWidth(),width:this.table.getRightFrozenColsWidth()})),this.updateDomContainer()}updateRowHeight(t,e,i){FT(this,t,e=Math.round(e),i),this.updateContainerHeight(t,e)}updateRowsHeight(t,e,i){for(let r=0;r<t.length;r++){const o=t[r];if(o>=this.proxy.rowStart&&o<=this.proxy.rowEnd){const t=e[r];FT(this,o,Math.round(t),i),this._updateContainerHeight(o,t)}}this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame()}updateContainerWidth(t,e){t<this.frozenColCount?(this.rowHeaderGroup.setDeltaWidth(e),this.cornerHeaderGroup.setDeltaWidth(e),this.colHeaderGroup.setDeltaX(e),this.bodyGroup.setDeltaX(e)):(this.colHeaderGroup.setDeltaWidth(e),this.bodyGroup.setDeltaWidth(e)),this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame()}_updateContainerHeight(t,e){t<this.table.frozenRowCount?(this.colHeaderGroup.setDeltaHeight(e),this.cornerHeaderGroup.setDeltaHeight(e),this.rowHeaderGroup.setDeltaY(e),this.bodyGroup.setDeltaY(e),this.table.rightFrozenColCount&&this.rightFrozenGroup.setDeltaY(e)):t>=this.table.rowCount-this.table.bottomFrozenRowCount?(this.leftBottomCornerGroup.setDeltaHeight(e),this.bottomFrozenGroup.setDeltaHeight(e),this.table.rightFrozenColCount&&this.rightBottomCornerGroup.setDeltaHeight(e)):(this.rowHeaderGroup.setDeltaHeight(e),this.bodyGroup.setDeltaHeight(e),this.table.rightFrozenColCount&&this.rightFrozenGroup.setDeltaHeight(e))}updateContainerHeight(t,e){this._updateContainerHeight(t,e),this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame()}setColWidth(t,e){const i=this.table.getColWidth(t);i!==e&&(this.updateColWidth(t,e-i),this.table._clearColRangeWidthsMap(t))}setRowHeight(t,e){const i=this.table.getRowHeight(t);i!==e&&((t>=this.proxy.rowStart&&t<=this.proxy.rowEnd||t>=this.table.rowCount-this.table.bottomFrozenRowCount&&t<=this.table.rowCount-1||t<this.table.frozenRowCount)&&this.updateRowHeight(t,e-i),this.table._clearRowRangeHeightsMap(t))}setX(t,e=!1){this.table.scenegraph.proxy.setX(-t,e)}setY(t,e=!1){this.table.scenegraph.proxy.setY(-t,e)}setBodyAndRowHeaderY(t){const e=this.bodyGroup.firstChild?.firstChild,i=this.bodyGroup.firstChild?.lastChild;0===t&&e&&e.row===this.table.frozenRowCount&&e.attribute.y+t<0?t=-e.attribute.y:i&&this.table.tableNoFrameHeight<this.table.getAllRowsHeight()&&i.row===this.table.rowCount-this.table.bottomFrozenRowCount-1&&i.attribute.y+i.attribute.height+t<this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()&&(t=this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()-i.attribute.y-i.attribute.height),this.colHeaderGroup.attribute.height+t!==this.bodyGroup.attribute.y&&(this.bodyGroup.setAttribute("y",this.colHeaderGroup.attribute.height+t),this.rowHeaderGroup.setAttribute("y",this.cornerHeaderGroup.attribute.height+t),this.table.rightFrozenColCount>0&&this.rightFrozenGroup.setAttribute("y",this.rightTopCornerGroup.attribute.height+t),this.updateNextFrame())}setBodyAndColHeaderX(t){const e=this.bodyGroup.firstChild,i=this.bodyGroup.lastChild;0===t&&e&&e.col===this.table.frozenColCount&&e.attribute.x+t<0?t=-e.attribute.x:i&&this.table.tableNoFrameWidth<this.table.getAllColsWidth()&&i.col===this.table.colCount-this.table.rightFrozenColCount-1&&i.attribute.x+i.attribute.width+t<this.table.tableNoFrameWidth-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth()&&(t=this.table.tableNoFrameWidth-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth()-i.attribute.x-i.attribute.width),this.table.getFrozenColsWidth()+t!==this.bodyGroup.attribute.x&&(this.bodyGroup.setAttribute("x",this.table.getFrozenColsWidth()+t),this.colHeaderGroup.setAttribute("x",this.table.getFrozenColsWidth()+t),this.table.bottomFrozenRowCount>0&&this.bottomFrozenGroup.setAttribute("x",this.table.getFrozenColsWidth()+t),this.updateNextFrame())}afterScenegraphCreated(){this.isPivot||this.table.transpose?this.table.options.frozenColCount?this.component.setFrozenColumnShadow(this.table.frozenColCount-1):this.table.options.rightFrozenColCount?this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount):this.component.setFrozenColumnShadow(-1):(this.component.setFrozenColumnShadow(this.table.frozenColCount-1),this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount)),this.table.stateManager.checkFrozen(),this.updateContainer(),this.createFrameBorder(),this.updateBorderSizeAndPosition(),this.component.updateScrollBar(),xM(this.table),this.table.options.animationAppear&&function(t){if(!t.options.animationAppear)return;let e,i,r,o;!0===t.options.animationAppear?(e=500,i=0,r="one-by-one",o="column"):(e=t.options.animationAppear.duration??500,i=t.options.animationAppear.delay??0,r=t.options.animationAppear.type??"one-by-one",o=t.options.animationAppear.direction??"row");const{scenegraph:n,frozenColCount:s,frozenRowCount:a}=t,{colStart:l,colEnd:h,rowStart:c,rowEnd:d}=n.proxy;for(let t=0;t<=h;t++)for(let s=0;s<=d;s++){const a=n.highPerformanceGetCell(t,s);a&&"cell"===a.role&&a.forEachChildren((n=>{n.setAttribute("opacity",0),n.animate().wait("one-by-one"===r?("row"===o?s:t)*(e-i):i).to({opacity:1},e,"linear")}))}}(this.table),this.updateNextFrame()}dealWidthMode(){const t=this.table;if("adaptive"===t.widthMode){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0;for(let e=0;e<t.colCount;e++)if(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount){i+=t.getColWidth(e)}qB(e-i,t.rowHeaderLevelCount,t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount,!1,[],t,!0)}else if(t.autoFillWidth){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,r=0;for(let e=0;e<t.colCount;e++){const o=t.getColWidth(e);(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=o),r+=o}if(r<e&&r>i){qB(e-i,t.rowHeaderLevelCount,t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount,!1,[],t,!0)}}let e=0;this.bodyGroup.forEachChildrenSkipChild((t=>{e+=t.attribute.width})),this.bodyGroup.setAttribute("width",e);let i=0;this.colHeaderGroup.forEachChildrenSkipChild((t=>{i+=t.attribute.width})),this.colHeaderGroup.setAttribute("width",i);let r=0;this.rowHeaderGroup.forEachChildrenSkipChild((t=>{r+=t.attribute.width})),this.rowHeaderGroup.setAttribute("width",r);let o=0;this.cornerHeaderGroup.forEachChildrenSkipChild((t=>{o+=t.attribute.width})),this.cornerHeaderGroup.setAttribute("width",o),this.colHeaderGroup.setAttribute("x",this.cornerHeaderGroup.attribute.width),this.rowHeaderGroup.setAttribute("y",this.cornerHeaderGroup.attribute.height),this.bodyGroup.setAttributes({x:this.rowHeaderGroup.attribute.width,y:this.colHeaderGroup.attribute.height})}dealHeightMode(){const t=this.table;if("adaptive"===t.heightMode){t._clearRowRangeHeightsMap();const e=t.getRowsHeight(0,t.columnHeaderLevelCount-1),i=t.isPivotChart()?t.getBottomFrozenRowsHeight():0,r=t.tableNoFrameHeight-e-i,o=t.columnHeaderLevelCount,n=t.isPivotChart()?t.rowCount-t.bottomFrozenRowCount:t.rowCount;let s=0;for(let e=o;e<n;e++)s+=t.getRowHeight(e);const a=r/s;for(let e=o;e<n;e++){let i;i=e===n-1?r-t.getRowsHeight(o,n-2):Math.round(t.getRowHeight(e)*a),this.setRowHeight(e,i)}}else if(t.autoFillHeight){t._clearRowRangeHeightsMap();const e=t.tableNoFrameHeight;let i=0,r=0;for(let e=0;e<t.rowCount;e++){const o=t.getRowHeight(e);(e<t.columnHeaderLevelCount||t.isPivotChart()&&e>=t.rowCount-t.bottomFrozenRowCount)&&(r+=o),i+=o}if((this._dealAutoFillHeightOriginRowsHeight??i)<e&&i-r>0){const o=t.columnHeaderLevelCount,n=t.isPivotChart()?t.rowCount-t.bottomFrozenRowCount:t.rowCount,s=(e-r)/(i-r);for(let i=o;i<n;i++){let a;a=i===n-1?e-r-t.getRowsHeight(o,n-2):Math.round(t.getRowHeight(i)*s),this.setRowHeight(i,a)}}}}dealFrozen(){!function(t){if(t.table.frozenColCount>t.table.rowHeaderLevelCount){t.rowHeaderGroup.setAttribute("height",t.bodyGroup.attribute.height),t.rowHeaderGroup.setAttribute("y",t.bodyGroup.attribute.y),t.cornerHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height);for(let e=0;e<t.table.frozenColCount-t.table.rowHeaderLevelCount;e++)UM(t),KM(t),YM(t)}else if(t.table.frozenColCount<t.table.rowHeaderLevelCount){t.bodyGroup.setAttribute("height",t.rowHeaderGroup.attribute.height),t.bodyGroup.setAttribute("y",t.rowHeaderGroup.attribute.y),t.colHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height);for(let e=0;e<t.table.rowHeaderLevelCount-t.table.frozenColCount;e++)$M(t),XM(t),qM(t)}t.bodyGroup.setAttribute("x",t.rowHeaderGroup.attribute.width),t.colHeaderGroup.setAttribute("x",t.cornerHeaderGroup.attribute.width),t.updateContainer(),t.updateBorderSizeAndPosition(),t.isPivot||t.table.transpose?t.table.options.frozenColCount?t.component.setFrozenColumnShadow(t.table.frozenColCount-1):t.table.options.frozenColCount&&t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount):(t.component.setFrozenColumnShadow(t.table.frozenColCount-1),t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount)),t.hasFrozen=!0,t.frozenColCount=t.table.frozenColCount,t.frozenRowCount=t.colHeaderGroup.firstChild?.childrenCount??0}(this)}resetFrozen(){!function(t){if(t.frozenColCount>t.table.frozenColCount){t.bodyGroup.setAttribute("height",t.rowHeaderGroup.attribute.height),t.bodyGroup.setAttribute("y",t.rowHeaderGroup.attribute.y),t.colHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height);for(let e=0;e<t.frozenColCount-t.table.frozenColCount;e++)$M(t),XM(t),qM(t)}else if(t.frozenColCount<t.table.frozenColCount){t.rowHeaderGroup.setAttribute("height",t.bodyGroup.attribute.height),t.rowHeaderGroup.setAttribute("y",t.bodyGroup.attribute.y),t.cornerHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height);for(let e=0;e<t.table.frozenColCount-t.frozenColCount;e++)UM(t),KM(t),YM(t)}jM(t),t.recreateAllSelectRangeComponents(),t.frozenColCount=t.table.frozenColCount,t.frozenRowCount=t.colHeaderGroup.firstChild?.childrenCount??0,t.proxy.colStart=t.bodyGroup.firstChild?.col??t.table.frozenColCount,t.bodyGroup.setAttribute("x",t.rowHeaderGroup.attribute.width),t.colHeaderGroup.setAttribute("x",t.cornerHeaderGroup.attribute.width),t.updateContainer(),t.updateBorderSizeAndPosition(),t.isPivot||t.table.transpose?t.table.options.frozenColCount?t.component.setFrozenColumnShadow(t.table.frozenColCount-1):t.table.options.rightFrozenColCount&&t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount):(t.component.setFrozenColumnShadow(t.table.frozenColCount-1),t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount)),t.hasFrozen=!0}(this)}resetRowFrozen(){!function(t){if(t.frozenRowCount>t.table.frozenRowCount){t.bodyGroup.setAttribute("width",t.colHeaderGroup.attribute.width),t.bodyGroup.setAttribute("x",t.colHeaderGroup.attribute.x),t.rowHeaderGroup.setAttribute("width",t.cornerHeaderGroup.attribute.width);for(let e=0;e<t.frozenRowCount-t.table.frozenRowCount;e++)eP(t),iP(t),rP(t)}else if(t.frozenRowCount<t.table.frozenRowCount){t.colHeaderGroup.setAttribute("width",t.bodyGroup.attribute.width),t.colHeaderGroup.setAttribute("x",t.bodyGroup.attribute.x),t.cornerHeaderGroup.setAttribute("width",t.rowHeaderGroup.attribute.width);for(let e=0;e<t.table.frozenRowCount-t.frozenRowCount;e++)JM(t),QM(t),tP(t)}jM(t),t.recreateAllSelectRangeComponents(),t.frozenRowCount=t.table.frozenRowCount,t.frozenColCount=t.rowHeaderGroup?.childrenCount??0,t.proxy.rowStart=t.bodyGroup.firstChild?.firstChild?.row??t.table.frozenRowCount,t.bodyGroup.setAttribute("y",t.colHeaderGroup.attribute.height),t.rowHeaderGroup.setAttribute("y",t.cornerHeaderGroup.attribute.height),t.updateContainer(),t.updateBorderSizeAndPosition(),t.hasFrozen=!0}(this)}updateCellLayoutWidthCertainWidth(t,e,i){const r=t.attribute.width;let o=!1;return t.forEachChildren(((t,n)=>{n+=e;const s=nx(this.table,i,n);s?t=this.getCell(s.start.col,s.start.row):t.setAttribute("width",r);const a=tA(IR("padding",this.table._getCellStyle(i,n),i,n,this.table)),l=t.getChildByName("text");let h=0,c=0;if(l)h=l.AABBBounds.height()+(a[0]+a[2]),l.setAttribute("maxLineWidth",r-(a[1]+a[3])),c=l.AABBBounds.height()+(a[0]+a[2]);else{const e=t.getChildAt(1);h=e.AABBBounds.height()+(a[0]+a[2]),e._cellWidth=r-(a[1]+a[3]),e.layout(),c=e.AABBBounds.height()+(a[0]+a[2])}const d=this.table.getRowHeight(n);t.attribute.height!==c&&(t.setAttribute("height",c),(d===h||c>d)&&(o=!0))})),o}updateHeaderPosition(t,e,i,r,o){!function(t,e,i,r,o,n){const s=n.scenegraph;for(let i=t;i<=e;i++){const t=n.getColWidth(i),e=n.scenegraph.getColGroup(i,!0),r=n.scenegraph.getColGroup(i),o=n.scenegraph.getColGroupInBottom(i),s=n.scenegraph.getColGroupInLeftBottomCorner(i),a=n.scenegraph.getColGroupInRightBottomCorner(i);e&&(e.setAttribute("width",t),e.forEachChildren((e=>{e.setAttribute("width",t)}))),r&&(r.setAttribute("width",t),r.forEachChildren((e=>{e.setAttribute("width",t)}))),o&&(o.setAttribute("width",t),o.forEachChildren((e=>{e.setAttribute("width",t)}))),a&&(a.setAttribute("width",t),a.forEachChildren((e=>{e.setAttribute("width",t)}))),s&&(s.setAttribute("width",t),s.forEachChildren((e=>{e.setAttribute("width",t)})))}if(s.updateContainer(),"column"===o)for(let i=t;i<=e;i++){const t=n.scenegraph.getColGroup(i);t?.setAttribute("chartInstance",void 0);for(let t=0;t<=n.frozenRowCount-1;t++)s.updateCellContent(i,t);for(let t=s.bodyRowStart;t<=s.bodyRowEnd;t++)s.updateCellContent(i,t);for(let t=n.rowCount-n.bottomFrozenRowCount;t<=n.rowCount-1;t++)s.updateCellContent(i,t)}else{for(let t=0;t<=n.frozenColCount-1;t++){const e=n.scenegraph.getColGroup(t);e?.setAttribute("chartInstance",void 0);for(let e=i;e<=r;e++)s.updateCellContent(t,e)}for(let t=s.bodyColStart;t<=s.bodyColEnd;t++){const e=n.scenegraph.getColGroup(t);e?.setAttribute("chartInstance",void 0);for(let e=i;e<=r;e++)s.updateCellContent(t,e)}for(let t=n.colCount-n.rightFrozenColCount;t<=n.colCount-1;t++){const e=n.scenegraph.getColGroup(t);e?.setAttribute("chartInstance",void 0);for(let e=i;e<=r;e++)s.updateCellContent(t,e)}}}(t,e,i,r,o,this.table)}updateContainerAttrWidthAndX(){const t=lP(this.cornerHeaderGroup,0),e=lP(this.rowHeaderGroup,0),i=this.colHeaderGroup.hasChildNodes()&&this.colHeaderGroup.firstChild?lP(this.colHeaderGroup,this.colHeaderGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.colHeaderGroup.firstChild.col-1):0):0,r=this.bodyGroup.hasChildNodes()&&this.bodyGroup.firstChild?lP(this.bodyGroup,this.bodyGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bodyGroup.firstChild.col-1):0):0,o=lP(this.rightFrozenGroup.childrenCount>0?this.rightFrozenGroup:this.rightTopCornerGroup,0);this.bottomFrozenGroup.hasChildNodes()&&this.bottomFrozenGroup.firstChild&&lP(this.bottomFrozenGroup,this.bottomFrozenGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bottomFrozenGroup.firstChild.col-1):0),lP(this.leftBottomCornerGroup,0),lP(this.rightTopCornerGroup,0),lP(this.rightBottomCornerGroup,0),this.cornerHeaderGroup.setDeltaWidth(t-this.cornerHeaderGroup.attribute.width),this.leftBottomCornerGroup.setDeltaWidth(t-this.leftBottomCornerGroup.attribute.width),this.colHeaderGroup.setDeltaWidth(i-this.colHeaderGroup.attribute.width),this.rowHeaderGroup.setDeltaWidth(e-this.rowHeaderGroup.attribute.width),this.bottomFrozenGroup.setDeltaWidth(i-this.bottomFrozenGroup.attribute.width),this.rightFrozenGroup.setDeltaWidth(o-this.rightFrozenGroup.attribute.width),this.rightTopCornerGroup.setDeltaWidth(o-this.rightTopCornerGroup.attribute.width),this.rightBottomCornerGroup.setDeltaWidth(o-this.rightBottomCornerGroup.attribute.width),this.bodyGroup.setDeltaWidth(r-this.bodyGroup.attribute.width),this.colHeaderGroup.setAttribute("x",this.cornerHeaderGroup.attribute.width),this.bottomFrozenGroup.setAttribute("x",this.table.getFrozenColsWidth()),this.bodyGroup.setAttribute("x",this.rowHeaderGroup.attribute.width)}updateContainer(t=!1){t?this._needUpdateContainer||(this._needUpdateContainer=!0,setTimeout((()=>{this.updateContainerSync()}),0)):(this._needUpdateContainer=!0,this.updateContainerSync())}updateContainerSync(){this._needUpdateContainer&&(this._needUpdateContainer=!1,this.updateContainerAttrWidthAndX(),this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame())}updateCellContentWhileResize(t,e){const i=this.table.getCellRawRecord(t,e)?.vtableMerge,r=i?"text":this.table.isHeader(t,e)?this.table._getHeaderLayoutMap(t,e).headerType:this.table.getBodyColumnType(t,e),o=this.getCell(t,e);"image"!==r&&"video"!==r||qR(o,t,e,0,0,this.table)}createFrameBorder(){this.updateTableSize();const t=!this.isPivot&&!this.table.internalProps.transpose;YT(this.bodyGroup,this.table.theme.bodyStyle.frameStyle,this.bodyGroup.role,t?[!0,!0,!0,!1]:void 0),YT(this.rowHeaderGroup,this.isPivot||this.table.internalProps.transpose?this.table.theme.rowHeaderStyle.frameStyle:this.table.theme.bodyStyle.frameStyle,this.rowHeaderGroup.role,t?[!0,!1,!0,!0]:void 0),YT(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle,this.colHeaderGroup.role,t?[!0,!0,!0,!1]:void 0),YT(this.cornerHeaderGroup,this.isPivot?this.table.theme.cornerHeaderStyle.frameStyle:this.table.theme.headerStyle.frameStyle,this.cornerHeaderGroup.role,t?[!0,!1,!0,!0]:void 0),this.table.theme.cornerLeftBottomCellStyle?.frameStyle&&YT(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle.frameStyle,this.leftBottomCornerGroup.role,t?[!0,!1,!0,!0]:void 0),this.table.theme.bottomFrozenStyle?.frameStyle&&YT(this.bottomFrozenGroup,this.table.theme.bottomFrozenStyle.frameStyle,this.bottomFrozenGroup.role,t?[!0,!0,!0,!1]:void 0),this.table.theme.rightFrozenStyle?.frameStyle&&YT(this.rightFrozenGroup,this.table.theme.rightFrozenStyle.frameStyle,this.rightFrozenGroup.role,void 0),this.table.theme.cornerRightTopCellStyle?.frameStyle&&YT(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle.frameStyle,this.rightTopCornerGroup.role,void 0),this.table.theme.cornerRightBottomCellStyle?.frameStyle&&YT(this.rightBottomCornerGroup,this.table.theme.cornerRightBottomCellStyle.frameStyle,this.rightBottomCornerGroup.role,void 0),YT(this.tableGroup,this.table.theme.frameStyle,this.tableGroup.role,void 0)}getResizeColAt(t,e,i){const r=this.table.theme.columnResize.resizeHotSpotSize/2;let o;if(!i){const i=this.table.getDrawRange();return e>=i.top&&e<=i.bottom&&(o=this.table.getCellAtRelativePosition(t-r,e),o.col===this.table.colCount-1)?o:{col:-1,row:-1}}return i.stage?(t<i.globalAABBBounds.x1+r?o={col:i.col-1,row:i.row,x:i.globalAABBBounds.x1}:i.globalAABBBounds.x2-r<t&&(o={col:i.col,row:i.row,x:i.globalAABBBounds.x2}),o&&this.table.rightFrozenColCount>0&&o.col>=this.table.colCount-this.table.rightFrozenColCount-1&&this.table.tableNoFrameWidth-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth()+this.table.scrollLeft<this.bodyGroup.attribute.width&&(o.col=o.col+1,o.rightFrozen=!0),o||{col:-1,row:-1}):{col:-1,row:-1}}getResizeRowAt(t,e,i){const r=this.table.theme.columnResize.resizeHotSpotSize/2;if(i){let t;if(e<i.globalAABBBounds.y1+r?t={col:i.col,row:i.row-1,y:i.globalAABBBounds.y1}:i.globalAABBBounds.y2-r<e&&(t={col:i.col,row:i.row,y:i.globalAABBBounds.y2}),t&&this.table.bottomFrozenRowCount>0&&t.row>=this.table.rowCount-this.table.bottomFrozenRowCount-1&&this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()+this.table.scrollTop<this.bodyGroup.attribute.height&&(t.row=t.row+1,t.bottomFrozen=!0),t)return t}else;return{col:-1,row:-1}}updateFrozen(){this.clear||(this.resetFrozen(),this.component.updateScrollBar())}updateRowFrozen(){this.clear||(this.resetRowFrozen(),this.component.updateScrollBar())}dealWidthRightFrozen(t){this.clear?this.table.internalProps.rightFrozenColCount=t:function(t,e){const{table:i,proxy:r,rightTopCornerGroup:o,rightFrozenGroup:n,rightBottomCornerGroup:s,bottomFrozenGroup:a,bodyGroup:l,colHeaderGroup:h}=e,c=e.table.rightFrozenColCount;if(t>c){for(let r=i.colCount-c-1;r>=i.colCount-t;r--)ZM(n,e.getColGroup(r),n.firstChild),ZM(o,e.getColGroup(r,!0),o.firstChild),ZM(s,e.getColGroupInBottom(r),s.firstChild);let r=0;n.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,o.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,s.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width}))}else if(t<c){for(let r=i.colCount-c;r<i.colCount-t;r++){const t=e.getColGroup(r);t.setAttribute("x",l.lastChild.attribute.x+i.getColWidth(l.lastChild.col)),l.appendChild(t);const o=e.getColGroupInRightTopCorner(r);o.setAttribute("x",h.lastChild.attribute.x+i.getColWidth(h.lastChild.col)),h.appendChild(o);const n=e.getColGroupInRightBottomCorner(r);n.setAttribute("x",a.lastChild.attribute.x+i.getColWidth(a.lastChild.col)),a.appendChild(n)}let r=0;n.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,o.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,s.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width}))}n.setAttribute("width",i.getColsWidth(i.colCount-t,i.colCount-1)),o.setAttribute("width",i.getColsWidth(i.colCount-t,i.colCount-1)),s.setAttribute("width",i.getColsWidth(i.colCount-t,i.colCount-1)),i.internalProps.rightFrozenColCount=t,e.updateContainer(),e.component.updateScrollBar(),e.updateNextFrame()}(t,this)}dealWidthBottomFrozen(t){this.clear?this.table.internalProps.bottomFrozenRowCount=t:function(t,e){const{table:i,proxy:r,bottomFrozenGroup:o,leftBottomCornerGroup:n,rightBottomCornerGroup:s}=e;o.childrenCount||(r.table.isPivotChart()||(iM(n,0,0,0,i.frozenColCount-1,0,-1,"rowHeader",i),iM(s,0,0,i.colCount-i.rightFrozenColCount,i.colCount-1,0,-1,"body",i)),iM(o,0,0,r.colStart,r.colEnd,0,-1,"body",i));const a=e.table.bottomFrozenRowCount;if(t>a){for(let r=0;r<i.frozenColCount;r++){const o=e.getColGroupInLeftBottomCorner(r);for(let n=i.rowCount-a-1;n>=i.rowCount-t;n--)ZM(o,e.getCell(r,n,!0),o.firstChild);let n=0;o.forEachChildren((t=>{t.setAttribute("y",n),n+=i.getRowHeight(t.row)}))}for(let o=r.colStart;o<=r.colEnd;o++){const r=e.getColGroupInBottom(o);for(let n=i.rowCount-a-1;n>=i.rowCount-t;n--)ZM(r,e.getCell(o,n,!0),r.firstChild);let n=0;r.forEachChildren((t=>{t.setAttribute("y",n),n+=i.getRowHeight(t.row)}))}if(i.rightFrozenColCount>0)for(let r=i.colCount-i.rightFrozenColCount;r<i.colCount;r++){const o=e.getColGroupInRightBottomCorner(r);for(let n=i.rowCount-a-1;n>=i.rowCount-t;n--)ZM(o,e.getCell(r,n,!0),o.firstChild);let n=0;o.forEachChildren((t=>{t.setAttribute("y",n),n+=i.getRowHeight(t.row)}))}}else if(t<a){for(let r=0;r<i.rowHeaderLevelCount;r++){const o=e.getColGroup(r);for(let n=i.rowCount-a;n<i.rowCount-t;n++){const t=e.getCell(r,n,!0);t.setAttribute("y",o.lastChild.attribute.y+i.getRowHeight(o.lastChild.row)),o.appendChild(t)}const n=e.getColGroupInLeftBottomCorner(r);let s=0;n.forEachChildren((t=>{t.setAttribute("y",s),s+=i.getRowHeight(t.row)}))}for(let o=r.colStart;o<=r.colEnd;o++){const r=e.getColGroup(o);for(let n=i.rowCount-a;n<i.rowCount-t;n++){const t=e.getCell(o,n,!0);t.setAttribute("y",r.lastChild.attribute.y+i.getRowHeight(r.lastChild.row)),r.appendChild(t)}const n=e.getColGroupInBottom(o);let s=0;n.forEachChildren((t=>{t.setAttribute("y",s),s+=i.getRowHeight(t.row)}))}if(i.rightFrozenColCount>0)for(let r=i.colCount-i.rightFrozenColCount;r<i.colCount;r++){const o=e.getColGroup(r);for(let n=i.rowCount-a;n<i.rowCount-t;n++){const t=e.getCell(r,n,!0);t.setAttribute("y",o.lastChild.attribute.y+i.getRowHeight(o.lastChild.row)),o.appendChild(t)}const n=e.getColGroupInRightBottomCorner(r);let s=0;n.forEachChildren((t=>{t.setAttribute("y",s),s+=i.getRowHeight(t.row)}))}}o.setAttribute("height",i.getRowsHeight(i.rowCount-t,i.rowCount-1)),n.setAttribute("height",i.getRowsHeight(i.rowCount-t,i.rowCount-1)),s.setAttribute("height",i.getRowsHeight(i.rowCount-t,i.rowCount-1)),i.internalProps.bottomFrozenRowCount=t,e.updateContainer(),e.component.updateScrollBar(),e.updateNextFrame()}(t,this)}updateBorderSizeAndPosition(){this.bodyGroup.border&&(this.bodyGroup.appendChild(this.bodyGroup.border),JT(this.bodyGroup),this.rowHeaderGroup.attribute.width,qT(this.bodyGroup,this.table.theme.bodyStyle.frameStyle)),this.colHeaderGroup.border&&(this.colHeaderGroup.appendChild(this.colHeaderGroup.border),JT(this.colHeaderGroup),this.cornerHeaderGroup.attribute.width,qT(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle)),this.rowHeaderGroup.border&&(this.rowHeaderGroup.appendChild(this.rowHeaderGroup.border),JT(this.rowHeaderGroup)),this.cornerHeaderGroup.border&&(this.cornerHeaderGroup.appendChild(this.cornerHeaderGroup.border),JT(this.cornerHeaderGroup)),this.leftBottomCornerGroup.border&&(this.leftBottomCornerGroup.appendChild(this.leftBottomCornerGroup.border),JT(this.leftBottomCornerGroup)),this.bottomFrozenGroup.border&&(this.bottomFrozenGroup.appendChild(this.bottomFrozenGroup.border),JT(this.bottomFrozenGroup)),this.rightFrozenGroup.border&&(this.rightFrozenGroup.appendChild(this.rightFrozenGroup.border),JT(this.rightFrozenGroup)),this.rightTopCornerGroup.border&&(this.rightTopCornerGroup.appendChild(this.rightTopCornerGroup.border),JT(this.rightTopCornerGroup)),this.rightBottomCornerGroup.border&&(this.rightBottomCornerGroup.appendChild(this.rightBottomCornerGroup.border),JT(this.rightBottomCornerGroup)),function(t){if(!t.theme.frameStyle.cornerRadius)return;const e=t.theme.frameStyle.cornerRadius,{cornerHeaderGroup:i,colHeaderGroup:r,rowHeaderGroup:o,bodyGroup:n,rightTopCornerGroup:s,leftBottomCornerGroup:a,rightBottomCornerGroup:l,rightFrozenGroup:h,bottomFrozenGroup:c}=t.scenegraph;i.setAttribute("cornerRadius",0),r.setAttribute("cornerRadius",0),o.setAttribute("cornerRadius",0),n.setAttribute("cornerRadius",0),s.setAttribute("cornerRadius",0),a.setAttribute("cornerRadius",0),l.setAttribute("cornerRadius",0),h.setAttribute("cornerRadius",0),c.setAttribute("cornerRadius",0);const d=gv(e);i.attribute.width>0&&i.attribute.height>0?QT(i,[d[0],0,0,0]):r.attribute.height>0?QT(r,[d[0],0,0,0]):o.attribute.width>0?QT(o,[d[0],0,0,0]):QT(n,[d[0],0,0,0]),a.attribute.width>0&&a.attribute.height>0?QT(a,[0,0,0,d[3]]):c.attribute.height>0?QT(c,[0,0,0,d[3]]):o.attribute.width>0?QT(o,[0,0,0,d[3]]):QT(n,[0,0,0,d[3]]),s.attribute.width>0&&s.attribute.height>0?QT(s,[0,d[1],0,0]):r.attribute.height>0?QT(r,[0,d[1],0,0]):h.attribute.width>0?QT(h,[0,d[1],0,0]):QT(n,[0,d[1],0,0]),l.attribute.width>0&&l.attribute.height>0?QT(l,[0,0,d[2],0]):h.attribute.width>0?QT(h,[0,0,d[2],0]):c.attribute.height>0?QT(c,[0,0,d[2],0]):QT(n,[0,0,d[2],0])}(this.table)}sortCell(){this.isPivot||(this.table.transpose?this.proxy.sortCellHorizontal():this.proxy.sortCellVertical())}getCellOverflowText(t,e){const i=this.getCell(t,e).getChildByName("text",!0);if(i&&"text"===i.type){if(i.attribute.moreThanMaxCharacters)return this.table.getCellValue(t,e);if(i.cliped)return this.table.getCellValue(t,e)}else if(i&&"richtext"===i.type){const r=i;if(r.attribute.ellipsis&&r._frameCache&&r.attribute.height<r._frameCache.actualHeight)return r.attribute.textConfig.find((t=>t.text)),this.table.getCellValue(t,e)}return null}updateDrill(t,e,i,r,o){this.component.drillIcon.update(t,e,i,r,o,this)}updateCellContent(t,e,i=!1){if(!this.clear)return nT(t,e,this.table,void 0,void 0,i)}setPixelRatio(t){this.stage.disableDirtyBounds(),this.stage.window.setDpr(t),this.stage.render(),this.stage.enableDirtyBounds()}updateRow(t,e,i=[],r=!0,o){this.table.internalProps.layoutMap.clearCellRangeMap(),this.table.internalProps.useOneRowHeightFillAll=!1;const n=qw(e.map((t=>t.row))).sort(((t,e)=>t-e)),s=qw(i.map((t=>t.row))).sort(((t,e)=>t-e)),a=this.table.getAllRowsHeight()-[...n,...s].reduce(((t,e)=>t+this.table.getRowHeight(e)),0)<=this.table.tableNoFrameHeight;if(OM(t,e,i,this.table,o),r&&this.recalculateColWidths(),"adaptive"===this.table.heightMode||this.table.autoFillHeight&&(this.table.getAllRowsHeight()<=this.table.tableNoFrameHeight||a))this.table.scenegraph.recalculateRowHeights();else if(this.table.isAutoRowHeight())for(let t=0;t<s.length;t++){const e=s[t],i=this.table.getRowHeight(e),r=BT(e,0,this.table.colCount-1,this.table);(e>=this.proxy.rowStart&&e<=this.proxy.rowEnd||e>=this.table.rowCount-this.table.bottomFrozenRowCount&&e<=this.table.rowCount-1)&&this.table.scenegraph.updateRowHeight(e,r-i)}this.table.stateManager.checkFrozen(),this.isPivot||this.table.transpose?this.table.options.frozenColCount?this.component.setFrozenColumnShadow(this.table.frozenColCount-1):this.table.options.rightFrozenColCount&&this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount):(this.component.setFrozenColumnShadow(this.table.frozenColCount-1),this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount)),this.component.updateScrollBar(),this.updateNextFrame()}updateCol(t,e,i=[]){pP(t,e,i,this.table),this.recalculateColWidths(),this.recalculateRowHeights(),this.table.stateManager.checkFrozen(),this.isPivot||this.table.transpose?this.table.options.frozenColCount?this.component.setFrozenColumnShadow(this.table.frozenColCount-1):this.table.options.rightFrozenColCount&&this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount):(this.component.setFrozenColumnShadow(this.table.frozenColCount-1),this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount)),this.component.updateScrollBar(),this.updateNextFrame()}updateCornerHeaderCells(){for(let t=0;t<this.table.frozenColCount;t++)for(let e=0;e<this.table.frozenRowCount;e++)nT(t,e,this.table,!1)}updateRowHeaderCells(){for(let t=0;t<this.table.frozenColCount;t++)for(let e=this.table.frozenRowCount;e<this.table.rowCount;e++)nT(t,e,this.table,!1)}updateColumnHeaderCells(){for(let t=0;t<this.table.frozenRowCount;t++)for(let e=this.table.frozenColCount;e<this.table.colCount;e++)nT(e,t,this.table,!1)}getColumnGroupX(t){return t<this.table.rowHeaderLevelCount?this.table.getColsWidth(0,t-1):t<this.table.colCount-this.table.rightFrozenColCount?this.table.getColsWidth(this.table.rowHeaderLevelCount,t-1):t<this.table.colCount?this.table.getColsWidth(this.table.colCount-this.table.bottomFrozenRowCount,t-1):0}getCellGroupY(t){return t<this.table.frozenRowCount?this.table.getRowsHeight(0,t-1):t<this.table.rowCount-this.table.bottomFrozenRowCount?this.table.getRowsHeight(this.table.frozenRowCount,t-1):t<this.table.rowCount?this.table.getRowsHeight(this.table.rowCount-this.table.bottomFrozenRowCount,t-1):0}getCellGroupX(t){return t<this.table.rowHeaderLevelCount?this.table.getColsWidth(0,t-1):t<this.table.colCount-this.table.rightFrozenColCount?this.table.getColsWidth(this.table.rowHeaderLevelCount,t-1):t<this.table.colCount?this.table.getColsWidth(this.table.colCount-this.table.rightFrozenColCount,t-1):0}updateDomContainer(){!function(t){const{headerDomContainer:e,bodyDomContainer:i,frozenBodyDomContainer:r,frozenHeaderDomContainer:o,rightFrozenBodyDomContainer:n,rightFrozenHeaderDomContainer:s,bottomDomContainer:a,frozenBottomDomContainer:l,rightFrozenBottomDomContainer:h}=t.internalProps;if(!(e||i||r||o||n||s||a||l||h))return;const c=t.getAllColsWidth(),d=Math.min(c,t.tableNoFrameWidth),u=t.getFrozenColsWidth(),g=t.getRightFrozenColsWidth(),p=u+g,f=Math.min(c-p,d-p),m=t.getAllRowsHeight(),b=Math.min(m,t.tableNoFrameHeight),y=t.getFrozenRowsHeight(),C=t.getBottomFrozenRowsHeight(),w=y+C,v=Math.min(m-w,b-w);t.frozenColCount>0?(e.style.left=`${t.tableX+u}px`,i.style.left=`${t.tableX+u}px`,a.style.left=`${t.tableX+u}px`):0===t.frozenColCount&&(e.style.left=`${t.tableX}px`,i.style.left=`${t.tableX}px`,a.style.left=`${t.tableX}px`),r.style.left=`${t.tableX}px`,o.style.left=`${t.tableX}px`,e.style.width=`${f}px`,e.style.height=`${y}px`,i.style.top=`${t.tableY}px`,i.style.width=`${f}px`,i.style.height=`${v}px`,i.style.top=`${t.tableY+y}px`,r.style.width=`${u}px`,r.style.height=`${v}px`,r.style.top=`${t.tableY+y}px`,o.style.width=`${u}px`,o.style.height=`${y}px`,o.style.top=`${t.tableY}px`,n.style.width=`${g}px`,n.style.height=`${v}px`,n.style.top=`${t.tableY+y}px`,n.style.left=t.tableX+d-g+"px",s.style.width=`${g}px`,s.style.height=`${y}px`,s.style.top=`${t.tableY}px`,s.style.left=t.tableX+d-g+"px",a.style.width=`${f}px`,a.style.height=`${C}px`,a.style.top=t.tableY+b-C+"px",l.style.width=`${u}px`,l.style.height=`${C}px`,l.style.top=t.tableY+b-C+"px",h.style.width=`${g}px`,h.style.height=`${C}px`,h.style.top=t.tableY+b-C+"px",h.style.left=t.tableX+d-g+"px"}(this.table)}setLoadingHierarchyState(t,e){const i=this.getCell(t,e),r=i.getChildByName("collapse",!0)||i.getChildByName("expand",!0);if(r){const i=kR()[tw.loadingIconName];i&&GR(i,r,t,e)}}temporarilyUpdateSelectRectStyle(t){!function(t,e){const{selectedRangeComponents:i}=e;i.forEach(((e,i)=>{e.rect.setAttributes(t)})),e.updateNextFrame()}(t,this)}resetSelectRectStyle(){this.recreateAllSelectRangeComponents()}}function CP(t,e,i){const r=t.highPerformanceGetCell(e,i);if("cell"===r.role&&J(r.mergeStartCol)&&J(r.mergeStartRow)&&J(r.mergeEndCol)&&J(r.mergeEndRow)){const{colStart:e,colEnd:i,rowStart:o,rowEnd:n}=ET(r,t);for(let r=e;r<=i;r++)for(let e=o;e<=n;e++){const i=t.highPerformanceGetCell(r,e);"cell"===i.role&&i.addUpdateBoundTag()}}else r.addUpdateBoundTag()}function wP(t,e,i,r,o){const n=t.table;for(let i=0;i<n.columnHeaderLevelCount;i++)CP(t,e,i);const s=t.getColGroup(e);return s?.addUpdateBoundTag(),!0}function vP(t,e,i,r,o,n){const s=t.table;for(let i=0;i<s.columnHeaderLevelCount;i++)CP(t,e,i);const a=t.getColGroup(e);return a?.addUpdateBoundTag(),!0}function xP(t,e,i,r,o){const n=t.table;for(let e=0;e<n.colCount;e++)CP(t,e,i);return!0}function _P(t,e,i,r,o,n){const s=t.table;for(let e=0;e<s.colCount;e++)CP(t,e,i);return!0}function SP(t,e,i){const{table:r}=t,{scenegraph:o}=r,{highlightScope:n,singleStyle:s,disableHeader:a,cellPos:l,cellPosContainHeader:h}=t.hover,c=l.col,d=l.row;if(n===KC.none||a&&(h.col!==e||h.row!==i)){const t=h.col,r=h.row;o.hideHoverIcon(t,r),o.showHoverIcon(e,i),h.col=e,h.row=i}if((a&&r.isHeader(e,i)||n===KC.none)&&(e=-1,i=-1),c===e&&d===i)return;o.deactivateChart(c,d),o.activateChart(e,i);let u=!1;const{ranges:g,highlightScope:p}=t.select;if(-1!==c&&-1!==d&&(u=function(t,e,i,r,o,n,s){let a=!1;n===KC.single?a=!!function(t,e,i,r,o){return CP(t,e,i),!0}(t,e,i)||a:n===KC.row?a=!!xP(t,0,i)||a:n===KC.column?a=!!wP(t,e)||a:n===KC.cross&&(a=!!xP(t,0,i)||a,a=!!wP(t,e)||a);return a}(o,c,d,0,0,n),a||o.hideHoverIcon(c,d)),-1===e||-1===i)return l.col=-1,l.row=-1,void(!u||c===e&&d===i||t.table.scenegraph.updateNextFrame());n===KC.single?u=!!function(t,e,i,r,o){return CP(t,e,i),!0}(o,e,i)||u:n===KC.row?u=!!_P(o,0,i)||u:n===KC.column?u=!!vP(o,e)||u:n===KC.cross&&(u=!!_P(o,0,i)||u,u=!!vP(o,e)||u),n===KC.none||a||o.showHoverIcon(e,i),l.col=e,l.row=i,u&&t.table.scenegraph.updateNextFrame()}function AP(t,e,i,r){let o,n=null,s=!1;if(Array.isArray(i.sortState))for(let r=0;r<i.sortState.length&&(o=i.sortState[r],o&&(n=i._getHeaderCellBySortState(o)),n&&(s=RP(t,e,n.col,n.row,i)),!s);r++);else o=i.sortState,o&&(n=i._getHeaderCellBySortState(o)),n&&(s=RP(t,e,n.col,n.row,i));const a=i.getHeaderDefine(t,e);o&&s&&a?.sort?o.order="asc"===o.order?"desc":"desc"===o.order?"normal":"asc":a?.sort?o={field:i.getHeaderField(t,e),order:"asc"}:s&&a?.showSort||(o={field:i.getHeaderField(t,e),order:"normal"}),o.event=r;if(i.fireListeners(_v.SORT_CLICK,o).includes(!1))return;let l=!1,h=i.internalProps.sortState?Array.isArray(i.internalProps.sortState)&&(l=!0)?i.internalProps.sortState:[i.internalProps.sortState]:[];if(Array.isArray(h)){const t=h.findIndex((t=>t.field===o.field));t>=0?h[t]=o:h.push(o)}h=h.filter((t=>"normal"!==t.order)),h=i.internalProps.multipleSort&&(l=!0)?h:h.splice(-1),h=l&&h.length?h:h[0],i.internalProps.sortState=h,i.stateManager.setSortState(h),a?.sort&&function(t,e,i){t=Array.isArray(t)||!t?t:[t],e.dataSource.sort((t||[]).map((t=>{const i=e.internalProps.layoutMap.headerObjects.find((e=>e&&e.field===t.field));return{field:t.field,order:t.order||"asc",orderFn:"function"==typeof i?.define?.sort?i?.define?.sort:Xw}})))}(h,i),i.internalProps.useOneRowHeightFillAll=!1,i.internalProps.layoutMap.clearCellRangeMap(),i.scenegraph.sortCell();const c=!!i.stateManager.select.ranges?.length;i.stateManager.updateSelectPos(-1,-1),i.stateManager.endSelectCells(!0,c)}function RP(t,e,i,r,o){return o._getLayoutCellId(t,e)===o._getLayoutCellId(i,r)}const TP=av(_v,{PIVOT_SORT_CLICK:"pivot_sort_click",DRILLMENU_CLICK:"drillmenu_click"}),BP=av(_v,{VCHART_EVENT_TYPE:"vchart_event_type"});function MP(t,e,i,r,o){for(let i=t;i<=e;i++)o._clearColRangeWidthsMap(i);for(let t=i;t<=r;t++)o._clearRowRangeHeightsMap(t)}function PP(t){if(!t)return;const e=t.role?.startsWith("icon")?t:"richtext"===t.type?t._currentHoverIcon:void 0;return e?"richtext"===t.type?{icon:e,position:{left:t.globalAABBBounds.x1+e.globalAABBBounds.x1,right:t.globalAABBBounds.x1+e.globalAABBBounds.x2,top:t.globalAABBBounds.y1+e.globalAABBBounds.y1,bottom:t.globalAABBBounds.y1+e.globalAABBBounds.y2,width:e.globalAABBBounds.x2-e.globalAABBBounds.x1,height:e.globalAABBBounds.y2-e.globalAABBBounds.y1},type:"richtext-icon"}:{icon:e,position:{left:e.globalAABBBounds.x1,right:e.globalAABBBounds.x2,top:e.globalAABBBounds.y1,bottom:e.globalAABBBounds.y2,width:e.globalAABBBounds.x2-e.globalAABBBounds.x1,height:e.globalAABBBounds.y2-e.globalAABBBounds.y1},type:"icon"}:void 0}function HP(t,e){"adaptive"===e.table.widthMode&&e.columnResize.col<e.table.colCount-1?(e.table.scenegraph.updateColWidth(e.columnResize.col,t),e.table.scenegraph.updateColWidth(e.columnResize.col+1,-t),e.table.internalProps._widthResizedColMap.add(e.columnResize.col),e.table.internalProps._widthResizedColMap.add(e.columnResize.col+1)):(e.table.scenegraph.updateColWidth(e.columnResize.col,t),e.table.internalProps._widthResizedColMap.add(e.columnResize.col))}function kP(t,e){e.checkedState.clear(),e.headerCheckedState={},e.radioState={};let i=!1;if(e._checkboxCellTypeFields=[],e._headerCheckFuncs={},e.table.internalProps.layoutMap.headerObjects.forEach(((t,r)=>{if("checkbox"===t.headerType){const r=t.define.checked;null==r||"function"==typeof r?(i=!0,"function"==typeof r&&(e._headerCheckFuncs[t.field]=r)):e.headerCheckedState[t.field]=r,"checkbox"!==t.define.cellType&&!q(t.define.cellType)||t.fieldFormat||e._checkboxCellTypeFields.push(t.field)}})),1===e.table.leftRowSeriesNumberCount)e.headerCheckedState._vtable_rowSeries_number=!1,e._checkboxCellTypeFields.push("_vtable_rowSeries_number"),i=!0;else if(e.table.leftRowSeriesNumberCount>1){for(let t=0;t<e.table.leftRowSeriesNumberCount;t++)e.headerCheckedState[`_vtable_rowSeries_number_${t}`]=!1,e._checkboxCellTypeFields.push(`_vtable_rowSeries_number_${t}`);i=!0}i&&function(t,e){const i=e.table,r=i.isPivotTable()?0:i.internalProps.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount,o=i.isPivotTable()?ot(t)?t.length:0:i.internalProps.transpose?i.colCount:i.rowCount;for(let n=0;n+r<o;n++){const r=i.isPivotTable()?t[n]:i.dataSource.get(n);e._checkboxCellTypeFields.forEach((t=>{const o=r&&r[t];let s;if(Q(o)?s=o.checked:"boolean"==typeof o&&(s=o),null==s){const i=e._headerCheckFuncs[t];if(i){const r=e.table.getCellAddrByFieldRecord(t,n);s=cv(i,{col:r.col,row:r.row,table:e.table,context:null,value:o})}}const a=i.isPivotTable()?n.toString():e.table.dataSource.getIndexKey(n).toString();e.checkedState.get(a)||e.checkedState.set(a,{}),e.checkedState.get(a)[t]=s}))}}(t,e)}function LP(t,e,i,r){const o=r.scenegraph.getCell(t,e),n=o?.getChildByName("checkbox");n&&("indeterminate"===i?(n.setAttribute("indeterminate",!0),n.setAttribute("checked",void 0)):(n.setAttribute("indeterminate",void 0),n.setAttribute("checked",i)))}function EP(t,e){"adaptive"===e.table.heightMode&&e.rowResize.row<e.table.rowCount-1?(e.table.scenegraph.updateRowHeight(e.rowResize.row,t),e.table.scenegraph.updateRowHeight(e.rowResize.row+1,-t),e.table.internalProps._heightResizedRowMap.add(e.rowResize.row),e.table.internalProps._heightResizedRowMap.add(e.rowResize.row+1)):(e.table.scenegraph.updateRowHeight(e.rowResize.row,t),e.table.internalProps._heightResizedRowMap.add(e.rowResize.row))}class FP{table;interactionState;interactionStateBeforeScroll;select;fillHandle;hover;hoverIcon;residentHoverIcon;columnResize;rowResize;columnMove;menu;sort;frozen;scroll;tablePosition;drill;sparkLine;_clearVerticalScrollBar;_clearHorizontalScrollBar;fastScrolling=!1;checkedState=new Map;headerCheckedState={};_checkboxCellTypeFields=[];_headerCheckFuncs={};radioState={};resetInteractionState=Av((t=>{this.updateInteractionState(t??UC.default)}),100);constructor(t){this.table=t,this.initState(),this.updateVerticalScrollBar=this.updateVerticalScrollBar.bind(this),this.updateHorizontalScrollBar=this.updateHorizontalScrollBar.bind(this)}initState(){this._initState(),this.setHoverState(),this.setSelectState(),this.setFrozenState()}updateOptionSetState(){this._updateOptionSetState(),this.setHoverState(),this.setSelectState(),this.setFrozenState()}_updateOptionSetState(){this.interactionState=UC.default,this.hoverIcon={col:-1,row:-1,icon:null},this.columnResize={col:-1,x:0,resizing:!1},this.rowResize={row:-1,y:0,resizing:!1},this.columnMove={colSource:-1,colTarget:-1,rowSource:-1,rowTarget:-1,x:0,y:0,moving:!1},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Me,highlightIndex:-1,dropDownMenuHighlight:[]},this.sort=[{col:-1,row:-1,order:"normal"}],this.frozen={col:-1,row:-1},this.tablePosition={absoluteX:0,absoluteY:0},this.drill={col:-1,row:-1},this.sparkLine={col:-1,row:-1}}_initState(){this.interactionState=UC.default,this.select={highlightScope:KC.single,ranges:[],cellPos:{col:-1,row:-1},selecting:!1},this.fillHandle={isFilling:!1,startX:void 0,startY:void 0},this.hover={highlightScope:KC.single,cellPos:{col:-1,row:-1}},this.hoverIcon={col:-1,row:-1,icon:null},this.columnResize={col:-1,x:0,resizing:!1},this.rowResize={row:-1,y:0,resizing:!1},this.columnMove={colSource:-1,colTarget:-1,rowSource:-1,rowTarget:-1,x:0,y:0,moving:!1},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Me,highlightIndex:-1,dropDownMenuHighlight:[]},this.sort=[{col:-1,row:-1,order:"normal"}],this.frozen={col:-1,row:-1},this.scroll={horizontalBarPos:0,verticalBarPos:0},this.tablePosition={absoluteX:0,absoluteY:0},this.drill={col:-1,row:-1},this.sparkLine={col:-1,row:-1}}setHoverState(){const{highlightMode:t,disableHover:e,disableHeaderHover:i}=this.table.options.hover??{highlightMode:"cell"};e?this.hover.highlightScope=KC.none:"cross"===t?this.hover.highlightScope=KC.cross:"row"===t?this.hover.highlightScope=KC.row:"column"===t?this.hover.highlightScope=KC.column:"cell"===t&&(this.hover.highlightScope=KC.single),this.hover.singleStyle=!e,this.hover.disableHeader=i,(this.hover.highlightScope===KC.none||i)&&(this.hover.cellPosContainHeader={col:-1,row:-1})}setSelectState(){const{headerSelectMode:t,disableSelect:e,disableHeaderSelect:i,highlightMode:r,highlightInRange:o}=Object.assign({},{headerSelectMode:"inline",disableSelect:!1,disableHeaderSelect:!1,highlightMode:"cell",highlightInRange:!1},this.table.options.select);this.select.highlightScope=!0===e?KC.none:"cross"===r?KC.cross:"row"===r?KC.row:"column"===r?KC.column:KC.single,this.select.singleStyle=!e,this.select.disableHeader=i,this.select.headerSelectMode=t,this.select.highlightInRange=o,this.select.disableCtrlMultiSelect=!1===this.table.options.keyboardOptions?.ctrlMultiSelect}isSelected(t,e){let i=!1;return this.select.ranges.forEach((r=>{pv(r,t,e)&&(i=!0)})),i}setSortState(t){const e=this;const i=(t=!t||Array.isArray(t)?t:[t])&&t.reduce(((t,i)=>{const r=function(t){const i=[];return function t(r,o=0){r.forEach((r=>{const n=r.startInTotal?r.startInTotal+e.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0:o;r.columns?t(r.columns,n):i.push({...r,startIndex:n})}))}(t),i}(this.table.internalProps.columns)?.find((t=>t?.field===i?.field));return this.table.internalProps.transpose?t.push({field:i.field,order:i.order,row:r?.startInTotal+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0,col:r?.level}):t.push({field:i.field,order:i.order,col:r?.startInTotal+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0,row:r?.level}),t}),[]);this.sort=i||[]}setFrozenState(){this.frozen.col=this.table.frozenColCount-1}updateInteractionState(t){if(this.interactionState===t)return;t===UC.scrolling&&(this.interactionStateBeforeScroll=this.interactionState);const e=this.interactionState;this.interactionState=t,e===UC.scrolling&&UC.default}updateHoverhighlightScope(t){this.hover.highlightScope!==t&&(this.hover.highlightScope=t)}updateHoverPos(t,e){SP(this,t,e)}updateSelectPos(t,e,i=!1,r=!1,o=!1,n=!0,s=!1){-1!==e&&-1!==e&&(this.select.selecting=!0),function(t,e,i,r,o,n,s=!0,a=!1){const{table:l,interactionState:h}=t,{scenegraph:c}=l,{highlightScope:d,disableHeader:u,cellPos:g,disableCtrlMultiSelect:p}=t.select;if(-1!==e&&-1!==i&&s&&l._makeVisibleCell(e,i),-1!==e&&-1!==i&&s)if(h===UC.grabing&&t.select.ranges.length>0){const r=t.select.ranges[t.select.ranges.length-1];e>r.start.col&&e>r.end.col&&l._makeVisibleCell(e+1,i),i>r.start.row&&i>r.end.row&&l._makeVisibleCell(e,i+1),e<r.start.col&&e<r.end.col&&l._makeVisibleCell(e-1,i),i<r.start.row&&i<r.end.row&&l._makeVisibleCell(e,i-1)}else l._makeVisibleCell(e,i);if(n){t.select.ranges=[],c.deleteAllSelectBorder();let e=0,i=0;const{disableHeaderSelect:r,disableRowSeriesNumberSelect:o}=l.options.keyboardOptions?.selectAllOnCtrlA||{};r&&(e=l.rowHeaderLevelCount,i=l.columnHeaderLevelCount),(o||r&&l.transpose)&&l.options.rowSeriesNumber&&(e+=1),t.select.ranges.push({start:{col:e,row:i},end:{col:l.colCount-1,row:l.rowCount-1}});const n=t.select.ranges[t.select.ranges.length-1];c.updateCellSelectBorder(n,!1)}else if(-1===g.col||-1===g.row||-1!==e&&-1!==i)if(h!==UC.default||l.eventManager.isDraging||l.stateManager.isResizeCol()){if((h===UC.grabing||l.eventManager.isDraging)&&!l.stateManager.isResizeCol()){let r=!0;-1===g.col&&(g.col=e),-1===g.row&&(g.row=i),g.col=e,g.row=i;const o=t.select.ranges[t.select.ranges.length-1];if(o){if(l.internalProps.layoutMap.isSeriesNumberInBody(o.start.col,o.start.row))r=!1,o.end={col:l.colCount-1,row:i};else if(t.fillHandle.isFilling){if("top"===t.fillHandle.direction)if(i===t.fillHandle.beforeFillMinRow&&i===t.fillHandle.beforeFillMaxRow)o.start.row=o.end.row=i;else if(i<=t.fillHandle.beforeFillMinRow){if(o.start.row<o.end.row){const t=o.start.row;o.start.row=o.end.row,o.end.row=t}o.end.row=i}else i===t.fillHandle.beforeFillMaxRow&&(o.start.row>o.end.row?o.start.row=i:o.end.row=i);else if("bottom"===t.fillHandle.direction){if(i>=t.fillHandle.beforeFillMaxRow){if(o.start.row>o.end.row){const t=o.start.row;o.start.row=o.end.row,o.end.row=t}o.end.row=i}}else if("left"===t.fillHandle.direction)if(e===t.fillHandle.beforeFillMinCol&&e===t.fillHandle.beforeFillMaxCol)o.start.col=o.end.col=e;else if(e<=t.fillHandle.beforeFillMinCol){if(o.start.col<o.end.col){const t=o.start.col;o.start.col=o.end.col,o.end.col=t}o.end.col=e}else e===t.fillHandle.beforeFillMaxCol&&(o.start.col>o.end.col?o.start.col=e:o.end.col=e);else if("right"===t.fillHandle.direction&&e>=t.fillHandle.beforeFillMaxCol){if(o.start.col>o.end.col){const t=o.start.col;o.start.col=o.end.col,o.end.col=t}o.end.col=e}}else{o.end={col:e,row:i};const r=a?{start:{col:e,row:i},end:{col:e,row:i}}:l.getCellRange(e,i);o.start.col<r.end.col?o.end.col=r.end.col:o.start.col>r.start.col&&(o.end.col=r.start.col),o.start.row<r.end.row?o.end.row=r.end.row:o.start.row>r.start.row&&(o.end.row=r.start.row),"body"===t.select.headerSelectMode&&(l.isRowHeader(e,i)?(o.start.col=l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,o.end.col=l.colCount-1):l.isColumnHeader(e,i)?(o.start.row=l.columnHeaderLevelCount,o.end.row=l.rowCount-1):l.internalProps.layoutMap.isSeriesNumberInBody(e,i)?(o.start.col=l.leftRowSeriesNumberCount,o.end.col=l.colCount-1):l.isCornerHeader(e,i)?(o.start.col=l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,o.start.row=l.columnHeaderLevelCount,o.end.col=l.colCount-1,o.end.row=l.rowCount-1):l.isSeriesNumber(e,i)&&(o.start.col=l.leftRowSeriesNumberCount,o.start.row=l.columnHeaderLevelCount,o.end.col=l.colCount-1,o.end.row=l.rowCount-1)),a&&(o.skipBodyMerge=!0)}c.updateCellSelectBorder(o,r)}}}else{const n=t.select.ranges[t.select.ranges.length-1];if(r&&n){if(o&&!p||(g.col=e,g.row=i),"cell"!==t.select.headerSelectMode&&l.isColumnHeader(e,i)){const r=Math.min(n.start.col,n.end.col,e),o=Math.max(n.start.col,n.end.col,e),s=Math.min(n.start.row,n.end.row,i),a=l.rowCount-1;"body"===t.select.headerSelectMode?(n.start={col:r,row:l.columnHeaderLevelCount},n.end={col:o,row:l.rowCount-1}):(n.start={col:r,row:s},n.end={col:o,row:a})}else if("cell"!==t.select.headerSelectMode&&l.isRowHeader(e,i)){const r=Math.min(n.start.col,n.end.col,e),o=l.colCount-1,s=Math.min(n.start.row,n.end.row,i),a=Math.max(n.start.row,n.end.row,i);"body"===t.select.headerSelectMode?(n.start={col:l.leftRowSeriesNumberCount+l.rowHeaderLevelCount,row:s},n.end={col:l.colCount-1,row:a}):(n.start={col:r,row:s},n.end={col:o,row:a})}else if("cell"!==t.select.headerSelectMode&&l.isSeriesNumberInBody(e,i)){const r=Math.min(n.start.col,n.end.col,e),o=l.colCount-1,s=Math.min(n.start.row,n.end.row,i),a=Math.max(n.start.row,n.end.row,i);"body"===t.select.headerSelectMode?(n.start={col:l.leftRowSeriesNumberCount,row:s},n.end={col:l.colCount-1,row:a}):(n.start={col:r,row:s},n.end={col:o,row:a})}else n.end={col:e,row:i};c.deleteLastSelectedRangeComponents(),c.updateCellSelectBorder(n)}else{let r=!0;if(-1===g.col||-1===g.row||o&&!p||(t.select.ranges=[],c.deleteAllSelectBorder()),"cell"!==t.select.headerSelectMode&&l.isColumnHeader(e,i)){const r=l.getCellRange(e,i);"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:r.start.col,row:l.columnHeaderLevelCount},end:{col:r.end.col,row:l.rowCount-1},skipBodyMerge:!0}):t.select.ranges.push({start:{col:r.start.col,row:r.start.row},end:{col:r.end.col,row:l.rowCount-1},skipBodyMerge:!0})}else if("cell"!==t.select.headerSelectMode&&l.isRowHeader(e,i)){const r=l.getCellRange(e,i);"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,row:r.start.row},end:{col:l.colCount-1,row:r.end.row},skipBodyMerge:!0}):t.select.ranges.push({start:{col:r.start.col,row:r.start.row},end:{col:l.colCount-1,row:r.end.row},skipBodyMerge:!0})}else if(l.internalProps.layoutMap.isSeriesNumberInHeader(e,i))r=!1,"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0}):t.select.ranges.push({start:{col:0,row:0},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if(l.internalProps.layoutMap.isSeriesNumberInBody(e,i))r=!1,"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:i},end:{col:l.colCount-1,row:i},skipBodyMerge:!0}):t.select.ranges.push({start:{col:e,row:i},end:{col:l.colCount-1,row:i},skipBodyMerge:!0});else if(l.internalProps.layoutMap.isCornerHeader(e,i))r=!1,"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0}):t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:0},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if(e>=0&&i>=0){const r=a?{start:{col:e,row:i},end:{col:e,row:i}}:l.getCellRange(e,i);t.select.ranges.push({start:{col:r.start.col,row:r.start.row},end:{col:r.end.col,row:r.end.row},skipBodyMerge:a||void 0})}g.col=e,g.row=i;const n=t.select.ranges?.[t.select.ranges.length-1];n&&c.updateCellSelectBorder(n,r)}}else g.col=-1,g.row=-1,t.select.ranges=[],c.deleteAllSelectBorder();c.updateNextFrame()}(this,t,e,i,r,o,n,s)}checkCellRangeInSelect(t,e){return function(t,e,i,r){for(let r=0;r<i.length;r++)if(mv(i[r],{start:t,end:e}))return!0;return!1}(t,e,this.select.ranges,this.select.highlightScope)}updateHoverIcon(t,e,i,r){if(this.residentHoverIcon?.icon&&i===this.residentHoverIcon?.icon)return;const o=PP(i);if(o)if("richtext-icon"===o.type){const i=o.icon;if(this.hoverIcon.icon&&this.hoverIcon.icon!==this.residentHoverIcon?.icon&&(this.table.scenegraph.setIconNormalStyle(this.hoverIcon.icon,this.hoverIcon.col,this.hoverIcon.row),this.hoverIcon.col=-1,this.hoverIcon.col=-1,this.hoverIcon.icon=null,this.table.scenegraph.updateNextFrame()),i.attribute.tooltip){const r={content:i.attribute.tooltip.title,referencePosition:{rect:o.position,placement:i.attribute.tooltip.placement},style:Object.assign({},this.table.internalProps.theme?.tooltipStyle,i.tooltip?.style,i.attribute?.tooltip?.style),disappearDelay:i.attribute.tooltip.disappearDelay};this.table.internalProps.tooltipHandler.isBinded(r)||this.table.showTooltip(t,e,r)}}else{const i=o.icon;i!==this.hoverIcon.icon&&(this.hoverIcon.icon&&this.hoverIcon.icon!==this.residentHoverIcon?.icon&&this.table.scenegraph.setIconNormalStyle(this.hoverIcon.icon,this.hoverIcon.col,this.hoverIcon.row),this.hoverIcon.col=t,this.hoverIcon.row=e,this.hoverIcon.icon=i,this.table.scenegraph.setIconHoverStyle(i,t,e,r),this.table.scenegraph.updateNextFrame())}else this.hoverIcon.icon&&this.hoverIcon.icon!==this.residentHoverIcon?.icon&&(this.table.scenegraph.setIconNormalStyle(this.hoverIcon.icon,this.hoverIcon.col,this.hoverIcon.row),this.hoverIcon.col=-1,this.hoverIcon.col=-1,this.hoverIcon.icon=null,this.table.scenegraph.updateNextFrame())}isResizeCol(){return this.columnResize.resizing}isResizeRow(){return this.rowResize.resizing}isFillHandle(){return this.fillHandle.isFilling}isSelecting(){return this.select.selecting}endSelectCells(t=!0,e=!0){if(this.select.selecting){if(this.select.selecting=!1,0===this.select.ranges.length)return;const e=this.select.ranges[this.select.ranges.length-1];this.table.isSeriesNumber(this.select.cellPos.col,this.select.cellPos.row)||this.table.isHeader(this.select.cellPos.col,this.select.cellPos.row)||function(t,e){const i=t.start.col,r=t.end.col,o=t.start.row,n=t.end.row;let s=i,a=r,l=o,h=n;for(let t=i;t<=r;t++)for(let i=o;i<=n;i++){const r=e.getCellRange(t,i);r&&(s=Math.min(s,r.start.col),a=Math.max(a,r.end.col),l=Math.min(l,r.start.row),h=Math.max(h,r.end.row))}t.start.col=s,t.end.col=a,t.start.row=l,t.end.row=h}(e,this.table);let i=!1;for(let t=0;t<this.select.ranges.length-1;t++){const r=this.select.ranges[t];if(r&&r.start.col===e.start.col&&r.start.row===e.start.row&&r.end.col===e.end.col&&r.end.row===e.end.row){i=!0;break}}i?(this.select.ranges.pop(),zM(this.table.scenegraph),this.table.scenegraph.selectingRangeComponents.clear()):this.table.scenegraph.moveSelectingRangeComponentsToSelectedRangeComponents();const r=this.select.ranges[this.select.ranges.length-1].end.col,o=this.select.ranges[this.select.ranges.length-1].end.row;t&&this.table.fireListeners(_v.SELECTED_CELL,{ranges:this.select.ranges,col:r,row:o})}else e&&0===this.select.ranges.length&&this.table.fireListeners(_v.SELECTED_CLEAR,{})}endResizeCol(){setTimeout((()=>{this.columnResize.resizing=!1}),0),this.table.scenegraph.updateChartSizeForResizeColWidth(this.columnResize.col),this.checkFrozen(),this.table.scenegraph.component.hideResizeCol(),this.table.scenegraph.updateNextFrame()}startResizeCol(t,e,i,r){this.columnResize.resizing=!0,this.columnResize.col=t,this.columnResize.x=e,this.columnResize.isRightFrozen=r,this.table.scenegraph.component.showResizeCol(t,i,r),this.table.scenegraph.updateNextFrame()}updateResizeCol(t,e){!function(t,e,i){t=Math.ceil(t),e=Math.ceil(e);let r=i.columnResize.isRightFrozen?i.columnResize.x-t:t-i.columnResize.x;if(Math.abs(r)<1)return;const o=i.table.getColWidth(i.columnResize.col);let n=o;n+=r;const s=i.table.getMinColWidth(i.columnResize.col),a=i.table.getMaxColWidth(i.columnResize.col);if(n<s||n>a){if(o===s||o===a)return;r=o-s>a-o?a-o:s-o}let l=i.table.getColWidth(i.columnResize.col)+r;if(l<i.table.internalProps.limitMinWidth&&(l=i.table.internalProps.limitMinWidth,r=l-i.table.getColWidth(i.columnResize.col)),"adaptive"===i.table.widthMode&&i.columnResize.col<i.table.colCount-1){const t=i.table.getColWidth(i.columnResize.col+1),e=i.table.getMinColWidth(i.columnResize.col+1),o=i.table.getMaxColWidth(i.columnResize.col+1);let n=t;if(n-=r,n<e||n>o){if(t===e||t===o)return;r=t-e>o-t?o-t:e-t}n-r<i.table.internalProps.limitMinWidth&&(r=n-i.table.internalProps.limitMinWidth)}r=Math.ceil(r),i.columnResize.col<i.table.rowHeaderLevelCount||i.columnResize.col>=i.table.colCount-i.table.rightFrozenColCount?HP(r,i):"indicator"===i.table.internalProps.columnResizeType?function(t,e){const i=e.table.internalProps.layoutMap;let r,o,n;if(i.indicatorsAsCol)r=i.getIndicatorKey(e.columnResize.col,e.table.columnHeaderLevelCount);else{const t=i.getCellHeaderPaths(e.columnResize.col,e.table.columnHeaderLevelCount-1),r=t.colHeaderPaths[t.colHeaderPaths.length-1];o=r.dimensionKey,n=r.value}for(let s=e.table.rowHeaderLevelCount;s<e.table.colCount-e.table.rightFrozenColCount;s++){const a=i.getIndicatorKey(s,e.table.columnHeaderLevelCount);if(i.indicatorsAsCol&&a===r)e.table.scenegraph.updateColWidth(s,t),e.table.internalProps._widthResizedColMap.add(s);else if(!i.indicatorsAsCol){const r=i.getCellHeaderPaths(s,e.table.columnHeaderLevelCount-1),a=r?.colHeaderPaths[r.colHeaderPaths.length-1];a&&o===a.dimensionKey&&n===a.value&&(e.table.scenegraph.updateColWidth(s,t),e.table.internalProps._widthResizedColMap.add(s))}}}(r,i):"indicatorGroup"===i.table.internalProps.columnResizeType?function(t,e){const i=e.table.internalProps.layoutMap,r=i.getCellHeaderPaths(e.columnResize.col,e.table.columnHeaderLevelCount),o=i.getHeadNodeByRowOrColDimensions(r.colHeaderPaths.slice(0,r.colHeaderPaths.length-1)),n=o.startInTotal+e.table.frozenColCount,s=o.startInTotal+e.table.frozenColCount+o.size-1,a=e.table.getColsWidth(n,s),l=t;for(let t=n;t<=s;t++){if(!(e.table.internalProps.transpose||e.table.isPivotTable()&&!i.indicatorsAsCol)){const r=i.getBody(t,e.table.columnHeaderLevelCount);if(r?.disableColumnResize)continue}let r=e.table.getColWidth(t)/a*l;r>0&&r<.5?r=.5:r<0&&r>=-.5&&(r=-.5),e.table.scenegraph.updateColWidth(t,r),e.table.internalProps._widthResizedColMap.add(t)}}(r,i):"all"===i.table.internalProps.columnResizeType?function(t,e){const i=e.table.internalProps.layoutMap;for(let r=e.table.frozenColCount;r<e.table.colCount-e.table.rightFrozenColCount;r++){if(!(e.table.internalProps.transpose||e.table.isPivotTable()&&!i.indicatorsAsCol)){const t=i.getBody(r,e.table.columnHeaderLevelCount);if(t?.disableColumnResize)continue}e.table.scenegraph.updateColWidth(r,t),e.table.internalProps._widthResizedColMap.add(r)}}(r,i):HP(r,i),i.columnResize.x=t,i.table.scenegraph.component.updateResizeCol(i.columnResize.col,e,i.columnResize.isRightFrozen),i.columnResize.col<i.table.frozenColCount&&!i.table.isPivotTable()&&!i.table.transpose?i.table.scenegraph.component.setFrozenColumnShadow(i.table.frozenColCount-1,i.columnResize.isRightFrozen):i.table.options.frozenColCount&&i.table.scenegraph.component.setFrozenColumnShadow(i.table.frozenColCount-1),(i.columnResize.col>=i.table.colCount-i.table.rightFrozenColCount&&!i.table.isPivotTable()&&!i.table.transpose||i.table.options.rightFrozenColCount)&&i.table.scenegraph.component.setRightFrozenColumnShadow(i.table.colCount-i.table.rightFrozenColCount),i.table.scenegraph.updateNextFrame()}(t,e,this)}endResizeRow(){setTimeout((()=>{this.rowResize.resizing=!1}),0),this.table.scenegraph.updateChartSizeForResizeRowHeight(this.rowResize.row),this.table.scenegraph.component.hideResizeRow(),this.table.scenegraph.updateNextFrame()}startResizeRow(t,e,i,r){this.rowResize.resizing=!0,this.rowResize.row=t,this.rowResize.y=i,this.rowResize.isBottomFrozen=r,this.table.scenegraph.component.showResizeRow(t,e,r),this.table.scenegraph.updateNextFrame()}updateResizeRow(t,e){!function(t,e,i){t=Math.ceil(t),e=Math.ceil(e);let r=i.rowResize.isBottomFrozen?i.rowResize.y-e:e-i.rowResize.y;if(Math.abs(r)<1)return;i.table.getRowHeight(i.rowResize.row);let o=i.table.getRowHeight(i.rowResize.row)+r;if(o<i.table.internalProps.limitMinHeight&&(o=i.table.internalProps.limitMinHeight,r=o-i.table.getRowHeight(i.rowResize.row)),"adaptive"===i.table.heightMode&&i.rowResize.row<i.table.rowCount-1){let t=i.table.getRowHeight(i.rowResize.row+1);t-=r,t-r<i.table.internalProps.limitMinHeight&&(r=t-i.table.internalProps.limitMinHeight)}r=Math.ceil(r),i.rowResize.row<i.table.columnHeaderLevelCount||i.rowResize.row>=i.table.rowCount-i.table.bottomFrozenRowCount?EP(r,i):"indicator"===i.table.internalProps.rowResizeType?function(t,e){const i=e.table.internalProps.layoutMap;let r,o,n;if(i.indicatorsAsCol){const t=i.getCellHeaderPaths(e.table.rowHeaderLevelCount-1,e.rowResize.row),r=t.rowHeaderPaths?.[t.rowHeaderPaths.length-1];o=r?.dimensionKey,n=r?.value}else r=i.getIndicatorKey(e.table.rowHeaderLevelCount,e.rowResize.row);for(let s=e.table.columnHeaderLevelCount;s<e.table.rowCount-e.table.bottomFrozenRowCount;s++){const a=i.getIndicatorKey(e.table.rowHeaderLevelCount,s);if(i.indicatorsAsCol||a!==r){if(i.indicatorsAsCol){const r=i.getCellHeaderPaths(e.table.rowHeaderLevelCount-1,s),a=r?.rowHeaderPaths?.[r.rowHeaderPaths.length-1];a&&o===a.dimensionKey&&n===a.value&&(e.table.scenegraph.updateRowHeight(s,t),e.table.internalProps._heightResizedRowMap.add(s))}}else e.table.scenegraph.updateRowHeight(s,t),e.table.internalProps._heightResizedRowMap.add(s)}}(r,i):"indicatorGroup"===i.table.internalProps.rowResizeType?function(t,e){const i=e.table.internalProps.layoutMap,r=i.getCellHeaderPaths(e.table.rowHeaderLevelCount,e.rowResize.row),o=i.getHeadNodeByRowOrColDimensions(r.rowHeaderPaths.slice(0,r.rowHeaderPaths.length-1)),n=o.startInTotal+e.table.frozenRowCount,s=o.startInTotal+e.table.frozenRowCount+o.size-1,a=e.table.getRowsHeight(n,s),l=t;for(let t=n;t<=s;t++){let i=e.table.getRowHeight(t)/a*l;i>0&&i<.5?i=.5:i<0&&i>=-.5&&(i=-.51),e.table.scenegraph.updateRowHeight(t,i),e.table.internalProps._heightResizedRowMap.add(t)}}(r,i):"all"===i.table.internalProps.rowResizeType?function(t,e){for(let i=e.table.frozenRowCount;i<e.table.rowCount-e.table.bottomFrozenRowCount;i++)e.table.scenegraph.updateRowHeight(i,t),e.table.internalProps._heightResizedRowMap.add(i)}(r,i):EP(r,i),i.rowResize.y=e,i.table.scenegraph.component.updateResizeRow(i.rowResize.row,t,i.rowResize.isBottomFrozen),i.table.scenegraph.updateNextFrame()}(t,e,this)}startFillSelect(t,e){this.fillHandle.isFilling=!0,this.fillHandle.startX=t,this.fillHandle.startY=e;const i=this.select.ranges[this.select.ranges.length-1];this.fillHandle.beforeFillMinCol=Math.min(i.start.col,i.end.col),this.fillHandle.beforeFillMinRow=Math.min(i.start.row,i.end.row),this.fillHandle.beforeFillMaxCol=Math.max(i.start.col,i.end.col),this.fillHandle.beforeFillMaxRow=Math.max(i.start.row,i.end.row),this.table.fireListeners(_v.MOUSEDOWN_FILL_HANDLE,{})}endFillSelect(){this.fillHandle.isFilling=!1,this.fillHandle.startX=void 0,this.fillHandle.startY=void 0,this.fillHandle.directionRow=void 0;const t=Math.min(this.select.ranges[0].start.col,this.select.ranges[0].end.col),e=Math.min(this.select.ranges[0].start.row,this.select.ranges[0].end.row),i=Math.max(this.select.ranges[0].start.col,this.select.ranges[0].end.col),r=Math.max(this.select.ranges[0].start.row,this.select.ranges[0].end.row);this.fillHandle.beforeFillMinCol===t&&this.fillHandle.beforeFillMinRow===e&&this.fillHandle.beforeFillMaxCol===i&&this.fillHandle.beforeFillMaxRow===r||this.table.eventManager.isDraging&&this.table.fireListeners(_v.DRAG_FILL_HANDLE_END,{direction:this.fillHandle.direction}),this.fillHandle.beforeFillMaxCol=void 0,this.fillHandle.beforeFillMaxRow=void 0,this.fillHandle.beforeFillMinCol=void 0,this.fillHandle.beforeFillMinRow=void 0}startMoveCol(t,e,i,r,o){!function(t,e,i,r,o,n){if(!("canMoveHeaderPosition"in o.table.internalProps.layoutMap))return;o.columnMove.moving=!0,o.columnMove.colSource=t,o.columnMove.rowSource=e,o.columnMove.x=i-o.table.tableX,o.columnMove.y=r-o.table.tableY;const s=o.table.getCellLocation(t,e),a="columnHeader"===s?o.columnMove.x:"rowHeader"===s||o.table.internalProps.layoutMap.isSeriesNumberInBody(t,e)?o.columnMove.y:0,{backX:l,lineX:h,backY:c,lineY:d}=o.table.scenegraph.component.showMoveCol(t,e,a);o.table.fireListeners(_v.CHANGE_HEADER_POSITION_START,{col:t,row:e,x:i,y:r,backX:l,lineX:h,backY:c,lineY:d,event:n});const u=!!o.select.ranges?.length;o.table.stateManager.updateSelectPos(-1,-1),o.table.stateManager.endSelectCells(!0,u),o.table.scenegraph.updateNextFrame()}(t,e,i,r,this,o)}updateMoveCol(t,e,i,r,o){!function(t,e,i,r,o,n){if(!("canMoveHeaderPosition"in o.table.internalProps.layoutMap))return;const s=function(t,e,i){const r=i.getCellRange(t.col,t.row);if(i.isColumnHeader(t.col,t.row)){const o=i.getCellRange(e.col,r.start.row);e.row>=i.columnHeaderLevelCount&&(e.row=i.columnHeaderLevelCount-1),e.col>=t.col?e.col=o.end.col:e.col=o.start.col}else if(i.isRowHeader(t.col,t.row)){const o=i.internalProps.layoutMap,n=i.getCellRange(r.start.col,e.row);if(e.col>=i.rowHeaderLevelCount+o.leftRowSeriesNumberColumnCount&&(e.col=i.rowHeaderLevelCount+o.leftRowSeriesNumberColumnCount-1),"tree"===o.rowHierarchyType){const r=o.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths,n=o.getCellHeaderPathsWithTreeNode(e.col,e.row).rowHeaderPaths;if(r.length<=n.length){const o=n[r.length-1];o&&(e.row>=t.row?e.row=o.startInTotal+o.size-1+i.columnHeaderLevelCount:e.row=o.startInTotal+i.columnHeaderLevelCount)}}else e.row>=t.row?e.row=n.end.row:e.row=n.start.row}return e}({col:o.columnMove.colSource,row:o.columnMove.rowSource},{col:t,row:e},o.table);if(o.table.internalProps.layoutMap.canMoveHeaderPosition({col:o.columnMove.colSource,row:o.columnMove.rowSource},{col:s.col,row:s.row})){let a,l,h,c;o.columnMove.x=i-o.table.tableX,o.columnMove.y=r-o.table.tableY,o.columnMove.colTarget=s.col,o.columnMove.rowTarget=s.row,o.updateCursor("grabbing");const d=o.table.getCellLocation(o.columnMove.colSource,o.columnMove.rowSource);"columnHeader"===d?(l=o.columnMove.x,a=o.table.isLeftFrozenColumn(t)?o.columnMove.colTarget>=o.columnMove.colSource?o.table.getColsWidth(0,o.columnMove.colTarget):o.table.getColsWidth(0,o.columnMove.colTarget-1):o.table.isRightFrozenColumn(t)?o.table.tableNoFrameWidth-o.table.getColsWidth(s.col+1,o.table.colCount-1):(o.columnMove.colTarget>=o.columnMove.colSource?o.table.getColsWidth(0,o.columnMove.colTarget):o.table.getColsWidth(0,o.columnMove.colTarget-1))-o.table.stateManager.scroll.horizontalBarPos):("rowHeader"===d||o.table.internalProps.layoutMap.isSeriesNumberInBody(t,e))&&(c=o.columnMove.y,h=o.table.isFrozenRow(e)?o.columnMove.rowTarget>=o.columnMove.rowSource?o.table.getRowsHeight(0,o.columnMove.rowTarget):o.table.getRowsHeight(0,o.columnMove.rowTarget-1):o.table.isBottomFrozenRow(e)?o.table.tableNoFrameHeight-o.table.getRowsHeight(s.row+1,o.table.rowCount-1):(o.columnMove.rowTarget>=o.columnMove.rowSource?o.table.getRowsHeight(0,o.columnMove.rowTarget):o.table.getRowsHeight(0,o.columnMove.rowTarget-1))-o.table.stateManager.scroll.verticalBarPos),o.table.scenegraph.component.updateMoveCol(l,a,c,h),o.table.fireListeners(_v.CHANGING_HEADER_POSITION,{col:t,row:e,x:i,y:r,backX:l,lineX:a,backY:c,lineY:h,event:n}),o.table.scenegraph.updateNextFrame()}else o.updateCursor("not-allowed"),o.columnMove.colTarget=o.columnMove.colSource,o.columnMove.rowTarget=o.columnMove.rowSource}(t,e,i,r,this,o)}isMoveCol(){return this.columnMove.moving}endMoveCol(){return function(t){let e=!1;if("canMoveHeaderPosition"in t.table.internalProps.layoutMap&&t.columnMove.moving&&t.columnMove.colSource>=0&&t.columnMove.rowSource>=0&&t.columnMove.colTarget>=0&&t.columnMove.rowTarget>=0&&!0!==t.table.options.customConfig?.notUpdateInColumnRowMove){const i=t.table.getCellRange(t.columnMove.colSource,t.columnMove.rowSource),r=t.table.getCellRange(t.columnMove.colTarget,t.columnMove.rowTarget),o=t.table._moveHeaderPosition({col:t.columnMove.colSource,row:t.columnMove.rowSource},{col:t.columnMove.colTarget,row:t.columnMove.rowTarget});if(!o||o.targetIndex===o.sourceIndex)return t.updateCursor(),t.columnMove.moving=!1,delete t.columnMove.colSource,delete t.columnMove.rowSource,delete t.columnMove.colTarget,delete t.columnMove.rowTarget,t.table.scenegraph.component.hideMoveCol(),t.table.scenegraph.updateNextFrame(),!1;{t.table.internalProps.useOneRowHeightFillAll=!1,t.table.internalProps.layoutMap.clearCellRangeMap();const n=t.table.getCellRange(t.columnMove.colSource,t.columnMove.rowSource),s=t.table.getCellRange(t.columnMove.colTarget,t.columnMove.rowTarget),a=Math.min(n.start.col,s.start.col,i.start.col,r.start.col),l=Math.max(n.end.col,s.end.col,i.end.col,r.end.col),h=Math.min(n.start.row,s.start.row,i.start.row,r.start.row);let c=Math.max(n.end.row,s.end.row,i.end.row,r.end.row);"row"===o.moveType&&"tree"===t.table.internalProps.layoutMap.rowHierarchyType&&(c=o.targetIndex>o.sourceIndex?c+o.targetSize-1:c+o.sourceSize-1),!t.table.transpose&&t.table.internalProps.layoutMap.isSeriesNumberInBody(t.columnMove.colSource,t.columnMove.rowSource)&&(t.table.changeRecordOrder(o.sourceIndex,o.targetIndex),t.changeCheckboxAndRadioOrder(o.sourceIndex,o.targetIndex)),"column"===o.moveType?MP(a,l,0,-1,t.table):MP(0,-1,h,c,t.table),t.table.clearCellStyleCache(),t.table.internalProps.layoutMap.isSeriesNumberInBody(t.columnMove.colSource,t.columnMove.rowSource)?t.table.scenegraph.updateHeaderPosition(t.table.scenegraph.proxy.colStart,t.table.scenegraph.proxy.colEnd,t.table.scenegraph.proxy.rowStart,t.table.scenegraph.proxy.rowEnd,o.moveType):"column"===o.moveType?t.table.scenegraph.updateHeaderPosition(a,l,0,-1,o.moveType):t.table.scenegraph.updateHeaderPosition(0,-1,h,c,o.moveType),"adjustFrozenCount"===t.table.internalProps.frozenColDragHeaderMode&&t.table.isListTable()&&(t.table.isLeftFrozenColumn(t.columnMove.colTarget)&&!t.table.isLeftFrozenColumn(t.columnMove.colSource)?t.table.frozenColCount+=n.end.col-n.start.col+1:t.table.isLeftFrozenColumn(t.columnMove.colSource)&&!t.table.isLeftFrozenColumn(t.columnMove.colTarget)&&(t.table.frozenColCount-=n.end.col-n.start.col+1),t.table.isRightFrozenColumn(t.columnMove.colTarget)&&!t.table.isRightFrozenColumn(t.columnMove.colSource)?t.table.rightFrozenColCount+=n.end.col-n.start.col+1:t.table.isRightFrozenColumn(t.columnMove.colSource)&&!t.table.isRightFrozenColumn(t.columnMove.colTarget)&&(t.table.rightFrozenColCount-=n.end.col-n.start.col+1)),e=!0}}return t.columnMove.moving=!1,setTimeout((()=>{delete t.columnMove.colSource,delete t.columnMove.rowSource,delete t.columnMove.colTarget,delete t.columnMove.rowTarget}),0),t.table.scenegraph.component.hideMoveCol(),t.columnResize.col<t.table.frozenColCount&&!t.table.isPivotTable()&&!t.table.transpose?(t.table.scenegraph.component.setFrozenColumnShadow(t.table.frozenColCount-1,t.columnResize.isRightFrozen),t.table.scenegraph.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount)):t.columnResize.col>=t.table.colCount-t.table.rightFrozenColCount&&!t.table.isPivotTable()&&!t.table.transpose?t.table.scenegraph.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount):t.table.options.frozenColCount?t.table.scenegraph.component.setFrozenColumnShadow(t.table.frozenColCount-1):t.table.options.rightFrozenColCount&&t.table.scenegraph.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount),t.table.scenegraph.updateNextFrame(),!0===t.table.options.customConfig?.notUpdateInColumnRowMove||e}(this)}checkFrozen(){let t=this.table.options.frozenColCount?this.table.options.frozenColCount:this.table.isPivotTable()||this.table.isListTable()&&this.table.internalProps.transpose?(this.table.rowHeaderLevelCount??0)+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount:0;if(t){t>this.table.colCount&&(t=this.table.colCount);const e=this.table._getMaxFrozenWidth();if(this.table.getColsWidth(0,t-1)>e)if(this.table.internalProps.unfreezeAllOnExceedsMaxWidth)this.table._setFrozenColCount(0),this.setFrozenCol(-1);else{const e=this.table._getComputedFrozenColCount(t);this.table._setFrozenColCount(e),this.setFrozenCol(e)}else this.table.frozenColCount!==t&&(this.table._setFrozenColCount(t),this.setFrozenCol(t))}}setFrozenCol(t){t!==this.frozen.col?(this.frozen.col=t,this.table.scenegraph.updateFrozen(),this.table.scenegraph.updateFrozenIcon(0,this.table.colCount-1)):this.table.scenegraph.updateFrozenIcon(0,this.table.colCount-1)}setFrozenRow(t){t!==this.frozen.row&&(this.frozen.row=t,this.table.scenegraph.updateRowFrozen())}checkVerticalScrollBarEnd(){const t=this.table.getAllRowsHeight(),e=this.scroll.verticalBarPos,i=this.table.tableNoFrameHeight;e+i>=t&&this.table.fireListeners(_v.SCROLL_VERTICAL_END,{scrollTop:e,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:i,viewWidth:this.table.tableNoFrameWidth})}checkHorizontalScrollBarEnd(){const t=this.table.getAllColsWidth(),e=this.scroll.horizontalBarPos,i=this.table.tableNoFrameWidth;e+i>=t&&this.table.fireListeners(_v.SCROLL_HORIZONTAL_END,{scrollTop:this.scroll.verticalBarPos,scrollLeft:e,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:i})}updateVerticalScrollBar(t){const e=this.table.getAllRowsHeight(),i=this.scroll.verticalBarPos;this.scroll.verticalBarPos=Math.ceil(t*(e-this.table.scenegraph.height)),J(this.scroll.verticalBarPos)&&!isNaN(this.scroll.verticalBarPos)||(this.scroll.verticalBarPos=0),this.table.scenegraph.setY(-this.scroll.verticalBarPos,1===t),this.scroll.verticalBarPos-=this.table.scenegraph.proxy.deltaY,this.table.scenegraph.proxy.deltaY=0,this.updateHoverPos(-1,-1),this.table.fireListeners(_v.SCROLL,{event:void 0,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"vertical",scrollRatioY:t}),i!==this.scroll.verticalBarPos&&this.checkVerticalScrollBarEnd()}updateHorizontalScrollBar(t){const e=this.table.getAllColsWidth(),i=this.scroll.horizontalBarPos;this.scroll.horizontalBarPos=Math.ceil(t*(e-this.table.scenegraph.width)),J(this.scroll.horizontalBarPos)&&!isNaN(this.scroll.horizontalBarPos)||(this.scroll.horizontalBarPos=0),this.table.scenegraph.setX(-this.scroll.horizontalBarPos,1===t),this.scroll.horizontalBarPos-=this.table.scenegraph.proxy.deltaX,this.table.scenegraph.proxy.deltaX=0,this.updateHoverPos(-1,-1),this.table.fireListeners(_v.SCROLL,{event:void 0,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:t}),i!==this.scroll.horizontalBarPos&&this.checkHorizontalScrollBarEnd()}setScrollTop(t,e,i=!0){const r=this.table.getAllRowsHeight(),o=this.table.options.customConfig?._disableColumnAndRowSizeRound?1:0;t=Math.max(0,Math.min(t,r-this.table.scenegraph.height-o)),((t=Math.ceil(t))!==this.scroll.verticalBarPos||this.table.isPivotChart())&&this.updateHoverPos(-1,-1);const n=this.scroll.verticalBarPos;this.scroll.verticalBarPos=t,J(this.scroll.verticalBarPos)&&!isNaN(this.scroll.verticalBarPos)||(this.scroll.verticalBarPos=0),this.table.scenegraph.setY(-t);const s=t/(r-this.table.scenegraph.height);this.table.scenegraph.component.updateVerticalScrollBarPos(s),n!==t&&i&&(this.table.fireListeners(_v.SCROLL,{event:e?.nativeEvent,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"vertical",scrollRatioY:s}),this.checkVerticalScrollBarEnd())}setScrollLeft(t,e,i=!0){this.table.scrollLeft;const r=this.table.getAllColsWidth();this.table.getFrozenColsWidth();const o=this.table.options.customConfig?._disableColumnAndRowSizeRound?1:0;t=Math.max(0,Math.min(t,r-this.table.scenegraph.width-o)),(t=Math.ceil(t))!==this.scroll.horizontalBarPos&&this.updateHoverPos(-1,-1);const n=this.scroll.horizontalBarPos;this.scroll.horizontalBarPos=t,J(this.scroll.horizontalBarPos)&&!isNaN(this.scroll.horizontalBarPos)||(this.scroll.horizontalBarPos=0),this.table.scenegraph.setX(-t);const s=t/(r-this.table.scenegraph.width);this.table.scenegraph.component.updateHorizontalScrollBarPos(s),n!==t&&i&&(this.table.fireListeners(_v.SCROLL,{event:e?.nativeEvent,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:s}),this.checkHorizontalScrollBarEnd())}hideVerticalScrollBar(){this.table.scenegraph.component.hideVerticalScrollBar()}showVerticalScrollBar(t){this.table.scenegraph.component.showVerticalScrollBar(),t&&(clearTimeout(this._clearVerticalScrollBar),this._clearVerticalScrollBar=setTimeout((()=>{this.table.scenegraph?.component.hideVerticalScrollBar()}),1e3))}hideHorizontalScrollBar(){this.table.scenegraph.component.hideHorizontalScrollBar()}showHorizontalScrollBar(t){this.table.scenegraph.component.showHorizontalScrollBar(),t&&(clearTimeout(this._clearHorizontalScrollBar),this._clearHorizontalScrollBar=setTimeout((()=>{this.table.scenegraph?.component.hideHorizontalScrollBar()}),1e3))}triggerContextMenu(t,e,i,r){this.menu.isShow&&this.menu.x===i&&this.menu.y===r?this.hideMenu():this.showContextMenu(t,e,i,r)}showContextMenu(t,e,i,r){this.table.internalProps.menu?.contextMenuItems&&("html"===this.table.internalProps.menu.renderMode?this.menu.isShow=!0:(this.menu.isShow=!0,this.menu.x=i,this.menu.y=r,this.table.scenegraph.component.menu.attach(i,r,t,e,NT.contextmenu)),this.table.fireListeners(_v.SHOW_MENU,{x:i,y:r,col:t,row:e,type:"contextmenu"}))}triggerDropDownMenu(t,e,i,r,o){this.table.fireListeners(_v.DROPDOWN_ICON_CLICK,{col:t,row:e,event:o}),this.menu.isShow?this.hideMenu():this.showDropDownMenu(t,e,i,r)}showDropDownMenu(t,e,i,r){"html"===this.table.internalProps.menu.renderMode?this.menu.isShow=!0:(this.menu.isShow=!0,this.table.scenegraph.component.menu.attach(i,r,t,e,NT.dropDown),this.menu.bounds=this.table.scenegraph.component.menu.bounds),this.table.fireListeners(_v.SHOW_MENU,{x:i,y:r,col:t,row:e,type:"dropDown"}),this.residentHoverIcon&&this.table.scenegraph.setIconNormalStyle(this.residentHoverIcon.icon,this.residentHoverIcon.col,this.residentHoverIcon.row);const o=this.table.scenegraph.getCell(t,e);let n;o.forEachChildren((t=>t.attribute.funcType===QC.dropDown&&(n=t,!0))),n&&(this.residentHoverIcon={col:t,row:e,icon:n},this.table.scenegraph.setIconHoverStyle(this.residentHoverIcon.icon,this.residentHoverIcon.col,this.residentHoverIcon.row,o),this.table.scenegraph.residentHoverIcon(t,e))}hideMenu(){this.menu.isShow&&(this.table.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),this.table.fireListeners(_v.HIDE_MENU,null),this.menu.isShow=!1,this.table.scenegraph.component.menu.detach(),this.residentHoverIcon&&(this.table.scenegraph.setIconNormalStyle(this.residentHoverIcon.icon,this.residentHoverIcon.col,this.residentHoverIcon.row),this.table.scenegraph.resetResidentHoverIcon(this.residentHoverIcon.col,this.residentHoverIcon.row),this.residentHoverIcon=null))}setDropDownMenuHighlight(t){this.menu.dropDownMenuHighlight=t;for(let e=0;e<t.length;e++){const{col:i,row:r}=t[e],o=this.table.getCellRange(i,r);if(o)for(let t=o.start.col;t<=o.end.col;t++)for(let e=o.start.row;e<=o.end.row;e++)this.table.scenegraph.updateCellContent(t,e)}}dropDownMenuIsHighlight(t,e,i){const r=this.menu.dropDownMenuHighlight;if(Array.isArray(r))for(let o=0;o<r.length;o++){const n=r[o];let{col:s,row:a}=n;const{field:l,menuKey:h}=n;if("number"!=typeof s||"number"!=typeof a)if(this.table.isPivotTable()&&(Array.isArray(l),1)){const t=this.table.internalProps.layoutMap.getPivotCellAdress(l);if(!t)continue;s=t.col,a=t.row}else{const t=this.table.internalProps.layoutMap.getHeaderCellAddressByField(l);if(!t)continue;s=t.col,a=t.row}if(J(s)&&J(a)&&this.table.isCellRangeEqual(t,e,s,a)){let r=this.table._getHeaderLayoutMap(s??t,a??e).dropDownMenu||this.table.globalDropDownMenu;if("function"==typeof r&&(r=r({row:a,col:s,table:this.table})),r)for(let t=0;t<r.length;t++){const e=r[t];if(Q(e)&&(e.menuKey||e.text)===(h||"")&&t===i)return!0;if(rt(e)&&e===h&&t===i)return!0}}}return!1}triggerSort(t,e,i,r){if(this.table.isPivotTable()){const i=this.table.getPivotSortState(t,e),o=i?i.toUpperCase():"NORMAL",n="ASC"===o?"DESC":"DESC"===o?"NORMAL":"ASC";return this.table.sort(t,e,n),void this.table.fireListeners(TP.PIVOT_SORT_CLICK,{col:t,row:e,order:o||"normal",dimensionInfo:this.table.internalProps.layoutMap.getPivotDimensionInfo(t,e),cellLocation:this.table.getCellLocation(t,e),event:r})}const o=[...this.sort],n=this.table.internalProps.multipleSort||!o.length?null:this.sort[this.sort.length-1];AP(t,e,this.table,r);const s=this.table.getCellRange(t,e),a=this.sort.find((t=>t.col===s.start.col&&t.row===s.start.row)),l=this.table.internalProps.multipleSort||!n?null:n.col,h=this.table.internalProps.multipleSort||!n?null:n.row,c=o.findIndex((i=>i.col===t&&i.row===e));c>=0&&o.splice(c,1),this.table.scenegraph.updateSortIcon({col:t,row:e,iconMark:i,order:a?.order,oldSortCol:l,oldSortRow:h,oldIconMark:n?.icon}),a&&(a.icon=i),this.table.internalProps.multipleSort||o.forEach((t=>{this.table.scenegraph.updateSortIcon({col:null,row:null,iconMark:null,order:"normal",oldSortCol:t.col,oldSortRow:t.row,oldIconMark:null})})),this.table.fireListeners(TP.AFTER_SORT,{order:a?.order,field:this.table.getHeaderField(t,e),event:r})}updateSortState(t){t=Array.isArray(t)?t:[t];for(let e=0;e<t.length;e++){if(t[e].field===this.sort[e]?.field&&t[t.length-1].order===this.sort[e]?.order)return;const i=this.table.internalProps.multipleSort?null:this.sort[e]?.col||null,r=this.table.internalProps.multipleSort?null:this.sort[e]?.row||null;"asc"===this.sort[e]?.order||this.sort[e]?.order,this.setSortState(t.slice(0,e+1));const o=this.table.internalProps.layoutMap.getHeaderCellAddressByField(t[e].field);this.sort[e].col=o.col,this.sort[e].row=o.row;let n;Zw(this.table.scenegraph.getCell(this.sort[e].col,this.sort[e].row),"children",(t=>"sort"===t.attribute.funcType&&(n=t,!0))),this.table.scenegraph.updateSortIcon({col:this.sort[e].col,row:this.sort[e].row,iconMark:n,order:this.sort[e].order,oldSortCol:i,oldSortRow:r,oldIconMark:this.sort[e]?.icon})}const e=[];this.table.internalProps.layoutMap.columnTree.tree.children.forEach((i=>{t.some((t=>t.field===i.field))||e.push(i)}));for(let t=0;t<e.length;t++){const i=e[t];this.table.scenegraph.updateSortIcon({col:null,row:null,iconMark:null,order:null,oldSortCol:i.startInTotal+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0,oldSortRow:i.level,oldIconMark:null})}}triggerFreeze(t,e,i){if(!this.table.isPivotTable()&&!this.table.transpose){if(function(t,e,i){i.frozenColCount>0?t!==i.frozenColCount-1?i.setFrozenColCount(t+1):i.setFrozenColCount(0):i.setFrozenColCount(t+1)}(t,0,this.table),this.table.hasListeners(TP.FREEZE_CLICK)){const i=this.table.internalProps.layoutMap.columnObjects.slice(0,t+1);this.table.fireListeners(TP.FREEZE_CLICK,{col:t,row:e,fields:i.reduce(((t,e)=>t.concat(e.field)),[]),colCount:this.table.frozenColCount})}this.frozen.icon=i}}updateCursor(t="default"){this.table.getElement().style.cursor=t}updateDrillState(t,e,i,r,o,n){this.drill.dimensionKey=t,this.drill.title=e,this.drill.drillDown=i,this.drill.drillUp=r,this.drill.col=o,this.drill.row=n,function(t,e,i,r,o){const n=o.getCellLocation(t,e);let s=0,a=0,l=!1;"columnHeader"===n?(s=o.getColsWidth(0,o.rowHeaderLevelCount-1)-(0===o.frozenColCount?o.scrollLeft:0),a=o.getRowsHeight(0,e-1)+o.getRowHeight(e)/2,l=!0):"rowHeader"===n&&(a=o.getRowsHeight(0,o.columnHeaderLevelCount-1),s=o.getColsWidth(0,t-1)+o.getColWidth(t)/2,l=!0),o.scenegraph.updateDrill(l,s,a,i,r)}(o,n,i,r,this.table)}updateSparklineHoverPose(t,e,i,r){-1!==this.sparkLine.col&&-1!==this.sparkLine.row&&function(t,e,i){const r=i.scenegraph.getCell(t,e).getChildByName("sparkline"),o=r?.getChildByName("highlight-line"),n=r?.getChildByName("highlight-symbol");o&&o.setAttributes({visible:!1,pickable:!1}),n&&n.setAttributes({visible:!1,pickable:!1}),i.scenegraph.updateNextFrame()}(this.sparkLine.col,this.sparkLine.row,this.table);let o=!1;-1!==t&&-1!==e&&(o=function(t,e,i,r,o){const n=o.scenegraph.getCell(t,e).getChildByName("sparkline"),s=n?.getChildByName("sparkline-line"),a=n?.getChildByName("sparkline-symbol-group");if(!s)return!1;const l=s.bandwidth,h=s.min,c=s.max,d=s.attribute.points;let u;i-=n.globalAABBBounds.x1,n.globalAABBBounds.y1;for(let t=0;t<d.length;t++){const{x:e,y:r,defined:o,rawData:g}=d[t];if(Math.abs(i-e)<l/2&&(u={point:d[t],points:d,pointsBandWidth:l,pointData:g},o)){const t=n.getChildByName("highlight-line");if(t)t.setAttributes({points:[{x:e,y:c},{x:e,y:h}],visible:!0,pickable:!0});else{const t=Yc({points:[{x:e,y:c},{x:e,y:h}],lineWidth:s.hover?.strokeWidth,stroke:s.hover?.stroke});t.name="highlight-line",n.addChild(t)}const i=n.getChildByName("highlight-symbol");if(i)i.setAttributes({x:e,y:r,visible:!0,pickable:!0});else{const t=Kc({x:e,y:r,stroke:a.hover.stroke,lineWidth:a.hover.strokeWidth,fill:a.hover.fill,size:2*a.hover.size,symbolType:"circle"});t.name="highlight-symbol",n.addChild(t)}break}}if(o.scenegraph.updateNextFrame(),u){const i={col:t,row:e,field:o.getHeaderField(t,e),value:o.getCellValue(t,e),dataValue:o.getCellOriginValue(t,e),cellHeaderPaths:o.internalProps.layoutMap.getCellHeaderPaths(t,e),title:o.getBodyColumnDefine(t,e).title,cellRange:o.getCellRelativeRect(t,e),sparkline:{pointData:u.pointData},scaleRatio:o.canvas.getBoundingClientRect().width/o.canvas.offsetWidth};o.fireListeners(_v.MOUSEOVER_CHART_SYMBOL,i)}return!0}(t,e,i,0,this.table)),o?(this.sparkLine.col=t,this.sparkLine.row=e):(this.sparkLine.col=-1,this.sparkLine.row=-1)}setCheckedState(t,e,i,r){return function(t,e,i,r,o){const n=o.table.getRecordShowIndexByCell(t,e);if(n>=0){const t=o.table.dataSource.getIndexKey(n).toString();o.checkedState.has(t)?o.checkedState.get(t)[i]=r:o.checkedState.set(t,{[i]:r})}}(t,e,i,r,this)}setHeaderCheckedState(t,e){return function(t,e,i){i.headerCheckedState[t]=e,i.checkedState?.forEach((i=>{i[t]=e}))}(t,e,this)}syncCheckedState(t,e,i,r){return function(t,e,i,r,o){if(o.table.isHeader(t,e)){if(J(o.headerCheckedState[i]))return o.headerCheckedState[i];if("function"==typeof r)return;if(J(r))o.headerCheckedState[i]=r;else if(o.checkedState?.size>0)return o.updateHeaderCheckedState(i,t,e);return o.headerCheckedState[i]}const n=o.table.getRecordShowIndexByCell(t,e);if(n>=0){const t=o.table.dataSource.getIndexKey(n).toString();if(J(o.checkedState.get(t)?.[i]))return o.checkedState.get(t)[i];o.checkedState.has(t)?o.checkedState.get(t)[i]=r:o.checkedState.set(t,{[i]:r})}return r}(t,e,i,r,this)}initCheckedState(t){return kP(t,this)}updateHeaderCheckedState(t,e,i){return function(t,e,i,r){let o=!0,n=!0,s=!1;return e.checkedState.forEach(((a,l)=>{l=l.includes(",")?l.split(",").map((t=>Number(t))):Number(l);const h=e.table.getTableIndexByRecordIndex(l),c=e.table.transpose?e.table.getCustomMerge(h,r):e.table.getCustomMerge(i,h),d=e.table.dataSource?.get(l);c||!e.table.internalProps.rowSeriesNumber?.enableTreeCheckbox&&d?.vtableMerge||(!0!==a?.[t]?o=!1:(n=!1,s=!0))})),o?(e.headerCheckedState[t]=!0,o):n?(e.headerCheckedState[t]=!1,!1):!!s&&(e.headerCheckedState[t]="indeterminate","indeterminate")}(t,this,e,i)}initLeftRecordsCheckState(t){return function(t,e){for(let i=e.checkedState.size;i<t.length;i++){const r=t[i];e._checkboxCellTypeFields.forEach((t=>{const o=r[t];let n;Q(o)?n=o.checked:"boolean"==typeof o&&(n=o);const s=i.toString();e.checkedState.get(s)||e.checkedState.set(s,{}),e.checkedState.get(s)[t]=n}))}}(t,this)}setRadioState(t,e,i,r,o){!function(t,e,i,r,o,n){const s=n.table.getRecordShowIndexByCell(t,e);if(s>=0){const t=n.table.dataSource.getIndexKey(s);"column"===r?at(o)?(n.radioState[i]={},n.radioState[i][t]=o):n.radioState[i]=t:(n.radioState[i]||(n.radioState[i]={}),at(o)?n.radioState[i][t]=o:n.radioState[i][t]=!0)}}(t,e,i,r,o,this)}syncRadioState(t,e,i,r,o,n){return function(t,e,i,r,o,n,s){const a=s.table.getRecordShowIndexByCell(t,e);if(a>=0){const t=s.table.dataSource.getIndexKey(a);if("column"===r){if(!J(s.radioState[i])&&n)return at(o)?(s.radioState[i]={},s.radioState[i][t]=o):s.radioState[i]=t,!0;if(at(s.radioState[i])&&!at(o))return s.radioState[i]===t;if(at(s.radioState[i])&&at(o))return!1;if(Q(s.radioState[i])&&!at(o))return!1;if(Q(s.radioState[i])&&at(o))return s.radioState[i][t]===o}else if("cell"===r){if(!J(s.radioState[i])&&n)return s.radioState[i]={},at(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(!J(s.radioState[i]?.[t])&&n)return at(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(Y(s.radioState[i]?.[t])&&!at(o))return s.radioState[i][t];if(Y(s.radioState[i]?.[t])&&at(o))return!1;if(at(s.radioState[i]?.[t])&&!at(o))return!1;if(at(s.radioState[i]?.[t])&&at(o))return s.radioState[i][t]===o}}return n}(t,e,i,r,o,n,this)}changeCheckboxAndRadioOrder(t,e){this.checkedState.size&&function(t,e,i){const{checkedState:r,table:o}=i;let n,s;if(o.internalProps.transpose?(t=o.getRecordShowIndexByCell(t,0),e=o.getRecordShowIndexByCell(e,0)):(n=o.isPivotTable()?void 0:o.getRecordIndexByCell(0,t),s=o.isPivotTable()?void 0:o.getRecordIndexByCell(0,e)),at(n)&&at(s)){if(t>e){const i=r.get(t.toString());for(let i=t;i>e;i--)r.set(i.toString(),r.get((i-1).toString()));r.set(e.toString(),i)}else if(t<e){const i=r.get(t.toString());for(let i=t;i<e;i++)r.set(i.toString(),r.get((i+1).toString()));r.set(e.toString(),i)}}else if(ot(n)&&ot(s))if((t=n[n.length-1])>(e=s[s.length-1])){const i=r.get(n.toString());for(let i=t;i>e;i--){const t=[...n];t[t.length-1]=i;const e=[...n];e[e.length-1]=i-1,r.set(t.toString(),r.get(e.toString()))}r.set(s.toString(),i)}else if(t<e){const i=r.get(n.toString());for(let i=t;i<e;i++){const t=[...n];t[t.length-1]=i;const e=[...n];e[e.length-1]=i+1,r.set(t.toString(),r.get(e.toString()))}r.set(s.toString(),i)}}(t,e,this),this.radioState.length&&function(t,e,i){const{radioState:r,table:o}=i;if(o.internalProps.transpose?(t=o.getRecordShowIndexByCell(t,0),e=o.getRecordShowIndexByCell(e,0)):(t=o.getRecordShowIndexByCell(0,t),e=o.getRecordShowIndexByCell(0,e)),t>e){const i=r[t];for(let i=t;i>e;i--)r[i]=r[i-1];r[e]=i}else if(t<e){const i=r[t];for(let i=t;i<e;i++)r[i]=r[i+1];r[e]=i}}(t,e,this)}setCustomSelectRanges(t){!function(t){const{customSelectedRangeComponents:e}=t.table.scenegraph;e.forEach(((t,e)=>{t.rect.delete()})),e.clear(),t.select.customSelectRanges=[]}(this),function(t,e){const{customSelectedRangeComponents:i}=e.table.scenegraph;t.forEach((t=>{const{range:e,style:r}=t,o=Jc({fill:r.cellBgColor??!1,stroke:r.cellBorderColor??!1,lineWidth:r.cellBorderLineWidth??0,lineDash:r.cellBorderLineDash??[],pickable:!1});i.set(`${e.start.col}-${e.start.row}-${e.end.col}-${e.end.row}`,{rect:o,role:"body"})})),e.select.customSelectRanges=t,PM(e.table.scenegraph),e.table.scenegraph.updateNextFrame()}(t,this)}}function IP(t){if(t.eventManager.bindSparklineHoverEvent)return;let e=!1;if(t.isPivotTable()){e=t.internalProps.layoutMap.indicatorsDefine.some((t=>"string"!=typeof t&&"sparkline"===t.cellType))}else{e=t.internalProps.layoutMap.columnObjects.some((t=>"sparkline"===t.cellType||"function"==typeof t.cellType))}e&&(t.eventManager.bindSparklineHoverEvent=!0,t.on(_v.MOUSEMOVE_CELL,(e=>{const{col:i,row:r,x:o,y:n}=e;"sparkline"!==t.getBodyColumnType(i,r)&&t.stateManager.updateSparklineHoverPose(-1,-1,0,0),t.stateManager.updateSparklineHoverPose(i,r,o,n)})),t.on(_v.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateSparklineHoverPose(-1,-1,0,0)})))}function zP(t,e,i=!0){let{deltaX:r,deltaY:o}=t;t.shiftKey&&t.deltaY&&(r=o,o=0);const[n,s]=function(t,e,i){const r=2,o=Math.abs(t/e),n=o<=1/r?0:t,s=o>r?0:e;return[Math.ceil(n*(i.horizontal??0)),Math.ceil(s*(i.vertical??0))]}(r,o,{horizontal:1,vertical:1});(n||s)&&e.interactionState!==UC.scrolling&&e.updateInteractionState(UC.scrolling),n&&(e.setScrollLeft(e.scroll.horizontalBarPos+n,t),e.showHorizontalScrollBar(!0)),s&&(e.setScrollTop(e.scroll.verticalBarPos+s,t),e.showVerticalScrollBar(!0)),i&&e.resetInteractionState(e.interactionStateBeforeScroll),t.nativeEvent?.cancelable&&("none"===e.table.internalProps.overscrollBehavior||Math.abs(o)>=Math.abs(r)&&0!==o&&OP(o,e)||Math.abs(o)<=Math.abs(r)&&0!==r&&DP(r,e))&&t.nativeEvent.preventDefault()}function OP(t,e){return 0!=e.table.getAllRowsHeight()-e.table.scenegraph.height&&(!function(t,e){const i=e.table.getAllRowsHeight()-e.table.scenegraph.height;return 0!==i&&t<=0&&e.scroll.verticalBarPos<1}(t,e)&&!function(t,e){const i=e.table.options.customConfig?._disableColumnAndRowSizeRound?1:0,r=e.table.getAllRowsHeight()-e.table.scenegraph.height;return 0!==r&&t>=0&&Math.abs(e.scroll.verticalBarPos-r)<1+i}(t,e))}function DP(t,e){return 0!=e.table.getAllColsWidth()-e.table.scenegraph.width&&(!function(t,e){const i=e.table.getAllColsWidth()-e.table.scenegraph.width;return 0!==i&&t<=0&&e.scroll.horizontalBarPos<1}(t,e)&&!function(t,e){const i=e.table.options.customConfig?._disableColumnAndRowSizeRound?1:0,r=e.table.getAllColsWidth()-e.table.scenegraph.width;return 0!==r&&t>=0&&Math.abs(e.scroll.horizontalBarPos-r)<1+i}(t,e))}class WP{friction;lastTime;speedX;speedY;stateManager;runingId;scrollHandle;constructor(t){this.stateManager=t}setScrollHandle(t){this.scrollHandle=t}startInertia(t,e,i){this.lastTime=Date.now(),this.speedX=t,this.speedY=e,this.friction=i,this.runingId||(this.runingId=requestAnimationFrame(this.inertia.bind(this)))}inertia(){const t=Date.now(),e=t-this.lastTime;let i=!0;const r=Math.pow(this.friction,e/16),o=r*this.speedX,n=r*this.speedY;let s=0,a=0;Math.abs(o)>.05&&(i=!1,s=(this.speedX+o)/2*e),Math.abs(n)>.05&&(i=!1,a=(this.speedY+n)/2*e),this.scrollHandle?.(s,a),i?this.runingId=null:(this.lastTime=t,this.speedX=o,this.speedY=n,this.runingId=requestAnimationFrame(this.inertia.bind(this)))}endInertia(){cancelAnimationFrame(this.runingId),this.runingId=null}isInertiaScrolling(){return!!this.runingId}}function NP(t,e,i){e&&-1!==t.stateManager.columnMove?.colSource&&-1!==t.stateManager.columnMove?.rowSource&&-1!==t.stateManager.columnMove?.colTarget&&-1!==t.stateManager.columnMove?.rowTarget?t.hasListeners(_v.CHANGE_HEADER_POSITION)&&t.fireListeners(_v.CHANGE_HEADER_POSITION,{target:{col:t.stateManager.columnMove.colTarget,row:t.stateManager.columnMove.rowTarget},source:{col:t.stateManager.columnMove.colSource,row:t.stateManager.columnMove.rowSource},event:i}):e||t.hasListeners(_v.CHANGE_HEADER_POSITION_FAIL)&&t.fireListeners(_v.CHANGE_HEADER_POSITION_FAIL,{target:{col:t.stateManager.columnMove.colTarget,row:t.stateManager.columnMove.rowTarget},source:{col:t.stateManager.columnMove.colSource,row:t.stateManager.columnMove.rowSource},event:i})}function GP(t){const e=t.table,i=e.stateManager;e.scenegraph.tableGroup.addEventListener("pointermove",(r=>{const o=e.eventManager.LastPointerXY?.x??r.x,n=e.eventManager.LastPointerXY?.y??r.y;e.eventManager.LastPointerXY={x:r.x,y:r.y},t.touchSetTimeout&&(clearTimeout(t.touchSetTimeout),t.touchSetTimeout=void 0);const s=UA(r);if(s.eventArgs&&e.hasListeners(_v.MOUSEMOVE_TABLE)&&e.fireListeners(_v.MOUSEMOVE_TABLE,{col:s.eventArgs.col,row:s.eventArgs.row,x:s.abstractPos.x,y:s.abstractPos.y,event:r.nativeEvent,target:s?.eventArgs?.target,mergeCellInfo:s.eventArgs?.mergeInfo}),i.interactionState===UC.grabing&&!e.editorManager?.editingEditor)return void(Math.abs(o-r.x)+Math.abs(n-r.y)>=1&&(i.isResizeCol()||i.isResizeRow()||(i.isMoveCol()?t.dealColumnMover(s):i.isFillHandle()?t.dealFillSelect(s,!0):e.options.select?.disableDragSelect||t.dealTableSelect(s,!0))));!e.options.select?.disableDragSelect&&e.eventManager.isDraging&&i.isSelecting()&&!e.editorManager?.editingEditor&&t.dealTableSelect(s,!0);const a=r.path.find((t=>"cell"===t.role));if(e.hasListeners(_v.MOUSELEAVE_CELL)&&(-1===e.stateManager.hover.cellPos.col||-1===e.stateManager.hover.cellPos.row||a?.col===e.stateManager.hover.cellPos.col&&a?.row===e.stateManager.hover.cellPos.row||e.fireListeners(_v.MOUSELEAVE_CELL,{col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row,cellRange:e.getCellRangeRelativeRect({col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:s?.eventArgs?.target})),e.hasListeners(_v.MOUSEENTER_CELL)&&("cell"!==a?.role||!J(a.col)||!J(a.row)||a.col===e.stateManager.hover.cellPos.col&&a.row===e.stateManager.hover.cellPos.row||a.col===e.stateManager.hover.cellPosContainHeader?.col&&a.row===e.stateManager.hover.cellPosContainHeader?.row||e.fireListeners(_v.MOUSEENTER_CELL,{col:a.col,row:a.row,cellRange:e.getCellRangeRelativeRect({col:a.col,row:a.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:s?.eventArgs?.target,mergeCellInfo:s.eventArgs?.mergeInfo})),t.dealIconHover(s),t.dealTableHover(s),e.theme.columnResize.visibleOnHover&&t.checkColumnResize(s,!0),s.eventArgs&&e.hasListeners(_v.MOUSEMOVE_CELL)){let t,i;if(s.eventArgs?.target){const e=PP(s.eventArgs?.target);e&&(t=e.icon,i=e.position)}e.fireListeners(_v.MOUSEMOVE_CELL,{col:s.eventArgs.col,row:s.eventArgs.row,x:s.abstractPos.x,y:s.abstractPos.y,event:r.nativeEvent,targetIcon:t?{name:t.name,position:i,funcType:t.attribute.funcType}:void 0,target:s?.eventArgs?.target,mergeCellInfo:s.eventArgs?.mergeInfo})}})),e.scenegraph.tableGroup.addEventListener("pointerout",(e=>{const i=UA(e),r=i?.eventArgs?.target;"table"===r?.role&&t.dealTableHover()})),e.scenegraph.tableGroup.addEventListener("pointerover",(t=>{const i=UA(t),r=i?.eventArgs?.target;if(r&&e.hasListeners(_v.MOUSEOVER_CHART_SYMBOL)&&"symbol"===r.type){const r=t.composedPath().find((t=>"cell"===t.roll));if(r){const{col:o,row:n}=r,s={col:o,row:n,field:e.getHeaderField(o,n),value:e.getCellValue(o,n),dataValue:e.getCellOriginValue(o,n),cellHeaderPaths:e.internalProps.layoutMap.getCellHeaderPaths(o,n),title:e.getBodyColumnDefine(o,n).title,cellRange:e.getCellRelativeRect(o,n),event:t.nativeEvent,sparkline:{pointData:void 0},scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:i?.eventArgs?.target};e.fireListeners(_v.MOUSEOVER_CHART_SYMBOL,s)}}})),e.scenegraph.tableGroup.addEventListener("pointerenter",(t=>{(e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.horizontalVisible||!e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.showHorizontalScrollBar(),(e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.verticalVisible||!e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.showVerticalScrollBar(),e.hasListeners(_v.MOUSEENTER_TABLE)&&e.fireListeners(_v.MOUSEENTER_TABLE,{event:t.nativeEvent})})),e.scenegraph.tableGroup.addEventListener("pointerleave",(r=>{i.isResizeCol()||i.isResizeRow()||i.isMoveCol()||i.isSelecting()||(i.updateInteractionState(UC.default),i.updateCursor()),(e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.horizontalVisible||!e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.hideHorizontalScrollBar(),(e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.verticalVisible||!e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.hideVerticalScrollBar(),e.hasListeners(_v.MOUSELEAVE_CELL)&&-1!==e.stateManager.hover.cellPos.col&&-1!==e.stateManager.hover.cellPos.row&&e.fireListeners(_v.MOUSELEAVE_CELL,{col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row,cellRange:e.getCellRangeRelativeRect({col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:void 0}),t.dealTableHover();const o=r.target;o&&!o.isDescendantsOf(e.scenegraph.tableGroup)&&e.fireListeners(_v.MOUSELEAVE_TABLE,{event:r.nativeEvent})}));const r=r=>{const o=r.target;if(!e.getElement().contains(o)){const o=e.editorManager?.completeEdit(r);uv(o,(e=>{!1!==e&&(i.updateInteractionState(UC.default),t.dealTableHover())}))}},o=r=>{const o=r.target;if(!e.getElement().contains(o)&&!e.internalProps.menuHandler.containElement(o)){const o=e.editorManager?.completeEdit(r);uv(o,(r=>{if(!1!==r&&e.options.select?.outsideClickDeselect){const e=!!i.select.ranges?.length;t.dealTableSelect(),i.endSelectCells(!0,e)}}))}};t.globalEventListeners.push({name:"pointerup",env:"document",callback:r}),t.globalEventListeners.push({name:"pointerdown",env:"document",callback:o}),lu.addEventListener("pointerup",r),lu.addEventListener("pointerdown",o),e.scenegraph.tableGroup.addEventListener("pointerdown",(r=>{e.hasListeners(_v.MOUSEDOWN_TABLE)&&e.fireListeners(_v.MOUSEDOWN_TABLE,{event:r.nativeEvent}),e.eventManager.isDown=!0,e.eventManager.LastBodyPointerXY={x:r.x,y:r.y},e.eventManager.LastPointerXY={x:r.x,y:r.y};const o=UA(r);if(t.downIcon=void 0,i.interactionState!==UC.default)return;if(e.isPivotChart()&&"chart"!==o?.eventArgs?.target.type&&e.scenegraph.updateChartState(null),o.eventArgs?.target!==i.residentHoverIcon?.icon&&i.hideMenu(),"chart"===o?.eventArgs?.target.type)return;const n=e.editorManager?.completeEdit(r.nativeEvent);uv(n,(n=>{if(!1===n)return;const s=o?.eventArgs?.target?.role?.startsWith("icon")?o.eventArgs.target:r.target.role?.startsWith("icon")?r.target:void 0;if(t.downIcon=s,s&&!1!==s.attribute.interactive)s.attribute.funcType===QC.dragReorder&&(i.startMoveCol(o.eventArgs.col,o.eventArgs.row,o.abstractPos.x,o.abstractPos.y,o.eventArgs?.event?.nativeEvent),i.updateInteractionState(UC.grabing));else{if(t.cellIsHeaderCheck(o))return;if("touch"===r.pointerType){if(t.touchEnd=!1,t.touchSetTimeout=setTimeout((()=>{t.isTouchdown=!1,t.touchMove=!0,(t.touchEnd||!t.checkColumnResize(o,!0)&&!t.checkRowResize(o,!0))&&(t.touchEnd||!t.checkColumnMover(o))?t.dealTableSelect(o)&&!t.touchEnd&&i.updateInteractionState(UC.grabing):i.updateInteractionState(UC.grabing)}),500),e.hasListeners(_v.MOUSEENTER_CELL)){const t=r.path.find((t=>"cell"===t.role));"cell"!==t?.role||!J(t.col)||!J(t.row)||t.col===e.stateManager.hover.cellPos.col&&t.row===e.stateManager.hover.cellPos.row||t.col===e.stateManager.hover.cellPosContainHeader?.col&&t.row===e.stateManager.hover.cellPosContainHeader?.row||e.fireListeners(_v.MOUSEENTER_CELL,{col:t.col,row:t.row,cellRange:e.getCellRangeRelativeRect({col:t.col,row:t.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:o?.eventArgs?.target,mergeCellInfo:o.eventArgs?.mergeInfo})}t.dealTableHover(o)}else{if(!t.checkCellFillhandle(o)&&(t.checkColumnResize(o,!0)||t.checkRowResize(o,!0)))return e.scenegraph.updateChartState(null),void i.updateInteractionState(UC.grabing);if(t.checkColumnMover(o))return void i.updateInteractionState(UC.grabing);if(t.checkCellFillhandle(o,!0)&&t.dealFillSelect(o))return void i.updateInteractionState(UC.grabing);t.dealTableSelect(o)&&i.updateInteractionState(UC.grabing)}}if(e.hasListeners(_v.MOUSEDOWN_CELL)){const t=UA(r);t.eventArgs&&e.fireListeners(_v.MOUSEDOWN_CELL,{col:t.eventArgs.col,row:t.eventArgs.row,event:r.nativeEvent,target:t?.eventArgs?.target,mergeCellInfo:t.eventArgs.mergeInfo})}}))})),e.scenegraph.tableGroup.addEventListener("pointerup",(t=>{if(0===t.button){if("grabing"===i.interactionState){if(i.updateInteractionState(UC.default),i.isResizeCol())jP(e);else if(i.isResizeRow())UP(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();NP(e,i,t.nativeEvent)}else if(i.isSelecting()){e.stateManager.endSelectCells(),e.stateManager.isFillHandle()&&e.stateManager.endFillSelect();const i=UA(t);if(e.eventManager.isDraging&&i.eventArgs&&e.hasListeners(_v.DRAG_SELECT_END)){const r={event:t.nativeEvent,cells:[],col:i.eventArgs.target.col,row:i.eventArgs.target.row,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:i?.eventArgs?.target,mergeCellInfo:i.eventArgs?.mergeInfo};r.cells=e.getSelectedCellInfos(),e.fireListeners(_v.DRAG_SELECT_END,r)}}}else i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default);if(e.hasListeners(_v.MOUSEUP_CELL)){const i=UA(t);i.eventArgs&&e.fireListeners(_v.MOUSEUP_CELL,{col:i.eventArgs.col,row:i.eventArgs.row,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i.eventArgs?.mergeInfo})}}})),e.scenegraph.tableGroup.addEventListener("rightdown",(t=>{const r=UA(t);if(r.eventArgs){i.triggerContextMenu(r.eventArgs.col,r.eventArgs.row,r.abstractPos.x,r.abstractPos.y);const{col:o,row:n}=r.eventArgs;if(e.hasListeners(_v.CONTEXTMENU_CELL)){const i=e.getCellInfo(o,n);let s,a;if(r.eventArgs?.target){const t=PP(r.eventArgs?.target);t&&(s=t.icon,a=t.position)}const l={...i,event:t.nativeEvent,cells:[],targetIcon:s?{name:s.name,position:a,funcType:s.attribute.funcType}:void 0,target:r?.eventArgs?.target,mergeCellInfo:r.eventArgs?.mergeInfo};!function(t,e,i){for(let r=0;r<t.length;r++){const o=t[r],n=Math.min(o.start.col,o.end.col),s=Math.max(o.start.col,o.end.col),a=Math.min(o.start.row,o.end.row),l=Math.max(o.start.row,o.end.row);if(n<=e&&e<=s&&a<=i&&i<=l||s<=e&&e<=n&&l<=i&&i<=a)return!0}return!1}(e.stateManager.select.ranges,o,n)?l.cells=[[i]]:l.cells=e.getSelectedCellInfos(),e.fireListeners(_v.CONTEXTMENU_CELL,l)}}})),e.scenegraph.tableGroup.addEventListener("pointertap",(r=>{if(e.stateManager.columnResize.resizing)return;const o=UA(r);if(!t.touchMove&&0===r.button&&o.eventArgs&&e.hasListeners(_v.CLICK_CELL)){const{col:t,row:i}=o.eventArgs,n=e.getCellInfo(t,i);let s,a;if(o.eventArgs?.target){const t=PP(o.eventArgs?.target);t&&(s=t.icon,a=t.position)}const l={...n,event:r.nativeEvent,federatedEvent:r,cells:[],targetIcon:s?{name:s.name,position:a,funcType:s.attribute.funcType}:void 0,target:o?.eventArgs?.target,mergeCellInfo:o.eventArgs?.mergeInfo};e.fireListeners(_v.CLICK_CELL,l)}if(!e.stateManager.columnResize.resizing&&!e.stateManager.columnMove.moving&&(t.dealIconClick(r,o),o?.eventArgs&&t.touchSetTimeout&&"touch"===r.pointerType)){const e=UA(r);if(t.touchSetTimeout){clearTimeout(t.touchSetTimeout);const r=!!i.select.ranges?.length;t.dealTableSelect(e),i.endSelectCells(!0,r),t.touchSetTimeout=void 0}}})),e.scenegraph.stage.addEventListener("pointerdown",(r=>{const o=UA(r);o.eventArgs?.target&&o.eventArgs?.target===i.residentHoverIcon?.icon||i.hideMenu();const n=e.editorManager?.completeEdit(r.nativeEvent);uv(n,(n=>{if(!1===n)return;const s=r.target.role?.startsWith("icon")?r.target:void 0;if(t.downIcon=s,s||t.checkCellFillhandle(o)||i.columnResize.resizing||!t.checkColumnResize(o,!0));else{e.scenegraph.updateChartState(null),i.updateInteractionState(UC.grabing);const{eventArgs:t}=o;if(!t?.targetCell){e.getCellAt(o.abstractPos.x-e.theme.columnResize.resizeHotSpotSize/2,o.abstractPos.y)&&e.hasListeners(_v.MOUSEDOWN_TABLE)&&e.fireListeners(_v.MOUSEDOWN_TABLE,{event:r.nativeEvent})}}}))})),e.scenegraph.stage.addEventListener("pointerup",(t=>{"grabing"===i.interactionState&&(i.updateInteractionState(UC.default),i.isResizeCol()?jP(e):i.isResizeRow()&&UP(e))})),e.scenegraph.stage.addEventListener("pointertap",(r=>{const o=r.target;if(e.eventManager.isDraging||!o||!o.isDescendantsOf(e.scenegraph.stage)&&o.stage!==o||o.isDescendantsOf(e.scenegraph.tableGroup))e.eventManager.isDraging&&i.isSelecting()&&i.endSelectCells();else{i.updateInteractionState(UC.default),t.dealTableHover();const r=!!i.select.ranges?.length;(e.options.select?.blankAreaClickDeselect??1)&&t.dealTableSelect(),i.endSelectCells(!0,r),i.updateCursor(),e.scenegraph.updateChartState(null)}})),e.scenegraph.stage.addEventListener("pointermove",(r=>{const o=UA(r);i.isResizeCol()||t.checkColumnResize(o)?e.stateManager.select&&t.checkCellFillhandle(o)?i.updateCursor("crosshair"):i.updateCursor("col-resize"):i.isResizeRow()||t.checkRowResize(o)?e.stateManager.select&&t.checkCellFillhandle(o)?i.updateCursor("crosshair"):i.updateCursor("row-resize"):i.isMoveCol()||i.updateCursor()})),e.scenegraph.tableGroup.addEventListener("checkbox_state_change",(t=>{const i=UA(t),{col:r,row:o}=i.eventArgs,n=e.getCellInfo(r,o),s=nx(e,r,o);if(s)for(let i=s.start.col;i<=s.end.col;i++)for(let r=s.start.row;r<=s.end.row;r++){e.scenegraph.getCell(i,r).forEachChildren((e=>{"checkbox"===e.name&&e.setAttributes({checked:t.target.attribute.checked,indeterminate:t.target.attribute.indeterminate})}))}const a={...n,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo,checked:t.detail.checked};if(e.isHeader(r,o)){e.stateManager.setHeaderCheckedState(n.field,t.detail.checked);"checkbox"===e.getCellType(r,o)&&e.scenegraph.updateCheckboxCellState(r,o,t.detail.checked)}else{e.stateManager.setCheckedState(r,o,n.field,t.detail.checked);if("checkbox"===e.getCellType(r,o)){const t=e.stateManager.headerCheckedState[n.field],i=e.stateManager.updateHeaderCheckedState(n.field,r,o);t!==i&&e.scenegraph.updateHeaderCheckboxCellState(r,o,i)}}e.fireListeners(_v.CHECKBOX_STATE_CHANGE,a),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("radio_checked",(t=>{const i=UA(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=XA.exec(n.id)?.[1],l=nx(e,r,o);if(l)for(let t=l.start.col;t<=l.end.col;t++)for(let i=l.start.row;i<=l.end.row;i++){e.scenegraph.getCell(t,i).forEachChildren((t=>{"radio"===t.name&&t.id===n.id&&t.setAttributes({checked:!0})}))}const h=e.getBodyColumnDefine(r,o).radioCheckType||"column";if("cell"===h)if(l)for(let t=l.start.col;t<=l.end.col;t++)for(let i=l.start.row;i<=l.end.row;i++){e.scenegraph.getCell(t,i).forEachChildren((t=>{"radio"===t.name&&t.id!==n.id&&t.setAttributes({checked:!1})}))}else{e.scenegraph.getCell(r,o).forEachChildren((t=>{"radio"===t.name&&t.id!==n.id&&t.setAttributes({checked:!1})}))}else if("column"===h){e.scenegraph.getColGroup(r).forEachChildren((t=>{t.forEachChildren((t=>{"radio"===t.name&&t.id!==n.id&&t.setAttributes({checked:!1})}))}))}const c=a?Number(a):void 0;e.stateManager.setRadioState(r,o,s.field,h,c);const d={...s,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo,radioIndexInCell:c};e.fireListeners(_v.RADIO_STATE_CHANGE,d),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("switch_state_change",(t=>{const i=UA(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=nx(e,r,o);if(a)for(let i=a.start.col;i<=a.end.col;i++)for(let r=a.start.row;r<=a.end.row;r++){e.scenegraph.getCell(i,r).forEachChildren((e=>{"switch"===e.name&&e.setAttributes({checked:t.target.attribute.checked})}))}const l={...s,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo,checked:t.detail.checked};e.stateManager.setCheckedState(r,o,s.field,t.detail.checked),e.fireListeners(_v.SWITCH_STATE_CHANGE,l),e.scenegraph.updateNextFrame()})),e.scenegraph.stage.addEventListener("wheel",(t=>{t.path.find((t=>"legend"===t.name))||(e.editorManager?.completeEdit(),e.eventManager._enableTableScroll&&zP(t,i))}))}function VP(t){const e=t.table;t.gesture=new Og(e.scenegraph.tableGroup,{tap:{interval:300}}),t.gesture.on("doubletap",(t=>{!function(t,e){const i=UA(t);let r=-1,o=-1;i.eventArgs&&(r=i.eventArgs.col,o=i.eventArgs.row);const n=e.getCellValue(r,o),s=i.eventArgs?.targetCell?.globalAABBBounds;if(s&&e.internalProps.focusControl.setFocusRect(new Hv(s.x1+e.scrollLeft,s.y1+e.scrollTop,s.x2-s.x1,s.y2-s.y1),n),e.hasListeners(_v.DBLCLICK_CELL)){const n=e.getCellInfo(r,o);let s,a;if(i.eventArgs?.target){const t=PP(i.eventArgs?.target);t&&(s=t.icon,a=t.position)}const l={...n,event:t.nativeEvent,federatedEvent:t,cells:[],targetIcon:s?{name:s.name,position:a,funcType:s.attribute.funcType}:void 0,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo};e.fireListeners(_v.DBLCLICK_CELL,l)}}(t,e)}))}function jP(t){t.stateManager.endResizeCol();const e=[];for(let i=0;i<t.colCount;i++)e.push(t.getColWidth(i));t.fireListeners(_v.RESIZE_COLUMN_END,{col:t.stateManager.columnResize.col,colWidths:e})}function UP(t){t.stateManager.endResizeRow(),t.fireListeners(_v.RESIZE_ROW_END,{row:t.stateManager.rowResize.row,rowHeight:t.getRowHeight(t.stateManager.rowResize.row)})}let KP,$P=1;function XP(){return Jw?$P=1:($P=Math.ceil(window.devicePixelRatio||1),$P>1&&$P%2!=0&&($P+=1)),$P}function YP(t){const e=t.table,i=e.stateManager,r=e.internalProps.handler;function o(t){if(e.hasListeners(_v.KEYDOWN)){const i={keyCode:t.keyCode??t.which,code:t.code,event:t,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth};e.fireListeners(_v.KEYDOWN,i)}}r.on(e.getElement(),"blur",(e=>{t.dealTableHover()})),r.on(e.getElement(),"keydown",(r=>{if("a"===r.key&&(r.ctrlKey||r.metaKey))e.keyboardOptions?.selectAllOnCtrlA&&(r.preventDefault(),t.deelTableSelectAll());else if(i.select.cellPos.col>=0&&i.select.cellPos.row>=0&&("ArrowUp"===r.key||"ArrowDown"===r.key||"ArrowLeft"===r.key||"ArrowRight"===r.key)){if(!e.options.keyboardOptions?.moveEditCellOnArrowKeys&&e.editorManager?.editingEditor||!1===e.options.keyboardOptions?.moveSelectedCellOnArrowKeys)return;let t,o;if(r.preventDefault(),r.stopPropagation(),"ArrowUp"===r.key?r.ctrlKey||r.metaKey?(t=i.select.cellPos.col,o=0):(r.shiftKey,t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row-1))):"ArrowDown"===r.key?r.ctrlKey||r.metaKey?(t=i.select.cellPos.col,o=e.rowCount-1):(r.shiftKey,t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row+1))):"ArrowLeft"===r.key?r.ctrlKey||r.metaKey?(t=0,o=i.select.cellPos.row):(r.shiftKey,o=i.select.cellPos.row,t=Math.min(e.colCount-1,Math.max(0,i.select.cellPos.col-1))):"ArrowRight"===r.key&&(r.ctrlKey||r.metaKey?(t=e.colCount-1,o=i.select.cellPos.row):(r.shiftKey,o=i.select.cellPos.row,t=Math.min(e.colCount-1,Math.max(0,i.select.cellPos.col+1)))),vB(e,t,o))return;e.selectCell(t,o,r.shiftKey),e.options.keyboardOptions?.moveEditCellOnArrowKeys&&e.editorManager?.editingEditor&&(e.editorManager.completeEdit(),e.getElement().focus(),e.getEditor(t,o)&&e.editorManager.startEditCell(t,o))}else if("Escape"===r.key)e.editorManager?.cancelEdit(),e.getElement().focus();else if("Enter"===r.key){if(e.editorManager?.editingEditor){if(o(r),e.editorManager.completeEdit(),e.getElement().focus(),!0===e.options.keyboardOptions?.moveFocusCellOnEnter){const t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row+1));if(vB(e,t,o))return;e.selectCell(t,o,r.shiftKey)}return}if(!0===e.options.keyboardOptions?.moveFocusCellOnEnter){const t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row+1));if(vB(e,t,o))return;e.selectCell(t,o,r.shiftKey)}else if((e.options.keyboardOptions?.editCellOnEnter??1)&&1===(e.stateManager.select.ranges?.length??0)){const t=e.stateManager.select.ranges[0].start.col,i=e.stateManager.select.ranges[0].start.row,r=e.stateManager.select.ranges[0].end.col,o=e.stateManager.select.ranges[0].end.row;t===r&&i===o&&e.getEditor(t,i)&&e.editorManager.startEditCell(t,i)}}else if("Tab"===r.key){if((e.options.keyboardOptions?.moveFocusCellOnTab??1)&&i.select.cellPos.col>=0&&i.select.cellPos.row>=0){if(i.select.cellPos.col===e.colCount-1&&i.select.cellPos.row===e.rowCount-1)return;let t,o;if(r.preventDefault(),i.select.cellPos.col===e.colCount-1?(o=Math.min(e.rowCount-1,i.select.cellPos.row+1),t=e.rowHeaderLevelCount):(o=i.select.cellPos.row,t=i.select.cellPos.col+1),vB(e,t,o))return;e.selectCell(t,o),e.editorManager?.editingEditor&&(e.editorManager.completeEdit(),e.getElement().focus(),e.getEditor(t,o)&&e.editorManager.startEditCell(t,o))}}else if(!(r.ctrlKey||r.metaKey||r.shiftKey)){const t=e.options.editCellTrigger;if(("keydown"===t||Array.isArray(t)&&t.includes("keydown"))&&!e.editorManager?.editingEditor){const t=/^[a-zA-Z0-9+\-*\/%=.,\s]$/;r.key.match(t)&&e.editorManager.startEditCell(i.select.cellPos.col,i.select.cellPos.row,"")}}o(r)})),r.on(e.getElement(),"copy",(async t=>{if(e.keyboardOptions?.copySelected){const i=e.getCopyValue();if(J(i)){t.preventDefault();const r=await navigator.permissions.query({name:"clipboard-write"});if(navigator.clipboard?.write&&"granted"===r.state){const t=t=>{const e=["<table>"],i=['<meta name="author" content="Visactor"/>','<style type="text/css">td{white-space:normal}br{mso-data-placement:same-cell}</style>'].join(""),r=t.split("\r\n");return r.forEach((function(t,i){const o=t.split("\t"),n=[];0===i&&e.push("<tbody>"),o.forEach((function(t,e){const i=t?t.toString().replace(/&/g,"&").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\n/g,"<br>").replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g,"<br>\r\n").replace(/\x20{2,}/gi,(t=>`<span style="mso-spacerun: yes">${" ".repeat(t.length-1)} </span>`)).replace(/\t/gi,"	"):" ";n.push(`<td>${i}</td>`)})),e.push("<tr>",...n,"</tr>"),i===r.length-1&&e.push("</tbody>")})),e.push("</table>"),[i,e.join("")].join("")},e=t(i);navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([e],{type:"text/html"}),"text/plain":new Blob([i],{type:"text/plain"})})])}else bv?window.clipboardData.setData("Text",i):t.clipboardData.setData("text/plain",i);e.fireListeners(_v.COPY_DATA,{cellRange:e.stateManager.select.ranges,copyData:i})}}})),r.on(e.getElement(),"paste",(t=>{if(e.keyboardOptions?.pasteValueToCell&&e.changeCellValues){if(e.editorManager?.editingEditor)return;if(e.stateManager.select.ranges?.length>0)if(navigator.clipboard?.read)navigator.clipboard.read().then((t=>{for(const e of t)e.types.includes("text/html")?a(e):1===e.types.length&&"text/plain"===e.types[0]&&h(e)}));else{const i=e.stateManager.select.ranges,r=Math.min(i[0].start.col,i[0].end.col),o=Math.min(i[0].start.row,i[0].end.row),n=(t.clipboardData||window.Clipboard).getData("text").split("\n"),s=[];n.forEach((function(t,e){const i=t.split("\t"),r=[];s.push(r),i.forEach((function(t,e){e===i.length-1&&(t=t.trim()),r.push(t)}))})),e.changeCellValues(r,o,s)}}})),r.on(e.getElement(),"contextmenu",(t=>{!1!==e.eventOptions?.preventDefaultContextMenu&&t.preventDefault()})),e.options.canvas||r.on(e.getContainer(),"resize",(t=>{e.isReleased||0===t.width&&0===t.height||((e.autoFillWidth||e.autoFillHeight)&&e.editorManager?.completeEdit(),J(e.options.pixelRatio)||e.setPixelRatio(XP()),t.windowSizeNotChange||e.resize())}));const n=/<tr[^>]*>([\s\S]*?)<\/tr>/g,s=/<td[^>]*>([\s\S]*?)<\/td>/g;function a(t){const i=e.stateManager.select.ranges,r=i.length,o=Math.min(i[r-1].start.col,i[r-1].end.col),a=Math.min(i[r-1].start.row,i[r-1].end.row),h=Math.max(i[r-1].start.col,i[r-1].end.col),d=Math.max(i[r-1].start.row,i[r-1].end.row);let u=0,g=0,p=[];t.getType("text/html").then((t=>{t.text().then((t=>{if(t&&/(<table)|(<TABLE)/g.test(t)){const i=Array.from(t.matchAll(n));for(const t of i){const e=t[1],i=Array.from(e.matchAll(s)).map((t=>t[1].replace(/(<(?!br)([^>]+)>)/gi,"").replace(/<br(\s*|\/)>[\r\n]?/gim,"\n").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/	/gi,"\t").replace(/ /g," ")));p.push(i),u=Math.max(u,i?.length??0)}g=p.length??0,p=c(p,g,u,d-a+1,h-o+1),e.changeCellValues(o,a,p,!0)}else navigator.clipboard.read().then((t=>{for(const e of t)e.types.includes("text/plain")&&e.getType("text/plain").then((t=>{t.text().then(l)}))}))}))}))}function l(t){const i=e.stateManager.select.ranges,r=i.length,o=Math.min(i[r-1].start.col,i[r-1].end.col),n=Math.min(i[r-1].start.row,i[r-1].end.row),s=Math.max(i[r-1].start.col,i[r-1].end.col),a=Math.max(i[r-1].start.row,i[r-1].end.row);let l=0,h=0,d=[];t.split("\n").forEach((function(t,e){const i=t.split("\t"),r=[];d.push(r),i.forEach((function(t,e){e===i.length-1&&(t=t.trim()),r.push(t)})),l=Math.max(l,r?.length??0)})),h=d.length??0,d=c(d,h,l,a-n+1,s-o+1),e.changeCellValues(o,n,d,!0)}function h(t){const i=e.stateManager.select.ranges,r=i.length,o=Math.min(i[r-1].start.col,i[r-1].end.col),n=Math.min(i[r-1].start.row,i[r-1].end.row),s=Math.max(i[r-1].start.col,i[r-1].end.col),a=Math.max(i[r-1].start.row,i[r-1].end.row);let l=0,h=0;t.getType("text/plain").then((t=>{t.text().then((t=>{const i=t.replace(/\r(?!\n)/g,"\r\n").split("\r\n");let r=[];i.length>1&&""===i[i.length-1]&&i.pop(),i.forEach((function(t,e){const i=t.split("\t"),o=[];r.push(o),i.forEach((function(t,e){t.includes("\n")&&(t=t.replace(/^"(.*)"$/,"$1").replace(/["]*/g,(t=>new Array(Math.floor(t.length/2)).fill('"').join("")))),o.push(t)})),l=Math.max(l,o?.length??0)})),h=r.length??0,r=c(r,h,l,a-n+1,s-o+1),e.changeCellValues(o,n,r,!0)}))}))}function c(t,e,i,r,o){if(o>i||r>e){if(o%i==0&&r%e==0){const n=[];for(let s=0;s<r;s++){const r=[];n.push(r);for(let n=0;n<o;n++){const o=s%e,a=n%i;r.push(t[o][a])}}return n}return t}return t}const d=t=>{e.eventManager.LastBodyPointerXY={x:t.x,y:t.y},e.eventManager.isDown=!0};t.globalEventListeners.push({name:"pointerdown",env:"body",callback:d}),document.body.addEventListener("pointerdown",d);const u=t=>{if(t.target!==e.canvas&&(t=>{if(i.menu.isShow&&setTimeout((()=>{e.internalProps.menuHandler.pointInMenuElement(t.clientX,t.clientY)||i.menu.isShow&&i.hideMenu()}),0),i.isResizeCol())jP(e);else if(i.isResizeRow())UP(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();NP(e,i,t)}else if(i.isSelecting()&&e.stateManager.select?.ranges?.length){const i=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].end.col,r=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].end.row;if(e.stateManager.endSelectCells(),e.hasListeners(_v.DRAG_SELECT_END)){const o={event:t,cells:[],col:i,row:r,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:void 0};o.cells=e.getSelectedCellInfos(),e.fireListeners(_v.DRAG_SELECT_END,o)}}})(t),e.eventManager.LastBodyPointerXY=null,e.eventManager.isDown=!1,e.eventManager.isDraging=!1,e.eventManager.inertiaScroll.endInertia(),"grabing"===i.interactionState&&i.isResizeCol())jP(e);else if("grabing"===i.interactionState&&i.isResizeRow())UP(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();NP(e,i,t)}};t.globalEventListeners.push({name:"pointerup",env:"document",callback:u}),document.addEventListener("pointerup",u);const g=r=>{if(e.eventManager.isDown&&e.eventManager.LastBodyPointerXY){const t=e.eventManager.LastBodyPointerXY?.x??r.x,i=e.eventManager.LastBodyPointerXY?.y??r.y;(Math.abs(t-r.x)>1||Math.abs(i-r.y)>1)&&(e.eventManager.isDraging=!0)}const{x:o,y:n}=e._getMouseAbstractPoint(r,!1);i.interactionState===UC.grabing&&(i.isResizeCol()?(t.dealColumnResize(o,n),e.hasListeners(_v.RESIZE_COLUMN)&&e.fireListeners(_v.RESIZE_COLUMN,{col:e.stateManager.columnResize.col,colWidth:e.getColWidth(e.stateManager.columnResize.col)})):i.isResizeRow()&&(t.dealRowResize(o,n),e.hasListeners(_v.RESIZE_ROW)&&e.fireListeners(_v.RESIZE_ROW,{row:e.stateManager.rowResize.row,rowHeight:e.getRowHeight(e.stateManager.rowResize.row)})));const s=e.stateManager.isSelecting();if(t._enableTableScroll&&t.isDraging&&s&&e.stateManager.select.ranges?.length>0){const t=e.getDrawRange(),i=e.getFrozenRowsHeight(),r=e.getBottomFrozenRowsHeight(),s=e.getFrozenColsWidth(),a=e.getRightFrozenColsWidth(),l=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].start;if(e.isSeriesNumber(l.col,l.row))return;const h=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].end,c=(!1===e.isFrozenRow(l.row)||!1===e.isFrozenRow(h.row))&&e.getAllRowsHeight()>e.tableNoFrameHeight,d=(!1===e.isFrozenColumn(l.col)||!1===e.isFrozenColumn(h.col))&&e.getAllColsWidth()>e.tableNoFrameWidth;if((n>t.bottom-r||n<t.top+i)&&c||(o>t.right-a||o<t.left+s)&&d){e.eventManager.scrollXSpeed=0,e.eventManager.scrollYSpeed=0;let l=!1,h=!1,u=!1,g=!1;n>t.bottom-r&&c&&e.scrollTop+e.tableNoFrameHeight<e.getAllRowsHeight()?(l=!0,e.eventManager.scrollYSpeed=-(n-t.bottom+r)/50):n<t.top+i&&c&&e.scrollTop>0&&(h=!0,e.eventManager.scrollYSpeed=-(n-t.top-i)/50),o>t.right-a&&d&&e.scrollLeft+e.tableNoFrameWidth<e.getAllColsWidth()?(u=!0,e.eventManager.scrollXSpeed=-(o-t.right+a)/50):o<t.left+s&&d&&e.scrollLeft>0&&(g=!0,e.eventManager.scrollXSpeed=-(o-t.left-s)/50),e.eventManager.inertiaScroll.startInertia(e.eventManager.scrollXSpeed,e.eventManager.scrollYSpeed,1),e.eventManager.inertiaScroll.setScrollHandle(((c,d)=>{let p,f;zP({deltaX:-c,deltaY:-d},e.stateManager,!1),l?f=e.scrollTop+t.height-r-20:h&&(f=e.scrollTop+i+20),u?p=e.scrollLeft+t.width-a-20:g&&(p=e.scrollLeft+s+20);let m=!1,b=!1;u||g||(o>e.tableNoFrameWidth-e.getRightFrozenColsWidth()&&o<e.tableNoFrameWidth||o>0&&o<e.getFrozenColsWidth()?(p=o,b=!0):p=e.scrollLeft+o),l||h||(n>e.tableNoFrameHeight-e.getBottomFrozenRowsHeight()&&n<e.tableNoFrameHeight||n>0&&n<e.getFrozenRowsHeight()?(f=n,m=!0):f=e.scrollTop+n),e.stateManager.updateInteractionState(UC.grabing);const y=e.getTargetColAtConsiderRightFrozen(p,b),C=e.getTargetRowAtConsiderBottomFrozen(f,m);J(y)&&J(C)&&e.stateManager.updateSelectPos(y.col,C.row,!1,!1,!1,!1)}))}else e.eventManager.inertiaScroll.isInertiaScrolling()?e.eventManager.inertiaScroll.endInertia():e.eventManager.scrollYSpeed=0}};t.globalEventListeners.push({name:"pointermove",env:"body",callback:g}),document.body.addEventListener("pointermove",g)}function qP(t){return!!t.changedTouches}function ZP(t,e,i){if(i.indicatorsAsCol){if(i.hasTwoIndicatorAxes&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return"top";if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return"bottom";if(t===i.rowHeaderLevelCount-1&&e>=i.rowHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return"left"}else{if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return"left";if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return"right";if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return"bottom"}return"bottom"}function JP(t,e,i,r,o){let n=e+1;for(;ot(r[n])&&r[n]?.length>i.length;){const e=o.columnHeaderLevelCount+n;o.stateManager.setCheckedState(0,e,"_vtable_rowSeries_number",t),LP(0,e,t,o),n++}}function QP(t,e,i,r){let o=e.length-1;if(o>0){let e=t-1;for(;o>0&&e>=0;){if(ot(i[e])&&i[e]?.length===o||1===o&&at(i[e])){tH(0,r.columnHeaderLevelCount+e,i[e],r),o--}e--}}}function tH(t,e,i,r){const{checkedState:o}=r.stateManager,n=i.toString(),s=ot(i)?i.length:1;let a=!1;const l=[];if(o.forEach(((t,e)=>{if(a){e.split(",").length===s?a=!1:l.push(t._vtable_rowSeries_number)}e===n&&(a=!0)})),0===l.length)return;const h=l.every((t=>!!t)),c=l.every((t=>!t));h?(r.stateManager.setCheckedState(t,e,"_vtable_rowSeries_number",!0),LP(t,e,!0,r)):c?(r.stateManager.setCheckedState(t,e,"_vtable_rowSeries_number",!1),LP(t,e,!1,r)):(r.stateManager.setCheckedState(t,e,"_vtable_rowSeries_number","indeterminate"),LP(t,e,"indeterminate",r))}function eH(t,e,i){const{checkedState:r}=i.stateManager,o=e.toString(),n=ot(e)?e.length:1;let s=!1;r.forEach(((e,i)=>{if(s){i.split(",").length===n?s=!1:e._vtable_rowSeries_number=t}i===o&&(s=!0)}))}XP();class iH{table;isTouchdown;touchMovePoints;touchSetTimeout;touchEnd;touchMove;gesture;handleTextStickBindId;LastPointerXY;LastBodyPointerXY;isDown=!1;isDraging=!1;scrollYSpeed;scrollXSpeed;downIcon;globalEventListeners=[];inertiaScroll;bindSparklineHoverEvent;_enableTableScroll=!0;constructor(t){this.table=t,this.handleTextStickBindId=[],this.inertiaScroll=new WP(t.stateManager),"node"===Ew.mode||t.options.disableInteraction||(this.bindOuterEvent(),setTimeout((()=>{this.bindSelfEvent()}),0))}bindOuterEvent(){GP(this),YP(this),function(t){const e=t.table,i=e.stateManager,r=e.scenegraph;r.component.vScrollBar.addEventListener("pointerover",(t=>{i.showVerticalScrollBar()})),r.component.hScrollBar.addEventListener("pointerover",(t=>{i.showHorizontalScrollBar()})),r.component.vScrollBar.addEventListener("pointerout",(t=>{i.interactionState!==UC.scrolling&&i.hideVerticalScrollBar()})),r.component.hScrollBar.addEventListener("pointerout",(t=>{i.interactionState!==UC.scrolling&&i.hideHorizontalScrollBar()})),r.component.vScrollBar.addEventListener("pointermove",(t=>{r.table.stateManager.updateCursor("default"),t.stopPropagation()})),r.component.vScrollBar.addEventListener("pointerdown",(t=>{t.stopPropagation(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.vScrollBar.addEventListener("scrollDown",(t=>{r.table.eventManager.LastBodyPointerXY={x:t.x,y:t.y},r.table.eventManager.isDown=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.vScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.vScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.vScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1})),r.component.hScrollBar.addEventListener("pointermove",(t=>{r.table.stateManager.updateCursor("default"),t.stopPropagation()})),r.component.hScrollBar.addEventListener("pointerdown",(t=>{t.stopPropagation(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.hScrollBar.addEventListener("scrollDown",(t=>{r.table.eventManager.LastBodyPointerXY={x:t.x,y:t.y},r.table.eventManager.isDown=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.hScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.hScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.hScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1}));const o=Vw(i.updateVerticalScrollBar,20),n=Vw(i.updateHorizontalScrollBar,20);r.component.vScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling);const e=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);o(e,t)})),r.component.hScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling);const e=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);n(e)}))}(this),function(t){const e=t.table,i=e.stateManager,r=e.scenegraph;t.touchMovePoints=[],e.scenegraph.tableGroup.addEventListener("touchstart",(e=>{e.target.isChildOf(r.component.vScrollBar)||e.target.isChildOf(r.component.vScrollBar)||(t.isTouchdown=!0,t.touchMovePoints.push({x:e.page.x,y:e.page.y,timestamp:Date.now()}))}));const o=r=>{if(t.touchMove&&r.preventDefault(),t.isTouchdown&&qP(r))if(t.downIcon?.attribute?.funcType===QC.dragReorder)r.preventDefault();else if(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:r.changedTouches[0].pageX,y:r.changedTouches[0].pageY,timestamp:Date.now()}),t._enableTableScroll){const o=-t.touchMovePoints[t.touchMovePoints.length-1].x+t.touchMovePoints[t.touchMovePoints.length-2].x,n=-t.touchMovePoints[t.touchMovePoints.length-1].y+t.touchMovePoints[t.touchMovePoints.length-2].y;zP({deltaX:o,deltaY:n},i),r.cancelable&&("none"===e.internalProps.overscrollBehavior||Math.abs(n)>=Math.abs(o)&&0!==n&&OP(n,i)||Math.abs(n)<=Math.abs(o)&&0!==o&&DP(o,i))&&r.preventDefault()}};window.addEventListener("touchmove",o,{passive:!1}),t.globalEventListeners.push({name:"touchmove",env:"window",callback:o});const n=i=>{if(t.touchEnd=!0,t.touchMove=!1,t.isTouchdown&&qP(i)){if(t.downIcon?.attribute?.funcType===QC.dragReorder)i.preventDefault();else if(t.touchMovePoints?.length&&(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:i.changedTouches[0].pageX,y:i.changedTouches[0].pageY,timestamp:Date.now()}),t._enableTableScroll)){const i=t.touchMovePoints[0],r=t.touchMovePoints[t.touchMovePoints?.length-1],o=(r.x-i.x)/(r.timestamp-i.timestamp),n=(r.y-i.y)/(r.timestamp-i.timestamp);t.inertiaScroll.startInertia(o,n,.95),e.eventManager.inertiaScroll.setScrollHandle(((t,i)=>{zP({deltaX:-t,deltaY:-i},e.stateManager)}))}t.isTouchdown=!1,t.touchMovePoints=[]}};window.addEventListener("touchend",n),t.globalEventListeners.push({name:"touchend",env:"window",callback:n});const s=e=>{t.touchEnd=!0,t.touchMove=!1,t.isTouchdown&&(t.isTouchdown=!1,t.touchMovePoints=[])};window.addEventListener("touchcancel",s),t.globalEventListeners.push({name:"touchcancel",env:"window",callback:s})}(this),VP(this)}updateEventBinder(){setTimeout((()=>{this.table.isReleased||(TM(this.table)&&0===this.handleTextStickBindId?.length?(this.handleTextStickBindId.push(this.table.on(_v.SCROLL,(t=>{xM(this.table)}))),this.handleTextStickBindId.push(this.table.on(_v.RESIZE_COLUMN_END,(t=>{xM(this.table)}))),this.handleTextStickBindId.push(this.table.on(_v.RESIZE_ROW_END,(t=>{xM(this.table)})))):!TM(this.table)&&this.handleTextStickBindId&&(this.handleTextStickBindId.forEach((t=>{this.table.off(t)})),this.handleTextStickBindId=[]),IP(this.table))}),0)}bindSelfEvent(){if(this.table.isReleased)return;const t=this.table.stateManager;var e;this.table.on(_v.ICON_CLICK,(e=>{const{col:i,row:r,x:o,y:n,funcType:s,icon:a,event:l}=e;if(s===QC.dropDown)t.triggerDropDownMenu(i,r,o,n,l);else if(s===QC.sort)t.triggerSort(i,r,a,l);else if(s===QC.frozen)t.triggerFreeze(i,r,a);else if(s===QC.drillDown)(h=this.table).fireListeners(TP.DRILLMENU_CLICK,h.stateManager.drill);else if(s===QC.collapse||s===QC.expand){const e=!!t.select.ranges?.length;t.updateSelectPos(-1,-1),t.endSelectCells(!0,e),this.table.toggleHierarchyState(i,r)}var h})),this.table.on(_v.DROPDOWN_MENU_CLICK,(()=>{t.hideMenu()})),this.updateEventBinder(),e=this.table,"browser"===Ew.mode&&e.on(_v.CLICK_CELL,(t=>{const{col:i,row:r}=t;if("image"===t.target.type&&t.target.role&&t.target.role.startsWith("icon"))return;let o;o=e.internalProps.layoutMap.isHeader(i,r)?e.isPivotTable()?e._getHeaderLayoutMap(i,r).headerType:e.getHeaderDefine(i,r).headerType:e.getBodyColumnType(i,r);const n=e.isHeader(i,r)?e.getHeaderDefine(i,r):e.getBodyColumnDefine(i,r),s=e.getCellValue(i,r),a=e.getCellOriginValue(i,r);if("link"===o){let t=cv(n.linkJump,{col:i,row:r,table:e,value:s,dataValue:a,cellHeaderPaths:void 0});if(t=!1!==t,!t)return;const o=n.templateLink;let l,h=cv(n.linkDetect,{col:i,row:r,table:e,value:s,dataValue:a,cellHeaderPaths:void 0});if(h=!1!==h,o){const t=e.getCellOriginRecord(i,r);if(t&&t.vtableMerge)return;const n=Object.assign({__value:s,__dataValue:a},t);if(q(o))l=o(n,i,r,e);else{const t=/\{\s*(\S+?)\s*\}/g;l=o.replace(t,((t,e)=>n[e]))}}else if(h){if(!Wv.test(s))return;l=s}else l=s;if(!l)return;const c=n.linkTarget,d=n.linkWindowFeatures;window.open(l,c,d)}else if("image"===o){const{clickToPreview:t}=n;if(!1===t)return;const e=document.createElement("div");e.style.width="100%",e.style.height="100%",e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.backgroundColor="rgba(30, 30, 30, 0.4)",e.style.display="flex",e.style.justifyContent="center",e.style.alignItems="center",e.style.overflow="hidden",e.style.zIndex="9999",e.addEventListener("click",(t=>{t.target===e&&document.body.removeChild(e)}));const i=new Image;i.src=s,i.style.maxWidth="80%",i.style.maxHeight="80%",e.appendChild(i),document.body.appendChild(e)}else if("video"===o){const{clickToPreview:t}=n;if(!1===t)return;const e=document.createElement("div");e.style.width="100%",e.style.height="100%",e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.backgroundColor="rgba(30, 30, 30, 0.4)",e.style.display="flex",e.style.justifyContent="center",e.style.alignItems="center",e.style.overflow="hidden",e.style.zIndex="9999",e.addEventListener("click",(t=>{t.target===e&&document.body.removeChild(e)}));const i=document.createElement("video");i.src=s,i.style.maxWidth="80%",i.style.maxHeight="80%",i.setAttribute("preload","auto"),i.setAttribute("controls","true"),e.appendChild(i),document.body.appendChild(e)}})),this.table.on(_v.DBLCLICK_CELL,(t=>{if(t.federatedEvent){const e=UA(t.federatedEvent),i=this.table.scenegraph.getResizeColAt(e.abstractPos.x,e.abstractPos.y,e.eventArgs?.targetCell),r=this.table.options.disableDblclickAutoResizeColWidth??this.table.options.resize?.disableDblclickAutoResizeColWidth;if(this.table.eventManager.checkCellFillhandle(e))this.table.fireListeners(_v.DBLCLICK_FILL_HANDLE,{});else if(this.table._canResizeColumn(i.col,i.row)&&i.col>=0&&!r){this.table.scenegraph.updateAutoColWidth(i.col),this.table.internalProps._widthResizedColMap.add(i.col),this.table.scenegraph.updateChartSizeForResizeColWidth(i.col);const t=this.table.stateManager;t.columnResize.col<t.table.frozenColCount&&!t.table.isPivotTable()&&!t.table.transpose&&t.table.scenegraph.component.setFrozenColumnShadow(t.table.frozenColCount-1,t.columnResize.isRightFrozen);const e=[];for(let t=0;t<this.table.colCount;t++)e.push(this.table.getColWidth(t));this.table.fireListeners(_v.RESIZE_COLUMN_END,{col:i.col,colWidths:e})}}})),this.table.isPivotTable()&&function(t){const e=t.internalProps.layoutMap.rowsDefine,i=t.internalProps.layoutMap.columnsDefine;for(let t=0;t<e.length;t++){const i=e[t];if("string"!=typeof i&&(i.drillDown||i.drillUp))return!0}for(let t=0;t<i.length;t++){const e=i[t];if("string"!=typeof e&&(e.drillDown||e.drillUp))return!0}return!1}(this.table)&&function(t){t.on(_v.MOUSEENTER_CELL,(e=>{const{col:i,row:r}=e;if(-1===i||-1===r)return;const o=t.internalProps.layoutMap.getHeaderDimension(i,r);o?.drillDown||o?.drillUp?t.stateManager.updateDrillState(o.dimensionKey,o.title,o.drillDown,o.drillUp,i,r):t.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1)})),t.on(_v.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1)}))}(this.table),IP(this.table),function(t){t.isPivotChart()&&t.scenegraph.tableGroup.addEventListener("click",(e=>{if(!t.stateManager.columnMove.moving&&!t.stateManager.columnResize.resizing)if("axis-label"===e.target.name){const i=UA(e),{col:r,row:o}=i.eventArgs,n=t.internalProps.layoutMap;let s,a;n.indicatorsAsCol?(s=n.getDimensionKeyInChartSpec(n.rowHeaderLevelCount,o),a=n.getCellHeaderPaths(n.rowHeaderLevelCount-2,o).rowHeaderPaths):(s=n.getDimensionKeyInChartSpec(r,n.columnHeaderLevelCount),a=n.getCellHeaderPaths(r,n.columnHeaderLevelCount-1).colHeaderPaths);const l=a.map((t=>({key:t.dimensionKey,value:t.value}))).filter((t=>t.key));if(l.push({key:s,value:e.target.attribute.text}),t._selectedDimensionInChart.length&&function(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++)if(t[i].key!==e[i].key||t[i].value!==e[i].value)return!1;return!0}(t._selectedDimensionInChart,l))return;t._selectedDimensionInChart=l,n.updateDataStateToChartInstance(),oP(t.scenegraph),t.scenegraph.updateNextFrame()}else t._selectedDimensionInChart?.length&&(t._selectedDimensionInChart.length=0,t.internalProps.layoutMap.updateDataStateToChartInstance(),oP(t.scenegraph),t.scenegraph.updateNextFrame())}))}(this.table),function(t){t.isPivotChart()&&(t.on(_v.MOUSEENTER_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=ZP(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(_v.MOUSEENTER_AXIS,e)}}))})),t.on(_v.MOUSELEAVE_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=ZP(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(_v.MOUSELEAVE_AXIS,e)}}))})))}(this.table),function(t){t.on("checkbox_state_change",(e=>{if(!0!==t.internalProps.rowSeriesNumber?.enableTreeCheckbox)return;const{col:i,row:r,checked:o}=e,n=t.getCellOriginRecord(i,r),s=t.dataSource.currentPagerIndexedData,a=t.getRecordShowIndexByCell(i,r);let l=s[a];if(at(l)&&(l=[l]),n.vtableMerge)if(o)t.getHierarchyState(i,r)===ZC.collapse?eH(!0,l,t):JP(!0,a,l,s,t),QP(a,l,s,t);else{t.getHierarchyState(i,r)===ZC.collapse?eH(!1,l,t):JP(!1,a,l,s,t),QP(a,l,s,t);const e=t.stateManager.headerCheckedState._vtable_rowSeries_number,o=t.stateManager.updateHeaderCheckedState("_vtable_rowSeries_number",i,r);e!==o&&t.scenegraph.updateHeaderCheckboxCellState(i,r,o)}else QP(a,l,s,t)}))}(this.table),function(t){t.on(_v.CLICK_CELL,(e=>{const{col:i,row:r,target:o}=e;"button"!==o.name||o.attribute.disable||t.hasListeners(_v.BUTTON_CLICK)&&t.fireListeners(_v.BUTTON_CLICK,{col:i,row:r,event:e.event})}))}(this.table)}dealTableHover(t){if(!t)return void this.table.stateManager.updateHoverPos(-1,-1);const{eventArgs:e}=t;e?this.table.stateManager.updateHoverPos(e.col,e.row):this.table.stateManager.updateHoverPos(-1,-1)}dealIconHover(t){const{eventArgs:e}=t;e?this.table.stateManager.updateHoverIcon(e.col,e.row,e.target,e.targetCell):this.table.stateManager.updateHoverIcon(-1,-1,void 0,void 0)}dealMenuHover(t){}dealTableSelect(t,e){if(!t)return this.table.stateManager.updateSelectPos(-1,-1),!1;const{eventArgs:i}=t;if(i){if("checkbox"===i.target.name||"radio"===i.target.name||"switch"===i.target.name||"button"===i.target.name)return!1;if(this.table.isHeader(i.col,i.row)&&vB(this.table,i.col,i.row))return e||this.table.stateManager.updateSelectPos(-1,-1),!1;if(!this.table.isHeader(i.col,i.row)&&vB(this.table,i.col,i.row)){if(!e){const t=!!this.table.stateManager.select.ranges?.length;this.table.stateManager.updateSelectPos(-1,-1),t&&this.table.stateManager.endSelectCells(!0,t)}return!1}return!this.table.isPivotChart()||"axis-label"!==t?.eventArgs?.target.name&&"chart"!==t?.eventArgs?.target.type?(this.table.stateManager.updateSelectPos(i.col,i.row,i.event.shiftKey,i.event.ctrlKey||i.event.metaKey,!1,!e&&(this.table.options.select?.makeSelectCellVisible??!0)),!0):(this.table.stateManager.updateSelectPos(-1,-1),!1)}return!1}dealFillSelect(t,e){const{eventArgs:i}=t;if(i){if(this.table.stateManager.select?.ranges?.length&&this.table.stateManager.isFillHandle()){let r,o;const n=this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1];e&&(J(this.table.stateManager.fillHandle.directionRow)||(Math.abs(this.table.stateManager.fillHandle.startY-t.abstractPos.y)>=Math.abs(this.table.stateManager.fillHandle.startX-t.abstractPos.x)?this.table.stateManager.fillHandle.directionRow=!0:this.table.stateManager.fillHandle.directionRow=!1),Math.abs(this.table.stateManager.fillHandle.startY-t.abstractPos.y)>=Math.abs(this.table.stateManager.fillHandle.startX-t.abstractPos.x)?this.table.stateManager.fillHandle.startY-t.abstractPos.y>0?this.table.stateManager.fillHandle.direction="top":this.table.stateManager.fillHandle.direction="bottom":this.table.stateManager.fillHandle.startX-t.abstractPos.x>0?this.table.stateManager.fillHandle.direction="left":this.table.stateManager.fillHandle.direction="right",this.table.stateManager.fillHandle.directionRow?(r=i.row,o=n.end.col):(r=n.end.row,o=i.col)),this.table.stateManager.updateSelectPos(e?o:n.end.col,e?r:n.end.row,!0,i.event.ctrlKey||i.event.metaKey,!1,!e)}else this.table.stateManager.updateSelectPos(i.col,i.row,i.event.shiftKey,i.event.ctrlKey||i.event.metaKey,!1,!e);return!0}return!1}deelTableSelectAll(){this.table.stateManager.updateSelectPos(-1,-1,!1,!1,!0),this.table.fireListeners(_v.SELECTED_CELL,{ranges:this.table.stateManager.select.ranges,col:0,row:0})}dealMenuSelect(t){}checkColumnResize(t,e){const{eventArgs:i}=t;if(this.table.options.enableTreeStickCell&&!i)return!1;const r=this.table.scenegraph.getResizeColAt(t.abstractPos.x,t.abstractPos.y,i?.targetCell);return this.table._canResizeColumn(r.col,r.row)&&r.col>=0?(e&&this.table.stateManager.startResizeCol(r.col,t.abstractPos.x,t.abstractPos.y,r.rightFrozen),!0):(this.table.stateManager.isResizeCol()&&this.table.stateManager.endResizeCol(),!1)}checkRowResize(t,e){const{eventArgs:i}=t;if(i){const r=this.table.scenegraph.getResizeRowAt(t.abstractPos.x,t.abstractPos.y,i.targetCell);if(this.table._canResizeRow(r.col,r.row)&&r.row>=0)return e&&this.table.stateManager.startResizeRow(r.row,t.abstractPos.x,t.abstractPos.y,r.bottomFrozen),!0}return!1}cellIsHeaderCheck(t,e){const{eventArgs:i}=t,{col:r,row:o,target:n}=i;if(!this.table.isHeader(r,o))return!1;return"checkbox"===this.table.getCellType(i.col,i.row)&&"checkbox"===n.name}checkCellFillhandle(t,e){if(this.table.options.excelOptions?.fillHandle){const{eventArgs:i}=t;if(i&&this.table.stateManager.select?.ranges?.length){const i=Math.max(this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].start.col,this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].end.col),r=Math.max(this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].start.row,this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].end.row),o=this.table.scenegraph.highPerformanceGetCell(i,r).globalAABBBounds,n=Math.abs(t.abstractPos.x-o.x2),s=Math.abs(t.abstractPos.y-o.y2),a=18;if(this.table.stateManager.fillHandle?.isFilling||n<=a/2&&s<=a/2)return e&&this.table.stateManager.startFillSelect(t.abstractPos.x,t.abstractPos.y),!0}}return!1}dealColumnResize(t,e){this.table.stateManager.updateResizeCol(t,e)}dealRowResize(t,e){this.table.stateManager.updateResizeRow(t,e)}checkColumnMover(t){const{eventArgs:e}=t;return!(!e||!this.table._canDragHeaderPosition(e.col,e.row))&&(this.table.stateManager.startMoveCol(e.col,e.row,t.abstractPos.x,t.abstractPos.y,e?.event?.nativeEvent),!0)}dealColumnMover(t){const{eventArgs:e}=t;J(e.col)&&J(e.row)&&this.table.stateManager.updateMoveCol(e.col,e.row,t.abstractPos.x,t.abstractPos.y,e?.event?.nativeEvent)}startColumnResize(t){}dealIconClick(t,e){const{eventArgs:i}=e,{target:r,event:o,col:n,row:s}=i||{target:t.target,event:t,col:-1,row:-1},a=r;if(a.role&&a.role.startsWith("icon-"))return this.table.fireListeners(_v.ICON_CLICK,{name:a.name,x:(a.globalAABBBounds.x1+a.globalAABBBounds.x2)/2,y:a.globalAABBBounds.y2,col:n,row:s,funcType:a.attribute.funcType,icon:a,event:o}),!0;if(r instanceof ld){const t=r.pickIcon(o.global);if(t)return this.table.fireListeners(_v.ICON_CLICK,{name:t.attribute.id,x:t.globalX+t.globalAABBBounds.width()/2,y:t.globalY+t.AABBBounds.height(),col:n,row:s,funcType:t.attribute.funcType,icon:t,event:o}),!0}return!1}release(){this.gesture.release(),this.globalEventListeners.forEach((t=>{"document"===t.env?document.removeEventListener(t.name,t.callback):"body"===t.env?document.body.removeEventListener(t.name,t.callback):"window"===t.env&&window.removeEventListener(t.name,t.callback)})),this.globalEventListeners=[]}enableScroll(){this._enableTableScroll=!0}disableScroll(){this._enableTableScroll=!1}}const rH=t=>{const e=t.value;return Number(e)>80?"#20a8d8":Number(e)>50?"#4dbd74":Number(e)>20?"#ffc107":"#f86c6b"};class oH extends _w{_showBar;_barColor;_barBgColor;_barPositiveColor;_barNegativeColor;_barAxisColor;_barHeight;_barBottom;_barPadding;_showBarMark;_barMarkPositiveColor;_barMarkNegativeColor;_barMarkWidth;_barMarkPosition;_barRightToLeft;static get DEFAULT(){return KP||(KP=new oH)}constructor(t={},e={}){super(t,e),this._showBar=t.showBar??!0,this._barColor=t.barColor??rH,this._barPositiveColor=t.barPositiveColor??"#4dbd74",this._barNegativeColor=t.barNegativeColor??"#f86c6b",this._barAxisColor=t.barAxisColor??"black",this._barBgColor=t.barBgColor,this._barHeight=t.barHeight??3,this._barHeight=t.barHeight??3,this._barBottom=t.barBottom??0,this._barPadding=t.barPadding??[0,0,0,0],this._showBarMark=t.showBarMark??!1,this._barMarkPositiveColor=t.barMarkPositiveColor??"#4dbd74",this._barMarkNegativeColor=t.barMarkNegativeColor??"#f86c6b",this._barMarkWidth=t.barMarkWidth??2,this._barMarkPosition=t.barMarkPosition??"right",this._barRightToLeft=t.barRightToLeft??!1}get showBar(){return this._showBar}set showBar(t){this._showBar=t}get barColor(){return this._barColor}set barColor(t){this._barColor=t}get barBgColor(){return this._barBgColor}set barBgColor(t){this._barBgColor=t}get barHeight(){return this._barHeight}set barHeight(t){this._barHeight=t}get barBottom(){return this._barBottom}set barBottom(t){this._barBottom=t}get barPositiveColor(){return this._barPositiveColor}set barPositiveColor(t){this._barPositiveColor=t}get barNegativeColor(){return this._barNegativeColor}set barNegativeColor(t){this._barNegativeColor=t}get barAxisColor(){return this._barAxisColor}set barAxisColor(t){this._barAxisColor=t}get barPadding(){return this._barPadding}set barPadding(t){this._barPadding=t}get showBarMark(){return this._showBarMark}set showBarMark(t){this._showBarMark=t}get barMarkPositiveColor(){return this._barMarkPositiveColor}set barMarkPositiveColor(t){this._barMarkPositiveColor=t}get barMarkNegativeColor(){return this._barMarkNegativeColor}set barMarkNegativeColor(t){this._barMarkNegativeColor=t}get barMarkWidth(){return this._barMarkWidth}set barMarkWidth(t){this._barMarkWidth=t}get barMarkPosition(){return this._barMarkPosition}set barMarkPosition(t){this._barMarkPosition=t}get barRightToLeft(){return this._barRightToLeft}set barRightToLeft(t){this._barRightToLeft=t}clone(){return new oH(this,null)}}const nH=["type","content","style","color","width","height","marginRight","marginLeft","src","svg","name","path","positionType","tooltip","hover","cursor","shape","interactive","isGif"];class sH{expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=kR();this.expandIcon=e[tw.expandIconName],this.collapseIcon=e[tw.collapseIconName]}getIcons(t,e,i,r,o){const n=[],s=this.getHierarchyIcon(t,e);s&&n.push(s);const{icon:a}=this._table.getBodyColumnDefine(t,e);if(a){let o;if("function"==typeof a){o=a({col:t,row:e,value:i,dataValue:r,table:this._table})}else o=a;const s=kR(),l=t=>{let e;e="string"==typeof t?s[t]:t,e&&n.push(e)};Array.isArray(o)?o.forEach(((t,e)=>{l(t)})):l(o)}return o&&n.forEach(((i,r)=>{(i.content||i.src)&&(n[r]=this.getCellIconFromRecordValue(i,t,e))})),n}getStyleClass(t){switch(t){case"text":case"link":return Aw;case"image":case"video":return Sw;case"chart":case"sparkline":return _w;case"progressbar":return oH;case"checkbox":return Mw;case"radio":return Pw;case"switch":return Hw;case"button":return kw}return Aw}getCellIconFromRecordValue(t,e,i){if(Array.isArray(t))return t.map((t=>this.getCellIconFromRecordValue(t,e,i)));if(!yv.isObject(t)||"function"==typeof t)return this._table.getFieldData(t,e,i);const r={},o=t;return nH.forEach((t=>{if(void 0!==o[t]){const n=this._table.getFieldData(o[t],e,i);J(n)?r[t]=n:this._table._hasField?.(o[t],e,i)||(r[t]=o[t])}})),r}getHierarchyIcon(t,e){const i=this._table.getHierarchyState(t,e);return i===ZC.expand?this.expandIcon:i===ZC.collapse?this.collapseIcon:void 0}getHierarchyIconWidth(){return this.expandIcon.width+(this.expandIcon.marginLeft??0)+(this.expandIcon.marginRight??0)}}function aH(t,e){const i=document.createElement(t);return e&&i.classList.add(...e),i}!function(){if("node"===Ew.mode)return;const t=document.createElement("style");t.id="vtable-menu-styleSheet",t.textContent="\n@keyframes vtable__menu-element--shown-animation {\n\t0% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n.vtable__menu-element {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\tborder-radius: 4px;\n\tbackground-color: #fff;\n\tpadding: 6px 0;\n\t/* pointer-events: none; */\n\tuser-select: none;\n\tcolor: #000;\n\tmax-width: 300px;\n\tz-index: 99999;\n\tborder: #CCC 0.5px solid;\n\tcursor: default;\n\twidth: max-content;\n\tbox-shadow: 0px 8px 16px rgba(27, 31, 35, 0.12);\n max-height: 100%;\n overflow-y: auto;\n}\n.vtable__menu-element--hidden {\n\topacity: 0;\n\t/* transform: translate(-50%, -50%); */\n\ttransition: opacity 75ms linear;\n\tz-index: -9999;\n}\n.vtable__menu-element--shown {\n\topacity: 1;\n\t/* transform: translate(-50%, -50%); */\n\tanimation: vtable__menu-element--shown-animation 150ms ease-out;\n}\n.vtable__menu-element__content {\n\tfont-family: Roboto;\n\tfont-size: 12px;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\t/* height: 100%; */\n\tline-height: 30px;\n}\n.vtable__menu-element__item {\n\theight: 32px;\n\tpadding: 0px 12px;\n\tcursor: pointer;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-start;\n}\n.vtable__menu-element__item:hover {\n\tbackground-color: rgba(27, 31, 35, 0.06);\n}\n.vtable__menu-element__icon{\n\t/* vertical-align: top; */\n\tdisplay: flex;\n\t/* line-height: 30px; */\n\tmargin-right: 6px;\n}\n.vtable__menu-element__no-event {\n\tpointer-events: none;\n}\n.vtable__menu-element--select {\n\tcolor: #2E68CF;\n}.vtable__menu-element--normal {\n\tcolor: rgba(20, 20, 20, 0.9);;\n}\n.vtable__menu-element__split {\n\theight: 0px;\n\tborder: 1px solid rgb(209, 213, 218);\n\tmargin: 5px 0;\n}\n.vtable__menu-element__title {\n\tcolor: rgb(149, 149, 149);\n}\n.vtable__menu-element__arrow {\n\tposition: absolute;\n\tright: 3px;\n\tfont-weight: bold;\n\tmargin-top: 1px;\n}\n.vtable__menu-element__item-text {\n\tmargin-right: 15px;\n}\n",document.head.appendChild(t)}();const lH="vtable__menu-element",hH=`${lH}__item`,cH=`${lH}__content`,dH=`${lH}--hidden`,uH=`${lH}--shown`,gH=`${lH}--normal`,pH=`${lH}--select`,fH=`${lH}__icon`,mH=`${lH}__split`,bH=`${lH}__title`,yH=`${lH}__arrow`,CH=`${lH}__no-event`,wH=`${lH}__item-text`;function vH(){return aH("div",[lH,dH])}function xH(t,e,i,r,o,n){const s=t.getCellRange(r,o);for(let r=0;r<e.length;r++){const o=e[r];let{col:n,row:a}=o;const{field:l,menuKey:h}=o;if("number"!=typeof n||"number"!=typeof a)if(t.isPivotTable()&&(Array.isArray(l),1)){const e=t.internalProps.layoutMap.getPivotCellAdress(l);if(!e)continue;n=e.col,a=e.row}else{const e=t.internalProps.layoutMap.getHeaderCellAddressByField(l);if(!e)continue;n=e.col,a=e.row}if(J(n)&&J(a)&&pv(s,n,a)&&i===h)return!0}return!1}class _H{_handler;_rootElement;_secondElement;_menuInstanceInfo;_showChildrenIndex;_mouseEnterSecondElement;constructor(t){this._handler=new Bv,this._rootElement=vH(),this._secondElement=vH(),this._secondElement.sub=!0,this._showChildrenIndex=-1,this._rootElement.addEventListener("wheel",(t=>{t.stopPropagation()})),this._rootElement?.addEventListener("mousedown",(t=>{t.stopPropagation(),t.preventDefault()})),this._rootElement?.addEventListener("contextmenu",(t=>{t.stopPropagation(),t.preventDefault()})),this._rootElement?.addEventListener("touchend",(e=>{if(e.stopPropagation(),e.preventDefault(),this._rootElement.classList.contains(dH))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r),h=t._dropDownMenuIsHighlight(i,r,o);t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._rootElement.classList.contains(dH))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r),h=t._dropDownMenuIsHighlight(i,r,o);t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(e=>{if(this._rootElement.classList.contains(dH))return;e.stopPropagation();const{hasChildren:i,dropDownIndex:r,col:o,row:n,sub:s}=e.target;if(i){this._showChildrenIndex=r;const i=this._secondElement;i?.classList.remove(dH),i?.classList.add(uH),i.innerHTML="";const s=this._menuInstanceInfo.content[r]?.children;for(let e=0;e<s.length;e++){const r=s[e],a=SH(r,!!t.stateManager.menu.dropDownMenuHighlight&&xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof r?r?.menuKey||r?.text:r,o,n));a.col=o,a.row=n,a.dropDownIndex=e,"string"==typeof r?(a.text=r,a.menuKey=r):"object"==typeof r&&(a.text=r.text,a.menuKey=r.menuKey||r.text),a.sub=!0,a.sub=!0,i.appendChild(a)}const a=e.target.getBoundingClientRect();this._bindSecondElement(t,o,n,a.right,a.top)}else if(i&&this._showChildrenIndex===r){const t=this._secondElement;t?.classList.remove(dH),t?.classList.add(uH)}else!s&&this._secondElement?.classList.contains(uH)&&setTimeout((()=>{if(!0!==this._mouseEnterSecondElement){this._showChildrenIndex=-1;const t=this._secondElement;t?.classList.remove(uH),t?.classList.add(dH)}}),300)})),this._secondElement?.addEventListener("wheel",(t=>{t.stopPropagation()})),this._secondElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(dH)||t.stopPropagation()})),this._secondElement?.addEventListener("mouseenter",(t=>{this._mouseEnterSecondElement=!0})),this._secondElement?.addEventListener("mouseleave",(t=>{this._mouseEnterSecondElement=!1})),this._secondElement?.addEventListener("mousedown",(t=>{t.stopPropagation(),t.preventDefault()})),this._secondElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._secondElement.classList.contains(dH))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r);let h=!1;this._menuInstanceInfo.content.forEach(((e,o)=>{if("object"==typeof e&&e.children&&e.children.length)for(let o=0;o<e.children.length;o++){const s=e.children[o];if(xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof s?s?.menuKey:s,i,r)&&n===("object"==typeof s?s?.menuKey:s))return void(h=!0)}})),t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,cellHeaderPaths:t.isPivotTable()?t.getCellHeaderPaths(i,r):void 0,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()}))}get rootElement(){return this._rootElement}release(){this.unbindFromCell();const t=this._rootElement;t?.parentElement&&t.parentElement.removeChild(t),this._handler.release(),delete this._rootElement}bindToCell(t,e,i,r){const o=this._rootElement,n=this._secondElement;if(this._menuInstanceInfo=r,o?.classList.remove(uH),o?.classList.add(dH),n?.classList.remove(uH),n?.classList.add(dH),this._canBindToCell(t,e,i)){if(o.innerHTML="",Array.isArray(r.content)){const n=r.content;for(let r=0;r<n?.length;r++){const s=n[r];let a=!!t.stateManager.menu.dropDownMenuHighlight&&xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof s?s?.menuKey||s?.text:s,e,i);if(t.stateManager.menu.dropDownMenuHighlight&&"object"==typeof s&&Array.isArray(s.children)&&s.children.length)for(let r=0;r<s.children.length;r++){const o=s.children[r];if(xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof o?o?.menuKey||o?.text:o,e,i)){a=!0;break}}const l=SH(s,a);l.col=e,l.row=i,l.dropDownIndex=r,"string"==typeof s?(l.text=s,l.menuKey=s):"object"==typeof s&&(l.text=s.text,l.menuKey=s.menuKey||s.text,s.children?.length&&(l.hasChildren=!0)),o.appendChild(l)}}if(this._bindToCell(t,e,i,r.position,r.referencePosition))return o?.classList.add(uH),o?.classList.remove(dH),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement,e=this._secondElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(uH),t.classList.add(dH)),e?.parentElement&&(e.classList.remove(uH),e.classList.add(dH))}_canBindToCell(t,e,i){const r=t.getCellRangeRelativeRect({col:e,row:i}),o=t.internalProps.menu.parentElement??t.getElement(),{top:n,bottom:s,left:a,right:l}=r;if(t.isFrozenCell(e,i))return!0;if(s<t.getFrozenRowsHeight()||l<t.getFrozenColsWidth()||a>t.tableNoFrameWidth-t.getRightFrozenColsWidth()||n>t.tableNoFrameHeight-t.getBottomFrozenRowsHeight())return!1;const{offsetHeight:h,offsetWidth:c}=o;return!(h<n)&&!(c<a)}_bindToCell(t,e,i,r,o){const n=this._rootElement,s=t.internalProps.menu.parentElement??t.getElement(),{width:a,height:l,left:h,top:c}=s.getBoundingClientRect();if(n){n.parentElement!==s&&s.appendChild(n),n.style.left="0px";const e=.8*a;n.style.maxWidth=`${e}px`;const i=n.offsetWidth,d=n.offsetHeight;let u,g;r?(u=r.x,g=r.y):o&&(u=o.rect.right-i,g=o.rect.bottom);const p=s.getBoundingClientRect(),f=p.width/s.offsetWidth,m=p.height/s.offsetHeight;g*m+d>l&&(g=(l-d)/m),g<0&&(g/=2);let b=0,y=0;if(t.getElement()!==s){const{left:e,top:i}=t.getElement().getBoundingClientRect();b=i-c,y=e-h}return n.style.top=`${g+b}px`,u<0?u=0:u*f+i>a&&(u=(a-i)/f),n.style.left=`${u+y}px`,!0}return!1}_bindSecondElement(t,e,i,r,o){const n=this._secondElement,s=this._rootElement,a=t.internalProps.menu.parentElement??t.getElement(),{width:l,left:h,top:c}=a.getBoundingClientRect(),{x:d,y:u,width:g}=s.getBoundingClientRect();if(n){n.parentElement!==a&&a.appendChild(n),n.style.left="0px";const t=.8*l;n.style.maxWidth=`${t}px`;const e=n.clientWidth,i=o-4-c,s=r-h;n.style.top=`${i}px`;let d=s;return d+e>l?d=d-e-g:d+=4,n.style.left=`${d}px`,!0}return!1}pointInMenuElement(t,e){const i=this._rootElement,{x:r,y:o,width:n,height:s}=i.getBoundingClientRect();if(t>r-5&&t<r+n+5&&e>o-5&&e<o+s+5)return!0;if(this._secondElement){const{x:r,y:o,width:n,height:s}=i.getBoundingClientRect();if(t>r-5&&t<r+n+5&&e>o-5&&e<o+s+5)return!0}return!1}}function SH(t,e){const i=aH("div",[hH,e?pH:gH]);if("string"==typeof t){const e=aH("span",[cH,CH,wH]);e.innerHTML=t,i.appendChild(e)}else if("object"==typeof t){const r=t.type??"item";if("split"===r)return i?.classList.add(mH),i;if(t?.icon?.svg)if(Wv.test(t.icon.svg)){const e=new Image;t.icon.width?e.style.width=t.icon.width.toString()+"px":e.style.width="16px",t.icon.height?e.style.height=t.icon.height.toString()+"px":e.style.height="16px",e.src=t.icon.svg,i.appendChild(e)}else{const r=aH("span",[fH,CH]);r.innerHTML=e&&t.selectedIcon&&t.selectedIcon.svg?t.selectedIcon.svg:t.icon.svg,t.icon.width&&r.children[0].setAttribute("width",t.icon.width.toString()),t.icon.height&&r.children[0].setAttribute("height",t.icon.height.toString()),i.appendChild(r)}const o=aH("span",[cH,CH,wH]);if(o.innerHTML=t.text,i.appendChild(o),"title"===r)i?.classList.add(CH,bH);else if(t?.children?.length){const t=aH("span",[cH,CH,yH]);t.innerHTML=e?'<svg width="8" height="12" viewBox="0 0 10 17" fill="none" xmlns="http://www.w3.org/2000/svg" style="vertical-align: baseline"><path d="M1.78186 16.7729L0.300378 15.2915L6.8189 8.77295L0.300377 2.25443L1.78186 0.77295L9.78186 8.77295L1.78186 16.7729Z" fill="#2E68CF" fill-opacity="0.65"></path></svg>':'<svg width="8" height="12" viewBox="0 0 10 17" fill="none" xmlns="http://www.w3.org/2000/svg" style="vertical-align: baseline"><path d="M1.78186 16.7729L0.300378 15.2915L6.8189 8.77295L0.300377 2.25443L1.78186 0.77295L9.78186 8.77295L1.78186 16.7729Z" fill="#141414" fill-opacity="0.65"></path></svg>',i.appendChild(t)}}return i}let AH;const RH={CHANGE_STYLE:"change_style"};class TH extends yw{_color;_strokeColor;_fontSize;_fontFamily;_fontWeight;_fontVariant;_fontStyle;_textOverflow;_padding;_defaultPadding=[10,16,10,16];_textStick;_textStickBaseOnAlign;_marked;_textAlign;_textBaseline;_bgColor;_borderColor;_lineHeight;_underline;_underlineColor;_underlineDash;_underlineOffset;_lineThrough;_lineThroughColor;_lineThroughDash;_linkColor;_cursor;_borderLineWidth;_borderLineDash;static get EVENT_TYPE(){return RH}static get DEFAULT(){return AH||(AH=new TH)}constructor(t={},e={}){super(),this._color=t.color??e?.color,this._strokeColor=t?.strokeColor??e?.strokeColor,this._fontSize=t.fontSize??e?.fontSize,this._fontFamily=t.fontFamily??e?.fontFamily,this._fontWeight=t.fontWeight??e?.fontWeight,this._fontVariant=t.fontVariant??e?.fontVariant,this._fontStyle=t.fontStyle??e?.fontStyle,this._textOverflow=(t.textOverflow??e?.textOverflow)||"ellipsis",this._textStick=t.textStick??e?.textStick??!1,this._textStickBaseOnAlign=t.textStickBaseOnAlign??e?.textStickBaseOnAlign??!1,this._marked=t.marked??e?.marked??!1,this._textAlign=(t.textAlign??e?.textAlign)||"left",this._textBaseline=(t.textBaseline??e?.textBaseline)||"middle",this._bgColor=t.bgColor??e?.bgColor,this._padding=t.padding??e?.padding??this._defaultPadding,this._borderColor=t.borderColor??e?.borderColor,this._lineHeight=t.lineHeight??e?.lineHeight,this._underline=t.underline??e?.underline,this._underlineColor=t.underlineColor??e?.underlineColor,this._underlineDash=t.underlineDash??e?.underlineDash,this._underlineOffset=t.underlineOffset??e?.underlineOffset,this._lineThrough=t.lineThrough??e?.lineThrough,this._lineThroughColor=t.lineThroughColor??e?.lineThroughColor,this._lineThroughDash=t.lineThroughDash??e?.lineThroughDash,this._linkColor=t.linkColor??e?.linkColor,this._cursor=t.cursor??e?.cursor,this._borderLineWidth=t.borderLineWidth??e?.borderLineWidth,this._borderLineDash=t.borderLineDash??e?.borderLineDash}get bgColor(){return this._bgColor}set bgColor(t){this._bgColor=t}get color(){return this._color}set color(t){this._color=t}get strokeColor(){return this._strokeColor}set strokeColor(t){this._strokeColor=t}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize=t}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily=t}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight=t}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant=t}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle=t}get textOverflow(){return this._textOverflow}set textOverflow(t){this._textOverflow=t}get padding(){return this._padding??this._defaultPadding}set padding(t){this._padding=t}get borderColor(){return this._borderColor}set borderColor(t){this._borderColor=t}get textStick(){return this._textStick}set textStick(t){this._textStick=t}get textStickBaseOnAlign(){return this._textStickBaseOnAlign}set textStickBaseOnAlign(t){this._textStickBaseOnAlign=t}get marked(){return this._marked}set marked(t){this._marked=t}get textAlign(){return this._textAlign}set textAlign(t){this._textAlign=t}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline=t}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight=t}get underline(){return this._underline}set underline(t){this._underline=t}get underlineColor(){return this._underlineColor}set underlineColor(t){this._underlineColor=t}get underlineDash(){return this._underlineDash}set underlineDash(t){this._underlineDash=t}get underlineOffset(){return this._underlineOffset}set underlineOffset(t){this._underlineOffset=t}get lineThrough(){return this._lineThrough}set lineThrough(t){this._lineThrough=t}get lineThroughColor(){return this._lineThroughColor}set lineThroughColor(t){this._lineThroughColor=t}get lineThroughDash(){return this._lineThroughDash}set lineThroughDash(t){this._lineThroughDash=t}get linkColor(){return this._linkColor}set linkColor(t){this._linkColor=t}get cursor(){return this._cursor}set cursor(t){this._cursor=t}get borderLineWidth(){return this._borderLineWidth}set borderLineWidth(t){this._borderLineWidth=t}get borderLineDash(){return this._borderLineDash}set borderLineDash(t){this._borderLineDash=t}clone(){return new TH(this)}}let BH,MH,PH;class HH extends TH{static get DEFAULT(){return BH||(BH=new HH)}constructor(t={},e={}){super(t,e),this.textAlign=(t.textAlign??e?.textAlign)||"center"}clone(){return new HH(this)}}class kH extends TH{_autoWrapText;_lineClamp;static get DEFAULT(){return MH||(MH=new kH)}constructor(t={},e=null){super(t,e),this._autoWrapText=t?.autoWrapText??e?.autoWrapText,this._lineClamp=t?.lineClamp??e?.lineClamp}clone(){return new kH(this,null)}get lineClamp(){return this._lineClamp}set lineClamp(t){this._lineClamp=t}get autoWrapText(){return this._autoWrapText}set autoWrapText(t){this._autoWrapText=t}}class LH extends TH{_size;_spaceBetweenTextAndIcon;_defaultFill;_defaultStroke;_disableFill;_checkedFill;_checkedStroke;_disableCheckedFill;_disableCheckedStroke;_checkIconImage;_indeterminateIconImage;static get DEFAULT(){return PH||(PH=new LH)}constructor(t={},e={},i={}){super(t,e),this._size=(t?.size??e?.size??i?.size)||14,this._spaceBetweenTextAndIcon=(t?.spaceBetweenTextAndIcon??e?.spaceBetweenTextAndIcon??i?.spaceBetweenTextAndIcon)||8,this._defaultFill=t?.checkboxStyle?.defaultFill??i?.defaultFill,this._defaultStroke=t?.checkboxStyle?.defaultStroke??i?.defaultStroke,this._disableFill=t?.checkboxStyle?.disableFill??i?.disableFill,this._checkedFill=t?.checkboxStyle?.checkedFill??i?.checkedFill,this._checkedStroke=t?.checkboxStyle?.checkedStroke??i?.checkedStroke,this._disableCheckedFill=t?.checkboxStyle?.disableCheckedFill??i?.disableCheckedFill,this._disableCheckedStroke=t?.checkboxStyle?.disableCheckedStroke??i?.disableCheckedStroke,this._checkIconImage=t?.checkboxStyle?.checkIconImage??i?.checkIconImage,this._indeterminateIconImage=t?.checkboxStyle?.indeterminateIconImage??i?.indeterminateIconImage}get size(){return this._size}set size(t){this._size=t}get spaceBetweenTextAndIcon(){return this._spaceBetweenTextAndIcon}set spaceBetweenTextAndIcon(t){this._spaceBetweenTextAndIcon=t}get defaultFill(){return this._defaultFill}set defaultFill(t){this._defaultFill=t}get defaultStroke(){return this._defaultStroke}set defaultStroke(t){this._defaultStroke=t}get disableFill(){return this._disableFill}set disableFill(t){this._disableFill=t}get checkedFill(){return this._checkedFill}set checkedFill(t){this._checkedFill=t}get checkedStroke(){return this._checkedStroke}set checkedStroke(t){this._checkedStroke=t}get disableCheckedFill(){return this._disableCheckedFill}set disableCheckedFill(t){this._disableCheckedFill=t}get disableCheckedStroke(){return this._disableCheckedStroke}set disableCheckedStroke(t){this._disableCheckedStroke=t}get checkIconImage(){return this._checkIconImage}set checkIconImage(t){this._checkIconImage=t}get indeterminateIconImage(){return this._indeterminateIconImage}set indeterminateIconImage(t){this._indeterminateIconImage=t}getStyle(t){return new LH(t,this)}clone(){return new LH(this)}}function EH(t,e,i,r,o,n){return t||e?t instanceof TH?t:"function"==typeof t?EH(t(i),e,i,r,o,n):(t||(t={}),o&&!J(t.autoWrapText)&&(t.autoWrapText=!0),r===LH?new LH(t??{},e??{},n.checkboxStyle??{}):new r(t??{},e??{})):r.DEFAULT}class FH{normalIcon;upIcon;downIcon;freezeIcon;frozenIcon;frozenCurrentIcon;dropDownAbsoluteIcon;expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=kR();this.freezeIcon=e[tw.freezeIconName],this.frozenIcon=e[tw.frozenIconName],this.frozenCurrentIcon=e[tw.frozenCurrentIconName],this.normalIcon=e[tw.normalIconName],this.upIcon=e[tw.upwardIconName],this.downIcon=e[tw.downwardIconName],this.dropDownAbsoluteIcon=e[tw.dropdownIconName],this.expandIcon=e[tw.expandIconName],this.collapseIcon=e[tw.collapseIconName]}getIcons(t,e){const i=[];if(this._table.isPivotTable()){const{showSort:r,sort:o}=this._table.internalProps.layoutMap.getHeader(t,e);let n;if(n="function"==typeof r?r({col:t,row:e,table:this._table}):r,n){let r=this._table.getPivotSortState(t,e);r&&(r=r.toUpperCase());const o="ASC"===r?this.upIcon:"DESC"===r?this.downIcon:this.normalIcon;o&&i.push(o)}else if(o){const r=this.getSortIconForPivotTable(this._table.getPivotSortState(t,e),this._table,t,e);r&&i.push(r)}}else{const r=this._table.sortState;let o;o=void 0;const n=this._table.getCellRange(t,e);if(r)if(Array.isArray(r))for(let t=0;t<r.length;t++){const e=r[t],i=this._table._getHeaderCellBySortState(e);if(i&&pv(n,i.col,i.row)){({order:o}=e);break}}else{const t=this._table._getHeaderCellBySortState(r);t&&pv(n,t.col,t.row)&&({order:o}=r)}const s=this.getSortIcon(o,this._table,t,e);s&&i.push(s)}if(this._table.showFrozenIcon&&t<this._table.allowFrozenColCount){const r=this.getFrozenIcon(t,e);r&&i.push(r)}if(this.checkDropDownIcon(this._table,t,e)){const t=this.dropDownAbsoluteIcon;i.push(t)}const r=this.getDropDownStateIcons(this._table,t,e);r.length&&i.push(...r);const{headerIcon:o}=this._table._getHeaderLayoutMap(t,e),n=this.getHierarchyIcon(t,e);if(n&&i.push(n),o){let r;if("function"==typeof o){r=o({col:t,row:e,value:this._table.getCellValue(t,e),dataValue:this._table.getCellOriginValue(t,e),table:this._table})}else r=o;const n=kR(),s=t=>{let e;e="string"==typeof t?n[t]:t,e&&i.push(e)};Array.isArray(r)?r.forEach(((t,e)=>{s(t)})):s(r)}return i}getFrozenIcon(t,e){if(this._table.isPivotTable()||this._table.transpose)return null;if(this._table.rightFrozenColCount&&t>=this._table.colCount-this._table.rightFrozenColCount)return null;const i=this._table.getHeaderDefine(t,e);if(i.columns&&i.columns.length>0)return null;let r=this.freezeIcon;return this._table.options.frozenColCount-1>t?r=this.frozenIcon:this._table.options.frozenColCount-1===t&&(r=this.frozenCurrentIcon),r}getSortIcon(t,e,i,r){const o="asc"===t?this.upIcon:"desc"===t?this.downIcon:this.normalIcon,n=e.getHeaderDefine(i,r);let s;return n&&(s="function"==typeof n.showSort?n.showSort({col:i,row:r,table:this._table}):n.showSort),!n||!1===s||!J(s)&&!n.sort||n.columns&&n.columns.length>0?null:o}getSortIconForPivotTable(t,e,i,r){const o=e.getHeaderDefine(i,r);let n;if(o&&(n="function"==typeof o.showSort?o.showSort({col:i,row:r,table:this._table}):o.showSort),!o||!1===n||!J(n)&&!o.sort||o.columns&&o.columns.length>0)return null;return"ASC"===t?.toUpperCase()?this.upIcon:"DESC"===t?.toUpperCase()?this.downIcon:this.normalIcon}getDropDownStateIcons(t,e,i){const r=t.getHeaderDefine(e,i),o=t._getHeaderLayoutMap(e,i);let{dropDownMenu:n}=o;"function"==typeof n&&(n=n({row:i,col:e,table:t}));let s=t.globalDropDownMenu;"function"==typeof s&&(s=s({row:i,col:e,table:t}));const a=[];if(Array.isArray(n)&&n.length||Array.isArray(s)&&s.length&&!r?.columns?.length){const r=n||s;let o=-1,l=-1;for(let n=0;n<r.length;n++){const s=r[n];if("object"==typeof s&&s.children&&s.children.length)for(let r=0;r<s.children.length;r++){const a=s.children[r];if(t.stateManager.menu?.dropDownMenuHighlight&&xH(t,t.stateManager.menu?.dropDownMenuHighlight,"object"==typeof a?a?.menuKey:a,e,i)){o=n,l=r;break}}if(t._dropDownMenuIsHighlight(e,i,n)){o=n;break}}if(-1!==o){let t;t=-1!==l?r[o].children[l]:r[o],t.stateIcon&&(t.stateIcon.svg?a.push({type:"svg",name:t.stateIcon.src||t.stateIcon.svg,width:t.stateIcon.width||22,height:t.stateIcon.height||22,svg:t.stateIcon.svg,positionType:JC.right,marginRight:0,funcType:QC.dropDownState,interactive:!1}):t.stateIcon.src&&a.push({type:"image",name:t.stateIcon.src||t.stateIcon.svg,width:t.stateIcon.width||22,height:t.stateIcon.height||22,src:t.stateIcon.src,positionType:JC.right,marginRight:0,funcType:QC.dropDownState,interactive:!1}))}}return a}getDropDownIconRect(t,e,i){const r=this.downIcon.hover?.width??this.downIcon?.width??0,o=this.downIcon.hover?.height??this.downIcon?.height??0,n=t.right-2-r,s=t.right-2;let a;a="middle"===i?t.top+t.height/2-r/2:"top"===i?t.top+e/2:"bottom"===i?t.bottom-2*e:t.top;return{left:n,right:s,top:a,bottom:o+a,width:r,height:o}}getHierarchyIcon(t,e){const{hierarchyState:i}=this._table._getHeaderLayoutMap(t,e);if(i){if(i===ZC.expand)return this.expandIcon;if(i===ZC.collapse)return this.collapseIcon}}getHierarchyIconWidth(){return this.expandIcon.width+(this.expandIcon.marginLeft??0)+(this.expandIcon.marginRight??0)}checkDropDownIcon(t,e,i){if(t.isPivotTable()){let r=t._getHeaderLayoutMap(e,i).dropDownMenu;if("function"==typeof r&&(r=r({row:i,col:e,table:t})),Array.isArray(r)&&r.length)return!0}else{const r=t.getHeaderDefine(e,i),o=r.dropDownMenu;let n=t.globalDropDownMenu;if("function"==typeof n&&(n=n({row:i,col:e,table:t})),Array.isArray(o)&&o.length||(!Array.isArray(r.dropDownMenu)||0!==r.dropDownMenu.length)&&Array.isArray(n)&&n.length&&!r?.columns?.length)return!0}return!1}getStyleClass(t){switch(t){case"text":case"link":return kH;case"image":case"video":return HH;case"checkbox":return LH}}setTableColumnsEditor(){const t=(e,i)=>{e?.forEach(((e,r)=>{e.editor&&(i[r].editor=e.editor),e.columns&&t(e.columns,i[r].columns)}))};t(this._table.options.columns,this._table.internalProps.columns)}}class IH extends EventTarget{_container;_table;_input;constructor(t,e){if(super(),this._table=t,"node"===Ew.mode)return;const i=document.createElement("div");i.style.opacity="0",i.dataset.vtable="vtable",i.style.pointerEvents="none",i.classList.add("input-container");const r=this._input=document.createElement("input");i.appendChild(r),r.classList.add("table-focus-control"),r.dataset.vtable="vtable",r.readOnly=!0,e.appendChild(i),this._container=i}focus(){this._input.focus({preventScroll:!0})}setFocusRect(t,e){const i=this._input;i.value=e,i.select();const r=t.top-this._table.scrollTop,o=t.left-this._table.scrollLeft;i.style.top=`${r.toFixed()}px`,i.style.left=`${o.toFixed()}px`,i.style.width=`${t.width.toFixed()}px`,i.style.height=`${t.height.toFixed()}px`}get input(){return this._input}release(){this._container.parentElement?.removeChild(this._container)}}class zH{data;cumulativeSum;difference;totalSum;table;isUpdate=!1;_keys=[];_sorted=!1;constructor(t){this.data=new Map,this._keys.length=0,this.cumulativeSum=new Map,this.difference=new Map,this.totalSum=0,this.table=t}get length(){return this.data.size}clear(){this._keys=[],this.data.clear(),this.cumulativeSum.clear(),this.difference.clear(),this.totalSum=0}clearRange(){this.cumulativeSum.clear(),this.difference.clear()}add(t,e){if(!J(e))return;const i=this.table.getRowHeight(t);this.data.has(t)||(this._keys.push(t),this._sorted=!1),this.data.set(t,e),this.totalSum+=e,this.updateDifference(t,e-i)}remove(t){if(this.data.has(t)){const e=this.data.get(t);this.data.delete(t);const i=this._keys.indexOf(t);-1!==i&&this._keys.splice(i,1),this.totalSum-=e;const r=this.table.getRowHeight(t);this.updateDifference(t,r-e)}}put(t,e){if(J(e))if(this.data.has(t)){const i=this.data.get(t);if(i===e)return;this.data.set(t,e);const r=e-i;this.totalSum+=r,this.updateDifference(t,r)}else this.add(t,e)}get(t){return this.data.get(t)}has(t){return this.data.has(t)}_sort(){const{_keys:t}=this;this._sorted||(t.sort(((t,e)=>t<e?-1:t>e?1:0)),this._sorted=!0)}updateDifference(t,e){const i=this.difference.get(t)??0;this.difference.set(t,i+e),this.update()}getSumInRange(t,e){return this.calculatePrefixSum(e)-this.calculatePrefixSum(t-1)}updateCumulativeSum(t,e){for(const[i,r]of this.cumulativeSum)i>=t&&this.cumulativeSum.set(i,r+e)}calculatePrefixSum(t){if(t<0)return 0;if(this.cumulativeSum.has(t)){let e=this.cumulativeSum.get(t);for(const[i,r]of this.difference)i<=t&&(e+=r);return e}return this.dealDiffenence(),this.getCumulativeSum(t)}getCumulativeSum(t){let e=0;for(let i=t;i>=0;i--){if(this.cumulativeSum.has(i)){e+=this.cumulativeSum.get(i);break}e+=this.data.get(i)??this.table.getRowHeight(i)}return this.cumulativeSum.set(t,e),e}update(){this.isUpdate||(this.isUpdate=!0,setTimeout((()=>{this.dealDiffenence(),this.isUpdate=!1}),0))}dealDiffenence(){for(const[t]of this.cumulativeSum)for(const[e,i]of this.difference)if(t>=e){const e=this.cumulativeSum.get(t);this.cumulativeSum.set(t,e+i)}this.difference.clear()}insert(t,e){for(let e=t;e<=this.getLastIndex();e++)this.cumulativeSum.delete(e);const i=this.getLastIndex()+1;this.adjustOrder(t,t+1,i-t),J(e)&&this.put(t,e)}getLastIndex(){return this._sort(),this._keys[this._keys.length-1]}delLast(){const t=this.getLastIndex();this.remove(t)}delete(t){if(!this.has(t))return;for(let e=t;e<=this.getLastIndex();e++)this.cumulativeSum.delete(e);const e=this.getLastIndex();this.adjustOrder(t+1,t,e-t),this.delLast()}adjustOrder(t,e,i){this.clearRange(),this._sort();const{_keys:r}=this;if(t>e){const o=[];for(let n=OH(r,t+i-1);n>=0;n--){const s=r[n];if(s>=t)o.push(this.get(s));else if(e<=s&&s<t)this.put(s+i,this.get(s));else if(s<e)break}for(let t=0;t<i;t++)this.put(e+t,o[i-1-t])}const{length:o}=r;if(t<e){const n=[];for(let s=OH(r,t);s<o;s++){const o=r[s];if(o>=t&&o<t+i)n.push(this.get(o));else if(t+i<=o&&o<=e)this.put(o-i,this.get(o));else if(o>e)break}for(let t=0;t<i;t++)this.put(e+t,n[t])}}exchangeOrder(t,e,i,r,o){const{_keys:n}=this;if(this._sorted||(n.sort(((t,e)=>t<e?-1:t>e?1:0)),this._sorted=!0),t>i){const r=[],s=[];for(let o=OH(n,i);o<OH(n,t)+e;o++){const i=n[o];i>=t&&i<t+e?s.push(this.get(i)):r.push(this.get(i))}for(let t=0;t<e;t++)this.put(o+t,s[t]);for(let t=0;t<r.length;t++)this.put(o+e+t,r[t])}else{const s=[],a=[];for(let o=OH(n,t);o<OH(n,i)+r;o++){const i=n[o];i>=t&&i<t+e?a.push(this.get(i)):s.push(this.get(i))}for(let t=0;t<e;t++)this.put(o+t,a[t]);for(let e=0;e<s.length;e++)this.put(t+e,s[e])}}}function OH(t,e){let i=0,r=t.length-1;for(;i<=r;){const o=Math.floor((i+r)/2);if(t[o]===e)return o;t[o]>e?r=o-1:i=o+1}return r<0?0:r}class DH{dragReorderIconName;_table;constructor(t){this._table=t;const e=kR();this.dragReorderIconName=e[tw.dragReorderIconName]}getIcons(t,e){return[this.dragReorderIconName]}}class WH{sharedVar;hasHideNode=!1;sizeIncludeParent=!1;setExpandLevel;hierarchyType;tree={id:0,dimensionKey:"",value:"",children:[],level:-1,afterSpanLevel:-1,levelSpan:1,startIndex:0,size:0,startInTotal:0,hierarchyState:void 0};totalLevel=0;expandedMaxLevel=0;dimensionKeys=new Pv;dimensionKeysIncludeVirtual=new Pv;cache=new Map;constructor(t,e,i="grid",r=void 0){this.sizeIncludeParent=null!=r,this.setExpandLevel=r,this.hierarchyType=i,this.sharedVar=e,this.reset(t)}reset(t){this.totalLevel=0,this.expandedMaxLevel=0,this.hasHideNode=!1,this.cache.clear(),this.dimensionKeys=new Pv,this.dimensionKeysIncludeVirtual=new Pv,this.tree.children=t,this.setTreeNode(this.tree,0,this.tree)}setTreeNode(t,e,i){t.startIndex=e,t.startInTotal=(i.startInTotal??0)+t.startIndex,t.hide&&(this.hasHideNode=!0),(t.dimensionKey??t.indicatorKey)&&(t.virtual||this.dimensionKeys.contain(t.indicatorKey?Nv:t.dimensionKey)||this.dimensionKeys.put(t.level,t.indicatorKey?Nv:t.dimensionKey),this.dimensionKeysIncludeVirtual.contain(t.indicatorKey?Nv:t.dimensionKey)||this.dimensionKeysIncludeVirtual.put(t.level,t.indicatorKey?Nv:t.dimensionKey),t.id||(t.id=++this.sharedVar.seqId));let r=t.dimensionKey&&this.sizeIncludeParent?1:0;const o=t.children||t.columns;return"grid"===this.hierarchyType||null===this.hierarchyType?o?.length>=1?o.forEach((e=>{e.level=(t.level??0)+1,"grid"===this.hierarchyType&&(e.afterSpanLevel=(t.afterSpanLevel??0)+(t.levelSpan??1)),this.totalLevel=Math.max(this.totalLevel,e.level+1),r+=this.setTreeNode(e,r,t)})):r=1:t.hierarchyState===ZC.expand&&o?.length>=1?o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.expandedMaxLevel=Math.max(this.expandedMaxLevel,e.level+1),r+=this.setTreeNode(e,r,t)})):t.hierarchyState===ZC.collapse&&o?.length>=1?o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.setTreeNode(e,r,t)})):!t.hierarchyState&&t.level+1<this.setExpandLevel&&(o?.length>=1||!0===o)?(o[0]?.indicatorKey&&"grid-tree"===this.hierarchyType||(t.hierarchyState=ZC.expand),o?.length>=1&&o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.expandedMaxLevel=Math.max(this.expandedMaxLevel,e.level+1),r+=this.setTreeNode(e,r,t)}))):o?.length>=1||!0===o?(o[0]?.indicatorKey&&"grid-tree"===this.hierarchyType||(t.hierarchyState=ZC.collapse),o?.length>=1&&o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.setTreeNode(e,r,t)}))):(t.hierarchyState=ZC.none,r=1),t.size=r,r}getTreePath(t,e=30){const i=[];return this.searchPath(t,this.tree,i,e),i.shift(),i}findNodeById(t,e){return t.find((t=>t.id===e))}searchPath(t,e,i,r){if(!e)return;if(t<e.startIndex||t>=e.startIndex+e.size)return;if(i.push(e),!e.children||0===e.children.length||e.level>=r)return;const o=t-e.startIndex;if(this.cache.has(e.level+1)){const t=this.cache.get(e.level+1);if(o>=t.startIndex&&o<t.startIndex+t.size)return void this.searchPath(o,t,i,r)}let n=0,s=e.children.length-1;for(;n<=s;){const t=Math.floor((n+s)/2),a=e.children[t];if(o>=a.startIndex&&o<a.startIndex+a.size){this.cache.set(a.level,a);const t=[];this.cache.forEach(((e,i)=>{i>a.level&&t.push(i)})),t.forEach((t=>{this.cache.delete(t)})),this.searchPath(o,a,i,r);break}o<a.startIndex?s=t-1:n=t+1}}movePosition(t,e,i){let r,o,n;const s=(a,l)=>{if(void 0!==o&&void 0!==n)return;a.level===t&&(a.startInTotal===e&&(o=l),a.startInTotal<=i&&i<=a.startInTotal+a.size-1&&(n=l));const h=a.children||a.columns;if(h&&a.level<t){r=a;for(let t=0;t<h.length;t++)(e>=h[t].startInTotal&&e<=h[t].startInTotal+h[t].size||i>=h[t].startInTotal&&i<=h[t].startInTotal+h[t].size)&&s(h[t],t)}};s(this.tree,0);const a=r.children||r.columns,l=a.splice(o,1);l.unshift(n,0),Array.prototype.splice.apply(a,l)}getCopiedTree(){const t=Ct(this.tree.children);return KH(t),t}}function NH(t,e){e?.forEach((e=>{const i={dimensionKey:e.dimensionKey,indicatorKey:e.indicatorKey,value:e.value,hierarchyState:e.hierarchyState,children:void 0,virtual:e.virtual??!1,levelSpan:e.levelSpan??1};t.push(i),e.children&&(i.children=[],NH(i.children,e.children))}))}function GH(t,e){let i=0;return t?.forEach((t=>{e?i++:t.children&&0!==t.children.length||i++,t.children&&(i+=GH(t.children,e))})),i}function VH(t,e,i,r,o,n){const s=t.id,a=n.rowsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey))??n.columnsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey)),l=n.indicatorsDefine?.find((e=>"string"!=typeof e&&(t.indicatorKey?e.indicatorKey===t.indicatorKey:e.title===t.value&&!t.dimensionKey))),h={id:s,title:t.value??l?.title,field:t.dimensionKey,style:"function"==typeof(l??a)?.headerStyle?(l??a)?.headerStyle:Object.assign({},(l??a)?.headerStyle),headerType:l?.headerType??a?.headerType??"text",headerIcon:l?.headerIcon??a?.headerIcon,define:Object.assign({},t,l??Object.assign({},a,{sort:void 0})),fieldFormat:l?.headerFormat??a?.headerFormat,dropDownMenu:l?.dropDownMenu??a?.dropDownMenu,pivotInfo:{value:t.value,dimensionKey:t.dimensionKey,isPivotCorner:!1},width:a?.width,minWidth:a?.minWidth,maxWidth:a?.maxWidth,showSort:l?.showSort??a?.showSort,sort:l?.sort,description:a?.description};l?(l.customRender&&(t.customRender=l.customRender),J(n._indicators?.find((t=>t.indicatorKey===l.indicatorKey)))||n._indicators?.push({id:++n.sharedVar.seqId,indicatorKey:l.indicatorKey,field:l.indicatorKey,fieldFormat:l?.format,cellType:l?.cellType??l?.columnType??"text",chartModule:"chartModule"in l?l.chartModule:null,chartSpec:"chartSpec"in l?l.chartSpec:null,noDataRenderNothing:"noDataRenderNothing"in l&&l.noDataRenderNothing,sparklineSpec:"sparklineSpec"in l?l.sparklineSpec:null,style:l?.style,icon:l?.icon,define:Object.assign({},t,l,{dragHeader:a?.dragHeader}),width:l?.width,minWidth:l?.minWidth,maxWidth:l?.maxWidth,disableColumnResize:l?.disableColumnResize})):t.indicatorKey&&(J(n._indicators?.find((e=>e.indicatorKey===t.indicatorKey)))||n._indicators?.push({id:++n.sharedVar.seqId,indicatorKey:t.indicatorKey,field:t.indicatorKey,cellType:"text",define:Object.assign({},t)})),i[s]=h,n._headerObjects[s]=h;for(let t=o-1;t>=0;t--)e[t][n.colIndex]=r[t];if(e[o][n.colIndex]=s,t.levelSpan>1)for(let i=1;i<t.levelSpan;i++){if(!e[o+i]){e[o+i]=[];for(let t=0;t<n.colIndex;t++)e[o+i][t]=e[o][t]}e[o+i][n.colIndex]=s}if(t.children?.length>=1)n._addHeaders(e,o+(t.levelSpan??1),t.children??[],[...r,...Array(t.levelSpan??1).fill(s)],i);else{for(let t=o+1;t<e.length;t++)e[t][n.colIndex]=s;n.colIndex++}}function jH(t,e,i,r,o,n,s,a,l,h,c,d){const u=t.id,g=d.rowsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey))??d.columnsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey)),p=d.indicatorsDefine?.find((e=>"string"!=typeof e&&(t.indicatorKey?e.indicatorKey===t.indicatorKey:e.title===t.value&&!t.dimensionKey))),f={id:u,title:t.value??p?.title,field:t.dimensionKey,style:"function"==typeof(p??g)?.headerStyle?(p??g)?.headerStyle:Object.assign({},(p??g)?.headerStyle),headerType:p?.headerType??g?.headerType??"text",headerIcon:p?.headerIcon??g?.headerIcon,define:Object.assign(t,{linkJump:(p??g)?.linkJump,linkDetect:(p??g)?.linkDetect,templateLink:(p??g)?.templateLink,keepAspectRatio:(p??g)?.keepAspectRatio??!1,imageAutoSizing:(p??g)?.imageAutoSizing,headerCustomRender:(p??g)?.headerCustomRender,headerCustomLayout:(p??g)?.headerCustomLayout,dragHeader:g?.dragHeader,disableHeaderHover:!!(p??g)?.disableHeaderHover,disableHeaderSelect:!!(p??g)?.disableHeaderSelect,showSort:p?.showSort??g?.showSort,hide:p?.hide}),fieldFormat:p?.headerFormat??g?.headerFormat,dropDownMenu:p?.dropDownMenu??g?.dropDownMenu,pivotInfo:{value:t.value,dimensionKey:t.dimensionKey,isPivotCorner:!1},hierarchyLevel:t.level,dimensionTotalLevel:n,hierarchyState:t.hierarchyState,width:g?.width,minWidth:g?.minWidth,maxWidth:g?.maxWidth,showSort:p?.showSort??g?.showSort,sort:p?.sort,description:g?.description,parentCellId:r[r.length-1]};p?(p.customRender&&(t.customRender=p.customRender),J(d._indicators?.find((t=>t.indicatorKey===p.indicatorKey)))||d._indicators?.push({id:++d.sharedVar.seqId,indicatorKey:p.indicatorKey,field:p.indicatorKey,fieldFormat:p?.format,cellType:p?.cellType??p?.columnType??"text",chartModule:"chartModule"in p?p.chartModule:null,chartSpec:"chartSpec"in p?p.chartSpec:null,noDataRenderNothing:"noDataRenderNothing"in p&&p.noDataRenderNothing,sparklineSpec:"sparklineSpec"in p?p.sparklineSpec:null,style:p?.style,icon:p?.icon,define:Object.assign({},t,p,{dragHeader:g?.dragHeader}),width:p?.width,minWidth:p?.minWidth,maxWidth:p?.maxWidth,disableColumnResize:p?.disableColumnResize})):t.indicatorKey&&(J(d._indicators?.find((e=>e.indicatorKey===t.indicatorKey)))||d._indicators?.push({id:++d.sharedVar.seqId,indicatorKey:t.indicatorKey,field:t.indicatorKey,cellType:"text",define:Object.assign({},t)})),i[u]=f,d._headerObjects[u]=f;for(let t=o-1;t>=0;t--)e[t][d.colIndex]=r[t];e[o][d.colIndex]=u;const m=Math.min((h?c:!c)?s:s-1,t.levelSpan??1e3);if(m>0)for(let t=o+1;t<m;t++){if(!e[t]){e[t]=[];for(let i=0;i<d.colIndex;i++)e[t][i]=e[o][i]}e[t][d.colIndex]=u}if((t.hierarchyState===ZC.expand&&t).children?.length>=1)d._addHeadersForGridTreeMode(e,o+(t.levelSpan??1),t.children??[],[...r,...Array(t.levelSpan??1).fill(u)],n,s,a&&t.hierarchyState===ZC.expand,l,i,h);else{const a=(h?c:!c)?s:s-1;for(let t=o+1;t<a;t++)e[t]||(e[t]=[]),e[t][d.colIndex]=u;if(o<=a-1&&(h&&!1===c||!h&&!0===c)){let c=t;const g=a-o;for(;c&&!c.children?.[0].indicatorKey;)c=c.children[0];d._addHeadersForGridTreeMode(e,s-1,c.children??[],[...r,...Array(Math.max(g,t.levelSpan??1)).fill(u)],n,s,!0,l,i,h)}else d.colIndex++}}function UH(t,e,i,r,o,n,s,a,l){const h=t.id,c=a.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey)),d=l.indicatorsDefine?.find((e=>"string"!=typeof e&&(t.indicatorKey?e.indicatorKey===t.indicatorKey:e.title===t.value))),u={id:h,title:t.value??d.title,field:t.dimensionKey,style:t.level+1===n||"function"==typeof(d??c)?.headerStyle?(d??c)?.headerStyle:Object.assign({},(d??c)?.headerStyle,{textAlign:"left"}),headerType:d?.headerType??c?.headerType??"text",headerIcon:d?.headerIcon??c?.headerIcon,define:Object.assign(t,{linkJump:(d??c)?.linkJump,linkDetect:(d??c)?.linkDetect,templateLink:(d??c)?.templateLink,keepAspectRatio:(d??c)?.keepAspectRatio??!1,imageAutoSizing:(d??c)?.imageAutoSizing,headerCustomRender:(d??c)?.headerCustomRender,headerCustomLayout:(d??c)?.headerCustomLayout,dragHeader:c?.dragHeader,disableHeaderHover:!!(d??c)?.disableHeaderHover,disableHeaderSelect:!!(d??c)?.disableHeaderSelect,showSort:d?.showSort??c?.showSort,hide:d?.hide}),fieldFormat:d?.headerFormat??c?.headerFormat,dropDownMenu:d?.dropDownMenu??c?.dropDownMenu,pivotInfo:{value:t.value,dimensionKey:t.dimensionKey,isPivotCorner:!1},hierarchyLevel:t.level,dimensionTotalLevel:n,hierarchyState:t.hierarchyState,width:c?.width,minWidth:c?.minWidth,maxWidth:c?.maxWidth,parentCellId:r[r.length-1]};d?(d.customRender&&(t.customRender=d.customRender),J(l._indicators?.find((t=>t.indicatorKey===d.indicatorKey)))||l._indicators?.push({id:++l.sharedVar.seqId,indicatorKey:d.indicatorKey,field:d.indicatorKey,fieldFormat:d?.format,cellType:d?.cellType??d?.columnType??"text",chartModule:"chartModule"in d?d.chartModule:null,chartSpec:"chartSpec"in d?d.chartSpec:null,noDataRenderNothing:"noDataRenderNothing"in d&&d.noDataRenderNothing,sparklineSpec:"sparklineSpec"in d?d.sparklineSpec:null,style:d?.style,icon:d?.icon,define:Object.assign({},t,d,{dragHeader:c?.dragHeader}),width:d?.width,minWidth:d?.minWidth,maxWidth:d?.maxWidth,disableColumnResize:d?.disableColumnResize})):t.indicatorKey&&(J(l._indicators?.find((e=>e.indicatorKey===t.indicatorKey)))||l._indicators?.push({id:++l.sharedVar.seqId,indicatorKey:t.indicatorKey,field:t.indicatorKey,cellType:"text",define:Object.assign({},t)})),i[h]=u,l._headerObjects[h]=u,e[o][l.colIndex]=h;for(let t=o-1;t>=0;t--)e[t][l.colIndex]=r[t];if(t.hierarchyState===ZC.expand&&t.children?.length>=1)s&&l.colIndex++,l._addHeadersForTreeMode(e,o,t.children??[],[...r,h],n,s&&t.hierarchyState===ZC.expand,a,i);else{s&&l.colIndex++;for(let t=o+1;t<e.length;t++)e[t][l.colIndex]=h}}function KH(t){for(let e=0;e<t.length;e++){const i=t[e];delete i.level,delete i.startIndex,delete i.id,delete i.levelSpan,delete i.size,delete i.startInTotal;const r=i.children||i.columns;r&&KH(r)}}function $H(t,e,i,r,o){for(let n=t.length-1;n>=0;n--){const s=t[n];if(e.push(s),r&&s.hide)t.splice(n,1);else if(s.indicatorKey){const r=i?.find((t=>t.indicatorKey===s.indicatorKey))?.hide;"function"==typeof r?r({dimensionPaths:e,table:o})&&t.splice(n,1):r&&t.splice(n,1)}else s.children&&s.children.length>0&&$H(s.children,e,i,r,o);e.pop()}}function XH(t,e){let i,r;e.columnTree&&(!1!==t.options.indicatorsAsCol&&!1!==t.options.supplementIndicatorNodes&&(t.internalProps.columnTree=YH(t.internalProps.columnTree,e.indicators)),i=new WH(t.internalProps.columnTree??[],t.layoutNodeId,t.options.columnHierarchyType,"grid"!==t.options.columnHierarchyType?t.options.columnExpandLevel??1:void 0)),e.rowTree&&(!1===t.options.indicatorsAsCol&&!1!==t.options.supplementIndicatorNodes&&(t.internalProps.rowTree=YH(t.internalProps.rowTree,e.indicators)),r=new WH(t.internalProps.rowTree??[],t.layoutNodeId,t.options.rowHierarchyType,"grid"!==t.options.rowHierarchyType?t.options.rowExpandLevel??1:void 0));const o=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():e.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],n=i?.dimensionKeys?.count?i.dimensionKeys.valueArr():e.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=e.indicators?.reduce(((e,i)=>("string"==typeof i?e.push(i):(e.push(i.indicatorKey),(i.chartSpec||i.sparklineSpec)&&(t.internalProps.dataConfig?.aggregationRules?t.internalProps.dataConfig.aggregationRules.find((t=>t.indicatorKey===i.indicatorKey))||t.internalProps.dataConfig.aggregationRules.push({field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:XC.NONE}):t.internalProps.dataConfig?t.internalProps.dataConfig.aggregationRules=[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:XC.NONE}]:t.internalProps.dataConfig={aggregationRules:[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:XC.NONE}]})),e)),[])??[];return"grid"!==e.rowHierarchyType&&(e.extensionRows?.length??0)>=1&&e.extensionRows?.forEach((t=>{const e=[];t.rows.forEach((t=>{"string"==typeof t?e.push(t):e.push(t.dimensionKey)})),o.push(...e)})),{rowKeys:o,columnKeys:n,indicatorKeys:s,columnDimensionTree:i,rowDimensionTree:r}}function YH(t,e){const i=(t,r)=>{t.forEach((t=>{t.indicatorKey||r||t.children?.length&&t.children?t.children&&Array.isArray(t.children)&&i(t.children,r||!!t.indicatorKey):t.children=e?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title??t.indicatorKey}))}))};return t?.length?i(t,!1):t=e?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title??t.indicatorKey})),t}function qH(t,e,i,r){const o=[];for(let t=0;t<e?.length;t++){const i=e[t];i?.hide&&o.push(i)}(o.length||i)&&$H(t,[],o,i,r)}function ZH(t,e){const i=function(t,e){if(!t.internalProps.frozenRowCount)return null;let{scrollTop:i}=t;const r=t.internalProps.frozenRowCount;for(let o=0;o<r;o++){const r=t.getRowHeight(o),n=i+r;if(n>e)return{top:i,row:o,bottom:n,height:r};i=n}return null}(e,t);return i||(tk(t,e)??{top:-1,row:-1,bottom:-1,height:-1})}function JH(t,e){const i=function(t,e){if(!t.internalProps.frozenColCount)return null;let{scrollLeft:i}=t;const r=t.internalProps.frozenColCount;for(let o=0;o<r;o++){const r=t.getColWidth(o),n=i+r;if(n>e)return{left:i,col:o,right:n,width:r};i=n}return null}(e,t);return i||(QH(t,e)??{left:-1,col:-1,right:-1,width:1})}function QH(t,e){if(0===t)return{left:0,col:0,right:0,width:0};const i=function(t,e){if(e._colRangeWidthsMap.get("$0$"+(e.colCount-1))){let i=0,r=e.colCount-1;for(;r-i>1;){const o=Math.floor((i+r)/2);if(t<e._colRangeWidthsMap.get(`$0$${o}`))r=o;else{if(!(t>e._colRangeWidthsMap.get(`$0$${o}`)))return o;i=o}}return r}return Math.min(Math.ceil(t/e.internalProps.defaultColWidth),e.colCount-1)}(t,e),r=e.getColsWidth(0,i);return t>=r?((i,r)=>{let o=r-e.getColWidth(i);const{colCount:n}=e.internalProps;for(let r=i;r<n;r++){const i=e.getColWidth(r),n=o+i;if(Math.round(o)<=Math.round(t)&&Math.round(t)<Math.round(n))return{left:o,col:r,right:n,width:i};o=n}return null})(i,r):((i,r)=>{let o=r;for(let r=i;r>=0;r--){const i=e.getColWidth(r),n=o-i;if(Math.round(n)<=Math.round(t)&&Math.round(t)<Math.round(o))return{left:n,col:r,right:o,width:i};o=n}return null})(i,r)}function tk(t,e){if(0===t)return{top:0,row:0,bottom:0,height:0};const i=!0===e.options.customConfig?._disableColumnAndRowSizeRound?Math.floor:Math.round,r=function(t,e){let i=e.defaultRowHeight;e._rowRangeHeightsMap.get("$0$"+(e.rowCount-1))&&(i=e._rowRangeHeightsMap.get("$0$"+(e.rowCount-1))/e.rowCount);return Math.min(Math.ceil(t/i),e.rowCount-1)}(t,e),o=e.getRowsHeight(0,r);return t>=o?((r,o)=>{let n=o-e.getRowHeight(r);const{rowCount:s}=e.internalProps;for(let o=r;o<s;o++){const r=e.getRowHeight(o),s=n+r;if(i(n)<=i(t)&&i(t)<i(s))return{top:n,row:o,bottom:s,height:r};n=s}return null})(r,o):((r,o)=>{let n=o;for(let o=r;o>=0;o--){const r=e.getRowHeight(o),s=n-r;if(i(s)<=i(t)&&i(t)<i(n))return{top:s,row:o,bottom:n,height:r};n=s}return null})(r,o)}function ek(t,e,i){if(0===t)return{left:0,col:0,right:0,width:0};if(t-=i.tableX,e&&t>i.tableNoFrameWidth-i.getRightFrozenColsWidth()&&t<i.tableNoFrameWidth&&t<=i.getAllColsWidth())for(let e=0;e<i.rightFrozenColCount;e++)if(t>i.tableNoFrameWidth-i.getColsWidth(i.colCount-e-1,i.colCount-1))return{col:i.colCount-e-1,left:void 0,right:void 0,width:void 0};return QH(t,i)}function ik(t,e,i){if(0===t)return{top:0,row:0,bottom:0,height:0};if(t-=i.tableY,e&&t>i.tableNoFrameHeight-i.getBottomFrozenRowsHeight()&&t<i.tableNoFrameHeight)for(let e=0;e<i.rightFrozenColCount;e++)if(t>i.tableNoFrameHeight-i.getRowsHeight(i.rowCount-e-1,i.rowCount-1))return{row:i.rowCount-e-1,top:void 0,bottom:void 0,height:void 0};return tk(t,i)}function rk(t){return 2===t.length&<(t[0])&<(t[1])&&t[1]>=t[0]}function ok(t){const e=t[1]-t[0],i=t[1]*t[0]<0;let r=t[0]<=0?0-t[0]:0,o=t[1]>0?t[1]-0:0;return 0===e?t[0]<0?(r=1,o=0):t[0]>0&&(r=0,o=1):(r/=e,o/=e),{total:e,negative:r,positive:o,includeZero:i,domain:t,extendable_min:!0,extendable_max:!0}}function nk(t,e){const{positive:i,negative:r,extendable_min:o,extendable_max:n,domain:s}=t,{positive:a,negative:l,extendable_min:h,extendable_max:c,domain:d}=e;if(a>0){if(!h)return!1;let t=r/i;n&&(t=r/Math.max(i,a),s[1]=-s[0]/t),d[0]=-d[1]*t}else if(l>0){if(!c)return!1;let t=i/r;o&&(t=i/Math.max(r,r),s[0]=-s[1]/t),d[1]=-d[0]*t}return!0}function sk(t,e){const{extendable_min:i,extendable_max:r,domain:o}=t,{positive:n,negative:s,domain:a}=e;return(0!==n||0!==s)&&(!(n>0&&!r)&&(!(s>0&&!i)&&(o[0]=a[0],o[1]=a[1],!0)))}function ak(t,e){const{positive:i,negative:r,extendable_max:o,domain:n}=t,{positive:s,negative:a,extendable_min:l,domain:h}=e;if(o&&l){const t=Math.max(r,a)/Math.max(i,s);n[1]=-n[0]/t,h[0]=-h[1]*t}else if(l){const t=r/i;h[0]=-h[1]*t}else{if(!o)return!1;{const t=a/s;n[1]=-n[0]/t}}return!0}function lk(t,e){const{extendable_min:i,domain:r}=t,{extendable_max:o,domain:n}=e;return!(!i||!o)&&(r[0]=-r[1],n[1]=-n[0],!0)}function hk(t,e,i,r){return 0!==r&&t?()=>t.map((t=>{const r=(t-e.min)/(e.max-e.min),o=(i.max-i.min)*r+i.min;return Math.round(100*o)/100})):void 0}function ck(t,e,i){if(i._table.isPivotChart())if(i.indicatorsAsCol){if(i.hasTwoIndicatorAxes&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){const r=bk("top",t,e+1,t,i.columnHeaderLevelCount-1,t,e,1,i);if(!r)return;const o=tA(IR("padding",i._table._getCellStyle(t,e+1),t,e+1,i._table)),{range:n,ticks:s,axisOption:a,targetTicks:l,targetRange:h,index:c,theme:d}=r;return at(a?.min)&&(n.min=a.min,n.min>0&&(a.zero=!1)),at(a?.max)&&(n.max=a.max,n.max<0&&(a.zero=!1)),_t({range:n},a,{orient:"top",type:a?.type||"linear",label:{flush:!0},tick:{tickMode:hk(l,h,n,c)},__ticksForVTable:s,__vtableChartTheme:d,__vtablePadding:o})}if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){const r=i.getIndicatorKeyInChartSpec(t,e);let o=null;r?.forEach((t=>{const e=i.getIndicatorInfo(t);e&&(o=e)}));const n=bk("bottom",t,e-1,t,e,t,e,0,i);if(!n)return;const s=tA(IR("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table)),{range:a,ticks:l,axisOption:h,index:c,targetTicks:d,targetRange:u,theme:g}=n;return at(h?.min)&&(a.min=h.min,a.min>0&&(h.zero=!1)),at(h?.max)&&(a.max=h.max,a.max<0&&(h.zero=!1)),_t({title:{visible:!0,text:o?.title},range:a},h,{orient:"bottom",type:h?.type||"linear",label:{flush:!0},tick:{tickMode:hk(d,u,a,c)},__ticksForVTable:l,__vtableChartTheme:g,__vtablePadding:s})}if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){let r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);ot(r)&&(r=r[0]);const o=(i.dataset.collectedValues[r]??[])[i.getRowKeysPath(t,e)??""]??[],{axisOption:n,theme:s,chartType:a}=dk(t+1,e,"left",i);if(!1===n?.visible)return;const l=tA(IR("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),h=i.getRawChartSpec(t+1,e);return _t({domain:"linear"===n?.type?void 0:Array.from(o),range:"linear"===n?.type?o:void 0,title:{autoRotate:!0}},n,{orient:"left",type:n?.type??"band",__vtableChartTheme:s,inverse:fk(n,"horizontal"===(h?.direction??("scatter"===a?"vertical":"horizontal"))),__vtablePadding:l})}}else{if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){const r=i.getIndicatorKeyInChartSpec(t,e);let o=null;r?.forEach((t=>{const e=i.getIndicatorInfo(t);e&&(o=e)}));const n=bk("left",t+1,e,t,e,t,e,0,i);if(!n)return;const s=tA(IR("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),{range:a,ticks:l,axisOption:h,index:c,targetTicks:d,targetRange:u,theme:g}=n;return at(h?.min)&&(a.min=h.min,a.min>0&&(h.zero=!1)),at(h?.max)&&(a.max=h.max,a.max<0&&(h.zero=!1)),_t({title:{visible:!0,text:o?.title,autoRotate:!0},range:a},h,{orient:"left",type:h?.type||"linear",label:{flush:!0},tick:{tickMode:hk(d,u,a,c)},__ticksForVTable:l,__vtableChartTheme:g,__vtablePadding:s})}if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){const r=bk("right",t-1,e,i.rowHeaderLevelCount-1,e,t,e,1,i);if(!r)return;const o=tA(IR("padding",i._table._getCellStyle(t-1,e),t-1,e,i._table)),{range:n,ticks:s,axisOption:a,index:l,targetTicks:h,targetRange:c,theme:d}=r;return at(a?.min)&&(n.min=a.min,n.min>0&&(a.zero=!1)),at(a?.max)&&(n.max=a.max,n.max<0&&(a.zero=!1)),_t({range:n,title:{autoRotate:!0}},a,{orient:"right",type:a?.type||"linear",label:{flush:!0},tick:{tickMode:hk(h,c,n,l)},__ticksForVTable:s,__vtableChartTheme:d,__vtablePadding:o})}if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){let r=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);ot(r)&&(r=r[0]);const o=i.dataset.collectedValues[r]??[],n=i.getColKeysPath(t,e),s=o?.[n??""]??[],{axisOption:a,isPercent:l,theme:h,chartType:c}=dk(t,e-1,"bottom",i);if(!1===a?.visible)return;const d=tA(IR("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table));return _t({domain:"linear"===a?.type?void 0:Array.from(s),range:"linear"===a?.type?s:void 0},a,{orient:"bottom",type:a?.type??"band",__vtableChartTheme:h,__vtablePadding:d})}}}function dk(t,e,i,r){const o=r.getRawChartSpec(t,e),n=o.axes??[];if(r._table.pivotChartAxes.forEach((t=>{-1===n.findIndex((e=>t.orient===e.orient))&&n.push(t)})),o&&ot(n)){const t=n.find((t=>t.orient===i));if(t){const{seriesIndex:e,seriesId:n}=t;let s,a;J(n)&&ot(o.series)?s=(ot(n)?n:[n]).map((t=>{const e=o.series.findIndex((e=>e.id===t));return e>=0&&(a=o.series[e]),e})):J(e)&&ot(o.series)&&(s=e);const{isZeroAlign:l,isTickAlign:h}=uk(o,i,r);return{axisOption:t,isPercent:o.percent,isZeroAlign:l,isTickAlign:h,seriesIndice:s,theme:o.theme,chartType:a?.type??o.type}}}const s=r._table.pivotChartAxes.find((t=>t.orient===i)),{isZeroAlign:a,isTickAlign:l}=uk(o,i,r);return{axisOption:s,isPercent:!1,isZeroAlign:a,isTickAlign:l,theme:o.theme,chartType:o.type}}function uk(t,e,i){const r=[];let o;"left"===e||"right"===e?r.push("left","right"):"top"!==e&&"bottom"!==e||r.push("top","bottom"),o=t&&ot(t.axes)?t.axes:i._table.pivotChartAxes;let n=!1,s=!1;if(ot(o)){const t=[];o.forEach((e=>{r.includes(e.orient)&&t.push(e)}));for(let e=0;e<t.length;e++){const i=t[e];i.sync&&i.sync.axisId&&t.find((t=>t.id===i.sync.axisId))&&(n=n||i.sync.zeroAlign,s=s||i.sync.tickAlign)}}return{isZeroAlign:n,isTickAlign:s}}function gk(t,e,i,r,o){if(ot(o)){const n={min:1/0,max:-1/0};for(let s=0;s<o.length;s++){const a=gk(t,e,i,r,o[s]);a&&(n.min=Math.min(n.min,a.min),n.max=Math.max(n.max,a.max))}return isFinite(n.min)&&isFinite(n.max)?n:null}let n=e?.[o];if(ot(n)&&(n=n[0]),!n)return null;const s=t[n],a=_t({},s?.[r??""]??{min:0,max:1});return a.positiveMax&&a.positiveMax>a.max&&(a.max=a.positiveMax),a.negativeMin&&a.negativeMin<a.min&&(a.min=a.negativeMin),a.min===a.max&&(a.min>0?a.min=0:a.max=0),a}var pk;function fk(t,e){let i=t?.inverse;var r;return e&&(r=t?.orient,"bottom"!==r&&"top"!==r)&&(i=!J(t?.inverse)||!t?.inverse),i}function mk(t,e,i,r){if(!ot(t.axes)||0===t.axes.length)return i&&r||!i&&!r;for(let e=0;e<t.axes.length;e++){const o=t.axes[e];if(!i&&r&&"bottom"===o.orient&&"linear"===o.type)return!0;if(i&&r&&"bottom"===o.orient&&"linear"!==o.type)return!0;if(!i&&!r&&"left"===o.orient&&"linear"!==o.type)return!0;if(i&&!r&&"left"===o.orient&&"linear"===o.type)return!0}if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const o=e[t];if(!i&&r&&"bottom"===o.orient&&"linear"===o.type)return!0;if(i&&r&&"bottom"===o.orient&&"linear"!==o.type)return!0;if(!i&&!r&&"left"===o.orient&&"linear"!==o.type)return!0;if(i&&!r&&"left"===o.orient&&"linear"===o.type)return!0}return i&&r||!i&&!r}function bk(t,e,i,r,o,n,s,a,l){const h=l.getIndicatorKeyInChartSpec(r,o);let c;c="top"===t||"bottom"===t?l.getColKeysPath(n,s):l.getRowKeysPath(n,s);const d=yk(e,i,a,t,h,c,l);if(!d)return;const u="bottom"===t?"top":"top"===t?"bottom":"left"===t?"right":"left",{targetRange:g,targetTicks:p}=wk(e,i,d.index,d.isZeroAlign,d.isTickAlign,d.range,h,u,c,l);if(0!==d.index&&p){const e=sx.getFunction("getAxisDomainRangeAndLabels"),{range:i,ticks:r}=e(d.range.min,d.range.max,d.axisOption,d.isZeroAlign,"bottom"===t||"top"===t?l._table.getColWidth(n)||l._table.tableNoFrameWidth:l._table.getRowHeight(s)||l._table.tableNoFrameHeight,{targetTicks:p,targetRange:g});d.range.min=i[0],d.range.max=i[1],d.ticks=r}return d.targetRange=g,d.targetTicks=p,d}function yk(t,e,i,r,o,n,s){const{axisOption:a,isPercent:l,isZeroAlign:h,isTickAlign:c,seriesIndice:d,theme:u,chartType:g}=dk(t,e,r,s),p=gk(s.dataset.collectedValues,o,h,n,d??i);if(!p)return;let f;if(l&&(p.min=p.min<0?-1:0,p.max=p.max>0?1:0),(a?.zero||p.min===p.max)&&(p.min=Math.min(p.min,0),p.max=Math.max(p.max,0)),a?.nice||c){const i=sx.getFunction("getAxisDomainRangeAndLabels"),{range:o,ticks:n}=i(p.min,p.max,a,h,"bottom"===r||"top"===r?s._table.getColWidth(t)||s._table.tableNoFrameWidth:s._table.getRowHeight(e)||s._table.tableNoFrameHeight);a?.nice&&(p.min=o[0],p.max=o[1]),f=n}return at(a?.min)&&(p.min=a.min),at(a?.max)&&(p.max=a.max),{index:d??i,range:p,ticks:f,isZeroAlign:h,isTickAlign:c,axisOption:a,theme:u,chartType:g}}function Ck(t,e,i,r,o,n,s,a){const{range:l,isZeroAlign:h,isTickAlign:c,axisOption:d}=yk(t,e,i,r,n,s,a),{targetRange:u,targetTicks:g}=wk(t,e,i,h,c,l,n,o,s,a);if(0!==i&&g){const i=sx.getFunction("getAxisDomainRangeAndLabels"),{range:o,ticks:n}=i(l.min,l.max,_t({},d,{nice:!0,tick:{forceTickCount:g.length}}),h,"bottom"===r||"top"===r?a._table.getColWidth(t)||a._table.tableNoFrameWidth:a._table.getRowHeight(e)||a._table.tableNoFrameHeight,{targetTicks:g,targetRange:u});l.min=o[0],l.max=o[1]}return{axisOption:d,range:l,targetTicks:g,targetRange:u}}function wk(t,e,i,r,o,n,s,a,l,h){let c,d;if(!r&&!o)return{targetTicks:c,targetRange:d};const u=yk(t,e,s.length-1-i,a,s,l,h);if(u){const{range:s,ticks:l}=u;if(d=s,r){const t=function(t,e){const i=[t.min,t.max],r=[e.min,e.max];if(!rk(i)||!rk(r))return;const o=ok(i),n=ok(r),{positive:s,negative:a,extendable_min:l,extendable_max:h,includeZero:c}=o,{positive:d,negative:u,extendable_min:g,extendable_max:p,includeZero:f}=n;if(0===s&&0===a){if(!sk(o,n))return}else if(0===d&&0===u){if(!sk(n,o))return}else if(c||f)if(c&&!f){if(!nk(o,n))return}else if(f&&!c){if(!nk(n,o))return}else{if(a===u)return;if(a>u){if(!ak(o,n))return}else if(!ak(n,o))return}else{if(0===a&&0===d){if(!lk(o,n))return}else if(0===u&&0===s&&!lk(n,o))return;if(0===a&&0===u)if(0===i[0]&&r[0]>0){if(!g)return;r[0]=0}else{if(!(0===r[0]&&i[0]>0))return;if(!l)return;i[0]=0}if(0===s&&0===d)if(0===i[1]&&r[1]>0){if(!p)return;r[1]=0}else{if(!(0===r[1]&&i[1]>0))return;if(!h)return;i[1]=0}}return{range1:i,range2:r}}(n,s);t&&(n.min=t.range1[0],n.max=t.range1[1],d.min=t.range2[0],d.max=t.range2[1])}o&&(c=r?function(t,e,i,r,o,n){const s=sx.getFunction("getAxisDomainRangeAndLabels"),{axisOption:a,isZeroAlign:l}=dk(e,i,0===r?"right":"left",n),{ticks:h}=s(t.min,t.max,a,l,"bottom"===o||"top"===o?n._table.getColWidth(e)||n._table.tableNoFrameWidth:n._table.getRowHeight(i)||n._table.tableNoFrameHeight);return h}(d,t,e,i,a,h):l)}return{targetTicks:c,targetRange:d}}!function(t){t.vertical="vertical",t.horizontal="horizontal"}(pk||(pk={}));class vk{table;customCellStyle;customCellStyleArrangement;constructor(t,e,i){this.table=t,this.customCellStyle=e,this.customCellStyleArrangement=i}getCustomCellStyle(t,e){const i=this.getCustomCellStyleIds(t,e);if(i.length){const r=[];return i.forEach((i=>{const o=this.getCustomCellStyleOption(i);if(q(o?.style)){const i=o.style({col:t,row:e,table:this.table,value:this.table.getCellValue(t,e),dataValue:this.table.getCellOriginValue(t,e),cellHeaderPaths:this.table.getCellHeaderPaths(t,e)});r.push(i)}else o?.style&&r.push(o.style)})),_t({},...r)}}getCustomCellStyleIds(t,e){const i=[],r=this.table.getCellRange(t,e);for(let t=r.start.col;t<=r.end.col;t++)for(let e=r.start.row;e<=r.end.row;e++)this.customCellStyleArrangement.forEach((r=>{r.cellPosition.range?r.cellPosition.range.start.col<=t&&r.cellPosition.range.end.col>=t&&r.cellPosition.range.start.row<=e&&r.cellPosition.range.end.row>=e&&i.push(r.customStyleId):r.cellPosition.col===t&&r.cellPosition.row===e&&i.push(r.customStyleId)}));return i}getCustomCellStyleOption(t){return this.customCellStyle.find((e=>e.id===t))}registerCustomCellStyle(t,e){const i=this.customCellStyle.findIndex((e=>e.id===t));-1===i?this.customCellStyle.push({id:t,style:e}):this.customCellStyle[i]={id:t,style:e},this.customCellStyleArrangement.forEach((e=>{const i=e.cellPosition;if(e.customStyleId===t)if(i.range)for(let t=Math.max(0,i.range.start.col);t<=Math.min(this.table.colCount-1,i.range.end.col);t++)for(let e=Math.max(0,i.range.start.row);e<=Math.min(this.table.rowCount-1,i.range.end.row);e++)this.table.scenegraph.updateCellContent(t,e);else this.table.scenegraph.updateCellContent(i.col,i.row)})),this.table.scenegraph.updateNextFrame()}arrangeCustomCellStyle(t,e,i){const r=this.customCellStyleArrangement.findIndex((e=>e.cellPosition.range&&t.range?e.cellPosition.range.start.col===t.range.start.col&&e.cellPosition.range.start.row===t.range.start.row&&e.cellPosition.range.end.col===t.range.end.col&&e.cellPosition.range.end.row===t.range.end.row:e.cellPosition.col===t.col&&e.cellPosition.row===t.row));if(-1===r&&!e)return;if(-1===r&&e)this.customCellStyleArrangement.push({cellPosition:{col:t.col,row:t.row,range:t.range},customStyleId:e});else{if(this.customCellStyleArrangement[r].customStyleId===e)return;e?this.customCellStyleArrangement[r].customStyleId=e:this.customCellStyleArrangement.splice(r,1)}const o=this.getCustomCellStyleOption(e)?.style;if(o){i=!0;for(const t in o)if(-1===$C.indexOf(t)){i=!1;break}}if(t.range)for(let e=Math.max(0,t.range.start.col);e<=Math.min(this.table.colCount-1,t.range.end.col);e++)for(let r=Math.max(0,t.range.start.row);r<=Math.min(this.table.rowCount-1,t.range.end.row);r++){const t=this.table.getCellRange(e,r);for(let e=t.start.col;e<=t.end.col;e++)for(let r=t.start.row;r<=t.end.row;r++)this.table.scenegraph.updateCellContent(e,r,i)}else this.table.scenegraph.updateCellContent(t.col,t.row,i);this.table.scenegraph.updateNextFrame()}updateCustomCell(t,e){this.customCellStyle.length=0,this.customCellStyleArrangement.length=0,t.forEach((t=>{this.registerCustomCellStyle(t.id,t.style)})),e.forEach((t=>{this.arrangeCustomCellStyle(t.cellPosition,t.customStyleId)}))}hasCustomCellStyle(t){return this.customCellStyle.some((e=>e.id===t))}}function xk(t,e){t=t.clone();for(const i in e){const r=e[i];J(r)&&(t[`_${i}`]=r)}return t}const _k={};function Sk(t){return Math.floor(t)===t}class Ak extends Vo{onUpdate(t,e,i){if(this.from.x!==this.to.x){const i=t?this.to.x:this.from.x+Math.floor((this.to.x-this.from.x)*e);this.params.table.scrollLeft=i}if(this.from.y!==this.to.y){const i=t?this.to.y:this.from.y+Math.floor((this.to.y-this.from.y)*e);this.params.table.scrollTop=i}}}class Rk{table;timeline;ticker;animation;tempGraphic;constructor(t){this.table=t,this.timeline=new No,this.ticker=new Do,this.ticker.addTimeline(this.timeline);this.ticker.setFPS(60),this.tempGraphic=Jc({})}scrollTo(t,i){const r={x:this.table.scrollLeft,y:this.table.scrollTop},{col:o,row:n}=t;let s,a,l=o,h=n;at(o)&&!Sk(o)&&(l=Math.floor(o),s=o-l),at(n)&&!Sk(n)&&(h=Math.floor(n),a=n-h);const c=this.table.getCellRect(l??0,h??0);let{left:d,top:u}=c;s&&(d+=s*c.width),a&&(u+=a*c.height);const g={x:at(o)?d-this.table.getFrozenColsWidth():this.table.scrollLeft,y:at(n)?u-this.table.getFrozenRowsHeight():this.table.scrollTop},p=Y(i)?i?3e3:0:i?.duration??3e3,f=Y(i)?i?"linear":"":i?.easing??"linear";new Uo(e.GenAutoIncrementId(),this.timeline).bind(this.tempGraphic).play(new Ak(r,g,p,f,{graphic:this.tempGraphic,table:this.table})),this.ticker.start()}clear(){this.timeline.clear(),this.ticker.stop()}}function Tk(t){return q(t)?t:ot(t)?(e,i)=>t.find((t=>t.range.start.col<=e&&t.range.end.col>=e&&t.range.start.row<=i&&t.range.end.row>=i)):void 0}const{toBoxArray:Bk}=vv,{isTouchEvent:Mk}=wv,Pk=/^\$(\d+)\$(\d+)$/;!function(){if("node"===Ew.mode)return;const t=document.createElement("style");t.id="vtable-style-styleSheet",t.textContent="\n.vtable .input-container {\n\tposition: absolute;\n\ttop:0px;\n}\n.vtable .table-scrollable {\n\tposition: absolute;\n\toverflow: scroll;\n}\n.vtable .table-scrollable::-webkit-scrollbar-button{\n\tbackground-color: transparent;\n}\n.vtable .table-scrollable::-webkit-scrollbar-track-piece{\n\tbackground-color: transparent;\n}\n.vtable .table-scrollable::-webkit-scrollbar-corner {\n\tbackground-color: transparent;\n}\n.vtable .table-scrollable::-webkit-scrollbar-thumb {\n\tborder-radius : 4px;\n\tbackground-color : rgba(100, 100, 100, .5);\n}\n\n.vtable .table-scroll-end-point {\n\topacity: 0;\n\tposition: relative;\n}\n.vtable {\n\t/* 设置overflow: auto 应该是为了滚动条的某个问题 但设置了auto之后 dom的下拉菜单只能显示在vtable节点中 超出会截断;现在去掉auto 暂时滚动条的问题没有发现 */\n\t/* overflow: auto; */\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: left;\n -webkit-font-smoothing:auto;\n\n overflow: hidden; // for react-vtable dom custom element\n}\n\n.vtable-gantt {\n\t/* 设置overflow: auto 应该是为了滚动条的某个问题 但设置了auto之后 dom的下拉菜单只能显示在vtable节点中 超出会截断;现在去掉auto 暂时滚动条的问题没有发现 */\n\t/* overflow: auto; */\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: left;\n -webkit-font-smoothing:auto;\n\n overflow: hidden; // for react-vtable dom custom element\n}\n.vtable .table-component-container {\n pointer-events: none;\n overflow: hidden;\n position: absolute;\n top: 0px;\n left: 0px;\n}\n.vtable > canvas {\n\tposition: absolute;\n\twidth: 0;\n\theight: 0;\n}\n.vtable .table-focus-control {\n\tposition: relative !important;\n\twidth: 1px;\n\theight: 1px;\n\topacity: 0;\n\tpadding: 0;\n\tmargin: 0;\n\tbox-sizing: border-box;\n\tpointer-events: none;\n\tmax-width: 500px;\n\tmax-height: 500px;\n\tfloat: none !important;\n}\n.vtable input.table-focus-control::-ms-clear {\n\tvisibility: hidden;\n}\n.vtable input.table-focus-control.composition {\n\topacity: 1;\n\tmax-width: none;\n\tmax-height: none;\n}\n",document.head.appendChild(t)}();class Hk extends yw{internalProps;showFrozenIcon=!0;padding;globalDropDownMenu;tableNoFrameWidth;tableNoFrameHeight;tableX;tableY;_widthMode;_heightMode;_autoFillWidth;_autoFillHeight;_widthAdaptiveMode;_heightAdaptiveMode;customRender;canvasWidth;canvasHeight;_vDataSet;scenegraph;stateManager;eventManager;editorManager;animationManager;_pixelRatio;canvasSizeSeted;static get EVENT_TYPE(){return _v}options;version="1.17.1";pagination;id=`VTable${Date.now()}`;headerStyleCache;bodyStyleCache;bodyMergeTitleCache;bodyBottomStyleCache;container;isReleased=!1;_chartEventMap={};customCellStylePlugin;columnWidthComputeMode;reactCustomLayout;_hasAutoImageColumn;constructor(t,e={}){if(super(),!t&&"node"!==e.mode&&!e.canvas)throw new Error("vtable's container is undefined");!1===e.customConfig?.imageAnonymous&&(lu.isImageAnonymous=!1);const{frozenColCount:i=0,unfreezeAllOnExceedsMaxWidth:r,frozenRowCount:o,defaultRowHeight:n=40,defaultHeaderRowHeight:s,defaultColWidth:a=80,defaultHeaderColWidth:l,widthMode:h="standard",heightMode:c="standard",autoFillWidth:d=!1,autoFillHeight:u=!1,widthAdaptiveMode:g="only-body",heightAdaptiveMode:p="only-body",keyboardOptions:f,eventOptions:m,rowSeriesNumber:b,columnResizeMode:y,rowResizeMode:C="none",resize:w,dragHeaderMode:v,dragOrder:x,showFrozenIcon:_,allowFrozenColCount:S,padding:A,hover:R,menu:T,select:B,customRender:M,pixelRatio:P=$P,renderChartAsync:H,renderChartAsyncBatchCount:k,mode:L,modeParams:E,canvasWidth:F,canvasHeight:I,overscrollBehavior:z,limitMinWidth:O,limitMinHeight:D,clearDOM:W=!0}=e;this.container=t,this.options=e,this._widthMode=h,this._heightMode=c,this._widthAdaptiveMode=g,this._heightAdaptiveMode=p,this._autoFillWidth=d,this._autoFillHeight=u,this.customRender=M,this.padding={top:0,right:0,left:0,bottom:0},A&&("number"==typeof A?(this.padding.top=A,this.padding.left=A,this.padding.bottom=A,this.padding.right=A):(A.top&&(this.padding.top=A.top),A.bottom&&(this.padding.bottom=A.bottom),A.left&&(this.padding.left=A.left),A.right&&(this.padding.right=A.right))),J(I)&&J(F)&&(this.canvasSizeSeted=!0),this.tableNoFrameWidth=0,this.tableNoFrameHeight=0,this.canvasWidth=at(F)?F:void 0,this.canvasHeight=at(I)?I:void 0,this.columnWidthComputeMode=e.columnWidthComputeMode??"normal";const N=this.internalProps={};void 0!==_&&(this.showFrozenIcon=_),"number"==typeof S&&S<=0&&(this.showFrozenIcon=!1),this.options.canvas?("node"!==Ew.mode&&(N.element=this.options.canvas.parentElement,N.element.style.position="relative"),N.focusControl=new IH(this,N.element),N.canvas=this.options.canvas,N.context=N.canvas.getContext("2d")):"node"!==Ew.mode&&(N.element=function(t,e="vtable"){const i=document.createElement("div");i.setAttribute("tabindex","0"),i.classList.add(e),i.style.outline="none",i.style.margin=`${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`;const r=(i.offsetWidth||i.parentElement?.offsetWidth||1)-1,o=(i.offsetHeight||i.parentElement?.offsetHeight||1)-1;return i.style.width=r&&r-t.left-t.right+"px"||"0px",i.style.height=o&&o-t.top-t.bottom+"px"||"0px",i}(this.padding),N.focusControl=new IH(this,N.element),N.canvas=document.createElement("canvas"),N.element.appendChild(N.canvas),N.context=N.canvas.getContext("2d"),e.customConfig?.createReactContainer&&function(t){const{internalProps:e}=t;e.bodyDomContainer=document.createElement("div"),e.bodyDomContainer.id="vtable-body-dom-container",e.bodyDomContainer.classList.add("table-component-container"),e.element.appendChild(e.bodyDomContainer),e.headerDomContainer=document.createElement("div"),e.headerDomContainer.id="vtable-header-dom-container",e.headerDomContainer.classList.add("table-component-container"),e.element.appendChild(e.headerDomContainer),e.frozenBodyDomContainer=document.createElement("div"),e.frozenBodyDomContainer.id="vtable-frozen-body-dom-container",e.frozenBodyDomContainer.classList.add("table-component-container"),e.element.appendChild(e.frozenBodyDomContainer),e.frozenHeaderDomContainer=document.createElement("div"),e.frozenHeaderDomContainer.id="vtable-frozen-header-dom-container",e.frozenHeaderDomContainer.classList.add("table-component-container"),e.element.appendChild(e.frozenHeaderDomContainer),e.rightFrozenBodyDomContainer=document.createElement("div"),e.rightFrozenBodyDomContainer.id="vtable-right-frozen-body-dom-container",e.rightFrozenBodyDomContainer.classList.add("table-component-container"),e.element.appendChild(e.rightFrozenBodyDomContainer),e.rightFrozenHeaderDomContainer=document.createElement("div"),e.rightFrozenHeaderDomContainer.id="vtable-right-frozen-header-dom-container",e.rightFrozenHeaderDomContainer.classList.add("table-component-container"),e.element.appendChild(e.rightFrozenHeaderDomContainer),e.frozenBottomDomContainer=document.createElement("div"),e.frozenBottomDomContainer.id="vtable-frozen-bottom-dom-container",e.frozenBottomDomContainer.classList.add("table-component-container"),e.element.appendChild(e.frozenBottomDomContainer),e.bottomDomContainer=document.createElement("div"),e.bottomDomContainer.id="vtable-bottom-dom-container",e.bottomDomContainer.classList.add("table-component-container"),e.element.appendChild(e.bottomDomContainer),e.rightFrozenBottomDomContainer=document.createElement("div"),e.rightFrozenBottomDomContainer.id="vtable-right-frozen-bottom-dom-container",e.rightFrozenBottomDomContainer.classList.add("table-component-container"),e.element.appendChild(e.rightFrozenBottomDomContainer)}(this)),N.handler=new Bv,at(this.options.resizeTime)&&(N.handler.resizeTime=this.options.resizeTime),N.pixelRatio=P,N.frozenColCount=i,N.frozenRowCount=o,N.unfreezeAllOnExceedsMaxWidth=r??!0,N.defaultRowHeight=n,N.defaultHeaderRowHeight=s??n,N.defaultColWidth=a,N.defaultHeaderColWidth=l??a,N.keyboardOptions=f,N.eventOptions=m,N.rowSeriesNumber=b,N.columnResizeMode=w?.columnResizeMode??y,N.rowResizeMode=w?.rowResizeMode??C,N.dragHeaderMode=x?.dragHeaderMode??v??"none",N.renderChartAsync=H,aB(k),N.overscrollBehavior=z??"auto",N._rowHeightsMap=new zH(this),N._rowRangeHeightsMap=new Map,N._colRangeWidthsMap=new Map,N._widthResizedColMap=new Set,N._heightResizedRowMap=new Set,this.colWidthsMap=new Pv,this.colContentWidthsMap=new Pv,this.colWidthsLimit={};const G=this;if(N.calcWidthContext={_:N,get full(){return"node"===Ew.mode?G.canvasWidth/(P??1):this._.canvas.width/(this._.context.pixelRatio??window.devicePixelRatio)}},N.cellTextOverflows={},N.focusedTable=!1,N.theme=rx.of(e.theme??rx.DEFAULT),N.theme.isPivot=this.isPivotTable(),PR(N.theme.functionalIconsStyle),t?(W&&(t.innerHTML=""),t.appendChild(N.element),this._updateSize()):this._updateSize(),N.bodyHelper=new sH(this),N.headerHelper=new FH(this),N.rowSeriesNumberHelper=new DH(this),N.autoWrapText=e.autoWrapText,N.enableLineBreak=e.enableLineBreak,N.allowFrozenColCount=e.allowFrozenColCount??0,N.limitMaxAutoWidth=e.limitMaxAutoWidth??450,N.limitMinWidth=null!=O?"number"==typeof O?O:O?10:0:10,N.limitMinHeight=null!=D?"number"==typeof D?D:D?10:0:10,this.scenegraph=new yP(this),this.stateManager=new FP(this),this.eventManager=new iH(this),this.animationManager=new Rk(this),e.legends){N.legends=[];const t=sx.getFunction("createLegend");if(Array.isArray(e.legends)){for(let i=0;i<e.legends.length;i++)N.legends.push(t(e.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else N.legends.push(t(e.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if(N.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:qC.bottom},e.tooltip),"html"===N.tooltip.renderMode){const t=sx.getComponent("tooltipHandler");t&&(N.tooltipHandler=new t(this,N.tooltip.confine))}if(N.menu=Object.assign({renderMode:"html"},e.menu),Array.isArray(e.menu?.dropDownMenuHighlight)&&this.setDropDownMenuHighlight(e.menu?.dropDownMenuHighlight),(Array.isArray(e.menu?.defaultHeaderMenuItems)||"function"==typeof e.menu?.defaultHeaderMenuItems)&&(this.globalDropDownMenu=e.menu.defaultHeaderMenuItems),"html"===N.menu.renderMode){const t=sx.getComponent("menuHandler");N.menuHandler=new t(this)}this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyMergeTitleCache=new Map,this.bodyBottomStyleCache=new Map,N.stick={changedCells:new Map},N.customMergeCell=Tk(e.customMergeCell);const V=sx.getComponent("customCellStylePlugin");V&&(this.customCellStylePlugin=new V(this,e.customCellStyle??[],e.customCellStyleArrangement??[])),this._adjustCanvasSizeByOption()}_adjustCanvasSizeByOption(){"auto"!==this.options.canvasHeight&&"auto"!==this.options.canvasWidth||setTimeout((()=>{let t,e;if("auto"===this.options.canvasHeight){let t=0;if(this.theme.frameStyle?.innerBorder){t+=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0])[1]??0}else if(this.theme.frameStyle){const e=Bk(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0]);t+=(e[0]??0)+(i[0]??0)+((e[2]??0)+(i[2]??0))}e=Math.min(this.options.maxCanvasHeight?this.options.maxCanvasHeight-t:2e4,this.getAllRowsHeight())+t}else e=this.canvasHeight;if("auto"===this.options.canvasWidth){let e=0;if(this.theme.frameStyle?.innerBorder){e+=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0])[2]??0}else if(this.theme.frameStyle){const t=Bk(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0]);e+=(t[1]??0)+(i[1]??0)+((t[3]??0)+(i[3]??0))}t=Math.min(this.options.maxCanvasWidth?this.options.maxCanvasWidth-e:2e4,this.getAllColsWidth())+e}else t=this.canvasWidth;this.setCanvasSize(t,e)}),0)}throttleInvalidate=function(t,e){let i=null;return function(...r){i||(i=setTimeout((()=>{t.apply(this,r),i=null}),e))}}(this.render.bind(this),200);getContainer(){return this.container}getElement(){return this.internalProps.element}get canvas(){return this.internalProps.canvas}setCanvasSize(t,e){this.canvasWidth=t,this.canvasHeight=e,this.options.canvasHeight=e,this.options.canvasWidth=t,this.resize()}resize(){this._updateSize(),this.internalProps.legends?.forEach((t=>{t?.resize()})),this.internalProps.title&&this.internalProps.title.resize(),this.internalProps.emptyTip&&this.internalProps.emptyTip.resize(),this.scenegraph.resize()}get rowCount(){return this.internalProps.rowCount}set rowCount(t){this.internalProps.rowCount=t}get colCount(){return this.internalProps.colCount??0}set colCount(t){this.internalProps.colCount=t}get frozenColCount(){return this.internalProps?.layoutMap?.frozenColCount??this.internalProps?.frozenColCount??0}set frozenColCount(t){t>=this.colCount&&(t=0),this.internalProps.frozenColCount=t,this.options.frozenColCount=t;const e=this._getMaxFrozenWidth();if(this.getColsWidth(0,t-1)>e)if(this.internalProps.unfreezeAllOnExceedsMaxWidth)this.internalProps.frozenColCount=0;else{const e=this._getComputedFrozenColCount(t);this.internalProps.frozenColCount=e}this.stateManager.setFrozenCol(this.internalProps.frozenColCount)}setFrozenColCount(t){t>=this.colCount&&(t=0),this.internalProps.frozenColCount=t,this.options.frozenColCount=t;const e=this._getMaxFrozenWidth();if(this.getColsWidth(0,t-1)>e)if(this.internalProps.unfreezeAllOnExceedsMaxWidth)this.internalProps.frozenColCount=0;else{const e=this._getComputedFrozenColCount(t);this.internalProps.frozenColCount=e}this.stateManager.setFrozenCol(this.internalProps.frozenColCount)}_setFrozenColCount(t){t>=this.colCount&&(t=0),this.internalProps.frozenColCount=t}_resetFrozenColCount(){this.options.frozenColCount&&(this.tableNoFrameWidth-this.getColsWidth(0,this.options.frozenColCount-1)<=120?this._setFrozenColCount(0):this.frozenColCount!==this.options.frozenColCount&&this._setFrozenColCount(this.options.frozenColCount))}get frozenRowCount(){return this.internalProps?.layoutMap?.frozenRowCount??this.internalProps?.frozenRowCount??0}set frozenRowCount(t){this.internalProps.frozenRowCount=t,this.stateManager.setFrozenRow(this.internalProps.frozenRowCount)}get rightFrozenColCount(){return this.internalProps?.layoutMap?.rightFrozenColCount??this.internalProps?.rightFrozenColCount??0}set rightFrozenColCount(t){this.scenegraph.dealWidthRightFrozen(t)}get bottomFrozenRowCount(){return this.internalProps?.layoutMap?.bottomFrozenRowCount??this.internalProps?.bottomFrozenRowCount??0}set bottomFrozenRowCount(t){this.scenegraph.dealWidthBottomFrozen(t)}get defaultRowHeight(){return at(this.internalProps.defaultRowHeight)?this.internalProps.defaultRowHeight:40}set defaultRowHeight(t){this.internalProps.defaultRowHeight=t,this.options.defaultRowHeight=t}get defaultHeaderRowHeight(){return this.internalProps.defaultHeaderRowHeight}set defaultHeaderRowHeight(t){this.internalProps.defaultHeaderRowHeight=t,this.options.defaultHeaderRowHeight=t}get defaultColWidth(){return this.internalProps.defaultColWidth}set defaultColWidth(t){this.internalProps.defaultColWidth=t,this.options.defaultColWidth=t}get defaultHeaderColWidth(){return this.internalProps.defaultHeaderColWidth}set defaultHeaderColWidth(t){this.internalProps.defaultHeaderColWidth=t,this.options.defaultHeaderColWidth=t}get colWidthsMap(){return this.internalProps._colWidthsMap}set colWidthsMap(t){this.internalProps._colWidthsMap=t}get colContentWidthsMap(){return this.internalProps._colContentWidthsMap}set colContentWidthsMap(t){this.internalProps._colContentWidthsMap=t}get _colRangeWidthsMap(){return this.internalProps._colRangeWidthsMap}set _colRangeWidthsMap(t){this.internalProps._colRangeWidthsMap=t}get _rowRangeHeightsMap(){return this.internalProps._rowRangeHeightsMap}set _rowRangeHeightsMap(t){this.internalProps._rowRangeHeightsMap=t}get rowHeightsMap(){return this.internalProps._rowHeightsMap}set rowHeightsMap(t){this.internalProps._rowHeightsMap=t}get colWidthsLimit(){return this.internalProps._colWidthsLimit}set colWidthsLimit(t){this.internalProps._colWidthsLimit=t}get keyboardOptions(){return this.internalProps.keyboardOptions??null}set keyboardOptions(t){this.internalProps.keyboardOptions=t??void 0}get eventOptions(){return this.internalProps.eventOptions??null}set eventOptions(t){this.internalProps.eventOptions=t??void 0}get widthMode(){return this._widthMode}set widthMode(t){t!==this._widthMode&&(this._widthMode=t,this.options.widthMode=t)}get heightMode(){return this._heightMode}set heightMode(t){t!==this._heightMode&&(this._heightMode=t,this.options.heightMode=t)}get autoFillWidth(){return this._autoFillWidth}set autoFillWidth(t){t!==this._autoFillWidth&&(this._autoFillWidth=t)}get autoFillHeight(){return this._autoFillHeight}set autoFillHeight(t){t!==this._autoFillHeight&&(this._autoFillHeight=t)}get widthAdaptiveMode(){return this._widthAdaptiveMode}set widthAdaptiveMode(t){t!==this._widthAdaptiveMode&&(this._widthAdaptiveMode=t)}get heightAdaptiveMode(){return this._heightAdaptiveMode}set heightAdaptiveMode(t){t!==this._heightAdaptiveMode&&(this._heightAdaptiveMode=t)}_colWidthDefineToPxWidth(t){return"auto"===t?0:IA(this,t)}_getMaxFrozenWidth(){return IA(this,this.options.maxFrozenWidth??"80%")}_getComputedFrozenColCount(t){const e=this._getMaxFrozenWidth();let i=t;for(;this.getColsWidth(0,i-1)>e&&(i--,!(i<=0)););return i}_getColWidthLimits(t){const e=this.colWidthsLimit[t];if(!e)return null;const i={};return e.min&&(i.min=IA(this,e.min),i.minDef=e.min),e.max&&(i.max=IA(this,e.max),i.maxDef=e.max),i}_adjustColWidth(t,e){const i=this._getColWidthLimits(t);return Math.max(function(t,e){return t?t.min&&t.min>e?t.min:t.max&&t.max<e?t.max:e:e}(i,e),0)}get pixelRatio(){return this.internalProps.pixelRatio}setPixelRatio(t){if(t!==this.internalProps?.pixelRatio){this.internalProps.pixelRatio=t;const e=this.canvasWidth;this.internalProps.calcWidthContext={_:this.internalProps,get full(){return"node"===Ew.mode?e/(t??1):this._.canvas.width/(this._.context.pixelRatio??window.devicePixelRatio)}},this.scenegraph.setPixelRatio(t)}}_updateSize(){const{padding:t}=this;let e=0,i=0;if(this.tableX=0,this.tableY=0,this.options.canvas&&this.options.viewBox)e=this.options.viewBox.x2-this.options.viewBox.x1,i=this.options.viewBox.y2-this.options.viewBox.y1,this?.scenegraph?.stage&&(this.options.viewBox?this.scenegraph.stage.setViewBox(this.options.viewBox,!1):this.scenegraph.stage.resize(e,i));else if("browser"===Ew.mode){const r=this.getElement();let o=0,n=0;if(this.canvasSizeSeted)o=this.canvasWidth,n=this.canvasHeight;else if(r.parentElement){const t=r.parentElement.style||window.getComputedStyle(r.parentElement);o=r.parentElement.offsetWidth-parseInt(t.paddingLeft||"0px",10)-parseInt(t.paddingRight||"0px",10),n=r.parentElement.offsetHeight-parseInt(t.paddingTop||"0px",10)-parseInt(t.paddingBottom||"0px",20),o=(o??1)-(this.options.tableSizeAntiJitter?1:0),n=(n??1)-(this.options.tableSizeAntiJitter?1:0)}r.style.width=o&&o-t.left-t.right+"px"||"0px",r.style.height=n&&n-t.top-t.bottom+"px"||"0px";const{canvas:s}=this.internalProps;e=(s.parentElement?.offsetWidth??1)-(this.options.tableSizeAntiJitter?1:0),i=(s.parentElement?.offsetHeight??1)-(this.options.tableSizeAntiJitter?1:0),this?.scenegraph?.stage?this.scenegraph.stage.resize(e,i):(s.style.width="",s.style.height="",s.width=e,s.height=i,s.style.width=`${e}px`,s.style.height=`${i}px`)}else"node"===Ew.mode&&(e=this.canvasWidth-1,i=this.canvasHeight-1);const r=Math.floor(e-(o=this.getTheme().scrollStyle,o?.hoverOn||o?.verticalVisible&&"none"===o?.verticalVisible||!o?.verticalVisible&&"none"===o?.visible?0:o?.width??7));var o;const n=Math.floor(i-function(t){return t?.hoverOn||t?.horizontalVisible&&"none"===t?.horizontalVisible||!t?.horizontalVisible&&"none"===t?.visible?0:t?.width??7}(this.getTheme().scrollStyle));if(this.internalProps.theme?.frameStyle){const t=Bk(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),e=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0]);this.theme.frameStyle?.innerBorder?(this.tableX=0,this.tableY=0,this.tableNoFrameWidth=r-(e[1]??0),this.tableNoFrameHeight=n-(e[2]??0)):(this.tableX=(t[3]??0)+(e[3]??0),this.tableY=(t[0]??0)+(e[0]??0),this.tableNoFrameWidth=r-((t[1]??0)+(e[1]??0))-((t[3]??0)+(e[3]??0)),this.tableNoFrameHeight=n-((t[0]??0)+(e[0]??0))-((t[2]??0)+(e[2]??0)))}}updateViewBox(t){const e=this.options?.viewBox.x2??0-this.options?.viewBox.x1??0,i=this.options?.viewBox.y2??0-this.options?.viewBox.y1??0,r=t.x2-t.x1,o=t.y2-t.y1;this.options.viewBox=t,e!==r||i!==o?this.resize():this.scenegraph.stage.setViewBox(this.options.viewBox,!0)}setViewBoxTransform(t,e,i,r,o,n){this.internalProps.modifiedViewBoxTransform=!0,this.scenegraph.stage.window.setViewBoxTransform(t,e,i,r,o,n)}get rowHierarchyType(){return"grid"}getColsWidth(t,e){if(t>e)return 0;t=Math.max(t,0),e=Math.min(e,(this.colCount??1/0)-1);const i=this._colRangeWidthsMap.get(`$${t}$${e}`);if(null!=i)return i;const r=this._colRangeWidthsMap.get(`$${t}$${e-1}`);if(null!=r){const i=r+this.getColWidth(e);return t>=0&&e>=0&&!Number.isNaN(i)&&this._colRangeWidthsMap.set(`$${t}$${e}`,Math.round(i)),Math.round(i)}let o=0;for(let i=t;i<=e;i++)o+=this.getColWidth(i);return t>=0&&e>=0&&this._colRangeWidthsMap.set(`$${t}$${e}`,Math.round(o)),Math.round(o)}getRowHeight(t){if(J(this.rowHeightsMap.get(t))){if(this.options.customConfig?._disableColumnAndRowSizeRound){const e=this.rowHeightsMap.get(t);let i;return i=t<this.frozenRowCount?this.rowHeightsMap.getSumInRange(0,t):t>=this.rowCount-this.bottomFrozenRowCount?this.rowHeightsMap.getSumInRange(t,this.rowCount-1):this.rowHeightsMap.getSumInRange(this.frozenRowCount,t),i=Number(i.toFixed(2)),Number.isInteger(i)?Math.ceil(e):Math.floor(e)}return this.rowHeightsMap.get(t)}const e=this.getDefaultRowHeight(t);return at(e)?e:this.defaultRowHeight}getDefaultColumnWidth(t){return this.isRowHeader(t,0)||this.isCornerHeader(t,0)?Array.isArray(this.defaultHeaderColWidth)?this.defaultHeaderColWidth[t]??this.defaultColWidth:this.defaultHeaderColWidth:this.isRightFrozenColumn(t,this.columnHeaderLevelCount)&&this.isPivotTable()?Array.isArray(this.defaultHeaderColWidth)?this.defaultHeaderColWidth[this.rowHeaderLevelCount-this.rightFrozenColCount]??this.defaultColWidth:this.defaultHeaderColWidth:this.defaultColWidth}getDefaultRowHeight(t){return this.isColumnHeader(0,t)||this.isCornerHeader(0,t)||this.isSeriesNumberInHeader(0,t)?Array.isArray(this.defaultHeaderRowHeight)?this.defaultHeaderRowHeight[t]??this.internalProps.defaultRowHeight:this.defaultHeaderRowHeight:this.isBottomFrozenRow(t)?Array.isArray(this.defaultHeaderRowHeight)?this.defaultHeaderRowHeight[this.columnHeaderLevelCount>0?this.columnHeaderLevelCount-this.bottomFrozenRowCount:0]??this.internalProps.defaultRowHeight:this.defaultHeaderRowHeight:this.internalProps.defaultRowHeight}_setRowHeight(t,e,i){this.rowHeightsMap.put(t,this.options.customConfig?._disableColumnAndRowSizeRound?e:Math.round(e)),i&&this._clearRowRangeHeightsMap(t)}setRowHeight(t,e){this.scenegraph.setRowHeight(t,e),this.scenegraph.updateChartSizeForResizeRowHeight(t),this.internalProps._heightResizedRowMap.add(t)}getRowsHeight(t,e){if(t>e||0===this.rowCount)return 0;t=Math.max(t,0),e=Math.min(e,(this.rowCount??1/0)-1);let i=0;const r="auto"===this.options.defaultRowHeight;if("standard"!==this.heightMode||this.options.customComputeRowHeight||this.autoFillHeight||!this.internalProps.layoutMap||this.hasAutoImageColumn()||r||0!==this.internalProps._heightResizedRowMap.size){if(this.options.customConfig?._disableColumnAndRowSizeRound){const i=this.rowHeightsMap.getSumInRange(t,e);let r;return r=e<this.frozenRowCount?this.rowHeightsMap.getSumInRange(0,e):e>=this.rowCount-this.bottomFrozenRowCount?this.rowHeightsMap.getSumInRange(e,this.rowCount-1):this.rowHeightsMap.getSumInRange(this.frozenRowCount,e),r=Number(r.toFixed(2)),Number.isInteger(r)?Math.ceil(i):Math.floor(i)}i=this.rowHeightsMap.getSumInRange(t,e)}else{for(let r=t;r<Math.min(e+1,this.columnHeaderLevelCount);r++)i+=this.getRowHeight(r);e>=this.columnHeaderLevelCount&&(i+=this.defaultRowHeight*(Math.min(e,this.rowCount-this.bottomFrozenRowCount-1)-Math.max(this.columnHeaderLevelCount,t)+1));for(let t=this.rowCount-this.bottomFrozenRowCount;t<e+1;t++)i+=this.getRowHeight(t)}return Math.round(i)}getColWidthDefined(t){const{layoutMap:e}=this.internalProps;if("autoWidth"===this.widthMode)return"auto";const{width:i}=e?.getColumnWidthDefined(t)??{};return"number"==typeof i&&i<=0?0:i||this.getDefaultColumnWidth(t)}getColWidthDefinedNumber(t){const e=this.getColWidthDefined(t);return this._adjustColWidth(t,this._colWidthDefineToPxWidth(e))}isAutoRowHeight(t){return"autoHeight"===this.heightMode||(!!this.options.customComputeRowHeight||t>=0&&t<this.columnHeaderLevelCount&&"auto"===this.getDefaultRowHeight(t))}getColWidth(t){const e=this.colWidthsMap.get(t)??this.getDefaultColumnWidth(t);return"adaptive"===this.widthMode&&"number"==typeof e||this.transpose&&"number"==typeof e?this._colWidthDefineToPxWidth(e):this._adjustColWidth(t,this._colWidthDefineToPxWidth(e))}_setColWidth(t,e,i,r){this.colWidthsMap.put(t,"number"==typeof e?Math.round(e):e),i&&this._clearColRangeWidthsMap(t),r||this.stateManager.checkFrozen()}setColWidth(t,e){this.scenegraph.setColWidth(t,e),this.scenegraph.updateChartSizeForResizeColWidth(t),this.internalProps._widthResizedColMap.add(t)}_clearColRangeWidthsMap(t){if("number"!=typeof t)this._colRangeWidthsMap.clear();else{const e=this._colRangeWidthsMap.keys();for(const i of e){const e=Pk.exec(i);if(e){const r=Number(e[1]),o=Number(e[2]);t>=r&&t<=o&&this._colRangeWidthsMap.delete(i)}}}}_clearRowRangeHeightsMap(t){this.rowHeightsMap.clearRange()}_getColContentWidth(t){return Number(this.colContentWidthsMap.get(t))}_setColContentWidth(t,e){this.colContentWidthsMap.put(t,e)}getAllRowsHeight(){if(this.internalProps.rowCount<=0)return 0;return this.getRowsHeight(0,this.internalProps.rowCount-1)}getAllColsWidth(){if(this.internalProps.colCount<=0)return 0;return this.getColsWidth(0,this.internalProps.colCount-1)}getMaxColWidth(t){const e=this.colWidthsLimit[t];let i=(e&&e.max)??1/0;return"string"==typeof i&&(i=IA(this,i)),i}setMaxColWidth(t,e){(this.colWidthsLimit[t]||(this.colWidthsLimit[t]={})).max=e}getMinColWidth(t){const e=this.colWidthsLimit[t];let i=(e&&e.min)??0;return"string"==typeof i&&(i=IA(this,i)),i}setMinColWidth(t,e){(this.colWidthsLimit[t]||(this.colWidthsLimit[t]={})).min=e}getCellRect(t,e){const i=this.isFrozenCell(t,e);let r;const o=this.getColWidth(t);let n;r=i&&i.col&&this.isRightFrozenColumn(t,e)?this.getAllColsWidth()<=this.tableNoFrameWidth?this.getColsWidth(0,t-1)||0:this.tableNoFrameWidth-(this.getColsWidth(t,this.colCount-1)??0):this.getColsWidth(0,t-1)||0;const s=this.getRowHeight(e);return n=i&&i.row&&this.isBottomFrozenRow(t,e)?this.getAllRowsHeight()<=this.tableNoFrameHeight?this.getRowsHeight(0,e-1):this.tableNoFrameHeight-(this.getRowsHeight(e,this.rowCount-1)??0):this.getRowsHeight(0,e-1),new Hv(Math.round(r),Math.round(n),Math.round(o),Math.round(s))}getMergeCellRect(t,e){const i=this.getCellRange(t,e),r=this.getColsWidth(0,i.start.col-1)||0,o=this.getColsWidth(i.start.col,i.end.col),n=this.getRowsHeight(0,i.start.row-1)||0,s=this.getRowsHeight(i.start.row,i.end.row);return new Hv(Math.round(r),Math.round(n),Math.round(o),Math.round(s))}getCellRelativeRect(t,e){const i=this.isFrozenCell(t,e);let r=!0,o=!0;i?.col&&i?.row?(r=!1,o=!1):i?.col?r=!1:i?.row&&(o=!1);const n=this.getCellRect(t,e);return this._toRelativeRect(n,r,o)}getCellRangeRelativeRect(t){if(t.start){const e=this.isFrozenCell(t.start.col,t.start.row);let i=!0,r=!0;return e?.col&&e?.row?(i=!1,r=!1):e?.col?i=!1:e?.row&&(r=!1),this._toRelativeRect(this.getCellsRect(t.start.col,t.start.row,t.end.col,t.end.row),i,r)}const e=this.getCellRange(t.col,t.row),i=this.isFrozenCell(t.col,t.row);let r=!0,o=!0;return i?.col&&i?.row?(r=!1,o=!1):i?.col?r=!1:i?.row&&(o=!1),this._toRelativeRect(this.getCellsRect(e.start.col,e.start.row,e.end.col,e.end.row),r,o)}getVisibleCellRangeRelativeRect(t){let e;return e=t.start?t:this.getCellRange(t.col,t.row),this._getVisiableRect(this.getCellRangeRelativeRect(t),e)}_getVisiableRect(t,e){const i=e.start.col>=this.frozenColCount?Math.max(t.left,this.frozenColCount>=1?this.getColsWidth(0,this.frozenColCount-1):0):t.left,r=Math.min(t.right,this.tableNoFrameWidth),o=t.copy();o.left=i,o.right=r;const n=e.start.row>=this.frozenRowCount?Math.max(t.top,this.frozenRowCount>=1?this.getRowsHeight(0,this.frozenRowCount-1):0):t.top,s=Math.min(t.bottom,this.tableNoFrameHeight);return o.top=n,o.bottom=s,o}getCellsRect(t,e,i,r){let o=this.getColsWidth(0,t-1)||0,n=this.getColsWidth(t,i);const s=this.scrollLeft;this.isLeftFrozenColumn(t)&&this.isRightFrozenColumn(i)?n=this.tableNoFrameWidth-(this.getColsWidth(t+1,this.colCount-1)??0)-o:this.isLeftFrozenColumn(t)&&!this.isLeftFrozenColumn(i)?n=Math.max(n-s,this.getColsWidth(t,this.frozenColCount-1)):!this.isRightFrozenColumn(t)&&this.isRightFrozenColumn(i)?(o=Math.min(o-s,this.tableNoFrameWidth-this.getRightFrozenColsWidth()),n=this.tableNoFrameWidth-(this.getColsWidth(t+1,this.colCount-1)??0)-o):this.isRightFrozenColumn(t)&&(o=this.tableNoFrameWidth-(this.getColsWidth(t,this.colCount-1)??0));let a=this.getRowsHeight(0,e-1),l=this.getRowsHeight(e,r);const h=this.scrollTop;return this.isTopFrozenRow(e)&&this.isBottomFrozenRow(r)?l=this.tableNoFrameHeight-(this.getRowsHeight(e+1,this.rowCount-1)??0)-a:this.isTopFrozenRow(e)&&!this.isTopFrozenRow(r)?l=Math.max(l-h,this.getRowsHeight(e,this.frozenRowCount-1)):!this.isBottomFrozenRow(e)&&this.isBottomFrozenRow(r)?(a=Math.min(a-h,this.tableNoFrameHeight-this.getBottomFrozenRowsHeight()),l=this.tableNoFrameHeight-(this.getRowsHeight(e+1,this.rowCount-1)??0)-a):this.isBottomFrozenRow(e)&&(a=this.tableNoFrameHeight-(this.getRowsHeight(e,this.rowCount-1)??0)),new Hv(Math.round(o),Math.round(a),Math.round(n),Math.round(l))}getCellsRectWidth(t,e,i,r){const o=this.isFrozenCell(t,e),n=this.isFrozenCell(i,r);let s=this.getColsWidth(t,i);if(o&&o.col){const e=this.scrollLeft;n&&n.col||(s-=e,s=Math.max(s,this.getColsWidth(t,this.frozenColCount-1)))}return s}getCellRangeRect(t){if(t.start)return this.getCellsRect(t.start.col,t.start.row,t.end.col,t.end.row);const e=this.getCellRange(t.col,t.row);return this.getCellsRect(e.start.col,e.start.row,e.end.col,e.end.row)}getCellRangeRectWidth(t){if(t.start)return this.getCellsRectWidth(t.start.col,t.start.row,t.end.col,t.end.row);const e=this.getCellRange(t.col,t.row);return this.getCellsRectWidth(e.start.col,e.start.row,e.end.col,e.end.row)}isFrozenCell(t,e){const i=this.isFrozenRow(e),r=this.isFrozenColumn(t);return i||r?{row:i,col:r}:null}getRowAt(t){return ZH(t,this)}getColAt(t){return JH(t,this)}getCellAt(t,e){return function(t,e,i){const r=ZH(e,i),{row:o,top:n,bottom:s,height:a}=r,l=JH(t,i),{col:h,left:c,right:d,width:u}=l;return{row:o,col:h,rect:{left:c,right:d,top:n,bottom:s,width:u,height:a}}}(t,e,this)}getCellAtRelativePosition(t,e){return function(t,e,i){t-=i.tableX;let r=!1;(e-=i.tableY)>0&&e<i.getFrozenRowsHeight()&&(r=!0);let o=!1;t>0&&t<i.getFrozenColsWidth()&&(o=!0);let n=!1;e>i.tableNoFrameHeight-i.getBottomFrozenRowsHeight()&&e<i.tableNoFrameHeight&&e<=i.getAllRowsHeight()&&(n=!0);let s=!1;t>i.tableNoFrameWidth-i.getRightFrozenColsWidth()&&t<i.tableNoFrameWidth&&t<=i.getAllColsWidth()&&(s=!0);const a=ek((o||s?t:t+i.scrollLeft)+i.tableX,s,i),l=ik((r||n?e:e+i.scrollTop)+i.tableY,n,i);if(a&&l){const{row:t,top:e,bottom:i,height:r}=l,{col:o,left:n,right:s,width:h}=a;return{row:t,col:o,rect:{left:n,right:s,top:e,bottom:i,width:h,height:r}}}return{col:-1,row:-1}}(t,e,this)}_checkRowCol(t,e){return t>=0&&t<this.colCount&&e>=0&&e<this.rowCount}_makeVisibleCell(t,e){if(this._checkRowCol(t,e)){const i=this.isFrozenCell(t,e);if(i&&i.col&&i.row)return;const r=this.getCellRect(t,e),o=function(t){let e=0,i=0;t.frozenColCount>0&&(e=t.getFrozenColsWidth()),t.rightFrozenColCount>0&&(i=t.getRightFrozenColsWidth());let r=0,o=0;return t.frozenRowCount>0&&(r=t.getFrozenRowsHeight()),t.bottomFrozenRowCount>0&&(o=t.getBottomFrozenRowsHeight()),new Hv(t.scrollLeft+e,t.scrollTop+r,t.tableNoFrameWidth-e-i,t.tableNoFrameHeight-r-o)}(this);if(o.contains(r))return;i&&i.col||this.getColsWidth(0,this.frozenColCount-1)+r.width>this.canvas.width||(r.left<o.left?this.scrollLeft-=o.left-r.left:o.right<r.right&&(this.scrollLeft-=o.right-r.right)),i&&i.row||this.getRowsHeight(0,this.frozenRowCount-1)+r.height>this.canvas.height||(r.top<o.top?this.scrollTop-=o.top-r.top:o.bottom<r.bottom&&(this.scrollTop-=o.bottom-r.bottom))}}render(){this.scenegraph.renderSceneGraph()}renderAsync(){return this.scenegraph.updateNextFrame(),new Promise(((t,e)=>{setTimeout((()=>{t()}),0)}))}_toRelativeRect(t,e=!0,i=!0){const r=t.copy(),o=this.getVisibleRect();return r.offsetLeft(this.tableX-(e?o.left:0)),r.offsetTop(this.tableY-(i?o.top:0)),r.offsetLeft(this.options.viewBox?.x1??0),r.offsetTop(this.options.viewBox?.y1??0),r}getVisibleRect(){const{scrollTop:t,scrollLeft:e}=this,i=this.tableNoFrameWidth,r=this.tableNoFrameHeight;return new Hv(e,t,i,r)}get visibleRowCount(){const{frozenRowCount:t}=this,e=this.getVisibleRect(),i=t>0?e.top+this.getRowsHeight(0,t-1):e.top,r=this.getTargetRowAt(i);if(!r)return 0;const o=Math.max(r.top>=i?r.row:r.row+1,t);let n=this.getRowsHeight(0,o-1),s=0;const{rowCount:a}=this;for(let t=o;t<a;t++){const i=n+this.getRowHeight(t);if(e.bottom<i)break;s++,n=i}return s}getBodyVisibleCellRange(){const{scrollTop:t,scrollLeft:e}=this,i=this.getFrozenRowsHeight(),r=this.getFrozenColsWidth(),o=this.getBottomFrozenRowsHeight(),n=this.getRightFrozenColsWidth(),{row:s}=this.getRowAt(t+i+1),{col:a}=this.getColAt(e+r+1),l=this.getAllRowsHeight()>this.tableNoFrameHeight?this.getRowAt(t+this.tableNoFrameHeight-1-o).row:this.rowCount-1,h=this.getAllColsWidth()>this.tableNoFrameWidth?this.getColAt(e+this.tableNoFrameWidth-1-n).col:this.colCount-1;return h<0||l<0?null:{rowStart:s,colStart:a,rowEnd:l,colEnd:h}}getBodyVisibleRowRange(){const{scrollTop:t}=this,e=this.getFrozenRowsHeight(),i=this.getBottomFrozenRowsHeight(),{row:r}=this.getRowAt(t+e+1),o=this.getAllRowsHeight()>this.tableNoFrameHeight?this.getRowAt(t+this.tableNoFrameHeight-1-i).row:this.rowCount-1;return o<0?null:{rowStart:r,rowEnd:o}}getBodyVisibleColRange(){const{scrollLeft:t}=this,e=this.getFrozenColsWidth(),i=this.getRightFrozenColsWidth(),{col:r}=this.getColAt(t+e+1),o=this.getAllColsWidth()>this.tableNoFrameWidth?this.getColAt(t+this.tableNoFrameWidth-1-i).col:this.colCount-1;return o<0?null:{colStart:r,colEnd:o}}get visibleColCount(){const{frozenColCount:t}=this,e=this.getVisibleRect(),i=t>0?e.left+this.getColsWidth(0,t-1):e.left,r=this.getTargetColAt(i);if(!r)return 0;const o=Math.max(r.left>=i?r.col:r.col+1,t);let n=this.getColsWidth(0,o-1),s=0;const{colCount:a}=this;for(let t=o;t<a;t++){const i=n+this.getColWidth(t);if(e.right<i)break;s++,n=i}return s}get scrollTop(){return this.stateManager.scroll.verticalBarPos}set scrollTop(t){this.stateManager.setScrollTop(t)}get scrollLeft(){return this.stateManager.scroll.horizontalBarPos}set scrollLeft(t){this.stateManager.setScrollLeft(t)}getScrollLeft(){return this.scrollLeft}getScrollTop(){return this.scrollTop}setScrollLeft(t){this.scrollLeft=Math.ceil(t)}setScrollTop(t){this.scrollTop=Math.ceil(t)}getCellOverflowText(t,e){return this.scenegraph.getCellOverflowText(t,e)}addReleaseObj(t){if(!t||!t.release||"function"!=typeof t.release)throw new Error("not releaseObj!");(this.internalProps.releaseList=this.internalProps.releaseList||[]).push(t)}dispose(){this.release()}release(){const t=this.internalProps;if(this.isReleased)return;t.tooltipHandler?.release?.(),t.menuHandler?.release?.(),nR.clearAll(),super.release?.(),t.handler?.release?.(),this.eventManager.release(),t.focusControl?.release?.(),t.legends?.forEach((t=>{t?.release()})),t.title?.release(),t.title=null,t.emptyTip?.release(),t.emptyTip=null,t.layoutMap.release(),t.releaseList&&(t.releaseList.forEach((t=>t?.release?.())),t.releaseList=null),this.scenegraph.stage.release(),this.scenegraph.proxy.release(),t.focusControl.release();const{parentElement:e}=t.element;e&&!this.options.canvas&&e.removeChild(t.element),this.editorManager?.editingEditor?.onEnd?.(),this.isReleased=!0,this.scenegraph=null,this.internalProps=null,this.reactCustomLayout?.clearCache()}fireListeners(t,e){return super.fireListeners(t,e)}updateOption(t){this.options=t,this._hasAutoImageColumn=void 0;const{frozenColCount:e=0,unfreezeAllOnExceedsMaxWidth:i,defaultRowHeight:r=40,defaultHeaderRowHeight:o,defaultColWidth:n=80,defaultHeaderColWidth:s=80,keyboardOptions:a,eventOptions:l,rowSeriesNumber:h,columnResizeMode:c,rowResizeMode:d="none",resize:u,dragHeaderMode:g,dragOrder:p,showFrozenIcon:f,allowFrozenColCount:m,padding:b,hover:y,menu:C,select:w,pixelRatio:v,widthMode:x,heightMode:_,autoFillWidth:S,autoFillHeight:A,widthAdaptiveMode:R,heightAdaptiveMode:T,customRender:B,renderChartAsync:M,renderChartAsyncBatchCount:P,canvasWidth:H,canvasHeight:k,overscrollBehavior:L,limitMinWidth:E,limitMinHeight:F}=t;v&&v!==this.internalProps.pixelRatio&&(this.internalProps.pixelRatio=v),b&&("number"==typeof b?(this.padding.top=b,this.padding.left=b,this.padding.bottom=b,this.padding.right=b):(b.top&&(this.padding.top=b.top),b.bottom&&(this.padding.bottom=b.bottom),b.left&&(this.padding.left=b.left),b.right&&(this.padding.right=b.right))),this.showFrozenIcon="boolean"!=typeof f||f,"number"==typeof m&&m<=0&&(this.showFrozenIcon=!1),this.widthMode=x??"standard",this.heightMode=_??"standard",this._widthAdaptiveMode=R??"only-body",this._heightAdaptiveMode=T??"only-body",this.autoFillWidth=S??!1,this.autoFillHeight=A??!1,this.customRender=B,this.canvasWidth=at(H)?H:void 0,this.canvasHeight=at(k)?k:void 0;const I=this.internalProps;if("node"===Ew.mode||t.canvas||function(t,e){t.style.margin=`${e.top}px ${e.right}px ${e.bottom}px ${e.left}px`;const i=(t.offsetWidth||t.parentElement?.offsetWidth||1)-1,r=(t.offsetHeight||t.parentElement?.offsetHeight||1)-1;t.style.width=i&&i-e.left-e.right+"px"||"0px",t.style.height=r&&r-e.top-e.bottom+"px"||"0px"}(I.element,this.padding),this.columnWidthComputeMode=t.columnWidthComputeMode??"normal",I.frozenColCount=e,I.unfreezeAllOnExceedsMaxWidth=i??!0,I.defaultRowHeight=r,I.defaultHeaderRowHeight=o??r,I.defaultColWidth=n,I.defaultHeaderColWidth=s??n,I.keyboardOptions=a,I.eventOptions=l,I.rowSeriesNumber=h,I.columnResizeMode=u?.columnResizeMode??c,I.rowResizeMode=u?.rowResizeMode??d,I.dragHeaderMode=p?.dragHeaderMode??g??"none",I.renderChartAsync=M,aB(P),I.overscrollBehavior=L??"auto",I.cellTextOverflows={},I._rowHeightsMap=new zH(this),I._rowRangeHeightsMap=new Map,I._colRangeWidthsMap=new Map,I._widthResizedColMap=new Set,I._heightResizedRowMap=new Set,this.colWidthsMap=new Pv,this.colContentWidthsMap=new Pv,this.colWidthsLimit={},I.stick.changedCells.clear(),I.theme=rx.of(t.theme??rx.DEFAULT),I.theme.isPivot=this.isPivotTable(),PR(I.theme.functionalIconsStyle),this.scenegraph.updateStageBackground(),I.autoWrapText=t.autoWrapText,I.enableLineBreak=t.enableLineBreak,I.allowFrozenColCount=t.allowFrozenColCount??0,I.limitMaxAutoWidth=t.limitMaxAutoWidth??450,I.limitMinWidth=null!=E?"number"==typeof E?E:E?10:0:10,I.limitMinHeight=null!=F?"number"==typeof F?F:F?10:0:10,I.legends?.forEach((t=>{t?.release()})),I.title?.release(),I.title=null,I.emptyTip?.release(),I.emptyTip=null,I.layoutMap.release(),this.scenegraph.clearCells(),this.scenegraph.updateComponent(),this.stateManager.updateOptionSetState(),this._updateSize(),this.eventManager.updateEventBinder(),t.legends){I.legends=[];const e=sx.getFunction("createLegend");if(Array.isArray(t.legends)){for(let i=0;i<t.legends.length;i++)I.legends.push(e(t.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else I.legends.push(e(t.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if(I.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:qC.bottom},t.tooltip),"html"===I.tooltip.renderMode&&!I.tooltipHandler){const t=sx.getComponent("tooltipHandler");I.tooltipHandler=new t(this,I.tooltip.confine)}if(I.menu=Object.assign({renderMode:"html"},t.menu),Array.isArray(t.menu?.dropDownMenuHighlight)&&this.setDropDownMenuHighlight(t.menu?.dropDownMenuHighlight),(Array.isArray(t.menu?.defaultHeaderMenuItems)||"function"==typeof t.menu?.defaultHeaderMenuItems)&&(this.globalDropDownMenu=t.menu.defaultHeaderMenuItems),"html"===I.menu.renderMode&&!I.menuHandler){const t=sx.getComponent("menuHandler");I.menuHandler=new t(this)}this.clearCellStyleCache(),this.clearColWidthCache(),this.clearRowHeightCache(),I.customMergeCell=Tk(t.customMergeCell),this.customCellStylePlugin?.updateCustomCell(t.customCellStyle??[],t.customCellStyleArrangement??[]),this._adjustCanvasSizeByOption()}renderWithRecreateCells(){this.internalProps.stick.changedCells.clear();const t={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(t.col,t.row),this.render()}getFrozenRowsHeight(){return this.getRowsHeight(0,this.frozenRowCount-1)}getFrozenColsWidth(){return this.getColsWidth(0,this.frozenColCount-1)}getBottomFrozenRowsHeight(){if(this.bottomFrozenRowCount>0){let t=0;for(let e=this.rowCount-this.bottomFrozenRowCount;e<=this.rowCount-1;e++)t+=this.getRowHeight(e);return t}return 0}getRightFrozenColsWidth(){if(this.rightFrozenColCount>0){let t=0;for(let e=this.colCount-this.rightFrozenColCount;e<=this.colCount-1;e++)t+=this.getColWidth(e);return t}return 0}getDrawRange(){const t=Math.min(this.tableNoFrameWidth,this.getAllColsWidth()),e=Math.min(this.tableNoFrameHeight,this.getAllRowsHeight());return new Hv(this.tableX,this.tableY,t,e)}_getMouseAbstractPoint(t,e=!0){const i=this;let r;if(!t)return{inTable:!1,x:void 0,y:void 0};r=Mk(t)?t.changedTouches[0]:t;const o=r.clientX||r.pageX+window.scrollX,n=r.clientY||r.pageY+window.scrollY,s=i.internalProps.canvas.getBoundingClientRect();let a=!0;s.right<=o&&(a=!1),s.bottom<=n&&(a=!1);const l=s.width,h=l/(this.canvas.offsetWidth||l),c=s.height,d=c/(this.canvas.offsetHeight||c),u={x:(o-s.left)/h+(e?i.scrollLeft:0)-(this.options.viewBox?.x1??0),y:(n-s.top)/d+(e?i.scrollTop:0)-(this.options.viewBox?.y1??0),inTable:a};if(this.internalProps.modifiedViewBoxTransform&&this.scenegraph.stage.window.getViewBoxTransform()){this.scenegraph.stage.window.getViewBoxTransform().transformPoint(u,u)}return u}getTheme(){return this.internalProps.theme}getTargetColAt(t){return QH(t,this)}getTargetRowAt(t){const e=tk(t,this);return e&&(e.row=Math.min(e.row,this.rowCount-1)),e}getTargetColAtConsiderRightFrozen(t,e){return ek(t,e,this)}getTargetRowAtConsiderBottomFrozen(t,e){return ik(t,e,this)}clearSelected(){this.stateManager.updateSelectPos(-1,-1)}selectCell(t,e,i,r,o,n=!1){const s=!!this.stateManager.select.ranges?.length;this.stateManager.updateSelectPos(t,e,i,r,!1,o??this.options.select?.makeSelectCellVisible??!0,n),this.stateManager.endSelectCells(!0,s)}selectCells(t){const{scrollLeft:e,scrollTop:i}=this;t.forEach(((t,e)=>{t.start.col===t.end.col&&t.start.row===t.end.row?this.stateManager.updateSelectPos(t.start.col,t.start.row,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0):(this.stateManager.updateSelectPos(t.start.col,t.start.row,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(UC.grabing),this.stateManager.updateSelectPos(t.end.col,t.end.row,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0)),this.stateManager.endSelectCells(!1,!1),this.stateManager.updateInteractionState(UC.default)})),this.setScrollTop(i),this.setScrollLeft(e)}get recordsCount(){return this.records?.length}get allowFrozenColCount(){return this.internalProps.allowFrozenColCount}get rowHeaderLevelCount(){return this.internalProps.layoutMap.rowHeaderLevelCount}get columnHeaderLevelCount(){return this.internalProps.layoutMap.columnHeaderLevelCount}get records(){return this.internalProps.records}get dataSource(){return this.internalProps.dataSource}set dataSource(t){this.scenegraph.clearCells(),function(t,e){LA(t,(()=>{t.internalProps.dataSource&&t.internalProps.dataSource.release?.(),e?e instanceof ux?(t.internalProps.dataSource=e,t.internalProps.dataSource.supplementConfig(t.pagination,t.options.columns,t.internalProps.layoutMap.rowHierarchyType,FA(t))):t.internalProps.dataSource=new WS(e):t.internalProps.dataSource=ux.EMPTY,t.addReleaseObj(t.internalProps.dataSource),t.internalProps.records=null}))}(this,t),this.refreshRowColCount(),this.scenegraph.createSceneGraph(),this.render()}get autoWrapText(){return this.internalProps.autoWrapText}set autoWrapText(t){this.internalProps.autoWrapText=t,this.options.autoWrapText=t}get enableLineBreak(){return this.internalProps.enableLineBreak}set enableLineBreak(t){this.internalProps.enableLineBreak=t,this.options.enableLineBreak=t}updateAutoWrapText(t){this.internalProps.autoWrapText!==t&&(this.internalProps.autoWrapText=t,this.options.autoWrapText=t,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.render())}get theme(){return this.internalProps.theme}set theme(t){this.internalProps.theme=rx.of(t??rx.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),this.options.theme=t,PR(this.internalProps.theme.functionalIconsStyle)}updateTheme(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.theme=rx.of(t??rx.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),PR(this.internalProps.theme.functionalIconsStyle),this.options.theme=t,this.scenegraph.updateComponent(),this.scenegraph.updateStageBackground(),this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.render()}getBodyField(t,e){return this.internalProps.layoutMap.getBody(t,e).field}getBodyColumnDefine(t,e){const i=this.internalProps.layoutMap.getBody(t,e);return i?.define}getBodyColumnType(t,e){return IR("cellType",{cellType:this.internalProps.layoutMap.getBody(t,e)?.cellType??"text"},t,e,this)}getCellType(t,e){let i;return this.isSeriesNumberInHeader(t,e)?this.internalProps.layoutMap.getSeriesNumberHeader(t,e).cellType:(i=this.isHeader(t,e)?this.internalProps.layoutMap.getHeader(t,e).headerType:this.internalProps.layoutMap.getBody(t,e).cellType,IR("cellType",{cellType:i},t,e,this))}getHeaderField(t,e){return this.internalProps.layoutMap.getHeaderField(t,e)}getHeaderDefine(t,e){const i=this.internalProps.layoutMap.getHeader(t,e);return i?.define}getCellLocation(t,e){return this.internalProps.layoutMap.getCellLocation(t,e)}getCellHeaderPaths(t,e){return this.internalProps.layoutMap.getCellHeaderPaths(t,e)}getHeadersDefine(t,e){const i=[];for(;;){const r=this.getHeaderDefine(t,e);if(!r||!r.field&&!r.columns)break;i.push(r),e++}return i}_getHeaderLayoutMap(t,e){return this.internalProps.layoutMap.getHeader(t,e)}_getBodyLayoutMap(t,e){return this.internalProps.layoutMap.getBody(t,e)}getContext(){return this.internalProps.context}getRecordByCell(t,e){if(!this.internalProps.layoutMap.isHeader(t,e))return this.getCellOriginRecord(t,e)}getRecordByRowCol(t,e){return this.getRecordByCell(t,e)}getRecordStartRowByRecordIndex(t){return this.internalProps.layoutMap.getRecordStartRowByRecordIndex(t)}_getHeaderCellBySortState(t){const{layoutMap:e}=this.internalProps,i=e.headerObjects.find((e=>e&&e.field===t.field));if(i){return e.getHeaderCellAdressById(i.id)}}getCellRange(t,e){if(this.internalProps.customMergeCell){const i=this.internalProps.customMergeCell(t,e,this);if(i&&i.range&&(J(i.text)||i.customLayout||i.customRender))return i.range}return this.internalProps.layoutMap?.getCellRange(t,e)}hasCustomMerge(){return!!this.internalProps.customMergeCell}getCustomMerge(t,e){if(this.internalProps.customMergeCell){const i=this.internalProps.customMergeCell(t,e,this);if(i&&i.range&&(J(i.text)||i.customLayout||this.customRender)){if(i.style){const r=this.internalProps.bodyHelper.getStyleClass("text"),o=Lw(i.style,this.theme.bodyStyle,{col:t,row:e,table:this,value:i.text,dataValue:this.getCellOriginValue(t,e),cellHeaderPaths:this.getCellHeaderPaths(t,e)},r,this.options.autoWrapText,this.theme);i.style=o}return i}}}isCellRangeEqual(t,e,i,r){return this.internalProps.layoutMap.isCellRangeEqual(t,e,i,r)}_getLayoutCellId(t,e){return this.internalProps.layoutMap.getCellId(t,e)}getHeaderDescription(t,e){const i=this._getHeaderLayoutMap(t,e),r=i?.define,o=r?.description??i?.description;if("function"==typeof o){return o({col:t,row:e,value:this.getCellValue(t,e),dataValue:this.getCellOriginValue(t,e)})}return o}setDropDownMenuHighlight(t){this.stateManager.setDropDownMenuHighlight(t)}_dropDownMenuIsHighlight(t,e,i){return this.stateManager.dropDownMenuIsHighlight(t,e,i)}isSeriesNumberInBody(t,e){return this.internalProps.layoutMap&&this.internalProps.layoutMap.isSeriesNumberInBody(t,e)}isSeriesNumberInHeader(t,e){return this.internalProps.layoutMap&&this.internalProps.layoutMap.isSeriesNumberInHeader(t,e)}isHeader(t,e){return this.internalProps.layoutMap&&this.internalProps.layoutMap.isHeader(t,e)}isColumnHeader(t,e){return this.internalProps.layoutMap?.isColumnHeader(t,e)}isRowHeader(t,e){return this.internalProps.layoutMap?.isRowHeader(t,e)}isCornerHeader(t,e){return this.internalProps.layoutMap?.isCornerHeader(t,e)}isFrozenColumn(t,e){return this.isLeftFrozenColumn(t,e)||this.isRightFrozenColumn(t,e)}isLeftFrozenColumn(t,e){return this.internalProps.layoutMap?.isFrozenColumn(t,e)}isRightFrozenColumn(t,e){return this.internalProps.layoutMap?.isRightFrozenColumn(t,e)}isFrozenRow(t,e){return this.isTopFrozenRow(t,e)||this.isBottomFrozenRow(t,e)}isTopFrozenRow(t,e){return this.internalProps.layoutMap?.isFrozenRow(t,e)}isBottomFrozenRow(t,e){return this.internalProps.layoutMap?.isBottomFrozenRow(t,e)}getCellInfo(t,e){if(t>=0&&e>=0){const i=this.isHeader(t,e)?this.getHeaderDefine(t,e):this.getBodyColumnDefine(t,e);return{col:t,row:e,field:this.getHeaderField(t,e),cellHeaderPaths:this.internalProps.layoutMap.getCellHeaderPaths(t,e),title:i?.title,cellType:this.getCellType(t,e),originData:this.getCellOriginRecord(t,e),cellRange:this.getCellRangeRelativeRect({col:t,row:e}),value:this.getCellValue(t,e),dataValue:this.getCellOriginValue(t,e),cellLocation:this.getCellLocation(t,e),scaleRatio:this.canvas.getBoundingClientRect().width/this.canvas.offsetWidth}}}_hasField(t,e,i){if(null===t)return!1;const r=this;if(r.internalProps.layoutMap.isHeader(e,i))return!1;const o=r.getRecordShowIndexByCell(e,i);return r.internalProps.dataSource?.hasField(o,t)}_getCellStyle(t,e){return function(t,e,i){const r=i.customCellStylePlugin?.getCustomCellStyle(t,e),{layoutMap:o}=i.internalProps;if(o.isHeader(t,e)){let n;if(!i.isPivotTable()||i.isBottomFrozenRow(e)||i.isRightFrozenColumn(t))n=`${t}-${e}`;else{const r=i.getHeaderDefine(t,e),o=i.isCornerHeader(t,e);n=r?.dimensionKey?o?`dim-cor-${r.dimensionKey}`:`dim-${r.dimensionKey}`:r?.indicatorKey?`ind-${r.indicatorKey}`:`${t}-${e}`}let s=i.headerStyleCache.get(n);if(s)return r?xk(s,r):s;const a=o.getHeader(t,e);let l;if(i.isPivotChart()&&function(t,e,i){if(!i._table.isPivotChart())return!1;if(i.indicatorsAsCol){if(i.hasTwoIndicatorAxes&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return!0;if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return!0}else if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return!0;return!1}(t,e,o)&&o.isAxisCell(t,e)){const e=o.getBody(t,i.rowHeaderLevelCount);l=e.style?.padding??i.theme.bodyStyle.padding}else if(i.isPivotChart()&&function(t,e,i){if(!i._table.isPivotChart())return!1;if(i.indicatorsAsCol){if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return!0}else{if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return!0;if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return!0}return!1}(t,e,o)&&o.isAxisCell(t,e)){const t=o.getBody(i.columnHeaderLevelCount,e);l=t.style?.padding??i.theme.bodyStyle.padding}if((!a||a.isEmpty)&&(o.isLeftBottomCorner(t,e)||o.isRightBottomCorner(t,e)||o.isCornerHeader(t,e)||o.isRightTopCorner(t,e)))return _k;const h=i.internalProps.headerHelper.getStyleClass(a?.headerType||"text");if(o.isBottomFrozenRow(t,e)&&i.theme.bottomFrozenStyle)s=EH(l?{padding:l}:{},i.theme.bottomFrozenStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},h,i.options.autoWrapText,i.theme);else if(o.isRightFrozenColumn(t,e)&&i.theme.rightFrozenStyle)s=EH(l?{padding:l}:{},i.theme.rightFrozenStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},h,i.options.autoWrapText,i.theme);else{const r=a?.style||{};l&&(r.padding=l),s=EH(r,o.isColumnHeader(t,e)||o.isBottomFrozenRow(t,e)?i.theme.headerStyle:o.isRowHeader(t,e)||o.isRightFrozenColumn(t,e)?i.theme.rowHeaderStyle:i.theme.cornerHeaderStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},h,i.options.autoWrapText,i.theme)}return i.headerStyleCache.set(n,s),r?xk(s,r):s}let n,s;i.internalProps?.dataConfig?.mappingRules&&!i.isHeader(t,e)&&i.internalProps?.dataConfig?.mappingRules?.forEach(((r,o)=>{r.bgColor&&i.internalProps.layoutMap.getIndicatorKey(t,e)===r.bgColor.indicatorKey&&(n=r.bgColor.mapping)}));const a=i.getCellType(t,e),l=i.getCellOriginRecord(t,e);let h;if(s=l?.vtableMerge?"merge-title":i.isSeriesNumberInBody(t,e)?`${t}-series-`+a:i.isListTable()&&!i.transpose||i.isPivotTable()&&i.internalProps.layoutMap.indicatorsAsCol?t+a:e+a,h=l?.vtableMerge?i.bodyMergeTitleCache.get(s):o.isBottomFrozenRow(e)?i.bodyBottomStyleCache.get(s):i.bodyStyleCache.get(s),h)return r?xk(h,r):h;const c=o.getBody(t,e),d=i.internalProps.bodyHelper.getStyleClass(i.getCellType(t,e)),u=c?.style;return h=Lw(u,l?.vtableMerge&&i.theme.groupTitleStyle?i.theme.groupTitleStyle:o.isBottomFrozenRow(e)&&i.theme.bottomFrozenStyle?i.theme.bottomFrozenStyle:o.isRightFrozenColumn(t)&&i.theme.rightFrozenStyle?i.theme.rightFrozenStyle:i.theme.bodyStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},d,i.options.autoWrapText,i.theme),n&&(h=xk(h,{bgColor:n})),q(u)||(o.isBottomFrozenRow(e)?i.bodyBottomStyleCache.set(s,h):i.bodyStyleCache.set(s,h)),r?xk(h,r):h}(t,e,this)}clearCellStyleCache(){this.headerStyleCache.clear(),this.bodyStyleCache.clear(),this.bodyMergeTitleCache.clear(),this.bodyBottomStyleCache.clear()}clearRowHeightCache(){this.internalProps._rowHeightsMap.clear(),this._clearRowRangeHeightsMap()}clearColWidthCache(){this.internalProps._colWidthsMap.clear(),this._clearColRangeWidthsMap()}_canResizeColumn(t,e){if(!(t>=0&&e>=0))return!1;if(this.isCellRangeEqual(t,e,t+1,e))return!1;if("none"===this.internalProps.columnResizeMode)return!1;if("header"===this.internalProps.columnResizeMode){if(!this.isHeader(t,e))return!1}else if("body"===this.internalProps.columnResizeMode&&this.isHeader(t,e))return!1;const i=this.colWidthsLimit[t];return!(i&&i.min&&i.max)||i.max!==i.min}_canResizeRow(t,e){if(!(t>=0&&e>=0))return!1;if(this.isCellRangeEqual(t,e,t,e+1))return!1;if("none"===this.internalProps.rowResizeMode)return!1;if("header"===this.internalProps.rowResizeMode){if(!this.isHeader(t,e))return!1}else if("body"===this.internalProps.rowResizeMode&&this.isHeader(t,e))return!1;return!0}_canDragHeaderPosition(t,e){if(this.isHeader(t,e)&&(this.stateManager.isSelected(t,e)||"body"===this.options.select?.headerSelectMode&&function(t,e,i){for(let r=0;r<i.length;r++)if(pv(i[r],t,e))return!0;return!1}(t,e,[this.getCellRange(this.stateManager.select.cellPos.col,this.stateManager.select.cellPos.row)])||vB(this,t,e))){if("disabled"===this.internalProps.frozenColDragHeaderMode&&this.isFrozenColumn(t))return!1;if(this.stateManager.isSelected(t,e)){const i=this.stateManager.select.ranges[0];if(this.isColumnHeader(t,e)){if(i.end.row!==this.rowCount-1)return!1}else{if(!this.isRowHeader(t,e))return!1;if(i.end.col!==this.colCount-1)return!1}}const i=this.getHeaderDefine(t,e);if(!i)return!1;if(void 0===i.dragHeader){if("all"===this.internalProps.dragHeaderMode)return!0;if("column"===this.internalProps.dragHeaderMode){if(this.isColumnHeader(t,e))return!0}else if("row"===this.internalProps.dragHeaderMode&&this.isRowHeader(t,e))return!0;return!1}return i.dragHeader}return!1}getCellIcons(t,e){let i;if(this.isHeader(t,e))i=this.internalProps.headerHelper.getIcons(t,e);else if(this.internalProps.layoutMap.isSeriesNumber(t,e)){if(!this.options.groupBy||!this.getCellRawRecord(t,e)?.vtableMerge){const r=this.internalProps.layoutMap.getSeriesNumberBody(t,e)?.define?.dragOrder;r&&(i=this.internalProps.rowSeriesNumberHelper.getIcons(t,e))}const r=this.getCellValue(t,e),o=this.getCellOriginValue(t,e),n=this.internalProps.context,s=this.internalProps.bodyHelper.getIcons(t,e,r,o,n);i?.length>0?i=i.concat(s):s?.length>0&&(i=s)}else{const r=this.getCellValue(t,e),o=this.getCellOriginValue(t,e),n=this.internalProps.context;i=this.internalProps.bodyHelper.getIcons(t,e,r,o,n)}return i}showDropDownMenu(t,e,i){let r="dropdown-menu";i&&(r=Array.isArray(i.content)?"dropdown-menu":"container"),"html"===this.internalProps.menu.renderMode&&(this.stateManager.menu.isShow=!0,this.internalProps.menuHandler._bindToCell(t,e,r,i))}showTooltip(t,e,i){"html"===this.internalProps.tooltip.renderMode&&this.internalProps.tooltipHandler._bindToCell(t,e,i)}getCellStyle(t,e){const i=this._getCellStyle(t,e),r=zA(i,this,t,e,IR).theme,{autoWrapText:o,lineClamp:n,textOverflow:s}=i;return{textAlign:r.text.textAlign,textBaseline:r.text.textBaseline,bgColor:Y(r.group.fill)?IR("bgColor",i,t,e,this):r.group.fill,color:Y(r.text.fill)?IR("color",i,t,e,this):r.text.fill,strokeColor:Y(r.text.stroke)?IR("strokeColor",i,t,e,this):r.text.stroke,fontFamily:r.text.fontFamily,fontSize:r.text.fontSize,fontWeight:r.text.fontWeight,fontVariant:r.text.fontVariant,fontStyle:r.text.fontStyle,lineHeight:r.text.lineHeight,autoWrapText:o??!1,lineClamp:n??"auto",textOverflow:s,borderColor:Y(r.group.stroke)?IR("borderColor",i,t,e,this):r.group.stroke,borderLineWidth:r.group.lineWidth,borderLineDash:r.group.lineDash,underline:!!r.text.underline,underlineDash:r.text.underlineDash,underlineOffset:r.text.underlineOffset,lineThrough:!!r.text.lineThrough,padding:r._vtable.padding,underlineWidth:r.text.underline,lineThroughLineWidth:r.text.lineThrough,_strokeArrayWidth:r.group.strokeArrayWidth,_strokeArrayColor:r.group.strokeArrayColor,_linkColor:IR("linkColor",i,t,e,this)}}getAllBodyCells(t,e){const i=this.rowHeaderLevelCount,r=this.columnHeaderLevelCount,o=this.colCount-1,n=this.rowCount-1;return Array(Math.min(e??2e3,n-r+1,this.rowCount)).fill(0).map(((e,n)=>Array(Math.min(t??2e3,o-i+1,this.colCount)).fill(0).map(((t,e)=>this.getCellInfo(e+i,n+r)))))}getAllCells(t,e){const i=0,r=0,o=this.colCount-1,n=this.rowCount-1;return Array(Math.min(e??2e3,n-r+1,this.rowCount)).fill(0).map(((e,n)=>Array(Math.min(t??2e3,o-i+1,this.colCount)).fill(0).map(((t,e)=>this.getCellInfo(e+i,n+r)))))}getAllColumnHeaderCells(){const t=this.rowHeaderLevelCount,e=0,i=this.colCount-1,r=this.columnHeaderLevelCount-1;return Array(r-e+1).fill(0).map(((r,o)=>Array(i-t+1).fill(0).map(((i,r)=>this.getCellInfo(r+t,o+e)))))}getAllRowHeaderCells(){const t=0,e=this.columnHeaderLevelCount,i=this.rowHeaderLevelCount-1,r=this.rowCount-1;return Array(r-e+1).fill(0).map(((r,o)=>Array(i-t+1).fill(0).map(((i,r)=>this.getCellInfo(r+t,o+e)))))}getCopyValue(){if(this.stateManager.select?.ranges?.length>0){const t=this.stateManager.select.ranges;let e=Math.min(t[0].start.col,t[0].end.col),i=Math.max(t[0].start.col,t[0].end.col),r=Math.min(t[0].start.row,t[0].end.row),o=Math.max(t[0].start.row,t[0].end.row);t.forEach((t=>{e=Math.min(e,t.start.col,t.end.col),i=Math.max(i,t.start.col,t.end.col),r=Math.min(r,t.start.row,t.end.row),o=Math.max(o,t.start.row,t.end.row)}));const n=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.row,t.end.row),o=Math.max(t.start.row,t.end.row);r<=e&&o>=e&&(i=!0)})),i},s=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.col,t.end.col),o=Math.max(t.start.col,t.end.col);r<=e&&o>=e&&(i=!0)})),i},a=(e,i)=>{let r;return t.forEach((t=>{const o=Math.min(t.start.row,t.end.row),n=Math.max(t.start.row,t.end.row),s=Math.min(t.start.col,t.end.col),a=Math.max(t.start.col,t.end.col);s<=e&&a>=e&&o<=i&&n>=i&&(r=t)})),r},l=(t,e,i)=>{const r=this.getCellRange(t,e);let o=r.start.col,n=r.start.row;if(i){const t=Math.min(i.start.col,i.end.col),e=Math.min(i.start.row,i.end.row);o=Math.max(t,r.start.col),n=Math.max(e,r.start.row)}if(o!==t||n!==e)return"";return this.getCellValue(t,e)};let h="";for(let t=r;t<=o;t++){if(n(t)){for(let r=e;r<=i;r++){if(s(r)){const e=a(r,t);if(e){const o=l(r,t,e);if("undefined"!=typeof Promise&&o instanceof Promise);else{const t=J(o)?`${o}`:"";/^\[object .*\]$/.exec(t)||(h+=t)}(r<e.end.col||r<i)&&(h+="\t")}else h+="\t"}}t<o&&(h+="\r\n")}}return this.options?.formatCopyValue&&(h=this.options.formatCopyValue(h)),h}return""}getSelectedCellInfos(){if(!this.stateManager.select?.ranges)return null;const t=this.stateManager.select.ranges;if(!t.length)return[];let e=Math.min(t[0].start.col,t[0].end.col),i=Math.max(t[0].start.col,t[0].end.col),r=Math.min(t[0].start.row,t[0].end.row),o=Math.max(t[0].start.row,t[0].end.row);t.forEach((t=>{e=Math.min(e,t.start.col,t.end.col),i=Math.max(i,t.start.col,t.end.col),r=Math.min(r,t.start.row,t.end.row),o=Math.max(o,t.start.row,t.end.row)}));const n=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.row,t.end.row),o=Math.max(t.start.row,t.end.row);r<=e&&o>=e&&(i=!0)})),i},s=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.col,t.end.col),o=Math.max(t.start.col,t.end.col);r<=e&&o>=e&&(i=!0)})),i},a=(e,i)=>{let r;return t.forEach((t=>{const o=Math.min(t.start.row,t.end.row),n=Math.max(t.start.row,t.end.row),s=Math.min(t.start.col,t.end.col),a=Math.max(t.start.col,t.end.col);s<=e&&a>=e&&o<=i&&n>=i&&(r=t)})),r},l=[];for(let t=r;t<=o;t++){if(n(t)){const r=[];for(let o=e;o<=i;o++){if(s(o)){if(a(o,t)){const e=this.getCellInfo(o,t);r.push(e)}}}l.push(r)}}return l}getSelectedCellRanges(){const t=this.stateManager.select.ranges;return t.length?Ct(t):[]}measureText(t,e){return _T.measureText(t,e)}measureTextBounds(t){return AT(t)}getCustomRender(t,e){let i;if("body"!==this.getCellLocation(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerCustomRender}else{const r=this.getBodyColumnDefine(t,e);i=r?.customRender||this.customRender}return i}getCustomLayout(t,e){let i;if("body"!==this.getCellLocation(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerCustomLayout}else{const r=this.getBodyColumnDefine(t,e);i=r?.customLayout}return i}hasAutoImageColumn(){return void 0===this._hasAutoImageColumn&&(this._hasAutoImageColumn=function(t){const{columns:e,rows:i,indicators:r}=t.options;if(t.isPivotTable()){if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!rt(i)&&("image"===i.headerType||"video"===i.headerType||"function"==typeof i.headerType)&&i.imageAutoSizing)return!0}if(ot(i)&&i.length>0)for(let t=0;t<i.length;t++){const e=i[t];if(!rt(e)&&("image"===e.headerType||"video"===e.headerType||"function"==typeof e.headerType)&&e.imageAutoSizing)return!0}if(ot(r)&&r.length>0)for(let t=0;t<r.length;t++){const e=r[t];if(!rt(e)&&(("image"===e.cellType||"video"===e.cellType||"function"==typeof e.cellType)&&e.imageAutoSizing||("image"===e.headerType||"video"===e.headerType||"function"==typeof e.headerType)&&e.imageAutoSizing))return!0}}else if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(("image"===i.cellType||"video"===i.cellType||"function"==typeof i.cellType)&&i.imageAutoSizing||("image"===i.headerType||"video"===i.headerType||"function"==typeof i.headerType)&&i.imageAutoSizing)return!0}return!1}(this)),this._hasAutoImageColumn}_getActiveChartInstance(){const t=this.scenegraph.getCell(this.stateManager.hover?.cellPos?.col,this.stateManager.hover?.cellPos?.row);return"chart"===t?.getChildren()?.[0]?.type?t.getChildren()[0].activeChartInstance:null}cellIsInVisualView(t,e){const i=this.getDrawRange(),r=this.getCellRelativeRect(t,e);if(t<this.frozenColCount&&e<this.frozenRowCount)return!0;let o,n,s,a;if(this.frozenRowCount>=1&&(o=this.getCellRangeRelativeRect({start:{col:0,row:0},end:{col:this.colCount-1,row:this.frozenRowCount-1}})),this.frozenColCount>=1&&(n=this.getCellRangeRelativeRect({start:{col:0,row:0},end:{col:this.frozenColCount-1,row:this.rowCount-1}})),this.bottomFrozenRowCount>=1&&(s=this.getCellRangeRelativeRect({start:{col:0,row:this.rowCount-this.bottomFrozenRowCount},end:{col:this.colCount-1,row:this.rowCount-1}})),this.rightFrozenColCount>=1&&(a=this.getCellRangeRelativeRect({start:{col:this.colCount-this.rightFrozenColCount,row:0},end:{col:this.colCount-1,row:this.rowCount-1}})),r.top>=i.top&&r.bottom<=i.bottom&&r.left>=i.left&&r.right<=i.right){if(this.isFrozenCell(t,e))return!0;if(r.top>=(o?.bottom??r.top)&&r.left>=(n?.right??r.left)&&r.bottom<=(s?.top??r.bottom)&&r.right<=(a?.left??r.right))return!0}return!1}getCustomMergeValue(t,e){if(this.internalProps.customMergeCell){const i=this.getCustomMerge(t,e);if(i){const{text:t}=i;return t}}}exportImg(){return this.scenegraph.stage.toCanvas().toDataURL()}exportCellImg(t,e,i){const r=this.cellIsInVisualView(t,e),{scrollTop:o,scrollLeft:n}=this;r||this.scrollToCell({col:t,row:e});const s=this.getCellRelativeRect(t,e);this.stateManager.select?.ranges?.length>0&&LM(this.scenegraph);const{col:a,row:l}=this.stateManager.hover.cellPos;let h,c;if(this.stateManager.updateHoverPos(-1,-1),this.scenegraph.component.hideVerticalScrollBar(),this.scenegraph.component.hideHorizontalScrollBar(),this.scenegraph.tableGroup.border.setAttribute("visible",!1),i?.disableBackground){const i=this.scenegraph.getCell(t,e);h=i.attribute.fill,i.setAttribute("fill","transparent")}if(i?.disableBorder){const i=this.scenegraph.getCell(t,e);c=i.attribute.stroke,i.setAttribute("stroke",!1)}this.scenegraph.renderSceneGraph();let d=0;"bottom-right"===this.theme.cellBorderClipDirection&&(d=1);const u=this.scenegraph.stage.toCanvas(!1,(new Pe).set(s.left+this.tableX+1,s.top+this.tableY+1,s.right+this.tableX-d,s.bottom+this.tableY-d));if(r||(this.setScrollTop(o),this.setScrollLeft(n)),this.scenegraph.tableGroup.border.setAttribute("visible",!0),h){this.scenegraph.getCell(t,e).setAttribute("fill",h)}if(c){this.scenegraph.getCell(t,e).setAttribute("stroke",c)}return this.stateManager.select?.ranges?.length>0&&EM(this.scenegraph),this.stateManager.updateHoverPos(a,l),this.scenegraph.updateNextFrame(),u.toDataURL()}exportCellRangeImg(t){const{scrollTop:e,scrollLeft:i}=this,r=Math.min(t.start.col,t.end.col),o=Math.min(t.start.row,t.end.row),n=Math.max(t.start.col,t.end.col),s=Math.max(t.start.row,t.end.row),a=this.cellIsInVisualView(r,o),l=this.cellIsInVisualView(n,s);a&&l||this.scrollToCell({col:r,row:o});const h=this.getCellRangeRelativeRect({start:{col:r,row:o},end:{col:n,row:s}});this.stateManager.select?.ranges?.length>0&&LM(this.scenegraph);const{col:c,row:d}=this.stateManager.hover.cellPos;this.stateManager.updateHoverPos(-1,-1),this.scenegraph.component.hideVerticalScrollBar(),this.scenegraph.component.hideHorizontalScrollBar(),this.scenegraph.renderSceneGraph();const u=this.scenegraph.stage.toCanvas(!1,(new Pe).set(h.left+this.tableX+1,h.top+this.tableY+1,h.right+this.tableX,h.bottom+this.tableY)).toDataURL();return a&&l||(this.setScrollTop(e),this.setScrollLeft(i)),this.stateManager.select?.ranges?.length>0&&EM(this.scenegraph),this.stateManager.updateHoverPos(c,d),u}exportCanvas(){return this.scenegraph.stage.toCanvas()}getImageBuffer(t="image/png"){if("node"!==this.options.mode)return;this.render();const e=this.scenegraph.stage;if(e){const i=this.tableX+this.getAllColsWidth(),r=this.tableY+this.getAllRowsHeight();if(i>=this.canvasWidth&&r>=this.canvasHeight){e.render();return e.window.getImageBuffer(t)}return this.scenegraph.stage.toCanvas(!1,(new Pe).set(0,0,Math.min(this.canvasWidth,i),Math.min(this.canvasHeight,r))).toBuffer(t)}return null}getBodyIndexByTableIndex(t,e){return{col:t-this.rowHeaderLevelCount-this.leftRowSeriesNumberCount,row:e-this.columnHeaderLevelCount}}getTableIndexByBodyIndex(t,e){return{col:t+this.rowHeaderLevelCount+this.leftRowSeriesNumberCount,row:e+this.columnHeaderLevelCount}}onVChartEvent(t,e,i){this._chartEventMap[t]||(this._chartEventMap[t]=[]),"function"==typeof e?this._chartEventMap[t].push({callback:e}):this._chartEventMap[t].push({callback:i,query:e})}offVChartEvent(t,e){this._chartEventMap[t]&&(this._chartEventMap[t]=e?this._chartEventMap[t].filter((t=>t.callback!==e)):[])}_bindChartEvent(t){if(t)for(const e in this._chartEventMap)(this._chartEventMap[e]||[]).forEach((i=>{i.query?t.on(e,i.query,i.callback):t.on(e,i.callback)}))}changeRecordOrder(t,e){}hasCustomCellStyle(t){return this.customCellStylePlugin?.hasCustomCellStyle(t)}registerCustomCellStyle(t,e){this.customCellStylePlugin?.registerCustomCellStyle(t,e)}arrangeCustomCellStyle(t,e,i){this.customCellStylePlugin?.arrangeCustomCellStyle(t,e,i)}isSeriesNumber(t,e){return this.internalProps.layoutMap.isSeriesNumber(t,e)}isHasSeriesNumber(){return this.internalProps.layoutMap?.leftRowSeriesNumberColumnCount>0}get leftRowSeriesNumberCount(){return this.internalProps.layoutMap?.leftRowSeriesNumberColumnCount??0}setMinMaxLimitWidth(t=!1){const e=this.internalProps;for(let i=0;i<e.layoutMap.columnWidths.length;i++){if(this.internalProps._widthResizedColMap.has(i))continue;const{width:r,minWidth:o,maxWidth:n}=e.layoutMap.columnWidths?.[i]??{};t&&r&&("string"==typeof r&&"auto"!==r||"number"==typeof r&&r>0)&&this._setColWidth(i,r),o&&("number"==typeof o&&o>0||"string"==typeof o)&&this.setMinColWidth(i,o),n&&("number"==typeof n&&n>0||"string"==typeof n)&&this.setMaxColWidth(i,n)}}setSortedIndexMap(t,e){this.dataSource?.setSortedIndexMap(t,e)}checkReactCustomLayout(){this.reactCustomLayout||(this.reactCustomLayout=new jA(this))}get bodyDomContainer(){return this.internalProps.bodyDomContainer}get headerDomContainer(){return this.internalProps.headerDomContainer}get frozenBodyDomContainer(){return this.internalProps.frozenBodyDomContainer}get frozenHeaderDomContainer(){return this.internalProps.frozenHeaderDomContainer}get rightFrozenBodyDomContainer(){return this.internalProps.rightFrozenBodyDomContainer}get rightFrozenHeaderDomContainer(){return this.internalProps.rightFrozenHeaderDomContainer}get frozenBottomDomContainer(){return this.internalProps.frozenBottomDomContainer}get bottomDomContainer(){return this.internalProps.bottomDomContainer}get rightFrozenBottomDomContainer(){return this.internalProps.rightFrozenBottomDomContainer}showMoverLine(t,e){this.scenegraph.component.showMoveCol(t,e,0),this.scenegraph.renderSceneGraph()}hideMoverLine(t,e){this.scenegraph.component.hideMoveCol(),this.scenegraph.renderSceneGraph()}disableScroll(){this.eventManager.disableScroll()}enableScroll(){this.eventManager.enableScroll()}getGroupTitleLevel(t,e){}scrollToRow(t,e){e?this.animationManager.scrollTo({row:t},e):this.scrollToCell({row:t})}scrollToCol(t,e){e?this.animationManager.scrollTo({col:t},e):this.scrollToCell({col:t})}scrollToCell(t,e){if(e)return void this.animationManager.scrollTo(t,e);const i=this.getDrawRange();if(J(t.col)&&t.col>=this.frozenColCount){const e=this.getFrozenColsWidth(),r=this.getColsWidth(0,t.col-1);this.scrollLeft=Math.min(r-e,this.getAllColsWidth()-i.width)}if(J(t.row)&&t.row>=this.frozenRowCount){const e=this.getFrozenRowsHeight(),r=this.getRowsHeight(0,t.row-1);this.scrollTop=Math.min(r-e,this.getAllRowsHeight()-i.height)}this.render()}checkHasColumnAutoWidth(){return function(t){if("autoWidth"===t.options.widthMode)return!0;if("auto"===t.options.defaultHeaderColWidth||Array.isArray(t.options.defaultHeaderColWidth)&&t.options.defaultHeaderColWidth.includes("auto"))return!0;const e=t.internalProps.layoutMap.columnObjects;for(let t=0;t<e.length;t++)if("auto"===e[t].width)return!0;return!1}(this)}}var kk=Object.freeze({__proto__:null,BaseTable:Hk});const Lk={},Ek={};function Fk(t){if(Ek[t])return Ek[t]}function Ik(t,e,i){const r=t[e];return t[e]=i,r}function zk(t){for(const e in t)delete t[e]}function Ok(){zk(zv),zk(oR),zk(Lk),zk(Ek),zk(ew)}var Dk=Object.freeze({__proto__:null,aggregator:function(t,e){null!=e&&Ik(ew,t,e)},chartModule:function(t,e){return null!=e?Ik(Lk,t,e):Lk[t]},clearAll:Ok,editor:function(t,e){return null!=e?Ik(Ek,t,e):Ek[t]},icon:function(t,e){return null!=e?Ik(oR,t,e):oR[t]},theme:function(t,e){return null!=e?Ik(zv,t,e):zv[t]}});var Wk=Object.freeze({__proto__:null,dateFormat:function(t,e,i,r,o){null==i&&(i=!1),null==r&&(r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),null==o&&(o=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);const n=i?"UTC":"",s=function(t){return`0${t}`.substring(0,2)};return function(i){const a=new Date(Date.parse(i[t]));return e.replace(/%(.)/g,(function(t,e){switch(e){case"y":return a[`get${n}FullYear`]();case"m":return s(a[`get${n}Month`]()+1);case"n":return r[a[`get${n}Month`]()];case"d":return s(a[`get${n}Date`]());case"w":return o[a[`get${n}Day`]()];case"x":return a[`get${n}Day`]();case"H":return s(a[`get${n}Hours`]());case"M":return s(a[`get${n}Minutes`]());case"S":return s(a[`get${n}Seconds`]());default:return`%${e}`}}))}},numberFormat:function(t){return t=Object.assign({},{digitsAfterDecimal:2,scaler:1,thousandsSep:",",decimalSep:".",prefix:"",suffix:""},t),function(e){if(isNaN(e)||!isFinite(e))return"";const i=function(t,e,i){const r=(t+="").split(".");let o=r[0];const n=r.length>1?i+r[1]:"";return o=function(t,e){return t.replace(/\d+/,(function(t){return t.replace(/(\d)(?=(\d{3})+$)/g,(function(t){return`${t}${e}`}))}))}(o,e),o+n}((t.scaler*e).toFixed(t.digitsAfterDecimal),t.thousandsSep,t.decimalSep);return`${t.prefix}${i}${t.suffix}`}}});var Nk=(t,e)=>Object.prototype.toString.call(t)===`[object ${e}]`;var Gk=function(t){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"boolean"==typeof t:!0===t||!1===t||Nk(t,"Boolean")};var Vk=t=>"function"==typeof t;var jk=t=>null==t;var Uk=t=>null!=t;var Kk=t=>"object"==typeof t&&null!==t;var $k=function(t){if(!Kk(t)||!Nk(t,"Object"))return!1;if(null===Object.getPrototypeOf(t))return!0;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e};var Xk=function(t){const e=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"string"===e:"string"===e||Nk(t,"String")};var Yk=t=>Array.isArray?Array.isArray(t):Nk(t,"Array");var qk=function(t){return null!==t&&"function"!=typeof t&&Number.isFinite(t.length)};var Zk=t=>Nk(t,"Date");var Jk=function(t){const e=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"number"===e:"number"===e||Nk(t,"Number")};function Qk(t,e,i){let r;if(!Uk(t)||"object"!=typeof t||e&&e(t))return t;const o=Yk(t),n=t.length;r=o?new Array(n):"object"==typeof t?{}:Gk(t)||Jk(t)||Xk(t)?t:Zk(t)?new Date(+t):void 0;const s=o?void 0:Object.keys(Object(t));let a=-1;if(r)for(;++a<(s||t).length;){const o=s?s[a]:a,n=t[o];i&&i.includes(o.toString())?r[o]=n:r[o]=Qk(n,e,i)}return r}function tL(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e){if(t===e)return;if(Uk(e)&&"object"==typeof e){const o=Object(e),n=[];for(const t in o)n.push(t);let{length:s}=n,a=-1;for(;s--;){const s=n[++a];!Uk(o[s])||"object"!=typeof o[s]||r&&Yk(t[s])?iL(t,s,o[s]):eL(t,e,s,i,r)}}}}function eL(t,e,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const n=t[i],s=e[i];let a=e[i],l=!0;if(Yk(s)){if(r)a=[];else if(Yk(n))a=n;else if(qk(n)){a=new Array(n.length);let t=-1;const e=n.length;for(;++t<e;)a[t]=n[t]}}else $k(s)?(a=null!=n?n:{},"function"!=typeof n&&"object"==typeof n||(a={})):l=!1;l&&tL(a,s,r,o),iL(t,i,a)}function iL(t,e,i){(void 0!==i&&!function(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}(t[e],i)||void 0===i&&!(e in t))&&(t[e]=i)}function rL(t,e,i){const r=function(t){if(!t)return[];if(Object.keys)return Object.keys(t);const e=[];for(const i in t)t.hasOwnProperty(i)&&e.push(i);return e}(e);for(let o=0;o<r.length;o++){const n=r[o];(i?null!=e[n]:null==t[n])&&(t[n]=e[n])}return t}function oL(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,Object.getOwnPropertyNames){const r=Object.getOwnPropertyNames(e);for(let o=0;o<r.length;o++){const n=r[o];"constructor"!==n&&(i?null!=e[n]:null==t[n])&&(t[n]=e[n])}}else rL(t,e,i)}function nL(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function sL(t){return Number(t)}const aL="undefined"!=typeof console;function lL(t,e,i){const r=[e].concat([].slice.call(i));aL&&console[t].apply(console,r)}var hL;!function(t){t[t.None=0]="None",t[t.Error=1]="Error",t[t.Warn=2]="Warn",t[t.Info=3]="Info",t[t.Debug=4]="Debug"}(hL||(hL={}));class cL{static getInstance(t,e){return cL._instance&&Jk(t)?cL._instance.level(t):cL._instance||(cL._instance=new cL(t,e)),cL._instance}static setInstance(t){return cL._instance=t}static setInstanceLevel(t){cL._instance?cL._instance.level(t):cL._instance=new cL(t)}static clearInstance(){cL._instance=null}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:hL.None,e=arguments.length>1?arguments[1]:void 0;this._onErrorHandler=[],this._level=t,this._method=e}addErrorHandler(t){this._onErrorHandler.find((e=>e===t))||this._onErrorHandler.push(t)}removeErrorHandler(t){const e=this._onErrorHandler.findIndex((e=>e===t));e<0||this._onErrorHandler.splice(e,1)}callErrorHandler(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._onErrorHandler.forEach((t=>t(...e)))}canLogInfo(){return this._level>=hL.Info}canLogDebug(){return this._level>=hL.Debug}canLogError(){return this._level>=hL.Error}canLogWarn(){return this._level>=hL.Warn}level(t){return arguments.length?(this._level=+t,this):this._level}error(){for(var t,e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];return this._level>=hL.Error&&(this._onErrorHandler.length?this.callErrorHandler(...i):lL(null!==(t=this._method)&&void 0!==t?t:"error","ERROR",i)),this}warn(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this._level>=hL.Warn&&lL(this._method||"warn","WARN",e),this}info(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this._level>=hL.Info&&lL(this._method||"log","INFO",e),this}debug(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this._level>=hL.Debug&&lL(this._method||"log","DEBUG",e),this}}cL._instance=null;const dL=1e-10,uL=1e-10;function gL(t,e){const i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:dL,r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:uL)*Math.max(t,e);return Math.abs(t-e)<=Math.max(i,r)}function pL(t,e,i,r){return t>e&&!gL(t,e,i,r)}function fL(t,e,i,r){return t<e&&!gL(t,e,i,r)}const mL=t=>{let e=null,i=null;return function(){for(var r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return e&&o.every(((t,i)=>t===e[i]))||(e=o,i=t(...o)),i}};var bL=function(t,e,i){return t<e?e:t>i?i:t};function yL(t,e){let i;return t>e&&(i=t,t=e,e=i),i=>Math.max(t,Math.min(e,i))}function CL(t,e){return i=>t*(1-i)+e*i}function wL(t,e){return function(i){return Math.round(t*(1-i)+e*i)}}function vL(t,e,i){e/=100,i/=100;const r=(1-Math.abs(2*i-1))*e,o=r*(1-Math.abs(t/60%2-1)),n=i-r/2;let s=0,a=0,l=0;return 0<=t&&t<60?(s=r,a=o,l=0):60<=t&&t<120?(s=o,a=r,l=0):120<=t&&t<180?(s=0,a=r,l=o):180<=t&&t<240?(s=0,a=o,l=r):240<=t&&t<300?(s=o,a=0,l=r):300<=t&&t<360&&(s=r,a=0,l=o),s=Math.round(255*(s+n)),a=Math.round(255*(a+n)),l=Math.round(255*(l+n)),{r:s,g:a,b:l}}function xL(t,e,i){t/=255,e/=255,i/=255;const r=Math.min(t,e,i),o=Math.max(t,e,i),n=o-r;let s=0,a=0,l=0;return s=0===n?0:o===t?(e-i)/n%6:o===e?(i-t)/n+2:(t-e)/n+4,s=Math.round(60*s),s<0&&(s+=360),l=(o+r)/2,a=0===n?0:n/(1-Math.abs(2*l-1)),a=+(100*a).toFixed(1),l=+(100*l).toFixed(1),{h:s,s:a,l:l}}const _L=/^#([0-9a-f]{3,8})$/,SL={transparent:4294967040},AL={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function RL(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function TL(t){return Jk(t)?new kL(t>>16,t>>8&255,255&t,1):Yk(t)?new kL(t[0],t[1],t[2]):new kL(255,255,255)}function BL(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function ML(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}const PL=(t,e)=>{const i=_L.exec(t);if(e||i){const t=parseInt(i[1],16),e=i[1].length;return 3===e?new kL((t>>8&15)+((t>>8&15)<<4),(t>>4&15)+((t>>4&15)<<4),(15&t)+((15&t)<<4),1):6===e?TL(t):8===e?new kL(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):null}};class HL{static Brighter(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new HL(t).brighter(e).toRGBA()}static SetOpacity(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new HL(t).setOpacity(e).toRGBA()}static getColorBrightness(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"hsl";const i=t instanceof HL?t:new HL(t);switch(e){case"hsv":default:return i.getHSVBrightness();case"hsl":return i.getHSLBrightness();case"lum":return i.getLuminance();case"lum2":return i.getLuminance2();case"lum3":return i.getLuminance3()}}static parseColorString(t){if(Uk(SL[t]))return function(t){return Jk(t)?new kL(t>>>24,t>>>16&255,t>>>8&255,255&t):Yk(t)?new kL(t[0],t[1],t[2],t[3]):new kL(255,255,255,1)}(SL[t]);if(Uk(AL[t]))return TL(AL[t]);const e=`${t}`.trim().toLowerCase(),i=PL(e);if(void 0!==i)return i;if(/^(rgb|RGB|rgba|RGBA)/.test(e)){const t=e.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g,"").split(",");return new kL(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),parseFloat(t[3]))}if(/^(hsl|HSL|hsla|HSLA)/.test(e)){const t=e.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g,"").split(","),i=vL(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10));return new kL(i.r,i.g,i.b,parseFloat(t[3]))}}constructor(t){const e=HL.parseColorString(t);this.color=e||new kL(255,255,255)}toRGBA(){return this.color.formatRgb()}toString(){return this.color.formatRgb()}toHex(){return this.color.formatHex()}toHsl(){return this.color.formatHsl()}brighter(t){const{r:e,g:i,b:r}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t))),this.color.g=Math.max(0,Math.min(255,Math.floor(i*t))),this.color.b=Math.max(0,Math.min(255,Math.floor(r*t))),this}add(t){const{r:e,g:i,b:r}=this.color;return this.color.r+=Math.min(255,e+t.color.r),this.color.g+=Math.min(255,i+t.color.g),this.color.b+=Math.min(255,r+t.color.b),this}sub(t){return this.color.r=Math.max(0,this.color.r-t.color.r),this.color.g=Math.max(0,this.color.g-t.color.g),this.color.b=Math.max(0,this.color.b-t.color.b),this}multiply(t){const{r:e,g:i,b:r}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t.color.r))),this.color.g=Math.max(0,Math.min(255,Math.floor(i*t.color.g))),this.color.b=Math.max(0,Math.min(255,Math.floor(r*t.color.b))),this}getHSVBrightness(){return Math.max(this.color.r,this.color.g,this.color.b)/255}getHSLBrightness(){return.5*(Math.max(this.color.r,this.color.g,this.color.b)/255+Math.min(this.color.r,this.color.g,this.color.b)/255)}setHsl(t,e,i){const r=this.color.opacity,o=xL(this.color.r,this.color.g,this.color.b),n=vL(jk(t)?o.h:bL(t,0,360),jk(e)?o.s:e>=0&&e<=1?100*e:e,jk(i)?o.l:i<=1&&i>=0?100*i:i);return this.color=new kL(n.r,n.g,n.b,r),this}setRGB(t,e,i){return!jk(t)&&(this.color.r=t),!jk(e)&&(this.color.g=e),!jk(i)&&(this.color.b=i),this}setHex(t){const e=`${t}`.trim().toLowerCase(),i=PL(e,!0);return null!=i?i:this}setColorName(t){const e=AL[t.toLowerCase()];return void 0!==e&&this.setHex(e),this}setScalar(t){return this.color.r=t,this.color.g=t,this.color.b=t,this}setOpacity(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.color.opacity=t,this}getLuminance(){return(.2126*this.color.r+.7152*this.color.g+.0722*this.color.b)/255}getLuminance2(){return(.2627*this.color.r+.678*this.color.g+.0593*this.color.b)/255}getLuminance3(){return(.299*this.color.r+.587*this.color.g+.114*this.color.b)/255}clone(){return new HL(this.color.toString())}copyGammaToLinear(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return this.color.r=Math.pow(t.color.r,e),this.color.g=Math.pow(t.color.g,e),this.color.b=Math.pow(t.color.b,e),this}copyLinearToGamma(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const i=e>0?1/e:1;return this.color.r=Math.pow(t.color.r,i),this.color.g=Math.pow(t.color.g,i),this.color.b=Math.pow(t.color.b,i),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.color.r=BL(t.color.r),this.color.g=BL(t.color.g),this.color.b=BL(t.color.b),this}copyLinearToSRGB(t){return this.color.r=ML(t.color.r),this.color.g=ML(t.color.g),this.color.b=ML(t.color.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}}class kL{constructor(t,e,i,r){this.r=isNaN(+t)?255:Math.max(0,Math.min(255,+t)),this.g=isNaN(+e)?255:Math.max(0,Math.min(255,+e)),this.b=isNaN(+i)?255:Math.max(0,Math.min(255,+i)),Uk(r)?this.opacity=isNaN(+r)?1:Math.max(0,Math.min(1,+r)):this.opacity=1}formatHex(){return`#${RL(this.r)+RL(this.g)+RL(this.b)+(1===this.opacity?"":RL(255*this.opacity))}`}formatRgb(){const t=this.opacity;return`${1===t?"rgb(":"rgba("}${this.r},${this.g},${this.b}${1===t?")":`,${t})`}`}formatHsl(){const t=this.opacity,{h:e,s:i,l:r}=xL(this.r,this.g,this.b);return`${1===t?"hsl(":"hsla("}${e},${i}%,${r}%${1===t?")":`,${t})`}`}toString(){return this.formatHex()}}var LL=Object.freeze({__proto__:null,Color:HL,DEFAULT_COLORS:AL,RGB:kL,hexToRgb:function(t){let e="",i="",r="";const o="#"===t[0]?1:0;for(let n=o;n<t.length;n++)"#"!==t[n]&&(n<o+2?e+=t[n]:n<o+4?i+=t[n]:n<o+6&&(r+=t[n]));return[parseInt(e,16),parseInt(i,16),parseInt(r,16)]},hslToRgb:vL,interpolateRgb:function(t,e){const i=t.r,r=e.r,o=t.g,n=e.g,s=t.b,a=e.b,l=t.opacity,h=e.opacity;return t=>{const e=Math.round(i*(1-t)+r*t),c=Math.round(o*(1-t)+n*t),d=Math.round(s*(1-t)+a*t);return new kL(e,c,d,l*(1-t)+h*t)}},rgbToHex:function(t,e,i){return Number((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},rgbToHsl:xL});const EL=(t,e)=>{var i,r;if(!(null==e?void 0:e.fields))return t;if(0===t.length)return t;const o=e.fields,n=t[0],s={},a=[];for(const e in o)if(Object.prototype.hasOwnProperty.call(o,e)){const l=o[e];if(!l.type){let r=n;e in n||(r=null!==(i=t.find((t=>e in t)))&&void 0!==i?i:n),l.type="number"==typeof r[e]?"linear":"ordinal"}let h;if("number"==typeof l.sortIndex&&(h={key:e,type:l.type,index:l.sortIndex,sortIndex:{},sortIndexCount:0,sortReverse:!0===l.sortReverse},a.push(h)),(null===(r=l.domain)||void 0===r?void 0:r.length)>0)if("ordinal"===l.type){l._domainCache={},s[e]=l;const t={};l.domain.forEach(((e,i)=>{t[e]=i,l._domainCache[e]=i})),h&&(h.sortIndex=t,h.sortIndexCount=l.domain.length)}else l.domain.length>=2&&(s[e]=l)}return Object.keys(s).length>0&&(t=t.filter((t=>{for(const e in s){const i=s[e];if("ordinal"===i.type){if(!(t[e]in i._domainCache))return!1}else if(i.domain[0]>t[e]||i.domain[1]<t[e])return!1}return!0}))),a.sort(((t,e)=>t.index-e.index)),t.sort(((t,e)=>function(t,e,i){for(let r=0;r<i.length;r++){const o=i[r];let n=0;if("ordinal"===o.type?(void 0===o.sortIndex[e[o.key]]&&(o.sortIndex[e[o.key]]=o.sortIndexCount++),void 0===o.sortIndex[t[o.key]]&&(o.sortIndex[t[o.key]]=o.sortIndexCount++),n=o.sortIndex[t[o.key]]-o.sortIndex[e[o.key]]):"linear"===o.type&&(n=t[o.key]-e[o.key]),o.sortReverse&&(n=-n),0!==n)return n}return 0}(t,e,a))),t};let FL=0;function IL(){return FL>1e8&&(FL=0),(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dataset")+"_"+FL++}class zL{constructor(t){var e;let i;this.options=t,this.isDataSet=!0,this.transformMap={},this.parserMap={},this.dataViewMap={},this.target=new $,i=(null==t?void 0:t.name)?t.name:IL("dataset"),this.name=i,this._logger=null!==(e=null==t?void 0:t.logger)&&void 0!==e?e:cL.getInstance()}setLogger(t){this._logger=t}getDataView(t){return this.dataViewMap[t]}setDataView(t,e){var i;this.dataViewMap[t]&&(null===(i=this._logger)||void 0===i||i.error(`Error: dataView ${t} 之前已存在,请重新命名`)),this.dataViewMap[t]=e}removeDataView(t){this.dataViewMap[t]=null,delete this.dataViewMap[t]}registerParser(t,e){var i;this.parserMap[t]&&(null===(i=this._logger)||void 0===i||i.warn(`Warn: transform ${t} 之前已注册,执行覆盖逻辑`)),this.parserMap[t]=e}removeParser(t){this.parserMap[t]=null,delete this.parserMap[t]}getParser(t){return this.parserMap[t]||this.parserMap.default}registerTransform(t,e){var i;this.transformMap[t]&&(null===(i=this._logger)||void 0===i||i.warn(`Warn: transform ${t} 之前已注册,执行覆盖逻辑`)),this.transformMap[t]=e}removeTransform(t){this.transformMap[t]=null,delete this.transformMap[t]}getTransform(t){return this.transformMap[t]}multipleDataViewAddListener(t,e,i){this._callMap||(this._callMap=new Map);let r=this._callMap.get(i);r||(r=()=>{t.some((t=>t.isRunning))||i()}),t.forEach((t=>{t.target.addListener(e,r)})),this._callMap.set(i,r)}allDataViewAddListener(t,e){this.multipleDataViewAddListener(Object.values(this.dataViewMap),t,e)}multipleDataViewRemoveListener(t,e,i){if(this._callMap){const r=this._callMap.get(i);r&&t.forEach((t=>{t.target.removeListener(e,r)})),this._callMap.delete(i)}}multipleDataViewUpdateInParse(t){t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.markRunning()})),t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.parseNewData(t.data,t.options)}))}multipleDataViewUpdateInRawData(t){t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.markRunning()})),t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.updateRawData(t.data,t.options)}))}destroy(){this.transformMap=null,this.parserMap=null,this.dataViewMap=null,this._callMap=null,this.target.removeAllListeners()}}const OL="_data-view-diff-rank";class DL{constructor(t,e){var i=this;let r;this.dataSet=t,this.options=e,this.isDataView=!0,this.target=new $,this.parseOption=null,this.transformsArr=[],this.isRunning=!1,this.rawData={},this.history=!1,this.parserData={},this.latestData={},this._fields=null,this.reRunAllTransform=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{pushHistory:!0,emitMessage:!0};return i.isRunning=!0,i.resetTransformData(),i.transformsArr.forEach((e=>{i.executeTransform(e,{pushHistory:t.pushHistory,emitMessage:!1}),i.isLastTransform(e)&&i.diffLastData()})),i.isRunning=!1,!1!==t.emitMessage&&i.target.emit("change",[]),i},this.markRunning=()=>{this.isRunning=!0,this.target.emit("markRunning",[])},r=(null==e?void 0:e.name)?e.name:IL("dataview"),this.name=r,(null==e?void 0:e.history)&&(this.history=e.history,this.historyData=[]),this.dataSet.setDataView(r,this),this.setFields(null==e?void 0:e.fields)}parse(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];var r;this.isRunning=!0,i&&this.target.emit("beforeParse",[]),e&&(this.parseOption=e);const o=this.cloneParseData(t,e);if(null==e?void 0:e.type){const t=(null!==(r=this.dataSet.getParser(e.type))&&void 0!==r?r:this.dataSet.getParser("bytejson"))(o,e.options,this);this.rawData=o,this.parserData=t,this.history&&this.historyData.push(o,t),this.latestData=t}else this.parserData=o,this.rawData=o,this.history&&this.historyData.push(o),this.latestData=o;return this.isRunning=!1,i&&this.target.emit("afterParse",[]),this}transform(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.isRunning=!0,t&&t.type){let i=!0;if("fields"===t.type){this._fields=t.options.fields;const e=this.transformsArr.findIndex((e=>e.type===t.type));e>=0&&(i=!1,this.transformsArr[e].options.fields=this._fields)}if(i&&this.transformsArr.push(t),e){const e=this.isLastTransform(t);this.executeTransform(t),e&&this.diffLastData()}}return this.sortTransform(),this.isRunning=!1,this}isLastTransform(t){return this.transformsArr[this.transformsArr.length-1]===t}sortTransform(){this.transformsArr.length>=2&&this.transformsArr.sort(((t,e)=>{var i,r;return(null!==(i=t.level)&&void 0!==i?i:0)-(null!==(r=e.level)&&void 0!==r?r:0)}))}executeTransform(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{pushHistory:!0,emitMessage:!0};const{pushHistory:i,emitMessage:r}=e,o=this.dataSet.getTransform(t.type)(this.latestData,t.options);this.history&&!1!==i&&this.historyData.push(o),this.latestData=o,!1!==r&&this.target.emit("change",[])}resetTransformData(){this.latestData=this.parserData,this.history&&(this.historyData.length=0,this.historyData.push(this.rawData,this.parserData))}enableDiff(t){this._diffData=!0,this._diffKeys=t,this._diffMap=new Map,this._diffRank=0}disableDiff(){this._diffData=!1,this._diffMap=null,this._diffRank=null}resetDiff(){this._diffMap=new Map,this._diffRank=0}diffLastData(){var t;if(!this._diffData)return;if(!this.latestData.forEach)return;if(!(null===(t=this._diffKeys)||void 0===t?void 0:t.length))return;const e=this._diffRank+1;if(0===this._diffRank)this.latestData.forEach((t=>{t[OL]=e,this._diffMap.set(this._diffKeys.reduce(((e,i)=>e+t[i]),""),t)})),this.latestDataAUD={add:Array.from(this.latestData),del:[],update:[]};else{let t;this.latestDataAUD={add:[],del:[],update:[]},this.latestData.forEach((i=>{i[OL]=e,t=this._diffKeys.reduce(((t,e)=>t+i[e]),""),this._diffMap.get(t)?this.latestDataAUD.update.push(i):this.latestDataAUD.add.push(i),this._diffMap.set(t,i)})),this._diffMap.forEach(((t,i)=>{t[OL]<e&&(this.latestDataAUD.del.push(t),this._diffMap.delete(i))}))}this._diffRank=e}cloneParseData(t,e){let i=!1;return t instanceof DL||!0!==(null==e?void 0:e.clone)||(i=!0),i?Qk(t):t}parseNewData(t,e){this.parse(t,e||this.parseOption),this.reRunAllTransform()}updateRawData(t,e){const i=this.cloneParseData(t,e);this.rawData=i,this.parserData=i,this.latestData=i,this.reRunAllTransform()}getFields(){var t;return this._fields?this._fields:"dataview"===(null===(t=this.parseOption)||void 0===t?void 0:t.type)&&1===this.rawData.length&&this.rawData[0].getFields?this.rawData[0].getFields():null}setFields(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._fields=t&&e?function(t){let e=-1;const i=arguments.length<=1?0:arguments.length-1;for(;++e<i;)tL(t,e+1<1||arguments.length<=e+1?void 0:arguments[e+1],!0);return t}({},this._fields,t):t;const i=this.transformsArr.find((t=>"fields"===t.type));!jk(this._fields)&&jk(i)?(this.dataSet.registerTransform("fields",EL),this.transform({type:"fields",options:{fields:this._fields}},!1)):i&&(i.options.fields=this._fields)}destroy(){this.dataSet.removeDataView(this.name),this._diffMap=null,this._diffRank=null,this.latestData=null,this.rawData=null,this.parserData=null,this.transformsArr=null,this.target=null}}function WL(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["data"];const i=t;let r;if(!Uk(i)||"object"!=typeof i)return i;if(function(t){return t instanceof DL}(i)||function(t){try{return t instanceof Element}catch(e){const i=["children","innerHTML","classList","setAttribute","tagName","getBoundingClientRect"],r=Object.keys(t);return i.every((t=>r.includes(t)))}}(i))return i;const o=Yk(i),n=i.length;r=o?new Array(n):"object"==typeof i?{}:Gk(i)||Jk(i)||Xk(i)?i:Zk(i)?new Date(+i):void 0;const s=o?void 0:Object.keys(Object(i));let a=-1;if(r)for(;++a<(s||i).length;){const t=s?s[a]:a,o=i[t];(null==e?void 0:e.includes(t.toString()))?r[t]=o:r[t]=WL(o,e)}return r}function NL(t){const e={...t};return ft(t.style)||(e.textStyle=GL(t.style)),ft(t.textStyle)||_t(e.textStyle,GL(t.textStyle)),t.shape?.style&&GL(e.shape.style),t.background?.style&&GL(e.background.style),e}function GL(t){return ft(t)||t.angle&&(t.angle=ue(t.angle)),t}function VL(t={}){return ft(t.style)||(t.style=GL(t.style)),ft(t.state)||Object.keys(t.state).forEach((e=>{ft(t.state[e])||(t.state[e]=GL(t.state[e]))})),t}function jL(t){return ft(t)?null:(Object.keys(t).forEach((e=>{ft(t[e])||(t[e]=GL(t[e]))})),t)}const UL={left:{textAlign:"center",textBaseline:"bottom"},right:{textAlign:"center",textBaseline:"bottom"},radius:{},angle:{}},KL="PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol",$L=14,XL=$L,YL=4,qL={domainLine:{visible:!0,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},grid:{visible:!0,style:{lineWidth:1,stroke:"#EBEDF2",strokeOpacity:1,lineDash:[]}},subGrid:{visible:!1,style:{lineWidth:1,stroke:"#EBEDF2",strokeOpacity:1,lineDash:[4,4]}},tick:{visible:!0,tickSize:YL,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},subTick:{visible:!1,tickSize:YL/2,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},label:{visible:!0,space:1,style:{fontSize:XL,fill:"#89909D",fontWeight:"normal",fillOpacity:1},autoLimit:!0},title:{space:10,style:{fontSize:XL,fill:"#333333",fontWeight:"normal",fillOpacity:1}}};function ZL(t){const e=_t({},t);let i,r=e.title?.angle??0;"left"!==e.orient&&"right"!==e.orient||e.title?.autoRotate&&Z(e.title.angle)&&(r="left"===e.orient?-90:90,i=UL[e.orient]);const o=function(t,e){if(!t||!et(t))return t;const i={};return Object.keys(t).forEach((r=>{const o=t[r];let n=!1;e.forEach((t=>{(rt(t)&&t===r||t instanceof RegExp&&r.match(t))&&(n=!0)})),n||(i[r]=o)})),i}(e.label,["style","formatMethod","state"]);return{orient:e.orient,select:e.select,hover:e.hover,line:(n=e.domainLine,VL(n),VL(n.startSymbol),VL(n.endSymbol),n),label:{style:GL(e.label.style),formatMethod:e.label.formatMethod?(t,i,r)=>e.label.formatMethod(i.rawValue,i):null,state:jL(e.label.state),...o},tick:{visible:e.tick.visible,length:e.tick.tickSize,inside:e.tick.inside,alignWithLabel:e.tick.alignWithLabel,style:GL(e.tick.style),state:jL(e.tick.state),dataFilter:e.tick.dataFilter},subTick:{visible:e.subTick.visible,length:e.subTick.tickSize,inside:e.subTick.inside,count:e.subTick.tickCount,style:GL(e.subTick.style),state:jL(e.subTick.state)},grid:{type:"line",visible:e.grid.visible,alternateColor:e.grid.alternateColor,alignWithLabel:e.grid.alignWithLabel,style:GL(e.grid.style)},subGrid:{type:"line",visible:e.subGrid.visible,alternateColor:e.subGrid.alternateColor,style:GL(e.subGrid.style)},title:{visible:e.title.visible,position:e.title.position,space:e.title.space,autoRotate:!1,angle:r?ue(r):null,textStyle:_t({},i,GL(e.title.style)),padding:e.title.padding,shape:{visible:e.title.shape?.visible,space:e.title.shape?.space,style:GL(e.title.shape?.style)},background:{visible:e.title.background?.visible,style:GL(e.title.background?.style)},state:{text:jL(e.title.state),shape:jL(e.title.shape?.state),background:jL(e.title.background?.state)}},panel:{visible:e.background?.visible,style:GL(e.background?.style),state:jL(e.background?.state)}};var n}const JL="NO_AXISID_FRO_VTABLE";function QL(t){let e=!1;for(let i=0;i<t.length;i++){const r=t[i];if(r.chartSpec&&"wordCloud"!==r.chartSpec.type&&"radar"!==r.chartSpec.type&&"gauge"!==r.chartSpec.type&&"pie"!==r.chartSpec.type&&"funnel"!==r.chartSpec.type&&"rose"!==r.chartSpec.type){e=!0;break}}return e}function tE(t,e,i,r){let o=!1;if(r.indicatorsAsCol&&"row"===i||!r.indicatorsAsCol&&"col"===i)for(let t=0;t<r.indicatorsDefine.length;t++){const e=r.indicatorsDefine[t];if(e.chartSpec&&"pie"!==e.chartSpec.type&&"wordCloud"!==e.chartSpec.type&&"radar"!==e.chartSpec.type&&"gauge"!==e.chartSpec.type&&"funnel"!==e.chartSpec.type&&"rose"!==e.chartSpec.type){o=!0;break}}else{const i=r.getRawChartSpec(t,e);i?"pie"!==i.type&&"radar"!==i.type&&"gauge"!==i.type&&"wordCloud"!==i.type&&"funnel"!==i.type&&"rose"!==i.type&&(o=!0):o=!1}return o}function eE(t,e,i){const r=i.getRawChartSpec(t,e);if(r?.series){const t={};return r.data?.id&&(t[r.data.id]=void 0),r?.series.forEach((e=>{if(!e.data?.fromDataId)if(e.data?.transforms)t[e.data?.id??r.data?.id??"data"]=void 0;else{const i="horizontal"===e.direction?e.xField:e.yField;t[e.data?.id??r.data?.id??"data"]=e.data?.id?i:void 0}})),t}return r.data.id}function iE(t){let e=!1;for(let i=0;i<t.columnObjects.length;i++){if(t.columnObjects[i].chartSpec){e=!0;break}}return e}function rE(t,e){if(t&&ot(t.seriesId)&&t.seriesId.length>0){const i=e.filter((e=>!(e.orient!==t.orient||!e.seriesId||e.seriesId.length!==t.seriesId.length||!e.seriesId.every(((e,i)=>e===t.seriesId[i])))));if(i.length>0)return!0}return!1}class oE{seqId=0;_headerObjects;_headerObjectMap;_headerObjectsIncludeHided;_headerCellIds;_columns;_columnsIncludeHided;rowSeriesNumberColumn;leftRowSeriesNumberColumn;rightRowSeriesNumberColumn;leftRowSeriesNumberColumnCount=0;rightRowSeriesNumberColumnCount=0;columnTree;bodyRowSpanCount=1;hierarchyIndent;hierarchyTextStartAlignment;_transpose=!1;_showHeader=!0;_recordsCount=0;_table;_hasAggregation=!1;_hasAggregationOnTopCount=0;_hasAggregationOnBottomCount=0;rowHierarchyType;_cellRangeMap;constructor(t,e,i,r){this._cellRangeMap=new Map,this._showHeader=i,this._table=t,this._columns=[],this._columnsIncludeHided=[],this._headerCellIds=[],this.hierarchyIndent=r??20,this.hierarchyTextStartAlignment=t.options.hierarchyTextStartAlignment,this.columnTree=new WH(e,{seqId:0},null),this._headerObjectsIncludeHided=this._addHeaders(0,e,[]),this._headerObjects=this._headerObjectsIncludeHided.filter((t=>!0!==t.define.hide)),this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this.rowHierarchyType=function(t){if(t._table.options.groupBy)return!0;const{columns:e}=t._table.options;if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!rt(i)&&i.tree)return!0}return!1}(this)?"tree":"grid",this._hasAggregation=function(t){const e=t.columnObjects;for(let t=0;t<e.length;t++){const i=e[t];if(i?.aggregation)return!0}return!1}(this),this._hasAggregationOnBottomCount=function(t){const e=t.columnObjects;let i=0;for(let t=0;t<e.length;t++){const r=e[t];r?.aggregation&&(Array.isArray(r?.aggregation)?i=Math.max(i,r.aggregation.filter((t=>!t.showOnTop)).length):r.aggregation.showOnTop||(i=Math.max(i,1)))}return i}(this),this._hasAggregationOnTopCount=function(t){const e=t.columnObjects;let i=0;for(let t=0;t<e.length;t++){const r=e[t];r?.aggregation&&(Array.isArray(r?.aggregation)?i=Math.max(i,r.aggregation.filter((t=>t.showOnTop)).length):r.aggregation.showOnTop&&(i=Math.max(i,1)))}return i}(this),this.handleRowSeriesNumber(t.internalProps.rowSeriesNumber)}handleRowSeriesNumber(t){t&&(Array.isArray(t)?this.rowSeriesNumberColumn=t.map(((e,i)=>({id:this.seqId++,title:e.title,define:_t({field:"_vtable_rowSeries_number_"+i},e),cellType:e.cellType??"text",headerType:t.cellType??"text",style:e.style,width:e.width,format:e.format,field:e.field??"_vtable_rowSeries_number_"+i,icon:e.icon,headerIcon:e.headerIcon,isChildNode:!1}))):this.rowSeriesNumberColumn=[{id:this.seqId++,title:t.title,define:_t({field:"_vtable_rowSeries_number"},t),cellType:t.cellType??"text",headerType:t.cellType??"text",style:t.style,width:t.width,format:t.format,field:"_vtable_rowSeries_number",icon:t.icon,headerIcon:t.headerIcon,isChildNode:!1}],this.leftRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!0)),this.rightRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!1)),this.leftRowSeriesNumberColumnCount=this.leftRowSeriesNumberColumn.length,this.rightRowSeriesNumberColumnCount=this.rightRowSeriesNumberColumn.length)}get transpose(){return this._transpose}set transpose(t){this._transpose=t}get showHeader(){return this._showHeader}set showHeader(t){this._showHeader=t}isSeriesNumberInHeader(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return!1;if(e<this.headerLevelCount)return!0}if(this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount){if(this.transpose)return!1;if(e<this.headerLevelCount)return!0}return!1}isSeriesNumberInBody(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return!0;if(e>=this.headerLevelCount)return!0}if(this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount){if(this.transpose)return!0;if(e>=this.headerLevelCount)return!0}return!1}isSeriesNumber(t,e){if(J(t)&&J(e)){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount)return!0;if(this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount)return!0}return!1}getSeriesNumberHeader(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return;if(e<this.headerLevelCount)return Object.assign({},this.leftRowSeriesNumberColumn[t],{style:Object.assign({},this._table.transpose?this._table.internalProps.theme.rowHeaderStyle:this._table.internalProps.theme.headerStyle,this._table.internalProps.rowSeriesNumber.headerStyle)})}if(this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e<this.headerLevelCount){if(this.transpose)return;if(e<this.headerLevelCount)return this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]}}getSeriesNumberBody(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return this.leftRowSeriesNumberColumn[t];if(e>=this.headerLevelCount)return this.leftRowSeriesNumberColumn[t]}if(this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount){if(this.transpose)return this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)];if(e>=this.headerLevelCount)return this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]}}isHeader(t,e){return!!(this.transpose&&t>=this.leftRowSeriesNumberColumnCount&&t<this.headerLevelCount+this.leftRowSeriesNumberColumnCount)||!this.transpose&&e>=0&&e<this.headerLevelCount}isAggregation(t,e){if(this.hasAggregation){if(this.hasAggregationOnBottomCount)if(this.transpose){if(t>=this.colCount-this.hasAggregationOnBottomCount)return!0}else if(e>=this.rowCount-this.hasAggregationOnBottomCount)return!0;if(this.hasAggregationOnTopCount)if(this.transpose){if(t>=this.rowHeaderLevelCount&&t<this.rowHeaderLevelCount+this.hasAggregationOnTopCount)return!0}else if(e>=this.columnHeaderLevelCount&&e<this.columnHeaderLevelCount+this.hasAggregationOnTopCount)return!0}return!1}isTopAggregation(t,e){if(this.hasAggregationOnTopCount)if(this.transpose){if(t>=this.rowHeaderLevelCount&&t<this.rowHeaderLevelCount+this.hasAggregationOnTopCount)return!0}else if(e>=this.columnHeaderLevelCount&&e<this.columnHeaderLevelCount+this.hasAggregationOnTopCount)return!0;return!1}isBottomAggregation(t,e){if(this.hasAggregationOnBottomCount)if(this.transpose){if(t>=this.colCount-this.hasAggregationOnBottomCount)return!0}else if(e>=this.rowCount-this.hasAggregationOnBottomCount)return!0;return!1}get hasAggregation(){return this._hasAggregation}get hasAggregationOnTopCount(){return this._hasAggregationOnTopCount}get hasAggregationOnBottomCount(){return this._hasAggregationOnBottomCount}getAggregatorsByCell(t,e){return this.getColumnDefine(t,e).vtable_aggregator}getAggregatorsByCellRange(t,e,i,r){let o=[];if(!this.transpose){for(let r=t;r<=i;r++){const t=this.getColumnDefine(r,e);t.vtable_aggregator&&(o=o.concat(Array.isArray(t.vtable_aggregator)?t.vtable_aggregator:[t.vtable_aggregator]))}return o}for(let i=e;i<=r;i++){const e=this.getColumnDefine(t,i);e.vtable_aggregator&&(o=o.concat(Array.isArray(e.vtable_aggregator)?e.vtable_aggregator:[e.vtable_aggregator]))}return[]}getAggregatorOnTop(t,e){const i=this.getColumnDefine(t,e),r=i.vtable_aggregator,o=i.aggregation;if(Array.isArray(o)){const i=o.reduce(((t,e,i)=>(e.showOnTop&&t.push(i),t)),[]),n=i.map((t=>r[t]));return this.transpose?n[t-this.rowHeaderLevelCount]:n[e-this.columnHeaderLevelCount]}return this.transpose&&t-this.rowHeaderLevelCount==0?o?.showOnTop?r:null:this.transpose||e-this.columnHeaderLevelCount!=0?null:o?.showOnTop?r:null}getAggregatorOnBottom(t,e){const i=this.getColumnDefine(t,e),r=i.vtable_aggregator,o=i.aggregation;if(Array.isArray(o)){const i=o.reduce(((t,e,i)=>(e.showOnTop||t.push(i),t)),[]),n=i.map((t=>r[t]));return this.transpose?n[t-(this.colCount-this.hasAggregationOnBottomCount)]:n[e-(this.rowCount-this.hasAggregationOnBottomCount)]}return this.transpose&&t-(this.colCount-this.hasAggregationOnBottomCount)==0?o?.showOnTop?null:r:this.transpose||e-(this.rowCount-this.hasAggregationOnBottomCount)!=0||o?.showOnTop?null:r}getAggregatorCellAddress(t,e,i,r){const o=[],n=this.hasAggregationOnTopCount,s=this.hasAggregationOnBottomCount;if(this.transpose)for(let i=e;i<=r;i++){if(this.getColumnDefine(t,i).vtable_aggregator){for(let t=0;t<n;t++)o.push({col:this.headerLevelCount+t,row:i});for(let t=0;t<s;t++)o.push({col:this.rowCount-s+t,row:i})}}else for(let r=t;r<=i;r++){if(this.getColumnDefine(r,e).vtable_aggregator){for(let t=0;t<n;t++)o.push({col:r,row:this.headerLevelCount+t});for(let t=0;t<s;t++)o.push({col:r,row:this.rowCount-s+t})}}return o}getCellLocation(t,e){return this.isHeader(t,e)?this.transpose?"rowHeader":"columnHeader":"body"}isRowHeader(t,e){return!!(this.transpose&&t>=this.leftRowSeriesNumberColumnCount&&t<this.headerLevelCount+this.leftRowSeriesNumberColumnCount)}isColumnHeader(t,e){return!this.transpose&&e>=0&&e<=this.headerLevelCount-1&&t>=this.leftRowSeriesNumberColumnCount&&t<this.colCount-this.rightRowSeriesNumberColumnCount}isFrozenColumn(t,e){if(J(e)){if(t>=0&&t<this.frozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.frozenColCount>0&&t>=0&&t<this.frozenColCount)return!0;return!1}isRightFrozenColumn(t,e){if(J(e)){if(t>=this.colCount-this.rightFrozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.rightFrozenColCount>0&&t>=this.colCount-this.rightFrozenColCount)return!0;return!1}isFrozenRow(t,e){if(J(e)){if(e>=0&&e<this.frozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.frozenRowCount>0&&e>=0&&e<this.frozenRowCount)return!0;return!1}isBottomFrozenRow(t,e){if(J(e)){if(e>=this.rowCount-this.bottomFrozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.bottomFrozenRowCount>0&&e>=this.rowCount-this.bottomFrozenRowCount)return!0;return!1}isLeftTopCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=0&&e<this.frozenRowCount}isLeftBottomCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}isRightTopCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=0&&e<this.frozenRowCount}isRightBottomCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}isCornerHeader(t,e){return!1}getColumnHeaderRange(){return this.transpose?{start:{col:0,row:0},end:{col:this._headerCellIds.length-1,row:(this.rowCount??0)-1}}:{start:{col:0,row:0},end:{col:(this.colCount??0)-1,row:this._headerCellIds.length-1}}}getRowHeaderRange(){return this.transpose?{start:{col:0,row:0},end:{col:this._headerCellIds.length-1,row:(this.rowCount??0)-1}}:{start:{col:0,row:0},end:{col:(this.colCount??0)-1,row:this._headerCellIds.length-1}}}getCornerHeaderRange(){}getBodyRange(){return this.transpose?{start:{col:this.headerLevelCount,row:0},end:{col:(this.colCount??0)-1,row:(this.rowCount??0)-1}}:{start:{col:0,row:this.headerLevelCount},end:{col:(this.colCount??0)-1,row:(this.rowCount??0)-1}}}get headerLevelCount(){return this.showHeader?this._headerCellIds.length:0}get columnHeaderLevelCount(){return this.transpose?0:this.headerLevelCount}get rowHeaderLevelCount(){return this.transpose?this.headerLevelCount:0}get frozenColCount(){return this._table.internalProps.frozenColCount?this.colCount>this._table.internalProps.frozenColCount?this._table.internalProps.frozenColCount:this.colCount:0}get frozenRowCount(){return this._table.internalProps.frozenRowCount?this.rowCount>=this._table.internalProps.frozenRowCount?this._table.internalProps.frozenRowCount:this.rowCount:0}get bottomFrozenRowCount(){return this._table.internalProps.bottomFrozenRowCount?this.rowCount-this.headerLevelCount>=this._table.internalProps.bottomFrozenRowCount?this._table.internalProps.bottomFrozenRowCount:this.rowCount-this.headerLevelCount:0}get rightFrozenColCount(){return this._table.internalProps.rightFrozenColCount?this.colCount-this.frozenColCount>=this._table.internalProps.rightFrozenColCount?this._table.internalProps.rightFrozenColCount:Math.max(0,this.colCount-this.frozenColCount):0}get colCount(){return this.transpose?this.headerLevelCount+this.recordsCount+this.leftRowSeriesNumberColumnCount+this.rightRowSeriesNumberColumnCount:this._columns.length+this.leftRowSeriesNumberColumnCount+this.rightRowSeriesNumberColumnCount}get rowCount(){return this.transpose?this._columns.length:this.headerLevelCount+this.recordsCount}get bodyRowCount(){return this.transpose?this._columns.length:this.rowCount-this.bottomFrozenRowCount-this.headerLevelCount}get bodyColCount(){return this.transpose?this.colCount-this.rightFrozenColCount-this.rowHeaderLevelCount:this._columns.length}get recordsCount(){return this._recordsCount}set recordsCount(t){this._recordsCount=t}get headerObjects(){return this._headerObjects}get columnObjects(){return this._columns}get headerObjectsIncludeHided(){return this._headerObjectsIncludeHided}get columnWidths(){if(this.leftRowSeriesNumberColumnCount){const t=this.leftRowSeriesNumberColumn.map((t=>({width:t.width,minWidth:t.minWidth,maxWidth:t.maxWidth})));return t.push(...this._columns.map((t=>({width:t.width,minWidth:t.minWidth,maxWidth:t.maxWidth})))),t}return this._columns.map((t=>({width:t.width,minWidth:t.minWidth,maxWidth:t.maxWidth})))}getColumnWidthDefined(t){if(t>=0){if(t<this.leftRowSeriesNumberColumnCount)return this.leftRowSeriesNumberColumn[t];if(this.transpose){let e,i,r=0;if(t>=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount){let t;return this.columnObjects.forEach(((o,n)=>{"number"==typeof o.width?r=Math.max(o.width,r):"auto"===o.width&&(t=!0),"number"==typeof o.minWidth&&(i=Math.max(o.minWidth,i)),"number"==typeof o.maxWidth&&(e=Math.max(o.maxWidth,e))})),r=r>0?r:t?"auto":void 0,{width:r,minWidth:i,maxWidth:e}}if(this.isRowHeader(t,0)){const e=Array.isArray(this._table.defaultHeaderColWidth)?this._table.defaultHeaderColWidth[t]??this._table.defaultColWidth:this._table.defaultHeaderColWidth;return"auto"===e?{width:"auto"}:{width:e}}}return this._columns[t-this.leftRowSeriesNumberColumnCount]}}getCellId(t,e){return this.transpose?t>=this.headerLevelCount+this.leftRowSeriesNumberColumnCount?this._columns[e]?.id:this.isSeriesNumber(t,e)?e+"_series_number":this._headerCellIds[t-this.leftRowSeriesNumberColumnCount]?.[e]:this.isSeriesNumber(t,e)?this.rowSeriesNumberColumn[t].id:this.headerLevelCount<=e?this._columns[t-this.leftRowSeriesNumberColumnCount]?.id:this._headerCellIds[e]?.[t-this.leftRowSeriesNumberColumnCount]}getHeader(t,e){if(this.isSeriesNumberInHeader(t,e))return this.getSeriesNumberHeader(t,e);const i=this.getCellId(t,e);return this._headerObjectMap[i]}getHeaderField(t,e){if(this.isSeriesNumberInHeader(t,e))return this.getSeriesNumberHeader(t,e)?.field;if(this.isSeriesNumberInBody(t,e))return this.getSeriesNumberBody(t,e)?.field;const i=this.getCellId(t,e);return this._headerObjectMap[i]?.field||(this.transpose?this._columns[e]&&this._columns[e].field:this._columns[t-this.leftRowSeriesNumberColumnCount]&&this._columns[t-this.leftRowSeriesNumberColumnCount].field)}getHeaderCellAdressById(t){for(let e=0;e<this._headerCellIds.length;e++){const i=this._headerCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return this.transpose?{col:e,row:r}:{col:r+this.leftRowSeriesNumberColumnCount,row:e}}}getHeaderCellAddressByField(t){const e=this.headerObjects.find((e=>e&&e.field===t));return e&&this.getHeaderCellAdressById(e.id)}getBody(t,e){return this.isSeriesNumber(t,e)?this.getSeriesNumberBody(t,e):this.transpose?this._columns[e]:this._columns[t-this.leftRowSeriesNumberColumnCount]}getBodyLayoutRangeById(t){if(this.transpose){for(let e=0;e<(this.rowCount??0);e++)if(t===this._columns[e].id)return{start:{col:0,row:e},end:{col:0,row:e}}}else for(let e=this.leftRowSeriesNumberColumnCount;e<(this.colCount??0);e++)if(t===this._columns[e-this.leftRowSeriesNumberColumnCount].id)return{start:{col:e,row:0},end:{col:e,row:0}};return{start:{col:-1,row:-1},end:{col:-1,row:-1}}}getCellRange(t,e){return function(t,e,i){if(-1===t||-1===e)return{start:{col:t,row:e},end:{col:t,row:e}};if(i._cellRangeMap.has(`$${t}$${e}`))return i._cellRangeMap.get(`$${t}$${e}`);let r={start:{col:t,row:e},end:{col:t,row:e}};if(i.transpose)r=function(t,e,i){const r={start:{col:t,row:e},end:{col:t,row:e}};if(i.headerLevelCount+i.leftRowSeriesNumberColumnCount<=t||-1===t&&-1===e){if(i.headerLevelCount+i.leftRowSeriesNumberColumnCount<=t&&i.columnObjects[e]?.define?.mergeCell){const o=i._table.getCellValue(t,e);for(let n=t-1;n>=i.headerLevelCount+i.leftRowSeriesNumberColumnCount;n--){const s=i._table.getCellValue(n,e);if("boolean"==typeof i.columnObjects[e].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[e].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:n,row:e},table:i._table}))break;r.start.col=n}for(let n=t+1;n<(i.colCount??0);n++){const s=i._table.getCellValue(n,e);if("boolean"==typeof i.columnObjects[e].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[e].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:n,row:e},table:i._table}))break;r.end.col=n}}return r}const o=i.getCellId(t,e);for(let n=e-1;n>=0&&o===i.getCellId(t,n);n--)r.start.row=n;for(let n=e+1;n<(i.rowCount??0)&&o===i.getCellId(t,n);n++)r.end.row=n;for(let n=t-1;n>=0&&o===i.getCellId(n,e);n--)r.start.col=n;for(let n=t+1;n<i.headerLevelCount+i.leftRowSeriesNumberColumnCount&&o===i.getCellId(n,e);n++)r.end.col=n;return r}(t,e,i);else if(i.headerLevelCount<=e){if(i.headerLevelCount<=e&&i.columnObjects[t-i.leftRowSeriesNumberColumnCount]?.define?.mergeCell){const o=i._table.getCellValue(t,e);for(let n=e-1;n>=i.headerLevelCount;n--){const s=i._table.getCellValue(t,n);if("boolean"==typeof i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:t,row:n},table:i._table}))break;r.start.row=n}for(let n=e+1;n<i.rowCount;n++){const s=i._table.getCellValue(t,n);if("boolean"==typeof i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:t,row:n},table:i._table}))break;r.end.row=n}}!function(t,e,i,r){if("tree"!==r.rowHierarchyType)return;const o=r._table.getCellRawRecord(t,e);r._table.internalProps.rowSeriesNumber?.enableTreeCheckbox?o?.vtableMerge&&t>=r.leftRowSeriesNumberColumnCount&&(i.start.col=r.rowHeaderLevelCount+r.leftRowSeriesNumberColumnCount,i.end.col=r.colCount-1,i.start.row=i.end.row=e):o?.vtableMerge&&(i.start.col=r.rowHeaderLevelCount,i.end.col=r.colCount-1,i.start.row=i.end.row=e)}(t,e,r,i)}else{const o=i.getCellId(t,e);for(let n=t-1;n>=0&&o===i.getCellId(n,e);n--)r.start.col=n;for(let n=t+1;n<(i.colCount??0)&&o===i.getCellId(n,e);n++)r.end.col=n;for(let n=e-1;n>=0&&o===i.getCellId(t,n);n--)r.start.row=n;for(let n=e+1;n<i.headerLevelCount&&o===i.getCellId(t,n);n++)r.end.row=n}return i._cellRangeMap.set(`$${t}$${e}`,r),r}(t,e,this)}isCellRangeEqual(t,e,i,r){const o=this.getCellRange(t,e),n=this.getCellRange(i,r);return o.start.col===n.start.col&&o.end.col===n.end.col&&o.start.row===n.start.row&&o.end.row===n.end.row}getRecordShowIndexByCell(t,e){const i=this.hasAggregationOnTopCount?this.headerLevelCount+1:this.headerLevelCount;return this.transpose?t<i?-1:t-i:e<i?-1:e-i}getRecordStartRowByRecordIndex(t){return(this.hasAggregationOnTopCount?this.headerLevelCount+1:this.headerLevelCount)+t}_addHeaders(t,e,i,r){const o=[],n=this._newRow(t,r);return e.forEach((e=>{const s=this._columns.length,a=this.seqId++,l={id:a,title:e.title??e.caption,headerIcon:e.headerIcon,field:e.field,style:e.headerStyle,headerType:e.headerType??"text",dropDownMenu:e.dropDownMenu,define:e,columnWidthComputeMode:e.columnWidthComputeMode};o[a]=l;for(let e=t-1;e>=0;e--)this._headerCellIds[e]&&(this._headerCellIds[e][s]=i[e]);if(r?this._headerCellIds[t-1]&&(n[s]=this._headerCellIds[t-1][s]):n[s]=a,e.columns){const n=e.columns.every((t=>t.hide));!n&&this._addHeaders(t+1,e.columns,[...i,a],e.hideColumnsSubHeader||r).forEach((t=>o.push(t)))}else{const i={id:this.seqId++,field:e.field,fieldFormat:e.fieldFormat,width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth,icon:e.icon,cellType:e.cellType??e.columnType??"text",chartModule:"chartModule"in e?e.chartModule:null,chartSpec:"chartSpec"in e?e.chartSpec:null,sparklineSpec:"sparklineSpec"in e?e.sparklineSpec:Gv,style:e.style,define:e,columnWidthComputeMode:e.columnWidthComputeMode,disableColumnResize:e?.disableColumnResize,aggregation:e.aggregation,isChildNode:t>=1};if(this._columnsIncludeHided.push(i),!0!==e.hide){this._columns.push(i);for(let e=t+1;e<this._headerCellIds.length;e++)this._headerCellIds[e][s]=a}}})),o}_newRow(t,e=!1){if(this._headerCellIds[t]){const e=this._headerCellIds[t-1];if(e.length>this._headerCellIds[t].length)for(let i=this._headerCellIds[t].length;i<e.length;i++)this._headerCellIds[t][i]=e[i];return this._headerCellIds[t]}if(e)return[];const i=this._headerCellIds[t]=[];if(!this._columns.length)return i;const r=this._headerCellIds[t-1];for(let t=0;t<r.length;t++)i[t]=r[t];return i}getCellHeaderPaths(t,e){if(this.isSeriesNumber(t,e))return;let i=[],r=[];return this.transpose?r=[{field:this._columns[e].field}]:i=[{field:this._columns[t-this.leftRowSeriesNumberColumnCount].field}],{colHeaderPaths:i,rowHeaderPaths:r,cellLocation:this.getCellLocation(t,e)}}getParentCellId(t,e){if(0!==e){if(this.isColumnHeader(t,e))return this.getCellId(t,e-1);if(this.isRowHeader(t,e)){if(this.isSeriesNumberInBody(t-1,e))return;return this.getCellId(t-1,e)}}}canMoveHeaderPosition(t,e){if(this.isSeriesNumberInHeader(e.col,e.row)||this.isSeriesNumberInHeader(t.col,t.row))return!1;if(!this.transpose&&this.isSeriesNumberInBody(e.col,e.row)&&this.isSeriesNumberInBody(t.col,t.row)){const i=this.getRecordShowIndexByCell(0,t.row),r=this.getRecordShowIndexByCell(0,e.row);return this._table.dataSource.canChangeOrder(i,r)}if(this.transpose&&this.isSeriesNumberInBody(e.col,e.row)&&this.isSeriesNumberInBody(t.col,t.row)&&(this.getBody(t.col+this.leftRowSeriesNumberColumnCount,t.row).isChildNode&&this.getBody(e.col+this.leftRowSeriesNumberColumnCount,e.row).isChildNode?(t.col=t.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1,e.col=e.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1):(t.col=t.col+this.leftRowSeriesNumberColumnCount,e.col=e.col+this.leftRowSeriesNumberColumnCount)),t.col<0||t.row<0||e.col<0||e.row<0)return!1;if("disabled"===this._table.internalProps.frozenColDragHeaderMode&&this._table.isFrozenColumn(e.col))return!1;const i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){return this.getParentCellId(t.col,i.start.row)===this.getParentCellId(e.col,i.start.row)}if(this.isRowHeader(t.col,t.row)){return this.getParentCellId(i.start.col,t.row)===this.getParentCellId(i.start.col,e.row)}return!1}moveHeaderPosition(t,e){if((this._table.options.dragOrder?.validateDragOrderOnEnd(t,e)||!this._table.options.dragOrder?.validateDragOrderOnEnd)&&this.canMoveHeaderPosition(t,e)){let i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){const r=i.end.col-i.start.col+1;let o;const n=this.getCellRange(e.col,i.start.row);if(o=e.col>=t.col?n.end.col-r+1:n.start.col,o===i.start.col)return null;for(let t=0;t<this._headerCellIds.length;t++){const e=this._headerCellIds[t].splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);e.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._headerCellIds[t],e)}const s=this._columns.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);return s.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columns,s),this.columnTree.movePosition(i.start.row,i.start.col-this.leftRowSeriesNumberColumnCount,o-this.leftRowSeriesNumberColumnCount),this.columnTree.reset(this.columnTree.tree.children),this._cellRangeMap=new Map,{sourceIndex:i.start.col,targetIndex:o,sourceSize:r,targetSize:n.end.col-n.start.col+1,moveType:"column"}}if(this.isRowHeader(t.col,t.row)||this.isSeriesNumberInBody(t.col,t.row)&&this.transpose){this.isSeriesNumberInBody(t.col,t.row)&&(i=this.getCellRange(t.col+this.leftRowSeriesNumberColumnCount,t.row));const r=i.end.row-i.start.row+1;let o;const n=this.getCellRange(i.start.col,e.row);if(o=e.row>=t.row?n.end.row-r+1:n.start.row,o===i.start.row)return null;for(let t=0;t<this._headerCellIds.length;t++){const e=this._headerCellIds[t].splice(i.start.row,r);e.unshift(o,0),Array.prototype.splice.apply(this._headerCellIds[t],e)}const s=this._columns.splice(i.start.row,r);return s.unshift(o,0),Array.prototype.splice.apply(this._columns,s),this.columnTree.movePosition(i.start.col-this.leftRowSeriesNumberColumnCount,i.start.row,o+(e.row>t.row?i.end.row-i.start.row:0)),this.columnTree.reset(this.columnTree.tree.children),this._cellRangeMap=new Map,{sourceIndex:i.start.row,targetIndex:o,sourceSize:r,targetSize:n.end.row-n.start.row+1,moveType:"row"}}if(this.isSeriesNumberInBody(t.col,t.row))return{sourceIndex:t.row,targetIndex:e.row,sourceSize:1,targetSize:1,moveType:"row"}}return null}toggleHierarchyState(t){const e=t.add.map((t=>({col:0,row:this._table.columnHeaderLevelCount+t}))),i=t.remove.map((t=>({col:0,row:this._table.columnHeaderLevelCount+t})));return{addCellPositions:e,removeCellPositions:i}}setChartInstance(t,e,i){const r=this.transpose?this._columns[e]:this._columns[t-this.leftRowSeriesNumberColumnCount];"function"!=typeof r.chartSpec&&(r.chartInstance=i)}getChartInstance(t,e){return(this.transpose?this._columns[e]:this._columns[t-this.leftRowSeriesNumberColumnCount]).chartInstance}checkHasChart(){return iE(this)}getAxisConfigInPivotChart(t,e){}isEmpty(t,e){return!1}isAxisCell(t,e){return!1}getChartAxes(t,e){return[]}isShareChartSpec(t,e){const i=this.getBody(t,e),r=i?.chartSpec;return"function"!=typeof r}isNoChartDataRenderNothing(t,e){const i=this.getBody(t,e);return(i?.define).noDataRenderNothing}getChartSpec(t,e){return this.getRawChartSpec(t,e)}getRawChartSpec(t,e){const i=this.getBody(t,e),r=i?.chartSpec;if("function"==typeof r){return r({col:t,row:e,dataValue:this._table.getCellOriginValue(t,e)||"",value:this._table.getCellValue(t,e)||"",rect:this._table.getCellRangeRelativeRect(this._table.getCellRange(t,e)),table:this._table})}return r}getChartDataId(t,e){return eE(t,e,this)}release(){const t=this._table._getActiveChartInstance();t?.release(),this.columnObjects.forEach((t=>{t.chartInstance?.release()}))}clearCellRangeMap(){this._cellRangeMap.clear()}updateColumnTitle(t,e,i){const r=this._table.internalProps.layoutMap.getHeader(t,e);r.title=i,r.define.title=i}getColumnByField(t){const e=this.columnObjects?.reduce(((e,i,r)=>(i.field===t&&e.push({col:r,columnDefine:i}),e)),[]);return e}getColumnByKey(t){let e;const i=this.columnObjects?.find(((i,r)=>i.define?.key===t&&(e=r,!0)));return{columnDefine:i,col:e}}getColumnDefine(t,e){if(t>=0)return t<this.leftRowSeriesNumberColumnCount?this.leftRowSeriesNumberColumn[t].define:this.transpose?this._columns[e].define:this._columns[t-this.leftRowSeriesNumberColumnCount].define}}class nE{table;editingEditor;isValidatingValue=!1;editCell;listenersId=[];constructor(t){this.table=t,this.bindEvent()}bindEvent(){const t=this.table,e=t.on(_v.DBLCLICK_CELL,(e=>{const{editCellTrigger:i="doubleclick"}=t.options;if(!i.includes("doubleclick"))return;const{col:r,row:o}=e,n=UA(e.federatedEvent),s=t.scenegraph.getResizeColAt(n.abstractPos.x,n.abstractPos.y,n.eventArgs?.targetCell);t._canResizeColumn(s.col,s.row)&&s.col>=0||this.startEditCell(r,o)})),i=t.on(_v.CLICK_CELL,(e=>{const{editCellTrigger:i="doubleclick"}=t.options;if("click"===i||Array.isArray(i)&&i.includes("click")){const{col:t,row:i}=e;this.startEditCell(t,i)}}));this.listenersId.push(e,i)}startEditCell(t,e,i){if(this.editingEditor)return;const r=this.table.getEditor(t,e);if(r){if(this.table.internalProps.layoutMap?.isAggregation?.(t,e))return;this.editingEditor||(this.editCell={col:t,row:e}),this.table._makeVisibleCell(t,e),this.editingEditor=r;const o=J(i)?i:this.table.getCellOriginValue(t,e),n=this.table.getCellRangeRelativeRect(this.table.getCellRange(t,e)),s={rect:{left:n.left,top:n.top,width:n.width,height:n.height}};t===this.table.colCount-1&&(s.rect.width=n.width-1),e===this.table.rowCount-1&&(s.rect.height=n.height-1),r.beginEditing,r.beginEditing?.(this.table.getElement(),s,o),r.bindSuccessCallback,r.bindSuccessCallback?.((()=>{this.completeEdit()})),r.onStart?.({value:o,endEdit:()=>{this.completeEdit()},referencePosition:s,container:this.table.getElement(),col:t,row:e,table:this.table})}}completeEdit(t){if(!this.editingEditor)return!0;if(this.isValidatingValue)return!1;const e=t?.target,{editingEditor:i}=this;if(e)if(i.targetIsOnEditor){if(i.targetIsOnEditor(e))return!1}else if(!i.isEditorElement||i.isEditorElement(e))return!1;if(this.editingEditor.getValue,this.editingEditor.validateValue){this.isValidatingValue=!0;const t=this.editingEditor.getValue(),e=this.table.getCellOriginValue(this.editCell.col,this.editCell.row),i=this.editingEditor.validateValue?.(t,e,this.editCell,this.table);return dv(i)?(this.isValidatingValue=!0,new Promise(((t,r)=>{i.then((i=>{sE(i,this,e,t)})).catch((t=>{this.isValidatingValue=!1,r(t)}))}))):sE(i,this,e)}return this.doExit(),!0}doExit(){const t=this.editingEditor.getValue?.(),e=this.table.getCellRange(this.editCell.col,this.editCell.row),i=[];for(let r=e.start.row;r<=e.end.row;r++){const r=[];for(let i=e.start.col;i<=e.end.col;i++)r.push(t);i.push(r)}this.table.changeCellValues(e.start.col,e.start.row,i),this.editingEditor.exit,this.editingEditor.exit?.(),this.editingEditor.onEnd?.(),this.editingEditor=null,this.isValidatingValue=!1}cancelEdit(){this.editingEditor&&(this.editingEditor.exit?.(),this.editingEditor.onEnd?.(),this.editingEditor=null)}release(){this.listenersId.forEach((t=>{this.table.off(t)}))}}function sE(t,e,i,r){return e.isValidatingValue=!1,"validate-exit"===t?(e.doExit(),r?.(!0),!0):"invalidate-exit"===t?(e.editingEditor.setValue(i),e.doExit(),r?.(!0),!0):"validate-not-exit"===t||"invalidate-not-exit"===t?(r?.(!1),!1):!0===t?(e.doExit(),r?.(!0),!0):(r?.(!1),!1)}function aE(t){if(rt(t))return{groupByRules:[t]};if(ot(t)){return{groupByRules:t.map((t=>rt(t)?t:t.key))}}return{}}function lE(t,e,i,r){if("group"===r)return r;if("sort"===r&&!i.options.groupBy)return r;let o="normal";if(i.options.groupBy)o="group";else if(!i.isHeader(t,e)&&i.dataSource.lastOrderField){i.getBodyField(t,e)===i.dataSource.lastOrderField&&(o="sort")}return o}function hE(t){let e=t.sortState;e=!e||Array.isArray(e)?e:[e],e&&(e=e.map((e=>(e.orderFn=t._getSortFuncFromHeaderOption(void 0,e.field)??Xw,e))),t.dataSource.sort(e))}class cE extends Hk{showHeader=!0;listTreeStickCellPlugin;constructor(t,e){"node"===Ew.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),super(t,e);const i=this.internalProps;if(i.frozenColDragHeaderMode=e.dragOrder?.frozenColDragHeaderMode??e.frozenColDragHeaderMode,this.pagination=e.pagination,i.sortState=e.sortState,i.multipleSort=!!e.multipleSort,i.dataConfig=e.groupBy?aE(e.groupBy):{},i.columns=e.columns?WL(e.columns,["children"]):e.header?WL(e.header,["children"]):[],WA(this),i.enableTreeNodeMerge=e.enableTreeNodeMerge??J(e.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.showHeader=e.showHeader??!0,this.internalProps.columnWidthConfig=e.columnWidthConfig,this.transpose=e.transpose??!1,"node"!==Ew.mode&&(this.editorManager=new nE(this)),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,e.dataSource?this.dataSource=e.dataSource:e.records?this.setRecords(e.records,{sortState:i.sortState}):this.setRecords([]),e.title){const t=sx.getComponent("title");i.title=new t(e.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}if(e.enableTreeStickCell){const t=sx.getComponent("listTreeStickCellPlugin");this.listTreeStickCellPlugin=new t(this)}setTimeout((()=>{this.fireListeners(_v.INITIALIZED,null)}),0)}isListTable(){return!0}isPivotTable(){return!1}isPivotChart(){return!1}get sortState(){return this.internalProps.sortState}get records(){return this.dataSource?.records}get recordsCount(){return this.dataSource.records.length}updateColumns(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.columns=WL(t,["children"]),WA(this),this.options.columns=t,this.internalProps.headerHelper.setTableColumnsEditor(),this._hasAutoImageColumn=void 0,this.refreshHeader(),this.dataSource.updateColumns?.(this.internalProps.columns),this.records&&function(t){for(let e=0;e<t.length;e++)if(t[e].aggregation)return!0;return!1}(t)&&this.dataSource.processRecords(this.dataSource.dataSourceObj?.records??this.dataSource.dataSourceObj),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyBottomStyleCache=new Map,this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.renderAsync(),this.eventManager.updateEventBinder()}get columns(){return this.internalProps.layoutMap.columnTree.getCopiedTree()}get header(){return this.internalProps.columns}set header(t){this.internalProps.columns=t,WA(this),this.options.header=t,this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.renderAsync()}get transpose(){return this.internalProps.transpose??!1}set transpose(t){this.internalProps.transpose!==t&&(this.internalProps.transpose=t,this.internalProps.layoutMap&&(this.internalProps.layoutMap.transpose=t,this.refreshRowColCount(),this._resetFrozenColCount(),this.renderAsync()))}getCellValue(t,e,i){if(-1===t||-1===e)return null;if(!i){const i=this.getCustomMergeValue(t,e);if(i)return i}const r=this;if(r.internalProps.layoutMap.isSeriesNumber(t,e)){if(r.internalProps.layoutMap.isSeriesNumberInHeader(t,e)){const{title:i}=r.internalProps.layoutMap.getSeriesNumberHeader(t,e);return i}let i;if(this.options.groupBy){const o=r.getCellRawRecord(t,e);if(o?.vtableMerge)return"";i=this.dataSource.getGroupSeriesNumber(e-this.columnHeaderLevelCount)}else i=e-this.columnHeaderLevelCount+1;const{format:o}=r.internalProps.layoutMap.getSeriesNumberBody(t,e);return"function"==typeof o?o(t,e,this,i):i}if(r.internalProps.layoutMap.isHeader(t,e)){const{title:i}=r.internalProps.layoutMap.getHeader(t,e);return"function"==typeof i?i():i}if(r.internalProps.layoutMap.isAggregation(t,e)){if(r.internalProps.layoutMap.isTopAggregation(t,e)){const i=r.internalProps.layoutMap.getAggregatorOnTop(t,e);return i?.formatValue?i.formatValue(t,e,this):""}if(r.internalProps.layoutMap.isBottomAggregation(t,e)){const i=r.internalProps.layoutMap.getAggregatorOnBottom(t,e);return i?.formatValue?i.formatValue(t,e,this):""}}const{field:o,fieldFormat:n}=r.internalProps.layoutMap.getBody(t,e);return r.getFieldData(n||o,t,e)}getCellOriginValue(t,e){if(-1===t||-1===e)return null;const i=this;if(i.internalProps.layoutMap.isSeriesNumber(t,e)){if(i.internalProps.layoutMap.isSeriesNumberInHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getSeriesNumberHeader(t,e);return r}const{format:r}=i.internalProps.layoutMap.getSeriesNumberBody(t,e);return"function"==typeof r?r(t,e,this):e-this.columnHeaderLevelCount}if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(i.internalProps.layoutMap.isAggregation(t,e)){if(i.internalProps.layoutMap.isTopAggregation(t,e)){const r=i.internalProps.layoutMap.getAggregatorOnTop(t,e);return r?.value()}if(i.internalProps.layoutMap.isBottomAggregation(t,e)){const r=i.internalProps.layoutMap.getAggregatorOnBottom(t,e);return r?.value()}}const{field:r}=i.internalProps.layoutMap.getBody(t,e);return i.getFieldData(r,t,e)}getCellRawValue(t,e){if(-1===t||-1===e)return null;const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}const{field:r}=i.internalProps.layoutMap.getBody(t,e);return i.getRawFieldData(r,t,e)}getRecordShowIndexByCell(t,e){const{layoutMap:i}=this.internalProps;return i.getRecordShowIndexByCell(t,e)}getRecordIndexByCell(t,e){const{layoutMap:i}=this.internalProps,r=i.getRecordShowIndexByCell(t,e);return this.dataSource.getRecordIndexPaths(r)}getTableIndexByRecordIndex(t){return this.transpose?this.dataSource.getTableIndex(t)+this.rowHeaderLevelCount:this.dataSource.getTableIndex(t)+this.columnHeaderLevelCount}getTableIndexByField(t){const e=this.internalProps.layoutMap.columnObjects.find((e=>e.field===t));if(!e)return-1;const i=this.internalProps.layoutMap.getBodyLayoutRangeById(e.id);return this.transpose?i.start.row:i.start.col}getCellAddrByFieldRecord(t,e){return this.transpose?{col:this.getTableIndexByRecordIndex(e),row:this.getTableIndexByField(t)}:{col:this.getTableIndexByField(t),row:this.getTableIndexByRecordIndex(e)}}getCellOriginRecord(t,e){const i=this,r=i.getRecordShowIndexByCell(t,e);if(r>-1)return i.dataSource.get(r)}getCellRawRecord(t,e){const i=this,r=i.getRecordShowIndexByCell(t,e);if(r>-1)return i.dataSource.getRaw(r)}_canResizeColumn(t,e){const i=super._canResizeColumn(t,e);if(i&&!this.transpose){const i=this.internalProps.layoutMap.getBody(t,this.columnHeaderLevelCount),r=this.internalProps.layoutMap.isSeriesNumber(t,e);if(i?.disableColumnResize)return!1;if(r&&!0===this.internalProps.rowSeriesNumber.disableColumnResize)return!1}return i}updateOption(t){const e=this.internalProps;if(super.updateOption(t),e.frozenColDragHeaderMode=t.dragOrder?.frozenColDragHeaderMode??t.frozenColDragHeaderMode,this.pagination=t.pagination,e.sortState=t.sortState,e.dataConfig=t.groupBy?aE(t.groupBy):{},this.showHeader=t.showHeader??!0,e.columns=t.columns?WL(t.columns,["children"]):t.header?WL(t.header,["children"]):[],WA(this),e.enableTreeNodeMerge=t.enableTreeNodeMerge??J(t.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.transpose=t.transpose??!1,this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.internalProps.columnWidthConfig=t.columnWidthConfig,e.releaseList&&(e.releaseList.forEach((t=>t?.release?.())),e.releaseList=null),t.dataSource?this.dataSource=t.dataSource:t.records?this.setRecords(t.records,{sortState:t.sortState}):(this._resetFrozenColCount(),this.scenegraph.createSceneGraph(),this.render()),t.title){const i=sx.getComponent("title");e.title=new i(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return new Promise((t=>{setTimeout(t,0)}))}updatePagination(t){this.pagination&&("number"==typeof t.currentPage&&t.currentPage>=0&&(this.pagination.currentPage=t.currentPage),t.perPageCount&&(this.pagination.perPageCount=t.perPageCount||this.pagination.perPageCount),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.dataSource.updatePagination(this.pagination),this.refreshRowColCount(),this.stateManager.initCheckedState(this.records),this.scenegraph.createSceneGraph(),this.renderAsync())}refreshHeader(){const t=this,e=t.internalProps,i=t.transpose,r=t.showHeader;(e.layoutMap=new oE(this,e.columns??[],r,t.options.hierarchyIndent)).transpose=i,i||this.setMinMaxLimitWidth(!0),this.refreshRowColCount()}refreshRowColCount(){const t=this,{layoutMap:e}=t.internalProps;if(!e)return;const i=t.internalProps.dataSource?.length??0;e.recordsCount=i+(i>0?e.hasAggregationOnTopCount+e.hasAggregationOnBottomCount:0),t.transpose?(t.rowCount=e.rowCount??0,t.colCount=e.colCount??0,this.internalProps.frozenColCount=Math.max((e.headerLevelCount??0)+e.leftRowSeriesNumberColumnCount,this.options.frozenColCount??0),this.internalProps.frozenRowCount=this.options.frozenRowCount??0,t.bottomFrozenRowCount!==(this.options.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=this.options.bottomFrozenRowCount??0),t.rightFrozenColCount!==(this.options.rightFrozenColCount??0)&&(t.rightFrozenColCount=this.options.rightFrozenColCount??0)):(t.colCount=e.colCount??0,t.rowCount=e.recordsCount*e.bodyRowSpanCount+e.headerLevelCount,this.internalProps.frozenColCount=this.options.frozenColCount??0,t.frozenRowCount=Math.max(e.headerLevelCount,this.options.frozenRowCount??0),t.bottomFrozenRowCount!==(this.options.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=this.options.bottomFrozenRowCount??0),t.rightFrozenColCount!==(this.options.rightFrozenColCount??0)&&(t.rightFrozenColCount=this.options.rightFrozenColCount??0)),this.stateManager.setFrozenCol(this.internalProps.frozenColCount)}getFieldData(t,e,i){if(null===t)return null;const r=this;if(r.internalProps.layoutMap.isHeader(e,i))return null;const o=r.getRecordShowIndexByCell(r.transpose?e-r.internalProps.layoutMap.leftRowSeriesNumberColumnCount:e,i);return r.internalProps.dataSource.getField(o,t,e,i,this)}getRawFieldData(t,e,i){if(null===t)return null;const r=this;if(r.internalProps.layoutMap.isHeader(e,i))return null;const o=r.getRecordShowIndexByCell(e,i);return r.internalProps.dataSource.getRawField(o,t,e,i,this)}_moveHeaderPosition(t,e){const i=this.getCellRange(t.col,t.row),r=this.getCellRange(e.col,e.row),o=this.internalProps.layoutMap.moveHeaderPosition(t,e);return o?("column"===o.moveType?(this.colWidthsMap.exchangeOrder(i.start.col,i.end.col-i.start.col+1,r.start.col,r.end.col-r.start.col+1,o.targetIndex),this.transpose||(this.colWidthsLimit={},this.setMinMaxLimitWidth())):o.targetIndex>o.sourceIndex?this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex+o.sourceSize-o.targetSize,o.targetSize,o.targetIndex):this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex,o.targetSize,o.targetIndex),o):null}changeRecordOrder(t,e){this.transpose?(t=this.getRecordShowIndexByCell(t,0),e=this.getRecordShowIndexByCell(e,0)):(t=this.getRecordShowIndexByCell(0,t),e=this.getRecordShowIndexByCell(0,e)),this.dataSource.changeOrder(t,e)}getCellAddress(t,e){let i;for(let e=0;e<this.internalProps.records.length;e++){const r=this.internalProps.records[e];if("function"==typeof t)t(r)&&(i=e);else{let o=!0;for(const e in t)if(r[e]!==t[e]){o=!1;break}o&&(i=e)}if(J(i))break}const r=this.getCellRangeByField(e,i);if(r)return{row:r.start.row,col:r.start.col}}getCellRangeByField(t,e){const{layoutMap:i}=this.internalProps,r=i.columnObjects.find((e=>e.field===t));if(r){const t=i.getBodyLayoutRangeById(r.id);let o;return J(e)&&(o=i.getRecordStartRowByRecordIndex(e)),this.transpose?{start:{row:t.start.row,col:J(o)?o+t.start.col:void 0},end:{row:t.end.row,col:J(o)?o+t.end.col:void 0}}:{start:{col:t.start.col,row:J(o)?o+t.start.row:void 0},end:{col:t.end.col,row:J(o)?o+t.end.row:void 0}}}return null}getHierarchyState(t,e){if(!this.options.groupBy||ot(this.options.groupBy)&&0===this.options.groupBy.length){if(!this.getBodyColumnDefine(t,e).tree)return ZC.none}const i=this.getRecordShowIndexByCell(t,e);return this.dataSource.getHierarchyState(i)}toggleHierarchyState(t,e,i=!0){this.stateManager.updateHoverIcon(t,e,void 0,void 0);const r=this.getHierarchyState(t,e);if(r===ZC.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(_v.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.collapse});else if(r===ZC.collapse){const r=this.getCellOriginRecord(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(_v.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.expand,originData:r})}}setLoadingHierarchyState(t,e){this.scenegraph.setLoadingHierarchyState(t,e)}_refreshHierarchyState(t,e,i=!0){let r=!1,o=!1;const n=this.internalProps.layoutMap.checkHasChart();n&&(this.autoFillWidth&&(r=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&(o=this.getAllRowsHeight()<=this.tableNoFrameHeight));const s=this.getRecordShowIndexByCell(t,e),a=this.dataSource.toggleHierarchyState(s,this.scenegraph.proxy.rowStart-this.columnHeaderLevelCount,Math.max(this.scenegraph.proxy.rowEnd-this.columnHeaderLevelCount,this.scenegraph.proxy.rowStart-this.columnHeaderLevelCount+this.scenegraph.proxy.rowLimit-1)),l=this.internalProps.layoutMap.toggleHierarchyState(a);this.refreshRowColCount();for(let t=this.rowCount-this.bottomFrozenRowCount;t<this.rowCount;t++){const e=BT(t,0,this.colCount-1,this);this._setRowHeight(t,e)}this.clearCellStyleCache(),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1;const{updateCells:h,addCells:c,removeCells:d}=function(t,e,i,r){const o=[{col:e,row:i}],n=[],s=[],{addCellPositions:a,removeCellPositions:l}=t,h=r.scenegraph.proxy,{rowStart:c,rowLimit:d}=h;let{rowEnd:u}=h,g=1/0;for(let t=0;t<a.length;t++){const{row:i}=a[t];u-c+1===d?i>=c&&i<=u&&(g=Math.min(g,i)):(n.push({col:e,row:i}),u++)}const p=Math.min(c+d,r.rowCount-1-r.bottomFrozenRowCount),f=p<c+d;for(let t=0;t<l.length;t++){const{row:i}=l[l.length-t-1];i<c||i>u||(i>p||f?(s.push({col:e,row:i}),g--):g=Math.min(g,i))}if(g!==1/0)for(let t=g;t<=u;t++)o.push({col:e,row:t});return r.scenegraph.proxy.refreshRowCount(),{updateCells:o,addCells:n,removeCells:s}}(l,t,e,this);this.reactCustomLayout?.clearCache(),this.scenegraph.updateRow(d,c,h,i,!0),this.reactCustomLayout?.updateAllCustomCell(),n&&(this.autoFillWidth&&!r&&(r=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&!o&&(o=this.getAllRowsHeight()<=this.tableNoFrameHeight),("adaptive"===this.widthMode||r||"adaptive"===this.heightMode||o)&&this.scenegraph.updateChartSizeForResizeColWidth(-1))}_hasHierarchyTreeHeader(){return(this.options.columns??this.options.header)?.some(((t,e)=>t.tree))}getMenuInfo(t,e,i){return{field:this.getHeaderField(t,e),value:this.getCellValue(t,e),cellLocation:this.getCellLocation(t,e),event:void 0}}_getSortFuncFromHeaderOption(t,e,i){if(t||(t=this.internalProps.columns),e&&t&&t.length>0)for(let r=0;r<t.length;r++){const o=t[r];if((i&&i===o.fieldKey||!i&&o.field===e)&&o.sort&&"function"==typeof o.sort)return o.sort;if(o.columns){const t=this._getSortFuncFromHeaderOption(o.columns,e,i);if(t)return t}}}updateSortState(t,e=!0){if(t)this.internalProps.sortState=t;else if(this.internalProps.sortState)if(Array.isArray(this.internalProps.sortState))for(let e=0;e<this.internalProps.sortState.length;e++)t=this.internalProps.sortState?.[e],t&&(t.order="normal");else this.internalProps.sortState.order="normal",t=this.internalProps.sortState;(t=Array.isArray(t)?t:[t]).some((t=>t.field))&&e&&this.internalProps.layoutMap.headerObjects.some((t=>!1!==t.define.sort))&&(this.dataSource.sort(t.map((t=>{const e=this._getSortFuncFromHeaderOption(this.internalProps.columns,t.field);return this.internalProps.layoutMap.headerObjects.find((e=>e&&e.field===t.field)),{field:t.field,order:t.order,orderFn:e??Xw}}))),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.sortCell()),t.length&&this.stateManager.updateSortState(t)}updateFilterRules(t){this.scenegraph.clearCells(),this.sortState?(this.dataSource.updateFilterRulesForSorted(t),hE(this)):this.dataSource.updateFilterRules(t),this.refreshRowColCount(),this.stateManager.initCheckedState(this.records),this.scenegraph.createSceneGraph()}getCheckboxState(t){if(this.stateManager.checkedState.size<this.rowCount-this.columnHeaderLevelCount&&this.stateManager.initLeftRecordsCheckState(this.records),J(t)){let e=Array.from(this.stateManager.checkedState.keys()).sort(((t,e)=>Number(t)-Number(e))).map((t=>this.stateManager.checkedState.get(t)));return this.options.groupBy&&(e=function(t){const e=[],i=t.dataSource,r=i.dataConfig.groupByRules.length+1;return i.currentIndexedData.forEach(((o,n)=>{if(ot(o)&&o.length===r){const r=i.getOriginRecordIndexForGroup(o);e[r]=t.stateManager.checkedState.get(o.toString())}})),e}(this)),Array.from(e,(e=>e[t]))}return new Array(...this.stateManager.checkedState.values())}getCellCheckboxState(t,e){const i=this.getBodyColumnDefine(t,e),r=i?.field,o=this.getCellType(t,e);if(J(r)&&("checkbox"===o||"switch"===o)){const i=this.dataSource.getIndexKey(this.getRecordShowIndexByCell(t,e)).toString();return this.stateManager.checkedState.get(i)?.[r]}}getRadioState(t){return J(t)?this.stateManager.radioState[t]:this.stateManager.radioState}getCellRadioState(t,e){return function(t,e,i){const r=i.getBodyColumnDefine(t,e),o=r?.field,n=i.getCellType(t,e);if(J(o)&&"radio"===n){const r=i.dataSource.getIndexKey(i.getRecordShowIndexByCell(t,e)),n=i.stateManager.radioState?.[o];if(at(n)){if(n===r)return!0}else if(Q(n)){const t=n[r];if(at(t))return t}}return!1}(t,e,this)}setCellCheckboxState(t,e,i){!function(t,e,i,r){const o=r.scenegraph.getCell(t,e),n=o?.getChildByName("checkbox");if(!n){const o=r.getHeaderField(t,e);if(r.isHeader(t,e))r.stateManager.setHeaderCheckedState(o,i),"checkbox"===r.getCellType(t,e)&&r.scenegraph.updateCheckboxCellState(t,e,i);else if(r.stateManager.setCheckedState(t,e,o,i),"checkbox"===r.getCellType(t,e)){const i=r.stateManager.headerCheckedState[o],n=r.stateManager.updateHeaderCheckedState(o,t,e);i!==n&&r.scenegraph.updateHeaderCheckboxCellState(t,e,n)}return}const{checked:s,indeterminate:a}=n.attribute;a?(i||n._handlePointerUp(),n._handlePointerUp()):s?i||n._handlePointerUp():i&&n._handlePointerUp()}(t,e,i,this)}setCellRadioState(t,e,i){!function(t,e,i,r){const o=r.scenegraph.getCell(t,e);if(o)if(at(i)){const t=o.getChildAt(i);t?._handlePointerUp()}else{const t=o.getChildByName("radio");t?._handlePointerUp()}}(t,e,i,this)}getSwitchState(t){return this.getCheckboxState(t)}getCellSwitchState(t,e){return this.getCellCheckboxState(t,e)}setCellSwitchState(t,e,i){this.setCellCheckboxState(t,e,i)}setRecords(t,e){let i;this.internalProps.dataSource?.release(),this.internalProps.releaseList=this.internalProps.releaseList?.filter((t=>!t.dataSourceObj)),this.internalProps.dataSource=null,Array.isArray(e)||e?.order?i=e:e?i=e.sortState:null===e&&(i=null),"undefined"!=typeof window&&window.performance.now();const r={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};if(this.scenegraph.clearCells(),void 0!==i&&(null===i||!Array.isArray(i)&&J(i.field)||Array.isArray(i))&&(this.internalProps.sortState=this.internalProps.multipleSort?Array.isArray(i)?i:[i]:i,this.stateManager.setSortState(this.sortState)),t){if(EA(this,t),this.sortState){const t=Array.isArray(this.sortState)?this.sortState:[this.sortState];t.some((t=>t.order&&t.field&&"normal"!==t.order))&&this.internalProps.layoutMap.headerObjectsIncludeHided.some((t=>!1!==t.define.sort))&&this.dataSource.sort(t.map((t=>{const e=this._getSortFuncFromHeaderOption(void 0,t.field);return this.internalProps.layoutMap.headerObjectsIncludeHided.find((e=>e&&e.field===t.field)),{field:t.field,order:t.order||"asc",orderFn:e??Xw}})))}this.refreshRowColCount()}else EA(this,t);if(this.stateManager.initCheckedState(t),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(r.col,r.row),this.internalProps.title&&!this.internalProps.title.isReleased&&(this._updateSize(),this.internalProps.title.resize(),this.scenegraph.resize()),this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}this.render(),J(r.col)&&J(r.row)&&r.col>=0&&r.row>=0&&setTimeout((()=>{this.internalProps?.tooltipHandler.showTooltip(r.col,r.row)}),0)}setRecordChildren(t,e,i,r=!0){const o=this.getCellOriginRecord(e,i);o.children=t;const n=this.getRecordShowIndexByCell(e,i);this.dataSource.setRecord(o,n),this._refreshHierarchyState(e,i,r)}startEditCell(t,e,i){if(J(t)&&J(e))this.eventManager.isDraging=!1,this.selectCell(t,e),this.editorManager.startEditCell(t,e,i);else if(this.stateManager.select?.cellPos){const{col:t,row:e}=this.stateManager.select.cellPos;J(t)&&J(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){const i=this.getBodyColumnDefine(t,e);let r=this.isHeader(t,e)?i?.headerEditor??this.options.headerEditor:i?.editor??this.options.editor;if("function"==typeof r){r=r({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return"string"==typeof r?Fk(r):r}isHasEditorDefine(t,e){const i=this.getBodyColumnDefine(t,e);let r=this.isHeader(t,e)?i?.headerEditor??this.options.headerEditor:i?.editor??this.options.editor;if("function"==typeof r){r=r({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return J(r)}changeCellValue(t,e,i,r=!1){return function(t,e,i,r,o){if(r&&o.isHasEditorDefine(t,e)||!1===r){const r=o.getRecordShowIndexByCell(t,e),{field:n}=o.internalProps.layoutMap.getBody(t,e),s=o.getCellRawValue(t,e),a=o.getCellOriginValue(t,e);o.isHeader(t,e)?o.internalProps.layoutMap.updateColumnTitle(t,e,i):o.dataSource.changeFieldValue(i,r,n,t,e,o);const l=o.getCellRange(t,e),h=o.internalProps.layoutMap.getAggregatorsByCell(t,e);if(h){if(Array.isArray(h))for(let t=0;t<h?.length;t++)h[t].recalculate();else h.recalculate();const t=o.internalProps.layoutMap.getAggregatorCellAddress(l.start.col,l.start.row,l.end.col,l.end.row);for(let e=0;e<t.length;e++){const i=o.getCellRange(t[e].col,t[e].row);for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)o.scenegraph.updateCellContent(t,e)}}for(let t=l.start.col;t<=l.end.col;t++)for(let e=l.start.row;e<=l.end.row;e++)o.scenegraph.updateCellContent(t,e);if("adaptive"===o.widthMode||o.autoFillWidth&&o.getAllColsWidth()<=o.tableNoFrameWidth)0===o.internalProps._widthResizedColMap.size&&o.scenegraph.recalculateColWidths();else if(!o.internalProps._widthResizedColMap.has(t)){const e=o.getColWidth(t),i=UB(t,0,o.rowCount-1,o,!1);i!==e&&o.scenegraph.updateColWidth(t,i-e)}if("adaptive"===o.heightMode||o.autoFillHeight&&o.getAllRowsHeight()<=o.tableNoFrameHeight)0===o.internalProps._heightResizedRowMap.size&&o.scenegraph.recalculateRowHeights();else if(o.isAutoRowHeight()&&!o.internalProps._heightResizedRowMap.has(e)){const t=o.getRowHeight(e),i=BT(e,0,o.colCount-1,o);o.scenegraph.updateRowHeight(e,i-t)}const c=o.getCellOriginValue(t,e);a!==c&&o.fireListeners(_v.CHANGE_CELL_VALUE,{col:t,row:e,rawValue:s,currentValue:a,changedValue:c}),o.scenegraph.updateNextFrame()}}(t,e,i,r,this)}changeCellValues(t,e,i,r=!1){return function(t,e,i,r,o){let n=t,s=e;const a=[],l=[];let h;for(let r=0;r<i.length&&!(e+r>o.rowCount-1);r++){const n=i[r],s=[],c=[];a.push(s),l.push(c);for(let i=0;i<n.length&&!(t+i>o.colCount-1);i++){h=lE(t+i,e+r,o,h);const n=o.getCellRawValue(t+i,e+r);s.push(n);const a=o.getCellOriginValue(t+i,e+r);c.push(a)}}for(let h=0;h<i.length&&!(e+h>o.rowCount-1);h++){s=e+h;const c=i[h];let d=t;for(let i=0;i<c.length&&!(t+i>o.colCount-1);i++){d=t+i;let n=!1;if(!1===r)n=!0;else if(o.isHasEditorDefine(t+i,e+h)){const r=o.getEditor(t+i,e+h),s=l[h][i],a=c[i],d=r?.validateValue?.(a,s)??!0;n=!!dv(d)||!0===d||"validate-exit"===d||"invalidate-exit"===d}if(n){const r=c[i],n=o.getRecordShowIndexByCell(t+i,e+h),{field:s}=o.internalProps.layoutMap.getBody(t+i,e+h),d=a[h][i],u=l[h][i];o.isHeader(t+i,e+h)?o.internalProps.layoutMap.updateColumnTitle(t+i,e+h,r):o.dataSource.changeFieldValue(r,n,s,t+i,e+h,o);const g=o.getCellOriginValue(t+i,e+h);u!==g&&o.fireListeners(_v.CHANGE_CELL_VALUE,{col:t+i,row:e+h,rawValue:d,currentValue:u,changedValue:g})}}n=Math.max(n,d)}const c=o.getCellRange(t,e),d=o.getCellRange(n,s),u=o.internalProps.layoutMap.getAggregatorsByCellRange(c.start.col,c.start.row,d.end.col,d.end.row);if(u){for(let t=0;t<u?.length;t++)u[t].recalculate();if("normal"===h){const t=o.internalProps.layoutMap.getAggregatorCellAddress(c.start.col,c.start.row,d.end.col,d.end.row);for(let e=0;e<t.length;e++){const i=o.getCellRange(t[e].col,t[e].row);for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)o.scenegraph.updateCellContent(t,e)}}}if("group"===h&&o.dataSource.updateRecordsForGroup([],[]),"sort"===h||"group"===h)return o.dataSource.sortedIndexMap.clear(),hE(o),o.refreshRowColCount(),o.internalProps.layoutMap.clearCellRangeMap(),o.scenegraph.clearCells(),void o.scenegraph.createSceneGraph();for(let t=c.start.col;t<=d.end.col;t++)for(let e=c.start.row;e<=d.end.row;e++)o.scenegraph.updateCellContent(t,e);if("adaptive"===o.widthMode||o.autoFillWidth&&o.getAllColsWidth()<=o.tableNoFrameWidth)0===o.internalProps._widthResizedColMap.size&&o.scenegraph.recalculateColWidths();else for(let e=t;e<=d.end.col;e++)if(!o.internalProps._widthResizedColMap.has(e)){const t=o.getColWidth(e),i=UB(e,0,o.rowCount-1,o,!1);i!==t&&o.scenegraph.updateColWidth(e,i-t)}if("adaptive"===o.heightMode||o.autoFillHeight&&o.getAllRowsHeight()<=o.tableNoFrameHeight)o.scenegraph.recalculateRowHeights();else if(o.isAutoRowHeight()){const t=[],i=[];for(let r=e;r<=d.end.row;r++)if(o.rowHeightsMap.get(r)){const e=o.getRowHeight(r),n=BT(r,0,o.colCount-1,o);t.push(r),i.push(n-e)}o.scenegraph.updateRowsHeight(t,i)}o.scenegraph.updateNextFrame()}(t,e,i,r,this)}addRecord(t,e){!function(t,e,i){if(i.options.groupBy)i.dataSource.addRecordsForGroup?.([t],e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.([t],e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordForSorted(t),hE(i),i.refreshRowColCount(),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{(void 0===e||e>i.dataSource.sourceLength)&&(e=i.dataSource.sourceLength);const r=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount;i.dataSource.addRecord(t,e);const o=i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),void i.scenegraph.createSceneGraph();const n=i.transpose?i.colCount:i.rowCount;if(i.pagination){const{perPageCount:t,currentPage:s}=i.pagination,a=t*(s||0)+t;if(e<a)if(e<a-t)i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{const s=e-(a-t)+r;if(o-r===i.pagination.perPageCount){const t=[];for(let e=s;e<n;e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}else{const t=[];for(let e=s;e<Math.min(n,s+1);e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],t,[]):i.scenegraph.updateRow([],t,[])}}}else{const t=[];for(let o=e+r;o<e+r+1;o++)i.transpose?t.push({col:o,row:0}):t.push({col:0,row:o});const o=i.internalProps.layoutMap.hasAggregationOnTopCount,n=i.internalProps.layoutMap.hasAggregationOnBottomCount;for(let t=r;t<r+o;t++)i.transpose;for(let t=(i.transpose?i.colCount:i.rowCount)-n;t<(i.transpose?i.colCount:i.rowCount);t++)i.transpose;i.transpose?i.scenegraph.updateCol([],t,[]):i.scenegraph.updateRow([],t,[])}}}(t,e,this),this.internalProps.emptyTip?.resetVisible()}addRecords(t,e){!function(t,e,i){if(i.options.groupBy)i.dataSource.addRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordsForSorted(t),hE(i),i.refreshRowColCount(),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{void 0===e||e>i.dataSource.sourceLength?e=i.dataSource.sourceLength:e<0&&(e=0);const r=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount;i.dataSource.addRecords(t,e);const o=i.transpose?i.colCount:i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),void i.scenegraph.createSceneGraph();const n=i.transpose?i.colCount:i.rowCount;if(i.pagination){const{perPageCount:s,currentPage:a}=i.pagination,l=s*(a||0)+s;if(e<l)if(e<l-s)i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{const a=e-(l-s)+r;if(o-r===i.pagination.perPageCount){const t=[];for(let e=a;e<n;e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}else{const e=[];for(let r=a;r<Math.min(n,a+(Array.isArray(t)?t.length:1));r++)i.transpose?e.push({col:r,row:0}):e.push({col:0,row:r});i.transpose?i.scenegraph.updateCol([],e,[]):i.scenegraph.updateRow([],e,[])}}}else{const o=[];for(let n=e+r;n<e+r+(Array.isArray(t)?t.length:1);n++)i.transpose?o.push({col:n,row:0}):o.push({col:0,row:n});const n=i.internalProps.layoutMap.hasAggregationOnTopCount,s=i.internalProps.layoutMap.hasAggregationOnBottomCount,a=[];for(let t=r;t<r+n;t++)i.transpose?a.push({col:t,row:0}):a.push({col:0,row:t});for(let t=(i.transpose?i.colCount:i.rowCount)-s;t<(i.transpose?i.colCount:i.rowCount);t++)i.transpose?a.push({col:t,row:0}):a.push({col:0,row:t});i.transpose?i.scenegraph.updateCol([],o,a):i.scenegraph.updateRow([],o,a)}}}(t,e,this),this.internalProps.emptyTip?.resetVisible()}deleteRecords(t){!function(t,e){if(t?.length>0)if(e.options.groupBy)e.dataSource.deleteRecordsForGroup?.(t),e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&hE(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else if("tree"===e.dataSource.rowHierarchyType)e.dataSource.deleteRecordsForTree?.(t),e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&hE(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else if(e.sortState)e.dataSource.deleteRecordsForSorted(t),hE(e),e.refreshRowColCount(),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else{const i=e.dataSource.deleteRecords(t);if(0===i.length)return;const r=e.transpose?e.colCount:e.rowCount;e.refreshRowColCount();const o=e.transpose?e.colCount:e.rowCount,n=i.sort(((t,e)=>t-e)),s=n[0];if(e.pagination){const{perPageCount:t,currentPage:i}=e.pagination,n=t*(i||0)+t;if(s<n)if(s<n-t)e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else{const i=e.transpose?e.rowHeaderLevelCount:e.columnHeaderLevelCount,a=e.internalProps.layoutMap.hasAggregationOnTopCount,l=[],h=[];for(let i=s-(n-t)+(e.transpose?e.rowHeaderLevelCount:e.columnHeaderLevelCount)+a;i<o;i++)e.transpose?l.push({col:i,row:0}):l.push({col:0,row:i});for(let t=i;t<i+a;t++)e.transpose?l.push({col:t,row:0}):l.push({col:0,row:t});if(o<r)for(let t=o;t<r;t++)e.transpose?h.push({col:t,row:0}):h.push({col:0,row:t});e.reactCustomLayout?.clearCache(),e.transpose?e.scenegraph.updateCol(h,[],l):e.scenegraph.updateRow(h,[],l),e.reactCustomLayout?.updateAllCustomCell()}}else{const t=[],i=e.transpose?e.rowHeaderLevelCount:e.columnHeaderLevelCount,r=e.internalProps.layoutMap.hasAggregationOnTopCount,o=e.internalProps.layoutMap.hasAggregationOnBottomCount;for(let o=0;o<n.length;o++){const s=n[o]+i+r;e.transpose?t.push({col:s,row:0}):t.push({col:0,row:s})}const s=[];for(let t=i;t<i+r;t++)e.transpose?s.push({col:t,row:0}):s.push({col:0,row:t});for(let t=(e.transpose?e.colCount:e.rowCount)-o;t<(e.transpose?e.colCount:e.rowCount);t++)e.transpose?s.push({col:t,row:0}):s.push({col:0,row:t});e.reactCustomLayout?.clearCache(),e.transpose?e.scenegraph.updateCol(t,[],s):e.scenegraph.updateRow(t,[],s),e.reactCustomLayout?.updateAllCustomCell()}}}(t,this),this.internalProps.emptyTip?.resetVisible()}updateRecords(t,e){!function(t,e,i){if(e?.length>0)if(i.options.groupBy)i.dataSource.updateRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.updateRecordsForTree?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.updateRecordsForSorted(t,e),hE(i),i.refreshRowColCount(),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{const r=i.dataSource.updateRecords(t,e);if(0===r.length)return;const o=r.map((t=>i.getBodyRowIndexByRecordIndex(t))),n=o.sort(((t,e)=>t-e));if(i.pagination){const{perPageCount:t,currentPage:e}=i.pagination,r=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount,o=i.internalProps.layoutMap.hasAggregationOnTopCount,s=t*(e||0)+t,a=[];for(let e=0;e<n.length;e++){const r=n[e];if(r<s&&r>=s-t){const e=r-(s-t)+(i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount)+o;a.push(e)}}if(a.length>=1){const t=[];for(let e=0;e<a.length;e++){const r=a[e];i.transpose?t.push({col:r,row:0}):t.push({col:0,row:r})}for(let e=r;e<r+o;e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}}else{const t=[],e=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount,r=i.internalProps.layoutMap.hasAggregationOnTopCount,o=i.internalProps.layoutMap.hasAggregationOnBottomCount;for(let o=0;o<n.length;o++){const s=n[o]+e+r;i.transpose?t.push({col:s,row:0}):t.push({col:0,row:s})}for(let o=e;o<e+r;o++)i.transpose?t.push({col:o,row:0}):t.push({col:0,row:o});for(let e=(i.transpose?i.colCount:i.rowCount)-o;e<(i.transpose?i.colCount:i.rowCount);e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}}}(t,e,this)}_hasCustomRenderOrLayout(){const{headerObjects:t}=this.internalProps.layoutMap;if(this.options.customRender)return!0;for(let e=0;e<t.length;e++){const i=t[e];if(i?.define?.customLayout||i?.define?.headerCustomLayout||i?.define?.customRender||i?.define?.headerCustomRender)return!0}return!1}getAggregateValuesByField(t){const e=this.internalProps.layoutMap.getColumnByField(t),i=[];for(let t=0;t<e.length;t++){const r=e[t].columnDefine.aggregator;if(delete e[t].columnDefine,r){const o={col:e[t].col,aggregateValue:null};if(o.aggregateValue=[],Array.isArray(r))for(let t=0;t<r.length;t++)o.aggregateValue.push({aggregationType:r[t].type,value:r[t].value()});else o.aggregateValue.push({aggregationType:r.type,value:r.value()});i.push(o)}}return i}isAggregation(t,e){return this.internalProps.layoutMap.isAggregation(t,e)}getGroupTitleLevel(t,e){if(!this.options.groupBy)return;const i=this.dataSource.getIndexKey(this.getRecordShowIndexByCell(t,e)),r=this.dataSource.getGroupLength()??0;let o=ot(i)?i.length-1:0;return r>0&&o===r&&(o=void 0),o}getBodyRowIndexByRecordIndex(t){return Array.isArray(t)&&1===t.length&&(t=t[0]),this.dataSource.getTableIndex(t)}_parseColumnWidthConfig(t){for(let e=0;e<t?.length;e++){const i=t[e],r=i.key,o=i.width,n=this.internalProps.layoutMap.getColumnByKey(r);if(n.columnDefine){const{col:t}=n;this.internalProps._widthResizedColMap.has(t)||(this._setColWidth(t,o),this.internalProps._widthResizedColMap.add(t))}}}release(){this.editorManager.release(),super.release()}}function dE(t){return"bottom"===t||"top"===t}var uE;function gE(t){return t}!function(t){t.Identity="identity",t.Linear="linear",t.Log="log",t.Pow="pow",t.Sqrt="sqrt",t.Symlog="symlog",t.Time="time",t.Quantile="quantile",t.Quantize="quantize",t.Threshold="threshold",t.Ordinal="ordinal",t.Point="point",t.Band="band"}(uE||(uE={})),Object.values(uE).forEach((t=>{}));const pE=t=>-Math.log(-t),fE=t=>-Math.exp(-t),mE=t=>isFinite(t)?Math.pow(10,t):t<0?0:t,bE=t=>10===t?mE:t===Math.E?Math.exp:e=>Math.pow(t,e),yE=t=>t===Math.E?Math.log:10===t?Math.log10:2===t?Math.log2:(t=Math.log(t),e=>Math.log(e)/t),CE=t=>e=>Math.sign(e)*Math.log1p(Math.abs(e/t)),wE=t=>e=>Math.sign(e)*Math.expm1(Math.abs(e))*t;function vE(t,e){if(t=Number(t),e=Number(e),e-=t)return i=>(i-t)/e;const i=Number.isNaN(e)?NaN:.5;return()=>i}function xE(t,e,i){const r=t[0],o=t[1],n=e[0],s=e[1];let a,l;return o<r?(a=vE(o,r),l=i(s,n)):(a=vE(r,o),l=i(n,s)),t=>l(a(t))}function _E(t,e,i){let r;return r=1===t?t+2*i:t-e+2*i,t?r>0?r:1:0}function SE(t,e){const i=(t[1]-t[0])/(e[1]-e[0]),r=t[0]-i*e[0];return[r,i+r]}function AE(t,e,i){const r=Math.min(t.length,e.length)-1,o=new Array(r),n=new Array(r);let s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)o[s]=vE(t[s],t[s+1]),n[s]=i(e[s],e[s+1]);return function(e){const i=function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0;for(jk(r)&&(r=t.length);i<r;){const o=i+r>>>1;nL(t[o],e)>0?r=o:i=o+1}return i}(t,e,1,r)-1;return n[i](o[i](e))}}const RE=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=Math.floor(Math.log10(t)),r=t/Math.pow(10,i);let o;return o=e?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,o*Math.pow(10,i)};class TE{constructor(){this._rangeFactorStart=null,this._rangeFactorEnd=null}_calculateWholeRange(t){return this._wholeRange?this._wholeRange:Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length?(this._wholeRange=SE(t,[this._rangeFactorStart,this._rangeFactorEnd]),this._wholeRange):t}rangeFactor(t,e,i){return t?(2===t.length&&t.every((t=>t>=0&&t<=1))&&(this._wholeRange=null,0===t[0]&&1===t[1]?(this._rangeFactorStart=null,this._rangeFactorEnd=null):(this._rangeFactorStart=t[0],this._rangeFactorEnd=t[1])),this):i?(this._wholeRange=null,this._rangeFactorStart=null,this._rangeFactorEnd=null,this):Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)?[this._rangeFactorStart,this._rangeFactorEnd]:null}rangeFactorStart(t,e){var i;return jk(t)?this._rangeFactorStart:(t>=0&&t<=1&&(this._wholeRange=null,0!==t||!jk(this._rangeFactorEnd)&&1!==this._rangeFactorEnd?(this._rangeFactorStart=t,this._rangeFactorEnd=null!==(i=this._rangeFactorEnd)&&void 0!==i?i:1):(this._rangeFactorStart=null,this._rangeFactorEnd=null)),this)}rangeFactorEnd(t,e){var i;return jk(t)?this._rangeFactorEnd:(t>=0&&t<=1&&(this._wholeRange=null,0!==t||!jk(this._rangeFactorStart)&&0!==this._rangeFactorStart?(this._rangeFactorEnd=t,this._rangeFactorStart=null!==(i=this._rangeFactorStart)&&void 0!==i?i:0):(this._rangeFactorStart=null,this._rangeFactorEnd=null)),this)}generateFishEyeTransform(){var t;if(!this._fishEyeOptions)return void(this._fishEyeTransform=null);const{distortion:e=2,radiusRatio:i=.1,radius:r}=this._fishEyeOptions,o=this.range(),n=o[0],s=o[o.length-1],a=Math.min(n,s),l=Math.max(n,s),h=bL(null!==(t=this._fishEyeOptions.focus)&&void 0!==t?t:0,a,l),c=jk(r)?(l-a)*i:r;let d=Math.exp(e);d=d/(d-1)*c;const u=e/c;this._fishEyeTransform=t=>{const e=Math.abs(t-h);if(e>=c)return t;if(e<=1e-6)return h;const i=d*(1-Math.exp(-e*u))/e*.75+.25;return h+(t-h)*i}}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}get(t,e){var i;return null!==(i=null==this?void 0:this[t])&&void 0!==i?i:e}}const BE=Symbol("implicit");class ME extends TE{specified(t){var e;return t?(this._specified=Object.assign(null!==(e=this._specified)&&void 0!==e?e:{},t),this):Object.assign({},this._specified)}_getSpecifiedValue(t){if(this._specified)return this._specified[t]}constructor(){super(),this.type=uE.Ordinal,this._index=new Map,this._domain=[],this._ordinalRange=[],this._unknown=BE}clone(){const t=(new ME).domain(this._domain).range(this._ordinalRange).unknown(this._unknown);return this._specified&&t.specified(this._specified),t}calculateVisibleDomain(t){return Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length?[this.invert(t[0]),this.invert(t[1])]:this._domain}scale(t){const e=`${t}`,i=this._getSpecifiedValue(e);if(void 0!==i)return i;let r=this._index.get(e);if(!r){if(this._unknown!==BE)return this._unknown;r=this._domain.push(t),this._index.set(e,r)}const o=this._ordinalRange[(r-1)%this._ordinalRange.length];return this._fishEyeTransform?this._fishEyeTransform(o):o}invert(t){let e=0;for(;e<this._ordinalRange.length&&this._ordinalRange[e]!==t;)e++;return this._domain[(e-1)%this._domain.length]}domain(t){if(!t)return this._domain.slice();this._domain=[],this._index=new Map;for(const e of t){const t=`${e}`;this._index.has(t)||this._index.set(t,this._domain.push(e))}return this}range(t){if(!t)return this._ordinalRange.slice();const e=Array.from(t);return this._ordinalRange=e,this}index(t){var e;return this._index&&null!==(e=this._index.get(`${t}`))&&void 0!==e?e:-1}}function PE(t,e,i,r){const o=[];let n=t;for(;n<=e;)o.push(n),n+=i;return r&&o.reverse(),o}function HE(t,e,i,r){let o,n;if(e=Math.floor(+e),t=Math.floor(+t),!(i=Math.floor(+i)))return[];if(t===e)return[t];if(o=e<t){const i=t;t=e,e=i}let s=yL(1,e-t+1)(i);if(n=Math.floor((e-t+1)/s),!r)for(;Math.ceil((e-t+1)/n)>i&&s>1;)s-=1,n=Math.floor((e-t)/s);return PE(t,e,n,o)}class kE extends ME{constructor(t){super(),this.type=uE.Band,this._range=[0,1],this._step=void 0,this._bandwidth=void 0,this._isFixed=!1,this._round=!1,this._paddingInner=0,this._paddingOuter=0,this._align=.5,this._unknown=void 0,delete this.unknown,this.rescale(t)}rescale(t,e){if(t)return this;this._wholeRange=null;const i=this._calculateWholeRange(this._range,e),r=super.domain().length,o=i[1]<i[0];let n=i[Number(o)-0];const s=i[1-Number(o)],a=_E(r,this._paddingInner,this._paddingOuter);return this._step=(s-n)/Math.max(1,a||1),this._round&&(this._step=Math.floor(this._step)),n+=(s-n-this._step*(r-this._paddingInner))*this._align,this.isBandwidthFixed()||(this._bandwidth=this._step*(1-this._paddingInner)),this._round&&(n=Math.round(n),this.isBandwidthFixed()||(this._bandwidth=Math.round(this._bandwidth))),this._bandRangeState={reverse:o,start:o?n+this._step*(r-1):n,count:r},this.generateFishEyeTransform(),this}scale(t){if(!this._bandRangeState)return;const e=`${t}`,i=this._getSpecifiedValue(e);if(void 0!==i)return i;let r=this._index.get(e);if(!r){if(this._unknown!==BE)return this._unknown;r=this._domain.push(t),this._index.set(e,r)}const{count:o,start:n,reverse:s}=this._bandRangeState,a=n+(r-1)%o*(s?-1:1)*this._step;return this._fishEyeTransform?this._fishEyeTransform(a):a}_calculateWholeRange(t,e){if(this._wholeRange)return this._wholeRange;if((this._minBandwidth||this._maxBandwidth)&&!this._isBandwidthFixedByUser()){let e;if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length){const i=SE(t,[this._rangeFactorStart,this._rangeFactorEnd]);e=Math.abs(i[1]-i[0])}else e=Math.abs(t[1]-t[0]);const i=function(t,e,i,r,o){const n=_E(t,i,r);let s=e/Math.max(1,n||1);o&&(s=Math.floor(s));let a=s*(1-i);return o&&(a=Math.round(a)),a}(super.domain().length,e,this._paddingInner,this._paddingOuter,this._round);i<this._minBandwidth?(this._bandwidth=this._minBandwidth,this._isFixed=!0):i>this._maxBandwidth?(this._bandwidth=this._maxBandwidth,this._isFixed=!0):(this._bandwidth=i,this._isFixed=!1)}if(this.isBandwidthFixed()){const s=(i=super.domain().length,r=this._bandwidth,o=this._paddingInner,n=this._paddingOuter,1===o&&(o=0),_E(i,o,n)*(r/(1-o))*Math.sign(t[1]-t[0])),a=Math.min((t[1]-t[0])/s,1);if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)){if(s>0){const e=t[0]-s*this._rangeFactorStart,i=e+s;this._wholeRange=[e,i]}else{const e=t[1]+s*(1-this._rangeFactorEnd),i=e-s;this._wholeRange=[i,e]}const i=this._rangeFactorStart+a<=1,r=this._rangeFactorEnd-a>=0;"rangeFactorStart"===e&&i?this._rangeFactorEnd=this._rangeFactorStart+a:"rangeFactorEnd"===e&&r?this._rangeFactorStart=this._rangeFactorEnd-a:t[0]<=t[1]?i?this._rangeFactorEnd=this._rangeFactorStart+a:r?this._rangeFactorStart=this._rangeFactorEnd-a:(this._rangeFactorStart=0,this._rangeFactorEnd=a):r?this._rangeFactorStart=this._rangeFactorEnd-a:i?this._rangeFactorEnd=this._rangeFactorStart+a:(this._rangeFactorStart=1-a,this._rangeFactorEnd=1)}else this._rangeFactorStart=0,this._rangeFactorEnd=a,this._wholeRange=[t[0],t[0]+s];return this._wholeRange}var i,r,o,n;return super._calculateWholeRange(t)}calculateWholeRangeSize(){const t=this._calculateWholeRange(this._range);return Math.abs(t[1]-t[0])}calculateVisibleDomain(t){const e=this._domain;if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&e.length){const i=this._getInvertIndex(t[0]),r=this._getInvertIndex(t[1]);return e.slice(Math.min(i,r),Math.max(i,r)+1)}return e}domain(t,e){return t?(super.domain(t),this.rescale(e)):super.domain()}range(t,e){return t?(this._range=[sL(t[0]),sL(t[1])],this.rescale(e)):this._range}rangeRound(t,e){return this._range=[sL(t[0]),sL(t[1])],this._round=!0,this.rescale(e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return-1===t?e:HE(0,e.length-1,t,!1).map((t=>e[t]))}tickData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this.ticks(t).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0]+this._bandwidth/2)/(this._range[1]-this._range[0])})))}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return HE(0,e.length-1,t,!0).filter((t=>t<e.length)).map((t=>e[t]))}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return function(t,e,i){let r;if(i=yL(1,(e=Math.floor(+e))-(t=Math.floor(+t))+1)(Math.floor(+i)),r=e<t){const i=t;t=e,e=i}return PE(t,e,i,r)}(0,e.length-1,t).map((t=>e[t]))}_getInvertIndex(t){let e=0;const i=this.step()/2,r=this.bandwidth()/2,o=this._domain.length,n=this.range(),s=n[0]>n[n.length-1];for(e=0;e<o;e++){const n=this.scale(this._domain[e])+r;if(0===e&&(!s&&!pL(t,n+i)||s&&!fL(t,n-i)))break;if(e===o-1)break;if(!fL(t,n-i)&&!pL(t,n+i))break}return e>=0&&e<=o-1?e:o-1}invert(t){return this._domain[this._getInvertIndex(t)]}padding(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(Array.isArray(t)?Math.min.apply(null,t):t)),this._paddingInner=this._paddingOuter,this.rescale(e)):this._paddingInner}paddingInner(t,e){return void 0!==t?(this._paddingInner=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingInner}paddingOuter(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingOuter}step(){return this._step}round(t,e){return void 0!==t?(this._round=t,this.rescale(e)):this._round}align(t,e){return void 0!==t?(this._align=Math.max(0,Math.min(1,t)),this.rescale(e)):this._align}rangeFactor(t,e){return t?(super.rangeFactor(t),this.rescale(e)):super.rangeFactor()}rangeFactorStart(t,e){return jk(t)?super.rangeFactorStart():(super.rangeFactorStart(t),this.rescale(e,"rangeFactorStart"))}rangeFactorEnd(t,e){return jk(t)?super.rangeFactorEnd():(super.rangeFactorEnd(t),this.rescale(e,"rangeFactorEnd"))}bandwidth(t,e){return t?("auto"===t?(this._bandwidth=void 0,this._isFixed=!1):(this._bandwidth=t,this._isFixed=!0),this._userBandwidth=t,this.rescale(e)):this._bandwidth}maxBandwidth(t,e){return t?(this._maxBandwidth="auto"===t?void 0:t,this.rescale(e)):this._maxBandwidth}minBandwidth(t,e){return t?(this._minBandwidth="auto"===t?void 0:t,this.rescale(e)):this._minBandwidth}fishEye(t,e,i){return t||i?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}isBandwidthFixed(){return this._isFixed&&!!this._bandwidth}_isBandwidthFixedByUser(){return this._isFixed&&this._userBandwidth&&Jk(this._userBandwidth)}clone(){var t,e,i;return new kE(!0).domain(this._domain,!0).range(this._range,!0).round(this._round,!0).paddingInner(this._paddingInner,!0).paddingOuter(this._paddingOuter,!0).align(this._align,!0).bandwidth(null!==(t=this._userBandwidth)&&void 0!==t?t:"auto",!0).maxBandwidth(null!==(e=this._maxBandwidth)&&void 0!==e?e:"auto",!0).minBandwidth(null!==(i=this._maxBandwidth)&&void 0!==i?i:"auto")}}const{interpolateRgb:LE}=LL;function EE(t,e){const i=typeof e;let r;if(jk(e)||"boolean"===i)return()=>e;if("number"===i)return CL(t,e);if("string"===i){if(r=HL.parseColorString(e)){const e=LE(HL.parseColorString(t),r);return t=>e(t).formatRgb()}return CL(Number(t),Number(e))}return e instanceof kL?LE(t,e):e instanceof HL?LE(t.color,e.color):e instanceof Date?function(t,e){const i=t.valueOf(),r=e.valueOf(),o=new Date;return t=>(o.setTime(i*(1-t)+r*t),o)}(t,e):CL(Number(t),Number(e))}class FE extends TE{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:gE,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gE;super(),this._unknown=void 0,this.transformer=t,this.untransformer=e,this._forceAlign=!0,this._domain=[0,1],this._range=[0,1],this._clamp=gE,this._piecewise=xE,this._interpolate=EE}calculateVisibleDomain(t){var e;return Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length?[this.invert(t[0]),this.invert(t[1])]:null!==(e=this._niceDomain)&&void 0!==e?e:this._domain}fishEye(t,e,i){return t||i?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}scale(t){var e;if(t=Number(t),Number.isNaN(t)||this._domainValidator&&!this._domainValidator(t))return this._unknown;this._output||(this._output=this._piecewise((null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),this._calculateWholeRange(this._range),this._interpolate));const i=this._output(this.transformer(this._clamp(t)));return this._fishEyeTransform?this._fishEyeTransform(i):i}invert(t){var e;return this._input||(this._input=this._piecewise(this._calculateWholeRange(this._range),(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),CL)),this._clamp(this.untransformer(this._input(t)))}domain(t,e){var i;if(!t)return(null!==(i=this._niceDomain)&&void 0!==i?i:this._domain).slice();this._domainValidator=null,this._niceType=null,this._niceDomain=null;const r=Array.from(t,sL);return this._domain=r,this.rescale(e)}range(t,e){if(!t)return this._range.slice();const i=Array.from(t);return this._range=i,this.rescale(e)}rangeRound(t,e){const i=Array.from(t);return this._range=i,this._interpolate=wL,this.rescale(e)}rescale(t){var e;if(t)return this;const i=null!==(e=this._niceDomain)&&void 0!==e?e:this._domain,r=i.length,o=this._range.length;let n=Math.min(r,o);if(r&&r<o&&this._forceAlign){const t=o-r+1,e=i[r-1],s=r>=2?(e-i[r-2])/t:0;for(let o=1;o<=t;o++)i[r-2+o]=e-s*(t-o);n=o}return this._autoClamp&&(this._clamp=yL(i[0],i[n-1])),this._piecewise=n>2?AE:xE,this._output=this._input=null,this._wholeRange=null,this.generateFishEyeTransform(),this}clamp(t,e,i){return arguments.length?(e?(this._autoClamp=!1,this._clamp=e):(this._autoClamp=!!t,this._clamp=t?void 0:gE),this.rescale(i)):this._clamp!==gE}interpolate(t,e){return arguments.length?(this._interpolate=t,this.rescale(e)):this._interpolate}ticks(){return[]}tickData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.ticks(t);return(null!=e?e:[]).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0])/(this._range[1]-this._range[0])})))}rangeFactor(t,e){return t?(super.rangeFactor(t),this._output=this._input=null,this):super.rangeFactor()}rangeFactorStart(t,e){return jk(t)?super.rangeFactorStart():(super.rangeFactorStart(t),this._output=this._input=null,this)}rangeFactorEnd(t,e){return jk(t)?super.rangeFactorEnd():(super.rangeFactorEnd(t),this._output=this._input=null,this)}forceAlignDomainRange(t){return arguments.length?(this._forceAlign=t,this):this._forceAlign}}const IE=Math.sqrt(50),zE=Math.sqrt(10),OE=Math.sqrt(2),DE=[1,2,5,10],WE=(t,e,i)=>{let r=1,o=t;const n=Math.floor((e-1)/2),s=Math.abs(t);return t>=0&&t<=Number.MIN_VALUE?o=0:t<0&&t>=-Number.MIN_VALUE?o=-(e-1):!i&&s<1?r=jE(s).step:(i||s>1)&&(o=Math.floor(t)-n*r),r>0?(t>0?o=Math.max(o,0):t<0&&(o=Math.min(o,-(e-1)*r)),function(t,e,i){Uk(e)||(e=t,t=0),Uk(i)||(i=1);let r=-1;const o=0|Math.max(0,Math.ceil((e-t)/i)),n=new Array(o);for(;++r<o;)n[r]=t+r*i;return n}(0,e).map((t=>o+t*r))):t>0?GE(0,-(e-1)/r,r):GE((e-1)/r,0,r)},NE=mL(((t,e,i,r)=>{let o,n,s,a,l=-1;if(i=+i,(t=+t)==(e=+e))return[t];if(Math.abs(t-e)<=Number.MIN_VALUE&&i>0)return[t];if((o=e<t)&&(n=t,t=e,e=n),a=UE(t,e,i).step,!isFinite(a))return[];if(a>0){let i=Math.round(t/a),r=Math.round(e/a);for(i*a<t&&++i,r*a>e&&--r,s=new Array(n=r-i+1);++l<n;)s[l]=(i+l)*a}else if(a<0&&(null==r?void 0:r.noDecimals)){a=1;const i=Math.ceil(t),r=Math.floor(e);if(!(i<=r))return[];for(s=new Array(n=r-i+1);++l<n;)s[l]=i+l}else{a=-a;let i=Math.round(t*a),r=Math.round(e*a);for(i/a<t&&++i,r/a>e&&--r,s=new Array(n=r-i+1);++l<n;)s[l]=(i+l)/a}return o&&s.reverse(),s})),GE=(t,e,i)=>{let r,o,n=-1;if(i>0){let s=Math.floor(t/i),a=Math.ceil(e/i);for((s+1)*i<t&&++s,(a-1)*i>e&&--a,o=new Array(r=a-s+1);++n<r;)o[n]=(s+n)*i}else{i=-i;let s=Math.floor(t*i),a=Math.ceil(e*i);for((s+1)/i<t&&++s,(a-1)/i>e&&--a,o=new Array(r=a-s+1);++n<r;)o[n]=(s+n)/i}return o},VE=mL(((t,e,i,r)=>{let o,n,s;if(i=+i,(t=+t)==(e=+e))return WE(t,i,null==r?void 0:r.noDecimals);if(Math.abs(t-e)<=Number.MIN_VALUE&&i>0)return WE(t,i,null==r?void 0:r.noDecimals);(o=e<t)&&(s=t,t=e,e=s);const a=UE(t,e,i);let l=a.step;if(!isFinite(l))return[];if(l>0){let r=1;const{power:o,gap:s}=a,h=10===s?2*10**o:1*10**o;for(;r<=5&&(n=GE(t,e,l),n.length>i+1)&&i>2;)l+=h,r+=1;i>2&&n.length<i-1&&(n=((t,e,i)=>{let r;const o=t[0],n=t[t.length-1],s=e-t.length;if(n<=0){const e=[];for(r=s;r>=1;r--)e.push(o-r*i);return e.concat(t)}if(o>=0){for(r=1;r<=s;r++)t.push(n+r*i);return t}let a=[];const l=[];for(r=1;r<=s;r++)r%2==0?a=[o-Math.floor(r/2)*i].concat(a):l.push(n+Math.ceil(r/2)*i);return a.concat(t).concat(l)})(n,i,l))}else(null==r?void 0:r.noDecimals)&&l<0&&(l=1),n=GE(t,e,l);return o&&n.reverse(),n})),jE=t=>{const e=Math.floor(Math.log(t)/Math.LN10),i=t/10**e;let r=DE[0];return i>=IE?r=DE[3]:i>=zE?r=DE[2]:i>=OE&&(r=DE[1]),e>=0?{step:r*10**e,gap:r,power:e}:{step:-(10**-e)/r,gap:r,power:e}};function UE(t,e,i){const r=(e-t)/Math.max(0,i);return jE(r)}function KE(t,e,i){let r;if(i=+i,(t=+t)==(e=+e)&&i>0)return[t];if(i<=0||0===(r=function(t,e,i){return(e-t)/Math.max(1,i-1)}(t,e,i))||!isFinite(r))return[];const o=new Array(i);for(let e=0;e<i;e++)o[e]=t+e*r;return o}function $E(t){let e,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,o=0,n=t.length-1,s=t[o],a=t[n],l=10;for(a<s&&(i=s,s=a,a=i,i=o,o=n,n=i);l-- >0;){if(i=UE(s,a,r).step,i===e)return t[o]=s,t[n]=a,t;if(i>0)s=Math.floor(s/i)*i,a=Math.ceil(a/i)*i;else{if(!(i<0))break;s=Math.ceil(s*i)/i,a=Math.floor(a*i)/i}e=i}}function XE(t,e){const i=Jk(e.forceMin),r=Jk(e.forceMax);let o=null;const n=[];let s=null;const a=i&&r?t=>t>=e.forceMin&&t<=e.forceMax:i?t=>t>=e.forceMin:r?t=>t<=e.forceMax:null;return i?n[0]=e.forceMin:Jk(e.min)&&e.min<=Math.min(t[0],t[t.length-1])&&(n[0]=e.min),r?n[1]=e.forceMax:Jk(e.max)&&e.max>=Math.max(t[0],t[t.length-1])&&(n[1]=e.max),Jk(n[0])&&Jk(n[1])?(s=t.slice(),s[0]=n[0],s[s.length-1]=n[1]):o=Jk(n[0])||Jk(n[1])?Jk(n[0])?"max":"min":"all",{niceType:o,niceDomain:s,niceMinMax:n,domainValidator:a}}const YE=(t,e,i)=>Math.abs(e-t)<1?+i.toFixed(1):Math.round(+i),qE=mL(((t,e,i,r,o,n,s)=>{let a=t,l=e;const h=l<a;h&&([a,l]=[l,a]);let c,d,u=o(a),g=o(l),p=[];if(!(r%1)&&g-u<i){if(u=Math.floor(u),g=Math.ceil(g),a>0){for(;u<=g;++u)for(c=1;c<r;++c)if(d=u<0?c/n(-u):c*n(u),!(d<a)){if(d>l)break;p.push(d)}}else for(;u<=g;++u)for(c=r-1;c>=1;--c)if(d=u>0?c/n(-u):c*n(u),!(d<a)){if(d>l)break;p.push(d)}2*p.length<i&&(p=VE(a,l,i))}else p=VE(u,g,Math.min(g-u,i)).map(n);return p=p.filter((t=>0!==t)),(null==s?void 0:s.noDecimals)&&(p=Array.from(new Set(p.map((t=>Math.floor(t)))))),h?p.reverse():p})),ZE=mL(((t,e,i,r,o,n)=>{const s=[],a={},l=o(t),h=o(e);let c=[];if(Number.isInteger(r))c=VE(l,h,i);else{const t=(h-l)/(i-1);for(let e=0;e<i;e++)c.push(l+e*t)}return c.forEach((i=>{const o=n(i),l=Number.isInteger(r)?YE(t,e,o):YE(t,e,RE(o)),h=YE(t,e,((t,e)=>{let i,r;return e[0]<e[1]?(i=e[0],r=e[1]):(i=e[1],r=e[0]),Math.min(Math.max(t,i),r)})(l,[t,e]));!a[h]&&!isNaN(h)&&c.length>1&&(a[h]=1,s.push(h))})),s})),JE=mL(((t,e,i,r,o)=>KE(r(t),r(e),i).map((t=>RE(o(t))))));class QE extends FE{constructor(){super(...arguments),this.type=uE.Linear}clone(){return(new QE).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}tickFormat(){return()=>{}}d3Ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;const i=this.calculateVisibleDomain(this._range);return NE(i[0],i[i.length-1],t,e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;var i;if(Vk(null==e?void 0:e.customTicks))return e.customTicks(this,t);if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&(this._rangeFactorStart>0||this._rangeFactorEnd<1)&&2===this._range.length||!this._niceType)return this.d3Ticks(t,e);const r=null!==(i=this._niceDomain)&&void 0!==i?i:this._domain,o=this._domain,n=r[0],s=r[r.length-1];let a=VE(o[0],o[o.length-1],t,e);if(!a.length)return a;if(this._domainValidator)a=a.filter(this._domainValidator);else if((a[0]!==n||a[a.length-1]!==s)&&this._niceType){const t=r.slice();if("all"===this._niceType?(t[0]=a[0],t[t.length-1]=a[a.length-1],this._niceDomain=t,this.rescale()):"min"===this._niceType&&a[0]!==n?(t[0]=a[0],this._niceDomain=t,this.rescale()):"max"===this._niceType&&a[a.length-1]!==s&&(t[t.length-1]=a[a.length-1],this._niceDomain=t,this.rescale()),"all"!==this._niceType){const e=Math.min(t[0],t[t.length-1]),i=Math.max(t[0],t[t.length-1]);a=a.filter((t=>t>=e&&t<=i))}}return a}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return KE(e[0],e[e.length-1],t)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return function(t,e,i){let r,o,n=-1;if(i=+i,(o=(e=+e)<(t=+t))&&(r=t,t=e,e=r),!isFinite(i)||e-t<=i)return[t];const s=Math.floor((e-t)/i+1),a=new Array(s);for(;++n<s;)a[n]=t+n*i;return o&&a.reverse(),a}(e[0],e[e.length-1],t)}nice(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;var i,r;const o=this._domain;let n=[];if(e){const t=XE(o,e);if(n=t.niceMinMax,this._domainValidator=t.domainValidator,this._niceType=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else this._niceType="all";if(this._niceType){const e=$E(o.slice(),t);"min"===this._niceType?e[e.length-1]=null!==(i=n[1])&&void 0!==i?i:e[e.length-1]:"max"===this._niceType&&(e[0]=null!==(r=n[0])&&void 0!==r?r:e[0]),this._niceDomain=e,this.rescale()}return this}niceMin(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;this._niceType="min";const e=this._domain[this._domain.length-1],i=$E(this.domain(),t);return i&&(i[i.length-1]=e,this._niceDomain=i,this.rescale()),this}niceMax(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;this._niceType="max";const e=this._domain[0],i=$E(this._domain.slice(),t);return i&&(i[0]=e,this._niceDomain=i,this.rescale()),this}}class tF{nice(){let t=arguments.length>1?arguments[1]:void 0;var e,i,r,o;const n=this._domain;let s=[],a=null;if(t){const e=XE(n,t);if(s=e.niceMinMax,this._domainValidator=e.domainValidator,a=e.niceType,e.niceDomain)return this._niceDomain=e.niceDomain,this.rescale(),this}else a="all";if(a){const t=((t,e)=>{const i=t.slice();let r=0,o=i.length-1,n=i[r],s=i[o];return s<n&&([r,o]=[o,r],[n,s]=[s,n]),i[r]=e.floor(n),i[o]=e.ceil(s),i})(n.slice(),null!==(i=null===(e=this.getNiceConfig)||void 0===e?void 0:e.call(this))&&void 0!==i?i:{floor:t=>Math.floor(t),ceil:t=>Math.ceil(t)});return"min"===a?t[t.length-1]=null!==(r=s[1])&&void 0!==r?r:t[t.length-1]:"max"===a&&(t[0]=null!==(o=s[0])&&void 0!==o?o:t[0]),this._niceDomain=t,this.rescale(),this}return this}niceMin(){const t=this._domain[this._domain.length-1];this.nice();const e=this._domain.slice();return this._domain&&(e[e.length-1]=t,this._niceDomain=e,this.rescale()),this}niceMax(){const t=this._domain[0];this.nice();const e=this._domain.slice();return this._domain&&(e[0]=t,this._niceDomain=e,this.rescale()),this}}function eF(t){return e=>-t(-e)}function iF(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.EPSILON;return e=>Math.max(e,t)}class rF extends FE{constructor(){super(yE(10),bE(10)),this.type=uE.Log,this._limit=iF(),this._logs=this.transformer,this._pows=this.untransformer,this._domain=[1,10],this._base=10}clone(){return(new rF).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).base(this._base)}rescale(t){var e;if(t)return this;super.rescale();const i=yE(this._base),r=bE(this._base);return(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain)[0]<0?(this._logs=eF(i),this._pows=eF(r),this._limit=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.EPSILON;return e=>Math.min(e,-t)}(),this.transformer=pE,this.untransformer=fE):(this._logs=i,this._pows=r,this._limit=iF(),this.transformer=this._logs,this.untransformer=r),this}scale(t){var e;if(t=Number(t),Number.isNaN(t)||this._domainValidator&&!this._domainValidator(t))return this._unknown;this._output||(this._output=this._piecewise((null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this._limit).map(this.transformer),this._calculateWholeRange(this._range),this._interpolate));const i=this._output(this.transformer(this._limit(this._clamp(t))));return this._fishEyeTransform?this._fishEyeTransform(i):i}base(t,e){return arguments.length?(this._base=t,this.rescale(e)):this._base}tickFormat(){return gE}d3Ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;const i=this.domain(),r=this._limit(i[0]),o=this._limit(i[i.length-1]);return qE(r,o,t,this._base,this.transformer,this.untransformer,e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return ZE(this._limit(e[0]),this._limit(e[e.length-1]),t,this._base,this.transformer,this.untransformer)}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return JE(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return JE(this._limit(e[0]),this._limit(e[e.length-1]),t,this.transformer,this.untransformer)}getNiceConfig(){return{floor:t=>this._pows(Math.floor(this._logs(this._limit(t)))),ceil:t=>Math.abs(t)>=1?Math.ceil(t):this._pows(Math.ceil(this._logs(this._limit(t))))}}}oL(rF,tF);class oF extends QE{constructor(){super(CE(1),wE(1)),this.type=uE.Symlog,this._const=1}clone(){return(new oF).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).constant(this._const)}constant(t,e){return arguments.length?(this._const=t,this.transformer=CE(t),this.untransformer=wE(t),this.rescale(e)):this._const}d3Ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;const i=this.domain(),r=i[0],o=i[i.length-1];return qE(r,o,t,this._const,this.transformer,this.untransformer,e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return ZE(e[0],e[e.length-1],t,this._const,this.transformer,this.untransformer)}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return JE(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return JE(e[0],e[e.length-1],t,this.transformer,this.untransformer)}}oL(oF,tF);class nF{_scale;_scales;bandPadding;paddingInner;paddingOuter;constructor(){this._scale=new kE,this._scales=[this._scale]}valueToPosition(t){return this._scale.scale(t)}getPosition(t){let e=0,i=this._scale;if(1===this._scales.length||1===t.length)e=this.valueToPosition(t[0]);else{const r=Math.min(t.length,this._scales.length);for(let i=0;i<r;i++)e+=this._scales[i].scale(t[i]);i=this._scales[r-1]}return{position:e,bandScale:i}}calcScales(t,e){const{bandPadding:i,paddingInner:r,paddingOuter:o}=this,n=ot(i),s=ot(r),a=ot(o);for(let l=0;l<this._scales.length;l++){const h=n?i[l]:i,c=s?r[l]:r,d=a?o[l]:o;this._scales[l].paddingInner(c??h??t,!0).paddingOuter(d??h??e)}}dataToPosition(t,e={}){if(0===t.length||0===this._scales.length)return 0;const{position:i,bandScale:r}=this.getPosition(t);return i+r.bandwidth()*(e.bandPosition??.5)}updateScaleDomain(t){for(let e=0;e<this._scales.length;e++)this._scales[e].domain(t)}updateRange(t){const[e,i]=this._scale.range();t[0]===e&&t[1]===i||this._scale.range(t)}}const sF=Math.sqrt(50),aF=Math.sqrt(10),lF=Math.sqrt(2);class hF{_extend={};_scale;_scales;nice;zero;domain;expand;forceTickCount;tickCount;niceType;type;constructor(t){this.type=t??"linear",this._scale="log"===t?new rF:"symlog"===t?new oF:new QE,this._scales=[this._scale]}setExtraAttrFromSpec(t,e,i,r,o,n){this.nice=!1,this.zero=e,this.zero&&(i.min=Math.min(i.min,0),i.max=Math.max(i.max,0)),this.domain=i,this.expand=r,"log"===this.type?this._scale.base(o??10):"symlog"===this.type&&this._scale.constant(n??10)}transformScaleDomain(){"symlog"===this.type||"log"===this.type||this.setScaleNice()}setScaleNice(){"log"===this.type?this.setLogScaleNice():this.setLinearScaleNice()}setLogScaleNice(){Z(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.nice():J(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.niceMax():Z(this.domain?.min)&&J(this.domain?.max)&&this.nice&&this._scale.niceMin()}setLinearScaleNice(){let t=this.forceTickCount??this.tickCount??10;"accurateFirst"===this.niceType&&(t=Math.max(10,t)),Z(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.nice(t):J(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.niceMax(t):Z(this.domain?.min)&&J(this.domain?.max)?this.nice&&this._scale.niceMin(t):this.nice&&this._scale.nice(t)}dataToPosition(t){return this.valueToPosition(t[0])}valueToPosition(t){return this._scale.scale(t)}computeLinearDomain(t){const e=[];return t.forEach((t=>{const{min:i,max:r}=t;e[0]=void 0===e[0]?i:Math.min(e[0],i),e[1]=void 0===e[1]?r:Math.max(e[1],r)})),this.expandDomain(e),this.includeZero(e),this.setDomainMinMax(e),e}expandDomain(t){if(!this.expand)return;const e=t[0],i=t[t.length-1];J(this.expand.min)&&(t[0]=e-(i-e)*this.expand.min),J(this.expand.max)&&(t[t.length-1]=i+(i-e)*this.expand.max)}niceDomain(t){if(J(t[0])||J(t[1])||"linear"!==this.type)return t;if(Math.abs(Ht(t)-Pt(t))<=1e-12){let e=t[0];const i=e>=0?1:-1;if(e=Math.abs(e),e<1)t[0]=0,t[1]=1;else{let i=e/5;const r=Math.floor(Math.log(i)/Math.LN10),o=i/Math.pow(10,r);i=(o>=sF?10:o>=aF?5:o>=lF?2:1)*Math.pow(10,r),t[0]=0,t[1]=10*i}i<0&&(t.reverse(),t[0]*=-1,t[1]*=-1)}return t}niceMinMax(){if(this.nice){let t=this.forceTickCount??this.tickCount??10;"accurateFirst"===this.niceType&&(t=Math.max(10,t)),Z(this.domain?.min)&&Z(this.domain?.max)?this._scale.nice(t):J(this.domain?.min)&&Z(this.domain?.max)?this._scale.niceMax(t):Z(this.domain?.min)&&J(this.domain?.max)?this._scale.niceMin(t):this._scale.nice(t)}}includeZero(t){this.zero&&(t[0]=Math.min(t[0],0),t[t.length-1]=Math.max(t[t.length-1],0))}setExtendDomain(t,e){if(void 0===e)return void delete this._extend[t];this._extend[t]=e;const i=this._scale.domain();this.extendDomain(i),this.includeZero(i),this.setDomainMinMax(i),this.niceDomain(i),this._scale.domain(i,this.nice),this.niceMinMax()}extendDomain(t){let e;const i=t.length-1,r=t[0]-t[i]>0,o=r?i:0,n=r?0:i;for(const i in this._extend)e=this._extend[i],e>t[n]&&(t[n]=e),e<t[o]&&(t[o]=e)}setDomainMinMax(t){if(!this.domain)return;const{min:e,max:i}=this.domain;J(e)&&(t[0]=e),J(i)&&(t[1]=i)}setZero(t){this.zero!==t&&(this.zero=t,this.updateScaleDomain())}updateScaleDomain(){const t=this.computeDomain([this.domain]);this.updateScaleDomainByModel(t)}computeDomain(t){return this.computeLinearDomain(t)}updateScaleDomainByModel(t){t=t??this._scale.domain(),this.extendDomain(t),this.includeZero(t),this.setDomainMinMax(t),this.niceDomain(t),this._scale.domain(t,this.nice),this.niceMinMax()}updateRange(t){const[e,i]=this._scale.range();t[0]===e&&t[1]===i||this._scale.range(t)}}function cF(t,e){const i=e.option;ft(t)||i?.label?.flush&&function(t,e){const{width:i,height:r}=e.getLayoutRect(),o=dE(e.orient),n=!0===e.option.inverse,s=t[0],a=Mt(t);if(o)if(n){const t=i,e=0,r=s.AABBBounds.x2,o=a.AABBBounds.x1;r>t&&s.setAttributes({x:t,textAlign:"right"}),o<e&&a.setAttributes({x:e,textAlign:"left"})}else{const t=0,e=i,r=s.AABBBounds.x1,o=a.AABBBounds.x2;r<t&&s.setAttributes({x:t,textAlign:"left"}),o>e&&a.setAttributes({x:e,textAlign:"right"})}else if(n){const t=s.AABBBounds.y1,e=a.AABBBounds.y2,i=0,o=r;t<i&&s.setAttributes({y:i,textBaseline:"top"}),e>o&&a.setAttributes({y:o,textBaseline:"bottom"})}else{const t=r,e=0,i=s.AABBBounds.y2,o=a.AABBBounds.y1;i>t&&s.setAttributes({y:t,textBaseline:"bottom"}),o<e&&a.setAttributes({y:e,textBaseline:"top"})}}(t,e)}const dF=t=>t;class uF{width;height;x=0;y=0;table;option;orient;visible;type;inverse;data;tickData;scale;component;padding;constructor(t,e,i,r,o){if(this.padding=r,this.table=o,this.orient=t.orient??"left",this.type=t.type??"band",this.option=_t({},function(t){return t?.colorScheme?.default?.palette?_t({},qL,{tick:{style:{stroke:t.colorScheme.default.palette.axisDomainColor||"#D9DDE4"}},subTick:{style:{stroke:t.colorScheme.default.palette.axisDomainColor||"#D9DDE4"}},label:{style:{fill:t.colorScheme.default.palette.axisLabelFontColor||"#89909D"}},title:{style:{fill:t.colorScheme.default.palette.secondaryFontColor||"#333333"}}}):qL}(t.__vtableChartTheme),function(t,e){let i;"left"===t?i=e.axisStyle.leftAxisStyle:"right"===t?i=e.axisStyle.rightAxisStyle:"top"===t?i=e.axisStyle.topAxisStyle:"bottom"===t&&(i=e.axisStyle.bottomAxisStyle);return _t({},e.axisStyle.defaultAxisStyle,i)}(this.orient,o.theme),function(t,e,i){if(!i)return{};const r=i.axis;let o,n;"linear"===e||"log"===e||"symlog"===e?o=i.axisLinear:"band"===e&&(o=i.axisBand);"top"===t||"bottom"===t?n=i.axisX:"left"!==t&&"right"!==t||(n=i.axisY);return _t({},r,o,n)}(this.orient,this.type,t.__vtableChartTheme),t),"left"===this.orient||"right"===this.orient){const t=0,o=0;this.width=e,this.height=i-r[0]-r[2]-o,this.y=r[0]+t}else if("top"===this.orient||"bottom"===this.orient){const t=0,o=0;this.width=e-r[1]-r[3]-o,this.height=i,this.x=r[3]+t}this.visible=t.visible??!0,this.inverse="inverse"in t&&!!t.inverse,"band"===t.type&&(this.data=t.domain),this.initScale(),this.initData(),this.createComponent(),this.initEvent()}initScale(){const t=this.option;"band"===this.type||"point"===this.type?(this.scale=new nF,this.scale.bandPadding=t.bandPadding,this.scale.paddingInner=t.paddingInner,this.scale.paddingOuter=t.paddingOuter,this.scale.calcScales(.1,.3),this.scale.updateScaleDomain(this.data),this.updateScaleRange()):"linear"!==this.type&&"time"!==this.type&&"log"!==this.type&&"symlog"!==this.type||(this.scale=new hF(this.type),this.scale.setExtraAttrFromSpec(t.nice,t.zero,t.range,t.expand,t.base,t.constant),this.scale.transformScaleDomain(),this.scale.updateScaleDomain(),this.updateScaleRange())}initData(){var t,e,i;this.table._vDataSet||(this.table._vDataSet=new zL),function(t,e,i){t.getParser(e)||t.registerParser(e,i)}(this.table._vDataSet,"scale",dF),t=this.table._vDataSet,e="ticks",i=fC,t.getTransform(e)||t.registerTransform(e,i);const r=this.option.label||{},o=this.option.tick||{},n=new DL(this.table._vDataSet).parse(this.scale._scale,{type:"scale"}).transform({type:"ticks",options:{sampling:!1!==this.option.sampling,tickCount:o.tickCount,forceTickCount:o.forceTickCount,tickStep:o.tickStep,tickMode:o.tickMode,noDecimals:o.noDecimals,axisOrientType:this.orient,coordinateType:"cartesian",labelStyle:r.style,labelFormatter:r.formatMethod,labelGap:r.minGap,labelLastVisible:r.lastVisible,labelFlush:r.flush}},!1);this.tickData=n,this.computeData()}computeData(){this.tickData.reRunAllTransform()}initEvent(){}createComponent(){const t=ZL(this.option),e=this.getUpdateAttribute();e.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component=new ky(_t({disableTriggerEvent:this.table.options.disableInteraction},t,e)),this.component.setAttributes(this.setLayoutStartPosition({x:this.x,y:this.y})),this.component.originAxis=this}resize(t,e){this.width=t-("top"===this.orient||"bottom"===this.orient?this.padding[1]+this.padding[3]:0),this.height=e-("left"===this.orient||"right"===this.orient?this.padding[2]+this.padding[0]:0),this.updateScaleRange(),this.computeData();const i=ZL(this.option),r=this.getUpdateAttribute();r.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component.setAttributes(_t({},i,r)),this.component.setAttributes(this.setLayoutStartPosition({x:this.x,y:this.y})),this.overlap()}overlap(){!function(t,e){const i=t.find((t=>"axis-label-container-layer-0"===t.name),!0),r=t.find((t=>"axis-label-container-layer-1"===t.name),!0);cF(i?i.getChildren():[],e),cF(r?r.getChildren():[],e)}(this.component,this)}getLayoutRect(){return{width:this.width,height:this.height}}getUpdateAttribute(){this.table.tableNoFrameHeight,this.table.tableNoFrameWidth;const{width:t,height:e}=this.getLayoutRect(),i=dE(this.orient),r="left"===(o=this.orient)||"right"===o;var o;let n={x:0,y:0},s=0;i?(n={x:t,y:0},s=t):r&&(n={x:0,y:e},s=e);const a="top"===this.orient||"bottom"===this.orient?e:t;return{start:{x:0,y:0},end:n,title:{text:this.option.title.text,maxWidth:this._getTitleLimit(i)},items:this.getLabelItems(s),verticalLimitSize:a,verticalMinSize:a}}getLabelItems(t){return[this.tickData.latestData.map((e=>({id:e.value,label:e.value,value:0===t?0:this.scale.dataToPosition([e.value])/t,rawValue:e.value}))).filter((t=>t.value>=0&&t.value<=1))]}updateScaleRange(){const t=this.option.innerOffset?.right??0,e=this.option.innerOffset?.left??0,i=this.option.innerOffset?.top??0,r=this.option.innerOffset?.bottom??0,{width:o,height:n}=this.getLayoutRect(),s=this.option.inverse||!1;let a=[0,0];dE(this.orient)?lt(o)&&(a=s?[o-t,e]:[e,o-t]):lt(n)&&(a=s?[i,n-r]:[n-r,i]),this.scale.updateRange(a)}setLayoutStartPosition(t){let{x:e,y:i}=t;return lt(e)&&(e+=Number("left"===this.orient)*this.getLayoutRect().width),lt(i)&&(i+=Number("top"===this.orient)*this.getLayoutRect().height),{x:e,y:i}}_getTitleLimit(t){if(this.option.title.visible&&Z(this.option.title.style?.maxLineWidth)){let e=this.option.title.style?.angle||0;if(this.option.title?.autoRotate&&Z(this.option.title.angle)&&(e="left"===this.option.orient?-90:90),t){const t=this.getLayoutRect().width,i=Math.abs(Math.cos(ue(e)));return i<1e-6?1/0:t/i}const i=this.getLayoutRect().height,r=Math.abs(Math.sin(ue(e)));return r<1e-6?1/0:i/r}return null}getScale(){return this.scale._scale}getDomainSpec(){return this.scale.domain}}function gF(t,e){const i=_t({},qL,t);let r=0;!1!==i.tick.visible&&(r=i.tick.width??4);let o=0;if(i.label.visible){if("band"===i.type){i.domain.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).width)}))}else{let r;if(t.sync?.tickAlign&&q(t.tick?.tickMode))r=t.tick.tickMode();else if(ot(t.__ticksForVTable))r=t.__ticksForVTable;else{const t=i.range,e=Math.abs(t.min)>1?Math.round(t.min):t.min,o=Math.abs(t.max)>1?Math.round(t.max):t.max;r=[fF(e),fF(o)]}r.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).width)}))}o+=i.label.space??4}let n=0;if(i.title.visible&&rt(i.title.text)){const{width:r,height:o}=e.measureText(i.title.text,{fontSize:i.title?.style?.fontSize??$L,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=mF(Math.min(r,s),o,i.title?.style?.angle);n="left"!==t.orient&&"right"!==t.orient||!i.title.autoRotate?a.width:a.height,n+=i.title.space??4}return Math.ceil(r+o+n+1)}function pF(t,e){const i=_t({},qL,t);let r=0;!1!==i.tick.visible&&(r=i.tick.width??4);let o=0;if(i.label.visible){if("band"===i.type){i.domain.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).height)}))}else{let r;if(t.sync?.tickAlign&&q(t.tick?.tickMode))r=t.tick.tickMode();else if(ot(t.__ticksForVTable))r=t.__ticksForVTable;else{const t=i.range,e=Math.abs(t.min)>1?Math.round(t.min):t.min,o=Math.abs(t.max)>1?Math.round(t.max):t.max;r=[fF(e),fF(o)]}r.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).height)}))}o+=i.label.space??4}let n=0;if(i.title.visible&&i.title.text){const{width:r,height:o}=e.measureText(i.title.text,{fontSize:i.title?.style?.fontSize??$L,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=mF(Math.min(r,s),o,i.title?.style?.angle);n="bottom"!==t.orient&&"top"!==t.orient||!i.title.autoRotate?a.height:a.width,n+=i.title.space??4}return r+o+n+1}function fF(t){return"number"!=typeof t&&(t=Number(t)),Number(t.toPrecision(1)).toString()}function mF(t,e,i=0){const r=i*Math.PI/180,o=-t/2,n=-e/2,s=t/2,a=-e/2,l=t/2,h=e/2,c=-t/2,d=e/2,u={x:o*Math.cos(r)-n*Math.sin(r),y:o*Math.sin(r)+n*Math.cos(r)},g={x:s*Math.cos(r)-a*Math.sin(r),y:s*Math.sin(r)+a*Math.cos(r)},p={x:l*Math.cos(r)-h*Math.sin(r),y:l*Math.sin(r)+h*Math.cos(r)},f={x:c*Math.cos(r)-d*Math.sin(r),y:c*Math.sin(r)+d*Math.cos(r)},m=Math.min(u.x,g.x,p.x,f.x),b=Math.max(u.x,g.x,p.x,f.x),y=Math.min(u.y,g.y,p.y,f.y);return{width:b-m,height:Math.max(u.y,g.y,p.y,f.y)-y}}class bF{table;_emptyTipOption={spaceBetweenTextAndIcon:20,text:"no data",textStyle:{fontSize:14,color:"#000"},icon:{image:'<svg t="1716726614852" class="icon" viewBox="0 0 1194 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2621" width="200" height="200"><path d="M1038.694079 367.237067c13.265507 23.342857-16.633865-40.004445-63.05621-40.004446H219.018794c-26.558738 0-46.46393 13.334815-63.05621 40.004446S0.006238 607.277601 0.006238 650.608819V940.647979a82.351494 82.351494 0 0 0 82.961402 83.349526H1111.702885a82.337632 82.337632 0 0 0 82.975264-83.349526V650.608819c0-43.331218-155.970208-283.371753-155.970208-283.371752zM730.066575 667.284269a136.328386 136.328386 0 0 1-132.738243 133.33429 133.417459 133.417459 0 0 1-132.738243-133.33429v-6.681269a40.6698 40.6698 0 0 0-36.497473-26.66963H73.015044l119.458874-220.02445s23.231965-40.004445 53.103614-40.004446h713.481918c26.544876 0 29.871649 10.008042 46.436207 40.004446L1128.33675 633.947231H769.904682c-26.184476 0-39.838107 7.623855-39.838107 33.337038zM338.505391 210.559919l-89.601086-86.69016a22.178487 22.178487 0 0 1 0-33.26773 21.984425 21.984425 0 0 1 33.170699 0l89.601087 86.676299a22.317102 22.317102 0 0 1 0 33.26773 24.950798 24.950798 0 0 1-33.1707 0z m252.197118-40.059891a25.532983 25.532983 0 0 1-6.639685-16.633865l-3.326773-126.694606A28.263709 28.263709 0 0 1 603.995739 0.515788c13.251646-3.326773 23.204242 10.021904 26.544877 23.342858V153.866163a28.249847 28.249847 0 0 1-23.259688 26.66963c-6.611961-3.312911-13.279369-3.312911-16.578419-10.035765z m235.646421 33.337038a22.372548 22.372548 0 0 1 0-33.337038l86.288175-90.030795a22.039871 22.039871 0 0 1 33.170699 0 22.289379 22.289379 0 0 1 0 33.364761l-82.961401 90.003072a25.962691 25.962691 0 0 1-36.483611 0z" fill="#8a8a8a" p-id="2622"></path></svg>',width:100,height:100}};isReleased=!1;_emptyTipComponent;_cacheAttrs;constructor(t,e){this.table=e,this._emptyTipOption=Object.assign(this._emptyTipOption,!0===t?{}:t),J(this._emptyTipOption.displayMode)||(this.table.isListTable()?this._emptyTipOption.displayMode="basedOnTable":this._emptyTipOption.displayMode="basedOnContainer"),this._emptyTipComponent=this._createOrUpdateEmptyTipComponent(this._getEmptyTipAttrs())}_createOrUpdateEmptyTipComponent(t){if(this._emptyTipComponent)Rt(t,this._cacheAttrs)||this._emptyTipComponent.setAttributes(t);else{const e=new NC(t);e.name="emptyTip",this.table.scenegraph.stage.defaultLayer.appendChild(e),this._emptyTipComponent=e,this.bindEvents()}return this._emptyTipComponent}bindEvents(){this._emptyTipComponent.on("click",(t=>{const e=new Pe;this._emptyTipComponent.forEachChildren((t=>{e.union(t.globalAABBBounds)})),e.contains(t.x,t.y)&&this.table.fireListeners("empty_tip_click",t)})),this._emptyTipComponent.on("dblclick",(t=>{const e=new Pe;this._emptyTipComponent.forEachChildren((t=>{e.union(t.globalAABBBounds)})),e.contains(t.x,t.y)&&this.table.fireListeners("empty_tip_dblclick",t)}))}resize(){if(!this._emptyTipComponent)return;const{leftHeaderWidth:t,topHeaderHeight:e,width:i,height:r}=this.getWidthAndHeight();this._emptyTipComponent.setAttributes({spaceBetweenTextAndIcon:this._emptyTipOption.spaceBetweenTextAndIcon,x:this.table.tableX+t,y:this.table.tableY+e,width:i,height:r,text:{text:this._emptyTipOption.text,...this._emptyTipOption.textStyle,fill:this._emptyTipOption.textStyle?.color},icon:{...this._emptyTipOption.icon}})}release(){this._emptyTipComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent),this._emptyTipComponent=null,this.isReleased=!0}resetVisible(){(this.table.recordsCount&&0!==this.table.recordsCount||this.table.internalProps.layoutMap.rowCount!==this.table.internalProps.layoutMap.columnHeaderLevelCount)&&this.table.internalProps.layoutMap.colCount!==this.table.internalProps.layoutMap.rowHeaderLevelCount?this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)&&this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent):this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)||this.table.scenegraph.stage.defaultLayer.appendChild(this._emptyTipComponent)}getWidthAndHeight(){const t=this.table.transpose||!1===this.table.options.indicatorsAsCol?this.table.getFrozenColsWidth():0,e=!this.table.transpose||this.table.options.indicatorsAsCol?this.table.getFrozenRowsHeight():0;return{leftHeaderWidth:t,topHeaderHeight:e,width:("basedOnContainer"!==this._emptyTipOption.displayMode&&this.table.columnHeaderLevelCount>0&&this.table.colCount>this.table.rowHeaderLevelCount?this.table.getDrawRange().width:this.table.tableNoFrameWidth)-t-this.table.getTheme().scrollStyle.width,height:("basedOnContainer"!==this._emptyTipOption.displayMode&&this.table.rowHeaderLevelCount>0&&this.table.rowCount>this.table.columnHeaderLevelCount?this.table.getDrawRange().height:this.table.tableNoFrameHeight)-e-this.table.getTheme().scrollStyle.width}}_getEmptyTipAttrs(){const{leftHeaderWidth:t,topHeaderHeight:e,width:i,height:r}=this.getWidthAndHeight();return{spaceBetweenTextAndIcon:this._emptyTipOption.spaceBetweenTextAndIcon,x:this.table.tableX+t,y:this.table.tableY+e,width:i,height:r,text:{text:this._emptyTipOption.text,...this._emptyTipOption.textStyle,fill:this._emptyTipOption.textStyle?.color},icon:{...this._emptyTipOption.icon}}}}const yF={orient:"bottom",position:"middle",padding:30,title:{visible:!1,padding:0,textStyle:{fontSize:14,fill:"#000000",fontWeight:"normal"},space:12},item:{visible:!0,spaceCol:10,spaceRow:10,padding:2,background:{state:{selectedHover:{fill:"gray",fillOpacity:.7},unSelectedHover:{fill:"gray",fillOpacity:.2}}},shape:{space:4,state:{unSelected:{fillOpacity:.5}}},label:{space:4,style:{fill:"#89909D",fontSize:14},state:{unSelected:{fillOpacity:.5}}}},allowAllCanceled:!0,visible:!0};class CF{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Ct(t),this.orient=t.orient??"left",this.visible=t.visible??!0,this.position=t.position??"middle",this.selectedData=t.defaultSelected??null,this.createComponent(),this.initEvent()}createComponent(){const t=this.getLegendAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight}),e=new PC(_t({},t,{defaultSelected:this.selectedData,disableTriggerEvent:this.table.options.disableInteraction}));e.name="legend",this.legendComponent=e,!1===this.visible&&(e.setAttributes({visible:!1,visibleAll:!1}),e.hideAll()),this.table.scenegraph.stage.defaultLayer.appendChild(e),this.adjustTableSize(t)}resize(){this.legendComponent&&!1!==this.visible&&(this.legendComponent.setAttributes({maxWidth:this.table.tableNoFrameWidth,maxHeight:this.table.tableNoFrameHeight}),this.adjustTableSize(this.legendComponent.attribute))}adjustTableSize(t){if(!this.legendComponent||!1===this.visible)return;let e=isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,i=isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0;if(e<=0||i<=0)return;const r=this.table.tableNoFrameWidth,o=this.table.tableNoFrameHeight,n=tA(t.padding??this.option.padding??10);let s=0,a=0;"left"===this.orient?(s=n[3],a=0,e+=n[1]+n[3]):"top"===this.orient?(s=0,a=n[0],i+=n[0]+n[2]):"right"===this.orient?(s=r-e-n[1],a=0,e+=n[1]+n[3]):"bottom"===this.orient&&(s=0,a=o-i-n[2],i+=n[0]+n[2]);const l="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",h=this.position;let c=0,d=0;"horizontal"===l?c="middle"===h?(r-e)/2:"end"===h?r-e-n[1]:n[3]:d="middle"===h?(o-i)/2:"end"===h?o-i-n[2]:n[0],this.legendComponent.setAttributes({dx:c,dy:d,x:s,y:a}),"left"===this.orient?(this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e),this.table.tableX+=Math.ceil(e)):"top"===this.orient?(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i),this.table.tableY+=Math.ceil(i)):"right"===this.orient?this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e):"bottom"===this.orient&&(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i))}getLegendAttributes(t){const e="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",i=function(t,e){const{title:i={},item:r={},pager:o={},background:n={},type:s,id:a,visible:l,orient:h,position:c,data:d,filter:u,regionId:g,regionIndex:p,seriesIndex:f,seriesId:m,padding:b,...y}=_t({},yF,t),C=y;return i.visible&&(C.title=NL(i)),ft(r.focusIconStyle)||GL(r.focusIconStyle),VL(r.shape),VL(r.label),VL(r.value),VL(r.background),kA(r.maxWidth)&&(r.maxWidth=Number(r.maxWidth.substring(0,r.maxWidth.length-1))*e.width/100),kA(r.width)&&(r.width=Number(r.width.substring(0,r.width.length-1))*e.width/100),kA(r.height)&&(r.height=Number(r.height.substring(0,r.height.length-1))*e.width/100),C.item=r,ft(o.textStyle)||GL(o.textStyle),VL(o.handler),C.pager=o,n.visible&&!ft(n.style)&&(_t(C,n.style),J(n.padding)&&(C.padding=n.padding)),C}(this.option,t),r=tA(i.padding??this.option.padding??10);return{layout:e,items:this.getLegendItems(),maxWidth:t.width-r[1]-r[3],maxHeight:t.height-r[0]-r[2],...i}}getLegendItems(){return this.option.data}initEvent(){this.legendComponent&&(this.legendComponent.addEventListener(_C.legendItemClick,(t=>{const e=mt(t,"detail.currentSelected");this.table.fireListeners(_v.LEGEND_ITEM_CLICK,{model:this,value:e,event:t})})),this.legendComponent.addEventListener(_C.legendItemHover,(t=>{const e=mt(t,"detail");this.table.fireListeners(_v.LEGEND_ITEM_HOVER,{model:this,value:e,event:t})})),this.legendComponent.addEventListener(_C.legendItemUnHover,(t=>{const e=mt(t,"detail");this.table.fireListeners(_v.LEGEND_ITEM_UNHOVER,{model:this,value:e,event:t})})),this.legendComponent.addEventListener("legendItemAttributeUpdate",(t=>{this.table.scenegraph.updateNextFrame()})))}getLegendBounds(){return{width:isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,height:isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0}}release(){this.legendComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this.legendComponent),this.legendComponent=null}}const wF={orient:"right",position:"middle",padding:30,title:{visible:!1,padding:0,textStyle:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"titleFontColor"}},space:12},handler:{visible:!0},startText:{style:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"labelFontColor"}}},endText:{style:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"labelFontColor"}}},handlerText:{style:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"labelFontColor"}}}},vF={horizontal:{...wF,rail:{width:200,height:8,style:{fill:"rgba(0,0,0,0.04)"}}},vertical:{...wF,rail:{width:8,height:200,style:{fill:"rgba(0,0,0,0.04)"}}}},xF={horizontal:{sizeBackground:{fill:"#cdcdcd"},track:{style:{fill:"rgba(20,20,20,0.1)"}},rail:{width:200,height:4,style:{fill:"rgba(0,0,0,0.04)"}},...wF},vertical:{sizeBackground:{fill:"#cdcdcd"},track:{style:{fill:"rgba(20,20,20,0.1)"}},rail:{width:4,height:200,style:{fill:"rgba(0,0,0,0.04)"}},...wF}};function _F(t,e){const{title:i={},handler:r={},rail:o={},track:n={},startText:s,endText:a,handlerText:l,sizeBackground:h,background:c={},type:d,id:u,visible:g,orient:p,position:f,data:m,defaultSelected:b,field:y,filter:C,regionId:w,regionIndex:v,seriesIndex:x,seriesId:_,padding:S,...A}=_t({},("color"===t.type?vF:xF)["bottom"===t.orient||"top"===t.orient?"horizontal":"vertical"],t),R=A;return i.visible&&(R.title=NL(i)),R.showHandler=!1!==r.visible,ft(r.style)||(R.handlerStyle=GL(r.style)),J(o.width)&&(R.railWidth=o.width),J(o.height)&&(R.railHeight=o.height),ft(o.style)||(R.railStyle=GL(o.style)),ft(n.style)||(R.trackStyle=GL(n.style)),R.startText=VL(s),R.endText=VL(a),R.handlerText=VL(l),ft(h)||(R.sizeBackground=GL(h)),c.visible&&!ft(c.style)&&(_t(R,c.style),J(c.padding)&&(R.padding=c.padding)),R}class SF{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Ct(t),this.orient=t.orient??"left",this.visible=t.visible??!0,this.position=t.position??"middle",this.selectedData=t.defaultSelected??null,this.createComponent(),this.initEvent()}createComponent(){const t=this.getLegendAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight});let e;e="color"===this.option.type?new FC(_t({},t,{slidable:!0})):new zC(_t({},t,{slidable:!0})),e.name="legend",this.legendComponent=e,!1===this.visible&&(e.setAttributes({visible:!1,visibleAll:!1}),e.hideAll()),this.table.scenegraph.stage.defaultLayer.appendChild(e),this.adjustTableSize(t)}resize(){this.legendComponent&&!1!==this.visible&&(this.legendComponent.setAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight}),this.adjustTableSize(this.legendComponent.attribute))}adjustTableSize(t){if(!this.legendComponent||!1===this.visible)return;let e=isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,i=isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0;if(e<=0||i<=0)return;const r=this.table.tableNoFrameWidth,o=this.table.tableNoFrameHeight,n=tA(t.padding??this.option.padding??10);let s=0,a=0;"left"===this.orient?(s=n[3],a=0,e+=n[1]+n[3]):"top"===this.orient?(s=0,a=n[0],i+=n[0]+n[2]):"right"===this.orient?(s=r-e-n[1],a=0,e+=n[1]+n[3]):"bottom"===this.orient&&(s=0,a=o-i-n[2],i+=n[0]+n[2]);const l="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",h=this.position;let c=0,d=0;"horizontal"===l?c="middle"===h?(r-e)/2:"end"===h?r-e-n[1]:n[3]:d="middle"===h?(o-i)/2:"end"===h?o-i-n[2]:n[0],this.legendComponent.setAttributes({dx:c,dy:d,x:s,y:a}),"left"===this.orient?(this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e),this.table.tableX+=Math.ceil(e)):"top"===this.orient?(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i),this.table.tableY+=Math.ceil(i)):"right"===this.orient?this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e):"bottom"===this.orient&&(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i))}getLegendAttributes(t){const e="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",i="horizontal"===e?"bottom":this.orient;return{..._F(this.option),layout:e,align:i,min:this.option.min,max:this.option.max,value:this.option.value,["color"===this.option.type?"colors":"sizeRange"]:"color"===this.option.type?this.option.colors:this.option.sizeRange}}initEvent(){this.legendComponent&&this.legendComponent.addEventListener("change",(t=>{const e=mt(t,"detail.value");this.table.fireListeners(_v.LEGEND_CHANGE,{model:this,value:e,event:t}),this.table.scenegraph.updateNextFrame()}))}getLegendBounds(){return{width:isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,height:isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0}}release(){this.legendComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this.legendComponent),this.legendComponent=null}}function AF(t,e){return"color"===t.type||"size"===t.type?new SF(t,e):new CF(t,e)}class RF{_table;_menuElement;constructor(t){this._table=t}release(){this.unbindMenuElement(),this._menuElement&&this._menuElement.release(),this._menuElement=void 0}_getMenuElement(){return this._menuElement||(this._menuElement=this.createMenuElementInternal()),this._menuElement}bindMenuElement(t,e,i){return this._getMenuElement().bindToCell(this._table,t,e,i)}unbindMenuElement(){this._getMenuElement().unbindFromCell()}pointInMenuElement(t,e){return this._getMenuElement().pointInMenuElement(t,e)}getRootElement(){return this._getMenuElement().rootElement}}const TF="vtable__menu-element",BF=`${TF}--hidden`,MF=`${TF}--shown`;class PF{_handler;_rootElement;_menuInstanceInfo;constructor(t){this._handler=new Bv,this._rootElement=aH("div",[TF,BF]),this._rootElement.addEventListener("wheel",(t=>{t.stopPropagation()})),this._rootElement?.addEventListener("mousedown",(t=>{t.stopPropagation(),t.preventDefault()})),this._rootElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._rootElement.classList.contains(BF))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r),h=t._dropDownMenuIsHighlight(i,r,o);t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(BF)||t.stopPropagation()}))}get rootElement(){return this._rootElement}release(){this.unbindFromCell();const t=this._rootElement;t?.parentElement&&t.parentElement.removeChild(t),this._handler.release(),delete this._rootElement}bindToCell(t,e,i,r){const o=this._rootElement;if(this._menuInstanceInfo=r,o?.classList.remove(MF),o?.classList.add(BF),this._canBindToCell(t,e,i)){o.innerHTML="",o.appendChild(r.content);if(this._bindCell(t,e,i,r.position,r.referencePosition))return o?.classList.add(MF),o?.classList.remove(BF),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(MF),t.classList.add(BF))}_canBindToCell(t,e,i){const r=t.getCellRangeRelativeRect({col:e,row:i}),o=t.internalProps.menu.parentElement??t.getElement(),{top:n,bottom:s,left:a,right:l}=r;if(t.isFrozenCell(e,i))return!0;if(s<t.getFrozenRowsHeight()||l<t.getFrozenColsWidth()||a>t.tableNoFrameWidth-t.getRightFrozenColsWidth()||n>t.tableNoFrameHeight-t.getBottomFrozenRowsHeight())return!1;const{offsetHeight:h,offsetWidth:c}=o;return!(h<n)&&!(c<a)}_bindCell(t,e,i,r,o){const n=this._rootElement,s=t.internalProps.menu.parentElement??t.getElement(),{width:a,height:l,left:h,top:c}=s.getBoundingClientRect();if(n){n.parentElement!==s&&s.appendChild(n),n.style.left="0px";const e=.8*a;n.style.maxWidth=`${e}px`;const i=n.clientWidth,d=n.clientHeight;let u,g;r&&(u=r.x,g=r.y),o&&(u=o.rect.right-i,g=o.rect.bottom),g+d>l&&(g=l-d,u+=i-2),g<0&&(g/=2);let p=0,f=0;if(t.getElement()!==s){const{left:e,top:i}=t.getElement().getBoundingClientRect();p=i-c,f=e-h}return n.style.top=`${g+p}px`,u<0?u=0:u+i>a&&(u=a-i),n.style.left=`${u+f}px`,!0}return!1}pointInMenuElement(t,e){const i=this._rootElement,{x:r,y:o,width:n,height:s}=i.getBoundingClientRect();return t>r-5&&t<r+n+5&&e>o-5&&e<o+s+5}}class HF extends RF{createMenuElementInternal(){return new _H(this._table)}}let kF=class extends RF{createMenuElementInternal(){return new PF(this._table)}};const LF={"dropdown-menu":function(t){return new HF(t)},"context-menu":function(t){return new HF(t)},container:t=>new kF(t)};class EF{_table;_menuInstances;_attachInfo;constructor(t){this._table=t,this._menuInstances={},this._bindTableEvent(t)}release(){const t=this._menuInstances;for(const e in t)t[e].release();delete this._menuInstances,this._attachInfo=null}_bindToCell(t,e,i,r){const o=this._attachInfo,n=this._getMenuInstanceInfo(t,e,i,r);if(!o||n&&o.instance===n.instance||(o.instance?.unbindMenuElement(),this._attachInfo=null),!n)return;const{instance:s,info:a}=n;if(s&&s.bindMenuElement(t,e,a)){const i=this._table.getCellRange(t,e);this._attachInfo={range:i,instance:s}}}_unbindFromCell(){const t=this._attachInfo;if(!t)return;const{instance:e}=t;e?.unbindMenuElement(),this._attachInfo=null}_isBindToCell(t,e){const i=this._attachInfo;return!!i&&pv(i.range,t,e)}pointInMenuElement(t,e){if(!this._attachInfo)return!1;const i=this._attachInfo,{instance:r}=i;return r.pointInMenuElement(t,e)}_bindTableEvent(t){t.on(_v.DROPDOWN_ICON_CLICK,(t=>{this._attachInfo&&this._isBindToCell(t.col,t.row)?this._unbindFromCell():this._bindToCell(t.col,t.row,"dropdown-menu")})),t.on(_v.DROPDOWN_MENU_CLEAR,(t=>{this._unbindFromCell()})),t.on(_v.CONTEXTMENU_CELL,(e=>{if("html"===t.internalProps.menu?.renderMode){const i=t._getMouseAbstractPoint(e.event,!1);let r=null;i.inTable&&"function"==typeof t.internalProps.menu?.contextMenuItems?r=t.internalProps.menu.contextMenuItems(t.getHeaderField(e.col,e.row),e.row,e.col,t):i.inTable&&Array.isArray(t.internalProps.menu?.contextMenuItems)&&(r=t.internalProps.menu?.contextMenuItems),this._bindToCell(e.col,e.row,"context-menu",{content:r,position:{x:i.x,y:i.y}})}}))}_getMenuInstanceInfo(t,e,i,r){const o=this._table,n=this._menuInstances,s=function(t,e,i,r,o){const{lineHeight:n,textBaseline:s,textStick:a}=t._getCellStyle(e,i);let l=t.getCellRangeRelativeRect(t.getCellRange(e,i));a&&(l=t.getVisibleCellRangeRelativeRect({col:e,row:i}));let{left:h,right:c,bottom:d,top:u,width:g,height:p}=l;if(t.isHeader(e,i)&&({left:h,right:c,bottom:d,top:u,width:g,height:p}=t.internalProps.headerHelper.getDropDownIconRect(l,n,s||"middle")),o?.content)return{type:r,position:o.position,referencePosition:o.referencePosition??{rect:{left:h,right:c,top:u,bottom:d,width:g,height:p}},content:o.content};if("dropdown-menu"===r){let o=t.globalDropDownMenu;const n=t._getHeaderLayoutMap(e,i);o=n.dropDownMenu??o;const s=n.pivotInfo;return"function"==typeof o&&(o=o({row:i,col:e,table:t})),{type:r,referencePosition:{rect:{left:h,right:c,top:u,bottom:d,width:g,height:p}},content:o,pivotInfo:s}}return null}(o,t,e,i,r);if(!s)return null;return{instance:n&&n[i]||n&&(n[i]=LF[i](o)),type:i,info:s}}containElement(t){for(const e in this._menuInstances){const i=this._menuInstances[e].getRootElement()?.contains(t);if(i)return!0}return!1}}class FF{table;_titleOption;isReleased=!1;_titleComponent;_cacheAttrs;constructor(t,e){this.table=e,this._titleOption=_t({orient:"top"},t),!1!==t.visible&&(this._titleComponent=this._createOrUpdateTitleComponent(this._getTitleAttrs()))}_createOrUpdateTitleComponent(t){if(this._titleComponent)Rt(t,this._cacheAttrs)||this._titleComponent.setAttributes(t);else{const e=new OC(t);e.name="title",this.table.scenegraph.stage.defaultLayer.appendChild(e),this._titleComponent=e}return this._adjustTableSize(this._titleComponent.attribute),this._titleComponent}resize(){if(!this._titleComponent)return;const t=tA(this._titleOption.padding??10),e=this._titleOption.width??("adaptive"===this.table.widthMode?this.table.tableNoFrameWidth:Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width))-t[1]-t[3],i=this._titleOption.height??("adaptive"===this.table.heightMode?this.table.tableNoFrameHeight:Math.min(this.table.tableNoFrameHeight,this.table.getDrawRange().height))-t[0]-t[2];this._titleComponent.setAttributes({x:this._titleOption.x??"right"===this._titleOption.orient?this.table.tableX+Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width):this.table.tableX,y:this._titleOption.y??"bottom"===this._titleOption.orient?this.table.tableY+this.table.tableNoFrameHeight:this.table.tableY,width:"top"===this._titleOption.orient||"bottom"===this._titleOption.orient?e:this._titleOption.width,height:"left"===this._titleOption.orient||"right"===this._titleOption.orient?i:this._titleOption.height,textStyle:{width:e,...this._titleOption.textStyle},subtextStyle:{width:e,...this._titleOption.subtextStyle}}),this._adjustTableSize(this._titleComponent.attribute)}_adjustTableSize(t){const e=isFinite(this._titleComponent?.AABBBounds.width())?this._titleComponent.AABBBounds.width():0,i=isFinite(this._titleComponent?.AABBBounds.height())?this._titleComponent.AABBBounds.height():0;"left"===this._titleOption.orient?(this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e),this.table.tableX+=Math.ceil(e)):"top"===this._titleOption.orient?(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i),this.table.tableY+=Math.ceil(i)):"right"===this._titleOption.orient?this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e):"bottom"===this._titleOption.orient&&(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i)),this._cacheAttrs=t,"right"!==this._titleOption.orient&&"bottom"!==this._titleOption.orient||this._titleComponent.setAttributes({x:this._titleOption.x??"right"===this._titleOption.orient?this.table.tableX+this.table.tableNoFrameWidth:this.table.tableX,y:this._titleOption.y??"bottom"===this._titleOption.orient?this.table.tableY+this.table.tableNoFrameHeight:this.table.tableY})}release(){this._titleComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this._titleComponent),this._titleComponent=null,this.isReleased=!0}_getTitleAttrs(){const t=this._titleOption.text||this._titleOption.subtext?10:0,e=tA(this._titleOption.padding??t),i=this._titleOption.width??Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width)-e[1]-e[3],r=this._titleOption.height??Math.min(this.table.tableNoFrameHeight,this.table.getDrawRange().height)-e[0]-e[2];return{text:this._titleOption.text??"",subtext:this._titleOption.subtext??"",x:this._titleOption.x??"right"===this._titleOption.orient?this.table.tableX+Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width):this.table.tableX,y:this._titleOption.y??"bottom"===this._titleOption.orient?this.table.tableY+this.table.tableNoFrameHeight:this.table.tableY,width:"top"===this._titleOption.orient||"bottom"===this._titleOption.orient?i:this._titleOption.width,height:"left"===this._titleOption.orient||"right"===this._titleOption.orient?r:this._titleOption.height,minWidth:this._titleOption.minWidth,maxWidth:this._titleOption.maxWidth,minHeight:this._titleOption.minHeight,maxHeight:this._titleOption.maxHeight,padding:this._titleOption.padding,align:this._titleOption.align??"left",verticalAlign:this._titleOption.verticalAlign??"top",textStyle:{width:i,...this._titleOption.textStyle},subtextStyle:{width:i,...this._titleOption.subtextStyle},dx:this._titleOption.dx??0,dy:this._titleOption.dy??0}}getComponentGraphic(){return this._titleComponent}}class IF{_table;_tooltipElement;constructor(t){this._table=t}release(){this.unbindTooltipElement(),this._tooltipElement&&this._tooltipElement.release?.(),this._tooltipElement=void 0}_getTooltipElement(){return this._tooltipElement||(this._tooltipElement=this.createTooltipElementInternal()),this._tooltipElement}bindTooltipElement(t,e,i,r){return this._getTooltipElement().bindToCell(this._table,t,e,i,r)}moveTooltipElement(t,e,i,r){this._getTooltipElement().move(this._table,t,e,i,r)}unbindTooltipElement(){this._getTooltipElement().unbindFromCell()}locateTooltipElement(t,e,i,r,o){this._getTooltipElement()._locate(this._table,t,e,i,r,o)}}!function(){if("node"===Ew.mode)return;const t=document.createElement("style");t.id="vtable-tooltip-styleSheet",t.textContent="\n@keyframes vtable__bubble-tooltip-element--shown-animation {\n\t0% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n.vtable__bubble-tooltip-element {\n\tposition: absolute;\n\t\n\t// pointer-events: none;\n\t//user-select: none;\n\tmax-width: 300px;\n\tz-index: 99999;\n\n\tbackground: #FFFFFF;\n border: 1px solid #E6E8ED;\n box-sizing: border-box;\n border-radius: 4px;\n box-shadow: 0px 2px 4px rgb(27 31 35 / 8%);\n color: #141414;\n font-size: 13px;\n}\n.vtable__bubble-tooltip-element--hidden {\n\topacity: 0;\n pointer-events: none;\n\tuser-select: none;\n\t/* transform: translate(-50%, -50%); */\n\ttransition: opacity 75ms linear;\n}\n.vtable__bubble-tooltip-element--shown {\n\topacity: 1;\n\t/* transform: translate(-50%, -50%); */\n\tanimation: vtable__bubble-tooltip-element--shown-animation 150ms ease-out;\n}\n.vtable__bubble-tooltip-element__content {\n\t/* font-size: .75rem; */\n\tpadding: 6px 8px;\n\tmin-height: 1em;\n\tline-height: 1.5;\n\twidth: 100%;\n\tdisplay: block;\n\twhite-space: pre-wrap;\n\tmargin: 0;\n\tbox-sizing: border-box;\n\toverflow: auto;\n\tword-wrap: break-word;\n\tposition: relative;\n\tbackground-color: #FFF;\n\tz-index: 2;\n\tborder-radius: 4px;\n}\n/* WebKit Microsoft Edge(新版): */\n.vtable__bubble-tooltip-element__content::-webkit-scrollbar {\n width: 0;\n height: 0;\n background-color: transparent;\n}\n/* Opera Firefox */\n.vtable__bubble-tooltip-element__content > scrollbar-track {\n width: 0;\n height: 0;\n background-color: transparent;\n}\n/* Internet Explorer 11 和 Microsoft Edge(旧版) */\n.vtable__bubble-tooltip-element__content > scrollbar {\n width: 0;\n height: 0;\n background-color: transparent;\n}\n.vtable__bubble-tooltip-element__triangle {\n\t/* font-size: .75rem; */\n\tposition: absolute;\n\twidth: 10px;\n\theight: 10px;\n\tdisplay: block;\n\ttransform: rotate(45deg);\n transform-origin: 50% 50% 0;\n\tz-index: 1;\n\tbackground-color: #FFF;\n\tborder: 1px solid #E6E8ED;\n}\n",document.head.appendChild(t)}();const zF="vtable__bubble-tooltip-element",OF=`${zF}__content`,DF=`${zF}__triangle`,WF=`${zF}--hidden`,NF=`${zF}--shown`;class GF{_handler;_rootElement;_messageElement;_triangleElement;_disappearDelay;_disappearDelayId;constructor(){this._handler=new Bv;const t=this._rootElement=aH("div",[zF,WF]),e=aH("div",[OF]),i=aH("span",[DF]);t.appendChild(i),t.appendChild(e),this._messageElement=t.querySelector(`.${OF}`)||void 0,this._triangleElement=t.querySelector(`.${DF}`)||void 0,t.addEventListener("mousemove",(()=>{this._disappearDelayId&&clearTimeout(this._disappearDelayId)})),t.addEventListener("mouseleave",(()=>{this._disappearDelay=void 0,this.unbindFromCell()})),e.addEventListener("wheel",(t=>{t.stopPropagation()})),e.addEventListener("copy",(t=>{const i=function(t){const e=window.getSelection();if(e.rangeCount){const i=e.getRangeAt(0);return i.endOffset>i.startOffset&&t.contains(i.commonAncestorContainer)}return!1}(e);i&&t.stopPropagation()}))}bindToCell(t,e,i,r,o){this._disappearDelay=r?.disappearDelay,this._disappearDelayId&&clearTimeout(this._disappearDelayId);const n=this._rootElement,s=this._messageElement,a=this._triangleElement;if(n?.classList.remove(NF),n?.classList.add(WF),this._canBindToCell(t,e,i)){s.setAttribute("style",""),a.setAttribute("style",""),r?.className&&n.classList.add(r.className),r?.style?.bgColor&&(s.style.backgroundColor=r?.style?.bgColor),r?.style?.bgColor&&(a.style.backgroundColor=r?.style?.bgColor),a.style.display=!0===r?.style?.arrowMark?"block":"none",r?.style?.fontSize&&(s.style.fontSize=(r?.style?.fontSize??12)+"px"),r?.style?.fontFamily&&(s.style.fontFamily=r?.style?.fontFamily),r?.style?.color&&(s.style.color=r?.style?.color),r?.style?.padding&&(s.style.padding=`${r?.style?.padding.join("px ")}px`),r?.style?.maxHeight&&(s.style.maxHeight=`${r?.style?.maxHeight}px`),r?.style?.maxWidth&&(s.style.maxWidth=`${r?.style?.maxWidth}px`),s&&(s.textContent=r?.content);if(this._bindToCell(t,e,i,r?.position,r?.referencePosition,o,r?.style?.arrowMark))return n?.classList.add(NF),n?.classList.remove(WF),!0}else this.unbindFromCell();return!1}release(){this.unbindFromCell();const t=this._rootElement;t?.parentElement&&t.parentElement.removeChild(t),this._handler?.release?.(),delete this._rootElement,delete this._messageElement}move(t,e,i,r,o){const n=this._rootElement;this._canBindToCell(t,e,i)?(this._bindToCell(t,e,i,r?.position,r?.referencePosition,o),n?.classList.add(NF),n?.classList.remove(WF)):this.unbindFromCell()}unbindFromCell(){if(this._disappearDelay)this._disappearDelayId=setTimeout((()=>{const t=this._rootElement;t?.parentElement&&(t.classList.remove(NF),t.classList.add(WF))}),this._disappearDelay??0);else{const t=this._rootElement;t?.parentElement&&(t.classList.remove(NF),t.classList.add(WF))}}_canBindToCell(t,e,i){const r=t.getCellRangeRelativeRect({col:e,row:i}),o=t.getElement(),{bottom:n,left:s,right:a,top:l}=r;if(t.isFrozenCell(e,i))return!0;if(n<t.getFrozenRowsHeight()||a<t.getFrozenColsWidth()||s>t.tableNoFrameWidth-t.getRightFrozenColsWidth()||l>t.tableNoFrameHeight-t.getBottomFrozenRowsHeight())return!1;const{offsetHeight:h,offsetWidth:c}=o;return!(l>h)&&!(s>c)}_bindToCell(t,e,i,r,o,n,s){const a=this._rootElement,l=t.getCellRangeRelativeRect({col:e,row:i}),h=t.internalProps.tooltip.parentElement,c=t.internalProps.element.offsetWidth,{width:d}=l;if(a){let l,u;a.parentElement!==h&&h.appendChild(a),a.style.left="0px";const g=Math.min(.8*c,4*d);a.style.maxWidth=`${g}px`;const p=a.clientWidth,f=a.clientHeight;if(!r&&!o)return!1;{const a=this.getComputedPosition(t,e,i,r,o,n,s);u=a.x,l=a.y}a.style.left=`${u}px`,a.style.top=`${l}px`,$w()&&(a.style.fontSize="11px");const{x1:m,x2:b,y1:y,y2:C}=t.stateManager.menu.bounds,w=u,v=w+p,x=l,_=w+f;return!(t.stateManager.menu.isShow&&m<v&&b>w&&C>x&&y<_)}return!1}getComputedPosition(t,e,i,r,o,n,s){const a=this._rootElement,l=t.getCellRangeRelativeRect({col:e,row:i}),{x:h,y:c}=t.internalProps.tooltip.parentElement.getBoundingClientRect(),{width:d,height:u,x:g,y:p}=t.internalProps.element.getBoundingClientRect(),{width:f}=l;let m,b;const y=Math.min(.8*d,4*f);a.style.maxWidth=`${y}px`;const C=a.clientWidth,w=a.clientHeight,v=s?6:0;if(r)b=r.x,m=r.y+v,this._triangleElement.style.left="50%",this._triangleElement.style.marginLeft="-5px",this._triangleElement.style.top="-5px";else if(o){let t=o.placement??qC.bottom;const e=o.rect.left+o.rect.width/2,i=o.rect.top+o.rect.height/2,r=o.rect.top,s=o.rect.bottom,a=o.rect.left,l=o.rect.right;let h=0;const c=()=>{h++,h>=4||(this.removeStyleFromTriangle(),t===qC.top?(b=e-C/2,m=r-w-v,this._triangleElement.style.left="50%",this._triangleElement.style.marginLeft="-5px",this._triangleElement.style.bottom="-5px",n&&m<0&&(t=qC.right,c())):t===qC.bottom?(b=e-C/2,m=s+v,this._triangleElement.style.left="50%",this._triangleElement.style.marginLeft="-5px",this._triangleElement.style.top="-5px",n&&m+w>u&&(t=qC.left,c())):t===qC.left?(m=i-w/2,b=a-C-v,this._triangleElement.style.top="50%",this._triangleElement.style.marginTop="-5px",this._triangleElement.style.right="-5px",n&&b<0&&(t=qC.top,c())):t===qC.right&&(m=i-w/2,b=l+v,this._triangleElement.style.top="50%",this._triangleElement.style.marginTop="-5px",this._triangleElement.style.left="-5px",n&&b+C>d&&(t=qC.bottom,c())))};c()}return n&&(b<0?b=0:b+a.offsetWidth>d&&(b=d-a.offsetWidth)),{x:b+g-h,y:m+p-c}}removeStyleFromTriangle(){this._triangleElement.style.left="",this._triangleElement.style.right="",this._triangleElement.style.top="",this._triangleElement.style.bottom="",this._triangleElement.style.marginLeft="",this._triangleElement.style.marginTop=""}_locate(t,e,i,r,o,n){const s=this.getComputedPosition(t,e,i,r,o,n),a=s.x,l=s.y;this._rootElement.style.left=`${a}px`,this._rootElement.style.top=`${l}px`}}class VF extends IF{createTooltipElementInternal(){return new GF}}const jF={"bubble-tooltip":function(t){return new VF(t)}};class UF{_table;_tooltipInstances;_attachInfo;confine;constructor(t,e){this._table=t,this._tooltipInstances={},this._bindTableEvent(t),this.confine=e}release(){const t=this._tooltipInstances;for(const e in t)t[e]?.release?.();delete this._tooltipInstances,this._attachInfo=null}_bindToCell(t,e,i){const r=this._attachInfo,o=this._getTooltipInstanceInfo(t,e);if(!r||o&&r.instance===o||(r.instance?.unbindTooltipElement(),this._attachInfo=null),!o)return;if(o&&o.bindTooltipElement(t,e,i,this.confine)){const r=this._table.getCellRange(t,e);this._attachInfo={range:r,instance:o,tooltipOptions:i}}}_move(t,e,i){const r=this._attachInfo;if(!r||!pv(r.range,t,e))return;const{instance:o}=r;o?.moveTooltipElement(t,e,i,this.confine)}moveToPosition(t,e,i,r){const o=this._attachInfo;if(!o||!pv(o.range,t,e))return;const{instance:n}=o;this._attachInfo.tooltipOptions.position=i,this._attachInfo.tooltipOptions.referencePosition=r,n?.locateTooltipElement(t,e,i,r,this.confine)}_unbindFromCell(){const t=this._attachInfo;if(!t)return;const{instance:e}=t;e?.unbindTooltipElement(),this._attachInfo=null}_isBindCell(t,e){const i=this._attachInfo;return!!i&&pv(i.range,t,e)}_bindTableEvent(t){t.on(_v.MOUSEENTER_CELL,(e=>{if($w())return;const{x1:i,x2:r,y1:o,y2:n}=t.stateManager.menu.bounds;if(t.stateManager.menu.isShow&&"number"==typeof e.x&&"number"==typeof e.y&&e.x>i&&e.x<r&&e.y>o&&e.y<n)return;const{col:s,row:a}=e;this.showTooltip(s,a)})),t.on(_v.MOUSEMOVE_CELL,(e=>{if(!$w()){if(this._attachInfo?.tooltipOptions?.referencePosition){const i=this._attachInfo.tooltipOptions.referencePosition,{event:r}=e,{left:o,right:n,top:s,bottom:a}=i.rect,l=t._getMouseAbstractPoint(r,!1);l.inTable&&l.x>=o-5&&l.x<=n+5&&l.y>=s-5&&l.y<=a+5||this._unbindFromCell()}this._attachInfo&&t.stateManager.menu.isShow&&this._bindToCell(e.col,e.row)}})),t.on(_v.MOUSELEAVE_CELL,(t=>{this._unbindFromCell()})),t.on(_v.SELECTED_CELL,(t=>{this._isBindCell(t.col,t.row)&&this._unbindFromCell()})),t.on(_v.MOUSELEAVE_TABLE,(t=>{this._unbindFromCell()})),t.on(_v.SCROLL,(t=>{this._unbindFromCell()}))}showTooltip(t,e){let i;const r=this._table,o=r.getHeaderDescription(t,e);if(o){const n=r.getCellRangeRelativeRect({col:t,row:e});i={content:o,referencePosition:{placement:r.internalProps.tooltip.position,rect:n},disappearDelay:r.internalProps.tooltip.overflowTextTooltipDisappearDelay??0,style:r.theme.tooltipStyle}}else if(q(r.internalProps.tooltip?.isShowOverflowTextTooltip)?r.internalProps.tooltip.isShowOverflowTextTooltip(t,e,r):r.internalProps.tooltip.isShowOverflowTextTooltip){const n=r.getCellOverflowText(t,e),s=r.getCellRangeRelativeRect({col:t,row:e});n&&(i={content:o?`${o}\n ${n}`:n,referencePosition:{placement:r.internalProps.tooltip.position,rect:s},disappearDelay:r.internalProps.tooltip.overflowTextTooltipDisappearDelay??0,style:r.theme.tooltipStyle})}i?this._bindToCell(t,e,i):this._unbindFromCell()}_getTooltipInstanceInfo(t,e){const i=this._table,r=this._tooltipInstances,o="bubble-tooltip";return r&&r[o]||r&&(r[o]=jF[o](i))}isBinded(t){return JSON.stringify(t)===JSON.stringify(this._attachInfo?.tooltipOptions)}}const KF=()=>{sx.registerComponent("axis",uF),sx.registerFunction("computeAxisComponentWidth",gF),sx.registerFunction("computeAxisComponentHeight",pF),sx.registerFunction("getAxisConfigInPivotChart",ck)},$F=()=>{sx.registerComponent("emptyTip",bF)},XF=()=>{sx.registerFunction("createLegend",AF)},YF=()=>{sx.registerComponent("menuHandler",EF)},qF=()=>{sx.registerComponent("title",FF)},ZF=()=>{sx.registerComponent("tooltipHandler",UF)};class JF{table;titleRows=[];showedTitleRows=[];rowNow=-1;skipStartRow=-1;skipEndRow=-1;constructor(t){this.table=t,this.table.on("scroll",(t=>{"vertical"===t.scrollDirection&&this.updateGroupTitle()})),this.table.on("tree_hierarchy_state_change",(t=>{this.updateGroupTitle()})),this.table.on("resize_column",(t=>{this.updateGroupTitle()}))}updateGroupTitle(){0===this.table.scrollTop?(this.titleRows=[],this.showedTitleRows=[]):-1!==this.skipStartRow&&-1!==this.skipEndRow&&this.skipStartRow!==this.table.scenegraph.proxy.bodyTopRow-1?(this.table.scenegraph.proxy.screenTopRow<=this.skipStartRow||this.table.scenegraph.proxy.screenTopRow>=this.skipEndRow)&&(this.skipStartRow=-1,this.skipEndRow=-1,this.updateGroupTitleInfo()):(this.skipStartRow=-1,this.skipEndRow=-1,this.updateGroupTitleInfo()),this.updateScenegraph()}updateGroupTitleInfo(){this.rowNow=this.table.scenegraph.proxy.screenTopRow+this.titleRows.length;const t=this.table.getRecordIndexByCell(0,this.rowNow),e=this.table.getRecordIndexByCell(0,this.rowNow+1);this.getTitleRowsByRecordIndex(t,e)}getTitleRowsByRecordIndex(t,e){ot(t)||(t=[t]),ot(e)||(e=[e]);for(let e=0;e<t.length;e++){const i=t.slice(0,e+1);this.table.dataSource.getRaw(i)}const i=[],r=e.length===t.length+1;let o=t.slice(0,r?t.length:t.length-1);const n=this.table.dataSource.currentIndexedData;for(let e=this.rowNow-this.table.columnHeaderLevelCount;e>=0;e--){const r=n[e];if(ot(r)&&o.length===r.length){let t=!0;for(let e=0;e<r.length;e++)if(r[e]!==o[e]){t=!1;break}t&&(i.push(e+this.table.columnHeaderLevelCount),o=o.slice(0,o.length-1))}else if(r===t[0]){i.push(e+this.table.columnHeaderLevelCount);break}}this.titleRows=i.reverse()}updateScenegraph(){const{table:t}=this,{shadowGroup:e,shadowGroupFrozen:i}=function(t){const e=t.scenegraph.colHeaderGroup,i=t.scenegraph.cornerHeaderGroup;if(!e.border){const i=Jc({x:0,y:0,width:0,height:0,cursor:"pointer"});e.add(i),e.border=i,i.attachShadow(i.shadowRoot),i.name="border-rect",i.addEventListener("click",(e=>{const i=t.listTreeStickCellPlugin.titleRows,{shadowTarget:r}=e.pickParams,o=KA(r),{col:n,row:s}=o;eI(s-i.indexOf(s),t)}))}if(!i.border){const e=Jc({x:0,y:0,width:0,height:0,cursor:"pointer"});i.add(e),i.border=e,e.attachShadow(e.shadowRoot),e.name="border-rect",e.addEventListener("click",(e=>{const i=t.listTreeStickCellPlugin.titleRows,{shadowTarget:r}=e.pickParams,o=KA(r),{col:n,row:s}=o;eI(s-i.indexOf(s),t)}))}const r=e.border.shadowRoot,o=i.border.shadowRoot;return r.removeAllChild(),o.removeAllChild(),{shadowGroup:r,shadowGroupFrozen:o}}(t);this.showedTitleRows.length=0;let r=0;for(let o=0;o<t.colCount;o++){let n;o<t.frozenColCount?(n=new LR({x:t.getColsWidth(0,o-1),y:t.getFrozenRowsHeight()}),i.add(n)):(n=new LR({x:t.getColsWidth(t.frozenColCount,o-1),y:t.getFrozenRowsHeight()}),e.add(n)),n.col=o;for(let e=0;e<this.titleRows.length;e++){const i=this.titleRows[e];if(QF(i,this.rowNow,t.scenegraph.proxy.screenTopRow,this.titleRows)){0===o&&r++;continue}0===o&&this.showedTitleRows.push(i);const s=t.scenegraph.getCell(o,i);if("cell"===s.role){const t=tI(s);t.setAttributes({y:40*e}),n.add(t)}else{const r=nT(o,i,t,!0,!0);r.setAttributes({y:40*e}),n.add(r)}}}r>0&&-1===this.skipStartRow&&-1===this.skipEndRow&&(this.skipStartRow=t.scenegraph.proxy.screenTopRow-1,this.skipEndRow=t.scenegraph.proxy.screenTopRow+1)}}function QF(t,e,i,r){if(t===e&&t!==i+r.length-1)return!0;return t===i+r.indexOf(t)+1&&t<e}function tI(t){const e=t.clone();if(e.role=t.role,e.col=t.col,e.row=t.row,e.mergeStartCol=t.mergeStartCol,e.mergeStartRow=t.mergeStartRow,e.mergeEndCol=t.mergeEndCol,e.mergeEndRow=t.mergeEndRow,e.contentWidth=t.contentWidth,e.contentHeight=t.contentHeight,"cell"===e.role){const t=Jc({x:0,y:0,width:e.attribute.width,height:e.attribute.height});e.add(t)}if("group"===t.type){const i=e;t.forEachChildren((t=>{const e=tI(t);i.add(e)}))}return e}function eI(t,e){const i=e.getDrawRange();if(J(t)&&t>=e.frozenRowCount){const r=e.getFrozenRowsHeight(),o=e.getRowsHeight(0,t-1);e.scrollTop=Math.min(o-r,e.getAllRowsHeight()-i.height)-1}e.scenegraph.updateNextFrame()}const iI={};function rI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){const C=av(iI,Lk)[c],w=zR("padding",p._getCellStyle(o,n),o,n,p);if(J(w)&&(l=w),!t){const l=OR(o,n,f,p);b&&(t=p.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:s,height:a,lineWidth:f?.group?.lineWidth??void 0,fill:f?.group?.fill??void 0,stroke:f?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:f?.group?.strokeArrayColor??void 0,cursor:f?.group?.cursor??void 0,lineDash:f?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:f.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:s,height:a,lineWidth:f?.group?.lineWidth??void 0,fill:f?.group?.fill??void 0,stroke:f?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:f?.group?.strokeArrayColor??void 0,cursor:f?.group?.cursor??void 0,lineDash:f?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:f.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}if(t.AABBBounds.width(),y&&Array.isArray(p.getCellValue(o,n))||!y){const e=new iB(m,{stroke:!1,x:l[3],y:l[0],canvas:p.canvas??p.scenegraph.stage.window.getContext().canvas,mode:p.options.mode,modeParams:p.options.modeParams,spec:p.options.specTransformInCell?p.options.specTransformInCell(d,o,n):d,ClassType:C,width:s-l[3]-l[1],height:a-l[2]-l[0],chartInstance:u,dataId:g,data:p.getCellValue(o,n)||[],cellPadding:l,dpr:p.internalProps.pixelRatio,axes:p.isPivotChart()?p.internalProps.layoutMap.getChartAxes(o,n):[],tableChartOption:p.options.chartOption,col:o,row:n});t.appendChild(e),p.internalProps.layoutMap.setChartInstance(o,n,e.chartInstance)}return t}function oI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=OR(o,n,p,g);b&&(t=g.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}let y;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),y=g.getCellIcons(t,e)}let C=0,w=0;if(Array.isArray(y)&&0!==y.length){const{leftIconWidth:e,rightIconWidth:i,absoluteLeftIconWidth:r,absoluteRightIconWidth:o}=KR(y,t,m,g);C=e+i,w=e,t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+a-i-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+a-o-h[1])})),t.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(l-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",l-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])}))}const v=function(t,e,i,r,o,n,s,a,l){const h=l._getCellStyle(t,e),c=IR("size",h,t,e,l),d=IR("spaceBetweenTextAndIcon",h,t,e,l),u=IR("defaultFill",h,t,e,l),g=IR("defaultStroke",h,t,e,l),p=IR("disableFill",h,t,e,l),f=IR("checkedFill",h,t,e,l),m=IR("checkedStroke",h,t,e,l),b=IR("disableCheckedFill",h,t,e,l),y=IR("disableCheckedStroke",h,t,e,l),C=IR("checkIconImage",h,t,e,l),w=IR("indeterminateIconImage",h,t,e,l),v=l.getCellValue(t,e),x=l.getCellOriginValue(t,e);let _,S,A=v??"";Q(v)?(_=v.checked,S=v.disable,A=v.text??""):"boolean"==typeof v&&(_=v,A="");_=l.stateManager.syncCheckedState(t,e,a.field,_);const R=WR(t,e,l),T=l._getCellStyle(t,e),B=T.autoWrapText??l.internalProps.autoWrapText,{lineClamp:M}=T,{checked:P,disable:H}=a;if(null==_||"function"==typeof _){const i=cv(P,{col:t,row:e,table:l,context:null,value:v,dataValue:x});_=l.stateManager.syncCheckedState(t,e,a.field,i)}const k=cv(H,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),L="auto"===i,E=l.isAutoRowHeight(e),F={text:1===A.length?A[0]:A,maxLineWidth:L?1/0:r-(n[1]+n[3]+R)-c-d,textAlign:"left",textBaseline:"top",autoWrapText:B,lineClamp:M,wordBreak:"break-word",heightLimit:E?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:R,whiteSpace:1!==A.length||B?"normal":"no-wrap"},I=s.text?Object.assign({},s.text,F):F,z={x:0,y:0,text:I,icon:{width:Math.floor(c/1.4),height:Math.floor(c/1.4)},box:{width:c,height:c},spaceBetweenTextAndIcon:d,disabled:S??k??!1};"indeterminate"===_?(z.checked=void 0,z.indeterminate=!0):(z.checked=_,z.indeterminate=void 0);u&&(z.box.fill=u),g&&(z.box.stroke=g),p&&(z.box.disableFill=p),f&&(z.box.checkedFill=f),m&&(z.box.checkedStroke=m),b&&(z.box.disableCheckedFill=b),y&&(z.box.disableCheckedStroke=y),C&&(z.icon.checkIconImage=C),w&&(z.icon.indeterminateIconImage=w);const O=new DC(z);return O.name="checkbox",O}(o,n,s-C,a,l,h,p,f,g);return v&&t.appendChild(v),v.render(),a-=h[1]+h[3]+C,l-=h[0]+h[2],"center"===c?v.setAttribute("x",h[3]+w+(a-v.AABBBounds.width())/2):"right"===c?v.setAttribute("x",h[3]+w+a-v.AABBBounds.width()):v.setAttribute("x",h[3]+w),"middle"===d?v.setAttribute("y",h[0]+(l-v.AABBBounds.height())/2):"bottom"===d?v.setAttribute("y",h[0]+l-v.AABBBounds.height()):v.setAttribute("y",h[0]),t}function nI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f){if(!t){const s=OR(o,n,g,u);(t=new LR({x:i,y:r,width:a,height:l,lineWidth:g?.group?.lineWidth??void 0,fill:g?.group?.fill??void 0,stroke:g?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:g?.group?.strokeArrayColor??void 0,cursor:g?.group?.cursor??void 0,lineDash:g?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:g.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t)}const{width:m,height:b}=function(t,e,i,r,o,n,s,a,l,h,c){const d=c._getCellStyle(t,e);let u=IR("size",d,t,e,c),g=IR("innerRadius",d,t,e,c),p=IR("outerRadius",d,t,e,c);const f=IR("spaceBetweenTextAndIcon",d,t,e,c),m=IR("spaceBetweenRadio",d,t,e,c),b=IR("defaultFill",d,t,e,c),y=IR("defaultStroke",d,t,e,c),C=IR("disableFill",d,t,e,c),w=IR("checkedFill",d,t,e,c),v=IR("checkedStroke",d,t,e,c),x=IR("disableCheckedFill",d,t,e,c),_=IR("disableCheckedStroke",d,t,e,c);at(p)?u=2*p:p=Math.round(u/2);(!at(g)||g<0)&&(g=Math.round(p/7*3));const S=c.getCellValue(t,e),A=c.getCellOriginValue(t,e),R=WR(t,e,c),T=c._getCellStyle(t,e),B=T.autoWrapText??c.internalProps.autoWrapText,{lineClamp:M}=T,P="auto"===i,H=c.isAutoRowHeight(),k={maxLineWidth:P?1/0:r-(n[1]+n[3]+R)-u-f,textAlign:"left",textBaseline:"top",autoWrapText:B,lineClamp:M,wordBreak:"break-word",heightLimit:H?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:R},L=s.text?Object.assign({},s.text,k):k,E={x:0,y:0,text:L,circle:{innerRadius:g,outerRadius:p},spaceBetweenTextAndIcon:f};b&&(E.circle.fill=b),y&&(E.circle.stroke=y),C&&(E.circle.disableFill=C),w&&(E.circle.checkedFill=w),v&&(E.circle.checkedStroke=v),x&&(E.circle.disableCheckedFill=x),_&&(E.circle.disableCheckedStroke=_);let F=0,I=0;const z=a.radioDirectionInCell??"vertical";if(ot(S))S.forEach(((i,r)=>{const o=sI(i,A,r,t,e,a,B,E,c);o&&l.appendChild(o),o.id=`radio-${h?.start.col??t}-${h?.start.row??e}-${r}`,o.render();const n=o.AABBBounds;"vertical"===z?(o.setAttribute("y",I),I+=n.height()+(r!==S.length-1?m:0),F=Math.max(F,n.width())):"horizontal"===z&&(o.setAttribute("x",F),F+=n.width()+(r!==S.length-1?m:0),I=Math.max(I,n.height()))}));else{const i=sI(S,A,void 0,t,e,a,B,E,c);i&&l.appendChild(i),i.id=`radio-${h?.start.col??t}-${h?.start.row??e}`,i.render();const r=i.AABBBounds;F=r.width(),I=r.height()}return{width:F,height:I}}(o,n,s,a,l,h,g,p,t,f,u);return a-=h[1]+h[3],l-=h[0]+h[2],t.forEachChildren((t=>{"center"===c?t.setAttribute("x",h[3]+t.attribute.x+(a-m)/2):"right"===c?t.setAttribute("x",h[3]+t.attribute.x+a-m):t.setAttribute("x",h[3]+t.attribute.x),"middle"===d?t.setAttribute("y",h[0]+t.attribute.y+(l-b)/2):"bottom"===d?t.setAttribute("y",h[0]+t.attribute.y+l-b):t.setAttribute("y",h[0]+t.attribute.y)})),t}function sI(t,e,i,r,o,n,s,a,l){const h=function(t,e,i,r,o,n,s){const a=n.radioCheckType??"column";let l,h;Q(t)?l=t.checked:"boolean"==typeof t&&(l=t);l=s.stateManager.syncRadioState(r,o,n.field,a,i,l),(null==l||"function"==typeof l)&&(h=cv(n.checked,{col:r,row:o,table:s,context:null,value:t,dataValue:e}),l=s.stateManager.syncRadioState(r,o,n.field,a,i,h));return l??h??!1}(t,e,i,r,o,n,l),c=function(t,e,i,r,o,n){let s;Q(t)&&(s=t.disable);const a=cv(o.disable,{col:i,row:r,table:n,context:null,value:t,dataValue:e});return s??a??!1}(t,e,r,o,n,l),d=Q(t)?t.text:Y(t)?"":t??"",u=_t({},a,{checked:h,disabled:c,text:{text:1===d.length?d[0]:d,whiteSpace:1!==d.length||s?"normal":"no-wrap"},boundsPadding:0}),g=new WC(u);return g.name="radio",g}function aI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=OR(o,n,p,g);b&&(t=g.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}let y;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),y=g.getCellIcons(t,e)}let C=0,w=0;if(Array.isArray(y)&&0!==y.length){const{leftIconWidth:e,rightIconWidth:i,absoluteLeftIconWidth:r,absoluteRightIconWidth:o}=KR(y,t,m,g);C=e+i,w=e,t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+a-i-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+a-o-h[1])})),t.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(l-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",l-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])}))}const v=function(t,e,i,r,o,n,s,a,l){const h=l._getCellStyle(t,e),c=IR("spaceBetweenTextAndCircle",h,t,e,l),d=IR("circleRadius",h,t,e,l),u=IR("boxWidth",h,t,e,l),g=IR("boxHeight",h,t,e,l),p=IR("checkedFill",h,t,e,l),f=IR("uncheckedFill",h,t,e,l),m=IR("disableCheckedFill",h,t,e,l),b=IR("disableUncheckedFill",h,t,e,l),y=IR("circleFill",h,t,e,l),C=l.getCellValue(t,e),w=l.getCellOriginValue(t,e);let v,x,_=C??"";Q(C)?(v=C.checked,x=C.disable,_=C.text??""):"boolean"==typeof C&&(v=C,_="");v=l.stateManager.syncCheckedState(t,e,a.field,v);const S=WR(t,e,l),A=l._getCellStyle(t,e),R=A.autoWrapText??l.internalProps.autoWrapText,{lineClamp:T}=A,{checked:B,disable:M,uncheckedText:P,checkedText:H}=a;if(null==v||"function"==typeof v){const i=cv(B,{col:t,row:e,table:l,context:null,value:C,dataValue:w});v=l.stateManager.syncCheckedState(t,e,a.field,i)}const k=cv(M,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),L=cv(H,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),E=cv(P,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),F="auto"===i,I=l.isAutoRowHeight(e),z={text:1===_.length?_[0]:_,maxLineWidth:F?1/0:r-(n[1]+n[3]+S)-2*d-c,textAlign:"left",textBaseline:"top",autoWrapText:R,lineClamp:T,wordBreak:"break-word",heightLimit:I?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:S,whiteSpace:1!==_.length||R?"normal":"no-wrap",checkedText:L,uncheckedText:E},O=s.text?Object.assign({},s.text,z):z,D={x:0,y:0,text:O,circle:{radius:d},box:{width:u,height:g},spaceBetweenTextAndCircle:c,disabled:x??k??!1};D.checked=v,f&&(D.box.uncheckedFill=f),b&&(D.box.disableUncheckedFill=b),p&&(D.box.checkedFill=p),m&&(D.box.disableCheckedFill=m),y&&(D.circle.fill=y);const W=new GC(D);return W.name="switch",W}(o,n,s-C,a,l,h,p,f,g);return v&&t.appendChild(v),v.render(),a-=h[1]+h[3]+C,l-=h[0]+h[2],"center"===c?v.setAttribute("x",h[3]+w+(a-v.AABBBounds.width())/2):"right"===c?v.setAttribute("x",h[3]+w+a-v.AABBBounds.width()):v.setAttribute("x",h[3]+w),"middle"===d?v.setAttribute("y",h[0]+(l-v.AABBBounds.height())/2):"bottom"===d?v.setAttribute("y",h[0]+l-v.AABBBounds.height()):v.setAttribute("y",h[0]),t}const lI=new class extends kE{constructor(t){super(!1),this.type=uE.Point,this._padding=0,this.paddingInner(1,t),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},hI=new QE;function cI(t,e,i,r,o,n,s,a,l,h,c,d){if(!t){const l=OR(o,n,c,h);d&&(t=h.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:s,height:a,lineWidth:c?.group?.lineWidth??void 0,fill:c?.group?.fill??void 0,stroke:c?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:c?.group?.strokeArrayColor??void 0,cursor:c?.group?.cursor??void 0,lineDash:c?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:c.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:s,height:a,lineWidth:c?.group?.lineWidth??void 0,fill:c?.group?.fill??void 0,stroke:c?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:c?.group?.strokeArrayColor??void 0,cursor:c?.group?.cursor??void 0,lineDash:c?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:c.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}const u=function(t,e,i,r,o,n){let s,a;const l=n.internalProps.layoutMap.getBody(t,e).sparklineSpec,h=n.getCellValue(t,e);if(!Array.isArray(h))return;const c=o[3],d=o[0];i-=o[1]+o[3],r-=o[0]+o[2];const u=0,g=r;if("function"==typeof l){const o={col:t,row:e,dataValue:n.getCellOriginValue(t,e)||"",value:n.getCellValue(t,e)||"",rect:n.getCellRangeRelativeRect(n.getCellRange(t,e)),table:n};s=l(o),a=dI(s,c,d,i,r)}else s=l,a=dI(l,c,d,i,r);const p=[],f=[];let m,b;if("object"==typeof s.xField)lI.domain(s.xField.domain),m=s.xField.field;else if("string"==typeof s.xField){const t=h.map((t=>t[s.xField]));lI.domain(t),m=s.xField}else Array.isArray(h)&&(lI.domain(Array.from({length:h.length},((t,e)=>e))),m=s.xField);if(lI.range([0,i]),"object"==typeof s.yField)hI.domain(s.yField.domain),b=s.yField.field;else if("string"==typeof s.yField){const t=uI(h,s.yField);hI.domain([Math.min(...t),Math.max(...t)]),b=s.yField}else if(Array.isArray(h)){const t=uI(h);hI.domain([Math.min(...t),Math.max(...t)]),b=s.yField}if(hI.range([0,r]),"object"==typeof s.xField&&Array.isArray(s.xField.domain)){const t=h.map((t=>t[s.xField.field])),e=s.xField.domain;for(let i=0;i<e.length;i++){let r=!1;for(let o=0;o<t.length;o++)if(e[i]===t[o]){const t=h[o];if(!J(t[m])||!J(t[b]))break;p.push({x:u+lI.scale(t[m]),y:g-hI.scale(t[b]),defined:J(t[b])}),f.push(t),r=!0;break}r||(p.push({x:u+lI.scale(e[i]),y:0,defined:!1}),f.push({[m]:e[i],[b]:null}))}}else for(let t=0;t<h.length;t++){const e=h[t];p.push({x:u+lI.scale(m?e[m]:t),y:g-hI.scale(b?e[b]:e),defined:J(b?e[b]:e),rawData:e}),f.push(e)}const y=a.getChildByName("sparkline-line");y&&y.setAttribute("points",p);y.bandwidth=lI.step(),y.min=hI.range()[0],y.max=hI.range()[1];const C=a.getChildByName("sparkline-symbol-group");if(C){const t="isolatedPoint"===s.pointShowRule;if("all"===s.pointShowRule)for(let t=0;t<p.length;t++){const{x:e,y:i,defined:r}=p[t];if(r){const t=Kc({x:e,y:i});C.appendChild(t)}}else if(t)for(let t=0;t<p.length;t++){const{x:e,y:i,defined:r}=p[t];if(r&&(!p[t-1]||!p[t-1].defined)&&(!p[t+1]||!p[t+1].defined)){const t=Kc({x:e,y:i});C.appendChild(t)}}}return a}(o,n,s,a,l,h);return u&&t.appendChild(u),t}function dI(t,e,i,r,o){let n;n="function"==typeof t?t(null):t;const s=new LR({x:e,y:i,width:r,height:o,stroke:!1,fill:!1});if(s.name="sparkline","line"===n.type){const t=Yc({x:0,y:0,curveType:n.smooth?"monotoneX":"linear",stroke:n.line?.style?.stroke??"blue",lineWidth:n.line?.style?.strokeWidth??2});t.name="sparkline-line",s.addChild(t),n.crosshair&&(t.hover=n.crosshair?.style??{stroke:"#000",interpolate:"linear"});const e=new LR({x:0,y:0,width:r,height:o,stroke:!1,fill:!1});e.name="sparkline-symbol-group",e.setTheme({symbol:{stroke:n.point?.style?.stroke??"#000",lineWidth:n.point?.style?.strokeWidth??1,fill:n.point?.style?.fill??"#000",size:2*(n.point?.style?.size??3),symbolType:"circle"}}),s.addChild(e),e.hover=n.point?.hover??!1}return s}function uI(t,e){const i=[];for(let r=0;r<t.length;r++){const o=t[r];J(e)&&J(o[e])?i.push(o[e]):!J(e)&&J(o)&&i.push(o)}return i}const gI=kR();function pI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m){const b=zR("padding",g._getCellStyle(r,o),r,o,g);g.options.customConfig?.imageMargin?h=tA(g.options.customConfig?.imageMargin):J(b)&&(h=b),p?.text?.textAlign&&(c=p?.text?.textAlign),p?.text?.textBaseline&&(d=p?.text?.textBaseline);const y=OR(r,o,p,g);let C,w;if(m&&(C=g.scenegraph.highPerformanceGetCell(r,o,!0),C&&"cell"===C.role&&C.setAttributes({x:e,y:i,width:n,height:s,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:y,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})),C&&"cell"===C.role||(C=new LR({x:e,y:i,width:n,height:s,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:y,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),C.role="cell",C.col=r,C.row=o,t?.addCellGroup(C)),u){let t=r,e=o;f&&(t=f.start.col,e=f.start.row),w=g.getCellIcons(t,e)}let v=0,x=0;if(Array.isArray(w)&&0!==w.length){const{leftIconWidth:t,rightIconWidth:e,absoluteLeftIconWidth:i,absoluteRightIconWidth:r}=KR(w,C,f,g);v=t,x=e,C.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+n-e-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+n-r-h[1])})),C.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(s-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",s-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])})),C._cellLeftIconWidth=v,C._cellRightIconWidth=x}const _=g.getCellValue(r,o),S=document.createElement("video");S.addEventListener("loadeddata",(()=>{l&&YR(r,o,S.videoWidth,S.videoHeight,g.scenegraph,h,C);const{width:t,height:e,isMerge:i}=ZR(C,g);if(a){const{width:i,height:r}=ER(S.videoWidth,S.videoHeight,t-h[1]-h[3],e-h[0]-h[2]),o=FR(0,0,t,e,i,r,c,d,h);A.setAttributes({width:i,height:r,x:o.x,y:o.y,dx:0})}else A.setAttributes({x:h[3],y:h[0],width:t-h[1]-h[3],height:e-h[2]-h[0],dy:0});i&&JR(C.mergeStartCol,C.mergeEndCol,C.mergeStartRow,C.mergeEndRow,g);const{width:n,height:s}=ZR(C,g),u=Math.floor(Math.min(n-h[1]-h[3],s-h[2]-h[0])/2),p=0+(n>A.attribute.width?A.attribute.x-0+A.attribute.width/2:n/2),f=0+(s>A.attribute.height?A.attribute.y-0+A.attribute.height/2:s/2),m=new NA({x:p-u/2,y:f-u/2,width:u,height:u,image:gI.play.svg,cursor:gI.play.cursor});m.name="play-icon",C.appendChild(m),g.scenegraph.updateNextFrame()})),S.onerror=()=>{A.image=gI.damage_pic.svg},S.src=_,S.setAttribute("preload","auto");const A=rd({x:h[3],y:h[0],width:n-h[1]-h[3],height:s-h[2]-h[0],image:S,cursor:"pointer"});return A.name="image",A.keepAspectRatio=a,A.textAlign=c,A.textBaseline=d,C.appendChild(A),C}function fI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){const C=t._getCellStyle(n,s),w=zR("padding",C,n,s,t);J(w)&&(c=w),m?.text?.textAlign&&(d=m?.text?.textAlign),m?.text?.textBaseline&&(u=m?.text?.textBaseline);const v=t.isAutoRowHeight(s),x="auto"===a,_=C.autoWrapText??t.internalProps.autoWrapText,S=C.lineClamp,A=OR(n,s,m,t);let R;if(y&&(R=t.scenegraph.getCell(n,s,!0),R&&"cell"===R.role&&R.setAttributes({x:r,y:o,width:l,height:h,lineWidth:m?.group?.lineWidth??void 0,fill:m?.group?.fill??void 0,stroke:m?.group?.stroke??void 0,strokeArrayWidth:A??void 0,strokeArrayColor:m?.group?.strokeArrayColor??void 0,cursor:m?.group?.cursor??void 0,lineDash:m?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:m.group.cornerRadius})),R&&"cell"===R.role||(R=new LR({x:r,y:o,width:l,height:h,lineWidth:m?.group?.lineWidth??void 0,fill:m?.group?.fill??void 0,stroke:m?.group?.stroke??void 0,strokeArrayWidth:A??void 0,strokeArrayColor:m?.group?.strokeArrayColor??void 0,cursor:m?.group?.cursor??void 0,lineDash:m?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:m.group.cornerRadius}),R.role="cell",R.col=n,R.row=s,i?.addCellGroup(R)),p&&R.appendChild(p),f){const i=e;let r;if(g){let e=n,i=s;b&&(e=b.start.col,i=b.start.row),r=t.getCellIcons(e,i)}if(function(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p){let f,m=0,b=0,y=0;if(Array.isArray(e)&&0!==e.length){const{inlineFrontIcons:C,inlineEndIcons:w,contentLeftIcons:v,contentRightIcons:x,leftIconWidth:_,rightIconWidth:S,absoluteRightIconWidth:A}=KR(e,t,p,u);let R;if(m=_,b=S,y=A,0===C.length&&0===w.length){let e=0;at(u.theme._contentOffset)&&("left"===c?e=u.theme._contentOffset:"right"===c&&(e=-u.theme._contentOffset));const d=p?WR(p.start.col,p.start.row,u):WR(t.col,t.row,u),{text:f,moreThanMaxCharacters:y}=NR(i,u),C={text:1===f.length?f[0]:f,moreThanMaxCharacters:y,maxLineWidth:o?1/0:l-(r[1]+r[3])-m-b-d,textBaseline:"top",heightLimit:!1===u.options.customConfig?.limitContentHeight||n&&!u.options.customConfig?.multilinesForXTable?-1:h-Math.floor(r[0]+r[2]),pickable:!1,autoWrapText:s,lineClamp:a,wordBreak:"break-word",whiteSpace:!1===u.options.customConfig?.limitContentHeight||1!==f.length||s?"normal":"no-wrap",dx:("left"===c?v.length?0:d:0)+e,keepCenterInLine:!0},w=new Lh(g.text?Object.assign({},g.text,C):C);w.name="text",R=w}else{const e=Object.assign({text:i?.toString()},t.parent?.theme?.userTheme?.text||{});g.text&&Object.assign(e,g.text),e.textBaseline="middle";const a=[...C.map((t=>VR(t))),e,...w.map((t=>VR(t)))];a[0].textAlign=c;const u=new ld({width:o?0:l-(r[1]+r[3])-m-b,height:n&&s?0:Math.ceil(h-(r[0]+r[2])),textConfig:a,verticalDirection:n&&s?"top":d,ellipsis:e.ellipsis});u.name="text",R=u,u.bindIconEvent(),!p||p.start.col===p.end.col&&p.start.row===p.end.row||(u.onBeforeAttributeUpdate=$R)}if(0!==v.length||0!==x.length){const e=new DR({x:0,y:0,fill:!1,stroke:!1,pickable:!1});e.name="content",e.setCellContentOption({autoWidth:o,autoHeight:n,cellWidth:l-(r[1]+r[3])-m-b,cellHeight:h-(r[0]+r[2]),align:c,baseline:d});const i={addedHierarchyOffset:0};v.forEach((r=>{const o=GR(r,void 0,t.col,t.row,p,u,i);o.role="icon-content-left",o.name=r.name,e.addLeftOccupyingIcon(o)})),x.forEach((r=>{const o=GR(r,void 0,t.col,t.row,p,u,i);o.role="icon-content-right",o.name=r.name,e.addRightOccupyingIcon(o)})),e.addContent(R),t.appendChild(e),e.layout(),f=e.AABBBounds.width(),e.AABBBounds.height()}else t.firstChild?t.insertBefore(R,t.firstChild):t.appendChild(R),f=R.AABBBounds.width(),R.AABBBounds.height()}else if(J(i)){const{text:e,moreThanMaxCharacters:m}=NR(i,u),b=p?WR(p.start.col,p.start.row,u):WR(t.col,t.row,u);let y=0;at(u.theme._contentOffset)&&("left"===c?y=u.theme._contentOffset:"right"===c&&(y=-u.theme._contentOffset));const C={text:1===e.length?e[0]:e,moreThanMaxCharacters:m,maxLineWidth:o?1/0:l-(r[1]+r[3]+b),textBaseline:"top",autoWrapText:s,lineClamp:a,wordBreak:"break-word",heightLimit:!1===u.options.customConfig?.limitContentHeight||n&&!u.options.customConfig?.multilinesForXTable?-1:h-Math.floor(r[0]+r[2]),pickable:!1,dx:("left"===c?b:0)+y,whiteSpace:!1===u.options.customConfig?.limitContentHeight||1!==e.length||s?"normal":"no-wrap",keepCenterInLine:!0},w=new Lh(g.text?Object.assign({},g.text,C):C);w.name="text",w.textBaseline=d,t.appendChild(w),f=w.AABBBounds.width(),w.AABBBounds.height()}const C=o?m+f+b:l-(r[1]+r[3]),w=h-(r[0]+r[2]);t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+r[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+C-b+r[3]):"icon-absolute-right"===t.role?t.setAttribute("x",t.attribute.x+C-y+r[3]+r[1]):"content"!==t.name&&"text"!==t.name||("center"===c&&"richtext"!==t.type?t.setAttribute("x",r[3]+m+(C-m-b)/2):"right"===c&&"richtext"!==t.type?t.setAttribute("x",r[3]+C-b):t.setAttribute("x",r[3]+m))})),t.forEachChildren((t=>{t.name!==qA&&("middle"===d?t.setAttribute("y",r[0]+(w-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",r[0]+w-t.AABBBounds.height()):t.setAttribute("y",r[0]))})),t.setAttributes({width:C+r[1]+r[3],height:w+r[0]+r[2]})}(R,r,i,c,x,v,_,"number"==typeof S?S:void 0,R.attribute.width,R.attribute.height,d,u,t,m,b),m?._vtable?.marked){const t=fd({x:R.attribute.width,y:0,startAngle:Math.PI/2,endAngle:Math.PI,outerRadius:6,fill:"#3073F2",pickable:!1});t.name="mark",R.appendChild(t)}}return p&&R.setAttributes({width:Math.max(R.attribute.width,p.attribute.width??0),height:Math.max(R.attribute.height,p.attribute.height??0)}),R}function mI(t,e,i,r,o,n,s,a,l,h){if(t.dependField){const e=cv(t.dependField,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0});o=l.getCellOriginRecord(n,s)?.[e]??o}const c=cv(t.barType,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??"default",d=cv(t.min,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??0,u=cv(t.max,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??d+100;let g=0;g=h?l.getRowsHeight(h.start.row,h.end.row):l.getRowHeight(s);let p=i,f=g,m=0;at(l.theme._contentOffset)&&(m=l.theme._contentOffset);const b=new LR({x:-m,y:-m,width:p,height:f});b.name="progress-bar";const{showBar:y,barColor:C,barBgColor:w,barPositiveColor:v,barNegativeColor:x,barAxisColor:_,barRightToLeft:S,showBarMark:A,barMarkPositiveColor:R,barMarkNegativeColor:T,barMarkWidth:B,barMarkPosition:M}=e;let{barHeight:P,barBottom:H,barPadding:k}=e;1===k.length?k=[k[0],k[0],k[0],k[0]]:2===k.length?k=[k[0],k[1],k[0],k[1]]:3===k.length&&(k=[k[0],k[1],k[2],k[1]]),k=k.map(((t,e)=>{if("string"==typeof t&&Cv.endsWith(t,"%")){const r=Number(t.substr(0,t.length-1));return 0===e||2===e?g*r/100:i*r/100}return Number(t)}));const L=tA(IR("borderLineWidth",e,n,s,l)),E=Math.max(k[0],Math.ceil(L[0]/2)),F=Math.max(k[1],Math.floor(L[1]/2)),I=Math.max(k[2],Math.floor(L[2]/2)),z=Math.max(k[3],Math.ceil(L[3]/2));p-=F+z,f-=I+E,s===l.rowCount-1&&[0,"0"].includes(H)&&(f-=1);const O=E,D=z,W=p;"string"==typeof P&&Cv.endsWith(P,"%")?(P=Number(P.substr(0,P.length-1)),P=f*P/100):P=Number(P),"string"==typeof H&&Cv.endsWith(H,"%")?(H=Number(H.substr(0,H.length-1)),H=f*H/100):H=Number(H);if(cv(y,{col:n,row:s,table:l,context:null,value:r,dataValue:o})){let t=`${o}`;Cv.endsWith(t,"%")&&(t=t.substr(0,t.length-1));const e=Number(t);if(isNaN(e))return b;if("default"===(c??"default")){const t=e<d?0:e>u?1:(e-d)/(u-d),i=p,a=O+f-P-H;let h=Math.min(i*t,i);const c=S?D+W-h:D;n!==l.colCount-1||1!==t||S||(h-=1);const g=cv(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:t});if(g){const t=Jc({x:c,y:a,width:i,height:P,fill:g});b.addChild(t)}const m=Jc({x:c,y:a,width:h,height:P,fill:cv(C,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:t})||"#20a8d8"});b.addChild(m)}else if("negative"===c){const t=d<0?-d:0,i=u>0?u:0,a=t/(t+i),h=1-a,c=e>0?e/i:0,m=e<0?-e/t:0,y=p,C=O+f-P-H,k=D,L=cv(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c});if(L){const t=Jc({x:k,y:C,width:y,height:P,fill:L});b.addChild(t)}const E=S?h*y:a*y,F=Math.min(y*a*m,y),I=S?{left:k+E,top:C,width:F,height:P}:{left:k+E-F,top:C,width:F,height:P},z=cv(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8",W=Jc({x:I.left,y:I.top,width:I.width,height:I.height,fill:z});b.addChild(W);let N=Math.min(y*h*c,y);n!==l.colCount-1||1!==c||S||(N-=1);const G=S?{left:k+E-N,top:C,width:N,height:P}:{left:k+E,top:C,width:N,height:P},V=cv(v,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8",j=Jc({x:G.left,y:G.top,width:G.width,height:G.height,fill:V});b.addChild(j);const U=S?I.left:G.left,K=Yc({x:0,y:0,stroke:cv(_,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c}),lineWidth:1,lineDash:[2,2],points:[{x:U,y:0},{x:U,y:g}]});if(b.addChild(K),A&&(c||m)){const t=B,e=[];let i;if(c>0)if(i=cv(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8","right"===M){const t=S?G.left+B/2:G.left+G.width-B/2;e.push({x:t,y:G.top}),e.push({x:t,y:G.top+G.height})}else"bottom"===M&&(e.push({x:G.left,y:G.top+G.height-B/2}),e.push({x:G.left+G.width,y:G.top+G.height-B/2}));else if(m>0)if(i=cv(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8","right"===M){const t=S?I.left+I.width-B/2:I.left+B/2;e.push({x:t,y:I.top}),e.push({x:t,y:I.top+I.height})}else"bottom"===M&&(e.push({x:I.left,y:I.top+I.height-B/2}),e.push({x:I.left+I.width,y:I.top+I.height-B/2}));const a=Yc({x:0,y:0,stroke:i,lineWidth:t,points:e});b.addChild(a)}}else if("negative_no_axis"===c){const t=d<0?-d:0,i=u>0?u:0,a=Math.max(t,i),h=0===a?0:Math.abs(e)/a,c=p;let g=Math.min(c*h,c);n!==l.colCount-1||1!==h||S||(g-=1);const m=O+f-P-H,y=S?D+W-g:D,C=cv(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h});if(C){const t=Jc({x:y,y:m,width:c,height:P,fill:C});b.addChild(t)}const _={left:y,top:m,width:g,height:P};let k;k=e>=0?cv(v,{col:n,row:s,table:l,context:null,value:r,percentile:h,dataValue:o})||"#20a8d8":cv(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8";const L=Jc({x:_.left,y:_.top,width:_.width,height:_.height,fill:k});if(b.addChild(L),A&&e){const t=B,i=[];let a;if(a=e>=0?cv(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8":cv(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8","right"===M){const t=S?_.left+B/2:_.left+_.width-B/2;i.push({x:t,y:_.top}),i.push({x:t,y:_.top+_.height})}else"bottom"===M&&(i.push({x:_.left,y:_.top+_.height-B/2}),i.push({x:_.left+_.width,y:_.top+_.height-B/2}));const c=Yc({x:0,y:0,stroke:a,lineWidth:t,points:i});b.addChild(c)}}}return b}function bI(t,e,i,r,o,n){if(i?.zero&&(t=Math.min(t,0),e=Math.max(e,0)),i?.expand){const r=t,o=e;J(i.expand.min)&&(t=r-(o-r)*i.expand.min),J(i.expand.max)&&(e=o+(o-r)*i.expand.max)}let s,a;if(at(i?.min)&&(t=i.min),at(i?.max)&&(e=i.max),"log"===i?.type?(s=new rF,s.base(i?.base??10)):"symlog"===i?.type?(s=new oF,s.constant(i?.constant??10)):s=new QE,s.domain([t,e],!!i?.nice),n)!function(t,e){t.niceMax(e.targetTicks.length)}(s,n);else if(i?.nice){let t=i.tick?.forceTickCount??i.tick?.tickCount??10;q(t)&&(t=t({axisLength:o,labelStyle:i?.label?.style??{fontSize:XL}})),"accurateFirst"===i.niceType&&(t=Math.max(10,t)),Z(i.min)&&Z(i.max)?s.nice(t):J(i.min)&&Z(i.max)?s.niceMax(t):Z(i.min)&&J(i.max)&&s.niceMin(t)}return delete s._niceType,a=n?.targetTicks?.length??i?.tick?.forceTickCount?s.forceTicks(n?.targetTicks?.length??i?.tick?.forceTickCount):s.ticks(at(i?.tick?.tickCount)?i.tick.tickCount:5,{noDecimals:i?.tick?.noDecimals}),{range:s.domain(),ticks:a}}function yI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=OR(o,n,p,g);b&&(t=g.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}let y;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),y=g.getCellIcons(t,e)}let C=0,w=0;if(Array.isArray(y)&&0!==y.length){const{leftIconWidth:e,rightIconWidth:i,absoluteLeftIconWidth:r,absoluteRightIconWidth:o}=KR(y,t,m,g);C=e+i,w=e,t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+a-i-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+a-o-h[1])})),t.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(l-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",l-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])}))}const v=function(t,e,i,r,o,n,s,a,l){const h=l._getCellStyle(t,e),c=IR("buttonColor",h,t,e,l),d=IR("buttonBorderColor",h,t,e,l),u=IR("buttonLineWidth",h,t,e,l),g=IR("buttonBorderRadius",h,t,e,l),p=IR("buttonHoverColor",h,t,e,l),f=IR("buttonHoverBorderColor",h,t,e,l),m=IR("buttonPadding",h,t,e,l),b=IR("buttonTextHoverColor",h,t,e,l),y=IR("buttonDisableColor",h,t,e,l),C=IR("buttonDisableBorderColor",h,t,e,l),w=IR("buttonTextDisableColor",h,t,e,l),v=l.getCellValue(t,e),x=l.getCellOriginValue(t,e),_=WR(t,e,l),S=l._getCellStyle(t,e),A=S.autoWrapText??l.internalProps.autoWrapText,{lineClamp:R}=S,T="auto"===i,B=l.isAutoRowHeight(e),{disable:M,text:P}=a,H=cv(M,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),k=cv(P,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),L=k??v??"",E={maxLineWidth:T?1/0:r-(n[1]+n[3]+_),textAlign:"left",textBaseline:"top",autoWrapText:A,lineClamp:R,wordBreak:"break-word",heightLimit:B?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:_,whiteSpace:1!==L.length||A?"normal":"no-wrap"},F=s.text?Object.assign({},s.text,E):E,I={x:0,y:0,cursor:H?"not-allowed":"pointer",disable:H,childrenPickable:!1,text:1===L.length?L[0]:L,textStyle:F,padding:m,panel:{visible:!0,fill:H?y:c,stroke:H?C:d,lineWidth:u,cornerRadius:g},state:{text:{},panel:{hover:{fill:p,stroke:f}}}};w&&(I.state.text.fill=w),b&&(I.state.text.hover.fill=b);const z=new $b(I);z.name="button",H||(z.addEventListener("mouseenter",(()=>{z.addState("hover",!0,!1),z.stage.renderNextFrame()})),z.addEventListener("mouseleave",(()=>{z.removeState("hover",!1),z.stage.renderNextFrame()})));return z}(o,n,s-C,a,l,h,p,f,g);return v&&t.appendChild(v),a-=h[1]+h[3]+C,l-=h[0]+h[2],"center"===c?v.setAttribute("x",h[3]+w+(a-v.AABBBounds.width())/2):"right"===c?v.setAttribute("x",h[3]+w+a-v.AABBBounds.width()):v.setAttribute("x",h[3]+w),"middle"===d?v.setAttribute("y",h[0]+(l-v.AABBBounds.height())/2):"bottom"===d?v.setAttribute("y",h[0]+l-v.AABBBounds.height()):v.setAttribute("y",h[0]),t}const CI=()=>{sx.registerFunction("createChartCellGroup",rI),sx.registerFunction("getAxisDomainRangeAndLabels",bI)},wI=()=>{sx.registerFunction("createCheckboxCellGroup",oI)},vI=()=>{sx.registerFunction("createImageCellGroup",XR)},xI=()=>{sx.registerFunction("createProgressBarCell",mI)},_I=()=>{sx.registerFunction("createRadioCellGroup",nI)},SI=()=>{sx.registerFunction("createSwitchCellGroup",aI)},AI=()=>{sx.registerFunction("createButtonCellGroup",yI)},RI=()=>{sx.registerFunction("createSparkLineCellGroup",cI)},TI=()=>{sx.registerFunction("createTextCellGroup",fI)},BI=()=>{sx.registerFunction("createVideoCellGroup",pI)};KF(),$F(),XF(),YF(),qF(),ZF(),sx.registerComponent("listTreeStickCellPlugin",JF),sx.registerComponent("customCellStylePlugin",vk),CI(),wI(),vI(),xI(),_I(),SI(),AI(),RI(),TI(),BI();TI();const MI={startInTotal:0,afterSpanLevel:0};class PI{sharedVar;colIndex=0;_showHeader=!0;rowDimensionTree;columnDimensionTree;rowTree;columnTree;cornerHeaderObjs;columnHeaderObjs=[];rowHeaderObjs=[];_cornerHeaderCellFullPathIds=[];_columnHeaderCellFullPathIds=[];_rowHeaderCellFullPathIds=[];_rowHeaderCellFullPathIds_FULL=[];_cornerHeaderCellIds=[];_columnHeaderCellIds=[];_rowHeaderCellIds=[];_rowHeaderCellIds_FULL=[];_columnWidths=[];_columnHeaderLevelCount;_rowHeaderLevelCount;rowsDefine;columnsDefine;indicatorsDefine;columnPaths=[];_headerObjects=[];_headerObjectMap={};_indicators=[];indicatorTitle;indicatorsAsCol=!0;hideIndicatorName=!1;_showRowHeader=!0;_showColumnHeader=!0;_rowHeaderTitle;_columnHeaderTitle;cornerSetting;_indicatorShowType="column";rowHierarchyType;columnHierarchyType;rowExpandLevel;columnExpandLevel;rowHierarchyIndent;rowHierarchyTextStartAlignment=!1;rowDimensionKeys=[];colDimensionKeys=[];indicatorKeys=[];indicatorDimensionKey=Nv;_largeCellRangeCache;_CellHeaderPathMap;_table;extensionRows;_rowHeaderExtensionTree={};_extensionRowDimensionKeys=[];fullRowDimensionKeys=[];dataset;pagination;currentPageStartIndex;currentPageEndIndex;hasTwoIndicatorAxes;_chartItemSpanSize;_chartPaddingInner;_chartPaddingOuter;_chartItemBandSize;_chartPadding;rowSeriesNumberColumn;leftRowSeriesNumberColumn;leftRowSeriesNumberColumnCount=0;rightRowSeriesNumberColumn;rightRowSeriesNumberColumnCount=0;_useGetBodyCache=!1;_getBodyCache=new Map;_useHeaderPathCache=!1;_colHeaderPathCache=new Map;_rowHeaderPathCache=new Map;constructor(t,e,i,r){this.sharedVar=t.layoutNodeId,this._table=t,"tree"===t.options.rowHierarchyType&&(this.extensionRows=t.options.extensionRows),this.dataset=e,this._largeCellRangeCache=[],this._CellHeaderPathMap=new Map,this.rowTree=t.internalProps.rowTree,this.columnTree=t.internalProps.columnTree,this.rowsDefine=t.internalProps.rows??[],this.columnsDefine=t.internalProps.columns??[],this.indicatorsDefine=t.internalProps.indicators??[],this.indicatorTitle=t.options.indicatorTitle,this.indicatorsAsCol=t.options.indicatorsAsCol??!0,this.hideIndicatorName=t.options.hideIndicatorName??!1,this.showRowHeader=t.options.showRowHeader??!0,this.showColumnHeader=t.options.showColumnHeader??!0,this.rowHeaderTitle=t.options.rowHeaderTitle,this.columnHeaderTitle=t.options.columnHeaderTitle,this.rowHierarchyType=t.options.rowHierarchyType??"grid",this.columnHierarchyType=t.options.columnHierarchyType??"grid",this.rowExpandLevel=t.options.rowExpandLevel??1,this.columnExpandLevel=t.options.columnExpandLevel??1,this.rowHierarchyIndent=t.options.rowHierarchyIndent??20,this.rowHierarchyTextStartAlignment=t.options.rowHierarchyTextStartAlignment,this.cornerSetting=Object.assign({titleOnDimension:"column",forceShowHeader:!1},t.options.corner),e&&(this.rowTree=e.rowHeaderTree,this.columnTree=e.colHeaderTree),this.indicatorsDefine?.forEach((t=>{"string"==typeof t?this.indicatorKeys.push(t):this.indicatorKeys.push(t.indicatorKey)})),this.columnDimensionTree=i,this.rowDimensionTree=r,this.colDimensionKeys=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.rowDimensionKeys=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(this.rowDimensionKeys),this.resetRowHeaderLevelCount(),this._table.isPivotChart()&&(this.hasTwoIndicatorAxes=this.indicatorsDefine.some((t=>{if(t.chartSpec&&t.chartSpec.series&&t.chartSpec.series.length>1){const e=t.chartSpec.axes??this._table.pivotChartAxes??[];if(!e.length||e.every((t=>t.orient!==(this.indicatorsAsCol?"top":"right")||!1!==t.visible)))return!0}return!1}))),this.resetColumnHeaderLevelCount(),this._generateColHeaderIds(),this.colIndex=0,this._generateRowHeaderIds(),this._rowHeaderCellFullPathIds_FULL=Gw(this._rowHeaderCellFullPathIds_FULL),"tree"===t.options.rowHierarchyType&&this.extensionRows?.length>=1&&(this.generateExtensionRowTree(),this.extensionRows.forEach((t=>{const e=[];t.rows.forEach((t=>{"string"==typeof t?e.push(t):e.push(t.dimensionKey)})),this._extensionRowDimensionKeys.push(e),this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(e)}))),this.sharedVar.seqId=Math.max(this.sharedVar.seqId,this._headerObjects.length);let o,n=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr();!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customColTree||(n=this.columnsDefine.map((t=>"string"==typeof t?t:t.dimensionKey)),this.indicatorsAsCol&&n.push(this.indicatorDimensionKey)),n=this.columnHeaderTitle?[""].concat(n):n;let s=[];if("tree"===this.rowHierarchyType&&this.extensionRows?.length>=1){const t=[];t.push(this.rowDimensionKeys[0]),this._extensionRowDimensionKeys.forEach((e=>{t.push(e[0])})),s=this.extensionRows.reduce(((t,e)=>t.concat(e.rows)),[]),o=this.rowHeaderTitle?[""].concat(t):t}else o=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customRowTree||(o=this.rowsDefine.map((t=>"string"==typeof t?t:t.dimensionKey)),this.indicatorsAsCol||o.push(this.indicatorDimensionKey)),o=this.rowHeaderTitle?[""].concat(o):o;this.cornerHeaderObjs=this._addCornerHeaders(n,o,this.columnsDefine.concat(...this.rowsDefine,...s)),this.colIndex=0,this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this.indicatorsAsCol&&!this.hideIndicatorName?this._indicatorShowType="column":this.indicatorsAsCol||this.hideIndicatorName?this._indicatorShowType="none":this._indicatorShowType="row",this.generateCellIdsConsiderHideHeader(),this.setPagination(t.options.pagination),this._table.isPivotChart()&&(this._chartItemSpanSize=0,this._chartItemBandSize=0,this._indicators.find((t=>{t?.style?.padding&&(this._chartPadding=t.style.padding),t.chartSpec?.barWidth&&"number"==typeof t.chartSpec.barWidth&&(this._chartItemSpanSize=t.chartSpec?.barWidth);const e=t.chartSpec?.axes?.find((t=>"band"===t.type));return e?.bandSize&&(this._chartItemBandSize=e?.bandSize,this._chartPaddingInner=(ot(e.paddingInner)?e.paddingInner[0]:e.paddingInner)??0,this._chartPaddingOuter=(ot(e.paddingOuter)?e.paddingOuter[0]:e.paddingOuter)??0),this._chartItemSpanSize>0||(t.chartSpec.series?.find((t=>(t.barWidth&&"number"==typeof t.barWidth&&(this._chartItemSpanSize=t.barWidth),this._chartItemSpanSize>0))),!1)}))),this.handleRowSeriesNumber(t.internalProps.rowSeriesNumber),this.setColumnWidths()}handleRowSeriesNumber(t){t&&(Array.isArray(t)?this.rowSeriesNumberColumn=t.map((t=>({id:"",title:t.title,define:t,cellType:t.cellType??"text",headerType:t.cellType??"text",width:t.width,style:t.style,format:t.format,field:t.field,icon:t.icon}))):this.rowSeriesNumberColumn=[{id:"",title:t.title,define:t,cellType:t.cellType??"text",headerType:t.cellType??"text",style:t.style,width:t.width,format:t.format,field:"",icon:t.icon,isChildNode:!1}],this.leftRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!0)),this.rightRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!1)),this.leftRowSeriesNumberColumnCount=this.leftRowSeriesNumberColumn.length,this.rightRowSeriesNumberColumnCount=this.rightRowSeriesNumberColumn.length)}_generateColHeaderIds(){if(this.columnDimensionTree.tree.children?.length>=1)if("grid-tree"===this.columnHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds,t,this.columnDimensionTree.tree.children,[],this.columnDimensionTree.totalLevel,this._getColumnHeaderTreeExpandedMaxLevelCount(),!0,this.columnsDefine,this.columnHeaderObjs,!1)}else{let t=0;if(this.dataset&&!this._table.isPivotChart()&&0===(this.dataset.records?.length??0)&&!this.dataset.customColTree&&!this.dataset.customRowTree&&this.indicatorsAsCol&&this._getColumnHeaderTreeExpandedMaxLevelCount()<this.columnHeaderLevelCount){t=this.columnHeaderLevelCount-this._getColumnHeaderTreeExpandedMaxLevelCount();for(let e=0;e<t;e++)this._columnHeaderCellFullPathIds.unshift([])}this._addHeaders(this._columnHeaderCellFullPathIds,t,this.columnDimensionTree.tree.children,[],this.columnHeaderObjs)}if(this.columnHeaderTitle){this.sharedVar.seqId=Math.max(this.sharedVar.seqId,this._headerObjects.length);const t=++this.sharedVar.seqId,e=Array(this.colCount-this.rowHeaderLevelCount-this.rightFrozenColCount).fill(t);this._columnHeaderCellFullPathIds.unshift(e);const i={id:t,title:"string"==typeof this.columnHeaderTitle.title?this.columnHeaderTitle.title:this.columnsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.columnHeaderTitle?.headerType??"text",style:this.columnHeaderTitle?.headerStyle,define:{id:t,disableHeaderHover:!!this.columnHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.columnHeaderTitle?.disableHeaderSelect}};this.columnHeaderObjs.push(i),this._headerObjects[t]=i}}_generateRowHeaderIds(){if(this.rowDimensionTree.tree.children?.length>=1)if("tree"===this.rowHierarchyType)this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL,0,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,!0,this.rowsDefine,this.rowHeaderObjs);else if("grid-tree"===this.rowHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL,t,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,this._getRowHeaderTreeExpandedMaxLevelCount(),!0,this.rowsDefine,this.rowHeaderObjs,!0)}else{let t=0;if(this.dataset&&!this._table.isPivotChart()&&0===(this.dataset.records?.length??0)&&!this.dataset.customColTree&&!this.dataset.customRowTree&&!this.indicatorsAsCol&&this._getRowHeaderTreeExpandedMaxLevelCount()<this.rowHeaderLevelCount){t=this.rowHeaderLevelCount-this._getRowHeaderTreeExpandedMaxLevelCount();for(let e=0;e<t;e++)this._rowHeaderCellFullPathIds_FULL.unshift([])}this._addHeaders(this._rowHeaderCellFullPathIds_FULL,t,this.rowDimensionTree.tree.children,[],this.rowHeaderObjs)}if(this.rowHeaderTitle){this.sharedVar.seqId=Math.max(this.sharedVar.seqId,this._headerObjects.length);const t=++this.sharedVar.seqId,e=Array(this._rowHeaderCellFullPathIds_FULL[0]?.length??this.rowDimensionTree.tree.size).fill(t);this._rowHeaderCellFullPathIds_FULL.unshift(e);const i={id:t,title:"string"==typeof this.rowHeaderTitle.title?this.rowHeaderTitle.title:this.rowsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.rowHeaderTitle?.headerType??"text",style:this.rowHeaderTitle?.headerStyle,define:{id:t,disableHeaderHover:!!this.rowHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.rowHeaderTitle?.disableHeaderSelect}};this.rowHeaderObjs.push(i),this._headerObjects[t]=i}}_getRowHeaderTreeExpandedMaxLevelCount(){return"tree"===this.rowHierarchyType?1:"grid-tree"===this.rowHierarchyType?"row"===this.cornerSetting.titleOnDimension?this.rowDimensionTree.totalLevel:this.indicatorsAsCol?this.rowDimensionTree.expandedMaxLevel:this.rowDimensionTree.expandedMaxLevel+1:this.rowDimensionTree.totalLevel}_getColumnHeaderTreeExpandedMaxLevelCount(){return"grid-tree"===this.columnHierarchyType?"column"===this.cornerSetting.titleOnDimension?this.columnDimensionTree.totalLevel:!1===this.indicatorsAsCol?this.columnDimensionTree.expandedMaxLevel:this.columnDimensionTree.expandedMaxLevel+1:this.columnDimensionTree.totalLevel}_addHeaders(t,e,i,r,o){const n=this;t[e]||function(e){const i=t[e]=[];if(0===n.colIndex)return i;const r=t[e-1];for(let t=0;t<r?.length;t++)i[t]=r[t]}(e);for(let n=0;n<i.length;n++){VH(i[n],t,o,r,e,this)}}_addHeadersForTreeMode(t,e,i,r,o,n,s,a){const l=this;t[e]||function(e){const i=t[e]=[];if(0===l.colIndex)return i;const r=t[e-1];for(let t=0;t<r?.length;t++)i[t]=r[t]}(e);for(let l=0;l<i.length;l++){UH(i[l],t,a,r,e,o,n,s,this)}}_addHeadersForGridTreeMode(t,e,i,r,o,n,s,a,l,h){const c=this;t[e]||function(e){const i=t[e]=[];if(0===c.colIndex)return i;const r=t[e-1];for(let t=0;t<r?.length;t++)i[t]=r[t]}(e);for(let c=0;c<i.length;c++){jH(i[c],t,l,r,e,o,n,s,a,h,this.indicatorsAsCol,this)}}_addCornerHeaders(t,e,i){this._cornerHeaderCellFullPathIds=[];const r=[],o="grid-tree"===this.columnHierarchyType&&this._getColumnHeaderTreeExpandedMaxLevelCount()||this.columnHeaderLevelCount,n="grid-tree"===this.rowHierarchyType&&this._getRowHeaderTreeExpandedMaxLevelCount()||this.rowHeaderLevelCount;if("all"===this.cornerSetting.titleOnDimension)if(this.indicatorsAsCol){if(t)for(let e=0;e<o;e++){const o=t[e],s=++this.sharedVar.seqId,a=i.find((t=>"string"!=typeof t&&t.dimensionKey===o)),l={id:s,title:o===this.indicatorDimensionKey?this.indicatorTitle:a?a.title:"axis"===o?"":o,field:o,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:a?.showSortInCorner,sort:a?.sort,define:{showSort:a?.showSortInCorner,sort:a?.sort,dimensionKey:o,id:s,value:o,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:a?.cornerDropDownMenu,headerIcon:a?.cornerHeaderIcon,pivotInfo:{value:a?.title??"",dimensionKey:o,isPivotCorner:!0},description:a?.cornerDescription};r[s]=l,this._headerObjects[s]=l,this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]);for(let t=0;t<n;t++)this._cornerHeaderCellFullPathIds[e][t]=s}if(e)for(let t=0;t<n;t++){const o=e[t],n=++this.sharedVar.seqId,s=i.find((t=>"string"!=typeof t&&t.dimensionKey===o)),a={id:n,title:o===this.indicatorDimensionKey?this.indicatorTitle:s?s.title:"axis"===o?"":o,field:o,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:s?.showSortInCorner,sort:s?.sort,define:{showSort:s?.showSortInCorner,sort:s?.sort,dimensionKey:o,id:n,value:o,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:s?.cornerDropDownMenu,headerIcon:s?.cornerHeaderIcon,pivotInfo:{value:s?.title??"",dimensionKey:o,isPivotCorner:!0},description:s?.cornerDescription};r[n]=a,this._headerObjects[n]=a,this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length-1]||(this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length-1]=[]),this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length-1][t]=n}}else{if(e)for(let t=0;t<n;t++){const n=e[t],s=++this.sharedVar.seqId,a=i.find((t=>"string"!=typeof t&&t.dimensionKey===n)),l={id:s,title:n===this.indicatorDimensionKey?this.indicatorTitle:a?a.title:"axis"===n?"":n,field:n,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:a?.showSortInCorner,sort:a?.sort,define:{showSort:a?.showSortInCorner,sort:a?.sort,dimensionKey:n,id:s,value:n,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:a?.cornerDropDownMenu,headerIcon:a?.cornerHeaderIcon,pivotInfo:{value:a?.title??"",dimensionKey:n,isPivotCorner:!0},description:a?.cornerDescription};r[s]=l,this._headerObjects[s]=l;for(let e=0;e<o;e++)this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]),this._cornerHeaderCellFullPathIds[e][t]=s}if(t)for(let e=0;e<o;e++){const o=t[e],n=++this.sharedVar.seqId,s=i.find((t=>"string"!=typeof t&&t.dimensionKey===o)),a={id:n,title:o===this.indicatorDimensionKey?this.indicatorTitle:s?s.title:"axis"===o?"":o,field:o,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:s?.showSortInCorner,sort:s?.sort,define:{showSort:s?.showSortInCorner,sort:s?.sort,dimensionKey:o,id:n,value:o,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:s?.cornerDropDownMenu,headerIcon:s?.cornerHeaderIcon,pivotInfo:{value:s?.title??"",dimensionKey:o,isPivotCorner:!0},description:s?.cornerDescription};r[n]=a,this._headerObjects[n]=a,this._cornerHeaderCellFullPathIds[e][this._cornerHeaderCellFullPathIds[e].length-1]=n}}else if("row"===this.cornerSetting.titleOnDimension||"column"===this.cornerSetting.titleOnDimension){const o="row"===this.cornerSetting?.titleOnDimension?e:t;o&&o.forEach(((t,e)=>{const o=++this.sharedVar.seqId,n=i.find((e=>"string"!=typeof e&&e.dimensionKey===t)),s={id:o,title:t===this.indicatorDimensionKey?this.indicatorTitle:n?n.title:"axis"===t?"":t,field:t,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:n?.showSortInCorner,sort:n?.sort,define:{showSort:n?.showSortInCorner,sort:n?.sort,dimensionKey:t,id:o,value:t,headerCustomRender:this.cornerSetting.customRender,headerCustomLayout:this.cornerSetting.customLayout,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:n?.cornerDropDownMenu,headerIcon:n?.cornerHeaderIcon,pivotInfo:{value:n?.title??"",dimensionKey:t,isPivotCorner:!0},description:n?.cornerDescription};if(r[o]=s,this._headerObjects[o]=s,"column"===this.cornerSetting.titleOnDimension){this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]);for(let t=0;t<this.rowHeaderLevelCount;t++)this._cornerHeaderCellFullPathIds[e][t]=o}else if("row"===this.cornerSetting.titleOnDimension)for(let t=0;t<this.columnHeaderLevelCount;t++)this._cornerHeaderCellFullPathIds[t]||(this._cornerHeaderCellFullPathIds[t]=[]),this._cornerHeaderCellFullPathIds[t][e]=o}))}else{const t=++this.sharedVar.seqId,e={id:t,title:"",field:"维度名称",style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",define:{dimensionKey:"维度名称",id:t,headerCustomRender:this.cornerSetting.customRender,headerCustomLayout:this.cornerSetting.customLayout,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect}};r[t]=e,this._headerObjects[t]=e;for(let e=0;e<this.columnHeaderLevelCount;e++)for(let i=0;i<this.rowHeaderLevelCount;i++)this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]),this._cornerHeaderCellFullPathIds[e][i]=t}return r}generateExtensionRowTree(){this.extensionRows.forEach(((t,e)=>{const i=this._rowHeaderCellFullPathIds_FULL;this._rowHeaderCellFullPathIds_FULL=[],i.forEach(((e,i)=>{const r=e[e.length-1];let o,n;if(this.colIndex=0,"function"==typeof t.rowTree){const i=this.findFullCellIds(e);o=t.rowTree(i.map((t=>({dimensionKey:this._headerObjects[t].field,value:this._headerObjects[t].title}))))}else o=Ct(t.rowTree);this._rowHeaderExtensionTree[r]?(this._rowHeaderExtensionTree[r].reset(this._rowHeaderExtensionTree[r].tree.children),n=this._rowHeaderExtensionTree[r]):(n=new WH(o??[],this.sharedVar,this.rowHierarchyType,void 0),this._rowHeaderExtensionTree[r]=n);const s=[];this._addHeadersForTreeMode(s,0,n.tree.children,[],n.totalLevel,!0,t.rows,this.rowHeaderObjs);for(let t=0;t<s[0].length;t++)this._rowHeaderCellFullPathIds_FULL.push(e.concat(s[0][t]))}))}))}setColumnWidths(){const t=new Array(this.colCount).fill(void 0);if(this.leftRowSeriesNumberColumnCount&&(t[0]=this.leftRowSeriesNumberColumn[0]),this.showHeader&&this.showRowHeader)if(this.rowHeaderTitle&&(t[0+this.leftRowSeriesNumberColumnCount]={}),"tree"===this.rowHierarchyType){const e=this.rowDimensionKeys[0];if(e){const i=this.rowsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===e));i&&(t[0+(this.rowHeaderTitle?1:0)+this.leftRowSeriesNumberColumnCount]={width:i.width,minWidth:i.minWidth,maxWidth:i.maxWidth})}this._extensionRowDimensionKeys?.forEach(((e,i)=>{const r=e[0];if(r){const e=this.extensionRows[i].rows?.find((t=>"string"!=typeof t&&t.dimensionKey===r));e&&(t[i+1+(this.rowHeaderTitle?1:0)+this.leftRowSeriesNumberColumnCount]={width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth})}}))}else{(this.rowDimensionTree.totalLevel>0?this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr():this.rowsDefine.map((t=>"string"==typeof t?t:t.dimensionKey))).forEach(((e,i)=>{const r=this.rowsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===e));r&&(t[i+(this.rowHeaderTitle?1:0)+this.leftRowSeriesNumberColumnCount]={width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth})}))}if(this.indicatorsAsCol)for(let e=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;e<this.colCount;e++){const i=this.getBody(e,this.columnHeaderLevelCount);t[e]={width:i?.width,minWidth:i?.minWidth,maxWidth:i?.maxWidth}}else{let e,i,r,o=0;this._indicators?.forEach(((t,n)=>{"number"==typeof t.width?o=Math.max(t.width,o):"auto"===t.width&&(r=!0),"number"==typeof t.minWidth&&(i=Math.max(t.minWidth,i??0)),"number"==typeof t.maxWidth&&(e=Math.min(t.maxWidth,e??Number.MAX_VALUE))})),o=o>0?o:r?"auto":void 0,t.fill({width:o,minWidth:i,maxWidth:e},this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount,this.colCount-this.rightFrozenColCount)}this._columnWidths=t}get columnWidths(){return this._columnWidths}getColumnWidthDefined(t){return this._columnWidths[t]}get showHeader(){return this._showHeader}set showHeader(t){this._showHeader=t}get showColumnHeader(){return this._showColumnHeader}set showColumnHeader(t){this._showColumnHeader=t}get showRowHeader(){return this._showRowHeader}set showRowHeader(t){this._showRowHeader=t}get columnHeaderTitle(){return this._columnHeaderTitle}set columnHeaderTitle(t){this._columnHeaderTitle=t}get rowHeaderTitle(){return this._rowHeaderTitle}set rowHeaderTitle(t){this._rowHeaderTitle=t}getHeaderFieldKey(t,e){}getCellLocation(t,e){return this.isCornerHeader(t,e)?"cornerHeader":this.isColumnHeader(t,e)?"columnHeader":this.isRowHeader(t,e)?"rowHeader":"body"}isHeader(t,e){return t>=this.leftRowSeriesNumberColumnCount&&t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount||(e>=0&&e<this.columnHeaderLevelCount||(t>=this.colCount-this.rightHeaderColCount||e>=this.rowCount-this.bottomHeaderRowCount))}isCornerHeader(t,e){return t>=0&&t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount&&e>=0&&e<this.columnHeaderLevelCount}isColumnHeader(t,e){return t>=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount&&e>=0&&e<this.columnHeaderLevelCount}isRowHeader(t,e){return t>=this.leftRowSeriesNumberColumnCount&&t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount&&e>=this.columnHeaderLevelCount}isFrozen(t,e){return this.isFrozenColumn(t)||this.isRightFrozenColumn(t)||this.isBottomFrozenRow(e)||this.isFrozenRow(e)||this.isSeriesNumberInBody(t,e)||this.isSeriesNumberInHeader(t,e)}isFrozenColumn(t,e){if(J(e)){if(t>=0&&t<this.frozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.frozenColCount>0&&t>=0&&t<this.frozenColCount)return!0;return!1}isRightFrozenColumn(t,e){if(J(e)){if(t>=this.colCount-this.rightFrozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.rightFrozenColCount>0&&t>=this.colCount-this.rightFrozenColCount)return!0;return!1}isFrozenRow(t,e){if(J(e)){if(e>=0&&e<this.frozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.frozenRowCount>0&&e>=0&&e<this.frozenRowCount)return!0;return!1}isBottomFrozenRow(t,e){if(J(e)){if(e>=this.rowCount-this.bottomFrozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.bottomFrozenRowCount>0&&e>=this.rowCount-this.bottomFrozenRowCount)return!0;return!1}isLeftTopCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=0&&e<this.frozenRowCount}isLeftBottomCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}isRightTopCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=0&&e<this.frozenRowCount}isRightBottomCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}getColumnHeaderRange(){return{start:{col:this.rowHeaderLevelCount,row:0},end:{col:this.colCount-1,row:this.columnHeaderLevelCount-1}}}getRowHeaderRange(){return{start:{col:0,row:this.columnHeaderLevelCount},end:{col:this.rowHeaderLevelCount-1,row:this.rowCount-1}}}getCornerHeaderRange(){return{start:{col:0,row:0},end:{col:this.rowHeaderLevelCount-1,row:this.columnHeaderLevelCount-1}}}getBodyRange(){return{start:{col:this.rowHeaderLevelCount,row:this.columnHeaderLevelCount},end:{col:this.colCount-1,row:this.rowCount-1}}}resetCellIds(){}get frozenColCount(){return this._table.internalProps.frozenColCount?this.colCount>this._table.internalProps.frozenColCount?this._table.internalProps.frozenColCount:this.colCount:0}get frozenRowCount(){return this._table.internalProps.frozenRowCount?this.rowCount>=this._table.internalProps.frozenRowCount?this._table.internalProps.frozenRowCount:this.rowCount:0}get headerLevelCount(){return this.columnHeaderLevelCount}resetColumnHeaderLevelCount(){if(this.showHeader&&this.showColumnHeader){if(this._table.isPivotChart()&&this.indicatorsAsCol&&!this.dataset?.colKeys?.length&&0===this.columnDimensionTree?.tree?.level&&!this.hasTwoIndicatorAxes)return void(this.columnHeaderLevelCount=0);let t=this._getColumnHeaderTreeExpandedMaxLevelCount();return this.indicatorsAsCol&&this.hideIndicatorName&&this.colDimensionKeys[this.colDimensionKeys.length-1]===this.indicatorDimensionKey&&t--,0===t&&this.dataset&&!this.dataset.customColTree?.length?"row"===this.cornerSetting.titleOnDimension&&this.cornerSetting.forceShowHeader?t=1:this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(t=this.columnsDefine.length??0):!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customColTree||"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(t=this.columnsDefine.length??0,!this.hideIndicatorName&&this.indicatorsAsCol&&t++),this.columnHeaderTitle&&(t+=1),this._table.isPivotChart()&&this.indicatorsAsCol&&!this.hasTwoIndicatorAxes&&QL(this.indicatorsDefine)&&(t-=1),void(this.columnHeaderLevelCount=t)}this.columnHeaderLevelCount=this.indicatorsAsCol?this.hideIndicatorName?0:1:0}resetRowHeaderLevelCount(){if(this.showHeader&&this.showRowHeader){if("tree"===this.rowHierarchyType){const t=this.extensionRows?.length??0;return this.rowHeaderTitle?void(this.rowHeaderLevelCount=2+t):void(this.rowHeaderLevelCount=1+t)}const t=this._getRowHeaderTreeExpandedMaxLevelCount();let e=t;return 0===e&&this.dataset&&!this.dataset.customRowTree?.length?"column"===this.cornerSetting.titleOnDimension&&this.cornerSetting.forceShowHeader?e=1:this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"row"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(e=this.rowsDefine.length??0):!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customRowTree||"row"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(e=this.rowsDefine.length,this.hideIndicatorName||this.indicatorsAsCol||e++),!this.indicatorsAsCol&&this.hideIndicatorName&&this.rowDimensionKeys[this.rowDimensionKeys.length-1]===this.indicatorDimensionKey&&(e=t-1),this.rowHeaderTitle&&(e+=1),void(this.rowHeaderLevelCount=e)}this.rowHeaderLevelCount=this.indicatorsAsCol||this.hideIndicatorName?0:1}get columnHeaderLevelCount(){return this._columnHeaderLevelCount}set columnHeaderLevelCount(t){this._columnHeaderLevelCount=t}get rowHeaderLevelCount(){return this._rowHeaderLevelCount}set rowHeaderLevelCount(t){this._rowHeaderLevelCount=t}get colCount(){return(this._getColumnHeaderTreeExpandedMaxLevelCount()>0||this._table.isPivotChart()||this.dataset.records?.length>0||this.dataset.records&&!Array.isArray(this.dataset.records)?this._columnHeaderCellIds[0]?.length??this.columnDimensionTree.tree.size:0)+this.rowHeaderLevelCount+this.rightHeaderColCount+this.leftRowSeriesNumberColumnCount}get rowCount(){return((this._table.records||this.dataset.records)&&(!Array.isArray(this._table.records)||this._table.records.length>0)&&this._indicators?.length>0&&!this._rowHeaderCellIds?.length?1:this._rowHeaderCellIds?.length??0)+this.columnHeaderLevelCount+this.bottomHeaderRowCount}get bodyRowSpanCount(){return this.rowDimensionTree.tree.size}get bottomFrozenRowCount(){if(!this._table.isPivotChart())return this._table.internalProps.bottomFrozenRowCount?this.rowCount-this.headerLevelCount>=this._table.internalProps.bottomFrozenRowCount?this._table.internalProps.bottomFrozenRowCount:this.rowCount-this.headerLevelCount:0;if(this.indicatorKeys.length>=1&&QL(this.indicatorsDefine)){const t=this._table.pivotChartAxes.find((t=>"bottom"===t.orient));return!1===t?.visible?0:(this.indicatorsAsCol,1)}return 0}get rightFrozenColCount(){if(!this._table.isPivotChart())return this._table.internalProps.rightFrozenColCount?this.colCount-this.rowHeaderLevelCount>=this._table.internalProps.rightFrozenColCount?this._table.internalProps.rightFrozenColCount:this.colCount-this.rowHeaderLevelCount:0;const t=this._table.pivotChartAxes.find((t=>"right"===t.orient));return!1===t?.visible||this.indicatorsAsCol?0:this.hasTwoIndicatorAxes?1:0}get bodyRowCount(){return this.rowCount-this.bottomFrozenRowCount-this.headerLevelCount}get bodyColCount(){return this.colCount-this.rightFrozenColCount-this.rowHeaderLevelCount}get headerObjects(){return this._headerObjects}get columnObjects(){return this._indicators}getCellId(t,e){if(e>=0&&t>=0){if(this.isSeriesNumber(t,e))return"";if(this.isCornerHeader(t,e))return this._cornerHeaderCellIds[e]?.[t-this.leftRowSeriesNumberColumnCount];if(this.isColumnHeader(t,e))return this._columnHeaderCellIds[e]?.[t-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount];if(this.isRowHeader(t,e))return this._rowHeaderCellIds[e-this.columnHeaderLevelCount]?.[t-this.leftRowSeriesNumberColumnCount];if(this.isRightFrozenColumn(t,e))return this._rowHeaderCellIds[e-this.columnHeaderLevelCount]?.[this.rowHeaderLevelCount-1];if(this.isBottomFrozenRow(t,e))return this._columnHeaderCellIds[this.columnHeaderLevelCount-1]?.[t-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount]}}getHeader(t,e){if(this.isSeriesNumberInHeader(t,e))return this.getSeriesNumberHeader(t,e);const i=this.getCellId(t,e);return this._headerObjectMap[i]??{id:void 0,field:"",headerType:"text",define:void 0}}getHeaderField(t,e){const i=this.getCellId(t,e);return this._headerObjectMap[i]?.field||this.getBody(t,e)?.field}getHeaderCellAdressById(t){for(let e=0;e<this._columnHeaderCellIds.length;e++){const i=this._columnHeaderCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return{col:r+this._table.frozenColCount,row:e}}for(let e=0;e<this._rowHeaderCellIds.length;e++){const i=this._rowHeaderCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return{col:r,row:e+this._table.frozenRowCount}}for(let e=0;e<this._cornerHeaderCellIds.length;e++){const i=this._cornerHeaderCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return{col:r,row:e}}}getHeaderCellAddressByField(t){const e=this.headerObjects.find((e=>e&&e.field===t));return e&&this.getHeaderCellAdressById(e.id)}getBody(t,e){const i=this.getBodyWidthCache(t,e);if(i)return i;if(this.isSeriesNumber(t,e)){const i=this.getSeriesNumberBody(t,e);return this.setBodyWidthCache(t,e,i),i}const r=this.getCellHeaderPaths(t,e);if(this.indicatorsAsCol){const i=r.colHeaderPaths?.find((t=>t.indicatorKey))?.indicatorKey,o=J(i)?this._indicators?.find((t=>t.indicatorKey===i))??this._indicators[0]??{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0}:{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0};return this.setBodyWidthCache(t,e,o),o}const o=r.rowHeaderPaths?.find((t=>t.indicatorKey))?.indicatorKey,n=J(o)?this._indicators?.find((t=>t.indicatorKey===o))??this._indicators[0]??{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0}:{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0};return this.setBodyWidthCache(t,e,n),n}getCellRange(t,e){const i={start:{col:t,row:e},end:{col:t,row:e}};if(!this.isHeader(t,e)||-1===t||-1===e)return i;if(this.isRightFrozenColumn(t,e)||this.isBottomFrozenRow(t,e))return i;if(this._table.isPivotChart()){if(this.isLeftBottomCorner(t,e))return{start:{col:0,row:this.rowCount-this.bottomFrozenRowCount},end:{col:this.frozenColCount-1,row:this.rowCount-1}};if(this.isRightTopCorner(t,e))return{start:{col:this.colCount-this.rightFrozenColCount,row:0},end:{col:this.colCount-1,row:this.frozenRowCount-1}};if(this.isRightBottomCorner(t,e))return{start:{col:this.colCount-this.rightFrozenColCount,row:this.rowCount-this.bottomFrozenRowCount},end:{col:this.colCount-1,row:this.rowCount-1}}}for(let i=0;i<this._largeCellRangeCache.length;i++){const r=this._largeCellRangeCache[i];if(t>=r.start.col&&t<=r.end.col&&e>=r.start.row&&e<=r.end.row)return r}if(this.isHeader(t,e)&&-1!==t&&-1!==e){const r=this.getCellId(t,e);for(let o=t-1;o>=0&&r===this.getCellId(o,e);o--)i.start.col=o;for(let o=t+1;o<(this.colCount??0)&&r===this.getCellId(o,e);o++)i.end.col=o;for(let o=e-1;o>=0&&r===this.getCellId(t,o);o--)i.start.row=o;for(let o=e+1;o<(this.rowCount??0)&&!(r!==this.getCellId(t,o)||this.isSeriesNumberInHeader(t,e)&&o>=this.columnHeaderLevelCount);o++)i.end.row=o}return(i.end.col-i.start.col>100||i.end.row-i.start.row>100)&&this._largeCellRangeCache.push(i),i}isCellRangeEqual(t,e,i,r){const o=this.getCellRange(t,e),n=this.getCellRange(i,r);return o.start.col===n.start.col&&o.end.col===n.end.col&&o.start.row===n.start.row&&o.end.row===n.end.row}getBodyIndexByRow(t){return t<this.columnHeaderLevelCount||t>=this.rowCount-this.bottomHeaderRowCount?-1:t-this.columnHeaderLevelCount}get bottomHeaderRowCount(){return this._table.isPivotChart()?this.bottomFrozenRowCount:0}get rightHeaderColCount(){return this._table.isPivotChart()?this.rightFrozenColCount:0}getBodyIndexByCol(t){return t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount||t>=this.colCount-this.rightHeaderColCount?-1:t-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount}getRecordStartRowByRecordIndex(t){return this.columnHeaderLevelCount+t}getRecordShowIndexByCell(t,e){}getCellHeaderPathsWithTreeNode(t,e){for(let i=0;i<this._largeCellRangeCache.length;i++){const r=this._largeCellRangeCache[i];if(t>=r.start.col&&t<=r.end.col&&e>=r.start.row&&e<=r.end.row)break}let i=this.getColHeaderPathCache(t,e),r=this.getRowHeaderPathCache(t,e);const o=this.getBodyIndexByCol(t),n=this.getBodyIndexByRow(e)+this.currentPageStartIndex;if(!i&&e>=0&&o>=0){if(i=[],"grid-tree"===this.columnHierarchyType){const t=[];this._columnHeaderCellFullPathIds.map((e=>{t.push(e[o])}));const e=this.getTreePathByCellIds(t);i.push(...e)}else i=this.columnDimensionTree.getTreePath(o,this.showHeader&&this.showColumnHeader?e-(this.columnHeaderTitle?1:0):this.columnDimensionTree.totalLevel);this.setColHeaderPathCache(t,e,i)}if(!r&&t>=0&&n>=0){if(r=[],"tree"===this.rowHierarchyType){const t=this._rowHeaderCellFullPathIds[n];let e=this.rowDimensionTree,i=0;for(;e;){const o=[];let n=t[i];for(o.push(n);;){const t=this._headerObjectMap[n];if(!t?.parentCellId)break;o.unshift(t.parentCellId),n=t.parentCellId}const s=this.getTreePathByCellIds(o);r.push(...s),e=this._rowHeaderExtensionTree[t[i]],i++}}else if("grid-tree"===this.rowHierarchyType){const t=this._rowHeaderCellFullPathIds[n],e=this.getTreePathByCellIds(t);r.push(...e)}else r=this.rowDimensionTree.getTreePath(n,this.showHeader&&this.showRowHeader?t-(this.rowHeaderTitle?1:0)-this.leftRowSeriesNumberColumnCount:this.rowDimensionTree.totalLevel);this.setRowHeaderPathCache(t,e,r)}return{colHeaderPaths:i,rowHeaderPaths:r,cellLocation:this.getCellLocation(t,e)}}getTreePathByCellIds(t){const e=[];for(let i=0;i<t.length;i++){const r=t[i];if(i>0&&r===t[i-1])continue;const o=this._headerObjects[r];o?.define&&e.push(o.define)}return e}getCellHeaderPaths(t,e){const i=this.getCellHeaderPathsWithTreeNode(t,e),r={colHeaderPaths:[],rowHeaderPaths:[],cellLocation:i.cellLocation};return i.colHeaderPaths?.forEach((t=>{const e={};e.dimensionKey=t.dimensionKey,e.indicatorKey=t.indicatorKey,e.value=t.value??this.getIndicatorInfoByIndicatorKey(t.indicatorKey)?.title??"",e.virtual=t.virtual,r.colHeaderPaths.push(e)})),i.rowHeaderPaths?.forEach((t=>{if("axis"!==t.dimensionKey){const e={};e.dimensionKey=t.dimensionKey,e.indicatorKey=t.indicatorKey,e.value=t.value??this.getIndicatorInfoByIndicatorKey(t.indicatorKey)?.title??"",e.virtual=t.virtual,r.rowHeaderPaths.push(e)}})),r}getIndicatorInfoByIndicatorKey(t){const e=this.indicatorsDefine?.find((e=>"string"!=typeof e&&(!!t&&e.indicatorKey===t)));return e}findFullCellIds(t){const e=[];for(let i=0;i<t.length;i++){let r=t[i];for(e.push(r);;){const t=this._headerObjectMap[r];if(!t?.parentCellId)break;e.unshift(t.parentCellId),r=t.parentCellId}}return e}getHeaderDimension(t,e){if(this.isHeader(t,e)){const i=this.getHeader(t,e);return this.rowsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===i.field))??this.columnsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===i.field))}}isColumnIndicatorHeader(t,e){return"column"===this._indicatorShowType&&e===this.columnHeaderLevelCount-1&&t>=this.rowHeaderLevelCount}isRowIndicatorHeader(t,e){return"row"===this._indicatorShowType&&t===this.rowHeaderLevelCount-1&&e>=this.columnHeaderLevelCount}isIndicatorHeader(t,e){return this.isColumnIndicatorHeader(t,e)||this.isRowIndicatorHeader(t,e)}toggleHierarchyState(t,e){this.colIndex=0;const i=(this.indicatorsAsCol?this.rowHeaderLevelCount-1:this.rowHeaderLevelCount-2)-this.leftRowSeriesNumberColumnCount,r=this._rowHeaderCellFullPathIds_FULL.slice(0),o=r.map(((e,i)=>({col:t,row:i+this.columnHeaderLevelCount}))),n=this.getHeader(t,e);if(n.define.hierarchyState=n.define.hierarchyState===ZC.collapse?ZC.expand:ZC.collapse,this.rowDimensionTree.reset(this.rowDimensionTree.tree.children),this.resetRowHeaderLevelCount(),this._rowHeaderCellFullPathIds_FULL=[],this.rowDimensionKeys=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.fullRowDimensionKeys=[],this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(this.rowDimensionKeys),"tree"===this.rowHierarchyType)this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL,0,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,!0,this.rowsDefine,this.rowHeaderObjs);else if("grid-tree"===this.rowHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL,t,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,this._getRowHeaderTreeExpandedMaxLevelCount(),!0,this.rowsDefine,this.rowHeaderObjs,!0),this.cornerHeaderObjs=this._addCornerHeaders(this.colDimensionKeys,this.rowDimensionKeys,this.columnsDefine.concat(...this.rowsDefine))}if(this.rowHeaderTitle){const t=++this.sharedVar.seqId,e=Array(this.rowCount-this.columnHeaderLevelCount).fill(t);this._rowHeaderCellFullPathIds_FULL.unshift(e);const i={id:t,title:"string"==typeof this.rowHeaderTitle.title?this.rowHeaderTitle.title:this.rowsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.rowHeaderTitle?.headerType??"text",style:this.rowHeaderTitle?.headerStyle,define:{field:"",headerType:"text",cellType:"text",disableHeaderHover:!!this.rowHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.rowHeaderTitle?.disableHeaderSelect}};this.rowHeaderObjs.push(i),this._headerObjects[t]=i}let s;if(this._rowHeaderCellFullPathIds_FULL=Gw(this._rowHeaderCellFullPathIds_FULL),"tree"===this.rowHierarchyType&&this.extensionRows?.length>=1&&this.generateExtensionRowTree(),this.colIndex=0,this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,"tree"===this.rowHierarchyType)s=function(t,e,i,r,o,n){const s=n.columnHeaderLevelCount,a=[],l=[];for(let t=0;t<i.length;t++)r.includes(i[t])||l.push(o[t]);for(let e=0;e<r.length;e++)if(!i.includes(r[e])){const i={col:t,row:s+e};a.push(i)}let h=n.getParentCellId(t,e),c=n.getRowHeaderCellAddressByCellId(h);const d=[];for(c&&d.push(c);h;)h=n.getParentCellId(c.col,c.row),h&&(c=n.getRowHeaderCellAddressByCellId(h),d.push(c));return{addCellPositionsRowDirection:a,removeCellPositionsRowDirection:l,updateCellPositionsRowDirection:d}}(t,e,r.map((e=>e[t-this.leftRowSeriesNumberColumnCount])),this._rowHeaderCellFullPathIds_FULL.map((e=>e[t-this.leftRowSeriesNumberColumnCount])),o,this);else{const n=(this.indicatorsAsCol?this.rowHeaderLevelCount-1:this.rowHeaderLevelCount-2)-this.leftRowSeriesNumberColumnCount;s=function(t,e,i,r,o,n){const s=n.columnHeaderLevelCount,a=[],l=[];for(let t=0;t<i.length;t++)r.includes(i[t])||l.push(o[t]);for(let e=0;e<r.length;e++)if(!i.includes(r[e])){const i={col:t,row:s+e};a.push(i)}let h=n.getParentCellId(t,e),c=n.getRowHeaderCellAddressByCellId(h);const d=[];for(c&&d.push(c);h;)h=n.getParentCellId(c.col,c.row),h&&(c=n.getRowHeaderCellAddressByCellId(h),d.push(c));const u=[],g=[];if("grid-tree"===n.rowHierarchyType&&"column"===n.cornerSetting.titleOnDimension&&n.rowHeaderLevelCount!==n._cornerHeaderCellIds[0].length)if(n.rowHeaderLevelCount>n._cornerHeaderCellIds[0].length)for(let t=n._cornerHeaderCellIds[0].length;t<n.rowHeaderLevelCount;t++)u.push({col:t,row:e});else for(let t=n.rowHeaderLevelCount;t<n._cornerHeaderCellIds[0].length;t++)g.push({col:t,row:e});return{addCellPositionsRowDirection:a,removeCellPositionsRowDirection:l,updateCellPositionsRowDirection:d,addCellPositionsColumnDirection:u,removeCellPositionsColumnDirection:g}}(t,e,r.map((t=>t[i])),this._rowHeaderCellFullPathIds_FULL.map((t=>t[n])),o,this)}return this.generateCellIdsConsiderHideHeader(),this.setPagination(this.pagination),"grid-tree"===this.rowHierarchyType&&this.setColumnWidths(),s}toggleHierarchyStateForColumnTree(t,e){this.colIndex=0;const i=this.indicatorsAsCol?this.columnHeaderLevelCount-2:this.columnHeaderLevelCount-1,r=this._columnHeaderCellFullPathIds.slice(0),o=r[this.columnHeaderLevelCount-1].map(((t,i)=>({col:i+this.rowHeaderLevelCount,row:e}))),n=this.getHeader(t,e);if(n.define.hierarchyState=n.define.hierarchyState===ZC.collapse?ZC.expand:ZC.collapse,this.columnDimensionTree.reset(this.columnDimensionTree.tree.children),this.resetColumnHeaderLevelCount(),this._columnHeaderCellFullPathIds=[],this.colDimensionKeys=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr(),"grid-tree"===this.columnHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds,t,this.columnDimensionTree.tree.children,[],this.columnDimensionTree.totalLevel,this._getColumnHeaderTreeExpandedMaxLevelCount(),!0,this.columnsDefine,this.columnHeaderObjs,!1),this.cornerHeaderObjs=this._addCornerHeaders(this.colDimensionKeys,this.rowDimensionKeys,this.columnsDefine.concat(...this.rowsDefine))}if(this.columnHeaderTitle){const t=++this.sharedVar.seqId,e=Array(this.colCount-this.rowHeaderLevelCount-this.rightFrozenColCount).fill(t);this._columnHeaderCellFullPathIds.unshift(e);const i={id:t,title:"string"==typeof this.columnHeaderTitle.title?this.columnHeaderTitle.title:this.columnsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.columnHeaderTitle?.headerType??"text",style:this.columnHeaderTitle?.headerStyle,define:{id:t,disableHeaderHover:!!this.columnHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.columnHeaderTitle?.disableHeaderSelect}};this.columnHeaderObjs.push(i),this._headerObjects[t]=i}this.colIndex=0,this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0;const s=this.indicatorsAsCol?this.columnHeaderLevelCount-2:this.columnHeaderLevelCount-1,a=function(t,e,i,r,o,n){const s=n.rowHeaderLevelCount,a=[],l=[];for(let t=0;t<i.length;t++)r.includes(i[t])||l.push(o[t]);for(let t=0;t<r.length;t++)if(!i.includes(r[t])){const i={col:s+t,row:e};a.push(i)}let h=n.getParentCellId(t,e),c=n.getRowHeaderCellAddressByCellId(h);const d=[];for(c&&d.push(c);c&&h;)h=n.getParentCellId(c.col,c.row),h&&(c=n.getRowHeaderCellAddressByCellId(h),d.push(c));const u=[],g=[];if("grid-tree"===n.columnHierarchyType&&"row"===n.cornerSetting.titleOnDimension&&n.columnHeaderLevelCount!==n._cornerHeaderCellIds.length)if(n.columnHeaderLevelCount>n._cornerHeaderCellIds.length)for(let e=n._cornerHeaderCellIds.length;e<n.columnHeaderLevelCount;e++)u.push({col:t,row:e});else for(let e=n.columnHeaderLevelCount;e<n._cornerHeaderCellIds.length;e++)g.push({col:t,row:e});return{addCellPositionsColumnDirection:a,removeCellPositionsColumnDirection:l,updateCellPositionsColumnDirection:d,addCellPositionsRowDirection:u,removeCellPositionsRowDirection:g}}(t,e,r[i],this._columnHeaderCellFullPathIds[s],o,this);return this.generateCellIdsConsiderHideHeader(),"grid-tree"===this.columnHierarchyType&&this.setColumnWidths(),a}isHeaderForColWidth(t,e){return this.isHeader(t,e)}getHeaderForColWidth(t,e){return this.getHeader(t,e)}getPivotCellAdress(t){if(!Array.isArray(t))return;let e,i,r=this.rowTree,o=this.columnTree;for(let n=0;n<t.length;n++){const s=t[n];if((s.isPivotCorner||!J(s.value))&&n===t.length-1){if("row"===this?.cornerSetting?.titleOnDimension){let t=0;return"grid"===this.rowHierarchyType&&(t=this.rowDimensionKeys.indexOf(s.dimensionKey)),-1===t?void 0:{col:(this.rowHeaderTitle?t+1:t)+this.leftRowSeriesNumberColumnCount,row:0}}const t=this.colDimensionKeys.indexOf(s.dimensionKey);return-1===t?void 0:{col:0+this.leftRowSeriesNumberColumnCount,row:this.columnHeaderTitle?t+1:t}}let a=!1;for(let t=0;t<o.length;t++){const e=o[t];if((J(s.dimensionKey)&&e.dimensionKey===s.dimensionKey||J(s.indicatorKey)&&e.indicatorKey===s.indicatorKey)&&e.value===s.value){o=e.children,i=e,a=!0;break}}if(!a)for(let t=0;t<r.length;t++){const i=r[t];if((J(s.dimensionKey)&&i.dimensionKey===s.dimensionKey||J(s.indicatorKey)&&i.indicatorKey===s.indicatorKey)&&i.value===s.value){r=i.children,e=i;break}}}let n=0,s=0;if(e){s=this.columnHeaderLevelCount;const{startInTotal:t,afterSpanLevel:i}=e;return s+=t,n="grid"===this.rowHierarchyType?(this.rowHeaderTitle?i+1:i)+this.leftRowSeriesNumberColumnCount:0+this.leftRowSeriesNumberColumnCount,{col:n,row:s}}if(i){n=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;const{startInTotal:t,afterSpanLevel:e}=i;return n+=t,s=this.columnHeaderTitle?e+1:e,{col:n,row:s}}}getPivotDimensionInfo(t,e){const{colHeaderPaths:i,rowHeaderPaths:r}=this.getCellHeaderPaths(t,e),o=[];return i.length?i.forEach(((t,e)=>{o.push({dimensionKey:t.dimensionKey,value:t.value,isPivotCorner:!1,indicatorKey:t.indicatorKey})})):r.length?r.forEach(((t,e)=>{o.push({dimensionKey:t.dimensionKey,value:t.value,isPivotCorner:!1,indicatorKey:t.indicatorKey})})):this.isCornerHeader(t,e)&&("row"===this?.cornerSetting?.titleOnDimension?o.push({dimensionKey:this.rowDimensionKeys[(this.rowHeaderTitle?t-1:t)-this.leftRowSeriesNumberColumnCount],isPivotCorner:!0}):o.push({dimensionKey:this.colDimensionKeys[this.columnHeaderTitle?e-1:e],isPivotCorner:!0})),o}getIndicatorKey(t,e){return this.getBody(t,e)?.indicatorKey}getParentCellId(t,e){if(0!==e)return this.isColumnHeader(t,e)?this.getCellId(t,e-1):this.isRowHeader(t,e)?this.getCellId(t-1,e):void 0}getRowHeaderCellAddressByCellId(t){let e,i;if(this._rowHeaderCellIds.find(((r,o)=>!!r.find(((i,r)=>i===t&&(e=r,!0)))&&(i=o,!0))),J(e)&&J(i))return{col:e,row:i+this.columnHeaderLevelCount}}canMoveHeaderPosition(t,e){if(this.isSeriesNumberInHeader(e.col,e.row)||this.isSeriesNumberInHeader(t.col,t.row))return!1;if(this.isCornerHeader(e.col,e.row))return!1;if(t.col<0||t.row<0||e.col<0||e.row<0)return!1;this.isSeriesNumberInBody(e.col,e.row)&&this.isSeriesNumberInBody(t.col,t.row)&&(t.col=t.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1,e.col=e.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1);const i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){return this.getParentCellId(t.col,i.start.row)===this.getParentCellId(e.col,i.start.row)}if(this.isRowHeader(t.col,t.row)){if("tree"!==this.rowHierarchyType){return this.getParentCellId(i.start.col,t.row)===this.getParentCellId(i.start.col,e.row)}{const i=Ct(this.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths),r=Ct(this.getCellHeaderPathsWithTreeNode(e.col,e.row).rowHeaderPaths);if(i.pop(),r.pop(),i.length<=r.length){if(i.length===r.length)return!i.find(((t,e)=>t.dimensionKey!==r[e].dimensionKey||t.value!==r[e].value));if(i.length>0)for(let t=0;t<i.length;t++)if(i[t].startInTotal!==r[t].startInTotal)return!1;return!0}}}return!1}moveHeaderPosition(t,e){if((this._table.options.dragOrder?.validateDragOrderOnEnd(t,e)||!this._table.options.dragOrder?.validateDragOrderOnEnd)&&this.canMoveHeaderPosition(t,e)&&!this.isCellRangeEqual(t.col,t.row,e.col,e.row)){const i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){const r=i.end.col-i.start.col+1;let o;const n=this.getCellRange(e.col,i.start.row);if(o=e.col>=t.col?n.end.col-r+1:n.start.col,o===i.start.col)return null;for(let t=0;t<this._columnHeaderCellFullPathIds.length;t++){const e=this._columnHeaderCellFullPathIds[t].splice(i.start.col-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount,r);e.unshift(o-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columnHeaderCellFullPathIds[t],e)}const s=this._columnWidths.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);return s.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columnWidths,s),this.columnDimensionTree.movePosition(this.getCellHeaderPathsWithTreeNode(t.col,t.row).colHeaderPaths.length-1,i.start.col-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount,n.start.col-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount),this.columnDimensionTree.reset(this.columnDimensionTree.tree.children),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,{sourceIndex:i.start.col,targetIndex:o,sourceSize:r,targetSize:n.end.col-n.start.col+1,moveType:"column"}}if(this.isRowHeader(t.col,t.row)){let r;const o=this.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths,n=this.getCellHeaderPathsWithTreeNode(e.col,e.row).rowHeaderPaths,s=o[o.length-1],a=n[o.length-1],l=s.size;if(r=e.row>=t.row?a.startInTotal+a.size-l:a.startInTotal,r===i.start.row-this.columnHeaderLevelCount)return null;const h=this._rowHeaderCellIds.splice(i.start.row-this.columnHeaderLevelCount,l);h.unshift(r-this.currentPageStartIndex,0),Array.prototype.splice.apply(this._rowHeaderCellIds,h);const c=this._rowHeaderCellFullPathIds.splice(i.start.row-this.columnHeaderLevelCount,l);c.unshift(r-this.currentPageStartIndex,0),Array.prototype.splice.apply(this._rowHeaderCellFullPathIds,c);const d=this._rowHeaderCellIds_FULL.splice(i.start.row-this.columnHeaderLevelCount+this.currentPageStartIndex,l);d.unshift(r,0),Array.prototype.splice.apply(this._rowHeaderCellIds_FULL,d);const u=this._rowHeaderCellFullPathIds_FULL.splice(i.start.row-this.columnHeaderLevelCount+this.currentPageStartIndex,l);return u.unshift(r,0),Array.prototype.splice.apply(this._rowHeaderCellFullPathIds_FULL,u),this.rowDimensionTree.movePosition(o.length-1,i.start.row-this.columnHeaderLevelCount,r+(e.row>t.row?s.size-1:0)),this.rowDimensionTree.reset(this.rowDimensionTree.tree.children),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,{sourceIndex:i.start.row,targetIndex:r+this.columnHeaderLevelCount,sourceSize:l,targetSize:a.size,moveType:"row"}}}return null}getCellAdressByHeaderPath(t){let e,i,r=!1,o=!1;if(Array.isArray(t)){if(t.length>this.rowDimensionKeys.length+this.colDimensionKeys.length)return;e=t.filter((t=>this.colDimensionKeys.indexOf(t.dimensionKey)>=0||this.colDimensionKeys.indexOf(this.indicatorDimensionKey)>=0&&t.indicatorKey)),i=t.filter((t=>this.rowDimensionKeys.indexOf(t.dimensionKey)>=0||this.rowDimensionKeys.indexOf(this.indicatorDimensionKey)>=0&&t.indicatorKey))}else e=t.colHeaderPaths,i=t.rowHeaderPaths,"body"===t?.cellLocation&&this._table.isPivotTable()&&(o=!0);if(!Array.isArray(e)&&!Array.isArray(i))return;if(e?.sort(((t,e)=>this.colDimensionKeys.indexOf(t.dimensionKey??this.indicatorDimensionKey)-this.colDimensionKeys.indexOf(e.dimensionKey??this.indicatorDimensionKey))),i?.sort(((t,e)=>this.fullRowDimensionKeys.indexOf(t.dimensionKey??this.indicatorDimensionKey)-this.fullRowDimensionKeys.indexOf(e.dimensionKey??this.indicatorDimensionKey))),e?.forEach((t=>{t.isPivotCorner&&(r=!0)})),i?.forEach((t=>{t.isPivotCorner&&(r=!0)})),r)if("all"===this.cornerSetting.titleOnDimension&&this.indicatorsAsCol&&0===e.length){for(let t=0;t<this.rowDimensionKeys.length;t++)if(i[0]?.dimensionKey===this.rowDimensionKeys[t])return{col:t+this.leftRowSeriesNumberColumnCount,row:this.columnHeaderLevelCount-1}}else if("all"!==this.cornerSetting.titleOnDimension||this.indicatorsAsCol||0!==i.length){if("row"===this.cornerSetting.titleOnDimension||"all"===this.cornerSetting.titleOnDimension&&!this.indicatorsAsCol){for(let t=0;t<this.rowDimensionKeys.length;t++)if(i[0]?.dimensionKey===this.rowDimensionKeys[t])return{col:t+this.leftRowSeriesNumberColumnCount,row:0}}else for(let t=0;t<this.colDimensionKeys.length;t++)if(e[0]?.dimensionKey===this.colDimensionKeys[t])return{col:0,row:t}}else for(let t=0;t<this.colDimensionKeys.length;t++)if(e[0]?.dimensionKey===this.colDimensionKeys[t])return{col:this.rowHeaderLevelCount-1,row:t};let n,s,a,l,h=!1;e?.length>=1&&i?.length>=1&&(h=!0);let c,d,u=this.rowTree,g=this.columnTree;if(e)for(let t=0;t<e.length;t++){const i=e[t];for(let t=0;t<g.length;t++){const e=g[t];if(!J(i.indicatorKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||J(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(J(e.value)&&J(i.value)&&i.value===e.value||!J(e.value)||!J(i.value))){g=e.children,h&&!g?d=e:h||(d=e);break}}}if(i?.length>=1)if("tree"===this.rowHierarchyType){const t=i[i.length-1],e=this.headerObjects.filter((e=>(e?.field===t.dimensionKey||e?.field===t.indicatorKey)&&e?.title===t.value)).map((t=>t.id)),r=this._rowHeaderCellIds.filter((t=>e.indexOf(t[t.length-1])>=0)).find((t=>{const e=this.findFullCellIds(t);return e.length===i.length&&e.every((t=>{const e=this._headerObjectMap[t];return i.find((t=>t.dimensionKey===e.field&&t.value===e.title))}))}));s=this._rowHeaderCellIds.indexOf(r)+this.columnHeaderLevelCount}else for(let t=0;t<i.length;t++){const e=i[t];for(let t=0;t<u.length;t++){const i=u[t];if(!J(e.indicatorKey)&&i.dimensionKey===e.dimensionKey&&i.value===e.value||J(e.indicatorKey)&&i.indicatorKey===e.indicatorKey&&(!J(e.value)||i.value===e.value)){u=i.children,(!h||u&&!u.some((t=>"axis"===t.dimensionKey)))&&h||(c=i);break}}}if(o||!h||(c||J(s))&&d){if(c||o){s=this.columnHeaderLevelCount;const{startInTotal:t,afterSpanLevel:e}=c??MI;s+=t??0,a="grid"===this.rowHierarchyType?(this.rowHeaderTitle?e+1:e)+this.leftRowSeriesNumberColumnCount:0}if(d||o){n=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;const{startInTotal:t,afterSpanLevel:e}=d??MI;n+=t??0,l=this.columnHeaderTitle?e+1:e}return J(n)||J(s)?{col:n??a,row:s??l}:void 0}}setChartInstance(t,e,i){const r=this.getCellHeaderPaths(t,e);let o;if(this.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=this._indicators?.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=this._indicators?.find((e=>e.indicatorKey===t))}"function"!=typeof o?.chartSpec&&o&&(o.chartInstance=i)}getChartInstance(t,e){const i=this.getCellHeaderPaths(t,e);let r;if(this.indicatorsAsCol){const t=i.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;r=this._indicators?.find((e=>e.indicatorKey===t))}else{const t=i.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;r=this._indicators?.find((e=>e.indicatorKey===t))}return r?.chartInstance}checkHasChart(){return iE(this)}getDimension(t,e){return"column"===e?this.columnsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t)):"row"===e?this.rowsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t)):void 0}getAxisConfigInPivotChart(t,e){if((this.isFrozenColumn(t,e)||this.isRightFrozenColumn(t,e))&&tE(t,e,"row",this)||(this.isFrozenRow(t,e)||this.isBottomFrozenRow(t,e))&&tE(t,e,"col",this)){const i=sx.getFunction("getAxisConfigInPivotChart")(t,e,this);if(!1===i?.visible)return;return i}}isEmpty(t,e){return!!this._table.isPivotChart()&&(!!this.isLeftBottomCorner(t,e)||(!!this.isRightBottomCorner(t,e)||!!this.isRightTopCorner(t,e)))}isAxisCell(t,e){if(!this._table.isPivotChart())return!1;if(this.indicatorKeys.length>=1&&QL(this.indicatorsDefine)){if(this.isBottomFrozenRow(t,e)&&tE(t,e,"col",this)||this.isRightFrozenColumn(t,e)&&tE(t,e,"row",this))return!0;if(this.isRowHeader(t,e)&&t===this.rowHeaderLevelCount-1&&tE(t,e,"row",this))return!0;if(this.hasTwoIndicatorAxes&&this.indicatorsAsCol&&e===this.columnHeaderLevelCount-1&&tE(t,e,"col",this))return!0}return!1}getChartAxes(t,e){if(function(t,e,i){let r=!0;const o=i.getRawChartSpec(t,e);return o&&"pie"!==o.type&&"radar"!==o.type&&"gauge"!==o.type&&"wordCloud"!==o.type&&"funnel"!==o.type&&"rose"!==o.type||(r=!1),r}(t,e,this)||this.isAxisCell(t,e))return function(t,e,i){const r=[];if(i.indicatorsAsCol){const o=i.getIndicatorKeyInChartSpec(t,e),n=i.getColKeysPath(t,e);o.forEach(((s,a)=>{const{range:l,targetTicks:h,targetRange:c,axisOption:d}=Ck(t,e,a,0===a?"bottom":"top",0===a?"top":"bottom",o,n,i);at(d?.min)&&(l.min=d.min),at(d?.max)&&(l.max=d.max),rE(d,r)||r.push(_t({range:l,label:{style:{fontSize:$L}}},d,{type:d?.type||"linear",orient:0===a?"bottom":"top",label:{visible:!1,flush:!0},title:{visible:!1},domainLine:{visible:!1},seriesIndex:d?.seriesId?void 0:a,tick:{tickMode:hk(h,c,l,a)},sync:{axisId:JL}}))}));let s=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);ot(s)&&(s=s[0]);const a=(i.dataset.cacheCollectedValues[s]||i.dataset.collectedValues[s]||[])[i.getRowKeysPath(t,e)??""],{axisOption:l,isPercent:h,chartType:c}=dk(t,e,"left",i);r.push(_t({domain:"linear"!==l?.type||Array.isArray(a)?Array.from(a??[]):void 0,range:"linear"!==l?.type||Array.isArray(a)?void 0:a,label:{style:{fontSize:$L}}},l,{type:l?.type??"band",orient:"left",label:{visible:!1},domainLine:{visible:!1},tick:{visible:!1},subTick:{visible:!1},title:{visible:!1}}))}else{const o=i.getIndicatorKeyInChartSpec(t,e),n=i.getRowKeysPath(t,e);o.forEach(((s,a)=>{const{range:l,targetTicks:h,targetRange:c,axisOption:d}=Ck(t,e,a,0===a?"left":"right",0===a?"right":"left",o,n,i);at(d?.min)&&(l.min=d.min),at(d?.max)&&(l.max=d.max),rE(d,r)||r.push(_t({range:l,label:{style:{fontSize:$L}}},d,{type:d?.type||"linear",orient:0===a?"left":"right",label:{visible:!1,flush:!0},title:{visible:!1},domainLine:{visible:!1},seriesIndex:d?.seriesId?void 0:a,tick:{tickMode:hk(h,c,l,a)},sync:{axisId:JL}}))}));let s=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);ot(s)&&(s=s[0]);const a=i.dataset.cacheCollectedValues[s]||i.dataset.collectedValues[s]||[],l=i.getColKeysPath(t,e),h=a?.[l??""]??[],{axisOption:c,isPercent:d,chartType:u}=dk(t,e,"bottom",i);r.push(_t({domain:"linear"!==c?.type||Array.isArray(h)?Array.from(h??[]):void 0,range:"linear"!==c?.type||Array.isArray(h)?void 0:h,label:{style:{fontSize:$L}}},c,{type:c?.type??"band",orient:"bottom",visible:!0,label:{visible:!1},domainLine:{visible:!1},tick:{visible:!1},subTick:{visible:!1},title:{visible:!1}}))}return r}(t,e,this)}getRawChartSpec(t,e){return function(t,e,i){const r=i.getCellHeaderPaths(t,e);let o;if(i.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}const n=o?.chartSpec;if("function"==typeof n)return n({col:t,row:e,dataValue:i._table.getCellOriginValue(t,e)||"",value:i._table.getCellValue(t,e)||"",rect:i._table.getCellRangeRelativeRect(i._table.getCellRange(t,e)),table:i._table});return n}(t,e,this)}getChartSpec(t,e){return function(t,e,i){let r=i.getRawChartSpec(t,e);return r?i._table.isPivotChart()?(r=WL(r),r.sortDataByAxis=!0,ot(r.series)&&r.series.forEach((t=>{t.sortDataByAxis=!0})),"gauge"!==r.type&&"rose"!==r.type&&"radar"!==r.type&&(r.axes=i.getChartAxes(t,e)),r.padding=0,r.dataZoom=[],r):r:null}(t,e,this)}isShareChartSpec(t,e){return function(t,e,i){const r=i.getCellHeaderPaths(t,e);let o;if(i.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}const n=o?.chartSpec;return"function"!=typeof n}(t,e,this)}getChartDataId(t,e){return eE(t,e,this)}isNoChartDataRenderNothing(t,e){return function(t,e,i){const r=i.getCellHeaderPaths(t,e);let o;if(i.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}const n=o?.noDataRenderNothing;return n}(t,e,this)}setPagination(t){if(this.clearCellRangeMap(),this._table.internalProps.useOneRowHeightFillAll=!1,this.pagination=t,"grid"===this.rowHierarchyType&&J(this.pagination?.perPageCount)&&J(this.pagination?.currentPage)){!1===this.indicatorsAsCol&&(this.pagination.perPageCount=Math.ceil(this.pagination.perPageCount/this.indicatorKeys.length)*this.indicatorKeys.length);const{perPageCount:t,currentPage:e}=this.pagination;this.currentPageStartIndex=t*(e||0),this.currentPageEndIndex=this.currentPageStartIndex+t,this._rowHeaderCellIds=this._rowHeaderCellIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex),this._rowHeaderCellFullPathIds=this._rowHeaderCellFullPathIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex)}else this.currentPageStartIndex=0,this.currentPageEndIndex=this._rowHeaderCellIds_FULL.length,this._rowHeaderCellIds=this._rowHeaderCellIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex),this._rowHeaderCellFullPathIds=this._rowHeaderCellFullPathIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex);this.pagination&&(this.pagination.totalCount=this._rowHeaderCellIds_FULL?.length)}release(){const t=this._table._getActiveChartInstance();t?.release(),this._indicators?.forEach((t=>{t.chartInstance?.release()}))}getHeadNode(t,e){let i;const r=this.getCellHeaderPaths(t,e);return r.rowHeaderPaths&&(r.rowHeaderPaths?.length??0)>0?i=r.rowHeaderPaths?.slice(0,r.rowHeaderPaths.length):r.colHeaderPaths&&r.colHeaderPaths.length>0&&(i=r.colHeaderPaths.slice(0,r.colHeaderPaths.length)),this.getHeadNodeByRowOrColDimensions(i,t,e)}getHeadNodeByRowOrColDimensions(t,e,i){if(!Array.isArray(t))return;let r,o,n=this.rowTree,s=this.columnTree;if(J(i)&&J(e)&&"tree"===this.rowHierarchyType&&this.extensionRows&&e>=1+this.leftRowSeriesNumberColumnCount){const t=this.getCellId(e-1,i);n=this._rowHeaderExtensionTree[t].tree.children}for(let e=0;e<t.length;e++){const i=t[e];if((i.isPivotCorner||!J(i.value))&&e===t.length-1)return;let a=!1;for(let t=0;t<s.length;t++){const e=s[t];if(J(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||J(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!J(i.value)||!J(e.value))){s=e.children,o=e,a=!0;break}}if(!a)for(let t=0;t<n?.length;t++){const e=n[t];if(J(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||J(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!J(i.value)||!J(e.value))){n=e.children,r=e;break}}}return r||(o||void 0)}clearCellRangeMap(){this._largeCellRangeCache.length=0,this._CellHeaderPathMap=new Map}getDimensionKeyInChartSpec(t,e){let i;if(!1===this.indicatorsAsCol)for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(i=e.xField??e?.series?.[0]?.xField,i))return i}else for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(i=e.yField??e?.series?.[0]?.yField,i))return i}return null}_generateChartState(){return{vtable_selected:{filter:t=>{if(this._table._selectedDataItemsInChart.length>=1){return!!this._table._selectedDataItemsInChart.find((e=>{for(const i in e)if("object"!=typeof e[i]&&e[i]!==t[i])return!1;return!0}))}if(this._table._selectedDimensionInChart?.length){return!!this._table._selectedDimensionInChart.every((e=>"object"==typeof e.value||t[e.key]===e.value))}return!1}},vtable_selected_reverse:{filter:t=>{if(this._table._selectedDataItemsInChart.length>=1){return!this._table._selectedDataItemsInChart.find((e=>{for(const i in e)if("object"!=typeof e[i]&&e[i]!==t[i])return!1;return!0}))}if(this._table._selectedDimensionInChart?.length){return!this._table._selectedDimensionInChart.every((e=>"object"==typeof e.value||t[e.key]===e.value))}return!1}}}}updateDataStateToChartInstance(t){if(!1!==t?.getSpec().select?.enable){t||(t=this._table._getActiveChartInstance());const e=this._generateChartState();this._indicators.forEach((t=>{const i=t.chartInstance;!1!==t.chartSpec.select?.enable&&i.updateState(e)})),t?.updateState(e)}}updateDataStateToActiveChartInstance(t){if(!1!==t?.getSpec().select?.enable){t||(t=this._table._getActiveChartInstance());const e=this._generateChartState();t?.updateState(e)}}getIndicatorKeyInChartSpec(t,e){const i=this.getRawChartSpec(t,e),r=[];if(i){if(i.series||i.xField||i.yField)return!1===this.indicatorsAsCol?i.series?i.series.forEach((t=>{const e=t.yField;r.push(e)})):r.push(i.yField):i.series?i.series.forEach((t=>{const e=t.xField;r.push(e)})):r.push(i.xField),r;if(i.valueField&&r.push(i.valueField),r.length>=1)return r}return null}getOptimunHeightForChart(t){const e=this.getCellHeaderPaths(this.rowHeaderLevelCount,t).rowHeaderPaths;let i,r;for(const t in this.dataset.collectValuesBy)if("yField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){i=this.dataset.collectedValues[t]?.[e.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)r=HI(i?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;r=(i?.length??0)*(t+t/3)}const o=tA(this._chartPadding??this._table.theme.bodyStyle.padding??0);return r+o[0]+o[2]}getOptimunWidthForChart(t){const e=this.getCellHeaderPaths(t,this.columnHeaderLevelCount).colHeaderPaths;let i,r;for(const t in this.dataset.collectValuesBy)if("xField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){i=this.dataset.collectedValues[t]?.[e.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)r=HI(i?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;r=(i?.length??0)*(t+t/3)}const o=tA(this._chartPadding??this._table.theme.bodyStyle.padding??0);return r+o[1]+o[3]}get leftAxesCount(){if(!this._table.isPivotChart())return 0;const t=this._table.pivotChartAxes.find((t=>"left"===t.orient));return!1===t?.visible?0:(this.indicatorsAsCol,1)}get topAxesCount(){if(!this._table.isPivotChart())return 0;const t=this._table.pivotChartAxes.find((t=>"top"===t.orient));return!1===t?.visible?0:this.indicatorsAsCol&&this.hasTwoIndicatorAxes?1:0}get rightAxesCount(){return this.rightFrozenColCount}get bottomAxesCount(){return this.bottomFrozenRowCount}getColKeysPath(t,e){const i=this.getCellHeaderPaths(t,e),r=[];return i.colHeaderPaths.length&&i.colHeaderPaths.forEach((t=>{t.dimensionKey&&r.push(t.value)})),r?.join(this.dataset.stringJoinChar)}getRowKeysPath(t,e){const i=this.getCellHeaderPaths(t,e),r=[];return i.rowHeaderPaths.length&&i.rowHeaderPaths.forEach((t=>{t.dimensionKey&&r.push(t.value)})),r?.join(this.dataset.stringJoinChar)}getIndicatorInfo(t,e=""){const i=this.indicatorsDefine?.find((i=>"string"!=typeof i&&(t?i.indicatorKey===t:!!e&&i.title===e)));return i}getLayoutColumnTree(){const t=[];return NH(t,this.columnDimensionTree.tree.children),t}getLayoutRowTree(){const t=[];return NH(t,this.rowDimensionTree.tree.children),t}getLayoutColumnTreeCount(){return GH(this.columnDimensionTree.tree.children,"tree"===this.rowHierarchyType)}getLayoutRowTreeCount(){let t=GH(this.rowDimensionTree.tree.children,"tree"===this.rowHierarchyType);return this.extensionRows?.forEach((e=>{if("function"!=typeof e.rowTree){const i=GH(e.rowTree,!0);t*=i}})),t}resetHeaderTree(){this.colIndex=0,this._rowHeaderCellFullPathIds_FULL=[],this._columnHeaderCellFullPathIds=[],this._columnHeaderCellIds=[];const t=this.dataset;this.rowTree=t.rowHeaderTree,this.columnTree=t.colHeaderTree;const e=this.rowDimensionTree.tree.children;this.rowTree?.forEach(((t,i)=>{const r=e.find((e=>e.dimensionKey===t.dimensionKey&&e.value===t.value));r&&this._table._syncHierarchyState(r,t)})),this.columnDimensionTree=new WH(this.columnTree??[],this.sharedVar,this.columnHierarchyType,"grid"!==this.columnHierarchyType?this.columnExpandLevel:void 0),this.rowDimensionTree=new WH(this.rowTree??[],this.sharedVar,this.rowHierarchyType,"grid"!==this.rowHierarchyType?this.rowExpandLevel:void 0),this.resetColumnHeaderLevelCount(),this._generateColHeaderIds(),this.colIndex=0,this._generateRowHeaderIds(),this._rowHeaderCellFullPathIds_FULL=Gw(this._rowHeaderCellFullPathIds_FULL),this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,this.generateCellIdsConsiderHideHeader(),this.setPagination(this.pagination)}isSeriesNumberInHeader(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount&&e<this.headerLevelCount||this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e<this.headerLevelCount}isSeriesNumberInBody(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount&&e>=this.headerLevelCount||this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e>=this.headerLevelCount}isSeriesNumber(t,e){if(J(t)&&J(e)){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount)return!0;if(this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount)return!0}return!1}getSeriesNumberHeader(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount&&e<this.headerLevelCount?Object.assign({},this.leftRowSeriesNumberColumn[t],{style:Object.assign({},this._table.internalProps.theme.cornerHeaderStyle,this._table.internalProps.rowSeriesNumber.headerStyle)}):this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e<this.headerLevelCount&&e<this.headerLevelCount?this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]:void 0}getSeriesNumberBody(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount&&e>=this.headerLevelCount?this.leftRowSeriesNumberColumn[t]:this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e>=this.headerLevelCount?this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]:void 0}changeTreeNodeTitle(t,e,i){this.getHeadNode(t,e).value=i;const r=this.getCellId(t,e);this._headerObjectMap[r].title=i}changeCornerTitle(t,e,i){if(this.isCornerHeader(t,e)){const r=this.getCellId(t,e);this._headerObjectMap[r].title=i}}generateCellIdsConsiderHideHeader(){if(this._columnHeaderCellIds=this._columnHeaderCellFullPathIds.slice(),!this.showColumnHeader)if(this.indicatorsAsCol&&!this.hideIndicatorName){const t=this.colDimensionKeys.indexOf(Nv),e=this._columnHeaderCellIds.splice(t,1);this._columnHeaderCellIds.splice(0,this._columnHeaderCellIds.length),this._columnHeaderCellIds.push(e[0])}else this._columnHeaderCellIds.splice(0,this._columnHeaderCellIds.length);if(this._rowHeaderCellIds_FULL=this._rowHeaderCellFullPathIds_FULL.slice(),!this.showRowHeader)if(this.indicatorsAsCol||this.hideIndicatorName)this._rowHeaderCellIds_FULL.forEach(((t,e)=>{const i=t.slice();i.splice(0,i.length),this._rowHeaderCellIds_FULL[e]=i}));else{const t=this.rowDimensionKeys.indexOf(Nv);this._rowHeaderCellIds_FULL.forEach(((e,i)=>{const r=e.slice(),o=r.splice(t,1);r.splice(0,r.length),r.push(o[0]),this._rowHeaderCellIds_FULL[i]=r}))}if(this._rowHeaderCellIds=this._rowHeaderCellIds_FULL.slice(),this._cornerHeaderCellIds=this._cornerHeaderCellFullPathIds.slice(),0===this.rowHeaderLevelCount||0===this.columnHeaderLevelCount)this._cornerHeaderCellIds=[];else if("row"!==this.cornerSetting.titleOnDimension||this.showRowHeader){if("column"===this.cornerSetting.titleOnDimension&&!this.showColumnHeader)if(this.indicatorsAsCol&&!this.hideIndicatorName){const t=this.colDimensionKeys.indexOf(Nv),e=this._cornerHeaderCellIds.splice(t,1);this._cornerHeaderCellIds.splice(0,this._cornerHeaderCellIds.length),this._cornerHeaderCellIds.push(e[0])}else this._cornerHeaderCellIds.splice(0,this._cornerHeaderCellIds.length)}else if(this.indicatorsAsCol||this.hideIndicatorName)this._cornerHeaderCellIds.forEach(((t,e)=>{const i=t.slice();i.splice(0,i.length),this._cornerHeaderCellIds[e]=i}));else{const t=this.rowDimensionKeys.indexOf(Nv);this._cornerHeaderCellIds.forEach(((e,i)=>{const r=e.slice(),o=r.splice(t,1);r.splice(0,r.length),r.push(o[0]),this._cornerHeaderCellIds[i]=r}))}if("grid-tree"===this.rowHierarchyType&&"column"===this.cornerSetting.titleOnDimension)this._cornerHeaderCellIds[0].length<this._rowHeaderCellIds[0].length?this._cornerHeaderCellIds.forEach(((t,e)=>{const i=t.length;t.length=this._rowHeaderCellIds[0].length,t.fill(t[0],i)})):this._cornerHeaderCellIds[0].length>this._rowHeaderCellIds[0].length&&this._cornerHeaderCellIds.forEach(((t,e)=>{t.length=this._rowHeaderCellIds[0].length}));else if("grid-tree"===this.columnHierarchyType&&"row"===this.cornerSetting.titleOnDimension)if(this._cornerHeaderCellIds?.length<this._columnHeaderCellIds?.length){const t=this._cornerHeaderCellIds.length;this._cornerHeaderCellIds.length=this._columnHeaderCellIds.length,this._cornerHeaderCellIds.fill(this._cornerHeaderCellIds[0],t)}else this._cornerHeaderCellIds?.length>this._columnHeaderCellIds?.length&&(this._cornerHeaderCellIds.length=this._columnHeaderCellIds.length)}enableUseGetBodyCache(){this._useGetBodyCache=!0,this._getBodyCache.clear()}disableUseGetBodyCache(){this._useGetBodyCache=!1,this._getBodyCache.clear()}enableUseHeaderPathCache(){this._useHeaderPathCache=!0,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()}disableUseHeaderPathCache(){this._useHeaderPathCache=!1,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()}getBodyWidthCache(t,e){if(this._useGetBodyCache&&!this.isHeader(t,e)&&!this.isSeriesNumber(t,e))return this.indicatorsAsCol&&this._getBodyCache.has(t)?this._getBodyCache.get(t):!this.indicatorsAsCol&&this._getBodyCache.has(e)?this._getBodyCache.get(e):void 0}setBodyWidthCache(t,e,i){!this._useGetBodyCache||this.isHeader(t,e)||this.isSeriesNumber(t,e)||(this.indicatorsAsCol?this._getBodyCache.set(t,i):this._getBodyCache.set(e,i))}getColHeaderPathCache(t,e){if(this._useHeaderPathCache&&!this.isHeader(t,e)&&!this.isSeriesNumber(t,e)&&this._colHeaderPathCache.has(t))return this._colHeaderPathCache.get(t)}setColHeaderPathCache(t,e,i){!this._useHeaderPathCache||this.isHeader(t,e)||this.isSeriesNumber(t,e)||this._colHeaderPathCache.set(t,i)}getRowHeaderPathCache(t,e){if(this._useHeaderPathCache&&!this.isHeader(t,e)&&!this.isSeriesNumber(t,e)&&this._rowHeaderPathCache.has(e))return this._rowHeaderPathCache.get(e)}setRowHeaderPathCache(t,e,i){!this._useHeaderPathCache||this.isHeader(t,e)||this.isSeriesNumber(t,e)||this._rowHeaderPathCache.set(e,i)}}function HI(t,e,i,r){1===i&&(i=0);const o=function(t,e,i){let r;r=1===t?t+2*i:t-e+2*i;return t?r>0?r:1:0}(t,i,r),n=e/(1-i);return Math.ceil(o*n)}class kI{dataConfig;records;tree={};beforeChangedTree={};colFlatKeys={};rowFlatKeys={};stringJoinChar=String.fromCharCode(0);rowsIsTotal=[];colsIsTotal=[];colGrandTotalLabel;colSubTotalLabel;rowGrandTotalLabel;rowSubTotalLabel;constructor(t,e){this.dataConfig=t,e&&(this.records=e,"undefined"!=typeof window&&window.performance.now(),this.setRecords(e),"undefined"!=typeof window&&window.performance.now())}changeDataConfig(t){this.dataConfig=t}setRecords(t){this.processRecords()}processRecords(){for(let t=0,e=this.records.length;t<e;t++){const e=this.records[t];this.processRecord(e)}}processRecord(t){const e=[],i=[];for(let e=0,r=this.dataConfig.rows.length;e<r;e++){const r=this.dataConfig.rows[e];void 0!==t[r]&&r!==this.dataConfig.indicatorDimensionKey&&i.push(t[r])}for(let i=0,r=this.dataConfig.columns.length;i<r;i++){const r=this.dataConfig.columns[i];void 0!==t[r]&&r!==this.dataConfig.indicatorDimensionKey&&e.push(t[r])}this.dataConfig.indicators?.forEach((r=>{const o=t[r];void 0!==o&&(this.dataConfig.indicatorsAsCol?e.push(r):i.push(r));const n=i.join(this.stringJoinChar),s=e.join(this.stringJoinChar);0!==i.length&&(this.rowFlatKeys[n]||(this.rowFlatKeys[n]=1)),0!==e.length&&(this.colFlatKeys[s]||(this.colFlatKeys[s]=1)),0===e.length&&0===i.length||(this.tree[n]||(this.tree[n]={}),void 0!==o&&(this.tree[n][s]={value:o,record:t},this.dataConfig.indicatorsAsCol?e.pop():i.pop()))}))}getTreeNode(t=[],e=[],i,r=!0){let o,n;if("string"==typeof t)o=t;else{let e=!1;t.map(((r,o)=>{r===i&&(t.splice(o,1),e=!0)})),e&&t.push(i),o=t.join(this.stringJoinChar)}if("string"==typeof e)n=e;else{let t=!1;e.map(((r,o)=>{r===i&&(e.splice(o,1),t=!0)})),t&&e.push(i),n=e.join(this.stringJoinChar)}return r?this.tree?.[o]?.[n]??void 0:J(this.beforeChangedTree[o]?.[n])?{value:this.beforeChangedTree[o][n].value,record:this.beforeChangedTree[o][n].record}:void 0}changeTreeNodeValue(t=[],e=[],i,r){let o,n;if("string"==typeof t)o=t;else{let e=!1;t.map(((r,o)=>{r===i&&(t.splice(o,1),e=!0)})),e&&t.push(i),o=t.join(this.stringJoinChar)}if("string"==typeof e)n=e;else{let t=!1;e.map(((r,o)=>{r===i&&(e.splice(o,1),t=!0)})),t&&e.push(i),n=e.join(this.stringJoinChar)}const s=this.tree[o]?.[n]?.value,a=Object.assign({},this.tree[o]?.[n]?.record);this.tree[o]?.[n]?.record?(this.tree[o][n].record[i]=r,this.tree[o][n].value=r):(this.tree[o]||(this.tree[o]={}),this.tree[o][n]={record:this._buildRecord(t,e,i,r),value:r}),this.beforeChangedTree[o]?.[n]||(this.beforeChangedTree[o]={},this.beforeChangedTree[o][n]={record:void 0,value:void 0},this.beforeChangedTree[o][n].record=a,this.beforeChangedTree[o][n].value=s)}_buildRecord(t=[],e=[],i,r){const o={},n=this.dataConfig.rows,s=this.dataConfig.columns;return n.forEach(((e,i)=>{e!==this.dataConfig.indicatorDimensionKey&&(o[e]=t[i])})),s.forEach(((t,i)=>{t!==this.dataConfig.indicatorDimensionKey&&(o[t]=e[i])})),o[i]=r,this.records.push(o),o}addRecords(t){for(let e=0,i=t.length;e<i;e++){const i=t[e];this.processRecord(i)}this.records.push(t)}changeRecordFieldValue(t,e,i){let r=!1;for(let e=0;e<this.dataConfig.indicators.length;e++)this.dataConfig.indicators[e]===t&&(r=!0);if(!r){for(let r=0,o=this.records.length;r<o;r++){const o=this.records[r];o[t]===e&&(o[t]=i)}this.rowFlatKeys={},this.colFlatKeys={},this.tree={},this.processRecords()}}}function LI(t,e){let i="";for(let r=0;r<t.length;r++)i+=t[r],r!==t.length-1&&(i+=e);return i}class EI{dataConfig;records;filteredRecords;tree={};changedTree={};colFlatKeys={};rowFlatKeys={};colKeys=[];rowKeys=[];colKeys_normal=[];rowKeys_normal=[];rowOrder="key_a_to_z";colOrder="key_a_to_z";sorted=!1;sortRules;filterRules;aggregationRules;derivedFieldRules;mappingRules;calculatedFieldRules;calculatedFiledKeys;calculatedFieldDependIndicatorKeys;totals;indicatorStatistics=[];stringJoinChar=String.fromCharCode(0);rowsIsTotal=[];colsIsTotal=[];colGrandTotalLabel;colSubTotalLabel;rowGrandTotalLabel;rowSubTotalLabel;needSplitPositiveAndNegative;collectValuesBy;collectedValues={};cacheCollectedValues={};rows;rowsHasValue;columns;columnsHasValue;indicatorKeys;indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;customRowTree;customColTree;customRowTreeDimensionPaths;customColTreeDimensionPaths;colHeaderTree;rowHeaderTree;rowHierarchyType;columnHierarchyType;indicators;indicatorsAsCol;totalRecordsTree={};hasExtensionRowTree;parseCustomTreeToMatchRecords;constructor(t,e,i,r,o,n,s,a,l,h,c,d,u,g){this.registerAggregators(),this.dataConfig=t,this.filterRules=this.dataConfig?.filterRules,this.rowHierarchyType=a??"grid",this.columnHierarchyType=l??"grid",this.sortRules=this.dataConfig?.sortRules,this.aggregationRules=this.dataConfig?.aggregationRules,this.derivedFieldRules=this.dataConfig?.derivedFieldRules,this.mappingRules=this.dataConfig?.mappingRules,this.calculatedFieldRules=this.dataConfig?.calculatedFieldRules,this.calculatedFiledKeys=this.calculatedFieldRules?.map((t=>t.key))??[],this.calculatedFieldDependIndicatorKeys=this.calculatedFieldRules?.reduce(((t,e)=>{for(let i=0;i<e.dependIndicatorKeys.length;i++)-1===t.indexOf(e.dependIndicatorKeys[i])&&t.push(e.dependIndicatorKeys[i]);return t}),[])??[],this.totals=this.dataConfig?.totals,this.rows=e,this.columns=i,this.indicatorKeys=r,this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys=[...r];for(let t=0;t<this.calculatedFieldDependIndicatorKeys.length;t++)-1===this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys.indexOf(this.calculatedFieldDependIndicatorKeys[t])&&this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys.push(this.calculatedFieldDependIndicatorKeys[t]);if(this.indicatorsAsCol=n,this.indicators=o,this.customColTree=h,this.customRowTree=c,this.hasExtensionRowTree=u,this.parseCustomTreeToMatchRecords=g,this.parseCustomTreeToMatchRecords&&(this.customColTreeDimensionPaths=this.customTreeToDimensionPathArr(this.customColTree,"col"),this.hasExtensionRowTree||(this.customRowTreeDimensionPaths=this.customTreeToDimensionPathArr(this.customRowTree,"row"))),this.colGrandTotalLabel=this.totals?.column?.grandTotalLabel??"总计",this.colSubTotalLabel=this.totals?.column?.subTotalLabel??"小计",this.rowGrandTotalLabel=this.totals?.row?.grandTotalLabel??"总计",this.rowSubTotalLabel=this.totals?.row?.subTotalLabel??"小计",this.collectValuesBy=this.dataConfig?.collectValuesBy,this.needSplitPositiveAndNegative=d??!1,this.rowsIsTotal=new Array(this.rows?.length??0).fill(!1),this.colsIsTotal=new Array(this.columns?.length??0).fill(!1),this.totals?.row&&!1!==this.totals.row.showSubTotals&&this.totals.row.subTotalsDimensions)for(let t=0,e=this.totals?.row?.subTotalsDimensions?.length??0;t<e;t++){const e=this.totals.row.subTotalsDimensions[t],i=this.rows.indexOf(e);this.rowsIsTotal[i]=!0}if(this.totals?.column&&!1!==this.totals.column.showSubTotals&&this.totals.column.subTotalsDimensions)for(let t=0,e=this.totals?.column?.subTotalsDimensions?.length??0;t<e;t++){const e=this.totals.column.subTotalsDimensions[t],i=this.columns.indexOf(e);this.colsIsTotal[i]=!0}this.setRecords(s)}setRecords(t){this.records=t,this.collectedValues={},this.cacheCollectedValues={},this.totalRecordsTree={},this.tree={},this.colFlatKeys={},this.rowFlatKeys={},this.colKeys=[],this.rowKeys=[],this.rowsHasValue=[],this.columnsHasValue=[],this.sorted=!1,t&&(this.records=t,"undefined"!=typeof window&&window.performance.now(),this.processRecords(),this.processCollectedValuesWithSumBy(),this.generateCollectedValuesSortRule(),this.processCollectedValuesWithSortBy(),"undefined"!=typeof window&&window.performance.now(),"undefined"!=typeof window&&window.performance.now(),this.totalStatistics(),"undefined"!=typeof window&&window.performance.now(),this.rowKeys_normal=this.rowKeys.slice(),this.colKeys_normal=this.colKeys.slice(),"undefined"!=typeof window&&window.performance.now(),this.sortKeys(),"undefined"!=typeof window&&window.performance.now(),"undefined"!=typeof window&&window.performance.now(),this.customRowTree?this.rowHeaderTree=this.customRowTree:"tree"===this.rowHierarchyType?this.rowHeaderTree=this.ArrToTree1(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.totals?.row?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1):this.rowHeaderTree=this.ArrToTree(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.rowsIsTotal,this.totals?.row?.showGrandTotals||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.rowSubTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1,this.totals?.row?.showSubTotalsOnTop??!1),this.customColTree?this.colHeaderTree=this.customColTree:this.colHeaderTree=this.ArrToTree(this.colKeys,this.columns.filter(((t,e)=>this.columnsHasValue[e])),this.indicatorsAsCol?this.indicators:void 0,this.colsIsTotal,this.totals?.column?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length,this.colGrandTotalLabel,this.colSubTotalLabel,this.totals?.column?.showGrandTotalsOnLeft??!1,this.totals?.column?.showSubTotalsOnLeft??!1),"undefined"!=typeof window&&window.performance.now(),this.dataConfig?.isPivotChart&&this.cacheDeminsionCollectedValues())}registerAggregator(t,e){ew[t]=e}registerAggregators(){this.registerAggregator(XC.RECORD,rw),this.registerAggregator(XC.SUM,aw),this.registerAggregator(XC.COUNT,lw),this.registerAggregator(XC.MAX,cw),this.registerAggregator(XC.MIN,dw),this.registerAggregator(XC.AVG,hw),this.registerAggregator(XC.NONE,ow),this.registerAggregator(XC.RECALCULATE,sw),this.registerAggregator(XC.CUSTOM,nw)}processCollectedValuesWithSumBy(){for(const t in this.collectedValues)if(this.collectValuesBy?.[t]?.sumBy)for(const e in this.collectedValues[t]){let i;"sum"===this.collectValuesBy[t]?.extendRange?(i=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>t+e.value()),0),i+=Math.round(i/20)):(i=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.value()>t?e.value():t),Number.MIN_SAFE_INTEGER),"max"===this.collectValuesBy[t]?.extendRange?i+=Math.round(i/20):"number"==typeof this.collectValuesBy[t]?.extendRange&&(i=Math.max(i,this.collectValuesBy[t]?.extendRange)));const r=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.value()<t?e.value():t),Number.MAX_SAFE_INTEGER);let o,n;this.needSplitPositiveAndNegative&&(o=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.positiveValue()>t?e.positiveValue():t),Number.MIN_SAFE_INTEGER),n=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.negativeValue()<t?e.negativeValue():t),Number.MAX_SAFE_INTEGER)),this.collectedValues[t][e]={},this.collectedValues[t][e].max=i,this.collectedValues[t][e].min=r,this.needSplitPositiveAndNegative&&(this.collectedValues[t][e].positiveMax=o,this.collectedValues[t][e].negativeMin=n)}}processCollectedValuesWithSortBy(){const t=this;for(const e in this.collectedValues)if(this.collectValuesBy?.[e]?.sortBy)for(const i in this.collectedValues[e])this.collectedValues[e][i]=this.collectedValues[e][i].sort(((i,r)=>(t.collectValuesBy[e].sortBy?.indexOf(i)??-1)-(t.collectValuesBy[e].sortBy?.indexOf(r)??-1)))}generateCollectedValuesSortRule(){for(const t in this.collectedValues)if(this.collectValuesBy&&this.collectValuesBy[t]&&!this.collectValuesBy[t].sortBy){let e=[];for(const i in this.collectedValues[t])Array.isArray(this.collectedValues[t][i])&&(e.push(...this.collectedValues[t][i]),e=Array.from(new Set(e)));e.length>0&&(this.collectValuesBy[t].sortBy=e)}}processRecords(){let t=!1;if((this.filterRules?.length??0)>=1&&(t=!0),Array.isArray(this.records)){this.filteredRecords||(this.filteredRecords=[]);for(let e=0,i=this.records.length;e<i;e++){const i=this.records[e];t&&!this.filterRecord(i)||(this.filteredRecords.push(i),this.processRecord(i))}}else{this.filteredRecords||(this.filteredRecords={});for(const e in this.records)for(let i=0,r=this.records[e].length;i<r;i++){const r=this.records[e][i];t&&!this.filterRecord(r)||(this.filteredRecords[e]||(this.filteredRecords[e]=[]),this.filteredRecords[e].push(r),this.processRecord(r,e))}}this.rowFlatKeys={},this.colFlatKeys={}}filterRecord(t){let e=!0;if(this.filterRules)for(let i=0;i<this.filterRules.length;i++){const r=this.filterRules[i];if(r.filterKey){const i=t[r.filterKey];if(-1===r.filteredValues?.indexOf(i)){e=!1;break}}else if(!r.filterFunc?.(t)){e=!1;break}}return e}processRecord(t,e){this.derivedFieldRules?.forEach(((e,i)=>{e.fieldName&&e.derivedFunc&&(t[e.fieldName]=e.derivedFunc(t))}));for(const e in this.collectValuesBy)if(J(t[e])){this.collectedValues[e]||(this.collectedValues[e]={});const i=this.collectValuesBy[e].by.map((e=>t[e])).join(this.stringJoinChar);if(this.collectedValues[e][i]||(this.collectValuesBy[e].sumBy?this.collectedValues[e][i]={}:this.collectValuesBy[e].range?this.collectedValues[e][i]={min:Number.MAX_SAFE_INTEGER,max:Number.MIN_SAFE_INTEGER}:this.collectedValues[e][i]=[]),this.collectValuesBy[e].sumBy){const r=this.collectValuesBy[e].sumBy?.map((e=>t[e])).join(this.stringJoinChar);this.collectedValues[e][i][r]||(this.collectedValues[e][i][r]=new ew[XC.SUM]({key:e,field:e,isRecord:void 0,needSplitPositiveAndNegative:this.needSplitPositiveAndNegative})),this.collectedValues[e][i][r].push(t)}else if(this.collectValuesBy[e].range){const r=this.collectedValues[e][i],o=Math.max(t[e],r.max),n=Math.min(t[e],r.min);isNaN(o)||(r.max=o,r.min=n)}else{const r=this.collectedValues[e][i];-1===r.indexOf(t[e])&&r.push(t[e])}}let i=!1;const r=[],o=[];if(!this.parseCustomTreeToMatchRecords||this.dataConfig?.isPivotChart||!this.customRowTree?.length||e||this.hasExtensionRowTree){const r=[];o.push({rowKey:r,indicatorKey:e});for(let e=0,o=this.rows.length;e<o;e++){const o=this.rows[e];if(o in t)this.rowsHasValue[e]=!0,r.push(t[o]);else if(o!==Nv){if(this.dataConfig?.totals?.row?.showGrandTotals&&0===e&&!this.rows.find((e=>e in t))){r.push(this.rowGrandTotalLabel),i=!0;break}if(this.dataConfig?.totals?.row?.subTotalsDimensions&&this.dataConfig?.totals?.row?.subTotalsDimensions.indexOf(this.rows[e-1])>=0){"tree"!==this.rowHierarchyType&&r.push(this.rowSubTotalLabel),i=!0;break}}}}else{const e=this.getFieldMatchRowDimensionPaths(t);if(e.length>0)for(let t=0,i=e.length;t<i;t++){const i=e[t],r=[];let n;for(let t=0,e=i.length;t<e;t++)J(i[t].indicatorKey)?n=i[t].indicatorKey:r.push(i[t].value);o.push({rowKey:r,indicatorKey:n})}}if(!this.parseCustomTreeToMatchRecords||this.dataConfig?.isPivotChart||!this.customColTree?.length||e||this.hasExtensionRowTree){const o=[];r.push({colKey:o,indicatorKey:e});for(let e=0,r=this.columns.length;e<r;e++){const r=this.columns[e];if(r in t)this.columnsHasValue[e]=!0,o.push(t[r]);else if(r!==Nv){if(this.dataConfig?.totals?.column?.showGrandTotals&&0===e&&!this.columns.find((e=>e in t))){o.push(this.colGrandTotalLabel),i=!0;break}if(this.dataConfig?.totals?.column?.subTotalsDimensions&&this.dataConfig?.totals?.column?.subTotalsDimensions.indexOf(this.columns[e-1])>=0){o.push(this.colSubTotalLabel),i=!0;break}}}}else{const e=this.getFieldMatchColDimensionPaths(t);if(e.length>0)for(let t=0,i=e.length;t<i;t++){const i=e[t],o=[];let n;for(let t=0,e=i.length;t<e;t++)J(i[t].indicatorKey)?n=i[t].indicatorKey:o.push(i[t].value);r.push({colKey:o,indicatorKey:n})}}for(let n=0;n<o.length;n++){const s=o[n].rowKey;let a;this.indicatorsAsCol||(a=o[n].indicatorKey);for(let o=0;o<r.length;o++){const n=r[o].colKey;this.indicatorsAsCol&&(a=r[o].indicatorKey);const l=s.join(this.stringJoinChar),h=n.join(this.stringJoinChar);if(i){this.totalRecordsTree[l]||(this.totalRecordsTree[l]={}),this.totalRecordsTree[l][h]||(this.totalRecordsTree[l][h]=[]);const e=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let i=0;i<e.length;i++)if(this.calculatedFiledKeys.indexOf(e[i])>=0){const r=this.calculatedFieldRules?.find((t=>t.key===e[i]));this.totalRecordsTree[l]?.[h]?.[i]||(this.totalRecordsTree[l][h][i]=new ew[XC.RECALCULATE]({key:e[i],field:e[i],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===e[i]))?.format,calculateFun:r?.calculateFun,dependAggregators:this.totalRecordsTree[l][h],dependIndicatorKeys:r?.dependIndicatorKeys})),e[i]in t&&this.totalRecordsTree[l]?.[h]?.[i].push(t)}else{const r=this.getAggregatorRule(e[i]);this.totalRecordsTree[l]?.[h]?.[i]||(this.totalRecordsTree[l][h][i]=new ew[r?.aggregationType??XC.SUM]({key:e[i],field:r?.field??e[i],aggregationFun:r?.aggregationFun,formatFun:r?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===e[i]))?.format})),e[i]in t&&this.totalRecordsTree[l]?.[h]?.[i].push(t)}return}0!==s.length&&(this.rowFlatKeys[l]||(this.rowKeys.push(s),this.rowFlatKeys[l]=1)),0!==n.length&&(this.colFlatKeys[h]||(this.colKeys.push(n),this.colFlatKeys[h]=1)),this.tree[l]||(this.tree[l]={}),this.tree[l]?.[h]||(this.tree[l][h]=[]);const c=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let i=0;i<c.length;i++)if(this.calculatedFiledKeys.indexOf(c[i])>=0){const e=this.calculatedFieldRules?.find((t=>t.key===c[i]));this.tree[l]?.[h]?.[i]||(this.tree[l][h][i]=new ew[XC.RECALCULATE]({key:c[i],field:c[i],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===c[i]))?.format,calculateFun:e?.calculateFun,dependAggregators:this.tree[l][h],dependIndicatorKeys:e?.dependIndicatorKeys})),this.tree[l]?.[h]?.[i].push(t)}else{const r=this.getAggregatorRule(c[i]);let o=!1;if(a)e===a?c[i]===a&&(o=!0):c[i]===a&&c[i]in t&&(o=!0);else if(r?.field)if("string"==typeof r?.field)r?.field in t&&(o=!0);else{const e=r?.field.find((e=>e in t));e&&(o=!0)}else c[i]in t&&(o=!0);!this.tree[l]?.[h]?.[i]&&o&&(this.tree[l][h][i]=new ew[r?.aggregationType??XC.SUM]({key:c[i],field:r?.field??c[i],aggregationFun:r?.aggregationFun,formatFun:r?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===c[i]))?.format})),o&&this.tree[l]?.[h]?.[i].push(t)}if(this.mappingRules)for(let e=0;e<this.indicatorKeys.length;e++){if(!this.indicatorStatistics[e]){const t=this.getAggregatorRule(this.indicatorKeys[e]);this.indicatorStatistics[e]={max:new ew[XC.MAX]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),min:new ew[XC.MIN]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),total:new ew[t?.aggregationType??XC.SUM]({key:this.indicatorKeys[e],field:t?.field??this.indicatorKeys[e],aggregationFun:t?.aggregationFun,formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===this.indicatorKeys[e]))?.format})}}this.indicatorStatistics[e].max.push(this.tree[l]?.[h]?.[e].value()),this.indicatorStatistics[e].min.push(this.tree[l]?.[h]?.[e].value()),this.indicatorStatistics[e].total.push(t)}}}}updateSortRules(t){this.sorted=!1,this.sortRules=t,this.sortKeys(),this.customRowTree||("tree"===this.rowHierarchyType?this.rowHeaderTree=this.ArrToTree1(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.totals?.row?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1):this.rowHeaderTree=this.ArrToTree(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.rowsIsTotal,this.totals?.row?.showGrandTotals||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.rowSubTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1,this.totals?.row?.showSubTotalsOnTop??!1)),this.customColTree||(this.colHeaderTree=this.ArrToTree(this.colKeys,this.columns.filter(((t,e)=>this.columnsHasValue[e])),this.indicatorsAsCol?this.indicators:void 0,this.colsIsTotal,this.totals?.column?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length,this.colGrandTotalLabel,this.colSubTotalLabel,this.totals?.column?.showGrandTotalsOnLeft??!1,this.totals?.column?.showSubTotalsOnLeft??!1))}updateFilterRules(t,e=!1){if(this.filterRules=t,this.filteredRecords=void 0,e)this.tree={};else for(const t in this.tree)for(const e in this.tree[t])for(let i=0;i<this.tree[t][e].length;i++)this.tree[t][e][i]?.reset();this.collectedValues={},this.processRecords(),this.processCollectedValuesWithSumBy(),this.processCollectedValuesWithSortBy(),this.totalStatistics(),this.dataConfig?.isPivotChart&&this.cacheDeminsionCollectedValues()}getAggregatorRule(t){return this.aggregationRules?.find(((e,i)=>t===e.indicatorKey))}getAggregator(t=[],e=[],i,r=!0,o){const n=this.indicatorKeys.indexOf(i);let s,a;"string"==typeof t?s=t:(o&&"row"!==o.position||t.map(((e,r)=>{e!==i||J(o?.index)&&r!==o.index||t.splice(r,1)})),t.length<this.rows.length&&"grid-tree"===this.rowHierarchyType&&(t[0]===this.rowGrandTotalLabel||this.totals?.row?.subTotalsDimensions&&this.totals?.row?.subTotalsDimensions?.length>=1&&t[t.length-1]!==this.rowSubTotalLabel&&t.push(this.rowSubTotalLabel)),s=LI(t,this.stringJoinChar)),"string"==typeof e?a=e:(o&&"col"!==o.position||e.map(((t,r)=>{t!==i||J(o?.index)&&r!==o.index||e.splice(r,1)})),e.length<this.columns.length&&"grid-tree"===this.columnHierarchyType&&(e[0]===this.colGrandTotalLabel||this.totals?.column?.subTotalsDimensions&&this.totals?.column?.subTotalsDimensions?.length>=1&&e[e.length-1]!==this.colSubTotalLabel&&e.push(this.colSubTotalLabel)),a=LI(e,this.stringJoinChar));const l=this.tree[s]?.[a]?.[n];if(r&&J(this.changedTree[s]?.[a]?.[n])){const t=this.changedTree[s][a][n];return l?{value:()=>t,formatValue:l.formatValue,formatFun:l.formatFun,records:l.records,recalculate(){},push(){},deleteRecord(){},updateRecord(){},clearCacheValue(){},reset(){}}:{records:[],value:()=>t,push(){},deleteRecord(){},updateRecord(){},recalculate(){},formatValue:()=>t,clearCacheValue(){},reset(){}}}return l||{records:[],push(){},deleteRecord(){},updateRecord(){},recalculate(){},value:()=>null,clearCacheValue(){},reset(){}}}sortKeys(){if(this.colKeys=this.colKeys_normal.slice(),this.rowKeys=this.rowKeys_normal.slice(),!this.sorted){this.sorted=!0,this.rowKeys.sort(this.arrSort(this.rows,!0));const t=this.arrSort(this.columns,!1);this.colKeys.sort(t)}}arrSort(t,e){let i;const r=this,o=function(o){const n=[];for(let o=0,s=t.length;o<s;o++)if(i=t[o],r.sortRules)for(let t=0,s=r.sortRules.length;t<s;t++)r.sortRules[t].sortField===i&&n.push({field:i,fieldIndex:o,sortRule:r.sortRules[t],func:r.getSort(r.sortRules[t],e)});return n}.call(this);return function(i,n){let s,a;for(let l=0;l<o.length;l++){if(a=o[l],a.sortRule?.sortByIndicator){let o=i,l=n;a.fieldIndex<t.length-1&&(o=i.slice(0,a.fieldIndex+1),"grid"===r.rowHierarchyType&&e?o.push(r.rowSubTotalLabel):e||o.push(r.colSubTotalLabel),l=n.slice(0,a.fieldIndex+1),"grid"===r.rowHierarchyType&&e?l.push(r.rowSubTotalLabel):e||l.push(r.colSubTotalLabel)),s=a.func(o,l,a.sortRule?.sortType)}else s=a.func?.(i[a.fieldIndex],n[a.fieldIndex],a.sortRule?.sortType);if(0!==s)return s}return 0}}getSort(t,e){const i=this;return t.sortByIndicator?(r,o,n)=>{const s=function(e,r){return"grid"===i.rowHierarchyType&&e.length<i.rows.length&&e[e.length-1]!==i.rowSubTotalLabel&&e[e.length-1]!==i.rowGrandTotalLabel&&e.push(i.rowSubTotalLabel),r.length<i.columns.length&&r[r.length-1]!==i.colSubTotalLabel&&r[r.length-1]!==i.colGrandTotalLabel&&r.push(i.colSubTotalLabel),i.getAggregator(e,r,t.sortByIndicator).value()};return e?t.sortFunc?t.sortFunc(s(r,t.query),s(o,t.query),r,o,n):gw(s(r,t.query),s(o,t.query),n):t.sortFunc?t.sortFunc(s(t.query,r),s(t.query,o),r,o,n):gw(s(t.query,r),s(t.query,o),n)}:t.sortBy?pw(t.sortBy):t.sortFunc?t.sortFunc:t.sortType?uw:gw}totalStatistics(){const t=this,e=(e,i)=>{if(this.totalRecordsTree?.[e]?.[i])return this.tree[e]||(this.tree[e]={}),void(this.tree[e][i]=this.totalRecordsTree?.[e]?.[i]);const r=i.split(this.stringJoinChar);if(t.totals?.column?.subTotalsDimensions&&t.totals?.column?.subTotalsDimensions?.length>0&&!1!==t.totals.column.showSubTotals)for(let o=0,n=t.totals?.column?.subTotalsDimensions?.length;o<n;o++){const n=t.totals.column.subTotalsDimensions[o],s=t.columns.indexOf(n);if(s>=0){const o=r.slice(0,s+1);o.push(t.colSubTotalLabel);const n=o.join(this.stringJoinChar);if(this.totalRecordsTree?.[e]?.[n])return void(this.tree[e][n]=this.totalRecordsTree?.[e]?.[n]);this.tree[e][n]||(this.tree[e][n]=[]);const a=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let r=0;r<a.length;r++)if(this.calculatedFiledKeys.indexOf(a[r])>=0){const o=this.calculatedFieldRules?.find((t=>t.key===a[r]));this.tree[e]?.[n]?.[r]||(this.tree[e][n][r]=new ew[XC.RECALCULATE]({key:a[r],field:a[r],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===a[r]))?.format,calculateFun:o?.calculateFun,dependAggregators:this.tree[e][n],dependIndicatorKeys:o?.dependIndicatorKeys})),n!==i&&this.tree[e][n][r].push(t.tree[e]?.[i]?.[r])}else{if(!this.tree[e][n][r]){const t=this.getAggregatorRule(a[r]);this.tree[e][n][r]=new ew[t?.aggregationType??XC.SUM]({key:a[r],field:t?.field??a[r],aggregationFun:t?.aggregationFun,formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===a[r]))?.format})}n!==i&&this.tree[e][n][r].push(t.tree[e]?.[i]?.[r])}}}if(t.totals?.column?.showGrandTotals||0===this.rows.length){const r=t.colGrandTotalLabel;if(this.totalRecordsTree?.[e]?.[r])return void(this.tree[e][r]=this.totalRecordsTree?.[e]?.[r]);this.tree[e][r]||(this.tree[e][r]=[]);const o=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let n=0;n<o.length;n++)if(this.calculatedFiledKeys.indexOf(o[n])>=0){const s=this.calculatedFieldRules?.find((t=>t.key===o[n]));this.tree[e]?.[r]?.[n]||(this.tree[e][r][n]=new ew[XC.RECALCULATE]({key:o[n],field:o[n],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[n]))?.format,calculateFun:s?.calculateFun,dependAggregators:this.tree[e][r],dependIndicatorKeys:s?.dependIndicatorKeys})),r!==i&&this.tree[e][r][n].push(t.tree[e]?.[i]?.[n])}else{if(!this.tree[e][r][n]){const t=this.getAggregatorRule(o[n]);this.tree[e][r][n]=new ew[t?.aggregationType??XC.SUM]({key:o[n],field:t?.field??o[n],formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[n]))?.format})}r!==i&&this.tree[e][r][n].push(t.tree[e]?.[i]?.[n])}}};if(t?.totals?.column?.subTotalsDimensions&&t?.totals?.column?.subTotalsDimensions?.length>=1||t?.totals?.row?.subTotalsDimensions&&t?.totals?.row?.subTotalsDimensions?.length>=1||t?.totals?.column?.showGrandTotals||t?.totals?.row?.showGrandTotals){const i=[];Object.keys(t.tree).forEach((r=>{const o=r.split(this.stringJoinChar);Object.keys(t.tree[r]).forEach((n=>{if(t.totals?.row?.subTotalsDimensions&&t.totals?.row?.subTotalsDimensions?.length>0&&!1!==t.totals.row.showSubTotals)for(let e=0,s=t.totals?.row?.subTotalsDimensions?.length;e<s;e++){const s=t.totals.row.subTotalsDimensions[e],a=t.rows.indexOf(s);if(a>=0&&a<t.rows.length-1){const e=o.slice(0,a+1);"tree"!==this.rowHierarchyType&&e.push(t.rowSubTotalLabel);const s=e.join(this.stringJoinChar);this.tree[s]||(this.tree[s]={},i.push(s)),this.tree[s][n]||(this.tree[s][n]=[]);const l=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let e=0;e<l.length;e++){if(!this.tree[s][n][e])if(this.calculatedFiledKeys.indexOf(l[e])>=0){const t=this.calculatedFieldRules?.find((t=>t.key===l[e]));this.tree[s][n][e]=new ew[XC.RECALCULATE]({key:l[e],field:l[e],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===l[e]))?.format,calculateFun:t?.calculateFun,dependAggregators:this.tree[s][n],dependIndicatorKeys:t?.dependIndicatorKeys})}else{const t=this.getAggregatorRule(l[e]);this.tree[s][n][e]=new ew[t?.aggregationType??XC.SUM]({key:l[e],field:t?.field??l[e],formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===l[e]))?.format})}s!==r&&this.tree[s][n][e].push(t.tree[r]?.[n]?.[e])}}}if(t.totals?.row?.showGrandTotals||0===this.columns.length){const e=t.rowGrandTotalLabel;this.tree[e]||(this.tree[e]={},i.push(e)),this.tree[e][n]||(this.tree[e][n]=[]);const o=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let i=0;i<o.length;i++){if(!this.tree[e][n][i])if(this.calculatedFiledKeys.indexOf(o[i])>=0){const t=this.calculatedFieldRules?.find((t=>t.key===o[i]));this.tree[e][n][i]=new ew[XC.RECALCULATE]({key:o[i],field:o[i],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[i]))?.format,calculateFun:t?.calculateFun,dependAggregators:this.tree[e][n],dependIndicatorKeys:t?.dependIndicatorKeys})}else{const t=this.getAggregatorRule(o[i]);this.tree[e][n][i]=new ew[t?.aggregationType??XC.SUM]({key:o[i],field:t?.field??o[i],formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[i]))?.format})}e!==r&&this.tree[e][n][i].push(t.tree[r]?.[n]?.[i])}}e(r,n)}))})),i.forEach((i=>{Object.keys(t.tree[i]).forEach((t=>{e(i,t)}))}))}for(const i in t.totalRecordsTree)for(const r in t.totalRecordsTree[i])e(i,r)}ArrToTree1(t,e,i,r,o,n){const s=[],a=this.stringJoinChar,l=new Map;function h(t,r){const o=[];let h;t.forEach(((c,d)=>{o.push(c);const u=o.join(a);let g=l.get(u);g||(g={value:c,dimensionKey:e[d],children:d===t.length-1&&(i?.length??0)>=1?i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title})):[]},l.set(u,g),h?h.children.push(g):n&&r?s.unshift(g):s.push(g)),h=g}))}return t.forEach((t=>h(t,!1))),r&&h([o],r),s}ArrToTree(t,e,i,r,o,n,s,a,l){let h=[];const c=this.stringJoinChar,d=new Map;if(t?.length?t.forEach((t=>function(t){const o=[];let n;t.forEach(((a,u)=>{o.push(a);const g=o.join(c);let p=d.get(g);if(!p){if(p={value:a,dimensionKey:e[u],children:u===t.length-1&&(i?.length??0)>=1?i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title})):[]},r[u]){let t=p.children??[];const o={value:s,dimensionKey:e[u+1],levelSpan:r.length-u-1,children:(i?.length??0)>=1?i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title})):[]};t.push(o),t=o.children??[]}d.set(g,p),n?r[u-1]&&!l?n.children.splice(n.children.length-1,0,p):n.children.push(p):h.push(p)}n=p}))}(t))):i&&(h=i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title??t.indicatorKey}))),o&&t?.length){const t={value:n,dimensionKey:e[0],levelSpan:r.length,children:i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title}))??[]};a?h.unshift(t):h.push(t)}return h}cacheDeminsionCollectedValues(){for(const t in this.collectValuesBy)"xField"!==this.collectValuesBy[t].type&&"yField"!==this.collectValuesBy[t].type||(this.dataConfig.dimensionSortArray?this.cacheCollectedValues[t]=FI(this.collectedValues[t],this.dataConfig.dimensionSortArray):this.cacheCollectedValues[t]=this.collectedValues[t])}changeTreeNodeValue(t=[],e=[],i,r){const o=this.indicatorKeys.indexOf(i);let n,s;n="string"==typeof t?t:t.join(this.stringJoinChar),s="string"==typeof e?e:e.join(this.stringJoinChar),this.changedTree[n]?.[s]?this.changedTree[n][s][o]=r:this.changedTree[n]?(this.changedTree[n][s]=[],this.changedTree[n][s][o]=r):(this.changedTree[n]={},this.changedTree[n][s]=[],this.changedTree[n][s][o]=r);const a=this.tree[n]?.[s]?.[o];1===a?.records.length&&(a.records[0][this.indicatorKeys[o]]=r)}changeRecordFieldValue(t,e,i){let r=!1;for(let e=0;e<this.indicatorKeys.length;e++)this.indicatorKeys[e]===t&&(r=!0);if(!r){if(Array.isArray(this.records))for(let r=0,o=this.records.length;r<o;r++){const o=this.records[r];o[t]===e&&(o[t]=i)}else for(const r in this.records)for(let o=0,n=this.records[r].length;o<n;o++){const n=this.records[r][o];n[t]===e&&(n[t]=i)}this.rowFlatKeys={},this.colFlatKeys={},this.tree={},this.processRecords()}}_rowTreeHasChanged(){this.hasExtensionRowTree||(this.customRowTreeDimensionPaths=this.customTreeToDimensionPathArr(this.customRowTree,"row"))}changeDataConfig(t){this.rows=t.rows,this.columns=t.columns}addRecords(t){for(let e=0,i=t.length;e<i;e++){const i=t[e];this.processRecord(i)}Array.isArray(this.records)&&this.records.push(t)}customTreeToDimensionPathArr(t,e){const i=[],r=this;function o(t,n){t.virtual||(n[n.length-1]?.childKeys&&t.dimensionKey&&-1===n[n.length-1].childKeys.indexOf(t.dimensionKey)&&t.dimensionKey!==n[n.length-1].dimensionKey&&n[n.length-1].childKeys.push(t.dimensionKey),n.push({dimensionKey:J(t.indicatorKey)?void 0:t.dimensionKey,value:t.value,indicatorKey:t.indicatorKey,virtual:t.virtual})),t.children?.length>0?("tree"===r.rowHierarchyType&&"row"===e&&(n[n.length-1].childKeys=[],i.push([...n])),t.children?.forEach((t=>o(t,[...n])))):i.push(n)}return t?.forEach((t=>o(t,[]))),i}getFieldMatchColDimensionPaths(t){const e=[];for(let i=0;i<this.customColTreeDimensionPaths?.length;i++){const r=this.customColTreeDimensionPaths[i];let o=!0;for(let e=0;e<r.length;e++){const i=r[e];if(i.dimensionKey&&t[i.dimensionKey]!==i.value||i.indicatorKey&&void 0===t[i.indicatorKey]){o=!1;break}}o&&e.push(r)}return e}getFieldMatchRowDimensionPaths(t){const e=[];for(let i=0;i<this.customRowTreeDimensionPaths?.length;i++){const r=this.customRowTreeDimensionPaths[i];let o=!0;for(let e=0;e<r.length;e++){const i=r[e];if(i.dimensionKey&&t[i.dimensionKey]!==i.value||i.indicatorKey&&void 0===t[i.indicatorKey]){o=!1;break}if(i.childKeys&&e===r.length-1&&i.childKeys.length>0&&i.childKeys.find((e=>J(t[e])))){o=!1;break}}o&&(this.indicatorsAsCol||"tree"!==this.rowHierarchyType||r.find((t=>t.indicatorKey))||(o=!1)),o&&e.push(r)}return e}}function FI(t,e){return t.sort(((t,i)=>{const r=e.indexOf(t),o=e.indexOf(i);return r<o?-1:r>o?1:0}))}class II extends Hk{layoutNodeId={seqId:0};pivotSortState;dataset;flatDataToObjects;constructor(t,e){if("node"===Ew.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),super(t,e),e){e.rowHierarchyType||(e.rowHierarchyType="grid"),e.columnHierarchyType||(e.columnHierarchyType="grid"),e.layout&&Object.assign(e,e.layout),this.internalProps.columns=Ct(e.columns),this.internalProps.rows=Ct(e.rows),this.internalProps.indicators=WL(e.indicators),e.indicators?.forEach(((t,e)=>{"object"==typeof t&&t?.editor&&(this.internalProps.indicators[e].editor=t.editor)})),this.internalProps.columnTree=!e.indicatorsAsCol||e.columns?.length||e.columnTree?Ct(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Ct(e.rowTree):[],this.internalProps.records=e.records,this.pagination=e.pagination,this.internalProps.columnResizeType=e.resize?.columnResizeType??e.columnResizeType??"column",this.internalProps.rowResizeType=e.resize?.rowResizeType??e.rowResizeType??"row",this.internalProps.dataConfig=Ct(e.dataConfig),this.internalProps.columnWidthConfig=e.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=e.columnWidthConfigForRowHeader;const t=this.internalProps.records;if(this.internalProps.recordsIsTwoDimensionalArray=!1,t?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0),!1===e.customConfig?.enableDataAnalysis){const e=new WH(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0),i=new WH(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0);this.internalProps.layoutMap=new PI(this,null,e,i),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new kI({rows:this.internalProps.layoutMap.fullRowDimensionKeys,columns:this.internalProps.layoutMap.colDimensionKeys,indicators:this.internalProps.layoutMap.indicatorKeys,indicatorsAsCol:this.internalProps.layoutMap.indicatorsAsCol,indicatorDimensionKey:this.internalProps.layoutMap.indicatorDimensionKey},t))}else{const t=XH(this,e),{rowKeys:i,columnKeys:r,indicatorKeys:o}=t;let{columnDimensionTree:n,rowDimensionTree:s}=t;this.dataset=new EI(this.internalProps.dataConfig,i,r,o,this.internalProps.indicators,e.indicatorsAsCol??!0,e.records,e.rowHierarchyType,e.columnHierarchyType,this.internalProps.columnTree,this.internalProps.rowTree,!1,!!e.extensionRows,!!e.parseCustomTreeToMatchRecords),e.columnTree?n.hasHideNode&&(qH(n.tree.children,e.indicators,!0,this),n.reset(n.tree.children)):(!1!==e.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,e.indicators)),!1!==e.indicatorsAsCol&&e.indicators&&this.dataset.colHeaderTree&&qH(this.dataset.colHeaderTree,e.indicators,!1,this),n=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),e.rowTree?s.hasHideNode&&(qH(s.tree.children,e.indicators,!0,this),s.reset(s.tree.children)):(!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,e.indicators)),!1===e.indicatorsAsCol&&this.dataset.rowHeaderTree&&e.indicators&&qH(this.dataset.rowHeaderTree,e.indicators,!1,this),s=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),this.internalProps.layoutMap=new PI(this,this.dataset,n,s)}if(this._changePivotSortStateBySortRules(),(e.pivotSortState?.length??0)>0&&(this.pivotSortState=[],this.pivotSortState=e.pivotSortState),"node"!==Ew.mode&&(this.editorManager=new nE(this)),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.stateManager.initCheckedState(t),this.scenegraph.createSceneGraph(),e.title){const t=sx.getComponent("title");this.internalProps.title=new t(e.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.fireListeners(_v.INITIALIZED,null)}),0)}}static get EVENT_TYPE(){return TP}isListTable(){return!1}isPivotTable(){return!0}isPivotChart(){return!1}get recordsCount(){return this.records?.length}_canResizeColumn(t,e){const i=super._canResizeColumn(t,e);if(i){if(this.internalProps.layoutMap.isSeriesNumber(t,e)&&!0===this.internalProps.rowSeriesNumber.disableColumnResize)return!1;if(!this.internalProps.layoutMap.indicatorsAsCol){const e=this.internalProps.layoutMap.getBody(t,this.columnHeaderLevelCount);if(e?.disableColumnResize)return!1}}return i}updateOption(t){const e=this.internalProps;if(super.updateOption(t),t.rowHierarchyType||(t.rowHierarchyType="grid"),t.columnHierarchyType||(t.columnHierarchyType="grid"),this.layoutNodeId={seqId:0},this.internalProps.columns=Ct(t.columns),this.internalProps.rows=Ct(t.rows),this.internalProps.indicators=t.indicators?.length?WL(t.indicators):[],t.indicators?.forEach(((t,e)=>{"object"==typeof t&&t?.editor&&(this.internalProps.indicators[e].editor=t.editor)})),this.internalProps.columnTree=!t.indicatorsAsCol||t.columns?.length||t.columnTree?Ct(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Ct(t.rowTree):[],t.records&&(this.internalProps.records=t.records),this.stateManager.initCheckedState(this.internalProps.records),this.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1),this.pagination=t.pagination,e.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",e.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",e.dataConfig=Ct(t.dataConfig),this.internalProps.columnWidthConfig=t.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=t.columnWidthConfigForRowHeader,"grid"!==t?.rowHierarchyType&&"grid"!==this.internalProps.layoutMap.rowHierarchyType&&this.internalProps.layoutMap.rowExpandLevel===t?.rowExpandLevel){const t=this.internalProps.layoutMap.rowDimensionTree.tree.children;this.internalProps.rowTree?.forEach(((e,i)=>{const r=t.find((t=>t.dimensionKey===e.dimensionKey&&t.value===e.value));r&&this._syncHierarchyState(r,e)}))}const i=this.internalProps.records;if(this.internalProps.recordsIsTwoDimensionalArray=!1,i?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0),!1===t.customConfig?.enableDataAnalysis){let r,o;t.columnTree&&(r=new WH(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree&&(o=new WH(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),e.layoutMap=new PI(this,null,r,o),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new kI({rows:e.layoutMap.fullRowDimensionKeys,columns:e.layoutMap.colDimensionKeys,indicators:e.layoutMap.indicatorKeys,indicatorsAsCol:e.layoutMap.indicatorsAsCol,indicatorDimensionKey:e.layoutMap.indicatorDimensionKey},i))}else{const r=XH(this,t),{rowKeys:o,columnKeys:n,indicatorKeys:s}=r;let{columnDimensionTree:a,rowDimensionTree:l}=r;this.dataset=new EI(e.dataConfig,o,n,s,this.internalProps.indicators,t.indicatorsAsCol??!0,i,t.rowHierarchyType,t.columnHierarchyType,this.internalProps.columnTree,this.internalProps.rowTree,!1,!!t.extensionRows,!!t.parseCustomTreeToMatchRecords),t.columnTree?a.hasHideNode&&(qH(a.tree.children,t.indicators,!0,this),a.reset(a.tree.children)):(!1!==t.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,t.indicators)),!1!==t.indicatorsAsCol&&t.indicators&&this.dataset.colHeaderTree&&qH(this.dataset.colHeaderTree,t.indicators,!1,this),a=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree?l.hasHideNode&&(qH(l.tree.children,t.indicators,!0,this),l.reset(l.tree.children)):(!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,t.indicators)),!1===t.indicatorsAsCol&&this.dataset.rowHeaderTree&&t.indicators&&qH(this.dataset.rowHeaderTree,t.indicators,!1,this),l=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),e.layoutMap=new PI(this,this.dataset,a,l)}if(this._changePivotSortStateBySortRules(),(t.pivotSortState?.length??0)>0&&(this.pivotSortState=[],this.pivotSortState=t.pivotSortState),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,e.releaseList&&(e.releaseList.forEach((t=>t?.release?.())),e.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=sx.getComponent("title");this.internalProps.title=new e(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return new Promise((t=>{setTimeout(t,0)}))}updatePagination(t){t?(this.pagination||(this.pagination={currentPage:0,perPageCount:0}),"number"==typeof t.currentPage&&t.currentPage>=0&&(this.pagination.currentPage=t.currentPage),t.perPageCount&&(this.pagination.perPageCount=t.perPageCount||this.pagination.perPageCount),this.scenegraph.clearCells(),this.internalProps.layoutMap.setPagination(this.pagination),this.refreshRowColCount(),this.scenegraph.createSceneGraph(),this.render()):this.pagination&&(this.pagination=void 0,this.scenegraph.clearCells(),this.internalProps.layoutMap.setPagination(void 0),this.refreshRowColCount(),this.scenegraph.createSceneGraph(),this.render())}refreshHeader(){this.setMinMaxLimitWidth(!0),this.refreshRowColCount()}refreshRowColCount(){const t=this,{layoutMap:e}=t.internalProps;e&&(t.colCount=e.colCount??0,t.rowCount=e.rowCount??0,this.internalProps.frozenColCount=this.options.frozenColCount?this.options.frozenColCount:(e.rowHeaderLevelCount??0)+e.leftRowSeriesNumberColumnCount,t.frozenRowCount=Math.max(e.headerLevelCount,this.options.frozenRowCount??0),t.bottomFrozenRowCount!==(this.options.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=this.options.bottomFrozenRowCount??0),t.rightFrozenColCount!==(this.options.rightFrozenColCount??0)&&(t.rightFrozenColCount=this.options.rightFrozenColCount??0),this.stateManager.setFrozenCol(this.internalProps.frozenColCount),this.stateManager.setFrozenRow(this.frozenRowCount))}_getSortFuncFromHeaderOption(t,e,i){}get rowHierarchyType(){return this.internalProps.layoutMap.rowHierarchyType}get columnHierarchyType(){return this.internalProps.layoutMap.columnHierarchyType}_syncHierarchyState(t,e){t.value===e.value&&t.dimensionKey===e.dimensionKey&&(e.hierarchyState=e.hierarchyState??(e?.children?t.hierarchyState:void 0),e?.children?.forEach(((e,i)=>{if(t?.children?.[i]&&e){const i=t.children.find((t=>t.dimensionKey===e.dimensionKey&&t.value===e.value));i&&this._syncHierarchyState(i,e)}})))}getRecordShowIndexByCell(t,e){}getTableIndexByRecordIndex(t){}getTableIndexByField(t){}getCellAddrByFieldRecord(t,e){}getBodyIndexByRow(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByRow(t)}getBodyIndexByCol(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByCol(t)}getFieldData(t,e,i){if(!this.internalProps.layoutMap.isHeader(e,i)){if(this.internalProps.recordsIsTwoDimensionalArray){const t=this.getBodyIndexByRow(i),r=this.getBodyIndexByCol(e);return this.records[t]?.[r]}if(this.dataset){const r=this.internalProps.layoutMap.getCellHeaderPaths(e,i);if(r){let o;const n=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(o={position:"col",index:e}),t.indicatorKey??t.value))),s=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(o={position:"row",index:e}),t.indicatorKey??t.value))),a=this.dataset.getAggregator(s,n,this.internalProps.layoutMap.getIndicatorKey(e,i),!0,o);if(a.records&&a.records.length>=1)return a.records[0][t]}}else if(this.flatDataToObjects){const r=this.internalProps.layoutMap.getCellHeaderPaths(e,i),o=r.colHeaderPaths.map((t=>t.indicatorKey??t.value)),n=r.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),s=this.flatDataToObjects.getTreeNode(n,o,this.internalProps.layoutMap.getBody(e,i).indicatorKey,!1);if(s?.record)return s?.record[t]}}}getCellValue(t,e,i){if(!i){const i=this.getCustomMergeValue(t,e);if(i)return i}if(this.internalProps.layoutMap.isSeriesNumber(t,e)){if(this.internalProps.layoutMap.isSeriesNumberInHeader(t,e)){const{title:i}=this.internalProps.layoutMap.getSeriesNumberHeader(t,e);return i}const{format:i}=this.internalProps.layoutMap.getSeriesNumberBody(t,e);return"function"==typeof i?i(t,e,this):e-this.columnHeaderLevelCount+1}if(this.internalProps.layoutMap.isHeader(t,e)){const{title:i,fieldFormat:r}=this.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r(i,t,e,this):i}if(this.internalProps.recordsIsTwoDimensionalArray){const{fieldFormat:i}=this.internalProps.layoutMap.getBody(t,e),r=this.getBodyIndexByRow(e),o=this.getBodyIndexByCol(t),n=this.records[r]?.[o];if("function"==typeof i){return i(n,t,e,this)}return n}if(this.dataset){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e);let r;const o=i.colHeaderPaths?.filter((t=>!t.virtual))?.map(((t,e)=>(t.indicatorKey&&(r={position:"col",index:e}),t.indicatorKey??t.value))),n=i.rowHeaderPaths?.filter((t=>!t.virtual))?.map(((t,e)=>(t.indicatorKey&&(r={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,r),{fieldFormat:a}=this.internalProps.layoutMap.getBody(t,e);return s.formatValue?s.formatValue(t,e,this):"function"==typeof a?a(s?.value(),t,e,this):s?.value()??""}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey),{fieldFormat:s}=this.internalProps.layoutMap.getBody(t,e);return"function"==typeof s?s(n?.value,t,e,this):n?.value??""}}getCellOriginValue(t,e){const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i);return s.value?s.value():void 0}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey);return n?.value}}getCellRawValue(t,e){const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!1,i);return s.value?s.value():void 0}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey,!1);return n?.value}}getCellOriginRecord(t,e){if(!this.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value)));return this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i).records}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey);return n?.record}}}getCellRawRecord(t,e){if(!this.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value)));return this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!1,i).records}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey,!1);return n?.record}}}updateSortRules(t,e,i){this.internalProps.dataConfig?this.internalProps.dataConfig.sortRules=t:this.internalProps.dataConfig={sortRules:t},this.dataset.updateSortRules(t),this._changePivotSortStateBySortRules();const{layoutMap:r}=this.internalProps;r.resetHeaderTree(),this.scenegraph.clearCells(),at(e)&&at(i)?(this.isRowHeader(e,i)?(this.setMinMaxLimitWidth(!0),this.internalProps._widthResizedColMap.clear()):this.isCornerHeader(e,i)?"column"===r.cornerSetting.titleOnDimension?(this.setMinMaxLimitWidth(!0),this.internalProps._widthResizedColMap.clear()):"row"===r.cornerSetting.titleOnDimension&&this.internalProps._heightResizedRowMap.clear():this.isColumnHeader(e,i)&&this.internalProps._heightResizedRowMap.clear(),this.refreshRowColCount()):this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.createSceneGraph(!0),this.render()}_changePivotSortStateBySortRules(){this.pivotSortState=[];const t=this.internalProps.dataConfig?.sortRules??[];for(let e=0;e<t.length;e++){const i=t[e],r=[];if(i.sortByIndicator&&i.sortField===(this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1])){for(let t=0;t<i.query.length;t++)r.push({dimensionKey:this.dataset.indicatorsAsCol?this.dataset.columns[t]:this.dataset.rows[t],value:i.query[t]});r.push({indicatorKey:i.sortByIndicator,value:this.internalProps.layoutMap.getIndicatorInfo(i.sortByIndicator)?.title??i.sortByIndicator})}else r.push({dimensionKey:i.sortField,isPivotCorner:!0,value:i.sortField});const o=i.sortType?i.sortType.toUpperCase():"ASC";this.pivotSortState.push({dimensions:r,order:YC[o]})}}_parseColumnWidthConfig(t){for(let e=0;e<t?.length;e++){const i=t[e],r=i.dimensions,o=i.width,n=this.getCellAddressByHeaderPaths(r);if(n&&n.col>=this.rowHeaderLevelCount){const t=this.getCellHeaderPaths(n.col,this.columnHeaderLevelCount);if(t.colHeaderPaths.length===r.length){let e=!0;for(let i=0;i<r.length;i++){const o=r[i];if(t.colHeaderPaths.findIndex(((t,e)=>t.indicatorKey===o.indicatorKey||t.dimensionKey===o.dimensionKey&&t.value===o.value))<0){e=!1;break}}e&&!this.internalProps._widthResizedColMap.has(n.col)&&(this._setColWidth(n.col,o),this.internalProps._widthResizedColMap.add(n.col))}}else n&&n.col<this.rowHeaderLevelCount&&(this.internalProps._widthResizedColMap.has(n.col)||(this._setColWidth(n.col,o),this.internalProps._widthResizedColMap.add(n.col)))}}_parseColumnWidthConfigForRowHeader(t){for(let e=0;e<t?.length;e++){const i=t[e],r=i.dimensions,o=i.width,n=this.getCellAddressByHeaderPaths(r);n&&n.col<this.rowHeaderLevelCount&&(this.internalProps._widthResizedColMap.has(n.col)||(this._setColWidth(n.col,o),this.internalProps._widthResizedColMap.add(n.col)))}}updatePivotSortState(t){this.pivotSortState=t}sort(t,e,i){let r;if(this.isCornerHeader(t,e)){const i=this.getHeaderDefine(t,e);r=[];const o={isPivotCorner:!0,dimensionKey:i.value,value:i.value};r.push(o)}else r=this.isColumnHeader(t,e)?this.getCellHeaderPaths(t,e).colHeaderPaths:this.getCellHeaderPaths(t,e).rowHeaderPaths;const o=r[r.length-1].indicatorKey,n=this.getHeaderDefine(t,e);if(n.sort){if(this.dataset.sortRules){const t={};for(let e=this.dataset.sortRules.length-1;e>=0;e--){const i=this.dataset.sortRules[e];(n.dimensionKey&&i.sortField===n.dimensionKey||o&&i.sortField===(this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1]))&&(t[i.sortField]=i,this.dataset.sortRules.splice(e,1))}if(o){const e=this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1];this.dataset.sortRules.push({sortField:e,sortType:YC[i],sortByIndicator:o,query:r.reduce(((t,e)=>(e.dimensionKey&&t.push(e.value),t)),[]),sortFunc:t[e]?.sortFunc})}else this.dataset.sortRules.push(Object.assign(t[n.dimensionKey]??{},{sortField:n.dimensionKey,sortType:YC[i]}))}else this.dataset.sortRules=o?[{sortField:this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1],sortType:YC[i],sortByIndicator:o,query:r.reduce(((t,e)=>(e.dimensionKey&&t.push(e.value),t)),[])}]:[{sortField:n.dimensionKey,sortType:YC[i]}];this.updateSortRules(this.dataset.sortRules,t,e)}}getPivotSortState(t,e){if(!this.pivotSortState)return;const i=this.getCellRange(t,e);for(let t=0;t<this.pivotSortState.length;t++){const e=this.pivotSortState[t],r=e.dimensions,o=this.getCellAddressByHeaderPaths(r),n=e.order;if(o&&pv(i,o.col,o.row))return n}}_moveHeaderPosition(t,e){const i=this.getCellRange(t.col,t.row),r=this.getCellRange(e.col,e.row),o=this.internalProps.layoutMap.moveHeaderPosition(t,e);if(o){if("column"===o.moveType){if(this.internalProps.recordsIsTwoDimensionalArray)for(let t=0;t<this.internalProps.records.length;t++){const e=this.internalProps.records[t].splice(o.sourceIndex-this.rowHeaderLevelCount,o.sourceSize);e.unshift(o.targetIndex-this.rowHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records[t],e)}this.colWidthsMap.exchangeOrder(i.start.col,i.end.col-i.start.col+1,r.start.col,r.end.col-r.start.col+1,o.targetIndex),this.setMinMaxLimitWidth()}else if("row"===o.moveType){if(this.internalProps.recordsIsTwoDimensionalArray){const t=this.internalProps.records.splice(o.sourceIndex-this.columnHeaderLevelCount,o.sourceSize);t.unshift(o.targetIndex-this.columnHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records,t)}o.targetIndex>o.sourceIndex?this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex+o.sourceSize-o.targetSize,o.targetSize,o.targetIndex):this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex,o.targetSize,o.targetIndex)}return o}return null}toggleHierarchyState(t,e,i=!0){const r=this.getHierarchyState(t,e);if(r===ZC.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(TP.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.collapse});else if(r===ZC.collapse){const r=this.internalProps.layoutMap.getHeadNode(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(TP.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.expand,originData:r})}}_refreshHierarchyState(t,e,i=!0,r){this.frozenColCount,this.frozenRowCount;const o=this.getBodyVisibleRowRange().rowStart;this.internalProps._oldRowCount=this.rowCount,this.internalProps._oldColCount=this.colCount;let n=!1,s=!1;this.stateManager.updateHoverIcon(t,e,void 0,void 0);const a=this.internalProps.layoutMap.checkHasChart();a&&(this.autoFillWidth&&(n=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&(s=this.getAllRowsHeight()<=this.tableNoFrameHeight));const l=this.internalProps.layoutMap.isRowHeader(t,e)?this.internalProps.layoutMap.toggleHierarchyState(t,e):this.internalProps.layoutMap.toggleHierarchyStateForColumnTree(t,e);r&&r(),this.refreshRowColCount(),this.frozenColCount,this.frozenRowCount,this.clearCellStyleCache(),"tree"===this.rowHierarchyType&&this.scenegraph.updateHierarchyIcon(t,e),this.reactCustomLayout?.clearCache(),"grid-tree"!==this.rowHierarchyType&&"grid-tree"!==this.columnHierarchyType?this.scenegraph.updateRow(l.removeCellPositionsRowDirection,l.addCellPositionsRowDirection,l.updateCellPositionsRowDirection,i):(this.internalProps.stick.changedCells.clear(),this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.scrollToRow(o)),this.reactCustomLayout?.updateAllCustomCell(),a&&(this.autoFillWidth&&!n&&(n=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&!s&&(s=this.getAllRowsHeight()<=this.tableNoFrameHeight),("adaptive"===this.widthMode||n||"adaptive"===this.heightMode||s)&&this.scenegraph.updateChartSizeForResizeColWidth(-1)),this.internalProps._oldRowCount=void 0,this.internalProps._oldColCount=void 0}getHeaderCellAddressByPath(t){return this.internalProps.layoutMap.getPivotCellAdress(t)}getCellAddressByHeaderPaths(t){return this.internalProps.layoutMap.getCellAdressByHeaderPath(t)}getHeaderPathByXY(t){let e;e=t?this.getCellAt(t.x+this.getFrozenColsWidth()+this.scrollLeft+1,t.y+this.getFrozenRowsHeight()+this.scrollTop+1):this.getCellAt(this.getFrozenColsWidth()+this.scrollLeft+1,this.getFrozenRowsHeight()+this.scrollTop+1);return this.internalProps.layoutMap.getCellHeaderPaths(e.col,e.row)}getHierarchyState(t,e){return this._getHeaderLayoutMap(t,e)?.hierarchyState}getLayoutColumnTree(){return this.internalProps.layoutMap.getLayoutColumnTree()}getLayoutColumnTreeCount(){return this.internalProps.layoutMap.getLayoutColumnTreeCount()}getLayoutRowTree(){return this.internalProps.layoutMap.getLayoutRowTree()}getLayoutRowTreeCount(){return this.internalProps.layoutMap.getLayoutRowTreeCount()}getCellHeaderTreeNodes(t,e){return this.internalProps.layoutMap.getCellHeaderPathsWithTreeNode(t,e)}getMenuInfo(t,e,i){const r=this.internalProps.layoutMap.getPivotDimensionInfo(t,e);return{dimensionKey:r[r.length-1].dimensionKey,value:this.getCellValue(t,e),cellLocation:this.getCellLocation(t,e),isPivotCorner:this.isCornerHeader(t,e),event:void 0}}setRecords(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.options.records=this.internalProps.records=t,this.internalProps.recordsIsTwoDimensionalArray=!1,t?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0);const i=this.options,r=this.internalProps;if(!1===this.options.customConfig?.enableDataAnalysis)!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new kI({rows:r.layoutMap.fullRowDimensionKeys,columns:r.layoutMap.colDimensionKeys,indicators:r.layoutMap.indicatorKeys,indicatorsAsCol:r.layoutMap.indicatorsAsCol,indicatorDimensionKey:r.layoutMap.indicatorDimensionKey},t));else{let e,o;this.dataset.setRecords(t),i.columnTree?e=r.layoutMap.columnDimensionTree:(!1!==i.indicatorsAsCol&&i.indicators&&this.dataset.colHeaderTree&&qH(this.dataset.colHeaderTree,i.indicators,!1,this),e=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),i.rowTree?o=r.layoutMap.rowDimensionTree:(!1===i.indicatorsAsCol&&this.dataset.rowHeaderTree&&i.indicators&&qH(this.dataset.rowHeaderTree,i.indicators,!1,this),o=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),r.layoutMap=new PI(this,this.dataset,e,o),this.pivotSortState=[],i.pivotSortState&&(this.pivotSortState=i.pivotSortState)}if(this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.internalProps.title&&!this.internalProps.title.isReleased&&(this._updateSize(),this.internalProps.title.resize(),this.scenegraph.resize()),this.eventManager.updateEventBinder(),this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}}startEditCell(t,e,i){if(J(t)&&J(e))this.eventManager.isDraging=!1,this.selectCell(t,e),this.editorManager.startEditCell(t,e,i);else if(this.stateManager.select?.cellPos){const{col:t,row:e}=this.stateManager.select.cellPos;J(t)&&J(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){let i;if(this.isCornerHeader(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerEditor??this.options.headerEditor}else if(this.isHeader(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerEditor??this.options.headerEditor}else{const r=this.getBodyColumnDefine(t,e);i=r?.editor??this.options.editor}if("function"==typeof i){i=i({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return"string"==typeof i?Fk(i):i}isHasEditorDefine(t,e){const i=this.getBodyColumnDefine(t,e);let r=i?.editor??this.options.editor;if("function"==typeof r){r=r({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return J(r)}changeCellValue(t,e,i,r=!1){if(r&&this.isHasEditorDefine(t,e)||!1===r){let r=i;const o=this.getCellOriginValue(t,e),n=this.getCellRawValue(t,e);"number"==typeof n&&Yw(i)&&(r=parseFloat(i)),this._changeCellValueToDataSet(t,e,o,r);const s=this.getCellRange(t,e);for(let t=s.start.col;t<=s.end.col;t++)for(let e=s.start.row;e<=s.end.row;e++)this.scenegraph.updateCellContent(t,e);if("adaptive"===this.widthMode||this.autoFillWidth&&this.getAllColsWidth()<=this.tableNoFrameWidth)0===this.internalProps._widthResizedColMap.size&&this.scenegraph.recalculateColWidths();else if(!this.internalProps._widthResizedColMap.has(t)){const e=this.getColWidth(t),i=UB(t,0,this.rowCount-1,this,!1);i!==e&&this.scenegraph.updateColWidth(t,i-e)}if("adaptive"===this.heightMode||this.autoFillHeight&&this.getAllRowsHeight()<=this.tableNoFrameHeight)0===this.internalProps._heightResizedRowMap.size&&this.scenegraph.recalculateRowHeights();else if(this.isAutoRowHeight()&&!this.internalProps._heightResizedRowMap.has(e)){const t=this.getRowHeight(e),i=BT(e,0,this.colCount-1,this);this.scenegraph.updateRowHeight(e,i-t)}o!==r&&this.fireListeners(_v.CHANGE_CELL_VALUE,{col:t,row:e,rawValue:n,currentValue:o,changedValue:r}),this.scenegraph.updateNextFrame()}}changeCellValues(t,e,i,r=!1){let o=t,n=e;const s=[],a=[];for(let r=0;r<i.length&&!(e+r>this.rowCount-1);r++){const o=i[r],n=[],l=[];s.push(n),a.push(l);for(let i=0;i<o.length&&!(t+i>this.colCount-1);i++){const o=this.getCellRawValue(t+i,e+r);n.push(o);const s=this.getCellOriginValue(t+i,e+r);l.push(s)}}for(let l=0;l<i.length&&!(e+l>this.rowCount-1);l++){n=e+l;const h=i[l];let c=t;for(let i=0;i<h.length&&!(t+i>this.colCount-1);i++)if(c=t+i,r&&this.isHasEditorDefine(t+i,e+l)||!1===r){const r=h[i];let o=r;const n=a[l][i],c=s[l][i];"number"==typeof c&&Yw(r)&&(o=parseFloat(r)),this._changeCellValueToDataSet(t+i,e+l,n,o);const d=this.getCellOriginValue(t+i,e+l);d!==n&&this.fireListeners(_v.CHANGE_CELL_VALUE,{col:t+i,row:e+l,rawValue:c,currentValue:n,changedValue:d})}o=Math.max(o,c)}const l=this.getCellRange(t,e),h=this.getCellRange(o,n);for(let t=l.start.col;t<=h.end.col;t++)for(let e=l.start.row;e<=h.end.row;e++)this.scenegraph.updateCellContent(t,e);if("adaptive"===this.widthMode||this.autoFillWidth&&this.getAllColsWidth()<=this.tableNoFrameWidth)0===this.internalProps._widthResizedColMap.size&&this.scenegraph.recalculateColWidths();else for(let e=t;e<=h.end.col;e++)if(!this.internalProps._widthResizedColMap.has(e)){const t=this.getColWidth(e),i=UB(e,0,this.rowCount-1,this,!1);i!==t&&this.scenegraph.updateColWidth(e,i-t)}if("adaptive"===this.heightMode||this.autoFillHeight&&this.getAllRowsHeight()<=this.tableNoFrameHeight)this.scenegraph.recalculateRowHeights();else if(this.isAutoRowHeight()){const t=[],i=[];for(let r=e;r<=h.end.row;r++)if(this.rowHeightsMap.get(r)){const e=this.getRowHeight(r),o=BT(r,0,this.colCount-1,this);t.push(r),i.push(o-e)}this.scenegraph.updateRowsHeight(t,i)}this.scenegraph.updateNextFrame()}_changeCellValueToDataSet(t,e,i,r){if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),o=this.getBodyIndexByCol(t);this.records[i][o]=r}else if(this.dataset){const o=this.internalProps.layoutMap.getCellHeaderPaths(t,e);if(this.isCornerHeader(t,e))this.internalProps.layoutMap.changeCornerTitle(t,e,r);else if(this.isHeader(t,e))this.internalProps.layoutMap.changeTreeNodeTitle(t,e,r),!this.isCornerHeader(t,e)&&this.dataset.changeRecordFieldValue(o.colHeaderPaths?.length?o.colHeaderPaths[o.colHeaderPaths.length-1].indicatorKey??o.colHeaderPaths[o.colHeaderPaths.length-1].dimensionKey:o.rowHeaderPaths[o.rowHeaderPaths.length-1].indicatorKey??o.rowHeaderPaths[o.rowHeaderPaths.length-1].dimensionKey,i,r);else{const i=o.colHeaderPaths?.filter((t=>!t.virtual)).map((t=>t.indicatorKey??t.value)),n=o.rowHeaderPaths?.filter((t=>!t.virtual)).map((t=>t.indicatorKey??t.value));this.dataset.changeTreeNodeValue(this.internalProps.layoutMap.indicatorsAsCol?n:n.slice(0,-1),this.internalProps.layoutMap.indicatorsAsCol?i.slice(0,-1):i,this.internalProps.layoutMap.getIndicatorKey(t,e),r)}}else if(this.flatDataToObjects){const o=this.internalProps.layoutMap.getCellHeaderPaths(t,e);if(this.isHeader(t,e))this.internalProps.layoutMap.changeTreeNodeTitle(t,e,r),!this.isCornerHeader(t,e)&&this.flatDataToObjects.changeRecordFieldValue(o.colHeaderPaths?.length?o.colHeaderPaths[o.colHeaderPaths.length-1].indicatorKey??o.colHeaderPaths[o.colHeaderPaths.length-1].dimensionKey:o.rowHeaderPaths[o.rowHeaderPaths.length-1].indicatorKey??o.rowHeaderPaths[o.rowHeaderPaths.length-1].dimensionKey,i,r);else{const i=o.colHeaderPaths.map((t=>t.indicatorKey??t.value)),n=o.rowHeaderPaths.map((t=>t.indicatorKey??t.value));this.flatDataToObjects.changeTreeNodeValue(n,i,this.internalProps.layoutMap.getBody(t,e).indicatorKey,r)}}}_hasCustomRenderOrLayout(){if(this.options.customRender)return!0;const{columnsDefine:t,rowsDefine:e,indicatorsDefine:i}=this.internalProps.layoutMap;for(let e=0;e<t.length;e++){const i=t[e];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<e.length;t++){const i=e[t];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<i.length;t++){const e=i[t];if("string"!=typeof e&&(e.customLayout||e.headerCustomLayout||e.customRender||e.headerCustomRender))return!0}return!1}changeRecordOrder(t,e){}setTreeNodeChildren(t,e,i,r){if(this.flatDataToObjects){this.internalProps.layoutMap.getHeadNode(i,r).children=t,this._refreshHierarchyState(i,r,!0,(()=>{this.flatDataToObjects.changeDataConfig({rows:this.internalProps.layoutMap.fullRowDimensionKeys,columns:this.internalProps.layoutMap.colDimensionKeys,indicators:this.internalProps.layoutMap.indicatorKeys,indicatorsAsCol:this.internalProps.layoutMap.indicatorsAsCol,indicatorDimensionKey:this.internalProps.layoutMap.indicatorDimensionKey}),this.flatDataToObjects.addRecords(e)}))}else{this.internalProps.layoutMap.getHeadNode(i,r).children=t,this._refreshHierarchyState(i,r,!0,(()=>{this.dataset._rowTreeHasChanged(),this.dataset.changeDataConfig({rows:this.internalProps.layoutMap.fullRowDimensionKeys,columns:this.internalProps.layoutMap.colDimensionKeys}),this.dataset.addRecords(e)}))}}updateFilterRules(t){this.internalProps.dataConfig.filterRules=t,this.dataset.updateFilterRules(t),this.renderWithRecreateCells()}getFilteredRecords(){return this.dataset?.filterRules}setLoadingHierarchyState(t,e){this.scenegraph.setLoadingHierarchyState(t,e)}release(){this.editorManager.release(),super.release()}}KF(),$F(),XF(),YF(),qF(),ZF(),CI(),wI(),vI(),xI(),_I(),RI(),TI(),BI();TI();KF(),$F(),XF(),YF(),qF(),ZF(),CI(),wI(),vI(),xI(),_I(),RI(),TI(),BI();class zI extends ds{constructor(t){t.direction&&(t.flexDirection=t.direction),!t.justifyContent||"start"!==t.justifyContent&&"end"!==t.justifyContent||(t.justifyContent="flex-"+t.justifyContent),!t.alignItems||"start"!==t.alignItems&&"end"!==t.alignItems||(t.alignItems="flex-"+t.alignItems),!t.alignContent||"start"!==t.alignContent&&"end"!==t.alignContent||(t.alignContent="flex-"+t.alignContent),t.display="flex",t.flexDirection||(t.flexDirection="row"),t.clip=!0,t.fill=t?.background?.fill,t.stroke=t?.background?.stroke,t.lineWidth=t?.background?.lineWidth,t.cornerRadius=t?.background?.cornerRadius;const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}}var OI=Object.freeze({__proto__:null,Arc:class extends pd{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},CheckBox:DC,Circle:class extends Mh{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},Container:zI,Group:class extends ds{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},GroupElement:class extends zI{constructor(t){t.flexWrap="nowrap",super(t)}},Icon:class extends id{svg;iconName;cache;constructor(t){let e;if(rt(t.iconName)){e=kR()[t.iconName],e&&(t.width=t.width??e.width,t.height=t.height??e.height,t.svg=e.svg,t.cursor=e.cursor)}t.svg&&(t.image=t.svg);const i=ot(t.boundsPadding),r=[t.marginTop??(i?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(i?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(i?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(i?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=r,super(t),this.cache=e}},Image:class extends id{constructor(t){t.src&&(t.image=t.src),"circle"===t.shape&&(t.cornerRadius=t.width/2);const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},Line:Xc,Radio:WC,Rect:class extends Zc{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},Tag:class extends $b{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}getSize(t){this.AABBBounds.width()}},Text:class extends Lh{constructor(t){t.textBaseline||(t.textBaseline="top");const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,t.fill=t.fill??"#000",super(t)}getSize(t){this.AABBBounds.width()}},percentCalc:function(t,e=0){return{percent:t,delta:e}}});function DI(t){const e={seqId:0},i={isPivotChart:!0};let r,o,n,s;t.columnTree&&(!1!==t.indicatorsAsCol&&(n=YH(t.columnTree,t.indicators)),r=new WH(t.columnTree??[],e)),t.rowTree&&(!1===t.indicatorsAsCol&&(s=YH(t.rowTree,t.indicators)),o=new WH(t.rowTree??[],e));const a=o.dimensionKeys?.count?o.dimensionKeys.valueArr():t.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],l=r.dimensionKeys?.count?r.dimensionKeys.valueArr():t.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],h=t.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];i.collectValuesBy=function(t,e,i){const r={};for(let o=0,n=t.indicators?.length;o<n;o++)if("string"!=typeof t.indicators[o]&&t.indicators[o].chartSpec)if(!1===t.indicatorsAsCol){const n=t.indicators[o];if(r[n.indicatorKey]={by:i,range:!0,sumBy:!1!==n.chartSpec?.stack&&e.concat(n.chartSpec?.xField)},n.chartSpec.series)n.chartSpec.series.forEach((t=>{const o="string"==typeof t.xField?t.xField:t.xField[0];r[o]={by:e,type:"horizontal"!==t.direction?"xField":void 0,range:"horizontal"===t.direction,sortBy:"horizontal"!==t.direction?t?.data?.fields?.[o]?.domain??n.chartSpec?.data?.fields?.[o]?.domain:void 0};const s=t.yField;r[s]={by:i,range:"horizontal"!==t.direction,sumBy:!1!==t.stack&&e.concat(t?.xField),sortBy:"horizontal"===t.direction?t?.data?.fields?.[s]?.domain??n.chartSpec?.data?.fields?.[s]?.domain:void 0}}));else{const s="string"==typeof n.chartSpec.xField?n.chartSpec.xField:n.chartSpec.xField[0];r[s]={by:e,type:"horizontal"!==n.chartSpec.direction?"xField":void 0,range:"horizontal"===n.chartSpec.direction,sortBy:"horizontal"!==n.chartSpec.direction?n.chartSpec?.data?.fields?.[s]?.domain:void 0};const a=n.chartSpec.yField;r[a]={by:i,range:"horizontal"!==t.indicators[o].chartSpec.direction,sumBy:!1!==n.chartSpec.stack&&e.concat(n.chartSpec?.xField),sortBy:"horizontal"===n.chartSpec.direction?n.chartSpec?.data?.fields?.[a]?.domain:void 0}}}else{const n=t.indicators[o];if(r[n.indicatorKey]={by:e,range:!0,sumBy:!1!==n.chartSpec?.stack&&i.concat(n.chartSpec?.yField)},n.chartSpec.series)n.chartSpec.series.forEach((t=>{const o="string"==typeof t.yField?t.yField:t.yField[0];r[o]={by:i,type:"horizontal"===t.direction?"yField":void 0,range:"horizontal"!==t.direction,sortBy:"horizontal"===t.direction?t?.data?.fields?.[o]?.domain??n.chartSpec?.data?.fields?.[o]?.domain:void 0};const s=t.xField;r[s]={by:e,range:"horizontal"===t.direction,sumBy:!1!==t.stack&&i.concat(t?.yField),sortBy:"horizontal"!==t.direction?t?.data?.fields?.[s]?.domain??n.chartSpec?.data?.fields?.[s]?.domain:void 0}}));else{const s="string"==typeof n.chartSpec.yField?n.chartSpec.yField:n.chartSpec.yField[0];r[s]={by:i,type:"horizontal"===n.chartSpec.direction?"yField":void 0,range:"horizontal"!==n.chartSpec.direction,sortBy:"horizontal"===n.chartSpec.direction?n.chartSpec?.data?.fields?.[s]?.domain:void 0};const a=n.chartSpec.xField;r[a]={by:e,range:"horizontal"===t.indicators[o].chartSpec.direction,sumBy:!1!==n.chartSpec.stack&&i.concat(n.chartSpec?.yField),sortBy:"horizontal"!==n.chartSpec.direction?n.chartSpec?.data?.fields?.[a]?.domain:void 0}}}return r}(t,l,a),i.aggregationRules=function(t){const e=[];return t.indicators?.forEach((i=>{if("string"==typeof i)e.push({indicatorKey:i,field:i,aggregationType:XC.RECORD});else if(i.chartSpec?.series){const r=[];i.chartSpec?.series.forEach((e=>{const i=!1===t.indicatorsAsCol?e.yField:e.xField;-1===r.indexOf(i)&&r.push(i)})),e.push({indicatorKey:i.indicatorKey,field:r,aggregationType:XC.RECORD})}else{const r=!1===t.indicatorsAsCol?i.chartSpec.yField:i.chartSpec.xField;e.push({indicatorKey:i.indicatorKey,field:r??i.indicatorKey,aggregationType:XC.RECORD})}})),e}(t);return{dataset:new EI(i,a,l,h,t.indicators,t.indicatorsAsCol??!0,t.records,void 0,void 0,n||t.columnTree,s||t.rowTree,!0),columnDimensionTree:r,rowDimensionTree:o,layoutNodeId:e}}function WI(t,e,i,r,o,n){if(ot(t))for(let l=0;l<t.length;l++)if(n?n(t[l],e):(s=t[l],a=e,JSON.stringify(s)===JSON.stringify(a)))return o.getCellHeaderPaths(i,r);var s,a}jC();t.CustomLayout=OI,t.DataStatistics=Wk,t.EventTarget=yw,t.Icon=NA,t.ListTable=class extends cE{},t.ListTableSimple=class extends cE{},t.PIVOT_CHART_EVENT_TYPE=BP,t.PIVOT_TABLE_EVENT_TYPE=TP,t.PivotChart=class extends Hk{layoutNodeId={seqId:0};pivotSortState;dataset;_selectedDataItemsInChart=[];_selectedDimensionInChart=[];_chartEventMap={};_axes;constructor(t,e){let i,r;"node"===Ew.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),super(t,e),e.layout&&Object.assign(e,e.layout),this.internalProps.columns=Ct(e.columns),this.internalProps.rows=Ct(e.rows),this.internalProps.indicators=WL(e.indicators),this.internalProps.columnTree=!e.indicatorsAsCol||e.columns?.length||e.columnTree?Ct(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Ct(e.rowTree):[],this.internalProps.records=e.records,this.setCustomStateNameToSpec(),this.internalProps.columnResizeType=e.resize?.columnResizeType??e.columnResizeType??"column",this.internalProps.rowResizeType=e.resize?.rowResizeType??e.rowResizeType??"row",this.internalProps.dataConfig={isPivotChart:!0},this._axes=ot(e.axes)?e.axes:[],e.columnTree&&(!1!==e.indicatorsAsCol&&(this.internalProps.columnTree=YH(this.internalProps.columnTree,e.indicators)),i=new WH(this.internalProps.columnTree??[],this.layoutNodeId)),e.rowTree&&(!1===e.indicatorsAsCol&&(this.internalProps.rowTree=YH(this.internalProps.rowTree,e.indicators)),r=new WH(this.internalProps.rowTree??[],this.layoutNodeId));const o=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():e.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],n=i?.dimensionKeys?.count?i.dimensionKeys.valueArr():e.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=e.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];if(this.internalProps.dataConfig.collectValuesBy=this._generateCollectValuesConfig(n,o),this.internalProps.dataConfig.aggregationRules=this._generateAggregationRules(),this.internalProps.dataConfig.dimensionSortArray=this._getDimensionSortArray(),this.dataset=new EI(this.internalProps.dataConfig,o,n,s,this.internalProps.indicators,e.indicatorsAsCol??!0,e.records,void 0,void 0,this.internalProps.columnTree,this.internalProps.rowTree,!0),this.options.indicatorsAsCol&&QL(this.internalProps.indicators)){const t=e=>{e.forEach((e=>{e.children?.length?t(e.children):e.children=[{dimensionKey:"axis",value:""}]}))};this.dataset.rowHeaderTree?.length?t(this.dataset.rowHeaderTree):this.dataset.rowHeaderTree=[{dimensionKey:"axis",value:""}]}if(e.columnTree||!1!==e.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,e.indicators)),e.rowTree||!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,e.indicators)),i=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId),r=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId),this.internalProps.layoutMap=new PI(this,this.dataset,i,r),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.createSceneGraph(),e.title){const t=sx.getComponent("title");this.internalProps.title=new t(e.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.fireListeners(_v.INITIALIZED,null)}),0)}static get EVENT_TYPE(){return BP}get pivotChartAxes(){return this._axes}get recordsCount(){return this.records?.length}isListTable(){return!1}isPivotTable(){return!0}isPivotChart(){return!0}_canResizeColumn(t,e){const i=super._canResizeColumn(t,e);if(i&&!this.internalProps.layoutMap.indicatorsAsCol){const e=this.internalProps.layoutMap.getBody(t,this.columnHeaderLevelCount);if(e?.disableColumnResize)return!1}return i}updateOption(t){const e=this.internalProps;let i,r;super.updateOption(t),this.layoutNodeId={seqId:0},this.internalProps.columns=Ct(t.columns),this.internalProps.rows=Ct(t.rows),this.internalProps.indicators=t.indicators?.length?WL(t.indicators):[],this.internalProps.columnTree=!t.indicatorsAsCol||t.columns?.length||t.columnTree?Ct(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Ct(t.rowTree):[],t.records&&(this.internalProps.records=t.records),this.setCustomStateNameToSpec(),this._selectedDataItemsInChart=[],e.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",e.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",e.dataConfig={isPivotChart:!0},this._axes=ot(t.axes)?t.axes:[],t.columnTree&&(!1!==t.indicatorsAsCol&&(this.internalProps.columnTree=YH(this.internalProps.columnTree,t.indicators)),i=new WH(this.internalProps.columnTree??[],this.layoutNodeId)),t.rowTree&&(!1===t.indicatorsAsCol&&(this.internalProps.rowTree=YH(this.internalProps.rowTree,t.indicators)),r=new WH(this.internalProps.rowTree??[],this.layoutNodeId));const o=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():t.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],n=i?.dimensionKeys?.count?i.dimensionKeys.valueArr():t.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=t.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];if(this.internalProps.dataConfig.collectValuesBy=this._generateCollectValuesConfig(n,o),this.internalProps.dataConfig.aggregationRules=this._generateAggregationRules(),this.internalProps.dataConfig.dimensionSortArray=this._getDimensionSortArray(),this.dataset=new EI(this.internalProps.dataConfig,o,n,s,this.internalProps.indicators,t.indicatorsAsCol??!0,t.records??this.internalProps.records,void 0,void 0,this.internalProps.columnTree,this.internalProps.rowTree,!0),this.options.indicatorsAsCol&&QL(this.internalProps.indicators)){const t=e=>{e.forEach((e=>{e.children?.length?t(e.children):e.children=[{dimensionKey:"axis",value:""}]}))};this.dataset.rowHeaderTree?.length?t(this.dataset.rowHeaderTree):this.dataset.rowHeaderTree=[{dimensionKey:"axis",value:""}]}if(t.columnTree||!1!==t.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,t.indicators)),t.rowTree||!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,t.indicators)),i=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId),r=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId),e.layoutMap=new PI(this,this.dataset,i,r),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,e.releaseList&&(e.releaseList.forEach((t=>t?.release?.())),e.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=sx.getComponent("title");this.internalProps.title=new e(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return new Promise((t=>{setTimeout(t,0)}))}updatePagination(){}refreshHeader(){this.setMinMaxLimitWidth(!0),this.refreshRowColCount()}refreshRowColCount(){const t=this,{layoutMap:e}=t.internalProps;e&&(t.colCount=e.colCount??0,t.rowCount=e.rowCount??0,t.internalProps.frozenColCount=e.rowHeaderLevelCount??0,t.frozenRowCount=Math.max(e.headerLevelCount,this.options.frozenRowCount??0),t.bottomFrozenRowCount!==(e?.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=e?.bottomFrozenRowCount??0),t.rightFrozenColCount!==(e?.rightFrozenColCount??0)&&(t.rightFrozenColCount=e?.rightFrozenColCount??0),this.stateManager.setFrozenCol(this.internalProps.frozenColCount))}_getSortFuncFromHeaderOption(t,e,i){}syncHierarchyState(t,e){t.value===e.value&&t.dimensionKey===e.dimensionKey&&(e.hierarchyState=e.hierarchyState??(e?.children?t.hierarchyState:void 0),e?.children?.forEach(((e,i)=>{t?.children?.[i]&&e&&this.syncHierarchyState(t.children[i],e)})))}getRecordShowIndexByCell(t,e){}getTableIndexByRecordIndex(t){}getTableIndexByField(t){}getCellAddrByFieldRecord(t,e){}getBodyIndexByRow(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByRow(t)}getBodyIndexByCol(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByCol(t)}getCellValue(t,e,i){if(!i){const i=this.getCustomMergeValue(t,e);if(i)return i}if(this.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.layoutMap.isBottomFrozenRow(t,e)||this.internalProps.layoutMap.isRightFrozenColumn(t,e)){const i=this.internalProps.layoutMap.getIndicatorKeyInChartSpec(t,e);let r;return i?.forEach((t=>{const e=this.internalProps.layoutMap.getIndicatorInfo(t);e&&(r=e)})),r?.title??r?.indicatorKey??""}const{title:i,fieldFormat:r}=this.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r(i,t,e,this):i}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i);return s.value?s.value():void 0}const{fieldFormat:r}=this.internalProps.layoutMap.getBody(t,e),o=this.getBodyIndexByRow(e),n=this.getBodyIndexByCol(t),s=this.records[o]?.[n];if("function"==typeof r){return r(s,t,e,this)}return s}getCellOriginValue(t,e){const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.layoutMap.isBottomFrozenRow(t,e)||this.internalProps.layoutMap.isRightFrozenColumn(t,e)){const i=this.internalProps.layoutMap.getIndicatorKeyInChartSpec(t,e);let r;return i?.forEach((t=>{const e=this.internalProps.layoutMap.getIndicatorInfo(t);e&&(r=e)})),r?.title??r?.indicatorKey??""}const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i);return s.value?s.value():void 0}const r=this.getBodyIndexByRow(e),o=this.getBodyIndexByCol(t),n=this.records[r]?.[o];return n}getCellRawValue(t,e){return this.getCellOriginValue(t,e)}getCellOriginRecord(t,e){if(!this.internalProps.layoutMap.isHeader(t,e)&&this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value)));return this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i).records}}getCellRawRecord(t,e){return this.getCellOriginRecord(t,e)}getPivotSortState(t,e){if(!this.pivotSortState)return;const i=this.getCellRange(t,e);for(let t=0;t<this.pivotSortState.length;t++){const{col:e,row:r,order:o}=this.pivotSortState[t];if(pv(i,e,r))return o}}_moveHeaderPosition(t,e){const i=this.internalProps.layoutMap.moveHeaderPosition(t,e);if(i){if("column"===i.moveType){if(this.options.records?.[0]?.constructor===Array)for(let t=0;t<this.internalProps.records.length;t++){const e=this.internalProps.records[t].splice(i.sourceIndex-this.rowHeaderLevelCount,i.sourceSize);e.unshift(i.targetIndex-this.rowHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records[t],e)}this.colWidthsMap.adjustOrder(i.sourceIndex,i.targetIndex,i.sourceSize),this.setMinMaxLimitWidth()}else if("row"===i.moveType){if(this.options.records?.[0]?.constructor===Array){const t=this.internalProps.records.splice(i.sourceIndex-this.columnHeaderLevelCount,i.sourceSize);t.unshift(i.targetIndex-this.columnHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records,t)}this.rowHeightsMap.adjustOrder(i.sourceIndex,i.targetIndex,i.sourceSize)}return i}return null}toggleHierarchyState(t,e,i=!0){}getHeaderCellAddressByPath(t){return this.internalProps.layoutMap.getPivotCellAdress(t)}getCellAddressByHeaderPaths(t){return this.internalProps.layoutMap.getCellAdressByHeaderPath(t)}getHeaderPathByXY(t){let e;e=t?this.getCellAt(t.x+this.getFrozenColsWidth()+this.scrollLeft+1,t.y+this.getFrozenRowsHeight()+this.scrollTop+1):this.getCellAt(this.getFrozenColsWidth()+this.scrollLeft+1,this.getFrozenRowsHeight()+this.scrollTop+1);return this.internalProps.layoutMap.getCellHeaderPaths(e.col,e.row)}getHierarchyState(t,e){return this._getHeaderLayoutMap(t,e)?.hierarchyState}getMenuInfo(t,e,i){const r=this.internalProps.layoutMap.getPivotDimensionInfo(t,e);return{dimensionKey:r[r.length-1].dimensionKey,value:this.getCellValue(t,e),cellLocation:this.getCellLocation(t,e),isPivotCorner:this.isCornerHeader(t,e),event:void 0}}_generateCollectValuesConfig(t,e){t=t.filter((t=>t!==Nv)),e=e.filter((t=>t!==Nv));const i=this.internalProps.indicators,r={};for(let o=0,n=i?.length;o<n;o++)if("string"!=typeof i[o]&&i[o].chartSpec){if("pie"===i[o].chartSpec?.type||"rose"===i[o].chartSpec?.type||"radar"===i[o].chartSpec?.type||"gauge"===i[o].chartSpec?.type||"wordCloud"===i[o].chartSpec?.type)continue;const n=i[o],s=n.chartSpec;if(!1===this.options.indicatorsAsCol)if(!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0),r[n.indicatorKey]={by:e,range:!0,sumBy:s?.stack&&t.concat(s?.xField)},s.series)s.series.forEach((i=>{const o="string"==typeof i.xField?i.xField:i.xField[0];r[o]={by:t,type:"horizontal"!==i.direction?"xField":void 0,range:mk(i,this._axes,"horizontal"===i.direction,!0),sortBy:"horizontal"!==i.direction?i?.data?.fields?.[o]?.domain??s?.data?.fields?.[o]?.domain:void 0};const n=i.yField;!1!==i.stack&&("bar"===i.type||"area"===i.type)&&(i.stack=!0),r[n]={by:e,range:mk(i,this._axes,"horizontal"===i.direction,!1),sumBy:i.stack&&t.concat(i?.xField),sortBy:"horizontal"===i.direction?i?.data?.fields?.[n]?.domain??s?.data?.fields?.[n]?.domain:void 0,extendRange:DA(s.markLine)}}));else{const i="string"==typeof s.xField?s.xField:s.xField[0];r[i]={by:t,type:"horizontal"!==s.direction?"xField":void 0,range:mk(s,this._axes,"horizontal"===s.direction,!0),sortBy:"horizontal"!==s.direction?s?.data?.fields?.[i]?.domain:void 0},!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0);const o=s.yField;r[o]={by:e,range:"horizontal"!==s.direction,sumBy:s.stack&&t.concat(s?.xField),sortBy:"horizontal"===s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:DA(s.markLine)}}else{const n=i[o];if(!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0),r[n.indicatorKey]={by:t,range:!0,sumBy:s?.stack&&e.concat(s?.yField)},s.series)s.series.forEach((i=>{const o="string"==typeof i.yField?i.yField:i.yField[0];r[o]={by:e,type:"horizontal"===i.direction?"yField":void 0,range:mk(i,this._axes,"horizontal"===i.direction,!1),sortBy:"horizontal"===i.direction?i?.data?.fields?.[o]?.domain??s?.data?.fields?.[o]?.domain:void 0};const n=i.xField;!1!==i.stack&&("bar"===i.type||"area"===i.type)&&(i.stack=!0),r[n]={by:t,range:mk(i,this._axes,"horizontal"===i.direction,!0),sumBy:i.stack&&e.concat(i?.yField),sortBy:"horizontal"!==i.direction?i?.data?.fields?.[n]?.domain??s?.data?.fields?.[n]?.domain:void 0,extendRange:DA(s.markLine)}}));else{const i="string"==typeof s.yField?s.yField:s.yField[0];r[i]={by:e,type:"horizontal"===s.direction?"yField":void 0,range:mk(s,this._axes,"horizontal"===s.direction,!1),sortBy:"horizontal"===s.direction?s?.data?.fields?.[i]?.domain:void 0},!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0);const o=s.xField;r[o]={by:t,range:mk(s,this._axes,"horizontal"===s.direction,!0),sumBy:s.stack&&e.concat(s?.yField),sortBy:"horizontal"!==s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:DA(s.markLine)}}}}return r}_generateAggregationRules(){const t=[];return this.internalProps.indicators?.forEach((e=>{if("string"==typeof e)t.push({indicatorKey:e,field:e,aggregationType:XC.RECORD});else if(e.chartSpec?.series){const i=[];e.chartSpec?.series.forEach((t=>{const e=!1===this.options.indicatorsAsCol?t.yField:t.xField;-1===i.indexOf(e)&&i.push(e)})),t.push({indicatorKey:e.indicatorKey,field:i,aggregationType:XC.RECORD})}else{const i=!1===this.options.indicatorsAsCol?e.chartSpec.yField:e.chartSpec.xField;t.push({indicatorKey:e.indicatorKey,field:i??e.indicatorKey,aggregationType:XC.RECORD})}})),t}setCustomStateNameToSpec(){const t=t=>{t.bar?.state?.selected&&(t.bar.state.vtable_selected=t.bar.state.selected,t.bar.state.vtable_selected_reverse=t.bar.state.selected_reverse,delete t.bar.state.selected,delete t.bar.state.selected_reverse),t.point?.state?.selected&&(t.point.state.vtable_selected=t.point.state.selected,t.point.state.vtable_selected_reverse=t.point.state.selected_reverse,delete t.point.state.selected,delete t.point.state.selected_reverse),t.line?.state?.selected&&(t.line.state.vtable_selected=t.line.state.selected,t.line.state.vtable_selected_reverse=t.line.state.selected_reverse,delete t.line.state.selected,delete t.line.state.selected_reverse),t.area?.state?.selected&&(t.area.state.vtable_selected=t.area.state.selected,t.area.state.vtable_selected_reverse=t.area.state.selected_reverse,delete t.area.state.selected,delete t.area.state.selected_reverse),t.pie?.state?.selected&&(t.pie.state.vtable_selected=t.pie.state.selected,t.pie.state.vtable_selected_reverse=t.pie.state.selected_reverse,delete t.pie.state.selected,delete t.pie.state.selected_reverse)};this.internalProps.indicators?.forEach((e=>{if(e.chartSpec){const i=e.chartSpec;i.series?i.series.forEach((e=>{t(e)})):t(i)}}))}updateFilterRules(t){this.internalProps.dataConfig.filterRules=t,this.dataset.updateFilterRules(t),oP(this.scenegraph),function(t){const e=t.table;for(let i=t.proxy.colStart;i<=t.proxy.colEnd;i++){const r=t.getColGroup(i);r?.getChildren()?.forEach((t=>{const i=t.col,r=t.row;t.children.forEach((t=>{if("chart"===t.type){t.updateData(e.getCellValue(i,r));const o=t.attribute.spec,n=o.type;if("gauge"!==n&&"rose"!==n&&"radar"!==n){const n=e.internalProps.layoutMap.getChartAxes(i,r);t.setAttribute("axes",n),o.axes=n}t.setAttribute("spec",o)}}))}))}nP(t.rowHeaderGroup,t.table),nP(t.colHeaderGroup,t.table),nP(t.rightFrozenGroup,t.table),nP(t.bottomFrozenGroup,t.table)}(this.scenegraph),this.render()}clearChartCacheImage(t,e){at(t)&&at(e)?function(t,e,i){i.getCell(t,e).children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}(t,e,this.scenegraph):oP(this.scenegraph)}getLegendSelected(){const t=[];return this.internalProps.legends?.forEach((e=>{const i=e.legendComponent._getSelectedLegends().map((t=>t.label));t.push(...i)})),t}setLegendSelected(t){this.internalProps.legends?.forEach((e=>{e.legendComponent.setSelected(t)}))}getChartDatumPosition(t,e){const{chartInstance:i,bounds:r}=this.getChartInstance(e);if(i){const e=i.convertDatumToPosition(t);return e?{x:Math.round(e.x+r.x1),y:Math.round(e.y+r.y1)}:null}return null}getCellAddressByRecord(t){const e=[],i=[],r={},o=[];this.dataset.dataConfig.aggregationRules.forEach((t=>{if("string"==typeof t.field)r[t.field]=t.indicatorKey,o.push(t.field);else for(let e=0;e<t.field.length;e++)r[t.field[e]]=t.indicatorKey,o.push(t.field[e])}));for(const n in t)this.dataset.rows.indexOf(n)>=0&&e.push({dimensionKey:n,value:t[n]}),this.dataset.columns.indexOf(n)>=0&&i.push({dimensionKey:n,value:t[n]}),o.indexOf(n)>=0&&(this.dataset.indicatorsAsCol?i.push({indicatorKey:r[n]}):e.push({indicatorKey:r[n]}));return this.getCellAddressByHeaderPaths({rowHeaderPaths:e,colHeaderPaths:i,cellLocation:"body"})}getChartInstance(t){const e=this.getCellAddressByHeaderPaths(t);if(e){const t=this.getCellRelativeRect(e.col,e.row),i=this.scenegraph.getCell(e.col,e.row);let r;const o=i?.getChildren()?.[0];if(o.attribute.chartInstance){r=o.attribute.chartInstance;const{dataId:t,data:e,axes:i,spec:n}=o.attribute,s=o.getViewBox();i?.forEach(((t,e)=>{"linear"===t.type?r.updateModelSpecSync({type:"axes",index:e},{min:t.range?.min??0,max:t.range?.max??0,tick:{tickMode:t.tick?.tickMode}},!0):"band"===t.type&&r.updateModelSpec({type:"axes",index:e},{domain:t.domain.slice(0)},!0)})),r.updateViewBox({x1:0,x2:s.x2-s.x1,y1:0,y2:s.y2-s.y1},!1,!1);const a=r.getStage(),l=o.globalTransMatrix.clone(),h=o.stage.window.getViewBoxTransform();if(l.multiply(h.a,h.b,h.c,h.d,h.e,h.f),a.window.setViewBoxTransform&&a.window.setViewBoxTransform(l.a,l.b,l.c,l.d,l.e,l.f),"string"==typeof t)r.updateDataSync(t,e??[]);else{const i=[];for(const o in t){const s=t[o],a=n.series.find((t=>t?.data?.id===o));i.push({id:o,values:s?e?.filter((t=>t.hasOwnProperty(s)))??[]:e??[],fields:a?.data?.fields}),r.updateFullDataSync||r.updateDataSync(o,s?e?.filter((t=>t.hasOwnProperty(s)))??[]:e??[])}r.updateFullDataSync?.(i)}this.render()}return{chartInstance:r,bounds:t.bounds}}return{}}activateChartInstance(t){const e=this.getCellAddressByHeaderPaths(t);if(e){const t=e.col,i=e.row,r=this.scenegraph.getCell(t,i),o=r?.getChildren()?.[0],n=this.scenegraph.activateChart(t,i),{dataId:s,data:a,axes:l,spec:h}=o.attribute,c=o.getViewBox();l?.forEach(((t,e)=>{"linear"===t.type?n.updateModelSpecSync({type:"axes",index:e},{min:t.range?.min??0,max:t.range?.max??0,tick:{tickMode:t.tick?.tickMode}},!0):"band"===t.type&&n.updateModelSpec({type:"axes",index:e},{domain:t.domain.slice(0)},!0)})),n.updateViewBox({x1:0,x2:c.x2-c.x1,y1:0,y2:c.y2-c.y1},!1,!1);const d=n.getStage();d.needRender=!0;const u=o.globalTransMatrix.clone(),g=o.stage.window.getViewBoxTransform().clone();if(g.multiply(u.a,u.b,u.c,u.d,u.e,u.f),d.window.setViewBoxTransform(g.a,g.b,g.c,g.d,g.e,g.f),"string"==typeof s)n.updateDataSync(s,a??[]);else{const t=[];for(const e in s){const i=s[e],r=h.series.find((t=>t?.data?.id===e));t.push({id:e,values:i?a?.filter((t=>t.hasOwnProperty(i)))??[]:a??[],fields:r?.data?.fields}),n.updateFullDataSync||n.updateDataSync(e,i?a?.filter((t=>t.hasOwnProperty(i)))??[]:a??[])}n.updateFullDataSync?.(t)}return n}}replaceChartCacheImage(t,e){const i=this.getCellAddressByHeaderPaths(t);if(i){const t=this.scenegraph.getCell(i.col,i.row),r=t?.getChildren()?.[0];dB(e.getStage(),r)}}_getDimensionSortArray(){if(this.options?.axes?.length){const t=this.options.indicatorsAsCol?"left":"bottom",e=this.options.axes.find((e=>e.orient===t));if(e&&ot(e.domain))return e.domain}}setRecords(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.options.records=this.internalProps.records=t;const i=this.options,r=this.internalProps;let o,n;this.dataset.setRecords(t),o=i.columnTree?r.layoutMap.columnDimensionTree:new WH(this.dataset.colHeaderTree??[],this.layoutNodeId),n=i.rowTree?r.layoutMap.rowDimensionTree:new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId),r.layoutMap=new PI(this,this.dataset,o,n),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.internalProps.title&&!this.internalProps.title.isReleased&&(this._updateSize(),this.internalProps.title.resize(),this.scenegraph.resize()),this.eventManager.updateEventBinder()}_hasCustomRenderOrLayout(){if(this.options.customRender)return!0;const{columnsDefine:t,rowsDefine:e,indicatorsDefine:i}=this.internalProps.layoutMap;for(let e=0;e<t.length;e++){const i=t[e];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<e.length;t++){const i=e[t];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<i.length;t++){const e=i[t];if("string"!=typeof e&&(e.customLayout||e.headerCustomLayout||e.customRender||e.headerCustomRender))return!0}return!1}changeRecordOrder(t,e){}getLayoutColumnTree(){return this.internalProps.layoutMap.getLayoutColumnTree()}getLayoutColumnTreeCount(){return this.internalProps.layoutMap.getLayoutColumnTreeCount()}getLayoutRowTree(){return this.internalProps.layoutMap.getLayoutRowTree()}getLayoutRowTreeCount(){return this.internalProps.layoutMap.getLayoutRowTreeCount()}getCellHeaderTreeNodes(t,e){return this.internalProps.layoutMap.getCellHeaderPathsWithTreeNode(t,e)}},t.PivotTable=class extends II{},t.PivotTableSimple=class extends II{},t.TABLE_EVENT_TYPE=_v,t.TYPES=fw,t.VArc=function(t){return xl.arc(t?t.attribute:{})},t.VArea=function(t){return xl.area(t?t.attribute:{})},t.VCheckBox=function(t){return new DC(t?t.attribute:{})},t.VCircle=function(t){return xl.circle(t?t.attribute:{})},t.VGlyph=function(t){return xl.glyph(t?t.attribute:{})},t.VGroup=function(t){return xl.group(t?t.attribute:{})},t.VImage=function(t){return xl.image(t?t.attribute:{})},t.VLine=function(t){return xl.line(t?t.attribute:{})},t.VPath=function(t){return xl.path(t?t.attribute:{})},t.VPolygon=function(t){return xl.polygon(t?t.attribute:{})},t.VRadio=function(t){return new WC(t?t.attribute:{})},t.VRect=function(t){return xl.rect(t?t.attribute:{})},t.VSymbol=function(t){return xl.symbol(t?t.attribute:{})},t.VTag=function(t){return new $b(t?t.attribute:{})},t.VText=function(t){return xl.text(t?t.attribute:{})},t.clearGlobal=function(){Ok()},t.core=kk,t.data=VS,t.getDataCellPath=function(t,e,i){const r=DI(t);let o=r.columnDimensionTree,n=r.rowDimensionTree,s=!1,a=!1;t.columnTree&&t.indicatorsAsCol&&!o.dimensionKeys.contain(Nv)&&(s=!0),t.rowTree&&(t.indicatorsAsCol||n.dimensionKeys.contain(Nv)||(a=!0));const{dataset:l,layoutNodeId:h}=r,c={options:t,layoutNodeId:h,internalProps:t,isPivotChart:()=>!0,pivotChartAxes:[],_selectedDataItemsInChart:[],_getActiveChartInstance:()=>({updateState:()=>{}})};t.columnTree&&!s||(o=new WH(l.colHeaderTree??[],h)),t.rowTree&&!a||(n=new WH(l.rowHeaderTree??[],h));const d=new PI(c,l,o,n);for(let t=0;t<d.colCount;t++)for(let r=0;r<d.rowCount;r++){if(d.isHeader(t,r))continue;const o=d.getCellHeaderPaths(t,r),n=o.colHeaderPaths.map((t=>t.indicatorKey??t.value)),s=o.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),a=l.getAggregator(d.indicatorsAsCol?s:s.slice(0,-1),d.indicatorsAsCol?n.slice(0,-1):n,d.getIndicatorKey(t,r)),h=WI(a.value?a.value():void 0,e,t,r,d,i);if(h)return h}},t.getIcons=function(){return kR()},t.getTargetCell=KA,t.graphicUtil=hu,t.jsx=function(t,e){const i=e||{},{key:r,name:o,id:n,attribute:s,stateProxy:a,animation:l,timeline:h}=i,c=Eg(i,["key","name","id","attribute","stateProxy","animation","timeline"]);let d=t;rt(t)&&(d=xl[t]);const u=[];for(var g=arguments.length,p=new Array(g>2?g-2:0),f=2;f<g;f++)p[f-2]=arguments[f];p.length&&Fg(1===p.length?p[0]:p,u);const m="Group"===d.name?new d(s):d(e);if(function(t,e,i){let r,o=!1;switch(t.type){case"richtext":case"rich/image":break;case"rich/text":r=t.attribute||{},e[0]&&(r.text=e[0]);break;default:o=!0}o?(e.forEach((e=>{e&&t.add(e)})),Object.keys(i).forEach((e=>{const r=Lg[e];r&&t.on(r,i[e])}))):"richtext"===t.type&&(t.attribute.textConfig=e.map((t=>t.attribute)).filter((t=>t)))}(m,u,c),a&&(m.stateProxy=a),o&&(m.name=o),ot(l)){const t=m.animate();h&&t.setTimeline(h),l.forEach((e=>{t[e[0]](...e.slice(1))}))}return m},t.register=Dk,t.registerAxis=KF,t.registerButtonCell=AI,t.registerChartCell=CI,t.registerCheckboxCell=wI,t.registerEmptyTip=$F,t.registerImageCell=vI,t.registerLegend=XF,t.registerMenu=YF,t.registerProgressBarCell=xI,t.registerRadioCell=_I,t.registerSparkLineCell=RI,t.registerSwitchCell=SI,t.registerTextCell=TI,t.registerTitle=qF,t.registerTooltip=ZF,t.registerVideoCell=BI,t.renderChart=lB,t.restoreMeasureText=function(){bT="canvas",Qr.load(CT)},t.setCustomAlphabetCharSet=function(t){mT=t,wT.clear()},t.themes=ox,t.updateCell=nT,t.version="1.17.1"}));
|
|
15
|
+
***************************************************************************** */function tB(t,e,i,r){var o,n=arguments.length,s=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(n<3?o(s):n>3?o(e,i,s):o(e,i))||s);return n>3&&s&&Object.defineProperty(e,i,s),s}const eB=Gn();class iB extends ds{type="chart";chartInstance;activeChartInstance;active;cacheCanvas;isShareChartSpec;constructor(t,e){if(super(e),this.numberType=eB,this.isShareChartSpec=t,e.chartInstance)this.chartInstance=e.chartInstance;else{const t=this.chartInstance=new e.ClassType(e.spec,_t({},this.attribute.tableChartOption,{renderCanvas:e.canvas,mode:"node"===this.attribute.mode?"node":"desktop-browser",modeParams:this.attribute.modeParams,canvasControled:!1,viewBox:{x1:0,x2:0,y1:0,y2:0},dpr:e.dpr,interactive:!1,animation:!1,autoFit:!1}));t.renderSync(),t.getStage().enableDirtyBounds(),e.chartInstance=this.chartInstance=t}}activate(t){this.active=!0;const{col:e,row:i}=this.parent,{x1:r,y1:o,x2:n,y2:s}=this.getViewBox(),a=function(t,e,i){const{layoutMap:r}=i.internalProps,o=new Me,n=i.scenegraph.tableGroup.globalAABBBounds;o.x1=n.x1,o.x2=n.x2,o.y1=n.y1,o.y2=n.y2,r.isLeftBottomCorner(t,e)||r.isRightTopCorner(t,e)||r.isLeftTopCorner(t,e)||r.isRightBottomCorner(t,e)||(r.isFrozenColumn(t,e)?(o.y1=n.y1+i.getFrozenRowsHeight(),o.y2=n.y2-i.getBottomFrozenRowsHeight()):r.isFrozenRow(t,e)?(o.x1=n.x1+i.getFrozenColsWidth(),o.x2=n.x2-i.getRightFrozenColsWidth()):r.isRightFrozenColumn(t,e)?(o.y1=n.y1+i.getFrozenRowsHeight(),o.y2=n.y2-i.getBottomFrozenRowsHeight()):r.isBottomFrozenRow(t,e)?(o.x1=n.x1+i.getFrozenColsWidth(),o.x2=n.x2-i.getRightFrozenColsWidth()):r.isFrozenColumn(t,e)||r.isRightFrozenColumn(t,e)||(o.x1=n.x1+i.getFrozenColsWidth(),o.x2=n.x2-i.getRightFrozenColsWidth(),o.y1=n.y1+i.getFrozenRowsHeight(),o.y2=n.y2-i.getBottomFrozenRowsHeight()));return o.x1=o.x1+(i.options.viewBox?.x1??0),o.x2=o.x2+(i.options.viewBox?.x1??0),o.y1=o.y1+(i.options.viewBox?.y1??0),o.y2=o.y2+(i.options.viewBox?.y1??0),o}(e,i,t),l=a.intersect({x1:r-t.scrollLeft,x2:n-t.scrollLeft,y1:o-t.scrollTop,y2:s-t.scrollTop});this.activeChartInstance?.release(),this.activeChartInstance=new this.attribute.ClassType(this.attribute.spec,_t({},this.attribute.tableChartOption,{renderCanvas:this.attribute.canvas,mode:"desktop-browser",canvasControled:!1,viewBox:{x1:0,x2:n-r,y1:0,y2:s-o},dpr:t.internalProps.pixelRatio,animation:!1,interactive:!0,autoFit:!1,beforeRender:e=>{const i=this.stage,r=e.window.getContext(),o=i.window.getViewBoxTransform(),n=i.window.getViewBox();r.inuse=!0,r.clearMatrix(),r.setTransform(o.a,o.b,o.c,o.d,o.e,o.f,!0),r.translate(n.x1,n.y1),r.setTransformForCurrent(!0),r.beginPath(),r.rect(l.x1,l.y1,l.x2-l.x1,l.y2-l.y1),r.clip(),r.clearMatrix(),t.options.canvas&&!e.needRender&&(e.pauseRender(),t.scenegraph.stage.dirtyBounds.union(this.globalAABBBounds),t.scenegraph.updateNextFrame())},afterRender(t){t.window.getContext().inuse=!1,t.needRender=!1,h.resumeRender()}}));const h=this.activeChartInstance.getStage(),c=this.globalTransMatrix.clone(),d=this.stage.window.getViewBoxTransform();c.multiply(d.a,d.b,d.c,d.d,d.e,d.f),h.window.setViewBoxTransform&&h.window.setViewBoxTransform(c.a,c.b,c.c,c.d,c.e,c.f),this.activeChartInstance.renderSync(),t.internalProps.layoutMap?.updateDataStateToActiveChartInstance?.(this.activeChartInstance),this.activeChartInstance.on("click",(e=>{!1===this.attribute.spec.select?.enable?t.scenegraph.updateChartState(null):iB.temp&&t.scenegraph.updateChartState(e?.datum)})),this.activeChartInstance.on("brushEnd",(e=>{t.scenegraph.updateChartState(e?.value?.inBrushData),iB.temp=0,setTimeout((()=>{iB.temp=1}),0)})),t._bindChartEvent?.(this.activeChartInstance)}static temp=1;deactivate(){this.active=!1,this.activeChartInstance?.updateViewBox({x1:-1e3,x2:-800,y1:-1e3,y2:-800},!1,!1),this.activeChartInstance?.release(),this.activeChartInstance=null}updateData(t){this.attribute.data=t}getViewBox(){const t=this.parent,e=this.attribute.cellPadding,i=this.stage.table,{x1:r,y1:o,x2:n,y2:s}=t.globalAABBBounds;return{x1:Math.ceil(r+e[3]+i.scrollLeft+(i.options.viewBox?.x1??0)),x2:Math.ceil(r+t.attribute.width-e[1]+i.scrollLeft+(i.options.viewBox?.x1??0)),y1:Math.ceil(o+e[0]+i.scrollTop+(i.options.viewBox?.y1??0)),y2:Math.ceil(o+t.attribute.height-e[2]+i.scrollTop+(i.options.viewBox?.y1??0))}}}const rB=[],oB=[];let nB=5,sB=!1;function aB(t){J(t)&&(nB=t)}function lB(t){const{axes:e,dataId:i,data:r,spec:o,ClassType:n,canvas:s,mode:a,modeParams:l,dpr:h}=t.attribute;let{chartInstance:c}=t;c||(c=new n(o,{renderCanvas:s,mode:"node"===a?"node":"desktop-browser",modeParams:l,canvasControled:!1,viewBox:{x1:0,x2:0,y1:0,y2:0},dpr:h,interactive:!1,animation:!1,autoFit:!1}),c.renderSync(),t.chartInstance=c);const d=t.getViewBox();d.x2<=d.x1&&(d.x2=d.x1+1),d.y2<=d.y1&&(d.y2=d.y1+1),c.updateViewBox({x1:0,x2:d.x2-d.x1,y1:0,y2:d.y2-d.y1},!1,!1);const u=c.getStage(),g=t.globalTransMatrix.clone(),p=t.stage.window.getViewBoxTransform();g.multiply(p.a,p.b,p.c,p.d,p.e,p.f),u.window.setViewBoxTransform&&u.window.setViewBoxTransform(g.a,g.b,g.c,g.d,g.e,g.f);const{table:f}=t.getRootNode();let m=!1;if(f.options.specFormat){const e=f.options.specFormat(t.attribute.spec,c,t);if(e.needFormatSpec&&e.spec){const t=e.spec;c.updateSpecSync(t),m=e.updateSpec??!0}}if(!m)if(e?.forEach(((t,e)=>{"band"===t.type?c.updateModelSpec({type:"axes",index:e},{domain:t.domain.slice(0)},!0):c.updateModelSpecSync({type:"axes",index:e},{min:t.range?.min??0,max:t.range?.max??0,tick:{tickMode:t.tick?.tickMode}},!0)})),f.internalProps.layoutMap?.updateDataStateToActiveChartInstance?.(c),"string"==typeof i)c.updateDataSync(i,r??[]);else{const t=[];for(const e in i){const n=i[e],s=o.series.find((t=>t?.data?.id===e));t.push({id:e,values:n?r?.filter((t=>t.hasOwnProperty(n)))??[]:r??[],fields:s?.data?.fields}),c.updateFullDataSync||c.updateDataSync(e,n?r?.filter((t=>t.hasOwnProperty(n)))??[]:r??[])}c.updateFullDataSync?.(t)}dB(c.getStage(),t)}function hB(t){sB=!0,oB.length>0?requestAnimationFrame((()=>{const e=oB.splice(0,nB);rB.splice(0,nB),e.forEach((t=>{lB(t),t.addUpdateBoundTag()})),t.render(),hB(t)})):sB=!1}const cB=2e3;function dB(t,e){const{viewWidth:i,viewHeight:r}=t;if(i<cB&&r<cB)return e.cacheCanvas=uB(t),void(e.isShareChartSpec||(e.chartInstance?.release(),e.chartInstance=null,e.setAttribute("chartInstance",null)));const o=Math.ceil(r/cB),n=Math.ceil(i/cB),s=[];for(let e=0;e<o;e++)for(let o=0;o<n;o++){const n=o*cB,a=e*cB,l=n+cB>i?i:n+cB,h=a+cB>r?r:a+cB,c=l-n,d=h-a,u=new Me;u.setValue(n,a,l,h);const g=uB(t,!1,u);s.push({canvas:g,x:n,y:a,width:c,height:d})}e.cacheCanvas=s}function uB(t,e=!0,i){if("released"===t.releaseStatus)return null;const r=t.window.getViewBoxTransform(),o=function(t,e=!0,i){const r=t.window.getViewBoxTransform(),o=Qr.get(so),n=i?-i.x1:0,s=i?-i.y1:0,a=i?i.x2:t.viewWidth,l=i?i.y2:t.viewHeight,h=i?i.width():t.viewWidth,c=i?i.height():t.viewHeight;o.create({viewBox:{x1:n,y1:s,x2:a,y2:l},width:h*r.a,height:c*r.d,dpr:t.window.dpr,canvasControled:!0,offscreen:!0,title:""});return t.renderTo(o),o}(t,e,i);o.setViewBoxTransform(r.a,r.b,r.c,r.d,0,0),t.renderTo(o);const n=o.getNativeHandler();return n.nativeCanvas?n.nativeCanvas:null}const gB=Symbol.for("ChartRender");let pB=class extends ca{type;numberType=eB;drawShape(t,e,i,r,o,n,s,a){const l=_o(t,n?.theme).group,{dataId:h,data:c,spec:d}=t.attribute;t.getViewBox();const{width:u=l.width,height:g=l.height}=t.attribute,{table:p}=t.getRootNode(),{active:f,cacheCanvas:m,activeChartInstance:b}=t;if(!f&&m)ot(m)?m.forEach((t=>{const{x:i,y:r,width:o,height:n,canvas:s}=t;e.drawImage(s,i,r,o,n)})):e.drawImage(m,i,r,u,g);else if(b){if(p.options.specFormat){const e=p.options.specFormat(t.attribute.spec,b,t);if(e.needFormatSpec&&e.spec){const t=e.spec;b.updateSpecSync(t)}}const e=t.getViewBox();b.updateViewBox({x1:0,x2:e.x2-e.x1,y1:0,y2:e.y2-e.y1},!1,!1);const i=b.getStage();i.needRender=!0;const r=t.globalTransMatrix.clone(),o=t.stage.window.getViewBoxTransform().clone();if(o.multiply(r.a,r.b,r.c,r.d,r.e,r.f),i.window.setViewBoxTransform(o.a,o.b,o.c,o.d,o.e,o.f),"string"==typeof h)b.updateDataSync(h,c??[]);else{const t=[];for(const e in h){const i=h[e],r=d.series.find((t=>t?.data?.id===e));t.push({id:e,values:i?c?.filter((t=>t.hasOwnProperty(i)))??[]:c??[],fields:r?.data?.fields}),b.updateFullDataSync||b.updateDataSync(e,i?c?.filter((t=>t.hasOwnProperty(i)))??[]:c??[])}b.updateFullDataSync?.(t)}}else p.internalProps.renderChartAsync?(-1===rB.indexOf(`${t.parent.col}+${t.parent.row}`)&&(rB.push(`${t.parent.col}+${t.parent.row}`),oB.push(t)),sB||hB(p)):lB(t)}draw(t,e,i,r){this._draw(t,{},!1,i,r)}};pB=tB([f()],pB);let fB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{shape:g}=t.attribute;if("circle"===g){const{width:o=l.width,height:n=l.height}=t.attribute;e.beginPath(),e.arc(i+o/2,r+n/2,Math.min(o,n)/2,0,2*Math.PI),e.closePath(),e.save(),e.clip()}}};fB=tB([f()],fB);let mB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{shape:g}=t.attribute;"circle"===g&&e.restore()}};mB=tB([f()],mB);let bB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{isGif:g}=t.attribute;g&&t.playing&&(t.attribute.opacity=0)}};bB=tB([f()],bB);let yB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{isGif:g}=t.attribute;g&&t.playing&&(t.attribute.opacity=1,e.globalAlpha=t.attribute.opacity,t.renderFrame(e,i,r))}};function CB(t,e,i,r){const{highlightScope:o,disableHeader:n,cellPos:s}=t.hover,a=t.table,l=a.isHeader(e,i);if(l&&n)return;let h;if(o===KC.single&&s.col===e&&s.row===i?h="cellBgColor":o===KC.column&&s.col===e?h=s.col===e&&s.row===i?"cellBgColor":"inlineColumnBgColor":o===KC.row&&s.row===i?h=s.col===e&&s.row===i?"cellBgColor":"inlineRowBgColor":o===KC.cross&&(s.col===e&&s.row===i?h="cellBgColor":s.col===e?h="inlineColumnBgColor":s.row===i&&(h="inlineRowBgColor")),h){let t;if(l){const o=a.getHeaderDefine(e,i);t=o?.disableHeaderHover,r.firstChild&&"axis"===r.firstChild.name&&a.options.hover?.disableAxisHover&&(t=!0)}else{const r=a.getBodyColumnDefine(e,i);t=r?.disableHover}t&&(h=void 0)}return h}function wB(t,e,i,r){const{highlightInRange:o,disableHeader:n,ranges:s}=t.select;let a;const l=1===s.length&&function(t){return t.start.col!==t.end.col||t.start.row!==t.end.row}(s?.[0])&&o;if(l?1===s?.length&&s[0].start&&s[0].end:1===s?.length&&s[0].end.col===s[0].start.col&&s[0].end.row===s[0].start.row){if(t.table.isHeader(e,i)&&n)return;if(a=l?function(t,e,i){let r;const{highlightScope:o,cellPos:n,ranges:s}=t.select,a=s[0],l=Math.min(a.start.col,a.end.col),h=Math.max(a.start.col,a.end.col),c=Math.min(a.start.row,a.end.row),d=Math.max(a.start.row,a.end.row);return o===KC.single&&n.col===e&&n.row===i?r="cellBgColor":o===KC.column&&e>=l&&e<=h?r=pv(s[0],e,i)?"cellBgColor":"inlineColumnBgColor":o===KC.row&&i>=c&&i<=d?r=pv(s[0],e,i)?"cellBgColor":"inlineRowBgColor":o===KC.cross&&(pv(s[0],e,i)?r="cellBgColor":e>=l&&e<=h?r="inlineColumnBgColor":i>=c&&i<=d&&(r="inlineRowBgColor")),r}(t,e,i):function(t,e,i){let r;const{highlightScope:o,cellPos:n}=t.select;return o===KC.single&&n.col===e&&n.row===i?r="cellBgColor":o===KC.column&&n.col===e?r=n.col===e&&n.row===i?"cellBgColor":"inlineColumnBgColor":o===KC.row&&n.row===i?r=n.col===e&&n.row===i?"cellBgColor":"inlineRowBgColor":o===KC.cross&&(n.col===e&&n.row===i?r="cellBgColor":n.col===e?r="inlineColumnBgColor":n.row===i&&(r="inlineRowBgColor")),r}(t,e,i),a){vB(t.table,e,i)&&(a=void 0)}}else if("replace"===t.table.theme.selectionStyle.selectionFillMode)for(let t=0;t<s.length;t++){const r=s[t],o=Math.min(r.start.col,r.end.col),n=Math.max(r.start.col,r.end.col),l=Math.min(r.start.row,r.end.row),h=Math.max(r.start.row,r.end.row);if(o<=e&&l<=i&&n>=e&&h>=i){a="cellBgColor";break}}return a}function vB(t,e,i){const r=t.options.select?.disableSelect;if("function"==typeof r?r(e,i,t):r)return!0;if(t.isHeader(e,i)){let r=t.options.select?.disableHeaderSelect;if(r)return!0;const o=t.getHeaderDefine(e,i);if(r=o?.disableHeaderSelect,r)return!0}else{const r=t.getBodyColumnDefine(e,i),o=r?.disableSelect;if("function"==typeof o?o(e,i,t):o)return!0}return!1}yB=tB([f()],yB);let xB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{stroke:g=l.stroke,strokeArrayWidth:p=l.strokeArrayWidth,strokeArrayColor:f=l.strokeArrayColor}=t.attribute;g&&(Array.isArray(p)||Array.isArray(f))&&(u.doStroke=!1)}};xB=tB([f()],xB);let _B=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{stroke:u=l.stroke,strokeArrayColor:g=l.strokeArrayColor,strokeArrayWidth:p=l.strokeArrayWidth,lineWidth:f=l.lineWidth,strokeColor:m=l.stroke,cornerRadius:b=l.cornerRadius}=t.attribute;let y,C,{width:w=l.width,height:v=l.height}=t.attribute;if(u&&(Array.isArray(p)||0!==f)&&(Array.isArray(g)||Array.isArray(p))){if("number"==typeof f&&1&f||Array.isArray(p)&&p.some((t=>1&t))){const e=t.stage.table;if(!e)return;const o="bottom-right"===e?.theme?.cellBorderClipDirection;if(o){if(i=Math.floor(i)-.5,r=Math.floor(r)-.5,"cell"===t.role){const e=t.col,o=t.row;0===e&&(i+=1),0===o&&(r+=1)}}else i=Math.floor(i)+.5,r=Math.floor(r)+.5;e.options.customConfig?._disableColumnAndRowSizeRound&&(w=Math.round(w),v=Math.round(v));const{width:n,height:s}=FB(t,Math.ceil(w),Math.ceil(v),o);y=n,C=s}else y=Math.ceil(w),C=Math.ceil(v);0===b||ot(b)&&b.every((t=>0===t))?AB(t,e,i,r,l,u,p||f,g||m,y,C):(e.beginPath(),Ta(e,i,r,y,C,b,new Array(4).fill(0).map(((o,n)=>(o,s,a,h)=>{DB(n,o,s,a,h,t,e,i,r,l,u,p||f,g||m,y,C)}))),e.stroke())}}};function SB(t){if(!Array.isArray(t))return{isSplitDraw:!1,width:t};let e;for(let i=0;i<t.length;i++){const r=t[i];if(r)if(e){if(r!==e)return{isSplitDraw:!0}}else e=r}return{isSplitDraw:!1,width:e}}function AB(t,e,i,r,o,n,s,a,l,h,c,d){const u=SB(s),g=!Array.isArray(s),p=!Array.isArray(n),f=Array.isArray(d),m=Array.isArray(a)||u.isSplitDraw;e.setStrokeStyle(t,t.attribute,i,r,o);const{lineDash:b=o.lineDash}=t.attribute;let y=!1;b.length&&b.some((t=>Array.isArray(t)))&&(y=!0),e.beginPath(),e.moveTo(i,r);const C=(p||n[0])&&(g||s[0]),w=(p||n[1])&&(g||s[1]),v=(p||n[2])&&(g||s[2]),x=(p||n[3])&&(g||s[3]);if(C){const t=(g?u.width:s[0])/2,o=(g?u.width:s[0])/2;f&&Array.isArray(d[0])?(e.moveTo(i-t+(l+t+o)*d[0][0],r),e.lineTo(i-t+(l+t+o)*(d[0][1]-d[0][0]),r),e.moveTo(i+l+o,r)):(e.moveTo(i-t,r),e.lineTo(i+l+o,r)),(m||y)&&(a&&a[0]?e.strokeStyle=a[0]:a&&!a[0]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[0]),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,y&&e.setLineDash(b[0]??[]),e.stroke(),e.beginPath(),e.moveTo(i+l,r))}else e.moveTo(i+l,r);if(w){const t=(g?u.width:s[1])/2,o=(g?u.width:s[1])/2;f&&Array.isArray(d[1])?(e.moveTo(i+l,r-t+h*d[1][0]),e.lineTo(i+l,r-t+(h+t+o)*(d[1][1]-d[1][0])),e.moveTo(i+l,r+h+o)):(e.moveTo(i+l,r-t),e.lineTo(i+l,r+h+o)),(m||y)&&(a&&a[1]?e.strokeStyle=a[1]:a&&!a[1]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[1]),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,y&&e.setLineDash(b[1]??[]),e.stroke(),e.beginPath(),e.moveTo(i+l,r+h))}else e.moveTo(i+l,r+h);if(v){const t=(g?u.width:s[2])/2,o=(g?u.width:s[2])/2;f&&Array.isArray(d[2])?(e.moveTo(i-t+(l+t+o)*d[2][0],r+h),e.lineTo(i-t+(l+t+o)*(d[2][1]-d[2][0]),r+h),e.moveTo(i-t,r+h)):(e.moveTo(i-t,r+h),e.lineTo(i+l+o,r+h)),(m||y)&&(a&&a[2]?e.strokeStyle=a[2]:a&&!a[2]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[2]),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,y&&e.setLineDash(b[2]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r+h))}else e.moveTo(i,r+h);if(x){const t=(g?u.width:s[3])/2,o=(g?u.width:s[3])/2;f&&Array.isArray(d[3])?(e.moveTo(i,r-t+(h+t+o)*d[3][0]),e.lineTo(i,r-t+(h+t+o)*(d[3][1]-d[3][0])),e.moveTo(i,r-t)):(e.moveTo(i,r-t),e.lineTo(i,r+h+o)),(m||y)&&(a&&a[3]?e.strokeStyle=a[3]:a&&!a[3]&&(e.strokeStyle="transparent"),g||(e.lineWidth=s[3]),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,y&&e.setLineDash(b[3]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r))}else e.moveTo(i,r);m||y||(!g&&u.width&&(e.lineWidth=u.width),e.stroke()),e.lineDashOffset=0,e.setLineDash([])}_B=tB([f()],_B);let RB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{lineDash:g=l.lineDash,stroke:p=l.stroke,strokeArrayColor:f=l.strokeArrayColor,strokeArrayWidth:m=l.strokeArrayWidth}=t.attribute;p&&Array.isArray(g)&&g.length&&g[0]?.length&&!Array.isArray(f)&&!Array.isArray(m)&&(u.doStroke=!1)}};RB=tB([f()],RB);let TB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{lineDash:u=l.lineDash,stroke:g=l.stroke,strokeArrayColor:p=l.strokeArrayColor,strokeArrayWidth:f=l.strokeArrayWidth,lineWidth:m=l.lineWidth}=t.attribute;if(!g||!(Array.isArray(u)&&u.length&&u[0]?.length)||Array.isArray(p)||Array.isArray(f))return;const b=t.stage.table;if(!b)return;const y=ot(u[0])?function(t){if(1===t.length)return[t[0],t[0],t[0],t[0]];if(2===t.length)return[t[0],t[1],t[0],t[1]];return t}(u):[u,u,u,u];let C,w,{width:v=l.width,height:x=l.height}=t.attribute;if(b.options.customConfig?._disableColumnAndRowSizeRound?(v=Math.round(v),x=Math.round(x)):(v=Math.ceil(v),x=Math.ceil(x)),1&m){const e="bottom-right"===b.theme.cellBorderClipDirection,o=0,n=0;if(e){if(i=Math.floor(i)-.5,r=Math.floor(r)-.5,"cell"===t.role){0===t.col&&(i+=1),0===t.row&&(r+=1)}}else i=Math.floor(i)+.5,r=Math.floor(r)+.5;const{width:s,height:a}=FB(t,Math.ceil(v+o),Math.ceil(x+n),e);C=s,w=a}else C=Math.ceil(v),w=Math.ceil(x);e.setStrokeStyle(t,t.attribute,i,r,l),e.beginPath(),e.moveTo(i,r),e.lineTo(i+C,r),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,e.setLineDash(y[0]??[]),e.stroke(),e.beginPath(),e.moveTo(i+C,r),e.lineTo(i+C,r+w),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,e.setLineDash(y[1]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r+w),e.lineTo(i+C,r+w),e.lineDashOffset=e.currentMatrix.e/e.currentMatrix.a,e.setLineDash(y[2]??[]),e.stroke(),e.beginPath(),e.moveTo(i,r),e.lineTo(i,r+w),e.lineDashOffset=e.currentMatrix.f/e.currentMatrix.d,e.setLineDash(y[3]??[]),e.stroke(),e.lineDashOffset=0,e.setLineDash([])}};TB=tB([f()],TB);let BB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{lineWidth:g=l.lineWidth,stroke:p=l.stroke,lineDash:f=l.lineDash,strokeArrayWidth:m=l.strokeArrayWidth,strokeArrayColor:b=l.strokeArrayColor,notAdjustPos:y}=t.attribute;!0!==y&&p&&Array.isArray(f)&&!f.length&&!Array.isArray(b)&&!Array.isArray(m)&&1&g&&(u.doStroke=!1)}};BB=tB([f()],BB);let MB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{lineWidth:u=l.lineWidth,stroke:g=l.stroke,lineDash:p=l.lineDash,strokeArrayWidth:f=l.strokeArrayWidth,strokeArrayColor:m=l.strokeArrayColor,notAdjustPos:b,cornerRadius:y=l.cornerRadius}=t.attribute;let{width:C=l.width,height:w=l.height}=t.attribute;if(!0!==b&&g&&Array.isArray(p)&&!p.length&&!Array.isArray(m)&&!Array.isArray(f)&&1&u){const o=t.stage.table;if(!o)return;o.options.customConfig?._disableColumnAndRowSizeRound&&(C=Math.round(C),w=Math.round(w)),e.beginPath();const n="bottom-right"===o?.theme?.cellBorderClipDirection,s=0,a=0;if(n){if(i=Math.floor(i)-.5,r=Math.floor(r)-.5,"cell"===t.role){0===t.col&&(i+=1),0===t.row&&(r+=1)}}else i=Math.floor(i)+.5,r=Math.floor(r)+.5;const{width:h,height:c}=FB(t,Math.ceil(C),Math.ceil(w),n);y?Ta(e,i,r,h+s,c+a,y):e.rect(i,r,h,c),e.setStrokeStyle(t,t.attribute,i,r,l),e.stroke()}}};MB=tB([f()],MB);let PB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){if("cell"===t.role){const e=t.stage.table;if(e){const i=function(t,e){let i,r;if("cell"===t.role&&J(t.mergeStartCol)&&J(t.mergeStartRow)&&J(t.mergeEndCol)&&J(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=ET(t,e.scenegraph);for(let t=r;t<=o;t++)for(let r=n;r<=s;r++){const o=wB(e.stateManager,t,r);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=wB(e.stateManager,t.col,t.row));if(!i)return;const o=e.internalProps.layoutMap;return o.isCornerHeader(t.col,t.row)?r=e.theme.cornerHeaderStyle?.select||e.theme.headerStyle?.select:o.isColumnHeader(t.col,t.row)?r=e.theme.headerStyle?.select:o.isRowHeader(t.col,t.row)?r=e.theme.rowHeaderStyle?.select:o.isBottomFrozenRow(t.col,t.row)?r=e.theme.bottomFrozenStyle?.select||(e.isListTable()?e.theme.bodyStyle?.select:e.theme.headerStyle?.select):o.isRightFrozenColumn(t.col,t.row)?r=e.theme.rightFrozenStyle?.select||(e.isListTable()?e.theme.bodyStyle?.select:e.theme.rowHeaderStyle?.select):e.isHeader(t.col,t.row)||(r=e.theme.bodyStyle?.select),IR(i,r,t.col,t.row,e)}(t,e);if(i)t.attribute._vtableHightLightFill=i;else if(e.stateManager.interactionState!==UC.scrolling){const i=function(t,e){let i,r;if("cell"===t.role&&J(t.mergeStartCol)&&J(t.mergeStartRow)&&J(t.mergeEndCol)&&J(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=ET(t,e.scenegraph);for(let a=r;a<=o;a++)for(let r=n;r<=s;r++){const o=CB(e.stateManager,a,r,t);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=CB(e.stateManager,t.col,t.row,t));if(!i)return;const o=e.internalProps.layoutMap;return o.isCornerHeader(t.col,t.row)?r=e.theme.cornerHeaderStyle?.hover||e.theme.headerStyle?.hover:o.isColumnHeader(t.col,t.row)?r=e.theme.headerStyle?.hover:o.isRowHeader(t.col,t.row)?r=e.theme.rowHeaderStyle?.hover:o.isBottomFrozenRow(t.col,t.row)?r=e.theme.bottomFrozenStyle?.hover||(e.isListTable()?e.theme.bodyStyle?.hover:e.theme.headerStyle?.hover):o.isRightFrozenColumn(t.col,t.row)?r=e.theme.rightFrozenStyle?.hover||(e.isListTable()?e.theme.bodyStyle?.hover:e.theme.rowHeaderStyle?.hover):e.isHeader(t.col,t.row)||(r=e.theme.bodyStyle?.hover),IR(i,r,t.col,t.row,e)}(t,e);i&&(t.attribute._vtableHightLightFill=i)}}}}};PB=tB([f()],PB);let HB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){if(t.attribute._vtableHightLightFill)if(c);else if(s){const o=t.attribute.fill;t.attribute.fill=t.attribute._vtableHightLightFill,e.setCommonStyle(t,t.attribute,i,r,l),e.fill(),t.attribute.fill=o,t.attribute._vtableHightLightFill=void 0}}};HB=tB([f()],HB);let kB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const g=t.stage.table;if(g)if("body"===t.role){EB(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),-(t.attribute.y??0)+g.getFrozenRowsHeight(),t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("row-header"===t.role){EB(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("col-header"===t.role){EB(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("right-frozen"===t.role){EB(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getRightFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("bottom-frozen"===t.role){EB(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-header"===t.role){EB(e,0,0,g.getFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-top-header"===t.role){EB(e,0,0,g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-bottom-header"===t.role){EB(e,0,0,g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-left-bottom-header"===t.role){EB(e,0,0,g.getFrozenColsWidth(),g.getBottomFrozenRowsHeight())}}};kB=tB([f()],kB);const LB=Math.pow(2,24);function EB(t,e,i,r,o){t.beginPath();const n=t.applyedMatrix;Math.abs(n.f)>LB||Math.abs(n.g)>LB?t.rect(e-LB,i-LB,r+2*LB,o+2*LB):t.rect(e,i,r,o)}function FB(t,e,i,r){const o=t.stage.table;if(!o)return{width:e,height:i};if("cell"===t.role){let n=t.col,s=t.row;const a=nx(o,n,s);a&&(n=a.end.col,s=a.end.row),n!==o.colCount-1||r?(n===o.frozenColCount-1&&o.scrollLeft&&!r||0===n&&r)&&(e-=1):e-=1,s!==o.rowCount-1||r?(s===o.frozenRowCount-1&&o.scrollTop&&!r||0===s&&r)&&(i-=1):i-=1}else"corner-frozen"===t.role&&(o.scrollLeft&&!r&&(e-=1),o.scrollTop&&!r&&(i-=1));return{width:e,height:i}}let IB=class{time=xi.beforeFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{stroke:g=l.stroke,strokeArrayWidth:p=l.strokeArrayWidth,strokeArrayColor:f=l.strokeArrayColor}=t.attribute;g&&(Array.isArray(g)||Array.isArray(p)||Array.isArray(f))&&(u.doStroke=!1)}};IB=tB([f()],IB);let zB,OB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d){const{width:u=l.width,height:g=l.height,stroke:p=l.stroke,strokeArrayColor:f=l.strokeArrayColor,strokeArrayWidth:m=l.strokeArrayWidth,lineWidth:b=l.lineWidth,strokeColor:y=l.stroke,cornerRadius:C=l.cornerRadius}=t.attribute;if(p&&(Array.isArray(m)||0!==b)&&(Array.isArray(p)||Array.isArray(f)||Array.isArray(m))){const o=0,n=0;"border-rect"!==t.name&&"table-border-rect"!==t.name&&("number"==typeof b&&1&b||Array.isArray(m)&&m.some((t=>1&t)))&&(i=Math.floor(i)+.5,r=Math.floor(r)+.5),0===C||ot(C)&&C.every((t=>0===t))?AB(t,e,i,r,l,p,m||b,f||y,Math.ceil(u+o),Math.ceil(g+n)):(e.beginPath(),Ta(e,i,r,u,g,C,new Array(4).fill(0).map(((s,a)=>(s,h,c,d)=>{DB(a,s,h,c,d,t,e,i,r,l,p,m||b,f||y,Math.ceil(u+o),Math.ceil(g+n))}))),e.stroke())}}};function DB(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p){const f=n,m=h,b=SB(d),y=!Array.isArray(d),C=!Array.isArray(c),w=Array.isArray(u)||b.isSplitDraw;s.setStrokeStyle(n,n.attribute,a,l,h);const{lineDash:v=m.lineDash}=f.attribute;let x=!1;v.length&&v.some((t=>Array.isArray(t)))&&(x=!0),s.moveTo(a,l);const _=(C||c[0])&&(y||d[0]),S=(C||c[1])&&(y||d[1]),A=(C||c[2])&&(y||d[2]),R=(C||c[3])&&(y||d[3]);_&&0===t?(y?b.width:d[0],y?b.width:d[0],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[0]?s.strokeStyle=u[0]:u&&!u[0]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[0]),s.lineDashOffset=s.currentMatrix.e/s.currentMatrix.a,x&&s.setLineDash(v[0]??[]),s.stroke(),s.beginPath())):0===t&&s.moveTo(a+g,l),S&&1===t?(y?b.width:d[1],y?b.width:d[1],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[1]?s.strokeStyle=u[1]:u&&!u[1]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[1]),s.lineDashOffset=s.currentMatrix.f/s.currentMatrix.d,x&&s.setLineDash(v[1]??[]),s.stroke(),s.beginPath(),s.moveTo(a+g,l+p))):1===t&&s.moveTo(a+g,l+p),A&&2===t?(y?b.width:d[2],y?b.width:d[2],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[2]?s.strokeStyle=u[2]:u&&!u[2]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[2]),s.lineDashOffset=s.currentMatrix.e/s.currentMatrix.a,x&&s.setLineDash(v[2]??[]),s.stroke(),s.beginPath(),s.moveTo(a,l+p))):2===t&&s.moveTo(a,l+p),R&&3===t?(y?b.width:d[3],y?b.width:d[3],s.moveTo(e,i),s.lineTo(r,o),(w||x)&&(u&&u[3]?s.strokeStyle=u[3]:u&&!u[3]&&(s.strokeStyle="transparent"),y||(s.lineWidth=d[3]),s.lineDashOffset=s.currentMatrix.f/s.currentMatrix.d,x&&s.setLineDash(v[3]??[]),s.stroke(),s.beginPath(),s.moveTo(a,l))):3===t&&s.moveTo(a,l),w||x||(!y&&b.width&&(s.lineWidth=b.width),s.stroke()),s.lineDashOffset=0,s.setLineDash([]),s.closePath()}OB=tB([f()],OB);let WB=class{order=1;interceptors;constructor(){this.interceptors=[new NB]}afterDrawItem(t,e,i,r,o){for(let n=0;n<this.interceptors.length;n++)if(this.interceptors[n].afterDrawItem&&this.interceptors[n].afterDrawItem(t,e,i,r,o))return!0;return!1}beforeDrawItem(t,e,i,r,o){if((!t.in3dMode||i.in3dInterceptor)&&!t.shadowRoot&&!(t.baseGraphic||t.attribute.globalZIndex||t.interactiveGraphic))return!1;for(let n=0;n<this.interceptors.length;n++)if(this.interceptors[n].beforeDrawItem&&this.interceptors[n].beforeDrawItem(t,e,i,r,o))return!0;return!1}};WB=tB([f()],WB);class NB{order=1;afterDrawItem(t,e,i,r,o){return"image"===t.type&&this.drawItem(t,e,i,r,o),!1}drawItem(t,e,i,r,o){const{image:n,gif:s}=t.attribute;if(s&&t.playing)return!1;if(!n||!t.resources)return!1;const a=t.resources.get(n);if(!a||"loading"!==a.state)return!1;if(!zB){const t=kR(),e=t.loading_pic.svg,i=t.loading_pic.width,r=t.loading_pic.height;zB=rd({width:i,height:r,image:e})}const{image:l}=zB.attribute;if(!n||!zB.resources)return!1;const h=zB.resources.get(l);if("success"!==h.state)return!1;const{context:c}=i;c.highPerformanceSave(),t.parent&&c.setTransformFromMatrix(t.parent.globalTransMatrix,!0),t.glyphHost&&t.glyphHost.parent&&c.setTransformFromMatrix(t.glyphHost.parent.globalTransMatrix,!0);const d=t.AABBBounds,{width:u,height:g}=ER(h.data.width,h.data.height,d.width(),d.height());return c.drawImage(h.data,d.x1+(d.width()-u)/2,d.y1+(d.height()-g)/2,u,g),c.highPerformanceRestore(),!0}}let GB=class{time=xi.afterFillStroke;useStyle=!0;order=0;drawShape(t,e,i,r,o,n,s,a,l,h,c,d,u){const{text:g,underline:p=l.underline,lineThrough:f=l.lineThrough,direction:m=l.direction,whiteSpace:b=l.whiteSpace,fontSize:y=l.fontSize,verticalMode:C=l.verticalMode,ellipsis:w=l.ellipsis,textAlign:v=l.textAlign,textBaseline:x=l.textBaseline,x:_=l.x,y:S=l.y}=t.attribute;let A=!1;if(Array.isArray(t)){const e=t.cache?.layoutData;w&&e&&e.lines.every((t=>""===t.str))&&(A=!0)}else{const{cache:e}=t;w&&e&&""===e.clipedText&&0===e.clipedWidth&&(A=!0)}if(!A)return;const R=rt(w)?w:"...",T=hn(t.attribute.lineHeight,y)??y;let B=0;T!==y&&("top"===x?B=(T-y)/2:"middle"===x||"bottom"===x&&(B=-(T-y)/2)),n&&(d?d(e,t.attribute,l):a&&(e.setStrokeStyle(t,t.attribute,_-i,S-r,l),e.strokeText(R,_,S+B))),o&&(c?c(e,t.attribute,l):s&&(e.setCommonStyle(t,t.attribute,_-i,S-r,l),e.fillText(R,_,S+B),this.drawUnderLine(p,f,t,_,S+B,0,l,e,R)))}drawUnderLine(t,e,i,r,o,n,s,a,l){if(e+t<=0)return;const{textAlign:h=s.textAlign,textBaseline:c=s.textBaseline,fontSize:d=s.fontSize,fontFamily:u=s.fontFamily,fontWeight:g=s.fontWeight,fontStyle:p=s.fontStyle,fill:f=s.fill,opacity:m=s.opacity,underlineOffset:b=s.underlineOffset,underlineDash:y=s.underlineDash,fillOpacity:C=s.fillOpacity}=i.attribute;if(!t&&!e)return;const w=_T.measureTextWidth(l,{fontSize:d,fontFamily:u,fontWeight:g,fontStyle:p}),v=Xs(h,w),x=Ys(c,d,d),_={lineWidth:0,stroke:f,opacity:m,strokeOpacity:C};if(t){_.lineWidth=t,a.setStrokeStyle(i,_,r,o,s),a.setLineDash(y),a.beginPath();const e=o+x+d+b;a.moveTo(r+v,e,n),a.lineTo(r+v+w,e,n),a.stroke()}if(e){_.lineWidth=e,a.setStrokeStyle(i,_,r,o,s),a.beginPath();const t=o+x+d/2;a.moveTo(r+v,t,n),a.lineTo(r+v+w,t,n),a.stroke()}}};GB=tB([f()],GB);var VB=new i(((t,e,i,r)=>{i(Pa)?r(Pa).to(IB).inSingletonScope():(t(IB).toSelf().inSingletonScope(),t(js).toService(IB)),i(Ha)?r(Ha).to(OB).inSingletonScope():(t(OB).toSelf().inSingletonScope(),t(js).toService(OB)),t(pB).toSelf().inSingletonScope(),t(gB).to(pB),t(Zl).to(pB),t(fB).toSelf().inSingletonScope(),t(Ns).toService(fB),t(mB).toSelf().inSingletonScope(),t(Ns).toService(mB),t(bB).toSelf().inSingletonScope(),t(Ns).toService(bB),t(yB).toSelf().inSingletonScope(),t(Ns).toService(yB),t(PB).toSelf().inSingletonScope(),t(Ws).toService(PB),t(HB).toSelf().inSingletonScope(),t(Ws).toService(HB),t(_B).toSelf().inSingletonScope(),t(Ws).toService(_B),t(xB).toSelf().inSingletonScope(),t(Ws).toService(xB),t(RB).toSelf().inSingletonScope(),t(Ws).toService(RB),t(TB).toSelf().inSingletonScope(),t(Ws).toService(TB),t(BB).toSelf().inSingletonScope(),t(Ws).toService(BB),t(MB).toSelf().inSingletonScope(),t(Ws).toService(MB),t(kB).toSelf().inSingletonScope(),t(Ws).toService(kB),t(WB).toSelf().inSingletonScope(),t(dh).toService(WB),t(GB).toSelf().inSingletonScope(),t(Ks).toService(GB)}));function jB(t,e,i,r){t.internalProps.columnWidthConfig&&t._parseColumnWidthConfig(t.internalProps.columnWidthConfig),t.isPivotTable()&&t.internalProps.columnWidthConfigForRowHeader&&t._parseColumnWidthConfigForRowHeader(t.internalProps.columnWidthConfigForRowHeader),e=e??0,i=i??t.colCount-1,0===e&&i===t.colCount-1&&t._clearColRangeWidthsMap();const o=t.internalProps.layoutMap;t.isPivotTable()&&(o.enableUseGetBodyCache(),o.enableUseHeaderPathCache());const n=[],s=[];if(r)for(let e=0;e<t.colCount;e++)n[e]=t.getColWidth(e);for(let o=e;o<=i;o++){let e;if(t.internalProps.transpose||"only-header"!==t.internalProps.layoutMap.columnObjects?.[o]?.columnWidthComputeMode&&"only-header"!==t.columnWidthComputeMode||!("showHeader"in t.internalProps.layoutMap))e=t.internalProps.transpose||"only-body"!==t.internalProps.layoutMap.columnObjects?.[o]?.columnWidthComputeMode&&"only-body"!==t.columnWidthComputeMode?UB(o,0,t.rowCount-1,t):UB(o,t.internalProps.layoutMap.getBodyRange().start.row,t.internalProps.layoutMap.getBodyRange().end.row,t);else{const i=t.internalProps.layoutMap.showHeader;t.internalProps.layoutMap.showHeader=!0,e=UB(o,0,t.internalProps.layoutMap.headerLevelCount-1,t),t.internalProps.layoutMap.showHeader=i}t._setColContentWidth(o,e);t.getColWidth(o)!==e&&t._clearColRangeWidthsMap(o),r?s[o]=Math.round(t._adjustColWidth(o,e)):t._setColWidth(o,t._adjustColWidth(o,e),!1,!0)}if("adaptive"===t.widthMode){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,o=0,n=t.colCount;if("only-body"===t.widthAdaptiveMode){for(let e=0;e<t.colCount;e++){const o=r?s[e]??t.getColWidth(e):t.getColWidth(e);(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=o)}o=t.rowHeaderLevelCount,n=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount}qB(e-i,o,n,r,s,t)}else if(t.autoFillWidth){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,o=0;for(let e=0;e<t.colCount;e++){const n=r?s[e]??t.getColWidth(e):t.getColWidth(e);(e<t.rowHeaderLevelCount+t.leftRowSeriesNumberCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=n),o+=n}if(o<e&&o>i){qB(e-i,t.rowHeaderLevelCount+t.leftRowSeriesNumberCount,t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount,r,s,t)}}if(r){for(let e=0;e<t.colCount;e++){const i=s[e]??t.getColWidth(e)??t.getColWidth(e);i!==n[e]&&t._setColWidth(e,i,!1,!0)}t.stateManager.checkFrozen();for(let e=0;e<t.colCount;e++){const i=t.getColWidth(e);i!==n[e]&&t.scenegraph.updateColWidth(e,i-n[e],!0,!0)}t.scenegraph.updateContainer(!0)}t.isPivotTable()&&(o.disableUseGetBodyCache(),o.disableUseHeaderPathCache())}function UB(t,e,i,r,o=!1){let n=function(t,e){const i=e.getColWidthDefined(t);if(e.internalProps._widthResizedColMap.has(t))return e.getColWidth(t);return i}(t,r);return r.internalProps.transpose&&"auto"===n&&("only-header"===r.columnWidthComputeMode&&t>=r.rowHeaderLevelCount||"only-body"===r.columnWidthComputeMode&&t<r.rowHeaderLevelCount)&&(n=r.getDefaultColumnWidth(t)),o&&!r.internalProps.transpose?KB(n,t,e,i,o,r):"number"==typeof n?n:"auto"!==n&&"string"==typeof n?r._adjustColWidth(t,r._colWidthDefineToPxWidth(n)):KB(n,t,e,i,o,r)}function KB(t,e,i,r,o,n){let s=0,a=1,l=1;if(r-i>5e3&&(l=Math.ceil((r-i)/5e3)),n.isPivotChart()&&e>=n.rowHeaderLevelCount&&e<n.colCount-n.rightFrozenColCount){if(n.internalProps.layoutMap.indicatorsAsCol)return n.defaultColWidth;{const t=n.internalProps.layoutMap.getOptimunWidthForChart(e);if(t>0)return t}}for(let h=i;h<=r;h+=a){if(n.isPivotChart()){const t=n.internalProps.layoutMap,i=t.getAxisConfigInPivotChart(e,h);if(i){const t=sx.getFunction("computeAxisComponentWidth")(i,n);if("number"==typeof t){s=Math.max(t,s);continue}}else if(t.isLeftBottomCorner(e,h)||t.isRightTopCorner(e,h)||t.isRightBottomCorner(e,h))continue}const i=$B(e,h,n);if(i&&(s=Math.max(i.width,s),!i.renderDefault))continue;const r=t;if("number"==typeof r&&"standard"===n.widthMode&&!o){s=Math.max(r,s);continue}const c=n.isHeader(e,h)?n._getHeaderLayoutMap(e,h)?.headerType:n.getBodyColumnType(e,h);if(J(c)&&"text"!==c&&"link"!==c&&"progressbar"!==c&&"checkbox"!==c&&"radio"!==c&&"switch"!==c&&"button"!==c){s=Math.max(s,n.getColWidthDefinedNumber(e)||0);continue}let d=0;const u=n.internalProps.layoutMap;if(u.isHeader(e,h)){const t=u.getHeader(e,h);if("only-body"===t?.define?.columnWidthComputeMode)continue;J(t?.hierarchyLevel)&&(d=(t.hierarchyLevel??0)*("tree"===u.rowHierarchyType?u.rowHierarchyIndent??0:0),u.rowHierarchyTextStartAlignment&&!n.internalProps.headerHelper.getHierarchyIcon(e,h)&&(d+=n.internalProps.headerHelper.getHierarchyIconWidth()))}else if(n.isListTable()){a=l;const t=n.getBodyColumnDefine(e,h);if(t?.tree){const t=n.dataSource.getIndexKey(n.getRecordShowIndexByCell(e,h));d=Array.isArray(t)&&n.getHierarchyState(e,h)!==ZC.none?(t.length-1)*(u.hierarchyIndent??0):0,u.hierarchyTextStartAlignment&&!n.internalProps.bodyHelper.getHierarchyIcon(e,h)&&(d+=n.internalProps.headerHelper.getHierarchyIconWidth())}}const g=XB(e,h,c,n);s=Math.max(g+d,s),a>1&&n.bottomFrozenRowCount>0&&h<n.rowCount-n.bottomFrozenRowCount&&h+a>=n.rowCount-n.bottomFrozenRowCount&&(h=n.rowCount-n.bottomFrozenRowCount-a,a=1,l=1)}const h=n.getMinColWidth(e),c=n.getMaxColWidth(e);return s<h?h:s>c?c:(s<=0&&(s=n.defaultColWidth),s)}function $B(t,e,i){const r=i.getCustomRender(t,e);let o=i.getCustomLayout(t,e);if(r||o){let n,s=1,a=0,l=!1,h=!1;(i.isHeader(t,e)||i.getBodyColumnDefine(t,e)?.mergeCell||i.hasCustomMerge())&&(n=i.getCellRange(t,e),s=n.end.col-n.start.col+1);const c={col:n?.start.col??t,row:n?.start.row??e,dataValue:i.getCellOriginValue(t,e),value:i.getCellValue(t,e)||"",rect:YB(t,e,i),table:i,originCol:t,originRow:e};if("react-custom-layout"===o&&(o=i.reactCustomLayout?.getCustomLayoutFunc(t,e)||VA),q(o)){const t=o(c);if(t.rootContainer){t.rootContainer=eR(t.rootContainer),tR(t.rootContainer,0,i.getRowHeight(e));const r=t.rootContainer.attribute.width;t.rootContainer.setStage(i.scenegraph.stage),a=r>0?r:t.rootContainer.AABBBounds.width()??0,l=t.renderDefault,h=t.enableCellPadding}else a=0,l=t.renderDefault,h=t.enableCellPadding}else if("function"==typeof r){const t=r(c);a=t?.expectedWidth??0,l=t?.renderDefault}else a=r?.expectedWidth??0,l=r?.renderDefault;if(a=Math.ceil(a),h){const r=tA(IR("padding",i._getCellStyle(t,e),t,e,i));a+=r[1]+r[3]}return{width:a/s,renderDefault:l}}}function XB(t,e,i,r){let o=0;const n=r.getCellValue(t,e),s=r._getCellStyle(t,e);let a=0,l=!1;if("body"!==r.getCellLocation(t,e))l=!0;else{const i=r.getBodyColumnDefine(t,e);l=!!i?.icon||!!i?.tree||i?.dragOrder}if(l){const i=r.getCellIcons(t,e);i?.forEach((t=>{t.positionType!==JC.absoluteRight&&(a+=(t.width??0)+(t.marginLeft??0)+(t.marginRight??0))}))}let h=1;if(r.isHeader(t,e)||r.getBodyColumnDefine(t,e)?.mergeCell||r.hasCustomMerge()){const i=r.getCellRange(t,e);h=i.end.col-i.start.col+1}const c=tA(IR("padding",s,t,e,r)),d=c[1]+c[3],u=IR("fontSize",s,t,e,r),g=IR("fontFamily",s,t,e,r),p=IR("fontWeight",s,t,e,r);let f;if("checkbox"===i)f=Q(n)?n.text:n;else if("radio"===i)if(ot(n)){f="";const i=r.getBodyColumnDefine(t,e),o=i?.radioDirectionInCell??"vertical";"vertical"===o?n.forEach((t=>{f+=(Q(t)?t.text:t).toString()+"\n"})):"horizontal"===o&&n.forEach((t=>{f+=(Q(t)?t.text:t).toString()}))}else f=Q(n)?n.text:n;else if("button"===i){const i=cv(r.getBodyColumnDefine(t,e).text,{col:t,row:e,table:r,context:null,value:n,dataValue:r.getCellOriginValue(t,e)});f=i??n??""}else f=n;const m=NR(f,r).text;if(m.length>=1&&(1!==m.length||""!==m[0])?m.forEach((t=>{const e=r.measureText(t,{fontSize:u,fontFamily:g,fontWeight:p}).width;o=Math.max((e+d+4+a)/h,o)})):o=Math.max((d+4+a)/h,o),!1!==r.internalProps.limitMaxAutoWidth&&(o=Math.min("number"==typeof r.internalProps.limitMaxAutoWidth?r.internalProps.limitMaxAutoWidth:450,o)),"checkbox"===i){const i=IR("size",s,t,e,r);if(o+=i,f){const i=IR("spaceBetweenTextAndIcon",s,t,e,r);o+=i}}else if("radio"===i){const i=IR("size",s,t,e,r),a=IR("outerRadius",s,t,e,r),l=at(a)?2*a:i,h=IR("spaceBetweenTextAndIcon",s,t,e,r);if(ot(n)){const i=r.getBodyColumnDefine(t,e),a=IR("spaceBetweenRadio",s,t,e,r),c=i?.radioDirectionInCell??"vertical";"vertical"===c?(o+=l,o+=h):"horizontal"===c&&(o+=(l+h)*n.length,o+=a*(n.length-1))}else o+=l,f&&(o+=h)}else if("switch"===i){const i=IR("boxWidth",s,t,e,r);o=i}else if("button"===i){const i=IR("buttonPadding",s,t,e,r);o+=2*i}return o}function YB(t,e,i){return{left:0,top:0,right:i.getColWidth(t),bottom:i.getRowHeight(e),width:null,height:null}}function qB(t,e,i,r,o,n,s){let a=0;const l=[],h=[];let c=0;for(let s=e;s<i;s++){const e=r?o[s]??n.getColWidth(s):n.getColWidth(s),i=n.getMaxColWidth(s),d=n.getMinColWidth(s);if(e!==i&&e!==d?(a+=e,l.push(s)):t-=e,n.options.customConfig?.shrinkSparklineFirst){"sparkline"===n.getBodyColumnType(s,0)&&(h.push({col:s,width:e}),c+=e-n.defaultColWidth)}}const d=t/a;if(n.options.customConfig?.shrinkSparklineFirst&&d<1&&a-t<c)for(let e=0;e<h.length;e++){const{col:i,width:l}=h[e],c=(a-t)/h.length,d=Math.floor(l-c);r?o[i]=n._adjustColWidth(i,d):s?n.scenegraph.setColWidth(i,n._adjustColWidth(i,d)):n._setColWidth(i,n._adjustColWidth(i,d),!1,!0)}else for(let e=0;e<l.length;e++){const i=l[e];let a;a=e===l.length-1?t-l.reduce(((t,e,s)=>e!==i?t+(r?o[e]??n.getColWidth(i):n.getColWidth(e)):t),0):Math.round((r?o[i]??n.getColWidth(i):n.getColWidth(i))*d),r?o[i]=n._adjustColWidth(i,a):s?n.scenegraph.setColWidth(i,n._adjustColWidth(i,a)):n._setColWidth(i,n._adjustColWidth(i,a),!1,!0)}}const ZB=new LR({});function JB(t,e,i,r,o,n,s,a,l){let h,c,d,u=0;t.lastChild&&t.lastChild.row===r-1?u=t.lastChild.attribute.y+t.lastChild.attribute.height:t.colHeight&&(u=t.colHeight);for(let g=r;g<=o;g++){const o=g;let p,f,m,b,y=a.getCellLocation(e,o),C=a.getCellValue(e,o),w=i,v=a.getRowHeight(o),x=!1;if(a.internalProps.customMergeCell){const t=a.getCustomMerge(e,o);if(t){const{range:e,text:i,style:s,customLayout:l,customRender:h}=t;if(p=e,f=p.start.col!==p.end.col||p.start.row!==p.end.row,f){const t=tM(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}C=i,m=s,(l||h)&&(b=JA(l,h,e.start.col,e.start.row,a.getColsWidth(e.start.col,e.end.col),a.getRowsHeight(e.start.row,e.end.row),!1,a.isAutoRowHeight(o),[0,0,0,0],p,a)),x=!0}}let _,S=e,A=o;p&&(S=p.start.col,A=p.start.row),!a.isPivotTable()&&("columnHeader"===y||"cornerHeader"===y)&&o>=a.columnHeaderLevelCount&&(y="body"),_=!a.isPivotTable()&&a.isSeriesNumberInBody(e,o)?a.getBodyColumnDefine(S,A):"body"!==y?a.getHeaderDefine(S,A):a.getBodyColumnDefine(S,A);let R="body"!==y||(_?.dragOrder||!!_?.icon||!!_?.tree);if(!p&&(a.internalProps.enableTreeNodeMerge||"body"!==y||_?.mergeCell)&&(p=a.getCellRange(e,o),f=p.start.col!==p.end.col||p.start.row!==p.end.row,f)){const t=tM(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}let T=!1;if(a.internalProps.enableTreeNodeMerge&&f){const t=a.getCellRawRecord(p.start.col,p.start.row),{vtableMergeName:i,vtableMerge:r}=t??{};T=r,r&&(R=!0,a.options.groupTitleCustomLayout&&(b=JA(a.options.groupTitleCustomLayout,void 0,p.start.col,p.start.row,a.getColsWidth(p.start.col,p.end.col),a.getRowsHeight(p.start.row,p.end.row),!1,a.isAutoRowHeight(o),[0,0,0,0],p,a)),a.options.groupTitleFieldFormat?C=a.options.groupTitleFieldFormat(t,e,o,a):i&&(C=i))}const B=T||x?"text":(a.isHeader(e,o)?a._getHeaderLayoutMap(e,o).headerType??"text":a.getBodyColumnType(e,o))??"text";if(dv(C)){eM(e,o,0,u,w,v,t),eT(C,a,QB.bind(null,{type:B,value:C,define:_,table:a,col:e,row:o,colWidth:i,cellWidth:w,cellHeight:v,columnGroup:t,y:u,customStyle:m,mayHaveIcon:R,cellLocation:y,range:p,customResult:b,defaultRowHeight:s})),t.updateColumnRowNumber(o);const r=a.getRowHeight(o);t.updateColumnHeight(r),u+=r}else{const r=zA(m||a._getCellStyle(p?p.start.col:e,p?p.start.row:o),a,p?p.start.col:e,p?p.start.row:o,IR).theme;r.group.cornerRadius=OA(e,o,a),r.group.width=i,r.group.height=Array.isArray(s)?s[o]:s,r._vtable.padding&&(h=r._vtable.padding),r.text.textAlign&&(c=r.text.textAlign),r.text.textBaseline&&(d=r.text.textBaseline),"body"===y||r.group.fill||(r.group.fill="#fff");const n=rT(B,C,_,a,e,o,i,w,v,t,u,h,c,d,R,r,p,b);if(t.updateColumnRowNumber(o),f){const i=a.getRowHeight(o);a.getColWidth(e);const{width:r}=n.attribute,{height:s}=n.attribute;n.contentWidth=r,n.contentHeight=s,lT(p,r,s,h,c,d,a),t.updateColumnHeight(i),u+=i}else t.updateColumnHeight(v),u+=v}if(l&&o>l)break}return t.setAttribute("width",i),{width:i,height:u}}function QB(t){let e,i,r;const{type:o,value:n,define:s,table:a,col:l,row:h,colWidth:c,cellWidth:d,cellHeight:u,columnGroup:g,y:p,cellLocation:f,mayHaveIcon:m,customStyle:b,range:y,customResult:C,defaultRowHeight:w}=t,v=zA(b||a._getCellStyle(y?y.start.col:l,y?y.start.row:h),a,y?y.start.col:l,y?y.start.row:h,IR).theme;v.group.cornerRadius=OA(l,h,a),v.group.width=c,v.group.height=Array.isArray(w)?w[h]:w,v._vtable.padding&&(e=v._vtable.padding),v.text.textAlign&&(i=v.text.textAlign),v.text.textBaseline&&(r=v.text.textBaseline),"body"===f||v.group.fill||(v.group.fill="#fff"),rT(o,n,s,a,l,h,c,d,u,g,p,e,i,r,m,v,y,C)}function tM(t,e,i,r){let o=0,n=0;const s=e.get(`${t.start.col},${t.start.row};${t.end.col},${t.end.row}`);if(!s||r){for(let e=t.start.col;e<=t.end.col;e++)o+=i.getColWidth(e);for(let e=t.start.row;e<=t.end.row;e++)n+=i.getRowHeight(e);e.set(`${t.start.col},${t.start.row};${t.end.col},${t.end.row}`,{cellWidth:o,cellHeight:n})}else o=s.cellWidth,n=s.cellHeight;return{cellWidth:o,cellHeight:n}}function eM(t,e,i,r,o,n,s){const a=new LR({x:i,y:r,width:o,height:n});a.role="cell",a.col=t,a.row=e,s.addChild(a)}function iM(t,e,i,r,o,n,s,a,l,h){if(r>o||n>s)return;const{layoutMap:c,defaultHeaderRowHeight:d,defaultColWidth:u}=l.internalProps,g=l.defaultRowHeight;let p=0,f=0;for(let c=r;c<=o;c++){const r=c,o=l.getColWidth(r),u=new LR({x:e+p,y:i,width:o,height:0,clip:!1,pickable:!1});u.role="column",u.col=c,t.addChild(u);const{width:m,height:b}=JB(u,r,o,n,s,l.scenegraph.mergeMap,"columnHeader"===a&&at(d)?d:g,l,h);p+=m,f=Math.max(f,b)}t.setAttribute("width",p),t.setAttribute("height",f)}function rM(t){let e=t.firstChild;for(;e&&"group"!==e.type;)e=e._next;return e}function oM(t){let e=t.lastChild;for(;e&&"group"!==e.type;)e=e._prev;return e}function nM(t,e,i,r="left"){for(let o=t;o<=e;o++){const t=i.scenegraph.getColGroup(o);t&&sM(t,i,r);const e=i.scenegraph.getColGroup(o,!0);e&&sM(e,i,r);const n=i.scenegraph.getColGroupInBottom(o);n&&sM(n,i,r)}const o=Math.min(i.scenegraph.proxy.colLimit,i.scenegraph.proxy.bodyRightCol-i.scenegraph.proxy.bodyLeftCol+1),n=i.getColsWidth(i.frozenColCount,i.frozenColCount+o),s=i.getColsWidth(i.frozenColCount,i.colCount-1);i.scenegraph.proxy.xLimitLeft=n/2,i.scenegraph.proxy.xLimitRight=s-n/2}function sM(t,e,i="left"){if("left"===i){let i;const r=function(t){let e=t._prev;for(;e&&"group"!==e.type;)e=e._prev;return e}(t);i=r?r.attribute.x+e.getColWidth(t._prev.col):e.getColsWidth(e.frozenColCount,t.col-1),t.setAttribute("x",i)}else{let i;const r=function(t){let e=t._next;for(;e&&"group"!==e.type;)e=e._next;return e}(t);i=r?r.attribute.x-e.getColWidth(t.col):e.getColsWidth(e.frozenColCount,t.col-1),t.setAttribute("x",i)}}async function aM(t,e,i,r){if(!e)return;const o=e.col,n=e.left;let s;if(s=i?r.bodyRightCol-r.colEnd:r.screenLeftCol-r.referenceCol,function(t,e,i,r,o){t>0?(lM(t,"left",o.screenLeftCol,i,r,o),o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX)):t<0?(lM(-t,"right",o.screenLeftCol,i,r,o),o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX)):(o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX))}(s,o,n,t,r),i){const e=r.table.scenegraph.getColGroup(r.colEnd);if(e){const i=e.attribute.x+e.attribute.width-(r.table.tableNoFrameWidth-r.table.getFrozenColsWidth()-r.table.getRightFrozenColsWidth())-t;r.deltaX=-i,r.table.scenegraph.setBodyAndColHeaderX(-t+r.deltaX)}}r.table.scenegraph.updateNextFrame()}async function lM(t,e,i,r,o,n){if("left"===e&&n.colEnd+t>n.bodyRightCol?t=n.bodyRightCol-n.colEnd:"right"===e&&n.colStart-t<n.bodyLeftCol&&(t=n.colStart-n.bodyLeftCol),0!==t)if(t<0&&(e="left"===e?"right":"left",t=-t),t<n.colEnd-n.colStart){const o="left"===e?n.colStart:n.colEnd-t+1,s="left"===e?n.colStart+t-1:n.colEnd,a="left"===e?n.colEnd+1:n.colStart-t,l="left"===e?n.colEnd+t:n.colStart-1;jB(n.table,a,l),function(t,e,i,r){for(let o=t;o<=e;o++)r.table.scenegraph.bodyGroup.childrenCount>0&&"group"===r.table.scenegraph.bodyGroup.firstChild.type&&uM(r.table.scenegraph.bodyGroup,i,r),r.table.scenegraph.colHeaderGroup.childrenCount>0&&"group"===r.table.scenegraph.colHeaderGroup.firstChild.type&&uM(r.table.scenegraph.colHeaderGroup,i,r),r.table.scenegraph.bottomFrozenGroup.childrenCount>0&&"group"===r.table.scenegraph.bottomFrozenGroup.firstChild.type&&uM(r.table.scenegraph.bottomFrozenGroup,i,r)}(o,s,e,n);const h=a,c=l;n.colStart="left"===e?n.colStart+t:n.colStart-t,n.colEnd="left"===e?n.colEnd+t:n.colEnd-t,gM(h,c,n),nM(h,c,n.table,e);const d=r-((n.table.scenegraph.getColGroup(i)||n.table.scenegraph.getColGroup(i,!0)).attribute.x+n.table.getFrozenColsWidth()+n.table.scenegraph.proxy.deltaX);n.table.scenegraph.proxy.deltaX+=d,n.currentCol="left"===e?n.currentCol+t:n.currentCol-t,n.totalCol=Math.max(0,Math.min(n.table.colCount-1,"left"===e?n.totalCol+t:n.totalCol-t)),n.referenceCol=n.colStart+Math.floor((n.colEnd-n.colStart)/2),n.colUpdatePos=a,n.colUpdateDirection=e,n.table.scenegraph.updateNextFrame()}else{const i="left"===e?n.colStart+t:n.colStart-t,r="left"===e?n.colEnd+t:n.colEnd-t;jB(n.table,i,r);!function(t,e,i,r){r.table.scenegraph.colHeaderGroup.forEachChildren(((o,n)=>{"group"===o.type&&hM(o,"left"===i?o.col+e:o.col-e,0===n?t:o._prev.attribute.x+r.table.getColWidth(o._prev.col))})),r.table.scenegraph.bottomFrozenGroup.forEachChildren(((o,n)=>{"group"===o.type&&hM(o,"left"===i?o.col+e:o.col-e,0===n?t:o._prev.attribute.x+r.table.getColWidth(o._prev.col))})),r.table.scenegraph.bodyGroup.forEachChildren(((o,n)=>{"group"===o.type&&hM(o,"left"===i?o.col+e:o.col-e,0===n?t:o._prev.attribute.x+r.table.getColWidth(o._prev.col))}))}(n.table.getColsWidth(n.bodyLeftCol,i-1),t,e,n);const o=i,s=r;n.colStart=i,n.colEnd=r,gM(o,s,n),nM(o,s,n.table,r>n.bodyRightCol-(n.colEnd-n.colStart+1)?"right":"left"),n.currentCol="left"===e?n.currentCol+t:n.currentCol-t,n.totalCol=Math.max(0,Math.min(n.table.colCount-1,"left"===e?n.totalCol+t:n.totalCol-t)),n.referenceCol=n.colStart+Math.floor((n.colEnd-n.colStart)/2),n.colUpdatePos=n.colStart,n.colUpdateDirection=r>n.bodyRightCol-(n.colEnd-n.colStart+1)?"right":"left",n.table.scenegraph.updateNextFrame()}}function hM(t,e,i){t.col=e,t.forEachChildren((t=>{t.col=e,t.needUpdate=!0})),t.setAttribute("x",i),t.needUpdate=!0}function cM(t,e){if(!t)return;let i=t.firstChild;for(;i;){i=e.updateCellGroupContent(i)._next}t.needUpdate=!1,t.setAttribute("width",e.table.getColWidth(t.col))}function dM(t,e){if(!t)return;const i=e.screenTopRow,r=Math.max(e.bodyTopRow,i-1*e.screenRowCount),o=Math.min(e.bodyBottomRow,i+2*e.screenRowCount,e.table.rowCount-1);for(let i=r;i<=o;i++){const r=e.highPerformanceGetCell(t.col,i,!0);e.updateCellGroupContent(r)}e.rowUpdatePos=e.rowStart,t.needUpdate=!1,t.setAttribute("width",e.table.getColWidth(t.col))}function uM(t,e,i){if("left"===e){const e=rM(t),r=oM(t);hM(e,r.col+1,r.attribute.x+i.table.getColWidth(r.col)),t.appendChild(e),t.border&&t.appendChild(t.border)}else{const e=oM(t),r=rM(t);hM(e,r.col-1,r.attribute.x-i.table.getColWidth(r.col-1)),t.insertBefore(e,t.firstChild)}}function gM(t,e,i){for(let r=t;r<=e;r++){const t=i.table.scenegraph.getColGroup(r,!0);t&&cM(t,i);const e=i.table.scenegraph.getColGroupInBottom(r);e&&cM(e,i);const o=i.table.scenegraph.getColGroupInRightTopCorner(r);o&&cM(o,i);const n=i.table.scenegraph.getColGroupInRightBottomCorner(r);n&&cM(n,i);const s=i.table.scenegraph.getColGroup(r);s&&dM(s,i)}pM(i.table.scenegraph.colHeaderGroup),pM(i.table.scenegraph.bottomFrozenGroup),pM(i.table.scenegraph.bodyGroup),i.progress()}function pM(t){const e=oM(t);if(e&&(t.setAttribute("width",e.attribute.x+e.attribute.width),t.border)){const i=t.border;i.setAttribute("width",e.attribute.x+e.attribute.width-(i.attribute.borderLeft??0)/2-(i.attribute.borderRight??0)/2)}}function fM(t,e,i,r,o,n="up",s){if("up"===n)for(let n=t;n<=e;n++)for(let t=i;t<=r;t++){const e=o.scenegraph.highPerformanceGetCell(n,t,!0);if("cell"!==e.role||!e.row)continue;let i;if(e._prev)i=e._prev?.attribute.y+o.getRowHeight(e._prev.row);else if(s){const e=r===o.rowCount-o.bottomFrozenRowCount-1?r:r+1;if(i=o.scenegraph.highPerformanceGetCell(n,e,!0).attribute.y,J(i))for(let r=t;r<e;r++)i-=o.getRowHeight(r)}else i=mM(e.row,o);J(i)&&e.setAttribute("y",i)}else for(let n=t;n<=e;n++)for(let t=r;t>=i;t--){const e=o.scenegraph.highPerformanceGetCell(n,t,!0);if("cell"!==e.role||!e.row)continue;let r;if(e._next)r=e._next?.attribute.y-o.getRowHeight(e.row);else if(s){const e=i<=o.frozenRowCount?o.frozenRowCount:i-1;if(i<=o.frozenRowCount)r=0;else{r=o.scenegraph.highPerformanceGetCell(n,e,!0).attribute.y}for(let i=e;i<t;i++){r+=o.getRowHeight(i)}}else r=mM(e.row,o);J(r)&&e.setAttribute("y",r)}const a=Math.min(o.scenegraph.proxy.rowLimit,o.scenegraph.proxy.bodyBottomRow-o.scenegraph.proxy.bodyTopRow+1),l=o.getRowsHeight(o.frozenRowCount,o.frozenRowCount+a),h=o.getRowsHeight(o.frozenRowCount,o.rowCount-1);o.scenegraph.proxy.yLimitTop=l/2,o.scenegraph.proxy.yLimitBottom=h-l/2}function mM(t,e){let i;return i=t<e.frozenRowCount?e.getRowsHeight(0,t-1):t>=e.rowCount-e.bottomFrozenRowCount?e.getRowsHeight(e.rowCount-e.bottomFrozenRowCount,t-1):e.getRowsHeight(e.frozenRowCount,t-1),i}async function bM(t,e,i,r){if(!e)return;const o=e.row,n=e.top;let s;if(s=i?r.bodyBottomRow-r.rowEnd:o-r.referenceRow,function(t,e,i,r,o){t>0?(yM(t,"up",e,i,r,o),o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY)):t<0?(yM(-t,"down",e,i,r,o),o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY)):(o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY))}(s,o,n,t,r),i){const e=r.table.scenegraph.highPerformanceGetCell(r.colStart,r.rowEnd,!0);if("cell"===e.role){const i=e.attribute.y+e.attribute.height-(r.table.tableNoFrameHeight-r.table.getFrozenRowsHeight()-r.table.getBottomFrozenRowsHeight())-t;r.deltaY=-i,r.updateBody(t-r.deltaY)}}}async function yM(t,e,i,r,o,n){if("up"===e&&n.rowEnd+t>n.bodyBottomRow?t=n.bodyBottomRow-n.rowEnd:"down"===e&&n.rowStart-t<n.bodyTopRow&&(t=n.rowStart-n.bodyTopRow),0!==t)if(t<0&&(e="up"===e?"down":"up",t=-t),t<n.rowEnd-n.rowStart){const r="up"===e?n.rowStart:n.rowEnd-t+1,o="up"===e?n.rowStart+t-1:n.rowEnd,s="up"===e?n.rowEnd+1:n.rowStart-t,a="up"===e?n.rowEnd+t:n.rowStart-1;let l,h;if(n.table.isAutoRowHeight())l=s,h=a;else{l=Math.max(n.bodyTopRow,i-1*n.screenRowCount),h=Math.min(n.bodyBottomRow,i+2*n.screenRowCount,n.table.rowCount-1)}TT(n.table,l,h,!1),function(t,e,i,r){for(let o=0;o<r.table.frozenColCount;o++){const n=r.table.scenegraph.getColGroup(o);if(n)for(let o=t;o<=e;o++)CM(n,i,r)}for(let o=r.table.colCount-r.table.rightFrozenColCount;o<r.table.colCount;o++){const n=r.table.scenegraph.getColGroup(o);if(n)for(let o=t;o<=e;o++)CM(n,i,r)}for(let o=r.bodyLeftCol;o<=r.bodyRightCol;o++){const n=r.table.scenegraph.getColGroup(o);if(n)for(let o=t;o<=e;o++)CM(n,i,r)}}(r,o,e,n),n.rowStart="up"===e?n.rowStart+t:n.rowStart-t,n.rowEnd="up"===e?n.rowEnd+t:n.rowEnd-t;const c=wM(l,h,n,!0);n.table.isAutoRowHeight()&&(fM(n.bodyLeftCol,n.bodyRightCol,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),fM(0,n.table.frozenColCount-1,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),fM(n.table.colCount-n.table.rightFrozenColCount,n.table.colCount-1,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0)),n.currentRow="up"===e?n.currentRow+t:n.currentRow-t,n.totalRow=Math.max(0,Math.min(n.bodyBottomRow,"up"===e?n.totalRow+t:n.totalRow-t,n.table.rowCount-1)),n.referenceRow=n.rowStart+Math.floor((n.rowEnd-n.rowStart)/2),n.table.isAutoRowHeight()&&c?n.rowUpdatePos=Math.min(n.rowUpdatePos,n.rowEnd+1):n.rowUpdatePos=Math.min(n.rowUpdatePos,s),n.rowUpdateDirection=e,n.table.scenegraph.updateNextFrame(),await n.progress()}else{const r="up"===e?n.rowStart+t:n.rowStart-t,o=Math.min(n.table.rowCount-1,"up"===e?n.rowEnd+t:n.rowEnd-t),s=n.table.getRowsHeight(n.bodyTopRow,r-1);let a,l;n.table.isAutoRowHeight()?(a=r,l=o):(a=Math.max(n.bodyTopRow,i-1*n.screenRowCount),l=Math.min(n.bodyBottomRow,i+2*n.screenRowCount,n.table.rowCount-1)),TT(n.table,a,l,!1),function(t,e,i,r){for(let o=0;o<r.table.frozenColCount;o++){const n=r.table.scenegraph.getColGroup(o);n?.forEachChildren(((o,n)=>{r.updateCellGroupPosition(o,"up"===i?o.row+e:o.row-e,0===n?t:o._prev.attribute.y+r.table.getRowHeight(o._prev.row))}))}for(let o=r.table.colCount-r.table.rightFrozenColCount;o<r.table.colCount;o++){const n=r.table.scenegraph.getColGroup(o);n?.forEachChildren(((o,n)=>{r.updateCellGroupPosition(o,"up"===i?o.row+e:o.row-e,0===n?t:o._prev.attribute.y+r.table.getRowHeight(o._prev.row))}))}for(let o=r.bodyLeftCol;o<=r.bodyRightCol;o++){const n=r.table.scenegraph.getColGroup(o);n?.forEachChildren(((o,n)=>{r.updateCellGroupPosition(o,"up"===i?o.row+e:o.row-e,0===n?t:o._prev.attribute.y+r.table.getRowHeight(o._prev.row))}))}}(s,t,e,n),n.rowStart=r,n.rowEnd=o;const h=wM(a,l,n,!0);n.table.isAutoRowHeight()&&(fM(n.bodyLeftCol,n.bodyRightCol,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),fM(0,n.table.frozenColCount-1,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),fM(n.table.colCount-n.table.rightFrozenColCount,n.table.colCount-1,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up")),n.currentRow="up"===e?n.currentRow+t:n.currentRow-t,n.totalRow=Math.max(0,Math.min(n.bodyBottomRow,"up"===e?n.totalRow+t:n.totalRow-t,n.table.rowCount-1)),n.referenceRow=n.rowStart+Math.floor((n.rowEnd-n.rowStart)/2),n.table.isAutoRowHeight()&&h?n.rowUpdatePos=n.rowEnd+1:n.rowUpdatePos=n.rowStart,n.rowUpdateDirection=o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",n.table.scenegraph.updateNextFrame(),await n.progress()}}function CM(t,e,i){if(t.childrenCount>=1)if("up"===e){const e=t.firstChild;i.updateCellGroupPosition(e,t.lastChild.row+1,t.lastChild.attribute.y+i.table.getRowHeight(t.lastChild.row)),t.appendChild(e)}else{const e=t.lastChild;i.updateCellGroupPosition(e,t.firstChild.row-1,t.firstChild.attribute.y-i.table.getRowHeight(e.row)),t.insertBefore(e,t.firstChild)}}function wM(t,e,i,r=!1){for(let r=0;r<i.table.frozenColCount;r++)for(let o=t;o<=e;o++){const t=i.highPerformanceGetCell(r,o,!0);i.updateCellGroupContent(t)}for(let r=i.table.colCount-i.table.rightFrozenColCount;r<i.table.colCount;r++)for(let o=t;o<=e;o++){const t=i.highPerformanceGetCell(r,o);i.updateCellGroupContent(t)}let o=i.bodyLeftCol,n=i.bodyRightCol,s=!0;if(r){const t=i.screenLeftCol;o=Math.max(i.bodyLeftCol,t-1*i.screenColCount),n=Math.min(i.bodyRightCol,t+2*i.screenColCount),o===i.bodyLeftCol&&n===i.bodyRightCol||(s=!1)}for(let r=o;r<=n;r++)for(let o=t;o<=e;o++){const t=i.highPerformanceGetCell(r,o);i.updateCellGroupContent(t)}return vM(i.table.scenegraph.rowHeaderGroup),vM(i.table.scenegraph.rightFrozenGroup),vM(i.table.scenegraph.bodyGroup),i.table.scenegraph.updateNextFrame(),s}function vM(t){const e=oM(t);if(!e)return;const i=oM(e);if(i&&(t.setAttribute("height",i.attribute.y+i.attribute.height),t.border)){const e=t.border;e.setAttribute("height",i.attribute.y+i.attribute.height-(e.attribute.borderTop??0)/2-(e.attribute.borderBottom??0)/2)}}function xM(t){const{changedCells:e}=t.internalProps.stick;e.forEach((e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((t=>{t.setAttributes({dx:e.dx,dy:e.dy})}))})),e.clear();const{scrollTop:i,scrollLeft:r,frozenRowCount:o,frozenColCount:n}=t,s=t.getFrozenRowsHeight(),a=t.getFrozenColsWidth(),{row:l}=t.getRowAt(i+s+1),{col:h}=t.getColAt(r+a+1),c=Math.max(l,t.frozenRowCount),d=Math.max(h,t.frozenColCount),u=t.getAllRowsHeight()>t.tableNoFrameHeight?t.getRowAt(i+t.tableNoFrameHeight-t.getBottomFrozenRowsHeight()-1).row:t.rowCount-t.bottomFrozenRowCount-1,g=t.getAllColsWidth()>t.tableNoFrameWidth?t.getColAt(r+t.tableNoFrameWidth-t.getRightFrozenColsWidth()-1).col:t.colCount-t.rightFrozenColCount-1;if(!(g<0||u<0)){for(let i=0;i<o&&!(g<d);i++)[d,g].forEach((r=>{const o=t._getCellStyle(r,i);if(o?.textStick&&"vertical"!==o?.textStick){AM(t.scenegraph.getCell(r,i),a+t.tableX,t.tableNoFrameWidth-t.getRightFrozenColsWidth()+t.tableX,e,o?.textStickBaseOnAlign,t)}}));for(let i=0;i<n&&!(u<c);i++)[c,u].forEach((r=>{const o=t._getCellStyle(i,r);if(o?.textStick&&"horizontal"!==o?.textStick){_M(t.scenegraph.getCell(i,r),s+t.tableY,t.tableNoFrameHeight-t.getBottomFrozenRowsHeight()+t.tableY,e,o?.textStickBaseOnAlign,t)}}));for(let i=d;i<=g&&!(u<c);i++)[c,u].forEach((r=>{const o=t._getCellStyle(i,r);if(o?.textStick&&"horizontal"!==o?.textStick){_M(t.scenegraph.getCell(i,r),s+t.tableY,t.tableNoFrameHeight-t.getBottomFrozenRowsHeight()+t.tableY,e,o?.textStickBaseOnAlign,t)}}));for(let i=c;i<=u&&!(g<d);i++)[d,g].forEach((r=>{const o=t._getCellStyle(r,i);if(o?.textStick&&"vertical"!==o?.textStick){AM(t.scenegraph.getCell(r,i),a+t.tableX,t.tableNoFrameWidth-t.getRightFrozenColsWidth()+t.tableX,e,o?.textStickBaseOnAlign,t)}}))}}function _M(t,e,i,r,o,n){if(at(t.mergeStartCol)&&at(t.mergeStartRow)&&at(t.mergeEndCol)&&at(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=ET(t,n.scenegraph);for(let t=s;t<=a;t++)for(let s=l;s<=h;s++){const a=n.scenegraph.getCell(t,s);"cell"===a.role&&SM(a,e,i,r,o)}}else SM(t,e,i,r,o)}function SM(t,e,i,r,o){const n=t.getChildByName("text",!0)||t.getChildByName("image",!0);if(!n)return;if("image"===n.type){const{image:t}=n.attribute;if(!t||!n.resources)return;if("success"!==n.resources.get(t).state)return}const s=n.textBaseline??"top";n.AABBBounds.width();const a=n.globalAABBBounds.y1,l=n.globalAABBBounds.y2;if("middle"===s&&o){const o=t.globalAABBBounds.y1+(t.firstChild?.attribute.dy??0),s=o+(t.contentHeight??t.attribute.height??0);if(o<e||s>i){const a=Math.max(o,e),l=Math.min(s,i),h=n.globalTransMatrix.f-(l+a)/2+n.AABBBounds.height()/2;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dy",(t.attribute.dy??0)-h+2)}))}}else if(a<e){const i=a-e;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dy",(t.attribute.dy??0)-i+2)}))}else if(l>i){const e=l-i;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dy",(t.attribute.dy??0)-e)}))}}function AM(t,e,i,r,o,n){if(at(t.mergeStartCol)&&at(t.mergeStartRow)&&at(t.mergeEndCol)&&at(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=ET(t,n.scenegraph);for(let t=s;t<=a;t++)for(let s=l;s<=h;s++){const a=n.scenegraph.getCell(t,s);"cell"===a.role&&RM(a,e,i,r,o)}}else RM(t,e,i,r,o)}function RM(t,e,i,r,o){const n=t.getChildByName("text",!0)||t.getChildByName("image",!0);if(!n)return;if("image"===n.type){const{image:t}=n.attribute;if(!t||!n.resources)return;if("success"!==n.resources.get(t).state)return}const s=n.attribute.textAlign??n.textAlign??"left";n.AABBBounds.width();const a=n.globalAABBBounds.x1,l=n.globalAABBBounds.x2;if("center"===s&&o){const o=t.globalAABBBounds.x1+(t.firstChild?.attribute.dx??0),s=o+(t.contentWidth??t.attribute.width??0);if(o<e||s>i){const a=Math.max(o,e),l=Math.min(s,i),h=n.globalTransMatrix.e-(l+a)/2;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dx",(t.attribute.dx??0)-h+2)}))}}else if(a<e){const i=a-e;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dx",(t.attribute.dx??0)-i+2)}))}else if(l>i){const e=l-i;!r.has(`${t.col}-${t.row}`)&&r.set(`${t.col}-${t.row}`,{col:t.col,row:t.row,dx:t.firstChild?.attribute.dx??0,dy:t.firstChild?.attribute.dy??0}),t.forEachChildren((t=>{t.setAttribute("dx",(t.attribute.dx??0)-e)}))}}function TM(t){const e=t.internalProps.layoutMap.headerObjects,i=t.internalProps.layoutMap.columnObjects;for(let t=0;t<e.length;t++){const i=e[t];if(i&&i.style?.textStick)return!0}for(let t=0;t<i.length;t++){const e=i[t];if(e&&e.style?.textStick)return!0}return!!(t.theme.headerStyle.textStick||t.theme.rowHeaderStyle.textStick||t.theme.bodyStyle.textStick)}ZB.role="empty";class BM{table;isRelease=!1;mode="column";isProgressing;rowLimit=200;currentRow=0;totalRow;yLimitTop;yLimitBottom;rowStart=0;rowEnd=0;referenceRow=0;bodyBottomRow;screenRowCount;firstScreenRowLimit;taskRowCount;rowUpdatePos;rowUpdateDirection;screenTopRow=0;totalActualBodyRowCount;deltaY=0;deltaHeight=0;colLimit=100;bodyRightCol;totalCol;colStart;colEnd;taskColCount;xLimitLeft;xLimitRight;screenColCount;firstScreenColLimit;colUpdatePos;currentCol;referenceCol;screenLeftCol=0;colUpdateDirection;totalActualBodyColCount;deltaX=0;deltaWidth=0;cellCache=new Map;constructor(t){this.table=t,this.table.isPivotChart()?(this.rowLimit=Math.max(100,Math.ceil(2*t.tableNoFrameHeight/t.defaultRowHeight)),this.colLimit=Math.max(100,Math.ceil(2*t.tableNoFrameWidth/t.defaultColWidth))):this.table.isAutoRowHeight()?this.rowLimit=Math.max(100,Math.ceil(2*t.tableNoFrameHeight/t.defaultRowHeight)):("autoWidth"===this.table.widthMode||(this.rowLimit=Math.max(200,Math.ceil(2*t.tableNoFrameHeight/t.defaultRowHeight))),this.colLimit=Math.max(100,Math.ceil(2*t.tableNoFrameWidth/t.defaultColWidth))),this.table.internalProps.transpose?this.mode="row":this.table.isPivotTable()&&(this.mode="pivot"),this.table.options.maintainedDataCount&&(this.rowLimit=this.table.options.maintainedDataCount)}get bodyLeftCol(){return this.table.frozenColCount}get bodyTopRow(){return this.table.frozenRowCount}setParamsForColumn(){this.bodyRightCol=this.table.colCount-1-this.table.rightFrozenColCount;const t=Math.min(this.colLimit,this.bodyRightCol-this.bodyLeftCol+1);this.totalActualBodyColCount=t,this.totalCol=this.bodyLeftCol+t-1,this.colStart=this.bodyLeftCol,this.colEnd=this.totalCol;const e=this.table.defaultColWidth;this.taskColCount=1*Math.ceil(this.table.tableNoFrameWidth/e);const i=e*t,r=e*(this.bodyRightCol-this.bodyLeftCol+1);this.xLimitLeft=i/2,this.xLimitRight=r-i/2;const o=5*this.table.tableNoFrameWidth;this.screenColCount=Math.ceil(this.table.tableNoFrameWidth/e),this.firstScreenColLimit=Math.max(15,this.bodyLeftCol+Math.min(this.colLimit,Math.ceil(o/e))),this.colUpdatePos=this.bodyRightCol}setParamsForRow(){this.bodyBottomRow=this.table.rowCount-1-this.table.bottomFrozenRowCount;const t=Math.min(this.rowLimit,this.bodyBottomRow-this.bodyTopRow+1);this.totalActualBodyRowCount=t,this.totalRow=this.bodyTopRow+t-1,this.rowStart=this.bodyTopRow,this.rowEnd=this.totalRow;const e=this.table.defaultRowHeight;this.taskRowCount=1*Math.ceil(this.table.tableNoFrameHeight/e);const i=e*t,r=e*(this.bodyBottomRow-this.bodyTopRow+1);this.yLimitTop=i/2,this.yLimitBottom=r-i/2;const o=5*this.table.tableNoFrameHeight;this.screenRowCount=Math.ceil(this.table.tableNoFrameHeight/e),this.firstScreenRowLimit=Math.max(30,this.bodyTopRow+Math.min(this.rowLimit,Math.ceil(o/e))),this.rowUpdatePos=this.bodyBottomRow}refreshRowCount(){this.bodyBottomRow=this.table.rowCount-1-this.table.bottomFrozenRowCount;const t=Math.min(this.rowLimit,this.bodyBottomRow-this.bodyTopRow+1);this.totalActualBodyRowCount=t,this.totalRow=this.rowStart+t-1}refreshColCount(){this.bodyRightCol=this.table.colCount-1-this.table.rightFrozenColCount;const t=Math.min(this.colLimit,this.bodyRightCol-this.bodyLeftCol+1);this.totalActualBodyColCount=t,this.totalCol=this.bodyLeftCol+t-1,this.colStart=this.bodyLeftCol,this.colEnd=this.totalCol}resize(){const t=this.table.defaultColWidth;this.taskColCount=1*Math.ceil(this.table.tableNoFrameWidth/t);const e=5*this.table.tableNoFrameWidth;this.screenColCount=Math.ceil(this.table.tableNoFrameWidth/t),this.firstScreenColLimit=this.bodyLeftCol+Math.min(this.colLimit,Math.ceil(e/t));const i=this.table.defaultRowHeight;this.taskRowCount=1*Math.ceil(this.table.tableNoFrameHeight/i);const r=5*this.table.tableNoFrameHeight;this.screenRowCount=Math.ceil(this.table.tableNoFrameHeight/i),this.firstScreenRowLimit=this.bodyTopRow+Math.min(this.rowLimit,Math.ceil(r/i))}createGroupForFirstScreen(t,e,i,r,o,n,s,a){!function(t,e,i,r,o,n,s,a,l){const{table:h}=l,{leftBottomCornerGroup:c,rightTopCornerGroup:d,rightBottomCornerGroup:u}=h.scenegraph;let g,p,f,m;l.setParamsForRow(),l.setParamsForColumn(),"adaptive"===h.widthMode||h.options.autoWrapText&&("adaptive"===h.heightMode||h.isAutoRowHeight())?(f=h.colCount-1,g=Math.min(l.firstScreenColLimit-1,h.colCount-1)):g=Math.min(l.firstScreenColLimit-1,h.colCount-1),"adaptive"===h.heightMode?(m=h.rowCount-1,p=Math.min(l.firstScreenRowLimit-1,h.rowCount-1)):p=Math.min(l.firstScreenRowLimit-1,h.rowCount-1),0===h.internalProps._widthResizedColMap.size&&jB(h,0,f??g),0===h.internalProps._heightResizedRowMap.size&&TT(h,0,"auto"===h.options.canvasHeight?h.rowCount-1:m??p),g<h.colCount-h.rightFrozenColCount&&jB(h,h.colCount-h.rightFrozenColCount,h.colCount-1),p<h.rowCount-h.bottomFrozenRowCount&&TT(h,h.rowCount-h.bottomFrozenRowCount,h.rowCount-1),h.scenegraph.colHeaderGroup.setAttribute("x",h.getFrozenColsWidth()),h.scenegraph.rowHeaderGroup.setAttribute("y",h.getFrozenRowsHeight()),h.scenegraph.bottomFrozenGroup.setAttribute("x",h.getFrozenColsWidth()),h.scenegraph.rightFrozenGroup.setAttribute("y",h.getFrozenRowsHeight()),h.scenegraph.bodyGroup.setAttributes({x:h.getFrozenColsWidth(),y:h.getFrozenRowsHeight()}),iM(t,s,a,0,h.frozenColCount-1,0,h.frozenRowCount-1,h.isListTable()?"columnHeader":"cornerHeader",h),g-h.rightFrozenColCount>=h.frozenColCount&&iM(e,s,a,h.frozenColCount,g-h.rightFrozenColCount,0,h.frozenRowCount-1,"columnHeader",h),h.frozenColCount>0&&(h.leftRowSeriesNumberCount>0&&iM(i,s,a,0,h.leftRowSeriesNumberCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,"rowHeader",h),h.frozenColCount>h.leftRowSeriesNumberCount&&iM(i,s,a,h.leftRowSeriesNumberCount,Math.min(h.frozenColCount-1,h.rowHeaderLevelCount+h.leftRowSeriesNumberCount-1),h.frozenRowCount,p-h.bottomFrozenRowCount,"rowHeader",h),h.frozenColCount>h.rowHeaderLevelCount+h.leftRowSeriesNumberCount&&iM(i,s,a,h.rowHeaderLevelCount+h.leftRowSeriesNumberCount,h.frozenColCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,"body",h)),h.bottomFrozenRowCount>0&&(h.frozenColCount>0&&(h.leftRowSeriesNumberCount>0&&iM(c,s,a,0,h.leftRowSeriesNumberCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"rowHeader",h),h.rowHeaderLevelCount>0&&iM(c,s,a,h.leftRowSeriesNumberCount,h.leftRowSeriesNumberCount+h.rowHeaderLevelCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"rowHeader",h),h.frozenColCount>h.rowHeaderLevelCount+h.leftRowSeriesNumberCount&&iM(c,s,a,h.rowHeaderLevelCount+h.leftRowSeriesNumberCount,h.frozenColCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"body",h)),g-h.rightFrozenColCount>=h.frozenColCount&&iM(o,s,a,h.frozenColCount,g-h.rightFrozenColCount,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,h.isPivotChart()?"rowHeader":"body",h)),h.rightFrozenColCount>0&&(iM(d,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,0,h.frozenRowCount-1,"columnHeader",h),iM(r,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,h.isPivotChart()?"rowHeader":"body",h)),h.bottomFrozenRowCount>0&&h.rightFrozenColCount>0&&iM(u,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"body",h),g-h.rightFrozenColCount>=h.frozenColCount&&iM(n,s,a,h.frozenColCount,g-h.rightFrozenColCount,h.frozenRowCount,p-h.bottomFrozenRowCount,"body",h),n.firstChild||e.firstChild||t.firstChild||i.firstChild?(l.currentRow=n.firstChild?.rowNumber??i.firstChild?.rowNumber??l.totalRow,l.rowEnd=l.currentRow,l.rowUpdatePos=l.rowEnd+1,l.referenceRow=l.rowStart+Math.floor((l.rowEnd-l.rowStart)/2),l.currentCol=n.lastChild?.col??e.lastChild?.col??i.lastChild?.col??t.lastChild?.col??l.totalCol,l.colEnd=l.currentCol,l.colUpdatePos=l.colEnd+1,l.referenceCol=l.colStart+Math.floor((l.colEnd-l.colStart)/2),l.progress()):(l.currentRow=l.totalRow,l.rowEnd=l.currentRow,l.rowUpdatePos=l.rowEnd+1,l.referenceRow=l.rowStart+Math.floor((l.rowEnd-l.rowStart)/2),l.currentCol=l.totalCol,l.colEnd=l.currentCol,l.colUpdatePos=l.colEnd+1,l.referenceCol=l.colStart+Math.floor((l.colEnd-l.colStart)/2))}(t,e,i,r,o,n,s,a,this)}async progress(){if(!this.isProgressing)return this.isProgressing=!0,new Promise(((t,e)=>{setTimeout((async()=>{this.isProgressing=!1,this.isRelease||(this.colUpdatePos<=this.colEnd?(await this.updateColCellGroupsAsync(),await this.progress()):this.rowUpdatePos<=this.rowEnd?(await this.updateRowCellGroupsAsync(),await this.progress()):this.currentCol<this.totalCol?(await this.createCol(),await this.progress()):this.currentRow<this.totalRow&&(await this.createRow(),await this.progress()),xM(this.table),this.table.scenegraph.updateNextFrame(),t())}),16)}))}async createRow(){this.taskRowCount&&this.createRowCellGroup(this.taskRowCount)}async createCol(){this.taskColCount&&this.createColGroup(this.taskRowCount)}createRowCellGroup(t){const e=Math.min(this.totalRow,this.currentRow+t);if(TT(this.table,this.currentRow+1,e,!1),this.rowEnd=e,this.table.frozenColCount){let t=0;for(let i=0;i<this.table.frozenColCount;i++){const r=this.table.scenegraph.getColGroup(i);this.table.isListTable();const{height:o}=JB(r,i,r.attribute.width,this.currentRow+1,e,this.table.scenegraph.mergeMap,this.table.defaultRowHeight,this.table);t=Math.max(t,o),this.table.scenegraph.rowHeaderGroup.setAttribute("height",t)}}if(this.table.rightFrozenColCount){let t=0;for(let i=this.table.colCount-this.table.rightFrozenColCount;i<this.table.colCount;i++){const r=this.table.scenegraph.getColGroup(i);this.table.isPivotChart();const{height:o}=JB(r,i,r.attribute.width,this.currentRow+1,e,this.table.scenegraph.mergeMap,this.table.defaultRowHeight,this.table);t=Math.max(t,o),this.table.scenegraph.rightFrozenGroup.setAttribute("height",t)}}let i=0;for(let t=this.bodyLeftCol;t<=this.bodyRightCol;t++){const r=this.table.scenegraph.getColGroup(t);if(!r)continue;this.table.rowHeaderLevelCount;const{height:o}=JB(r,t,r.attribute.width,this.currentRow+1,e,this.table.scenegraph.mergeMap,this.table.defaultRowHeight,this.table);i=Math.max(i,o)}this.table.scenegraph.bodyGroup.setAttribute("height",i),this.currentRow=e,this.rowUpdatePos=this.rowEnd,this.table.scenegraph.updateContainer(),this.table.scenegraph.updateBorderSizeAndPosition()}createColGroup(t){const e=Math.min(this.totalCol,this.currentCol+t);jB(this.table,this.currentCol+1,e),this.colEnd=e;for(let t=0;t<this.table.rowCount;t++){const e=this.highPerformanceGetCell(this.currentCol,t);"cell"===e.role&&at(e.mergeStartCol)&&e.mergeStartCol>this.currentCol&&this.table.scenegraph.updateCellContent(e.col,e.row)}if(this.table.frozenRowCount){const t=this.table.scenegraph.colHeaderGroup.lastChild instanceof LR?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;iM(this.table.scenegraph.colHeaderGroup,i,r,this.currentCol+1,e,0,this.table.frozenRowCount-1,"columnHeader",this.table)}if(this.table.bottomFrozenRowCount){const t=this.table.scenegraph.bottomFrozenGroup.lastChild instanceof LR?this.table.scenegraph.bottomFrozenGroup.lastChild:this.table.scenegraph.bottomFrozenGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;iM(this.table.scenegraph.bottomFrozenGroup,i,r,this.currentCol+1,e,this.table.rowCount-this.table.bottomFrozenRowCount,this.table.rowCount-1,"columnHeader",this.table)}let i=this.table.scenegraph.bodyGroup.lastChild&&(this.table.scenegraph.bodyGroup.lastChild instanceof LR?this.table.scenegraph.bodyGroup.lastChild:this.table.scenegraph.bodyGroup.lastChild._prev);i||(i=this.table.scenegraph.colHeaderGroup.lastChild&&(this.table.scenegraph.colHeaderGroup.lastChild instanceof LR?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev));const r=i.attribute.x+i.attribute.width,o=i.attribute.y;iM(this.table.scenegraph.bodyGroup,r,o,this.currentCol+1,e,this.rowStart,this.rowEnd,"body",this.table),this.currentCol=e,this.colUpdatePos=this.colEnd,this.table.scenegraph.updateContainer(),this.table.scenegraph.updateBorderSizeAndPosition()}async setY(t,e=!1){const i=this.table.getRowsHeight(this.bodyTopRow,this.bodyTopRow+(this.rowEnd-this.rowStart+1))/2,r=this.table.getAllRowsHeight()-i,o=this.table.getTargetRowAt(t+this.table.scenegraph.colHeaderGroup.attribute.height);o&&(this.screenTopRow=o.row),t<i&&this.rowStart===this.bodyTopRow||t>r&&this.rowEnd===this.bodyBottomRow?(this.updateDeltaY(t),this.updateBody(t-this.deltaY)):this.table.scenegraph.bodyGroup.firstChild&&"group"===this.table.scenegraph.bodyGroup.firstChild.type&&0!==this.table.scenegraph.bodyGroup.firstChild.childrenCount||this.table.scenegraph.rowHeaderGroup.firstChild&&"group"===this.table.scenegraph.rowHeaderGroup.firstChild.type&&0!==this.table.scenegraph.rowHeaderGroup.firstChild.childrenCount?this.dynamicSetY(t,o,e):(this.updateDeltaY(t),this.updateBody(t-this.deltaY))}async setX(t,e=!1){const i=this.table.getColsWidth(this.bodyLeftCol,this.bodyLeftCol+(this.colEnd-this.colStart+1))/2,r=this.table.getAllColsWidth()-i,o=this.table.getTargetColAt(t+this.table.scenegraph.rowHeaderGroup.attribute.width);o&&(this.screenLeftCol=o.col),t<i&&this.colStart===this.bodyLeftCol||t>r&&this.colEnd===this.bodyRightCol||this.table.scenegraph.bodyGroup.firstChild&&"group"===this.table.scenegraph.bodyGroup.firstChild.type&&0===this.table.scenegraph.bodyGroup.firstChild.childrenCount?(this.updateDeltaX(t),this.table.scenegraph.setBodyAndColHeaderX(-t+this.deltaX)):this.dynamicSetX(t,o,e)}async dynamicSetY(t,e,i=!1){bM(t,e,i,this)}async dynamicSetX(t,e,i=!1){aM(t,e,i,this)}updateBody(t){this.table.scenegraph.setBodyAndRowHeaderY(-t)}async updateRowCellGroupsAsync(){this.updateCellGroups(this.taskRowCount)}updateCellGroups(t){const e=Math.min(this.bodyBottomRow,this.rowUpdatePos+t);this.table.isAutoRowHeight()&&TT(this.table,this.rowUpdatePos,e,!1),wM(this.rowUpdatePos,e,this),this.table.isAutoRowHeight()&&(fM(this.bodyLeftCol,this.bodyRightCol,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),fM(0,this.table.frozenColCount-1,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),fM(this.table.colCount-this.table.rightFrozenColCount,this.table.colCount-1,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0)),this.rowUpdatePos=e+1}updateBottomFrozenCellGroups(){const t=this.table.rowCount-this.table.bottomFrozenRowCount,e=this.table.rowCount-1;this.table.isAutoRowHeight()&&TT(this.table,t,e,!1),wM(t,e,this),this.table.isAutoRowHeight()&&(fM(this.bodyLeftCol,this.bodyRightCol,t,e,this.table,this.rowUpdateDirection),fM(0,this.table.frozenColCount-1,t,e,this.table,this.rowUpdateDirection),fM(this.table.colCount-this.table.rightFrozenColCount,this.table.colCount-1,t,e,this.table,this.rowUpdateDirection))}updateRightFrozenCellGroups(){const t=this.table.colCount-this.table.rightFrozenColCount,e=this.table.colCount-1;"autoWidth"===this.table.widthMode&&jB(this.table,t,e,!1),gM(t,e,this),this.table.isAutoRowHeight()&&nM(t,e,this.table,this.colUpdateDirection)}async updateColCellGroupsAsync(){this.updateColGroups(this.taskRowCount)}updateColGroups(t){const e=Math.min(this.bodyRightCol,this.colUpdatePos+t);jB(this.table,this.colUpdatePos,e),gM(this.colUpdatePos,e,this),this.colUpdatePos=e+1}updateCellGroupPosition(t,e,i){t.row=e,t.mergeStartCol=void 0,t.mergeStartRow=void 0,t.mergeEndCol=void 0,t.mergeEndRow=void 0,t.setAttribute("y",i),t.needUpdate=!0,t.needUpdateForAutoRowHeight=!0}updateCellGroupContent(t){if(!t.needUpdate||"cell"!==t.role)return t;const e=this.table.scenegraph.updateCellContent(t.col,t.row);return t.needUpdate=!1,e||t}async sortCellVertical(){await async function(t){let e,i;t.table.scenegraph.bodyGroup.forEachChildren(((t,e)=>{"group"===t.type&&(t.needUpdate=!0,t?.forEachChildren((t=>{t.needUpdate=!0})))})),t.table.isAutoRowHeight()?(e=t.rowStart,i=t.rowEnd):(e=Math.max(t.bodyTopRow,t.screenTopRow-1*t.screenRowCount),i=Math.min(t.bodyBottomRow,t.screenTopRow+2*t.screenRowCount,t.table.rowCount-1));const r=t.table.getAllRowsHeight();TT(t.table,e,i);const o=t.table.getAllRowsHeight();r!==o&&t.table.scenegraph.updateContainerHeight(t.table.frozenRowCount,o-r);for(let e=0;e<t.table.frozenColCount;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.rowStart;i<=t.rowEnd;i++)t.table.scenegraph.updateCellContent(e,i);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}for(let e=t.colStart;e<=t.colEnd;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}for(let e=t.table.colCount-t.table.rightFrozenColCount;e<t.table.colCount;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.rowStart;i<=t.rowEnd;i++)t.table.scenegraph.updateCellContent(e,i);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}wM(e,i,t),t.table.isAutoRowHeight()&&fM(t.bodyLeftCol,t.bodyRightCol,e,i,t.table,t.rowEnd>t.bodyBottomRow-(t.rowEnd-t.rowStart+1)?"down":"up"),t.rowUpdatePos=t.rowStart,t.rowUpdateDirection=t.rowEnd>t.bodyBottomRow-(t.rowEnd-t.rowStart+1)?"down":"up",t.table.scenegraph.updateNextFrame(),t.table.isAutoRowHeight()||await t.progress()}(this)}async sortCellHorizontal(){await async function(t){t.table.scenegraph.bodyGroup.forEachChildren(((t,e)=>{"group"===t.type&&(t.needUpdate=!0,t?.forEachChildren((t=>{t.needUpdate=!0})))}));const e=Math.max(t.bodyLeftCol,t.screenLeftCol-1*t.screenColCount),i=Math.min(t.bodyRightCol,t.screenLeftCol+2*t.screenColCount);jB(t.table,e,i);for(let e=t.colStart;e<=t.colEnd;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}for(let e=t.table.colCount-t.table.rightFrozenColCount;e<t.table.colCount;e++){const i=t.table.scenegraph.getColGroup(e);i?.setAttribute("chartInstance",void 0);for(let i=t.rowStart;i<=t.rowEnd;i++)t.table.scenegraph.updateCellContent(e,i);for(let i=t.table.rowCount-t.table.bottomFrozenRowCount;i<t.table.rowCount;i++)t.table.scenegraph.updateCellContent(e,i)}gM(e,i,t),t.colUpdatePos=t.colStart,t.colUpdateDirection=t.colEnd>t.bodyRightCol-(t.colEnd-t.colStart+1)?"right":"left",t.table.scenegraph.updateNextFrame(),await t.progress()}(this)}highPerformanceGetCell(t,e,i){if(e>=this.table.frozenRowCount&&e<this.table.rowCount-this.table.bottomFrozenRowCount&&(e<this.rowStart||e>this.rowEnd))return ZB;if(t>=this.table.frozenColCount&&t<this.table.colCount-this.table.rightFrozenColCount&&(t<this.colStart||t>this.colEnd))return ZB;if(this.cellCache.get(t)){const r=this.cellCache.get(t);if((r._next||r._prev)&&Math.abs(r.row-e)<e){let o=MM(r,e);return o&&(i||"shadow-cell"!==o.role)||(o=this.table.scenegraph.getCell(t,e,i)),o.row&&this.cellCache.set(t,o),o}const o=this.table.scenegraph.getCell(t,e,i);return o.col===t&&o.row&&this.cellCache.set(t,o),o}const r=this.table.scenegraph.getCell(t,e,i);return r.col===t&&r.row&&this.cellCache.set(t,r),r}updateDeltaY(t,e,i){if(this.rowStart===this.bodyTopRow){const t=this.table.scenegraph.highPerformanceGetCell(this.colStart,this.rowStart,!0);if("cell"===t.role){const e=t.attribute.y;this.deltaY=-e}}else if(this.rowEnd===this.bodyBottomRow){const t=this.table.scenegraph.highPerformanceGetCell(this.colStart,this.rowEnd,!0);if("cell"===t.role){const e=t.attribute.y+t.attribute.height-(this.table.getAllRowsHeight()-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight());this.deltaY=-e}}else if(J(e)&&J(i)){let r=this.table.scenegraph.highPerformanceGetCell(this.colStart,i,!0);"cell"!==r.role&&(r=this.table.scenegraph.highPerformanceGetCell(0,i,!0));const o=t-this.deltaY,n=e-o,s=r.attribute.y-o+this.table.getFrozenRowsHeight();this.deltaY=n-s}}updateDeltaX(t,e,i){if(this.colStart===this.bodyLeftCol){const t=this.table.scenegraph.getColGroup(this.colStart);if(t){const e=t.attribute.x;this.deltaX=-e}}else if(this.colEnd===this.bodyRightCol){const t=this.table.scenegraph.getColGroup(this.colEnd);if(t){const e=t.attribute.x+t.attribute.width-(this.table.getAllColsWidth()-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth());this.deltaX=-e}}else if(J(e)&&J(i)){const r=this.table.scenegraph.getColGroup(i)||this.table.scenegraph.getColGroup(i,!0),o=t-this.deltaX,n=e-o,s=r.attribute.x-o+this.table.getFrozenColsWidth();this.deltaX=n-s}}release(){this.isRelease=!0}}function MM(t,e){if(!t)return null;if(t.row===e)return t;const i=t._prev,r=t._next;return t.row>e&&i&&i.row===t.row-1?MM(i,e):t.row<e&&r&&r.row===t.row+1?MM(r,e):null}function PM(t){t.customSelectedRangeComponents.forEach(((e,i)=>{HM(e,i,t)})),t.selectingRangeComponents.forEach(((e,i)=>{HM(e,i,t)})),t.selectedRangeComponents.forEach(((e,i)=>{HM(e,i,t)}))}function HM(t,e,i){const r=i.table,[o,n,s,a]=e.split("-"),l=parseInt(o,10),h=parseInt(n,10),c=parseInt(s,10),d=parseInt(a,10);let u,g=l,p=h,f=c,m=d;switch(t.role){case"rowHeader":u=r.getBodyVisibleRowRange(),u&&(p=Math.max(h,u.rowStart-1),m=Math.min(d,u.rowEnd+1));break;case"columnHeader":case"bottomFrozen":u=r.getBodyVisibleCellRange(),u&&(g=Math.max(l,u.colStart-1),f=Math.min(c,u.colEnd+1));break;case"cornerHeader":case"rightTopCorner":case"leftBottomCorner":case"rightBottomCorner":break;case"rightFrozen":u=r.getBodyVisibleCellRange(),u&&(p=Math.max(h,u.rowStart-1),m=Math.min(d,u.rowEnd+1));break;default:u=r.getBodyVisibleCellRange(),u&&(p=Math.max(h,u.rowStart-1),m=Math.min(d,u.rowEnd+1),g=Math.max(l,u.colStart-1),f=Math.min(c,u.colEnd+1))}const b=r.getColsWidth(g,f),y=r.getRowsHeight(p,m),C=i.highPerformanceGetCell(g,p).globalAABBBounds,w=i.highPerformanceGetCell(f,m).globalAABBBounds;t.rect.setAttributes({x:C.x1-i.tableGroup.attribute.x,y:C.y1-i.tableGroup.attribute.y,width:b,height:y,visible:!0}),t.fillhandle&&t.fillhandle?.setAttributes({x:w.x2-i.tableGroup.attribute.x-3,y:w.y2-i.tableGroup.attribute.y-3,width:6,height:6,visible:!0});let v=!!r.frozenColCount&&l===r.frozenColCount;if(!v&&r.frozenColCount&&r.scrollLeft>0&&l>=r.frozenColCount){r.getColsWidth(0,l-1)-r.scrollLeft<r.getFrozenColsWidth()&&(v=!0)}let x=!!r.rightFrozenColCount&&(r.rightFrozenColCount>0&&c===r.colCount-r.rightFrozenColCount-1);if(!x&&r.rightFrozenColCount&&c<r.colCount-r.rightFrozenColCount){r.getColsWidth(0,c)-r.scrollLeft>r.tableNoFrameWidth-r.getRightFrozenColsWidth()&&(x=!0)}let _=!r.frozenRowCount||h===r.frozenRowCount;if(!_&&r.frozenRowCount&&r.scrollTop>0&&h>=r.frozenRowCount){r.getRowsHeight(0,h-1)-r.scrollTop<r.getFrozenRowsHeight()&&(_=!0)}let S=!!r.bottomFrozenRowCount&&d===r.rowCount-r.bottomFrozenRowCount-1;if(!S&&r.bottomFrozenRowCount&&d<r.rowCount-r.bottomFrozenRowCount){r.getRowsHeight(0,d)-r.scrollTop>r.tableNoFrameHeight-r.getBottomFrozenRowsHeight()&&(S=!0)}if(v&&t.rect.attribute.stroke[3]||x&&t.rect.attribute.stroke[1]||_&&t.rect.attribute.stroke[0]||S&&t.rect.attribute.stroke[2]){if(v&&t.rect.attribute.stroke[3]&&i.tableGroup.insertAfter(t.rect,"columnHeader"===t.role?i.cornerHeaderGroup:"bottomFrozen"===t.role?i.leftBottomCornerGroup:i.rowHeaderGroup),S&&t.rect.attribute.stroke[2]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.leftBottomCornerGroup:"rightFrozen"===t.role?i.rightBottomCornerGroup:i.bottomFrozenGroup),_&&t.rect.attribute.stroke[0]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.cornerHeaderGroup:"rightFrozen"===t.role?i.rightTopCornerGroup:i.colHeaderGroup),x&&t.rect.attribute.stroke[1]&&i.tableGroup.insertAfter(t.rect,"columnHeader"===t.role?i.rightTopCornerGroup:"bottomFrozen"===t.role?i.rightBottomCornerGroup:i.rightFrozenGroup),t.rect.attribute.x<r.getFrozenColsWidth()&&r.scrollLeft>0&&("body"===t.role||"columnHeader"===t.role||"bottomFrozen"===t.role)){const e=t.rect.attribute.width-(r.getFrozenColsWidth()-t.rect.attribute.x);t.rect.setAttributes({x:t.rect.attribute.x+(r.getFrozenColsWidth()-t.rect.attribute.x),width:e>0?e:0}),t.fillhandle?.setAttributes({visible:e>0})}if(r.getRightFrozenColsWidth()>0&&i.rightFrozenGroup.attribute.height>0&&t.rect.attribute.x+t.rect.attribute.width>i.rightFrozenGroup.attribute.x&&("body"===t.role||"columnHeader"===t.role||"bottomFrozen"===t.role)){const e=i.rightFrozenGroup.attribute.x-t.rect.attribute.x;t.rect.setAttributes({x:t.rect.attribute.x,width:e>0?e:0}),t.fillhandle?.setAttributes({visible:e-b>0})}if(t.rect.attribute.y<i.colHeaderGroup.attribute.height&&r.scrollTop>0&&("body"===t.role||"rowHeader"===t.role||"rightFrozen"===t.role)){const e=t.rect.attribute.height-(i.colHeaderGroup.attribute.height-t.rect.attribute.y);t.rect.setAttributes({y:t.rect.attribute.y+(i.colHeaderGroup.attribute.height-t.rect.attribute.y),height:e>0?e:0}),t.fillhandle?.setAttributes({visible:e>0})}if(i.bottomFrozenGroup.attribute.width>0&&i.bottomFrozenGroup.attribute.height>0&&t.rect.attribute.y+t.rect.attribute.height>i.bottomFrozenGroup.attribute.y&&("body"===t.role||"rowHeader"===t.role||"rightFrozen"===t.role)){const e=i.bottomFrozenGroup.attribute.y-t.rect.attribute.y;t.rect.setAttributes({y:t.rect.attribute.y,height:e>0?e:0}),t.fillhandle?.setAttributes({visible:e-y>0})}}else i.tableGroup.insertAfter(t.rect,"body"===t.role?i.bodyGroup:"columnHeader"===t.role?i.colHeaderGroup:"rowHeader"===t.role?i.rowHeaderGroup:"cornerHeader"===t.role?i.cornerHeaderGroup:"rightTopCorner"===t.role?i.rightTopCornerGroup:"rightFrozen"===t.role?i.rightFrozenGroup:"leftBottomCorner"===t.role?i.leftBottomCornerGroup:"bottomFrozen"===t.role?i.bottomFrozenGroup:i.rightBottomCornerGroup);let A=0;"number"==typeof t.rect.attribute.lineWidth&&(A=Math.ceil(t.rect.attribute.lineWidth/2)),c===r.colCount-1&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[1]??0)/2)),t.rect.setAttributes({width:t.rect.attribute.width-A})),0===l&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[3]??0)/2)),t.rect.setAttributes({x:t.rect.attribute.x+A,width:t.rect.attribute.width-A})),d===r.rowCount-1&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[2]??0)/2)),t.rect.setAttributes({height:t.rect.attribute.height-A})),0===h&&(Array.isArray(t.rect.attribute.lineWidth)&&(A=Math.ceil((t.rect.attribute.lineWidth[0]??0)/2)),t.rect.setAttributes({y:t.rect.attribute.y+A,height:t.rect.attribute.height-A}))}function kM(t,e,i=!0){const r=t.table,o=e.start.col,n=e.start.row,s=e.end.col,a=e.end.row,l=e.skipBodyMerge;let h=Math.max(Math.min(s,o),0),c=Math.max(Math.min(a,n),0),d=Math.min(Math.max(s,o),r.colCount-1),u=Math.min(Math.max(a,n),r.rowCount-1);const g=()=>{let t=!1;for(let e=h;e<=d;e++){if(e===h)for(let i=c;i<=u;i++){if(!r.isHeader(e,i)&&l)continue;const o=nx(r,e,i);if(o&&o.start.col<h){h=o.start.col,t=!0;break}}if(!t&&e===d)for(let i=c;i<=u;i++){if(!r.isHeader(e,i)&&l)continue;const o=nx(r,e,i);if(o&&Math.min(o.end.col,r.colCount-1)>d){d=o.end.col,t=!0;break}}if(t)break}if(!t)for(let e=c;e<=u;e++){if(e===c)for(let i=h;i<=d;i++){if(!r.isHeader(i,e)&&l)continue;const o=nx(r,i,e);if(o&&o.start.row<c){c=o.start.row,t=!0;break}}if(!t&&e===u)for(let i=h;i<=d;i++){if(!r.isHeader(i,e)&&l)continue;const o=nx(r,i,e);if(o&&Math.min(o.end.row,r.rowCount-1)>u){u=o.end.row,t=!0;break}}if(t)break}t&&g()};i&&g(),t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map;let p=!1,f=!1,m=!1,b=!1,y=!1,C=!1,w=!1,v=!1,x=!1;if(h<=r.frozenColCount-1&&c<=r.frozenRowCount-1&&(C=!0),d>=r.colCount-r.rightFrozenColCount&&c<=r.frozenRowCount-1&&(w=!0),h<=r.frozenColCount-1&&u>=r.rowCount-r.bottomFrozenRowCount&&(x=!0),d>=r.colCount-r.rightFrozenColCount&&u>=r.rowCount-r.bottomFrozenRowCount&&(v=!0),h<=r.frozenColCount-1&&u>=r.frozenRowCount&&c<=r.rowCount-r.bottomFrozenRowCount-1&&(p=!0),d>=r.colCount-r.rightFrozenColCount&&u>=r.frozenRowCount&&c<=r.rowCount-r.bottomFrozenRowCount-1&&(f=!0),c<=r.frozenRowCount-1&&d>=r.frozenColCount&&h<=r.colCount-r.rightFrozenColCount-1&&(m=!0),u>=r.rowCount-r.bottomFrozenRowCount&&d>=r.frozenColCount&&h<=r.colCount-r.rightFrozenColCount-1&&(b=!0),h<=r.colCount-r.rightFrozenColCount-1&&d>=r.frozenColCount&&c<=r.rowCount-r.bottomFrozenRowCount-1&&u>=r.frozenRowCount&&(y=!0),C){const e=Math.min(d,r.frozenColCount-1),i=Math.min(u,r.frozenRowCount-1),o=[!0,!m,!p,!0];t.createCellSelectBorder(h,c,e,i,"cornerHeader",`${h}${c}${d}${u}`,o)}if(w){const e=Math.max(h,r.colCount-r.rightFrozenColCount),i=Math.min(u,r.frozenRowCount-1),o=[!0,!0,!f,!m];t.createCellSelectBorder(e,c,d,i,"rightTopCorner",`${h}${c}${d}${u}`,o)}if(x){const e=Math.min(d,r.frozenColCount-1),i=Math.max(c,r.rowCount-r.bottomFrozenRowCount),o=[!p,!b,!0,!0];t.createCellSelectBorder(h,i,e,u,"leftBottomCorner",`${h}${c}${d}${u}`,o)}if(v){const e=Math.max(h,r.colCount-r.rightFrozenColCount),i=Math.max(c,r.rowCount-r.bottomFrozenRowCount),o=[!f,!0,!0,!b];t.createCellSelectBorder(e,i,d,u,"rightBottomCorner",`${h}${c}${d}${u}`,o)}if(m){const e=Math.max(h,r.frozenColCount),i=Math.min(d,r.colCount-r.rightFrozenColCount-1),o=Math.min(u,r.frozenRowCount-1),n=[!0,!w,!y,!C];t.createCellSelectBorder(e,c,i,o,"columnHeader",`${h}${c}${d}${u}`,n)}if(b){const e=Math.max(h,r.frozenColCount),i=Math.min(d,r.colCount-r.rightFrozenColCount-1),o=Math.max(c,r.rowCount-r.bottomFrozenRowCount),n=[!y,!v,!0,!x];t.createCellSelectBorder(e,o,i,u,"bottomFrozen",`${h}${c}${d}${u}`,n)}if(p){const e=Math.max(c,r.frozenRowCount),i=Math.min(u,r.rowCount-r.bottomFrozenRowCount-1),o=Math.min(d,r.frozenColCount-1),n=[!C,!y,!x,!0];t.createCellSelectBorder(h,e,o,i,"rowHeader",`${h}${c}${d}${u}`,n)}if(f){const e=Math.max(c,r.frozenRowCount),i=Math.min(u,r.rowCount-r.bottomFrozenRowCount-1),o=Math.max(h,r.colCount-r.rightFrozenColCount),n=[!w,!0,!v,!y];t.createCellSelectBorder(o,e,d,i,"rightFrozen",`${h}${c}${d}${u}`,n)}if(y){const e=Math.max(h,r.frozenColCount),i=Math.max(c,r.frozenRowCount),o=Math.min(d,r.colCount-r.rightFrozenColCount-1),n=Math.min(u,r.rowCount-r.bottomFrozenRowCount-1),s=[!m,!f,!b,!p];t.createCellSelectBorder(e,i,o,n,"body",`${h}${c}${d}${u}`,s)}}function LM(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)}))}function EM(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)}))}function FM(t){t.selectingRangeComponents.forEach(((e,i)=>{t.selectedRangeComponents.get(i)&&(t.selectingRangeComponents.get(i).rect.delete(),t.selectingRangeComponents.get(i).fillhandle?.delete()),t.selectedRangeComponents.set(i,e)})),t.selectingRangeComponents=new Map,t.updateNextFrame()}function IM(t){t.selectedRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectedRangeComponents=new Map}function zM(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map}function OM(t,e,i,r,o){const n=r.scenegraph,s=qw(t.map((t=>t.row))).sort(((t,e)=>e-t)),a=qw(e.map((t=>t.row))).sort(((t,e)=>t-e)),l=qw(i.map((t=>t.row))).sort(((t,e)=>t-e));let h;if(l.length){h=GM(l[0]-1,l[l.length-1]+1,n)}if(a.length){const t=GM(a[0]-1,a[a.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}if(s.length){const t=GM(s[0]-1,s[s.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}s.forEach((t=>{!function(t,e,i){const r=e.proxy;t>=r.rowStart&&t<=r.rowEnd&&(WM(t,e),r.rowEnd--,r.currentRow--);if(!i){r.bodyBottomRow--;const t=Math.min(r.rowLimit,r.bodyBottomRow-r.bodyTopRow+1);r.totalActualBodyRowCount=t,r.totalRow=Math.min(r.table.rowCount-1,r.rowStart+t-1)}}(t,n,o)}));const c=r.rowHeightsMap;if(s.forEach((t=>{c.delete(t)})),s.length){!function(t){function e(e,i){e.row=i;const r=nx(t.table,e.col,e.row);r?(e.mergeStartCol=r.start.col,e.mergeEndCol=r.end.col,e.mergeStartRow=r.start.row,e.mergeEndRow=r.end.row):(e.mergeStartCol=void 0,e.mergeEndCol=void 0,e.mergeStartRow=void 0,e.mergeEndRow=void 0)}t.bodyGroup.forEachChildren((i=>{let r=t.bodyRowStart;i?.forEachChildren((t=>{e(t,r),r++}))})),t.rowHeaderGroup.forEachChildren((i=>{let r=t.bodyRowStart;i?.forEachChildren((t=>{e(t,r),r++}))})),t.rightFrozenGroup.forEachChildren((i=>{let r=t.bodyRowStart;i?.forEachChildren((t=>{e(t,r),r++}))})),t.bottomFrozenGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount;i?.forEachChildren((t=>{e(t,r),r++}))})),t.leftBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount;i?.forEachChildren((t=>{e(t,r),r++}))})),t.rightBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount;i?.forEachChildren((t=>{e(t,r),r++}))}))}(n);const t=NM(s[s.length-1]-1,s[0]-s.length+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}let d;if(n.table._clearRowRangeHeightsMap(),a.forEach((t=>{const e=function(t,e,i){const r=e.proxy;if(!i){r.bodyBottomRow++;const t=Math.min(r.rowLimit,r.bodyBottomRow-r.bodyTopRow+1);r.totalActualBodyRowCount=t,r.totalRow=r.rowStart+t-1}if(t<r.rowStart)return;if(t>r.rowEnd)return r.rowEnd-r.rowStart+1<r.rowLimit?(r.rowEnd++,r.currentRow++,DM(t,e),t):void 0;if(r.rowEnd-r.rowStart+1<r.rowLimit)return r.rowEnd++,r.currentRow++,DM(t,e),t;return t}(t,n,o);d=d??e,c.insert(t)})),function(t){function e(e,i,r){e.row=i,e.setAttribute("y",r);const o=nx(t.table,e.col,e.row);o?(e.mergeStartCol=o.start.col,e.mergeEndCol=o.end.col,e.mergeStartRow=o.start.row,e.mergeEndRow=o.end.row):(e.mergeStartCol=void 0,e.mergeEndCol=void 0,e.mergeStartRow=void 0,e.mergeEndRow=void 0)}t.bodyGroup.forEachChildren((i=>{let r=t.bodyRowStart,o=t.getCellGroupY(r);i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.rowHeaderGroup.forEachChildren((i=>{let r=t.bodyRowStart,o=t.getCellGroupY(r);i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.rightFrozenGroup.forEachChildren((i=>{let r=t.bodyRowStart,o=t.getCellGroupY(r);i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.bottomFrozenGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount,o=0;i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.leftBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount,o=0;i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))})),t.rightBottomCornerGroup.forEachChildren((i=>{let r=t.table.rowCount-t.table.bottomFrozenRowCount,o=0;i?.forEachChildren((t=>{e(t,r,o),r++,o+=t.attribute.height}))}))}(n),a.length){const t=NM(a[0]-1,a[a.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}for(let t=0;t<r.colCount;t++)l.forEach((e=>{if(e<r.frozenRowCount){const i=nx(n.table,t,e);if(i)for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)nT(t,e,n.table,!1);else nT(t,e,n.table,!1)}else if(e>r.rowCount-1||e<n.table.rowCount-n.table.bottomFrozenRowCount&&(e<n.proxy.rowStart||e>n.proxy.rowEnd))WM(e,n);else{const i=nx(n.table,t,e);if(i)for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)nT(t,e,n.table,!1);else nT(t,e,n.table,!1)}}));if(l.length){const t=NM(l[0]-1,l[l.length-1]+1,n);h=J(h)?J(t)?Math.min(h,t):h:t}if(at(d)){for(let t=0;t<Math.max(r.colCount,r.internalProps._oldColCount??r.colCount);t++)for(let e=d;e<Math.max(r.rowCount,r.internalProps._oldRowCount??r.rowCount);e++){const i=n.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}h=J(h)?J(d)?Math.min(h,d):h:d}if(at(h)&&(n.proxy.rowUpdatePos=Math.min(n.proxy.rowUpdatePos,h)),a.length){if(!at(d)){const t=Math.min(...a);n.proxy.rowUpdatePos=Math.min(t,n.proxy.rowUpdatePos)}n.proxy.rowUpdateDirection="down",n.proxy.updateCellGroups(2*n.proxy.screenRowCount),g()}else s.length&&(!function(t,e){if(e.table.isHasSeriesNumber())for(let i=t;i<=e.table.rowCount-1;i++)nT(0,i,e.table,!1)}(s[s.length-1],n),n.proxy.updateCellGroups(2*n.proxy.screenRowCount),g());n.proxy.progress();const u=r.getRowsHeight(r.frozenRowCount,r.rowCount-1-r.bottomFrozenRowCount);function g(){if(a?.[a?.length-1]>=r.rowCount-r.bottomFrozenRowCount||l?.[l?.length-1]>=r.rowCount-r.bottomFrozenRowCount||s?.[0]>=r.rowCount-r.bottomFrozenRowCount){for(let t=0;t<r.colCount;t++)for(let e=r.rowCount-r.bottomFrozenRowCount;e<r.rowCount;e++){const i=n.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}n.proxy.updateBottomFrozenCellGroups()}}n.updateContainerHeight(n.table.frozenRowCount,u-n.bodyGroup.attribute.height)}function DM(t,e){for(let i=0;i<e.table.colCount;i++){const r=new LR({x:0,y:0,width:e.table.getColWidth(i),height:e.table.getRowHeight(t)});if(r.role="cell",r.col=i,r.row=t,r.needUpdate=!0,!r)continue;const o=e.getColGroup(i);if(o)if(o.firstChild&&t<o.firstChild.row)o.insertBefore(r,o.firstChild),o.firstChild.row=o.firstChild.row+1;else if(o.lastChild&&t>o.lastChild.row)o.appendChild(r);else{const n=e.highPerformanceGetCell(i,t,!0);n!==r&&(o.insertBefore(r,n),n&&(n.row=n.row+1),n!==o.lastChild&&o.lastChild&&(o.lastChild.row=o.lastChild.row+1))}}}function WM(t,e){for(let i=0;i<e.table.colCount;i++){const r=e.getColGroup(i,!1);if(!r)continue;let o;r.forEachChildren((e=>e.row===t&&(o=e,!0))),o&&(r.updateColumnHeight(-o.attribute.height),r.removeChild(o))}}function NM(t,e,i){let r;for(let o=0;o<i.table.colCount;o++){const n=i.table.getCellRange(o,t);let s;n.start.row<=t+1&&n.end.row>=t+1&&(VM(n,i),s=n.start.row);const a=i.table.getCellRange(o,e);a.start.row<=e+1&&a.end.row>=e+1&&(VM(a,i),s=a.start.row),J(s)&&(r=J(r)?Math.min(r,s):s)}return r}function GM(t,e,i){let r;for(let o=0;o<i.table.colCount;o++){let n;const s=i.highPerformanceGetCell(o,t);s.mergeStartRow&&s.mergeEndRow&&s.mergeEndRow>t&&(VM({start:{row:s.mergeStartRow,col:i.table.isAutoRowHeight()?0:s.mergeStartCol},end:{row:s.mergeEndRow,col:i.table.isAutoRowHeight()?i.table.colCount-1:s.mergeEndCol}},i),n=s.mergeStartRow);const a=i.highPerformanceGetCell(o,e);a.mergeStartRow&&a.mergeEndRow&&a.mergeStartRow<e&&(VM({start:{row:a.mergeStartRow,col:i.table.isAutoRowHeight()?0:a.mergeStartCol},end:{row:a.mergeEndRow,col:i.table.isAutoRowHeight()?i.table.colCount-1:a.mergeEndCol}},i),n=a.mergeStartRow),J(n)&&(r=J(r)?Math.min(r,n):n)}return r}function VM(t,e){const{start:i,end:r}=t;for(let t=i.col;t<=r.col;t++)for(let o=i.row;o<=r.row;o++){const i=e.highPerformanceGetCell(t,o,!0);i&&(i.needUpdate=!0)}}function jM(t){if(!t.table.reactCustomLayout)return;const{table:e,stage:i}=t,r=i.pluginService.findPluginsByName("ReactAttributePlugin")[0],{htmlMap:o,renderId:n}=r;for(const s in o){const a=o[s],{graphic:l,wrapContainer:h,renderId:c}=a;if(c!==n)continue;let d;if(t.frozenColCount>e.frozenColCount){const i=KA(l);if(!i)continue;const{col:r,row:o}=i;o>=e.rowCount-e.bottomFrozenRowCount&&r<t.frozenColCount&&r>=e.frozenColCount&&l.attribute.react.container===e.frozenBottomDomContainer?d=e.bottomDomContainer:o>=e.frozenRowCount&&r<t.frozenColCount&&r>=e.frozenColCount&&l.attribute.react.container===e.frozenBodyDomContainer?d=e.bodyDomContainer:o<e.frozenRowCount&&r<t.frozenColCount&&r>=e.frozenColCount&&l.attribute.react.container===e.frozenHeaderDomContainer&&(d=e.headerDomContainer)}else if(t.frozenColCount<e.frozenColCount){const i=KA(l);if(!i)continue;const{col:r,row:o}=i;o>=e.rowCount-e.bottomFrozenRowCount&&r<e.frozenColCount&&r>=t.frozenColCount&&l.attribute.react.container===e.bottomDomContainer?d=e.frozenBottomDomContainer:o>=e.frozenRowCount&&r<e.frozenColCount&&r>=t.frozenColCount&&l.attribute.react.container===e.bodyDomContainer?d=e.frozenBodyDomContainer:o<e.frozenRowCount&&r<e.frozenColCount&&r>=t.frozenColCount&&l.attribute.react.container===e.headerDomContainer&&(d=e.frozenHeaderDomContainer)}d&&(d.appendChild(h),a.nativeContainer=d,a.container=d,l.attribute.react.container=d,r.updateStyleOfWrapContainer(l,i,h,d,l.attribute.react))}}function UM(t){const e=t.bodyGroup.firstChild instanceof LR?t.bodyGroup.firstChild:null;e&&(t.rowHeaderGroup.appendChild(e),t.rowHeaderGroup.setAttribute("width",t.rowHeaderGroup.attribute.width+e.attribute.width),t.bodyGroup.setAttribute("width",t.bodyGroup.attribute.width-e.attribute.width))}function KM(t){const e=t.colHeaderGroup.firstChild instanceof LR?t.colHeaderGroup.firstChild:null;e&&(t.cornerHeaderGroup.appendChild(e),t.cornerHeaderGroup.setAttribute("width",t.cornerHeaderGroup.attribute.width+e.attribute.width),t.colHeaderGroup.setAttribute("width",t.colHeaderGroup.attribute.width-e.attribute.width))}function $M(t){const e=t.rowHeaderGroup.lastChild instanceof LR?t.rowHeaderGroup.lastChild:t.rowHeaderGroup.lastChild?._prev;e&&(ZM(t.bodyGroup,e,t.bodyGroup.firstChild),t.bodyGroup.setAttribute("width",t.bodyGroup.attribute.width+e.attribute.width),t.rowHeaderGroup.setAttribute("width",t.rowHeaderGroup.attribute.width-e.attribute.width))}function XM(t){const e=t.cornerHeaderGroup.lastChild instanceof LR?t.cornerHeaderGroup.lastChild:t.cornerHeaderGroup.lastChild?._prev;e&&(ZM(t.colHeaderGroup,e,t.colHeaderGroup.firstChild),t.colHeaderGroup.setAttribute("width",t.colHeaderGroup.attribute.width+e.attribute.width),t.cornerHeaderGroup.setAttribute("width",t.cornerHeaderGroup.attribute.width-e.attribute.width))}function YM(t){const e=t.bottomFrozenGroup.firstChild instanceof LR?t.bottomFrozenGroup.firstChild:null;e&&(t.leftBottomCornerGroup.appendChild(e),t.leftBottomCornerGroup.setAttribute("width",t.leftBottomCornerGroup.attribute.width+e.attribute.width),t.bottomFrozenGroup.setAttribute("width",t.bottomFrozenGroup.attribute.width-e.attribute.width),t.table.isPivotChart()&&e.forEachChildren((t=>{t.setAttributes({stroke:!1,fill:!1})})))}function qM(t){const e=t.leftBottomCornerGroup.lastChild instanceof LR?t.leftBottomCornerGroup.lastChild:t.leftBottomCornerGroup.lastChild?._prev;e&&(ZM(t.bottomFrozenGroup,e,t.bottomFrozenGroup.firstChild),t.bottomFrozenGroup.setAttribute("width",t.bottomFrozenGroup.attribute.width+e.attribute.width),t.leftBottomCornerGroup.setAttribute("width",t.leftBottomCornerGroup.attribute.width-e.attribute.width),t.table.isPivotChart()&&e.forEachChildren((e=>{const i=t.table._getCellStyle(e.col,e.row),r=t.table.getCellRange(e.col,e.row),o=zA(i,t.table,r?r.start.col:e.col,r?r.start.row:e.row,IR).theme;e.setAttributes({fill:o?.group?.fill??void 0,stroke:o?.group?.stroke??void 0})})))}function ZM(t,e,i){e&&t&&(i?t.insertBefore(e,i):t.appendChild(e))}function JM(t){let e=!1;for(let i=0;i<t.bodyGroup.childrenCount;i++){const r=t.bodyGroup.children[i].firstChild;t.colHeaderGroup.children[i]?.appendChild(r),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height+r.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height-r.attribute.height),e=!0)}}function QM(t){let e=!1;for(let i=0;i<t.rowHeaderGroup.childrenCount;i++){const r=t.rowHeaderGroup.children[i].firstChild;t.cornerHeaderGroup.children[i]?.appendChild(r),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height+r.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height-r.attribute.height),e=!0)}}function tP(t){let e=!1;for(let i=0;i<t.rightFrozenGroup.childrenCount;i++){const r=t.rightFrozenGroup.children[i].firstChild;t.rightTopCornerGroup.children[i]?.appendChild(r),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height+r.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height-r.attribute.height),e=!0)}}function eP(t){let e=!1;for(let i=0;i<t.colHeaderGroup.childrenCount;i++){const r=t.colHeaderGroup.children[i].lastChild;ZM(t.bodyGroup.children[i],r,t.bodyGroup.children[i].firstChild),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height-r.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height+r.attribute.height),e=!0)}}function iP(t){let e=!1;for(let i=0;i<t.cornerHeaderGroup.childrenCount;i++){const r=t.cornerHeaderGroup.children[i].lastChild;ZM(t.rowHeaderGroup.children[i],r,t.rowHeaderGroup.children[i].firstChild),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height-r.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height+r.attribute.height),e=!0)}}function rP(t){let e=!1;for(let i=0;i<t.rightTopCornerGroup.childrenCount;i++){const r=t.rightTopCornerGroup.children[i].lastChild;ZM(t.rightFrozenGroup.children[i],r,t.rightFrozenGroup.children[i].firstChild),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height-r.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height+r.attribute.height),e=!0)}}function oP(t){for(let e=t.proxy.colStart;e<=t.proxy.colEnd;e++){const i=t.getColGroup(e);i?.getChildren()?.forEach((t=>{t.children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}))}}function nP(t,e){t.forEachChildren((t=>{"column"===t.role&&t.forEachChildren((t=>{if("cell"===t.role){let i=!1;if(t.forEachChildren((t=>"axis"===t.name&&(i=!0,!0))),i){const i=e.internalProps.layoutMap.getAxisConfigInPivotChart(t.col,t.row),r=tA(IR("padding",e._getCellStyle(t.col,t.row),t.col,t.row,e)),o=new(sx.getComponent("axis"))(i,t.attribute.width,t.attribute.height,i.__vtablePadding??r,e);t.clear(),t.appendChild(o.component),o.overlap()}}}))}))}function sP(t,e,i){t.forEachChildren((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.setAttributes({width:Math.ceil(e-t.attribute.cellPadding[3]-t.attribute.cellPadding[1]),height:Math.ceil(i-t.attribute.cellPadding[0]-t.attribute.cellPadding[2])}))}))}function aP(t,e,i){return new LR({x:0,y:0,width:t,height:e,clip:i??!1,pickable:!1})}function lP(t,e){return t.forEachChildrenSkipChild(((t,i)=>{t.setAttribute("x",e),e+=t.attribute.width})),e}function hP(t,e,i,r,o){const n=t.name;uP(i,r,(t=>t.name===n),(t=>{GR(e,t),t.name=e.name}),o),o.updateNextFrame()}function cP(t){const{col:e,row:i,iconMark:r,order:o,oldSortCol:n,oldSortRow:s,oldIconMark:a,scene:l}=t,h=l.table.internalProps.headerHelper.getSortIcon(o,l.table,e,i);if(r&&hP(r,h,e,i,l),!function(t,e,i,r,o){const n=o.getCellRange(t,e),s=o.getCellRange(i,r);return n.start.col===s.start.col&&n.start.row===s.start.row&&n.end.col===s.end.col&&n.end.row===s.end.row}(e,i,n,s,l.table)){const t=l.table.internalProps.headerHelper.getSortIcon("normal",l.table,n,s);a?hP(a,t,n,s,l):function(t,e,i,r){const o=r.getCell(t,e);if(J(o.mergeStartCol)&&J(o.mergeStartRow)&&J(o.mergeEndCol)&&J(o.mergeEndRow))for(let t=o.mergeStartCol;t<=o.mergeEndCol;t++)for(let e=o.mergeStartRow;e<=o.mergeEndRow;e++){let o;r.getCell(t,e).forEachChildren((t=>"sort"===t.attribute.funcType&&(o=t,!0))),o&&(GR(i,o),o.name=i.name)}else{let t;Zw(o,"children",(e=>"sort"===e.attribute.funcType&&(t=e,!0))),t&&(GR(i,t),t.name=i.name)}}(n,s,t,l)}}function dP(t,e,i){t&&"empty"!==t.role&&t.forEachChildren((t=>{"group"===t.type?dP(t,e,i):e(t)&&i(t)}))}function uP(t,e,i,r,o){const n=o.getCell(t,e);if("cell"===n.role&&J(n.mergeStartCol)&&J(n.mergeStartRow)&&J(n.mergeEndCol)&&J(n.mergeEndRow)){const{colStart:t,colEnd:e,rowStart:s,rowEnd:a}=ET(n,o);for(let n=t;n<=e;n++)for(let t=s;t<=a;t++)dP(o.highPerformanceGetCell(n,t),i,r)}else dP(n,i,r)}function gP(t,e){const{bgColor:i,borderColor:r,borderLineWidth:o,borderLineDash:n}=e,s={x:0,y:0,width:0,height:0,visible:!1,pickable:!0,fill:i};return s.stroke=ZT(r,void 0),s.lineWidth=o,n&&(s.lineDash=n),s.lineCap="butt",Array.isArray(r)&&(s.strokeArrayColor=tA(r)),Array.isArray(o)&&(s.strokeArrayWidth=tA(o),s.lineWidth=1),t.setAttributes(s),t.role="corner-frozen",t}function pP(t,e,i,r){const o=r.scenegraph,n=fP(t.map((t=>t.col))).sort(((t,e)=>e-t)),s=fP(e.map((t=>t.col))).sort(((t,e)=>t-e)),a=fP(i.map((t=>t.col))).sort(((t,e)=>t-e));n.forEach((t=>{!function(t,e){const i=e.proxy;if(t>=e.table.rowHeaderLevelCount)if(t>=e.table.colCount-e.table.rightFrozenColCount);else{const i=e.getColGroup(t,!1);i&&i.parent===e.bodyGroup&&e.bodyGroup.removeChild(i);const r=e.getColGroupInBottom(t);r&&r.parent===e.bottomFrozenGroup&&e.bottomFrozenGroup.removeChild(r);const o=e.getColGroup(t,!0);o&&o.parent===e.colHeaderGroup&&e.colHeaderGroup.removeChild(o)}t>=i.colStart&&t<=i.colEnd&&(i.colEnd--,i.currentCol--);i.bodyRightCol--;const r=Math.min(i.colLimit,i.bodyRightCol-i.bodyLeftCol+1);i.totalActualBodyColCount=r,i.totalCol=i.colStart+r-1}(t,o)}));const l=r.colWidthsMap;let h;if(n.forEach((t=>{l.delAndReorder(t)})),n.length&&mP(o),o.table._clearColRangeWidthsMap(),s.forEach((t=>{const e=function(t,e){const i=e.proxy;i.bodyRightCol++;const r=Math.min(i.colLimit,i.bodyRightCol-i.bodyLeftCol+1);if(i.totalActualBodyColCount=r,i.totalCol=i.colStart+r-1,t<i.colStart)return;if(t>i.colEnd)return i.colEnd-i.colStart+1<i.colLimit?(i.colEnd++,i.currentCol++,bP(t,e),t):void 0;if(i.colEnd-i.colStart+1<i.colLimit)return i.colEnd++,i.currentCol++,bP(t,e),t;return t}(t,o);mP(o),h=h??e,l.addAndReorder(t)})),function(t){let e=t.bodyColStart,i=t.getCellGroupX(e);function r(i){i.col=e;const r=nx(t.table,i.col,i.row);r&&(i.mergeStartCol=r.start.col,i.mergeStartCol=r.start.col,i.mergeEndCol=r.end.col,i.mergeEndCol=r.end.col),i.role}t.bodyGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.bodyColStart,i=t.getCellGroupX(e),t.colHeaderGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.bodyColStart,i=t.getCellGroupX(e),t.bottomFrozenGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.table.colCount-t.table.rightFrozenColCount,i=0,t.rightFrozenGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.table.colCount-t.table.rightFrozenColCount,i=0,t.rightTopCornerGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++})),e=t.table.colCount-t.table.rightFrozenColCount,i=0,t.rightBottomCornerGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{r(t)})),t.setAttribute("x",i),i+=t.attribute.width,e++}))}(o),a.forEach((t=>{for(let e=0;e<r.rowCount;e++){const i=nx(o.table,t,e);if(i)for(let t=i.start.col;t<=i.end.col;t++)for(let t=i.start.col;t<=i.end.col;t++)nT(t,e,o.table,!1);else nT(t,e,o.table,!1)}})),at(h)){for(let t=h;t<Math.max(r.colCount,r.internalProps._oldColCount??r.colCount);t++)for(let e=0;e<Math.max(r.rowCount,r.internalProps._oldRowCount??r.rowCount);e++){const i=o.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}o.proxy.colUpdatePos=h}if(s.length){if(!at(h)){const t=Math.min(...s);o.proxy.colUpdatePos=t}o.proxy.colUpdateDirection="left",o.proxy.updateColGroups(2*o.proxy.screenColCount),d(),o.proxy.progress()}else n.length&&(o.proxy.updateColGroups(2*o.proxy.screenColCount),d(),o.proxy.progress());const c=r.getColsWidth(r.frozenColCount,r.colCount-1);function d(){if(s?.[s?.length-1]>=r.colCount-r.rightFrozenColCount||a?.[a?.length-1]>=r.colCount-r.rightFrozenColCount||n?.[0]>=r.colCount-r.rightFrozenColCount){for(let t=r.colCount-r.rightFrozenColCount;t<r.colCount;t++)for(let e=0;e<r.rowCount;e++){const i=o.highPerformanceGetCell(t,e,!0);i&&(i.needUpdate=!0)}o.proxy.updateRightFrozenCellGroups()}}o.updateContainerWidth(o.table.frozenColCount,c-o.bodyGroup.attribute.width)}function fP(t){const e=[];for(let i=0;i<t.length;i++)-1===e.indexOf(t[i])&&e.push(t[i]);return e}function mP(t){let e=t.bodyColStart;function i(i){i.col=e;const r=nx(t.table,i.col,i.row);r&&(i.mergeStartCol=r.start.col,i.mergeStartCol=r.start.col,i.mergeEndCol=r.end.col,i.mergeEndCol=r.end.col),i.role}t.bodyGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{i(t)})),e++})),e=t.bodyColStart,t.colHeaderGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{i(t)})),e++})),e=t.bodyColStart,t.bottomFrozenGroup.forEachChildren((t=>{t.col=e,t?.forEachChildren((t=>{i(t)})),e++}))}function bP(t,e){if(e.colHeaderGroup&&e.table.columnHeaderLevelCount>0){const r=new LR({x:0,y:0,width:e.table.getColWidth(t),height:0,clip:!1,pickable:!1});r.role="column",r.col=t;const o=e.getColGroup(t,!0);o?e.colHeaderGroup.insertBefore(r,o):e.colHeaderGroup.appendChild(r),i(r,t,0,e.table.columnHeaderLevelCount-1)}if(e.bodyGroup){const r=new LR({x:0,y:0,width:e.table.getColWidth(t),height:0,clip:!1,pickable:!1});r.role="column",r.col=t;const o=e.getColGroup(t,!1);o?e.bodyGroup.insertBefore(r,o):e.bodyGroup.appendChild(r),i(r,t,e.bodyRowStart,e.bodyRowEnd)}if(e.bottomFrozenGroup&&e.table.bottomFrozenRowCount>0){const r=new LR({x:0,y:0,width:e.table.getColWidth(t),height:0,clip:!1,pickable:!1});r.role="column",r.col=t;const o=e.getColGroupInBottom(t);o?e.bottomFrozenGroup.insertBefore(r,o):e.bottomFrozenGroup.appendChild(r),i(r,t,e.table.rowCount-e.table.bottomFrozenRowCount,e.table.rowCount-1)}function i(t,i,r,o){for(let n=r;n<=o;n++){const r=new LR({x:0,y:0,width:e.table.getColWidth(i),height:e.table.getRowHeight(n)});r.role="cell",r.col=i,r.row=n,r.needUpdate=!0,t.appendChild(r)}}}jC(),Qr.load(VB),Qr.load(yT);class yP{proxy;tableGroup;colHeaderGroup;cornerHeaderGroup;rowHeaderGroup;bodyGroup;rightFrozenGroup;bottomFrozenGroup;rightTopCornerGroup;leftBottomCornerGroup;rightBottomCornerGroup;componentGroup;selectedRangeComponents;selectingRangeComponents;customSelectedRangeComponents;lastSelectId;component;stage;table;isPivot;hasFrozen;frozenColCount;frozenRowCount;clear;mergeMap;_dealAutoFillHeightOriginRowsHeight;_needUpdateContainer=!1;constructor(t){var e;let i,r;var o;this.table=t,this.hasFrozen=!1,this.clear=!0,this.mergeMap=new Map,e=this.table.theme.textPopTipStyle,_t(Yb.poptip,Xb,e),"node"===Ew.mode?(lu.setEnv("node",t.options.modeParams),i=t.canvasWidth,r=t.canvasHeight):t.options.canvas&&t.options.viewBox?(lu.setEnv("browser"),i=t.options.viewBox.x2-t.options.viewBox.x1,r=t.options.viewBox.y2-t.options.viewBox.y1):(lu.setEnv("browser"),i=t.canvas.width,r=t.canvas.height),this.stage=(o={canvas:t.canvas,width:i,height:r,disableDirtyBounds:!1,background:t.theme.underlayBackgroundColor,dpr:t.internalProps.pixelRatio,enableLayout:!0,beforeRender:t=>{this.table.options.beforeRender&&this.table.options.beforeRender(t),this.table.animationManager.ticker.start()},afterRender:t=>{this.table.options.afterRender&&this.table.options.afterRender(t),this.table.fireListeners("after_render",null)},canvasControled:!t.options.canvas,viewBox:t.options.viewBox,...t.options.renderOption},new Su(o)),this.stage.defaultLayer.setTheme({group:{boundsPadding:0,strokeBoundsBuffer:0,lineJoin:"round"},text:{ignoreBuf:!0}}),this.initSceneGraph(),this.stage.defaultLayer.add(this.tableGroup),this.stage.table=this.table,this.createComponent()}get width(){return this.tableGroup.attribute?.width??0}get height(){return this.tableGroup.attribute?.height??0}get x(){return this.tableGroup.attribute?.x??0}get y(){return this.tableGroup.attribute?.y??0}get bodyRowStart(){return this.proxy.rowStart??0}get bodyRowEnd(){return this.proxy.rowEnd??this.table.rowCount-1}get bodyColStart(){return this.proxy.colStart??0}get bodyColEnd(){return this.proxy.colEnd??this.table.colCount-1}initSceneGraph(){this.isPivot=this.table.isPivotTable(),function(t){const e=t.table.tableNoFrameWidth,i=t.table.tableNoFrameHeight;t.tableGroup=new LR({x:0,y:0,width:e,height:i,clip:!0,pickable:!1}),t.tableGroup.role="table";const r=aP(0,0,!t.table.options.enableTreeStickCell);r.role="col-header",t.colHeaderGroup=r;const o=aP(0,0,!t.table.options.enableTreeStickCell);o.role="corner-header",t.cornerHeaderGroup=o;const n=aP(0,0,!0);n.role="row-header",t.rowHeaderGroup=n;const s=aP(e,0,!0);s.role="body",t.bodyGroup=s;const a=aP(0,0,!0);a.role="right-frozen",t.rightFrozenGroup=a;const l=aP(0,0,!0);l.role="bottom-frozen",t.bottomFrozenGroup=l;const h=aP(0,0);h.role="component",t.componentGroup=h;const c=aP(0,0,!0);c.role="corner-right-top-header",t.rightTopCornerGroup=c;const d=aP(0,0,!0);d.role="corner-right-bottom-header",t.rightBottomCornerGroup=d;const u=aP(0,0,!0);u.role="corner-left-bottom-header",t.leftBottomCornerGroup=u,t.tableGroup.addChild(s),t.tableGroup.addChild(n),t.tableGroup.addChild(l),t.tableGroup.addChild(r),t.tableGroup.addChild(a),t.tableGroup.addChild(d),t.tableGroup.addChild(c),t.tableGroup.addChild(u),t.tableGroup.addChild(o),t.tableGroup.addChild(h)}(this)}clearCells(){this.table.animationManager.clear(),(this.table.isPivotChart()||this.table._hasCustomRenderOrLayout())&&this.stage.pluginService.findPluginsByName("poptipForText").forEach((t=>{t.deactivate(this.stage.pluginService)})),this.clear=!0,this.hasFrozen=!1,this.mergeMap.clear(),this.colHeaderGroup.clear(),delete this.colHeaderGroup.border,this.rowHeaderGroup.clear(),delete this.rowHeaderGroup.border,this.cornerHeaderGroup.clear(),delete this.cornerHeaderGroup.border,this.bodyGroup.clear(),delete this.bodyGroup.border,this.bottomFrozenGroup.clear(),delete this.bottomFrozenGroup.border,this.rightFrozenGroup.clear(),delete this.rightFrozenGroup.border,this.rightTopCornerGroup.clear(),delete this.rightTopCornerGroup.border,this.rightBottomCornerGroup.clear(),delete this.rightBottomCornerGroup.border,this.leftBottomCornerGroup.clear(),delete this.leftBottomCornerGroup.border,this.colHeaderGroup.setAttributes({x:0,y:0,width:0,height:0}),this.rowHeaderGroup.setAttributes({x:0,y:0,width:0,height:0}),this.cornerHeaderGroup.setAttributes({x:0,y:0,width:0,height:0}),this.bodyGroup.setAttributes({x:0,y:0,width:0,height:0}),this.rightFrozenGroup.setAttributes({x:0,y:0,width:0,height:0}),this.bottomFrozenGroup.setAttributes({x:0,y:0,width:0,height:0}),this.rightTopCornerGroup.setAttributes({x:0,y:0,width:0,height:0,visible:!1}),this.leftBottomCornerGroup.setAttributes({x:0,y:0,width:0,height:0,visible:!1}),this.rightBottomCornerGroup.setAttributes({x:0,y:0,width:0,height:0,visible:!1}),this.tableGroup.setAttributes({x:this.table.tableX,y:this.table.tableY,width:0,height:0}),this.tableGroup.border&&(this.tableGroup.parent.removeChild(this.tableGroup.border),delete this.tableGroup.border),this.proxy?.release(),this.table.reactCustomLayout?.clearCache()}updateStageBackground(){this.stage.background=this.table.theme.underlayBackgroundColor,this.stage.renderNextFrame()}createComponent(){this.component=new XT(this.table),this.component.addToGroup(this.componentGroup),this.selectedRangeComponents=new Map,this.selectingRangeComponents=new Map,this.customSelectedRangeComponents=new Map}updateComponent(){this.component.updateStyle()}createSceneGraph(t=!1){t||(this.table.rowHeightsMap.clear(),this.table.internalProps.layoutMap.clearCellRangeMap()),(this.table.isPivotChart()||this.table._hasCustomRenderOrLayout())&&this.stage.pluginService.autoEnablePlugins.getContributions().forEach((t=>{"poptipForText"===t.name&&this.stage.pluginService.register(t)})),this.clear=!1,this.frozenColCount=this.table.frozenColCount,this.frozenRowCount=this.table.frozenRowCount,this.proxy=new BM(this.table),YT(this.tableGroup,this.table.theme.frameStyle,this.tableGroup.role,void 0,!0),this.table.isPivotChart()&&(gP(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle||this.table.theme.cornerHeaderStyle||{}),gP(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle||this.table.theme.cornerHeaderStyle||{}),gP(this.rightBottomCornerGroup,this.table.theme.cornerRightBottomCellStyle||this.table.theme.cornerHeaderStyle||{})),this.proxy.createGroupForFirstScreen(this.cornerHeaderGroup,this.colHeaderGroup,this.rowHeaderGroup,this.rightFrozenGroup,this.bottomFrozenGroup,this.bodyGroup,0,0),this.afterScenegraphCreated()}renderSceneGraph(){this.stage.render()}getCell(t,e,i){let r;if(r=this.table.rightFrozenColCount>0&&t>=this.table.colCount-this.table.rightFrozenColCount&&e<this.table.frozenRowCount?this.rightTopCornerGroup.getColGroup(t)?.getRowGroup(e):this.table.bottomFrozenRowCount>0&&e>=this.table.rowCount-this.table.bottomFrozenRowCount&&t<this.table.frozenColCount?this.leftBottomCornerGroup.getColGroup(t)?.getRowGroup(e):this.table.rightFrozenColCount>0&&this.table.bottomFrozenRowCount>0&&t>=this.table.colCount-this.table.rightFrozenColCount&&e>=this.table.rowCount-this.table.bottomFrozenRowCount?this.rightBottomCornerGroup.getColGroup(t)?.getRowGroup(e):this.table.rightFrozenColCount>0&&t>this.table.colCount-1-this.table.rightFrozenColCount?this.rightFrozenGroup.getColGroup(t)?.getRowGroup(e):this.table.bottomFrozenRowCount>0&&e>this.table.rowCount-1-this.table.bottomFrozenRowCount?this.bottomFrozenGroup.getColGroup(t)?.getRowGroup(e):this.getColGroup(t,e<this.frozenRowCount)?.getRowGroup(e),r&&"shadow-cell"===r.role&&!i){const i=this.table.getCellRange(t,e);i.start.col===t&&i.start.row===e||(r=this.getCell(i.start.col,i.start.row))}return r||ZB}highPerformanceGetCell(t,e,i){return this.proxy.highPerformanceGetCell(t,e,i)}getColGroup(t,e=!1){let i;return i=t<this.frozenColCount&&e?this.cornerHeaderGroup.getColGroup(t):t<this.frozenColCount?this.rowHeaderGroup.getColGroup(t):e&&this.table.rightFrozenColCount>0&&t>this.table.colCount-1-this.table.rightFrozenColCount?this.rightTopCornerGroup.getColGroup(t):!e&&this.table.rightFrozenColCount>0&&t>this.table.colCount-1-this.table.rightFrozenColCount?this.rightFrozenGroup.getColGroup(t):e?this.colHeaderGroup.getColGroup(t):this.bodyGroup.getColGroup(t),i||void 0}getColGroupInBottom(t,e=!1){if(e){const e=this.getColGroupInLeftBottomCorner(t)??this.getColGroupInRightBottomCorner(t);if(e)return e}if(this.table.bottomFrozenRowCount>0)return this.bottomFrozenGroup.getColGroup(t)}getColGroupInLeftBottomCorner(t){if(this.table.bottomFrozenRowCount>0)return this.leftBottomCornerGroup.getColGroup(t)}getColGroupInRightTopCorner(t){if(this.table.rightFrozenColCount>0)return this.rightTopCornerGroup.getColGroup(t)}getColGroupInRightBottomCorner(t){if(this.table.rightFrozenColCount>0&&this.table.bottomFrozenRowCount>0)return this.rightBottomCornerGroup.getColGroup(t)}getCellSize(t,e){const i=this.getCell(t,e),r=nx(this.table,t,e);let o=i.attribute.width,n=i.attribute.height;return r&&(o/=r.end.col-r.start.col+1,n/=r.end.row-r.start.row+1),{width:o,height:n}}updateNextFrame(){this.updateContainerSync(),this.resetAllSelectComponent(),this.stage.renderNextFrame()}resetAllSelectComponent(){(this.table.stateManager.select?.ranges?.length>0||this.table.stateManager.select?.customSelectRanges?.length>0)&&PM(this)}hideHoverIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"mouseenter_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",0);const e=t.parent.getChildByName("icon-back");e&&e.setAttribute("visible",!1)}),i),i.updateNextFrame())}(t,e,this)}showHoverIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"mouseenter_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",1)}),i),i.updateNextFrame())}(t,e,this)}hideClickIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"click_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",0)}),i),i.updateNextFrame())}(t,e,this)}showClickIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(uP(t,e,(t=>"click_cell"===t.attribute.visibleTime),(t=>{t.setAttribute("opacity",1)}),i),i.updateNextFrame())}(t,e,this)}getIcon(t,e,i,r){return function(t,e,i,r,o){let n;return o.getCell(t,e).forEachChildren((t=>{t.role&&t.role.startsWith("icon")&&t.containsPoint(i,r,fi.GLOBAL)&&(n=t)})),n}(t,e,i,r,this)}setIconHoverStyle(t,e,i,r){!function(t,e,i,r,o){if((t.attribute.backgroundColor||t.attribute.hoverImage)&&uP(e,i,(e=>e.name===t.name),(t=>{if(t.attribute.backgroundColor){let e=t.parent.getChildByName("icon-back");e?e.setAttributes({x:(t.attribute.x??0)+(t.AABBBounds.width()-t.backgroundWidth)/2,y:(t.attribute.y??0)+(t.AABBBounds.height()-t.backgroundHeight)/2,dx:t.attribute.dx??0,dy:t.attribute.dy??0,width:t.backgroundWidth,height:t.backgroundHeight,fill:t.attribute.backgroundColor,cornerRadius:5,visible:!0}):(e=Jc({x:(t.attribute.x??0)+(t.AABBBounds.width()-t.backgroundWidth)/2,y:(t.attribute.y??0)+(t.AABBBounds.height()-t.backgroundHeight)/2,dx:t.attribute.dx??0,dy:t.attribute.dy??0,width:t.backgroundWidth,height:t.backgroundHeight,fill:t.attribute.backgroundColor,cornerRadius:5,pickable:!1,visible:!0}),e.name="icon-back"),t.parent.insertBefore(e,t)}t.attribute.hoverImage&&t.attribute.image!==t.attribute.hoverImage&&(t.image=t.attribute.hoverImage)}),o),t.tooltip){const{x1:r,x2:n,y1:s,y2:a}=t.globalAABBBounds,l={content:t.tooltip.title,referencePosition:{rect:{left:r,right:n,top:s,bottom:a,width:t.globalAABBBounds.width(),height:t.globalAABBBounds.height()},placement:t.tooltip.placement},disappearDelay:t.tooltip.disappearDelay,style:Object.assign({},o.table.internalProps.theme?.tooltipStyle,t.tooltip?.style)};o.table.internalProps.tooltipHandler.isBinded(l)||o.table.showTooltip(e,i,l)}}(t,e,i,0,this)}updateSortIcon(t){const{col:e,row:i,iconMark:r,order:o,oldSortCol:n,oldSortRow:s,oldIconMark:a}=t;cP({col:e,row:i,iconMark:r,order:o,oldSortCol:n,oldSortRow:s,oldIconMark:a,scene:this})}updateFrozenIcon(t,e){!function(t){for(let e=0;e<t.table.colCount;e++)for(let i=0;i<t.table.columnHeaderLevelCount;i++)uP(e,i,(t=>"frozen"===t.attribute.funcType),(r=>{const o=t.table.internalProps.headerHelper.getFrozenIcon(e,i);GR(o,r),r.name=o.name}),t)}(this)}updateHierarchyIcon(t,e){!function(t,e,i){let r;r=i.table.isHeader(t,e)?i.table.internalProps.headerHelper.getHierarchyIcon(t,e):i.table.internalProps.bodyHelper.getHierarchyIcon(t,e),uP(t,e,(t=>t.attribute.funcType===QC.collapse||t.attribute.funcType===QC.expand),(t=>{GR(r,t),t.name=r.name}),i)}(t,e,this)}setIconNormalStyle(t,e,i){!function(t,e,i,r){(t.attribute.backgroundColor||t.attribute.hoverImage)&&uP(e,i,(e=>e.name===t.name),(t=>{const e=t.parent.getChildByName("icon-back");e&&e.setAttribute("visible",!1),t.attribute.hoverImage&&t.attribute.image!==t.attribute.originImage&&(t.image=t.attribute.originImage)}),r)}(t,e,i,this)}residentHoverIcon(t,e){!function(t,e,i){uP(t,e,(t=>t.attribute.funcType===QC.dropDown),(t=>{t.oldVisibleTime=t.attribute.visibleTime,t.setAttribute("visibleTime","always"),t.setAttribute("opacity",1)}),i)}(t,e,this)}resetResidentHoverIcon(t,e){!function(t,e,i){uP(t,e,(t=>t.attribute.funcType===QC.dropDown),(t=>{t.oldVisibleTime&&t.setAttribute("visibleTime",t.oldVisibleTime),t.setAttribute("opacity","always"===t.attribute.visibleTime?1:0)}),i)}(t,e,this)}deactivateChart(t,e){if(-1===t||-1===e)return;const i=this.getCell(t,e);i?.firstChild?.deactivate?.()}activateChart(t,e){if(-1===t||-1===e)return;const i=this.getCell(t,e);return i?.firstChild?.activate?.(this.table),i?.firstChild?.activeChartInstance}removeInteractionBorder(t,e){const i=this.getCell(t,e);i.setAttribute("highlightStroke",void 0),i.setAttribute("highlightStrokeArrayWidth",void 0),i.setAttribute("highlightStrokeArrayColor",void 0)}createCellSelectBorder(t,e,i,r,o,n,s){!function(t,e,i,r,o,n,s,a){let l=!!t.table.options.excelOptions?.fillHandle;if(t.table.stateManager.select.ranges?.length>1)l=!1,t.removeFillHandleFromSelectComponents();else if(1===t.table.stateManager.select.ranges?.length){const e=Math.max(t.table.stateManager.select.ranges[0].start.row,t.table.stateManager.select.ranges[0].end.row),i=Math.max(t.table.stateManager.select.ranges[0].start.col,t.table.stateManager.select.ranges[0].end.col);t.table.isHeader(i,e)&&(l=!1)}!Array.isArray(a)||!1!==a[1]&&!1!==a[2]||(l=!1);const h=Math.min(e,r),c=Math.min(i,o),d=Math.max(e,r),u=Math.max(i,o),g=t.highPerformanceGetCell(h,c).globalAABBBounds,p=t.highPerformanceGetCell(d,u).globalAABBBounds,f=t.table.theme,m=f.selectionStyle?.cellBorderColor,b=f.selectionStyle?.cellBorderLineWidth,y=Jc({pickable:!1,fill:"replace"!==f.selectionStyle?.selectionFillMode&&(f.selectionStyle?.cellBgColor??"rgba(0, 0, 255,0.1)"),lineWidth:b,stroke:a.map((t=>!!t&&m)),x:g.x1-t.tableGroup.attribute.x,y:g.y1-t.tableGroup.attribute.y,width:0,height:0,visible:!0});let C;l&&(C=Jc({pickable:!1,fill:m,stroke:m,x:p.x2-3,y:p.y2-3,width:6,height:6,visible:!0})),t.lastSelectId=s,t.selectingRangeComponents.set(`${h}-${c}-${d}-${u}-${s}`,{rect:y,fillhandle:C,role:n}),t.tableGroup.insertAfter(y,"body"===n?t.bodyGroup:"columnHeader"===n?t.colHeaderGroup:"rowHeader"===n?t.rowHeaderGroup:"cornerHeader"===n?t.cornerHeaderGroup:"rightTopCorner"===n?t.rightTopCornerGroup:"rightFrozen"===n?t.rightFrozenGroup:"leftBottomCorner"===n?t.leftBottomCornerGroup:"bottomFrozen"===n?t.bottomFrozenGroup:t.rightBottomCornerGroup),l&&t.tableGroup.insertAfter(C,"body"===n?t.bodyGroup:"columnHeader"===n?t.colHeaderGroup:"rowHeader"===n?t.rowHeaderGroup:"cornerHeader"===n?t.cornerHeaderGroup:"rightTopCorner"===n?t.rightTopCornerGroup:"rightFrozen"===n?t.rightFrozenGroup:"leftBottomCorner"===n?t.leftBottomCornerGroup:"bottomFrozen"===n?t.bottomFrozenGroup:t.rightBottomCornerGroup)}(this,t,e,i,r,o,n,s)}moveSelectingRangeComponentsToSelectedRangeComponents(){FM(this)}deleteLastSelectedRangeComponents(){var t;(t=this).selectedRangeComponents.forEach(((e,i)=>{i.split("-")[4]===t.lastSelectId&&(e.rect.delete(),e.fillhandle?.delete(),t.selectedRangeComponents.delete(i))}))}deleteAllSelectBorder(){IM(this),zM(this)}updateCellSelectBorder(t,e=!0){kM(this,t,e)}removeFillHandleFromSelectComponents(){this.selectedRangeComponents.forEach(((t,e)=>{t.fillhandle?.delete(),t.fillhandle=void 0}))}recreateAllSelectRangeComponents(){IM(this),this.table.stateManager.select.ranges.forEach((t=>{kM(this,t),FM(this)}))}updateColWidth(t,e,i,r){!function(t,e,i,r){r||t.table._setColWidth(e,t.table.getColWidth(e)+i,!0);const o=t.getColGroup(e,!0),n=t.getColGroupInRightTopCorner(e);o&&!n&&OT(o,i,"col-corner",t),n&&OT(n,i,"right-top",t);const s=t.getColGroup(e);s&&OT(s,i,"row-body",t);const a=t.getColGroupInLeftBottomCorner(e);a&&OT(a,i,"left-bottom",t);const l=t.getColGroupInBottom(e);l&&OT(l,i,"bottom",t);const h=t.getColGroupInRightBottomCorner(e);h&&OT(h,i,"right-bottom",t),e<t.frozenColCount?(t.cornerHeaderGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),t.rowHeaderGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)}))):(t.colHeaderGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),t.bodyGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)}))),a&&t.leftBottomCornerGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),l&&t.bottomFrozenGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)})),h&&t.rightBottomCornerGroup.forEachChildrenSkipChild(((t,r)=>{t.col>e&&t.setAttribute("x",t.attribute.x+i)}))}(this,t,Math.round(e),r),i||this.updateContainer(!0)}updateChartSizeForResizeColWidth(t){!function(t,e){const{table:i}=t,r=i.internalProps.layoutMap,o=-1===e?"all":i.internalProps.columnResizeType;if("column"===o){const r=t.getColGroup(e),o=t.getColGroup(e,!0),n=t.getColGroupInBottom(e,!0);if(r?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),"adaptive"===i.widthMode&&e<i.colCount-1){const r=t.getColGroup(e+1),o=t.getColGroup(e+1,!0),n=t.getColGroupInBottom(e+1,!0);r?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))}))}}else{let n,s,a,l=i.rowHeaderLevelCount,h=i.colCount-1;if("indicator"===o)if(r.indicatorsAsCol)n=r.getIndicatorKey(e,i.columnHeaderLevelCount);else{const t=r.getCellHeaderPaths(e,i.columnHeaderLevelCount-1),o=t.colHeaderPaths[t.colHeaderPaths.length-1];s=o.dimensionKey,a=o.value}else if("indicatorGroup"===o){const t=i.internalProps.layoutMap,e=t.getCellHeaderPaths(i.stateManager.columnResize.col,i.columnHeaderLevelCount),r=t.getHeadNodeByRowOrColDimensions(e.colHeaderPaths.slice(0,e.colHeaderPaths.length-1));l=r.startInTotal+i.frozenColCount,h=r.startInTotal+i.frozenColCount+r.size-1}for(let e=l;e<=h;e++){const l=t.getColGroup(e),h=t.getColGroup(e,!0),c=t.getColGroupInBottom(e,!0);if(l){if("indicator"===o){const t=r.getIndicatorKey(e,i.columnHeaderLevelCount);if(r.indicatorsAsCol&&t!==n)continue;if(!r.indicatorsAsCol){const t=r.getCellHeaderPaths(e,i.columnHeaderLevelCount-1),o=t?.colHeaderPaths[t.colHeaderPaths.length-1];if(!o||s!==o.dimensionKey||a!==o.value)continue}}l.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),h?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),c?.forEachChildren((t=>{sP(t,i.getColWidth(t.col),i.getRowHeight(t.row))}))}}}}(this,t)}updateChartSizeForResizeRowHeight(t){!function(t,e){const{table:i}=t,r=i.internalProps.layoutMap,o=i.stateManager,n=-1===e?"all":i.internalProps.rowResizeType;let s,a,l,h=i.columnHeaderLevelCount,c=i.rowCount-1;if("indicator"===n)if(r.indicatorsAsCol){const t=r.getCellHeaderPaths(i.rowHeaderLevelCount-1,e),o=t.rowHeaderPaths?.[t.rowHeaderPaths.length-1];a=o?.dimensionKey,l=o?.value}else s=r.getIndicatorKey(i.rowHeaderLevelCount,e);else if("indicatorGroup"===n){const t=i.internalProps.layoutMap,r=t.getCellHeaderPaths(i.rowHeaderLevelCount,e),o=t.getHeadNodeByRowOrColDimensions(r.rowHeaderPaths.slice(0,r.rowHeaderPaths.length-1));h=o.startInTotal+i.frozenRowCount,c=o.startInTotal+i.frozenRowCount+o.size-1}const d=[{startCol:t.proxy.colStart,endCol:t.proxy.colEnd}];i.frozenColCount&&d.push({startCol:0,endCol:i.frozenColCount-1}),i.rightFrozenColCount&&d.push({startCol:i.colCount-i.rightFrozenColCount,endCol:i.colCount-1}),d.forEach((({startCol:d,endCol:u})=>{for(let g=d;g<=u;g++)if("row"===n){const r=t.highPerformanceGetCell(g,e);if("cell"!==r.role)continue;if(sP(r,i.getColWidth(r.col),i.getRowHeight(r.row)),"adaptive"===i.heightMode&&e<i.rowCount-1){const r=t.highPerformanceGetCell(g,e+1);sP(r,i.getColWidth(r.col),i.getRowHeight(r.row))}}else for(let e=h;e<=c;e++){if("indicator"===n){const t=r.getIndicatorKey(o.table.rowHeaderLevelCount,e);if(!r.indicatorsAsCol&&t!==s)continue;if(r.indicatorsAsCol){const t=r.getCellHeaderPaths(o.table.rowHeaderLevelCount-1,e),i=t?.rowHeaderPaths[t.rowHeaderPaths.length-1];if(!i||a!==i.dimensionKey||l!==i.value)continue}}const h=t.highPerformanceGetCell(g,e);"cell"===h.role&&sP(h,i.getColWidth(h.col),i.getRowHeight(h.row))}}))}(this,t)}updateChartState(t){this.table.isPivotChart()&&function(t,e){const i=t.table;if(i.isPivotChart()){const r=i._selectedDataItemsInChart.length;if((null===e||0===e?.length||0===Object.keys(e).length)&&0===r)return;const o=[];if(Array.isArray(e))e.forEach((t=>{if(t&&0!==t.key&&Object.keys(t).length>0){const e={};for(const i in t)i.startsWith("VGRAMMAR_")||i.startsWith("__VCHART")||(e[i]=t[i]);o.push(e)}}));else if(e&&0!==e.key&&Object.keys(e).length>0){const t={};for(const i in e)i.startsWith("VGRAMMAR_")||i.startsWith("__VCHART")||(t[i]=e[i]);o.push(t)}Rt(i._selectedDataItemsInChart,o)||(i._selectedDataItemsInChart=o,i.internalProps.layoutMap.updateDataStateToChartInstance(),oP(t),i.scenegraph.updateNextFrame())}}(this,t)}updateCheckboxCellState(t,e,i){if(this.table.transpose)this.bodyGroup.children?.forEach((t=>{t.getChildAt(e)?.getChildren().forEach((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}));else{const e=this.getColGroup(t);e?.children?.forEach((t=>{t.getChildren().find((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}))}}updateHeaderCheckboxCellState(t,e,i){if(this.table.transpose)this.rowHeaderGroup.children?.forEach((t=>{t.getChildAt(e).getChildren().forEach((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}));else{const e=this.getColGroup(t,!0);e.children?.forEach((t=>{t.getChildren().find((t=>{"checkbox"===t.name&&("indeterminate"===i?(t.setAttribute("indeterminate",!0),t.setAttribute("checked",void 0)):(t.setAttribute("indeterminate",void 0),t.setAttribute("checked",i)))}))}))}}updateAutoColWidth(t){this.table.internalProps._widthResizedColMap.delete(t);const e=this.table.getColWidth(t),i=UB(t,0,this.table.rowCount-1,this.table,!0);i!==e&&this.updateColWidth(t,i-e)}recalculateColWidths(){const t=this.table;"adaptive"===t.widthMode||t.autoFillWidth||t.internalProps.transpose?jB(this.table,0,this.table.colCount-1,!0):(t._clearColRangeWidthsMap(),t.frozenColCount>0&&jB(this.table,0,t.frozenColCount-1,!0),t.rightFrozenColCount>0&&jB(this.table,t.rightFrozenColCount,t.colCount-1,!0),jB(t,this.proxy.colStart,this.proxy.colEnd,!0))}recalculateRowHeights(){const t=this.table;t.internalProps.useOneRowHeightFillAll=!1,"adaptive"===t.heightMode||t.autoFillHeight?TT(this.table,0,this.table.rowCount-1,!0,!0):(t.frozenRowCount>0&&TT(this.table,0,t.frozenRowCount-1,!0,!0),t.bottomFrozenRowCount>0&&TT(this.table,t.bottomFrozenRowCount,t.rowCount-1,!0,!0),TT(t,this.proxy.rowStart,this.proxy.rowEnd,!0,!0))}resize(){this.proxy.resize(),("adaptive"===this.table.widthMode||this.table.autoFillWidth)&&(0===this.table.internalProps._widthResizedColMap.size?this.recalculateColWidths():this.dealWidthMode()),"adaptive"===this.table.heightMode?0===this.table.internalProps._heightResizedRowMap.size?this.recalculateRowHeights():this.dealHeightMode():this.table.autoFillHeight&&this.dealHeightMode(),this.resetFrozen(),this.updateTableSize(),this.updateBorderSizeAndPosition(),this.component.updateScrollBar(),("adaptive"===this.table.widthMode||"adaptive"===this.table.heightMode||this.table.autoFillWidth||this.table.autoFillHeight)&&this.updateChartSizeForResizeColWidth(-1),this.proxy.progress(),this.updateNextFrame()}updateTableSize(){if(this.tableGroup.setAttributes({x:this.table.tableX,y:this.table.tableY,width:Math.min(this.table.tableNoFrameWidth,Math.max(this.colHeaderGroup.attribute.width,this.bodyGroup.attribute.width,this.bottomFrozenGroup.attribute.width,0)+Math.max(this.cornerHeaderGroup.attribute.width,this.rowHeaderGroup.attribute.width,this.leftBottomCornerGroup.attribute.width,0)+Math.max(this.rightTopCornerGroup.attribute.width,this.rightFrozenGroup.attribute.width,this.rightBottomCornerGroup.attribute.width,0)),height:Math.min(this.table.tableNoFrameHeight,Math.max(this.colHeaderGroup.attribute.height,this.cornerHeaderGroup.attribute.height,this.rightTopCornerGroup.attribute.height,0)+Math.max(this.rowHeaderGroup.attribute.height,this.bodyGroup.attribute.height,this.rightFrozenGroup.attribute.height,0)+Math.max(this.leftBottomCornerGroup.attribute.height,this.bottomFrozenGroup.attribute.height,this.rightBottomCornerGroup.attribute.height,0))}),this.tableGroup.border){const t=this.tableGroup.border?.attribute;let e,i,r,o;t?.strokeArrayWidth?(e=t.strokeArrayWidth?t.strokeArrayWidth[0]:t.lineWidth??0,i=t.strokeArrayWidth?t.strokeArrayWidth[1]:t.lineWidth??0,r=t.strokeArrayWidth?t.strokeArrayWidth[2]:t.lineWidth??0,o=t.strokeArrayWidth?t.strokeArrayWidth[3]:t.lineWidth??0):(e=t?.lineWidth??0,i=t?.lineWidth??0,r=t?.lineWidth??0,o=t?.lineWidth??0),"rect"===this.tableGroup.border.type?this.table.theme.frameStyle?.innerBorder?this.tableGroup.border.setAttributes({x:this.table.tableX+o/2,y:this.table.tableY+e/2,width:this.tableGroup.attribute.width-o/2-i/2,height:this.tableGroup.attribute.height-e/2-r/2}):this.tableGroup.border.setAttributes({x:this.table.tableX-o/2,y:this.table.tableY-e/2,width:this.tableGroup.attribute.width+o/2+i/2,height:this.tableGroup.attribute.height+e/2+r/2}):"group"===this.tableGroup.border.type&&(this.table.theme.frameStyle?.innerBorder?(this.tableGroup.border.setAttributes({x:this.table.tableX+o/2,y:this.table.tableY+e/2,width:this.tableGroup.attribute.width-o/2-i/2,height:this.tableGroup.attribute.height-e/2-r/2}),this.tableGroup.border.firstChild?.setAttributes({x:0,y:0,width:this.tableGroup.attribute.width-o/2-i/2,height:this.tableGroup.attribute.height-e/2-r/2})):(this.tableGroup.border.setAttributes({x:this.table.tableX-o/2,y:this.table.tableY-e/2,width:this.tableGroup.attribute.width+o/2+i/2,height:this.tableGroup.attribute.height+e/2+r/2}),this.tableGroup.border.firstChild?.setAttributes({x:o/2,y:e/2,width:this.tableGroup.attribute.width,height:this.tableGroup.attribute.height})))}this.table.bottomFrozenRowCount>0&&(this.bottomFrozenGroup.setAttribute("y",this.tableGroup.attribute.height-this.table.getBottomFrozenRowsHeight()),this.leftBottomCornerGroup.setAttributes({visible:!0,y:this.tableGroup.attribute.height-this.table.getBottomFrozenRowsHeight(),height:this.table.getBottomFrozenRowsHeight(),width:this.table.getFrozenColsWidth()}),this.rightBottomCornerGroup.setAttributes({visible:!0,y:this.tableGroup.attribute.height-this.table.getBottomFrozenRowsHeight(),height:this.table.getBottomFrozenRowsHeight()})),this.table.rightFrozenColCount>0&&(this.rightFrozenGroup.setAttribute("x",this.tableGroup.attribute.width-this.table.getRightFrozenColsWidth()),this.rightTopCornerGroup.setAttributes({visible:!0,x:this.tableGroup.attribute.width-this.table.getRightFrozenColsWidth(),width:this.table.getRightFrozenColsWidth(),height:this.table.getFrozenRowsHeight()}),this.rightBottomCornerGroup.setAttributes({visible:!0,x:this.tableGroup.attribute.width-this.table.getRightFrozenColsWidth(),width:this.table.getRightFrozenColsWidth()})),this.updateDomContainer()}updateRowHeight(t,e,i){FT(this,t,e=Math.round(e),i),this.updateContainerHeight(t,e)}updateRowsHeight(t,e,i){for(let r=0;r<t.length;r++){const o=t[r];if(o>=this.proxy.rowStart&&o<=this.proxy.rowEnd){const t=e[r];FT(this,o,Math.round(t),i),this._updateContainerHeight(o,t)}}this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame()}updateContainerWidth(t,e){t<this.frozenColCount?(this.rowHeaderGroup.setDeltaWidth(e),this.cornerHeaderGroup.setDeltaWidth(e),this.colHeaderGroup.setDeltaX(e),this.bodyGroup.setDeltaX(e)):(this.colHeaderGroup.setDeltaWidth(e),this.bodyGroup.setDeltaWidth(e)),this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame()}_updateContainerHeight(t,e){t<this.table.frozenRowCount?(this.colHeaderGroup.setDeltaHeight(e),this.cornerHeaderGroup.setDeltaHeight(e),this.rowHeaderGroup.setDeltaY(e),this.bodyGroup.setDeltaY(e),this.table.rightFrozenColCount&&this.rightFrozenGroup.setDeltaY(e)):t>=this.table.rowCount-this.table.bottomFrozenRowCount?(this.leftBottomCornerGroup.setDeltaHeight(e),this.bottomFrozenGroup.setDeltaHeight(e),this.table.rightFrozenColCount&&this.rightBottomCornerGroup.setDeltaHeight(e)):(this.rowHeaderGroup.setDeltaHeight(e),this.bodyGroup.setDeltaHeight(e),this.table.rightFrozenColCount&&this.rightFrozenGroup.setDeltaHeight(e))}updateContainerHeight(t,e){this._updateContainerHeight(t,e),this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame()}setColWidth(t,e){const i=this.table.getColWidth(t);i!==e&&(this.updateColWidth(t,e-i),this.table._clearColRangeWidthsMap(t))}setRowHeight(t,e){const i=this.table.getRowHeight(t);i!==e&&((t>=this.proxy.rowStart&&t<=this.proxy.rowEnd||t>=this.table.rowCount-this.table.bottomFrozenRowCount&&t<=this.table.rowCount-1||t<this.table.frozenRowCount)&&this.updateRowHeight(t,e-i),this.table._clearRowRangeHeightsMap(t))}setX(t,e=!1){this.table.scenegraph.proxy.setX(-t,e)}setY(t,e=!1){this.table.scenegraph.proxy.setY(-t,e)}setBodyAndRowHeaderY(t){const e=this.bodyGroup.firstChild?.firstChild,i=this.bodyGroup.firstChild?.lastChild;0===t&&e&&e.row===this.table.frozenRowCount&&e.attribute.y+t<0?t=-e.attribute.y:i&&this.table.tableNoFrameHeight<this.table.getAllRowsHeight()&&i.row===this.table.rowCount-this.table.bottomFrozenRowCount-1&&i.attribute.y+i.attribute.height+t<this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()&&(t=this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()-i.attribute.y-i.attribute.height),this.colHeaderGroup.attribute.height+t!==this.bodyGroup.attribute.y&&(this.bodyGroup.setAttribute("y",this.colHeaderGroup.attribute.height+t),this.rowHeaderGroup.setAttribute("y",this.cornerHeaderGroup.attribute.height+t),this.table.rightFrozenColCount>0&&this.rightFrozenGroup.setAttribute("y",this.rightTopCornerGroup.attribute.height+t),this.updateNextFrame())}setBodyAndColHeaderX(t){const e=this.bodyGroup.firstChild,i=this.bodyGroup.lastChild;0===t&&e&&e.col===this.table.frozenColCount&&e.attribute.x+t<0?t=-e.attribute.x:i&&this.table.tableNoFrameWidth<this.table.getAllColsWidth()&&i.col===this.table.colCount-this.table.rightFrozenColCount-1&&i.attribute.x+i.attribute.width+t<this.table.tableNoFrameWidth-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth()&&(t=this.table.tableNoFrameWidth-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth()-i.attribute.x-i.attribute.width),this.table.getFrozenColsWidth()+t!==this.bodyGroup.attribute.x&&(this.bodyGroup.setAttribute("x",this.table.getFrozenColsWidth()+t),this.colHeaderGroup.setAttribute("x",this.table.getFrozenColsWidth()+t),this.table.bottomFrozenRowCount>0&&this.bottomFrozenGroup.setAttribute("x",this.table.getFrozenColsWidth()+t),this.updateNextFrame())}afterScenegraphCreated(){this.isPivot||this.table.transpose?this.table.options.frozenColCount?this.component.setFrozenColumnShadow(this.table.frozenColCount-1):this.table.options.rightFrozenColCount?this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount):this.component.setFrozenColumnShadow(-1):(this.component.setFrozenColumnShadow(this.table.frozenColCount-1),this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount)),this.table.stateManager.checkFrozen(),this.updateContainer(),this.createFrameBorder(),this.updateBorderSizeAndPosition(),this.component.updateScrollBar(),xM(this.table),this.table.options.animationAppear&&function(t){if(!t.options.animationAppear)return;let e,i,r,o;!0===t.options.animationAppear?(e=500,i=0,r="one-by-one",o="column"):(e=t.options.animationAppear.duration??500,i=t.options.animationAppear.delay??0,r=t.options.animationAppear.type??"one-by-one",o=t.options.animationAppear.direction??"row");const{scenegraph:n,frozenColCount:s,frozenRowCount:a}=t,{colStart:l,colEnd:h,rowStart:c,rowEnd:d}=n.proxy;for(let t=0;t<=h;t++)for(let s=0;s<=d;s++){const a=n.highPerformanceGetCell(t,s);a&&"cell"===a.role&&a.forEachChildren((n=>{n.setAttribute("opacity",0),n.animate().wait("one-by-one"===r?("row"===o?s:t)*(e-i):i).to({opacity:1},e,"linear")}))}}(this.table),this.updateNextFrame()}dealWidthMode(){const t=this.table;if("adaptive"===t.widthMode){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0;for(let e=0;e<t.colCount;e++)if(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount){i+=t.getColWidth(e)}qB(e-i,t.rowHeaderLevelCount,t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount,!1,[],t,!0)}else if(t.autoFillWidth){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,r=0;for(let e=0;e<t.colCount;e++){const o=t.getColWidth(e);(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=o),r+=o}if(r<e&&r>i){qB(e-i,t.rowHeaderLevelCount,t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount,!1,[],t,!0)}}let e=0;this.bodyGroup.forEachChildrenSkipChild((t=>{e+=t.attribute.width})),this.bodyGroup.setAttribute("width",e);let i=0;this.colHeaderGroup.forEachChildrenSkipChild((t=>{i+=t.attribute.width})),this.colHeaderGroup.setAttribute("width",i);let r=0;this.rowHeaderGroup.forEachChildrenSkipChild((t=>{r+=t.attribute.width})),this.rowHeaderGroup.setAttribute("width",r);let o=0;this.cornerHeaderGroup.forEachChildrenSkipChild((t=>{o+=t.attribute.width})),this.cornerHeaderGroup.setAttribute("width",o),this.colHeaderGroup.setAttribute("x",this.cornerHeaderGroup.attribute.width),this.rowHeaderGroup.setAttribute("y",this.cornerHeaderGroup.attribute.height),this.bodyGroup.setAttributes({x:this.rowHeaderGroup.attribute.width,y:this.colHeaderGroup.attribute.height})}dealHeightMode(){const t=this.table;if("adaptive"===t.heightMode){t._clearRowRangeHeightsMap();const e=t.getRowsHeight(0,t.columnHeaderLevelCount-1),i=t.isPivotChart()?t.getBottomFrozenRowsHeight():0,r=t.tableNoFrameHeight-e-i,o=t.columnHeaderLevelCount,n=t.isPivotChart()?t.rowCount-t.bottomFrozenRowCount:t.rowCount;let s=0;for(let e=o;e<n;e++)s+=t.getRowHeight(e);const a=r/s;for(let e=o;e<n;e++){let i;i=e===n-1?r-t.getRowsHeight(o,n-2):Math.round(t.getRowHeight(e)*a),this.setRowHeight(e,i)}}else if(t.autoFillHeight){t._clearRowRangeHeightsMap();const e=t.tableNoFrameHeight;let i=0,r=0;for(let e=0;e<t.rowCount;e++){const o=t.getRowHeight(e);(e<t.columnHeaderLevelCount||t.isPivotChart()&&e>=t.rowCount-t.bottomFrozenRowCount)&&(r+=o),i+=o}if((this._dealAutoFillHeightOriginRowsHeight??i)<e&&i-r>0){const o=t.columnHeaderLevelCount,n=t.isPivotChart()?t.rowCount-t.bottomFrozenRowCount:t.rowCount,s=(e-r)/(i-r);for(let i=o;i<n;i++){let a;a=i===n-1?e-r-t.getRowsHeight(o,n-2):Math.round(t.getRowHeight(i)*s),this.setRowHeight(i,a)}}}}dealFrozen(){!function(t){if(t.table.frozenColCount>t.table.rowHeaderLevelCount){t.rowHeaderGroup.setAttribute("height",t.bodyGroup.attribute.height),t.rowHeaderGroup.setAttribute("y",t.bodyGroup.attribute.y),t.cornerHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height);for(let e=0;e<t.table.frozenColCount-t.table.rowHeaderLevelCount;e++)UM(t),KM(t),YM(t)}else if(t.table.frozenColCount<t.table.rowHeaderLevelCount){t.bodyGroup.setAttribute("height",t.rowHeaderGroup.attribute.height),t.bodyGroup.setAttribute("y",t.rowHeaderGroup.attribute.y),t.colHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height);for(let e=0;e<t.table.rowHeaderLevelCount-t.table.frozenColCount;e++)$M(t),XM(t),qM(t)}t.bodyGroup.setAttribute("x",t.rowHeaderGroup.attribute.width),t.colHeaderGroup.setAttribute("x",t.cornerHeaderGroup.attribute.width),t.updateContainer(),t.updateBorderSizeAndPosition(),t.isPivot||t.table.transpose?t.table.options.frozenColCount?t.component.setFrozenColumnShadow(t.table.frozenColCount-1):t.table.options.frozenColCount&&t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount):(t.component.setFrozenColumnShadow(t.table.frozenColCount-1),t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount)),t.hasFrozen=!0,t.frozenColCount=t.table.frozenColCount,t.frozenRowCount=t.colHeaderGroup.firstChild?.childrenCount??0}(this)}resetFrozen(){!function(t){if(t.frozenColCount>t.table.frozenColCount){t.bodyGroup.setAttribute("height",t.rowHeaderGroup.attribute.height),t.bodyGroup.setAttribute("y",t.rowHeaderGroup.attribute.y),t.colHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height);for(let e=0;e<t.frozenColCount-t.table.frozenColCount;e++)$M(t),XM(t),qM(t)}else if(t.frozenColCount<t.table.frozenColCount){t.rowHeaderGroup.setAttribute("height",t.bodyGroup.attribute.height),t.rowHeaderGroup.setAttribute("y",t.bodyGroup.attribute.y),t.cornerHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height);for(let e=0;e<t.table.frozenColCount-t.frozenColCount;e++)UM(t),KM(t),YM(t)}jM(t),t.recreateAllSelectRangeComponents(),t.frozenColCount=t.table.frozenColCount,t.frozenRowCount=t.colHeaderGroup.firstChild?.childrenCount??0,t.proxy.colStart=t.bodyGroup.firstChild?.col??t.table.frozenColCount,t.bodyGroup.setAttribute("x",t.rowHeaderGroup.attribute.width),t.colHeaderGroup.setAttribute("x",t.cornerHeaderGroup.attribute.width),t.updateContainer(),t.updateBorderSizeAndPosition(),t.isPivot||t.table.transpose?t.table.options.frozenColCount?t.component.setFrozenColumnShadow(t.table.frozenColCount-1):t.table.options.rightFrozenColCount&&t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount):(t.component.setFrozenColumnShadow(t.table.frozenColCount-1),t.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount)),t.hasFrozen=!0}(this)}resetRowFrozen(){!function(t){if(t.frozenRowCount>t.table.frozenRowCount){t.bodyGroup.setAttribute("width",t.colHeaderGroup.attribute.width),t.bodyGroup.setAttribute("x",t.colHeaderGroup.attribute.x),t.rowHeaderGroup.setAttribute("width",t.cornerHeaderGroup.attribute.width);for(let e=0;e<t.frozenRowCount-t.table.frozenRowCount;e++)eP(t),iP(t),rP(t)}else if(t.frozenRowCount<t.table.frozenRowCount){t.colHeaderGroup.setAttribute("width",t.bodyGroup.attribute.width),t.colHeaderGroup.setAttribute("x",t.bodyGroup.attribute.x),t.cornerHeaderGroup.setAttribute("width",t.rowHeaderGroup.attribute.width);for(let e=0;e<t.table.frozenRowCount-t.frozenRowCount;e++)JM(t),QM(t),tP(t)}jM(t),t.recreateAllSelectRangeComponents(),t.frozenRowCount=t.table.frozenRowCount,t.frozenColCount=t.rowHeaderGroup?.childrenCount??0,t.proxy.rowStart=t.bodyGroup.firstChild?.firstChild?.row??t.table.frozenRowCount,t.bodyGroup.setAttribute("y",t.colHeaderGroup.attribute.height),t.rowHeaderGroup.setAttribute("y",t.cornerHeaderGroup.attribute.height),t.updateContainer(),t.updateBorderSizeAndPosition(),t.hasFrozen=!0}(this)}updateCellLayoutWidthCertainWidth(t,e,i){const r=t.attribute.width;let o=!1;return t.forEachChildren(((t,n)=>{n+=e;const s=nx(this.table,i,n);s?t=this.getCell(s.start.col,s.start.row):t.setAttribute("width",r);const a=tA(IR("padding",this.table._getCellStyle(i,n),i,n,this.table)),l=t.getChildByName("text");let h=0,c=0;if(l)h=l.AABBBounds.height()+(a[0]+a[2]),l.setAttribute("maxLineWidth",r-(a[1]+a[3])),c=l.AABBBounds.height()+(a[0]+a[2]);else{const e=t.getChildAt(1);h=e.AABBBounds.height()+(a[0]+a[2]),e._cellWidth=r-(a[1]+a[3]),e.layout(),c=e.AABBBounds.height()+(a[0]+a[2])}const d=this.table.getRowHeight(n);t.attribute.height!==c&&(t.setAttribute("height",c),(d===h||c>d)&&(o=!0))})),o}updateHeaderPosition(t,e,i,r,o){!function(t,e,i,r,o,n){const s=n.scenegraph;for(let i=t;i<=e;i++){const t=n.getColWidth(i),e=n.scenegraph.getColGroup(i,!0),r=n.scenegraph.getColGroup(i),o=n.scenegraph.getColGroupInBottom(i),s=n.scenegraph.getColGroupInLeftBottomCorner(i),a=n.scenegraph.getColGroupInRightBottomCorner(i);e&&(e.setAttribute("width",t),e.forEachChildren((e=>{e.setAttribute("width",t)}))),r&&(r.setAttribute("width",t),r.forEachChildren((e=>{e.setAttribute("width",t)}))),o&&(o.setAttribute("width",t),o.forEachChildren((e=>{e.setAttribute("width",t)}))),a&&(a.setAttribute("width",t),a.forEachChildren((e=>{e.setAttribute("width",t)}))),s&&(s.setAttribute("width",t),s.forEachChildren((e=>{e.setAttribute("width",t)})))}if(s.updateContainer(),"column"===o)for(let i=t;i<=e;i++){const t=n.scenegraph.getColGroup(i);t?.setAttribute("chartInstance",void 0);for(let t=0;t<=n.frozenRowCount-1;t++)s.updateCellContent(i,t);for(let t=s.bodyRowStart;t<=s.bodyRowEnd;t++)s.updateCellContent(i,t);for(let t=n.rowCount-n.bottomFrozenRowCount;t<=n.rowCount-1;t++)s.updateCellContent(i,t)}else{for(let t=0;t<=n.frozenColCount-1;t++){const e=n.scenegraph.getColGroup(t);e?.setAttribute("chartInstance",void 0);for(let e=i;e<=r;e++)s.updateCellContent(t,e)}for(let t=s.bodyColStart;t<=s.bodyColEnd;t++){const e=n.scenegraph.getColGroup(t);e?.setAttribute("chartInstance",void 0);for(let e=i;e<=r;e++)s.updateCellContent(t,e)}for(let t=n.colCount-n.rightFrozenColCount;t<=n.colCount-1;t++){const e=n.scenegraph.getColGroup(t);e?.setAttribute("chartInstance",void 0);for(let e=i;e<=r;e++)s.updateCellContent(t,e)}}}(t,e,i,r,o,this.table)}updateContainerAttrWidthAndX(){const t=lP(this.cornerHeaderGroup,0),e=lP(this.rowHeaderGroup,0),i=this.colHeaderGroup.hasChildNodes()&&this.colHeaderGroup.firstChild?lP(this.colHeaderGroup,this.colHeaderGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.colHeaderGroup.firstChild.col-1):0):0,r=this.bodyGroup.hasChildNodes()&&this.bodyGroup.firstChild?lP(this.bodyGroup,this.bodyGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bodyGroup.firstChild.col-1):0):0,o=lP(this.rightFrozenGroup.childrenCount>0?this.rightFrozenGroup:this.rightTopCornerGroup,0);this.bottomFrozenGroup.hasChildNodes()&&this.bottomFrozenGroup.firstChild&&lP(this.bottomFrozenGroup,this.bottomFrozenGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bottomFrozenGroup.firstChild.col-1):0),lP(this.leftBottomCornerGroup,0),lP(this.rightTopCornerGroup,0),lP(this.rightBottomCornerGroup,0),this.cornerHeaderGroup.setDeltaWidth(t-this.cornerHeaderGroup.attribute.width),this.leftBottomCornerGroup.setDeltaWidth(t-this.leftBottomCornerGroup.attribute.width),this.colHeaderGroup.setDeltaWidth(i-this.colHeaderGroup.attribute.width),this.rowHeaderGroup.setDeltaWidth(e-this.rowHeaderGroup.attribute.width),this.bottomFrozenGroup.setDeltaWidth(i-this.bottomFrozenGroup.attribute.width),this.rightFrozenGroup.setDeltaWidth(o-this.rightFrozenGroup.attribute.width),this.rightTopCornerGroup.setDeltaWidth(o-this.rightTopCornerGroup.attribute.width),this.rightBottomCornerGroup.setDeltaWidth(o-this.rightBottomCornerGroup.attribute.width),this.bodyGroup.setDeltaWidth(r-this.bodyGroup.attribute.width),this.colHeaderGroup.setAttribute("x",this.cornerHeaderGroup.attribute.width),this.bottomFrozenGroup.setAttribute("x",this.table.getFrozenColsWidth()),this.bodyGroup.setAttribute("x",this.rowHeaderGroup.attribute.width)}updateContainer(t=!1){t?this._needUpdateContainer||(this._needUpdateContainer=!0,setTimeout((()=>{this.updateContainerSync()}),0)):(this._needUpdateContainer=!0,this.updateContainerSync())}updateContainerSync(){this._needUpdateContainer&&(this._needUpdateContainer=!1,this.updateContainerAttrWidthAndX(),this.updateTableSize(),this.component.updateScrollBar(),this.updateNextFrame())}updateCellContentWhileResize(t,e){const i=this.table.getCellRawRecord(t,e)?.vtableMerge,r=i?"text":this.table.isHeader(t,e)?this.table._getHeaderLayoutMap(t,e).headerType:this.table.getBodyColumnType(t,e),o=this.getCell(t,e);"image"!==r&&"video"!==r||qR(o,t,e,0,0,this.table)}createFrameBorder(){this.updateTableSize();const t=!this.isPivot&&!this.table.internalProps.transpose;YT(this.bodyGroup,this.table.theme.bodyStyle.frameStyle,this.bodyGroup.role,t?[!0,!0,!0,!1]:void 0),YT(this.rowHeaderGroup,this.isPivot||this.table.internalProps.transpose?this.table.theme.rowHeaderStyle.frameStyle:this.table.theme.bodyStyle.frameStyle,this.rowHeaderGroup.role,t?[!0,!1,!0,!0]:void 0),YT(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle,this.colHeaderGroup.role,t?[!0,!0,!0,!1]:void 0),YT(this.cornerHeaderGroup,this.isPivot?this.table.theme.cornerHeaderStyle.frameStyle:this.table.theme.headerStyle.frameStyle,this.cornerHeaderGroup.role,t?[!0,!1,!0,!0]:void 0),this.table.theme.cornerLeftBottomCellStyle?.frameStyle&&YT(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle.frameStyle,this.leftBottomCornerGroup.role,t?[!0,!1,!0,!0]:void 0),this.table.theme.bottomFrozenStyle?.frameStyle&&YT(this.bottomFrozenGroup,this.table.theme.bottomFrozenStyle.frameStyle,this.bottomFrozenGroup.role,t?[!0,!0,!0,!1]:void 0),this.table.theme.rightFrozenStyle?.frameStyle&&YT(this.rightFrozenGroup,this.table.theme.rightFrozenStyle.frameStyle,this.rightFrozenGroup.role,void 0),this.table.theme.cornerRightTopCellStyle?.frameStyle&&YT(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle.frameStyle,this.rightTopCornerGroup.role,void 0),this.table.theme.cornerRightBottomCellStyle?.frameStyle&&YT(this.rightBottomCornerGroup,this.table.theme.cornerRightBottomCellStyle.frameStyle,this.rightBottomCornerGroup.role,void 0),YT(this.tableGroup,this.table.theme.frameStyle,this.tableGroup.role,void 0)}getResizeColAt(t,e,i){const r=this.table.theme.columnResize.resizeHotSpotSize/2;let o;if(!i){const i=this.table.getDrawRange();return e>=i.top&&e<=i.bottom&&(o=this.table.getCellAtRelativePosition(t-r,e),o.col===this.table.colCount-1)?o:{col:-1,row:-1}}return i.stage?(t<i.globalAABBBounds.x1+r?o={col:i.col-1,row:i.row,x:i.globalAABBBounds.x1}:i.globalAABBBounds.x2-r<t&&(o={col:i.col,row:i.row,x:i.globalAABBBounds.x2}),o&&this.table.rightFrozenColCount>0&&o.col>=this.table.colCount-this.table.rightFrozenColCount-1&&this.table.tableNoFrameWidth-this.table.getFrozenColsWidth()-this.table.getRightFrozenColsWidth()+this.table.scrollLeft<this.bodyGroup.attribute.width&&(o.col=o.col+1,o.rightFrozen=!0),o||{col:-1,row:-1}):{col:-1,row:-1}}getResizeRowAt(t,e,i){const r=this.table.theme.columnResize.resizeHotSpotSize/2;if(i){let t;if(e<i.globalAABBBounds.y1+r?t={col:i.col,row:i.row-1,y:i.globalAABBBounds.y1}:i.globalAABBBounds.y2-r<e&&(t={col:i.col,row:i.row,y:i.globalAABBBounds.y2}),t&&this.table.bottomFrozenRowCount>0&&t.row>=this.table.rowCount-this.table.bottomFrozenRowCount-1&&this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()+this.table.scrollTop<this.bodyGroup.attribute.height&&(t.row=t.row+1,t.bottomFrozen=!0),t)return t}else;return{col:-1,row:-1}}updateFrozen(){this.clear||(this.resetFrozen(),this.component.updateScrollBar())}updateRowFrozen(){this.clear||(this.resetRowFrozen(),this.component.updateScrollBar())}dealWidthRightFrozen(t){this.clear?this.table.internalProps.rightFrozenColCount=t:function(t,e){const{table:i,proxy:r,rightTopCornerGroup:o,rightFrozenGroup:n,rightBottomCornerGroup:s,bottomFrozenGroup:a,bodyGroup:l,colHeaderGroup:h}=e,c=e.table.rightFrozenColCount;if(t>c){for(let r=i.colCount-c-1;r>=i.colCount-t;r--)ZM(n,e.getColGroup(r),n.firstChild),ZM(o,e.getColGroup(r,!0),o.firstChild),ZM(s,e.getColGroupInBottom(r),s.firstChild);let r=0;n.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,o.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,s.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width}))}else if(t<c){for(let r=i.colCount-c;r<i.colCount-t;r++){const t=e.getColGroup(r);t.setAttribute("x",l.lastChild.attribute.x+i.getColWidth(l.lastChild.col)),l.appendChild(t);const o=e.getColGroupInRightTopCorner(r);o.setAttribute("x",h.lastChild.attribute.x+i.getColWidth(h.lastChild.col)),h.appendChild(o);const n=e.getColGroupInRightBottomCorner(r);n.setAttribute("x",a.lastChild.attribute.x+i.getColWidth(a.lastChild.col)),a.appendChild(n)}let r=0;n.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,o.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width})),r=0,s.forEachChildren((t=>{t.setAttribute("x",r),r+=t.attribute.width}))}n.setAttribute("width",i.getColsWidth(i.colCount-t,i.colCount-1)),o.setAttribute("width",i.getColsWidth(i.colCount-t,i.colCount-1)),s.setAttribute("width",i.getColsWidth(i.colCount-t,i.colCount-1)),i.internalProps.rightFrozenColCount=t,e.updateContainer(),e.component.updateScrollBar(),e.updateNextFrame()}(t,this)}dealWidthBottomFrozen(t){this.clear?this.table.internalProps.bottomFrozenRowCount=t:function(t,e){const{table:i,proxy:r,bottomFrozenGroup:o,leftBottomCornerGroup:n,rightBottomCornerGroup:s}=e;o.childrenCount||(r.table.isPivotChart()||(iM(n,0,0,0,i.frozenColCount-1,0,-1,"rowHeader",i),iM(s,0,0,i.colCount-i.rightFrozenColCount,i.colCount-1,0,-1,"body",i)),iM(o,0,0,r.colStart,r.colEnd,0,-1,"body",i));const a=e.table.bottomFrozenRowCount;if(t>a){for(let r=0;r<i.frozenColCount;r++){const o=e.getColGroupInLeftBottomCorner(r);for(let n=i.rowCount-a-1;n>=i.rowCount-t;n--)ZM(o,e.getCell(r,n,!0),o.firstChild);let n=0;o.forEachChildren((t=>{t.setAttribute("y",n),n+=i.getRowHeight(t.row)}))}for(let o=r.colStart;o<=r.colEnd;o++){const r=e.getColGroupInBottom(o);for(let n=i.rowCount-a-1;n>=i.rowCount-t;n--)ZM(r,e.getCell(o,n,!0),r.firstChild);let n=0;r.forEachChildren((t=>{t.setAttribute("y",n),n+=i.getRowHeight(t.row)}))}if(i.rightFrozenColCount>0)for(let r=i.colCount-i.rightFrozenColCount;r<i.colCount;r++){const o=e.getColGroupInRightBottomCorner(r);for(let n=i.rowCount-a-1;n>=i.rowCount-t;n--)ZM(o,e.getCell(r,n,!0),o.firstChild);let n=0;o.forEachChildren((t=>{t.setAttribute("y",n),n+=i.getRowHeight(t.row)}))}}else if(t<a){for(let r=0;r<i.rowHeaderLevelCount;r++){const o=e.getColGroup(r);for(let n=i.rowCount-a;n<i.rowCount-t;n++){const t=e.getCell(r,n,!0);t.setAttribute("y",o.lastChild.attribute.y+i.getRowHeight(o.lastChild.row)),o.appendChild(t)}const n=e.getColGroupInLeftBottomCorner(r);let s=0;n.forEachChildren((t=>{t.setAttribute("y",s),s+=i.getRowHeight(t.row)}))}for(let o=r.colStart;o<=r.colEnd;o++){const r=e.getColGroup(o);for(let n=i.rowCount-a;n<i.rowCount-t;n++){const t=e.getCell(o,n,!0);t.setAttribute("y",r.lastChild.attribute.y+i.getRowHeight(r.lastChild.row)),r.appendChild(t)}const n=e.getColGroupInBottom(o);let s=0;n.forEachChildren((t=>{t.setAttribute("y",s),s+=i.getRowHeight(t.row)}))}if(i.rightFrozenColCount>0)for(let r=i.colCount-i.rightFrozenColCount;r<i.colCount;r++){const o=e.getColGroup(r);for(let n=i.rowCount-a;n<i.rowCount-t;n++){const t=e.getCell(r,n,!0);t.setAttribute("y",o.lastChild.attribute.y+i.getRowHeight(o.lastChild.row)),o.appendChild(t)}const n=e.getColGroupInRightBottomCorner(r);let s=0;n.forEachChildren((t=>{t.setAttribute("y",s),s+=i.getRowHeight(t.row)}))}}o.setAttribute("height",i.getRowsHeight(i.rowCount-t,i.rowCount-1)),n.setAttribute("height",i.getRowsHeight(i.rowCount-t,i.rowCount-1)),s.setAttribute("height",i.getRowsHeight(i.rowCount-t,i.rowCount-1)),i.internalProps.bottomFrozenRowCount=t,e.updateContainer(),e.component.updateScrollBar(),e.updateNextFrame()}(t,this)}updateBorderSizeAndPosition(){this.bodyGroup.border&&(this.bodyGroup.appendChild(this.bodyGroup.border),JT(this.bodyGroup),this.rowHeaderGroup.attribute.width,qT(this.bodyGroup,this.table.theme.bodyStyle.frameStyle)),this.colHeaderGroup.border&&(this.colHeaderGroup.appendChild(this.colHeaderGroup.border),JT(this.colHeaderGroup),this.cornerHeaderGroup.attribute.width,qT(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle)),this.rowHeaderGroup.border&&(this.rowHeaderGroup.appendChild(this.rowHeaderGroup.border),JT(this.rowHeaderGroup)),this.cornerHeaderGroup.border&&(this.cornerHeaderGroup.appendChild(this.cornerHeaderGroup.border),JT(this.cornerHeaderGroup)),this.leftBottomCornerGroup.border&&(this.leftBottomCornerGroup.appendChild(this.leftBottomCornerGroup.border),JT(this.leftBottomCornerGroup)),this.bottomFrozenGroup.border&&(this.bottomFrozenGroup.appendChild(this.bottomFrozenGroup.border),JT(this.bottomFrozenGroup)),this.rightFrozenGroup.border&&(this.rightFrozenGroup.appendChild(this.rightFrozenGroup.border),JT(this.rightFrozenGroup)),this.rightTopCornerGroup.border&&(this.rightTopCornerGroup.appendChild(this.rightTopCornerGroup.border),JT(this.rightTopCornerGroup)),this.rightBottomCornerGroup.border&&(this.rightBottomCornerGroup.appendChild(this.rightBottomCornerGroup.border),JT(this.rightBottomCornerGroup)),function(t){if(!t.theme.frameStyle.cornerRadius)return;const e=t.theme.frameStyle.cornerRadius,{cornerHeaderGroup:i,colHeaderGroup:r,rowHeaderGroup:o,bodyGroup:n,rightTopCornerGroup:s,leftBottomCornerGroup:a,rightBottomCornerGroup:l,rightFrozenGroup:h,bottomFrozenGroup:c}=t.scenegraph;i.setAttribute("cornerRadius",0),r.setAttribute("cornerRadius",0),o.setAttribute("cornerRadius",0),n.setAttribute("cornerRadius",0),s.setAttribute("cornerRadius",0),a.setAttribute("cornerRadius",0),l.setAttribute("cornerRadius",0),h.setAttribute("cornerRadius",0),c.setAttribute("cornerRadius",0);const d=gv(e);i.attribute.width>0&&i.attribute.height>0?QT(i,[d[0],0,0,0]):r.attribute.height>0?QT(r,[d[0],0,0,0]):o.attribute.width>0?QT(o,[d[0],0,0,0]):QT(n,[d[0],0,0,0]),a.attribute.width>0&&a.attribute.height>0?QT(a,[0,0,0,d[3]]):c.attribute.height>0?QT(c,[0,0,0,d[3]]):o.attribute.width>0?QT(o,[0,0,0,d[3]]):QT(n,[0,0,0,d[3]]),s.attribute.width>0&&s.attribute.height>0?QT(s,[0,d[1],0,0]):r.attribute.height>0?QT(r,[0,d[1],0,0]):h.attribute.width>0?QT(h,[0,d[1],0,0]):QT(n,[0,d[1],0,0]),l.attribute.width>0&&l.attribute.height>0?QT(l,[0,0,d[2],0]):h.attribute.width>0?QT(h,[0,0,d[2],0]):c.attribute.height>0?QT(c,[0,0,d[2],0]):QT(n,[0,0,d[2],0])}(this.table)}sortCell(){this.isPivot||(this.table.transpose?this.proxy.sortCellHorizontal():this.proxy.sortCellVertical())}getCellOverflowText(t,e){const i=this.getCell(t,e).getChildByName("text",!0);if(i&&"text"===i.type){if(i.attribute.moreThanMaxCharacters)return this.table.getCellValue(t,e);if(i.cliped)return this.table.getCellValue(t,e)}else if(i&&"richtext"===i.type){const r=i;if(r.attribute.ellipsis&&r._frameCache&&r.attribute.height<r._frameCache.actualHeight)return r.attribute.textConfig.find((t=>t.text)),this.table.getCellValue(t,e)}return null}updateDrill(t,e,i,r,o){this.component.drillIcon.update(t,e,i,r,o,this)}updateCellContent(t,e,i=!1){if(!this.clear)return nT(t,e,this.table,void 0,void 0,i)}setPixelRatio(t){this.stage.disableDirtyBounds(),this.stage.window.setDpr(t),this.stage.render(),this.stage.enableDirtyBounds()}updateRow(t,e,i=[],r=!0,o){this.table.internalProps.layoutMap.clearCellRangeMap(),this.table.internalProps.useOneRowHeightFillAll=!1;const n=qw(e.map((t=>t.row))).sort(((t,e)=>t-e)),s=qw(i.map((t=>t.row))).sort(((t,e)=>t-e)),a=this.table.getAllRowsHeight()-[...n,...s].reduce(((t,e)=>t+this.table.getRowHeight(e)),0)<=this.table.tableNoFrameHeight;if(OM(t,e,i,this.table,o),r&&this.recalculateColWidths(),"adaptive"===this.table.heightMode||this.table.autoFillHeight&&(this.table.getAllRowsHeight()<=this.table.tableNoFrameHeight||a))this.table.scenegraph.recalculateRowHeights();else if(this.table.isAutoRowHeight())for(let t=0;t<s.length;t++){const e=s[t],i=this.table.getRowHeight(e),r=BT(e,0,this.table.colCount-1,this.table);(e>=this.proxy.rowStart&&e<=this.proxy.rowEnd||e>=this.table.rowCount-this.table.bottomFrozenRowCount&&e<=this.table.rowCount-1)&&this.table.scenegraph.updateRowHeight(e,r-i)}this.table.stateManager.checkFrozen(),this.isPivot||this.table.transpose?this.table.options.frozenColCount?this.component.setFrozenColumnShadow(this.table.frozenColCount-1):this.table.options.rightFrozenColCount&&this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount):(this.component.setFrozenColumnShadow(this.table.frozenColCount-1),this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount)),this.component.updateScrollBar(),this.updateNextFrame()}updateCol(t,e,i=[]){pP(t,e,i,this.table),this.recalculateColWidths(),this.recalculateRowHeights(),this.table.stateManager.checkFrozen(),this.isPivot||this.table.transpose?this.table.options.frozenColCount?this.component.setFrozenColumnShadow(this.table.frozenColCount-1):this.table.options.rightFrozenColCount&&this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount):(this.component.setFrozenColumnShadow(this.table.frozenColCount-1),this.component.setRightFrozenColumnShadow(this.table.colCount-this.table.rightFrozenColCount)),this.component.updateScrollBar(),this.updateNextFrame()}updateCornerHeaderCells(){for(let t=0;t<this.table.frozenColCount;t++)for(let e=0;e<this.table.frozenRowCount;e++)nT(t,e,this.table,!1)}updateRowHeaderCells(){for(let t=0;t<this.table.frozenColCount;t++)for(let e=this.table.frozenRowCount;e<this.table.rowCount;e++)nT(t,e,this.table,!1)}updateColumnHeaderCells(){for(let t=0;t<this.table.frozenRowCount;t++)for(let e=this.table.frozenColCount;e<this.table.colCount;e++)nT(e,t,this.table,!1)}getColumnGroupX(t){return t<this.table.rowHeaderLevelCount?this.table.getColsWidth(0,t-1):t<this.table.colCount-this.table.rightFrozenColCount?this.table.getColsWidth(this.table.rowHeaderLevelCount,t-1):t<this.table.colCount?this.table.getColsWidth(this.table.colCount-this.table.bottomFrozenRowCount,t-1):0}getCellGroupY(t){return t<this.table.frozenRowCount?this.table.getRowsHeight(0,t-1):t<this.table.rowCount-this.table.bottomFrozenRowCount?this.table.getRowsHeight(this.table.frozenRowCount,t-1):t<this.table.rowCount?this.table.getRowsHeight(this.table.rowCount-this.table.bottomFrozenRowCount,t-1):0}getCellGroupX(t){return t<this.table.rowHeaderLevelCount?this.table.getColsWidth(0,t-1):t<this.table.colCount-this.table.rightFrozenColCount?this.table.getColsWidth(this.table.rowHeaderLevelCount,t-1):t<this.table.colCount?this.table.getColsWidth(this.table.colCount-this.table.rightFrozenColCount,t-1):0}updateDomContainer(){!function(t){const{headerDomContainer:e,bodyDomContainer:i,frozenBodyDomContainer:r,frozenHeaderDomContainer:o,rightFrozenBodyDomContainer:n,rightFrozenHeaderDomContainer:s,bottomDomContainer:a,frozenBottomDomContainer:l,rightFrozenBottomDomContainer:h}=t.internalProps;if(!(e||i||r||o||n||s||a||l||h))return;const c=t.getAllColsWidth(),d=Math.min(c,t.tableNoFrameWidth),u=t.getFrozenColsWidth(),g=t.getRightFrozenColsWidth(),p=u+g,f=Math.min(c-p,d-p),m=t.getAllRowsHeight(),b=Math.min(m,t.tableNoFrameHeight),y=t.getFrozenRowsHeight(),C=t.getBottomFrozenRowsHeight(),w=y+C,v=Math.min(m-w,b-w);t.frozenColCount>0?(e.style.left=`${t.tableX+u}px`,i.style.left=`${t.tableX+u}px`,a.style.left=`${t.tableX+u}px`):0===t.frozenColCount&&(e.style.left=`${t.tableX}px`,i.style.left=`${t.tableX}px`,a.style.left=`${t.tableX}px`),r.style.left=`${t.tableX}px`,o.style.left=`${t.tableX}px`,e.style.width=`${f}px`,e.style.height=`${y}px`,i.style.top=`${t.tableY}px`,i.style.width=`${f}px`,i.style.height=`${v}px`,i.style.top=`${t.tableY+y}px`,r.style.width=`${u}px`,r.style.height=`${v}px`,r.style.top=`${t.tableY+y}px`,o.style.width=`${u}px`,o.style.height=`${y}px`,o.style.top=`${t.tableY}px`,n.style.width=`${g}px`,n.style.height=`${v}px`,n.style.top=`${t.tableY+y}px`,n.style.left=t.tableX+d-g+"px",s.style.width=`${g}px`,s.style.height=`${y}px`,s.style.top=`${t.tableY}px`,s.style.left=t.tableX+d-g+"px",a.style.width=`${f}px`,a.style.height=`${C}px`,a.style.top=t.tableY+b-C+"px",l.style.width=`${u}px`,l.style.height=`${C}px`,l.style.top=t.tableY+b-C+"px",h.style.width=`${g}px`,h.style.height=`${C}px`,h.style.top=t.tableY+b-C+"px",h.style.left=t.tableX+d-g+"px"}(this.table)}setLoadingHierarchyState(t,e){const i=this.getCell(t,e),r=i.getChildByName("collapse",!0)||i.getChildByName("expand",!0);if(r){const i=kR()[tw.loadingIconName];i&&GR(i,r,t,e)}}temporarilyUpdateSelectRectStyle(t){!function(t,e){const{selectedRangeComponents:i}=e;i.forEach(((e,i)=>{e.rect.setAttributes(t)})),e.updateNextFrame()}(t,this)}resetSelectRectStyle(){this.recreateAllSelectRangeComponents()}}function CP(t,e,i){const r=t.highPerformanceGetCell(e,i);if("cell"===r.role&&J(r.mergeStartCol)&&J(r.mergeStartRow)&&J(r.mergeEndCol)&&J(r.mergeEndRow)){const{colStart:e,colEnd:i,rowStart:o,rowEnd:n}=ET(r,t);for(let r=e;r<=i;r++)for(let e=o;e<=n;e++){const i=t.highPerformanceGetCell(r,e);"cell"===i.role&&i.addUpdateBoundTag()}}else r.addUpdateBoundTag()}function wP(t,e,i,r,o){const n=t.table;for(let i=0;i<n.columnHeaderLevelCount;i++)CP(t,e,i);const s=t.getColGroup(e);return s?.addUpdateBoundTag(),!0}function vP(t,e,i,r,o,n){const s=t.table;for(let i=0;i<s.columnHeaderLevelCount;i++)CP(t,e,i);const a=t.getColGroup(e);return a?.addUpdateBoundTag(),!0}function xP(t,e,i,r,o){const n=t.table;for(let e=0;e<n.colCount;e++)CP(t,e,i);return!0}function _P(t,e,i,r,o,n){const s=t.table;for(let e=0;e<s.colCount;e++)CP(t,e,i);return!0}function SP(t,e,i){const{table:r}=t,{scenegraph:o}=r,{highlightScope:n,singleStyle:s,disableHeader:a,cellPos:l,cellPosContainHeader:h}=t.hover,c=l.col,d=l.row;if(n===KC.none||a&&(h.col!==e||h.row!==i)){const t=h.col,r=h.row;o.hideHoverIcon(t,r),o.showHoverIcon(e,i),h.col=e,h.row=i}if((a&&r.isHeader(e,i)||n===KC.none)&&(e=-1,i=-1),c===e&&d===i)return;o.deactivateChart(c,d),o.activateChart(e,i);let u=!1;const{ranges:g,highlightScope:p}=t.select;if(-1!==c&&-1!==d&&(u=function(t,e,i,r,o,n,s){let a=!1;n===KC.single?a=!!function(t,e,i,r,o){return CP(t,e,i),!0}(t,e,i)||a:n===KC.row?a=!!xP(t,0,i)||a:n===KC.column?a=!!wP(t,e)||a:n===KC.cross&&(a=!!xP(t,0,i)||a,a=!!wP(t,e)||a);return a}(o,c,d,0,0,n),a||o.hideHoverIcon(c,d)),-1===e||-1===i)return l.col=-1,l.row=-1,void(!u||c===e&&d===i||t.table.scenegraph.updateNextFrame());n===KC.single?u=!!function(t,e,i,r,o){return CP(t,e,i),!0}(o,e,i)||u:n===KC.row?u=!!_P(o,0,i)||u:n===KC.column?u=!!vP(o,e)||u:n===KC.cross&&(u=!!_P(o,0,i)||u,u=!!vP(o,e)||u),n===KC.none||a||o.showHoverIcon(e,i),l.col=e,l.row=i,u&&t.table.scenegraph.updateNextFrame()}function AP(t,e,i,r){let o,n=null,s=!1;if(Array.isArray(i.sortState))for(let r=0;r<i.sortState.length&&(o=i.sortState[r],o&&(n=i._getHeaderCellBySortState(o)),n&&(s=RP(t,e,n.col,n.row,i)),!s);r++);else o=i.sortState,o&&(n=i._getHeaderCellBySortState(o)),n&&(s=RP(t,e,n.col,n.row,i));const a=i.getHeaderDefine(t,e);o&&s&&a?.sort?o.order="asc"===o.order?"desc":"desc"===o.order?"normal":"asc":a?.sort?o={field:i.getHeaderField(t,e),order:"asc"}:s&&a?.showSort||(o={field:i.getHeaderField(t,e),order:"normal"}),o.event=r;if(i.fireListeners(_v.SORT_CLICK,o).includes(!1))return;let l=!1,h=i.internalProps.sortState?Array.isArray(i.internalProps.sortState)&&(l=!0)?i.internalProps.sortState:[i.internalProps.sortState]:[];if(Array.isArray(h)){const t=h.findIndex((t=>t.field===o.field));t>=0?h[t]=o:h.push(o)}h=h.filter((t=>"normal"!==t.order)),h=i.internalProps.multipleSort&&(l=!0)?h:h.splice(-1),h=l&&h.length?h:h[0],i.internalProps.sortState=h,i.stateManager.setSortState(h),a?.sort&&function(t,e,i){t=Array.isArray(t)||!t?t:[t],e.dataSource.sort((t||[]).map((t=>{const i=e.internalProps.layoutMap.headerObjects.find((e=>e&&e.field===t.field));return{field:t.field,order:t.order||"asc",orderFn:"function"==typeof i?.define?.sort?i?.define?.sort:Xw}})))}(h,i),i.internalProps.useOneRowHeightFillAll=!1,i.internalProps.layoutMap.clearCellRangeMap(),i.scenegraph.sortCell();const c=!!i.stateManager.select.ranges?.length;i.stateManager.updateSelectPos(-1,-1),i.stateManager.endSelectCells(!0,c)}function RP(t,e,i,r,o){return o._getLayoutCellId(t,e)===o._getLayoutCellId(i,r)}const TP=av(_v,{PIVOT_SORT_CLICK:"pivot_sort_click",DRILLMENU_CLICK:"drillmenu_click"}),BP=av(_v,{VCHART_EVENT_TYPE:"vchart_event_type"});function MP(t,e,i,r,o){for(let i=t;i<=e;i++)o._clearColRangeWidthsMap(i);for(let t=i;t<=r;t++)o._clearRowRangeHeightsMap(t)}function PP(t){if(!t)return;const e=t.role?.startsWith("icon")?t:"richtext"===t.type?t._currentHoverIcon:void 0;return e?"richtext"===t.type?{icon:e,position:{left:t.globalAABBBounds.x1+e.globalAABBBounds.x1,right:t.globalAABBBounds.x1+e.globalAABBBounds.x2,top:t.globalAABBBounds.y1+e.globalAABBBounds.y1,bottom:t.globalAABBBounds.y1+e.globalAABBBounds.y2,width:e.globalAABBBounds.x2-e.globalAABBBounds.x1,height:e.globalAABBBounds.y2-e.globalAABBBounds.y1},type:"richtext-icon"}:{icon:e,position:{left:e.globalAABBBounds.x1,right:e.globalAABBBounds.x2,top:e.globalAABBBounds.y1,bottom:e.globalAABBBounds.y2,width:e.globalAABBBounds.x2-e.globalAABBBounds.x1,height:e.globalAABBBounds.y2-e.globalAABBBounds.y1},type:"icon"}:void 0}function HP(t,e){"adaptive"===e.table.widthMode&&e.columnResize.col<e.table.colCount-1?(e.table.scenegraph.updateColWidth(e.columnResize.col,t),e.table.scenegraph.updateColWidth(e.columnResize.col+1,-t),e.table.internalProps._widthResizedColMap.add(e.columnResize.col),e.table.internalProps._widthResizedColMap.add(e.columnResize.col+1)):(e.table.scenegraph.updateColWidth(e.columnResize.col,t),e.table.internalProps._widthResizedColMap.add(e.columnResize.col))}function kP(t,e){e.checkedState.clear(),e.headerCheckedState={},e.radioState={};let i=!1;if(e._checkboxCellTypeFields=[],e._headerCheckFuncs={},e.table.internalProps.layoutMap.headerObjects.forEach(((t,r)=>{if("checkbox"===t.headerType){const r=t.define.checked;null==r||"function"==typeof r?(i=!0,"function"==typeof r&&(e._headerCheckFuncs[t.field]=r)):e.headerCheckedState[t.field]=r,"checkbox"!==t.define.cellType&&!q(t.define.cellType)||t.fieldFormat||e._checkboxCellTypeFields.push(t.field)}})),1===e.table.leftRowSeriesNumberCount)e.headerCheckedState._vtable_rowSeries_number=!1,e._checkboxCellTypeFields.push("_vtable_rowSeries_number"),i=!0;else if(e.table.leftRowSeriesNumberCount>1){for(let t=0;t<e.table.leftRowSeriesNumberCount;t++)e.headerCheckedState[`_vtable_rowSeries_number_${t}`]=!1,e._checkboxCellTypeFields.push(`_vtable_rowSeries_number_${t}`);i=!0}i&&function(t,e){const i=e.table,r=i.isPivotTable()?0:i.internalProps.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount,o=i.isPivotTable()?ot(t)?t.length:0:i.internalProps.transpose?i.colCount:i.rowCount;for(let n=0;n+r<o;n++){const r=i.isPivotTable()?t[n]:i.dataSource.get(n);e._checkboxCellTypeFields.forEach((t=>{const o=r&&r[t];let s;if(Q(o)?s=o.checked:"boolean"==typeof o&&(s=o),null==s){const i=e._headerCheckFuncs[t];if(i){const r=e.table.getCellAddrByFieldRecord(t,n);s=cv(i,{col:r.col,row:r.row,table:e.table,context:null,value:o})}}const a=i.isPivotTable()?n.toString():e.table.dataSource.getIndexKey(n).toString();e.checkedState.get(a)||e.checkedState.set(a,{}),e.checkedState.get(a)[t]=s}))}}(t,e)}function LP(t,e,i,r){const o=r.scenegraph.getCell(t,e),n=o?.getChildByName("checkbox");n&&("indeterminate"===i?(n.setAttribute("indeterminate",!0),n.setAttribute("checked",void 0)):(n.setAttribute("indeterminate",void 0),n.setAttribute("checked",i)))}function EP(t,e){"adaptive"===e.table.heightMode&&e.rowResize.row<e.table.rowCount-1?(e.table.scenegraph.updateRowHeight(e.rowResize.row,t),e.table.scenegraph.updateRowHeight(e.rowResize.row+1,-t),e.table.internalProps._heightResizedRowMap.add(e.rowResize.row),e.table.internalProps._heightResizedRowMap.add(e.rowResize.row+1)):(e.table.scenegraph.updateRowHeight(e.rowResize.row,t),e.table.internalProps._heightResizedRowMap.add(e.rowResize.row))}class FP{table;interactionState;interactionStateBeforeScroll;select;fillHandle;hover;hoverIcon;residentHoverIcon;columnResize;rowResize;columnMove;menu;sort;frozen;scroll;tablePosition;drill;sparkLine;_clearVerticalScrollBar;_clearHorizontalScrollBar;fastScrolling=!1;checkedState=new Map;headerCheckedState={};_checkboxCellTypeFields=[];_headerCheckFuncs={};radioState={};resetInteractionState=Av((t=>{this.updateInteractionState(t??UC.default)}),100);constructor(t){this.table=t,this.initState(),this.updateVerticalScrollBar=this.updateVerticalScrollBar.bind(this),this.updateHorizontalScrollBar=this.updateHorizontalScrollBar.bind(this)}initState(){this._initState(),this.setHoverState(),this.setSelectState(),this.setFrozenState()}updateOptionSetState(){this._updateOptionSetState(),this.setHoverState(),this.setSelectState(),this.setFrozenState()}_updateOptionSetState(){this.interactionState=UC.default,this.hoverIcon={col:-1,row:-1,icon:null},this.columnResize={col:-1,x:0,resizing:!1},this.rowResize={row:-1,y:0,resizing:!1},this.columnMove={colSource:-1,colTarget:-1,rowSource:-1,rowTarget:-1,x:0,y:0,moving:!1},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Me,highlightIndex:-1,dropDownMenuHighlight:[]},this.sort=[{col:-1,row:-1,order:"normal"}],this.frozen={col:-1,row:-1},this.tablePosition={absoluteX:0,absoluteY:0},this.drill={col:-1,row:-1},this.sparkLine={col:-1,row:-1}}_initState(){this.interactionState=UC.default,this.select={highlightScope:KC.single,ranges:[],cellPos:{col:-1,row:-1},selecting:!1},this.fillHandle={isFilling:!1,startX:void 0,startY:void 0},this.hover={highlightScope:KC.single,cellPos:{col:-1,row:-1}},this.hoverIcon={col:-1,row:-1,icon:null},this.columnResize={col:-1,x:0,resizing:!1},this.rowResize={row:-1,y:0,resizing:!1},this.columnMove={colSource:-1,colTarget:-1,rowSource:-1,rowTarget:-1,x:0,y:0,moving:!1},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Me,highlightIndex:-1,dropDownMenuHighlight:[]},this.sort=[{col:-1,row:-1,order:"normal"}],this.frozen={col:-1,row:-1},this.scroll={horizontalBarPos:0,verticalBarPos:0},this.tablePosition={absoluteX:0,absoluteY:0},this.drill={col:-1,row:-1},this.sparkLine={col:-1,row:-1}}setHoverState(){const{highlightMode:t,disableHover:e,disableHeaderHover:i}=this.table.options.hover??{highlightMode:"cell"};e?this.hover.highlightScope=KC.none:"cross"===t?this.hover.highlightScope=KC.cross:"row"===t?this.hover.highlightScope=KC.row:"column"===t?this.hover.highlightScope=KC.column:"cell"===t&&(this.hover.highlightScope=KC.single),this.hover.singleStyle=!e,this.hover.disableHeader=i,(this.hover.highlightScope===KC.none||i)&&(this.hover.cellPosContainHeader={col:-1,row:-1})}setSelectState(){const{headerSelectMode:t,disableSelect:e,disableHeaderSelect:i,highlightMode:r,highlightInRange:o}=Object.assign({},{headerSelectMode:"inline",disableSelect:!1,disableHeaderSelect:!1,highlightMode:"cell",highlightInRange:!1},this.table.options.select);this.select.highlightScope=!0===e?KC.none:"cross"===r?KC.cross:"row"===r?KC.row:"column"===r?KC.column:KC.single,this.select.singleStyle=!e,this.select.disableHeader=i,this.select.headerSelectMode=t,this.select.highlightInRange=o,this.select.disableCtrlMultiSelect=!1===this.table.options.keyboardOptions?.ctrlMultiSelect}isSelected(t,e){let i=!1;return this.select.ranges.forEach((r=>{pv(r,t,e)&&(i=!0)})),i}setSortState(t){const e=this;const i=(t=!t||Array.isArray(t)?t:[t])&&t.reduce(((t,i)=>{const r=function(t){const i=[];return function t(r,o=0){r.forEach((r=>{const n=r.startInTotal?r.startInTotal+e.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0:o;r.columns?t(r.columns,n):i.push({...r,startIndex:n})}))}(t),i}(this.table.internalProps.columns)?.find((t=>t?.field===i?.field));return this.table.internalProps.transpose?t.push({field:i.field,order:i.order,row:r?.startInTotal+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0,col:r?.level}):t.push({field:i.field,order:i.order,col:r?.startInTotal+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0,row:r?.level}),t}),[]);this.sort=i||[]}setFrozenState(){this.frozen.col=this.table.frozenColCount-1}updateInteractionState(t){if(this.interactionState===t)return;t===UC.scrolling&&(this.interactionStateBeforeScroll=this.interactionState);const e=this.interactionState;this.interactionState=t,e===UC.scrolling&&UC.default}updateHoverhighlightScope(t){this.hover.highlightScope!==t&&(this.hover.highlightScope=t)}updateHoverPos(t,e){SP(this,t,e)}updateSelectPos(t,e,i=!1,r=!1,o=!1,n=!0,s=!1){-1!==e&&-1!==e&&(this.select.selecting=!0),function(t,e,i,r,o,n,s=!0,a=!1){const{table:l,interactionState:h}=t,{scenegraph:c}=l,{highlightScope:d,disableHeader:u,cellPos:g,disableCtrlMultiSelect:p}=t.select;if(-1!==e&&-1!==i&&s&&l._makeVisibleCell(e,i),-1!==e&&-1!==i&&s)if(h===UC.grabing&&t.select.ranges.length>0){const r=t.select.ranges[t.select.ranges.length-1];e>r.start.col&&e>r.end.col&&l._makeVisibleCell(e+1,i),i>r.start.row&&i>r.end.row&&l._makeVisibleCell(e,i+1),e<r.start.col&&e<r.end.col&&l._makeVisibleCell(e-1,i),i<r.start.row&&i<r.end.row&&l._makeVisibleCell(e,i-1)}else l._makeVisibleCell(e,i);if(n){t.select.ranges=[],c.deleteAllSelectBorder();let e=0,i=0;const{disableHeaderSelect:r,disableRowSeriesNumberSelect:o}=l.options.keyboardOptions?.selectAllOnCtrlA||{};r&&(e=l.rowHeaderLevelCount,i=l.columnHeaderLevelCount),(o||r&&l.transpose)&&l.options.rowSeriesNumber&&(e+=1),t.select.ranges.push({start:{col:e,row:i},end:{col:l.colCount-1,row:l.rowCount-1}});const n=t.select.ranges[t.select.ranges.length-1];c.updateCellSelectBorder(n,!1)}else if(-1===g.col||-1===g.row||-1!==e&&-1!==i)if(h!==UC.default||l.eventManager.isDraging||l.stateManager.isResizeCol()){if((h===UC.grabing||l.eventManager.isDraging)&&!l.stateManager.isResizeCol()){let r=!0;-1===g.col&&(g.col=e),-1===g.row&&(g.row=i),g.col=e,g.row=i;const o=t.select.ranges[t.select.ranges.length-1];if(o){if(l.internalProps.layoutMap.isSeriesNumberInBody(o.start.col,o.start.row))r=!1,o.end={col:l.colCount-1,row:i};else if(t.fillHandle.isFilling){if("top"===t.fillHandle.direction)if(i===t.fillHandle.beforeFillMinRow&&i===t.fillHandle.beforeFillMaxRow)o.start.row=o.end.row=i;else if(i<=t.fillHandle.beforeFillMinRow){if(o.start.row<o.end.row){const t=o.start.row;o.start.row=o.end.row,o.end.row=t}o.end.row=i}else i===t.fillHandle.beforeFillMaxRow&&(o.start.row>o.end.row?o.start.row=i:o.end.row=i);else if("bottom"===t.fillHandle.direction){if(i>=t.fillHandle.beforeFillMaxRow){if(o.start.row>o.end.row){const t=o.start.row;o.start.row=o.end.row,o.end.row=t}o.end.row=i}}else if("left"===t.fillHandle.direction)if(e===t.fillHandle.beforeFillMinCol&&e===t.fillHandle.beforeFillMaxCol)o.start.col=o.end.col=e;else if(e<=t.fillHandle.beforeFillMinCol){if(o.start.col<o.end.col){const t=o.start.col;o.start.col=o.end.col,o.end.col=t}o.end.col=e}else e===t.fillHandle.beforeFillMaxCol&&(o.start.col>o.end.col?o.start.col=e:o.end.col=e);else if("right"===t.fillHandle.direction&&e>=t.fillHandle.beforeFillMaxCol){if(o.start.col>o.end.col){const t=o.start.col;o.start.col=o.end.col,o.end.col=t}o.end.col=e}}else{o.end={col:e,row:i};const r=a?{start:{col:e,row:i},end:{col:e,row:i}}:l.getCellRange(e,i);o.start.col<r.end.col?o.end.col=r.end.col:o.start.col>r.start.col&&(o.end.col=r.start.col),o.start.row<r.end.row?o.end.row=r.end.row:o.start.row>r.start.row&&(o.end.row=r.start.row),"body"===t.select.headerSelectMode&&(l.isRowHeader(e,i)?(o.start.col=l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,o.end.col=l.colCount-1):l.isColumnHeader(e,i)?(o.start.row=l.columnHeaderLevelCount,o.end.row=l.rowCount-1):l.internalProps.layoutMap.isSeriesNumberInBody(e,i)?(o.start.col=l.leftRowSeriesNumberCount,o.end.col=l.colCount-1):l.isCornerHeader(e,i)?(o.start.col=l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,o.start.row=l.columnHeaderLevelCount,o.end.col=l.colCount-1,o.end.row=l.rowCount-1):l.isSeriesNumber(e,i)&&(o.start.col=l.leftRowSeriesNumberCount,o.start.row=l.columnHeaderLevelCount,o.end.col=l.colCount-1,o.end.row=l.rowCount-1)),a&&(o.skipBodyMerge=!0)}c.updateCellSelectBorder(o,r)}}}else{const n=t.select.ranges[t.select.ranges.length-1];if(r&&n){if(o&&!p||(g.col=e,g.row=i),"cell"!==t.select.headerSelectMode&&l.isColumnHeader(e,i)){const r=Math.min(n.start.col,n.end.col,e),o=Math.max(n.start.col,n.end.col,e),s=Math.min(n.start.row,n.end.row,i),a=l.rowCount-1;"body"===t.select.headerSelectMode?(n.start={col:r,row:l.columnHeaderLevelCount},n.end={col:o,row:l.rowCount-1}):(n.start={col:r,row:s},n.end={col:o,row:a})}else if("cell"!==t.select.headerSelectMode&&l.isRowHeader(e,i)){const r=Math.min(n.start.col,n.end.col,e),o=l.colCount-1,s=Math.min(n.start.row,n.end.row,i),a=Math.max(n.start.row,n.end.row,i);"body"===t.select.headerSelectMode?(n.start={col:l.leftRowSeriesNumberCount+l.rowHeaderLevelCount,row:s},n.end={col:l.colCount-1,row:a}):(n.start={col:r,row:s},n.end={col:o,row:a})}else if("cell"!==t.select.headerSelectMode&&l.isSeriesNumberInBody(e,i)){const r=Math.min(n.start.col,n.end.col,e),o=l.colCount-1,s=Math.min(n.start.row,n.end.row,i),a=Math.max(n.start.row,n.end.row,i);"body"===t.select.headerSelectMode?(n.start={col:l.leftRowSeriesNumberCount,row:s},n.end={col:l.colCount-1,row:a}):(n.start={col:r,row:s},n.end={col:o,row:a})}else n.end={col:e,row:i};c.deleteLastSelectedRangeComponents(),c.updateCellSelectBorder(n)}else{let r=!0;if(-1===g.col||-1===g.row||o&&!p||(t.select.ranges=[],c.deleteAllSelectBorder()),"cell"!==t.select.headerSelectMode&&l.isColumnHeader(e,i)){const r=l.getCellRange(e,i);"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:r.start.col,row:l.columnHeaderLevelCount},end:{col:r.end.col,row:l.rowCount-1},skipBodyMerge:!0}):t.select.ranges.push({start:{col:r.start.col,row:r.start.row},end:{col:r.end.col,row:l.rowCount-1},skipBodyMerge:!0})}else if("cell"!==t.select.headerSelectMode&&l.isRowHeader(e,i)){const r=l.getCellRange(e,i);"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,row:r.start.row},end:{col:l.colCount-1,row:r.end.row},skipBodyMerge:!0}):t.select.ranges.push({start:{col:r.start.col,row:r.start.row},end:{col:l.colCount-1,row:r.end.row},skipBodyMerge:!0})}else if(l.internalProps.layoutMap.isSeriesNumberInHeader(e,i))r=!1,"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0}):t.select.ranges.push({start:{col:0,row:0},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if(l.internalProps.layoutMap.isSeriesNumberInBody(e,i))r=!1,"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:i},end:{col:l.colCount-1,row:i},skipBodyMerge:!0}):t.select.ranges.push({start:{col:e,row:i},end:{col:l.colCount-1,row:i},skipBodyMerge:!0});else if(l.internalProps.layoutMap.isCornerHeader(e,i))r=!1,"body"===t.select.headerSelectMode?t.select.ranges.push({start:{col:l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0}):t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:0},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if(e>=0&&i>=0){const r=a?{start:{col:e,row:i},end:{col:e,row:i}}:l.getCellRange(e,i);t.select.ranges.push({start:{col:r.start.col,row:r.start.row},end:{col:r.end.col,row:r.end.row},skipBodyMerge:a||void 0})}g.col=e,g.row=i;const n=t.select.ranges?.[t.select.ranges.length-1];n&&c.updateCellSelectBorder(n,r)}}else g.col=-1,g.row=-1,t.select.ranges=[],c.deleteAllSelectBorder();c.updateNextFrame()}(this,t,e,i,r,o,n,s)}checkCellRangeInSelect(t,e){return function(t,e,i,r){for(let r=0;r<i.length;r++)if(mv(i[r],{start:t,end:e}))return!0;return!1}(t,e,this.select.ranges,this.select.highlightScope)}updateHoverIcon(t,e,i,r){if(this.residentHoverIcon?.icon&&i===this.residentHoverIcon?.icon)return;const o=PP(i);if(o)if("richtext-icon"===o.type){const i=o.icon;if(this.hoverIcon.icon&&this.hoverIcon.icon!==this.residentHoverIcon?.icon&&(this.table.scenegraph.setIconNormalStyle(this.hoverIcon.icon,this.hoverIcon.col,this.hoverIcon.row),this.hoverIcon.col=-1,this.hoverIcon.col=-1,this.hoverIcon.icon=null,this.table.scenegraph.updateNextFrame()),i.attribute.tooltip){const r={content:i.attribute.tooltip.title,referencePosition:{rect:o.position,placement:i.attribute.tooltip.placement},style:Object.assign({},this.table.internalProps.theme?.tooltipStyle,i.tooltip?.style,i.attribute?.tooltip?.style),disappearDelay:i.attribute.tooltip.disappearDelay};this.table.internalProps.tooltipHandler.isBinded(r)||this.table.showTooltip(t,e,r)}}else{const i=o.icon;i!==this.hoverIcon.icon&&(this.hoverIcon.icon&&this.hoverIcon.icon!==this.residentHoverIcon?.icon&&this.table.scenegraph.setIconNormalStyle(this.hoverIcon.icon,this.hoverIcon.col,this.hoverIcon.row),this.hoverIcon.col=t,this.hoverIcon.row=e,this.hoverIcon.icon=i,this.table.scenegraph.setIconHoverStyle(i,t,e,r),this.table.scenegraph.updateNextFrame())}else this.hoverIcon.icon&&this.hoverIcon.icon!==this.residentHoverIcon?.icon&&(this.table.scenegraph.setIconNormalStyle(this.hoverIcon.icon,this.hoverIcon.col,this.hoverIcon.row),this.hoverIcon.col=-1,this.hoverIcon.col=-1,this.hoverIcon.icon=null,this.table.scenegraph.updateNextFrame())}isResizeCol(){return this.columnResize.resizing}isResizeRow(){return this.rowResize.resizing}isFillHandle(){return this.fillHandle.isFilling}isSelecting(){return this.select.selecting}endSelectCells(t=!0,e=!0){if(this.select.selecting){if(this.select.selecting=!1,0===this.select.ranges.length)return;const e=this.select.ranges[this.select.ranges.length-1];this.table.isSeriesNumber(this.select.cellPos.col,this.select.cellPos.row)||this.table.isHeader(this.select.cellPos.col,this.select.cellPos.row)||function(t,e){const i=t.start.col,r=t.end.col,o=t.start.row,n=t.end.row;let s=i,a=r,l=o,h=n;for(let t=i;t<=r;t++)for(let i=o;i<=n;i++){const r=e.getCellRange(t,i);r&&(s=Math.min(s,r.start.col),a=Math.max(a,r.end.col),l=Math.min(l,r.start.row),h=Math.max(h,r.end.row))}t.start.col=s,t.end.col=a,t.start.row=l,t.end.row=h}(e,this.table);let i=!1;for(let t=0;t<this.select.ranges.length-1;t++){const r=this.select.ranges[t];if(r&&r.start.col===e.start.col&&r.start.row===e.start.row&&r.end.col===e.end.col&&r.end.row===e.end.row){i=!0;break}}i?(this.select.ranges.pop(),zM(this.table.scenegraph),this.table.scenegraph.selectingRangeComponents.clear()):this.table.scenegraph.moveSelectingRangeComponentsToSelectedRangeComponents();const r=this.select.ranges[this.select.ranges.length-1].end.col,o=this.select.ranges[this.select.ranges.length-1].end.row;t&&this.table.fireListeners(_v.SELECTED_CELL,{ranges:this.select.ranges,col:r,row:o})}else e&&0===this.select.ranges.length&&this.table.fireListeners(_v.SELECTED_CLEAR,{})}endResizeCol(){setTimeout((()=>{this.columnResize.resizing=!1}),0),this.table.scenegraph.updateChartSizeForResizeColWidth(this.columnResize.col),this.checkFrozen(),this.table.scenegraph.component.hideResizeCol(),this.table.scenegraph.updateNextFrame()}startResizeCol(t,e,i,r){this.columnResize.resizing=!0,this.columnResize.col=t,this.columnResize.x=e,this.columnResize.isRightFrozen=r,this.table.scenegraph.component.showResizeCol(t,i,r),this.table.scenegraph.updateNextFrame()}updateResizeCol(t,e){!function(t,e,i){t=Math.ceil(t),e=Math.ceil(e);let r=i.columnResize.isRightFrozen?i.columnResize.x-t:t-i.columnResize.x;if(Math.abs(r)<1)return;const o=i.table.getColWidth(i.columnResize.col);let n=o;n+=r;const s=i.table.getMinColWidth(i.columnResize.col),a=i.table.getMaxColWidth(i.columnResize.col);if(n<s||n>a){if(o===s||o===a)return;r=o-s>a-o?a-o:s-o}let l=i.table.getColWidth(i.columnResize.col)+r;if(l<i.table.internalProps.limitMinWidth&&(l=i.table.internalProps.limitMinWidth,r=l-i.table.getColWidth(i.columnResize.col)),"adaptive"===i.table.widthMode&&i.columnResize.col<i.table.colCount-1){const t=i.table.getColWidth(i.columnResize.col+1),e=i.table.getMinColWidth(i.columnResize.col+1),o=i.table.getMaxColWidth(i.columnResize.col+1);let n=t;if(n-=r,n<e||n>o){if(t===e||t===o)return;r=t-e>o-t?o-t:e-t}n-r<i.table.internalProps.limitMinWidth&&(r=n-i.table.internalProps.limitMinWidth)}r=Math.ceil(r),i.columnResize.col<i.table.rowHeaderLevelCount||i.columnResize.col>=i.table.colCount-i.table.rightFrozenColCount?HP(r,i):"indicator"===i.table.internalProps.columnResizeType?function(t,e){const i=e.table.internalProps.layoutMap;let r,o,n;if(i.indicatorsAsCol)r=i.getIndicatorKey(e.columnResize.col,e.table.columnHeaderLevelCount);else{const t=i.getCellHeaderPaths(e.columnResize.col,e.table.columnHeaderLevelCount-1),r=t.colHeaderPaths[t.colHeaderPaths.length-1];o=r.dimensionKey,n=r.value}for(let s=e.table.rowHeaderLevelCount;s<e.table.colCount-e.table.rightFrozenColCount;s++){const a=i.getIndicatorKey(s,e.table.columnHeaderLevelCount);if(i.indicatorsAsCol&&a===r)e.table.scenegraph.updateColWidth(s,t),e.table.internalProps._widthResizedColMap.add(s);else if(!i.indicatorsAsCol){const r=i.getCellHeaderPaths(s,e.table.columnHeaderLevelCount-1),a=r?.colHeaderPaths[r.colHeaderPaths.length-1];a&&o===a.dimensionKey&&n===a.value&&(e.table.scenegraph.updateColWidth(s,t),e.table.internalProps._widthResizedColMap.add(s))}}}(r,i):"indicatorGroup"===i.table.internalProps.columnResizeType?function(t,e){const i=e.table.internalProps.layoutMap,r=i.getCellHeaderPaths(e.columnResize.col,e.table.columnHeaderLevelCount),o=i.getHeadNodeByRowOrColDimensions(r.colHeaderPaths.slice(0,r.colHeaderPaths.length-1)),n=o.startInTotal+e.table.frozenColCount,s=o.startInTotal+e.table.frozenColCount+o.size-1,a=e.table.getColsWidth(n,s),l=t;for(let t=n;t<=s;t++){if(!(e.table.internalProps.transpose||e.table.isPivotTable()&&!i.indicatorsAsCol)){const r=i.getBody(t,e.table.columnHeaderLevelCount);if(r?.disableColumnResize)continue}let r=e.table.getColWidth(t)/a*l;r>0&&r<.5?r=.5:r<0&&r>=-.5&&(r=-.5),e.table.scenegraph.updateColWidth(t,r),e.table.internalProps._widthResizedColMap.add(t)}}(r,i):"all"===i.table.internalProps.columnResizeType?function(t,e){const i=e.table.internalProps.layoutMap;for(let r=e.table.frozenColCount;r<e.table.colCount-e.table.rightFrozenColCount;r++){if(!(e.table.internalProps.transpose||e.table.isPivotTable()&&!i.indicatorsAsCol)){const t=i.getBody(r,e.table.columnHeaderLevelCount);if(t?.disableColumnResize)continue}e.table.scenegraph.updateColWidth(r,t),e.table.internalProps._widthResizedColMap.add(r)}}(r,i):HP(r,i),i.columnResize.x=t,i.table.scenegraph.component.updateResizeCol(i.columnResize.col,e,i.columnResize.isRightFrozen),i.columnResize.col<i.table.frozenColCount&&!i.table.isPivotTable()&&!i.table.transpose?i.table.scenegraph.component.setFrozenColumnShadow(i.table.frozenColCount-1,i.columnResize.isRightFrozen):i.table.options.frozenColCount&&i.table.scenegraph.component.setFrozenColumnShadow(i.table.frozenColCount-1),(i.columnResize.col>=i.table.colCount-i.table.rightFrozenColCount&&!i.table.isPivotTable()&&!i.table.transpose||i.table.options.rightFrozenColCount)&&i.table.scenegraph.component.setRightFrozenColumnShadow(i.table.colCount-i.table.rightFrozenColCount),i.table.scenegraph.updateNextFrame()}(t,e,this)}endResizeRow(){setTimeout((()=>{this.rowResize.resizing=!1}),0),this.table.scenegraph.updateChartSizeForResizeRowHeight(this.rowResize.row),this.table.scenegraph.component.hideResizeRow(),this.table.scenegraph.updateNextFrame()}startResizeRow(t,e,i,r){this.rowResize.resizing=!0,this.rowResize.row=t,this.rowResize.y=i,this.rowResize.isBottomFrozen=r,this.table.scenegraph.component.showResizeRow(t,e,r),this.table.scenegraph.updateNextFrame()}updateResizeRow(t,e){!function(t,e,i){t=Math.ceil(t),e=Math.ceil(e);let r=i.rowResize.isBottomFrozen?i.rowResize.y-e:e-i.rowResize.y;if(Math.abs(r)<1)return;i.table.getRowHeight(i.rowResize.row);let o=i.table.getRowHeight(i.rowResize.row)+r;if(o<i.table.internalProps.limitMinHeight&&(o=i.table.internalProps.limitMinHeight,r=o-i.table.getRowHeight(i.rowResize.row)),"adaptive"===i.table.heightMode&&i.rowResize.row<i.table.rowCount-1){let t=i.table.getRowHeight(i.rowResize.row+1);t-=r,t-r<i.table.internalProps.limitMinHeight&&(r=t-i.table.internalProps.limitMinHeight)}r=Math.ceil(r),i.rowResize.row<i.table.columnHeaderLevelCount||i.rowResize.row>=i.table.rowCount-i.table.bottomFrozenRowCount?EP(r,i):"indicator"===i.table.internalProps.rowResizeType?function(t,e){const i=e.table.internalProps.layoutMap;let r,o,n;if(i.indicatorsAsCol){const t=i.getCellHeaderPaths(e.table.rowHeaderLevelCount-1,e.rowResize.row),r=t.rowHeaderPaths?.[t.rowHeaderPaths.length-1];o=r?.dimensionKey,n=r?.value}else r=i.getIndicatorKey(e.table.rowHeaderLevelCount,e.rowResize.row);for(let s=e.table.columnHeaderLevelCount;s<e.table.rowCount-e.table.bottomFrozenRowCount;s++){const a=i.getIndicatorKey(e.table.rowHeaderLevelCount,s);if(i.indicatorsAsCol||a!==r){if(i.indicatorsAsCol){const r=i.getCellHeaderPaths(e.table.rowHeaderLevelCount-1,s),a=r?.rowHeaderPaths?.[r.rowHeaderPaths.length-1];a&&o===a.dimensionKey&&n===a.value&&(e.table.scenegraph.updateRowHeight(s,t),e.table.internalProps._heightResizedRowMap.add(s))}}else e.table.scenegraph.updateRowHeight(s,t),e.table.internalProps._heightResizedRowMap.add(s)}}(r,i):"indicatorGroup"===i.table.internalProps.rowResizeType?function(t,e){const i=e.table.internalProps.layoutMap,r=i.getCellHeaderPaths(e.table.rowHeaderLevelCount,e.rowResize.row),o=i.getHeadNodeByRowOrColDimensions(r.rowHeaderPaths.slice(0,r.rowHeaderPaths.length-1)),n=o.startInTotal+e.table.frozenRowCount,s=o.startInTotal+e.table.frozenRowCount+o.size-1,a=e.table.getRowsHeight(n,s),l=t;for(let t=n;t<=s;t++){let i=e.table.getRowHeight(t)/a*l;i>0&&i<.5?i=.5:i<0&&i>=-.5&&(i=-.51),e.table.scenegraph.updateRowHeight(t,i),e.table.internalProps._heightResizedRowMap.add(t)}}(r,i):"all"===i.table.internalProps.rowResizeType?function(t,e){for(let i=e.table.frozenRowCount;i<e.table.rowCount-e.table.bottomFrozenRowCount;i++)e.table.scenegraph.updateRowHeight(i,t),e.table.internalProps._heightResizedRowMap.add(i)}(r,i):EP(r,i),i.rowResize.y=e,i.table.scenegraph.component.updateResizeRow(i.rowResize.row,t,i.rowResize.isBottomFrozen),i.table.scenegraph.updateNextFrame()}(t,e,this)}startFillSelect(t,e){this.fillHandle.isFilling=!0,this.fillHandle.startX=t,this.fillHandle.startY=e;const i=this.select.ranges[this.select.ranges.length-1];this.fillHandle.beforeFillMinCol=Math.min(i.start.col,i.end.col),this.fillHandle.beforeFillMinRow=Math.min(i.start.row,i.end.row),this.fillHandle.beforeFillMaxCol=Math.max(i.start.col,i.end.col),this.fillHandle.beforeFillMaxRow=Math.max(i.start.row,i.end.row),this.table.fireListeners(_v.MOUSEDOWN_FILL_HANDLE,{})}endFillSelect(){this.fillHandle.isFilling=!1,this.fillHandle.startX=void 0,this.fillHandle.startY=void 0,this.fillHandle.directionRow=void 0;const t=Math.min(this.select.ranges[0].start.col,this.select.ranges[0].end.col),e=Math.min(this.select.ranges[0].start.row,this.select.ranges[0].end.row),i=Math.max(this.select.ranges[0].start.col,this.select.ranges[0].end.col),r=Math.max(this.select.ranges[0].start.row,this.select.ranges[0].end.row);this.fillHandle.beforeFillMinCol===t&&this.fillHandle.beforeFillMinRow===e&&this.fillHandle.beforeFillMaxCol===i&&this.fillHandle.beforeFillMaxRow===r||this.table.eventManager.isDraging&&this.table.fireListeners(_v.DRAG_FILL_HANDLE_END,{direction:this.fillHandle.direction}),this.fillHandle.beforeFillMaxCol=void 0,this.fillHandle.beforeFillMaxRow=void 0,this.fillHandle.beforeFillMinCol=void 0,this.fillHandle.beforeFillMinRow=void 0}startMoveCol(t,e,i,r,o){!function(t,e,i,r,o,n){if(!("canMoveHeaderPosition"in o.table.internalProps.layoutMap))return;o.columnMove.moving=!0,o.columnMove.colSource=t,o.columnMove.rowSource=e,o.columnMove.x=i-o.table.tableX,o.columnMove.y=r-o.table.tableY;const s=o.table.getCellLocation(t,e),a="columnHeader"===s?o.columnMove.x:"rowHeader"===s||o.table.internalProps.layoutMap.isSeriesNumberInBody(t,e)?o.columnMove.y:0,{backX:l,lineX:h,backY:c,lineY:d}=o.table.scenegraph.component.showMoveCol(t,e,a);o.table.fireListeners(_v.CHANGE_HEADER_POSITION_START,{col:t,row:e,x:i,y:r,backX:l,lineX:h,backY:c,lineY:d,event:n});const u=!!o.select.ranges?.length;o.table.stateManager.updateSelectPos(-1,-1),o.table.stateManager.endSelectCells(!0,u),o.table.scenegraph.updateNextFrame()}(t,e,i,r,this,o)}updateMoveCol(t,e,i,r,o){!function(t,e,i,r,o,n){if(!("canMoveHeaderPosition"in o.table.internalProps.layoutMap))return;const s=function(t,e,i){const r=i.getCellRange(t.col,t.row);if(i.isColumnHeader(t.col,t.row)){const o=i.getCellRange(e.col,r.start.row);e.row>=i.columnHeaderLevelCount&&(e.row=i.columnHeaderLevelCount-1),e.col>=t.col?e.col=o.end.col:e.col=o.start.col}else if(i.isRowHeader(t.col,t.row)){const o=i.internalProps.layoutMap,n=i.getCellRange(r.start.col,e.row);if(e.col>=i.rowHeaderLevelCount+o.leftRowSeriesNumberColumnCount&&(e.col=i.rowHeaderLevelCount+o.leftRowSeriesNumberColumnCount-1),"tree"===o.rowHierarchyType){const r=o.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths,n=o.getCellHeaderPathsWithTreeNode(e.col,e.row).rowHeaderPaths;if(r.length<=n.length){const o=n[r.length-1];o&&(e.row>=t.row?e.row=o.startInTotal+o.size-1+i.columnHeaderLevelCount:e.row=o.startInTotal+i.columnHeaderLevelCount)}}else e.row>=t.row?e.row=n.end.row:e.row=n.start.row}return e}({col:o.columnMove.colSource,row:o.columnMove.rowSource},{col:t,row:e},o.table);if(o.table.internalProps.layoutMap.canMoveHeaderPosition({col:o.columnMove.colSource,row:o.columnMove.rowSource},{col:s.col,row:s.row})){let a,l,h,c;o.columnMove.x=i-o.table.tableX,o.columnMove.y=r-o.table.tableY,o.columnMove.colTarget=s.col,o.columnMove.rowTarget=s.row,o.updateCursor("grabbing");const d=o.table.getCellLocation(o.columnMove.colSource,o.columnMove.rowSource);"columnHeader"===d?(l=o.columnMove.x,a=o.table.isLeftFrozenColumn(t)?o.columnMove.colTarget>=o.columnMove.colSource?o.table.getColsWidth(0,o.columnMove.colTarget):o.table.getColsWidth(0,o.columnMove.colTarget-1):o.table.isRightFrozenColumn(t)?o.table.tableNoFrameWidth-o.table.getColsWidth(s.col+1,o.table.colCount-1):(o.columnMove.colTarget>=o.columnMove.colSource?o.table.getColsWidth(0,o.columnMove.colTarget):o.table.getColsWidth(0,o.columnMove.colTarget-1))-o.table.stateManager.scroll.horizontalBarPos):("rowHeader"===d||o.table.internalProps.layoutMap.isSeriesNumberInBody(t,e))&&(c=o.columnMove.y,h=o.table.isFrozenRow(e)?o.columnMove.rowTarget>=o.columnMove.rowSource?o.table.getRowsHeight(0,o.columnMove.rowTarget):o.table.getRowsHeight(0,o.columnMove.rowTarget-1):o.table.isBottomFrozenRow(e)?o.table.tableNoFrameHeight-o.table.getRowsHeight(s.row+1,o.table.rowCount-1):(o.columnMove.rowTarget>=o.columnMove.rowSource?o.table.getRowsHeight(0,o.columnMove.rowTarget):o.table.getRowsHeight(0,o.columnMove.rowTarget-1))-o.table.stateManager.scroll.verticalBarPos),o.table.scenegraph.component.updateMoveCol(l,a,c,h),o.table.fireListeners(_v.CHANGING_HEADER_POSITION,{col:t,row:e,x:i,y:r,backX:l,lineX:a,backY:c,lineY:h,event:n}),o.table.scenegraph.updateNextFrame()}else o.updateCursor("not-allowed"),o.columnMove.colTarget=o.columnMove.colSource,o.columnMove.rowTarget=o.columnMove.rowSource}(t,e,i,r,this,o)}isMoveCol(){return this.columnMove.moving}endMoveCol(){return function(t){let e=!1;if("canMoveHeaderPosition"in t.table.internalProps.layoutMap&&t.columnMove.moving&&t.columnMove.colSource>=0&&t.columnMove.rowSource>=0&&t.columnMove.colTarget>=0&&t.columnMove.rowTarget>=0&&!0!==t.table.options.customConfig?.notUpdateInColumnRowMove){const i=t.table.getCellRange(t.columnMove.colSource,t.columnMove.rowSource),r=t.table.getCellRange(t.columnMove.colTarget,t.columnMove.rowTarget),o=t.table._moveHeaderPosition({col:t.columnMove.colSource,row:t.columnMove.rowSource},{col:t.columnMove.colTarget,row:t.columnMove.rowTarget});if(!o||o.targetIndex===o.sourceIndex)return t.updateCursor(),t.columnMove.moving=!1,delete t.columnMove.colSource,delete t.columnMove.rowSource,delete t.columnMove.colTarget,delete t.columnMove.rowTarget,t.table.scenegraph.component.hideMoveCol(),t.table.scenegraph.updateNextFrame(),!1;{t.table.internalProps.useOneRowHeightFillAll=!1,t.table.internalProps.layoutMap.clearCellRangeMap();const n=t.table.getCellRange(t.columnMove.colSource,t.columnMove.rowSource),s=t.table.getCellRange(t.columnMove.colTarget,t.columnMove.rowTarget),a=Math.min(n.start.col,s.start.col,i.start.col,r.start.col),l=Math.max(n.end.col,s.end.col,i.end.col,r.end.col),h=Math.min(n.start.row,s.start.row,i.start.row,r.start.row);let c=Math.max(n.end.row,s.end.row,i.end.row,r.end.row);"row"===o.moveType&&"tree"===t.table.internalProps.layoutMap.rowHierarchyType&&(c=o.targetIndex>o.sourceIndex?c+o.targetSize-1:c+o.sourceSize-1),!t.table.transpose&&t.table.internalProps.layoutMap.isSeriesNumberInBody(t.columnMove.colSource,t.columnMove.rowSource)&&(t.table.changeRecordOrder(o.sourceIndex,o.targetIndex),t.changeCheckboxAndRadioOrder(o.sourceIndex,o.targetIndex)),"column"===o.moveType?MP(a,l,0,-1,t.table):MP(0,-1,h,c,t.table),t.table.clearCellStyleCache(),t.table.internalProps.layoutMap.isSeriesNumberInBody(t.columnMove.colSource,t.columnMove.rowSource)?t.table.scenegraph.updateHeaderPosition(t.table.scenegraph.proxy.colStart,t.table.scenegraph.proxy.colEnd,t.table.scenegraph.proxy.rowStart,t.table.scenegraph.proxy.rowEnd,o.moveType):"column"===o.moveType?t.table.scenegraph.updateHeaderPosition(a,l,0,-1,o.moveType):t.table.scenegraph.updateHeaderPosition(0,-1,h,c,o.moveType),"adjustFrozenCount"===t.table.internalProps.frozenColDragHeaderMode&&t.table.isListTable()&&(t.table.isLeftFrozenColumn(t.columnMove.colTarget)&&!t.table.isLeftFrozenColumn(t.columnMove.colSource)?t.table.frozenColCount+=n.end.col-n.start.col+1:t.table.isLeftFrozenColumn(t.columnMove.colSource)&&!t.table.isLeftFrozenColumn(t.columnMove.colTarget)&&(t.table.frozenColCount-=n.end.col-n.start.col+1),t.table.isRightFrozenColumn(t.columnMove.colTarget)&&!t.table.isRightFrozenColumn(t.columnMove.colSource)?t.table.rightFrozenColCount+=n.end.col-n.start.col+1:t.table.isRightFrozenColumn(t.columnMove.colSource)&&!t.table.isRightFrozenColumn(t.columnMove.colTarget)&&(t.table.rightFrozenColCount-=n.end.col-n.start.col+1)),e=!0}}return t.columnMove.moving=!1,setTimeout((()=>{delete t.columnMove.colSource,delete t.columnMove.rowSource,delete t.columnMove.colTarget,delete t.columnMove.rowTarget}),0),t.table.scenegraph.component.hideMoveCol(),t.columnResize.col<t.table.frozenColCount&&!t.table.isPivotTable()&&!t.table.transpose?(t.table.scenegraph.component.setFrozenColumnShadow(t.table.frozenColCount-1,t.columnResize.isRightFrozen),t.table.scenegraph.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount)):t.columnResize.col>=t.table.colCount-t.table.rightFrozenColCount&&!t.table.isPivotTable()&&!t.table.transpose?t.table.scenegraph.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount):t.table.options.frozenColCount?t.table.scenegraph.component.setFrozenColumnShadow(t.table.frozenColCount-1):t.table.options.rightFrozenColCount&&t.table.scenegraph.component.setRightFrozenColumnShadow(t.table.colCount-t.table.rightFrozenColCount),t.table.scenegraph.updateNextFrame(),!0===t.table.options.customConfig?.notUpdateInColumnRowMove||e}(this)}checkFrozen(){let t=this.table.options.frozenColCount?this.table.options.frozenColCount:this.table.isPivotTable()||this.table.isListTable()&&this.table.internalProps.transpose?(this.table.rowHeaderLevelCount??0)+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount:0;if(t){t>this.table.colCount&&(t=this.table.colCount);const e=this.table._getMaxFrozenWidth();if(this.table.getColsWidth(0,t-1)>e)if(this.table.internalProps.unfreezeAllOnExceedsMaxWidth)this.table._setFrozenColCount(0),this.setFrozenCol(-1);else{const e=this.table._getComputedFrozenColCount(t);this.table._setFrozenColCount(e),this.setFrozenCol(e)}else this.table.frozenColCount!==t&&(this.table._setFrozenColCount(t),this.setFrozenCol(t))}}setFrozenCol(t){t!==this.frozen.col?(this.frozen.col=t,this.table.scenegraph.updateFrozen(),this.table.scenegraph.updateFrozenIcon(0,this.table.colCount-1)):this.table.scenegraph.updateFrozenIcon(0,this.table.colCount-1)}setFrozenRow(t){t!==this.frozen.row&&(this.frozen.row=t,this.table.scenegraph.updateRowFrozen())}checkVerticalScrollBarEnd(){const t=this.table.getAllRowsHeight(),e=this.scroll.verticalBarPos,i=this.table.tableNoFrameHeight;e+i>=t&&this.table.fireListeners(_v.SCROLL_VERTICAL_END,{scrollTop:e,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:i,viewWidth:this.table.tableNoFrameWidth})}checkHorizontalScrollBarEnd(){const t=this.table.getAllColsWidth(),e=this.scroll.horizontalBarPos,i=this.table.tableNoFrameWidth;e+i>=t&&this.table.fireListeners(_v.SCROLL_HORIZONTAL_END,{scrollTop:this.scroll.verticalBarPos,scrollLeft:e,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:i})}updateVerticalScrollBar(t){const e=this.table.getAllRowsHeight(),i=this.scroll.verticalBarPos;this.scroll.verticalBarPos=Math.ceil(t*(e-this.table.scenegraph.height)),J(this.scroll.verticalBarPos)&&!isNaN(this.scroll.verticalBarPos)||(this.scroll.verticalBarPos=0),this.table.scenegraph.setY(-this.scroll.verticalBarPos,1===t),this.scroll.verticalBarPos-=this.table.scenegraph.proxy.deltaY,this.table.scenegraph.proxy.deltaY=0,this.updateHoverPos(-1,-1),this.table.fireListeners(_v.SCROLL,{event:void 0,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"vertical",scrollRatioY:t}),i!==this.scroll.verticalBarPos&&this.checkVerticalScrollBarEnd()}updateHorizontalScrollBar(t){const e=this.table.getAllColsWidth(),i=this.scroll.horizontalBarPos;this.scroll.horizontalBarPos=Math.ceil(t*(e-this.table.scenegraph.width)),J(this.scroll.horizontalBarPos)&&!isNaN(this.scroll.horizontalBarPos)||(this.scroll.horizontalBarPos=0),this.table.scenegraph.setX(-this.scroll.horizontalBarPos,1===t),this.scroll.horizontalBarPos-=this.table.scenegraph.proxy.deltaX,this.table.scenegraph.proxy.deltaX=0,this.updateHoverPos(-1,-1),this.table.fireListeners(_v.SCROLL,{event:void 0,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:t}),i!==this.scroll.horizontalBarPos&&this.checkHorizontalScrollBarEnd()}setScrollTop(t,e,i=!0){const r=this.table.getAllRowsHeight(),o=this.table.options.customConfig?._disableColumnAndRowSizeRound?1:0;t=Math.max(0,Math.min(t,r-this.table.scenegraph.height-o)),((t=Math.ceil(t))!==this.scroll.verticalBarPos||this.table.isPivotChart())&&this.updateHoverPos(-1,-1);const n=this.scroll.verticalBarPos;this.scroll.verticalBarPos=t,J(this.scroll.verticalBarPos)&&!isNaN(this.scroll.verticalBarPos)||(this.scroll.verticalBarPos=0),this.table.scenegraph.setY(-t);const s=t/(r-this.table.scenegraph.height);this.table.scenegraph.component.updateVerticalScrollBarPos(s),n!==t&&i&&(this.table.fireListeners(_v.SCROLL,{event:e?.nativeEvent,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"vertical",scrollRatioY:s}),this.checkVerticalScrollBarEnd())}setScrollLeft(t,e,i=!0){this.table.scrollLeft;const r=this.table.getAllColsWidth();this.table.getFrozenColsWidth();const o=this.table.options.customConfig?._disableColumnAndRowSizeRound?1:0;t=Math.max(0,Math.min(t,r-this.table.scenegraph.width-o)),(t=Math.ceil(t))!==this.scroll.horizontalBarPos&&this.updateHoverPos(-1,-1);const n=this.scroll.horizontalBarPos;this.scroll.horizontalBarPos=t,J(this.scroll.horizontalBarPos)&&!isNaN(this.scroll.horizontalBarPos)||(this.scroll.horizontalBarPos=0),this.table.scenegraph.setX(-t);const s=t/(r-this.table.scenegraph.width);this.table.scenegraph.component.updateHorizontalScrollBarPos(s),n!==t&&i&&(this.table.fireListeners(_v.SCROLL,{event:e?.nativeEvent,scrollTop:this.scroll.verticalBarPos,scrollLeft:this.scroll.horizontalBarPos,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:s}),this.checkHorizontalScrollBarEnd())}hideVerticalScrollBar(){this.table.scenegraph.component.hideVerticalScrollBar()}showVerticalScrollBar(t){this.table.scenegraph.component.showVerticalScrollBar(),t&&(clearTimeout(this._clearVerticalScrollBar),this._clearVerticalScrollBar=setTimeout((()=>{this.table.scenegraph?.component.hideVerticalScrollBar()}),1e3))}hideHorizontalScrollBar(){this.table.scenegraph.component.hideHorizontalScrollBar()}showHorizontalScrollBar(t){this.table.scenegraph.component.showHorizontalScrollBar(),t&&(clearTimeout(this._clearHorizontalScrollBar),this._clearHorizontalScrollBar=setTimeout((()=>{this.table.scenegraph?.component.hideHorizontalScrollBar()}),1e3))}triggerContextMenu(t,e,i,r){this.menu.isShow&&this.menu.x===i&&this.menu.y===r?this.hideMenu():this.showContextMenu(t,e,i,r)}showContextMenu(t,e,i,r){this.table.internalProps.menu?.contextMenuItems&&("html"===this.table.internalProps.menu.renderMode?this.menu.isShow=!0:(this.menu.isShow=!0,this.menu.x=i,this.menu.y=r,this.table.scenegraph.component.menu.attach(i,r,t,e,NT.contextmenu)),this.table.fireListeners(_v.SHOW_MENU,{x:i,y:r,col:t,row:e,type:"contextmenu"}))}triggerDropDownMenu(t,e,i,r,o){this.table.fireListeners(_v.DROPDOWN_ICON_CLICK,{col:t,row:e,event:o}),this.menu.isShow?this.hideMenu():this.showDropDownMenu(t,e,i,r)}showDropDownMenu(t,e,i,r){"html"===this.table.internalProps.menu.renderMode?this.menu.isShow=!0:(this.menu.isShow=!0,this.table.scenegraph.component.menu.attach(i,r,t,e,NT.dropDown),this.menu.bounds=this.table.scenegraph.component.menu.bounds),this.table.fireListeners(_v.SHOW_MENU,{x:i,y:r,col:t,row:e,type:"dropDown"}),this.residentHoverIcon&&this.table.scenegraph.setIconNormalStyle(this.residentHoverIcon.icon,this.residentHoverIcon.col,this.residentHoverIcon.row);const o=this.table.scenegraph.getCell(t,e);let n;o.forEachChildren((t=>t.attribute.funcType===QC.dropDown&&(n=t,!0))),n&&(this.residentHoverIcon={col:t,row:e,icon:n},this.table.scenegraph.setIconHoverStyle(this.residentHoverIcon.icon,this.residentHoverIcon.col,this.residentHoverIcon.row,o),this.table.scenegraph.residentHoverIcon(t,e))}hideMenu(){this.menu.isShow&&(this.table.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),this.table.fireListeners(_v.HIDE_MENU,null),this.menu.isShow=!1,this.table.scenegraph.component.menu.detach(),this.residentHoverIcon&&(this.table.scenegraph.setIconNormalStyle(this.residentHoverIcon.icon,this.residentHoverIcon.col,this.residentHoverIcon.row),this.table.scenegraph.resetResidentHoverIcon(this.residentHoverIcon.col,this.residentHoverIcon.row),this.residentHoverIcon=null))}setDropDownMenuHighlight(t){this.menu.dropDownMenuHighlight=t;for(let e=0;e<t.length;e++){const{col:i,row:r}=t[e],o=this.table.getCellRange(i,r);if(o)for(let t=o.start.col;t<=o.end.col;t++)for(let e=o.start.row;e<=o.end.row;e++)this.table.scenegraph.updateCellContent(t,e)}}dropDownMenuIsHighlight(t,e,i){const r=this.menu.dropDownMenuHighlight;if(Array.isArray(r))for(let o=0;o<r.length;o++){const n=r[o];let{col:s,row:a}=n;const{field:l,menuKey:h}=n;if("number"!=typeof s||"number"!=typeof a)if(this.table.isPivotTable()&&(Array.isArray(l),1)){const t=this.table.internalProps.layoutMap.getPivotCellAdress(l);if(!t)continue;s=t.col,a=t.row}else{const t=this.table.internalProps.layoutMap.getHeaderCellAddressByField(l);if(!t)continue;s=t.col,a=t.row}if(J(s)&&J(a)&&this.table.isCellRangeEqual(t,e,s,a)){let r=this.table._getHeaderLayoutMap(s??t,a??e).dropDownMenu||this.table.globalDropDownMenu;if("function"==typeof r&&(r=r({row:a,col:s,table:this.table})),r)for(let t=0;t<r.length;t++){const e=r[t];if(Q(e)&&(e.menuKey||e.text)===(h||"")&&t===i)return!0;if(rt(e)&&e===h&&t===i)return!0}}}return!1}triggerSort(t,e,i,r){if(this.table.isPivotTable()){const i=this.table.getPivotSortState(t,e),o=i?i.toUpperCase():"NORMAL",n="ASC"===o?"DESC":"DESC"===o?"NORMAL":"ASC";return this.table.sort(t,e,n),void this.table.fireListeners(TP.PIVOT_SORT_CLICK,{col:t,row:e,order:o||"normal",dimensionInfo:this.table.internalProps.layoutMap.getPivotDimensionInfo(t,e),cellLocation:this.table.getCellLocation(t,e),event:r})}const o=[...this.sort],n=this.table.internalProps.multipleSort||!o.length?null:this.sort[this.sort.length-1];AP(t,e,this.table,r);const s=this.table.getCellRange(t,e),a=this.sort.find((t=>t.col===s.start.col&&t.row===s.start.row)),l=this.table.internalProps.multipleSort||!n?null:n.col,h=this.table.internalProps.multipleSort||!n?null:n.row,c=o.findIndex((i=>i.col===t&&i.row===e));c>=0&&o.splice(c,1),this.table.scenegraph.updateSortIcon({col:t,row:e,iconMark:i,order:a?.order,oldSortCol:l,oldSortRow:h,oldIconMark:n?.icon}),a&&(a.icon=i),this.table.internalProps.multipleSort||o.forEach((t=>{this.table.scenegraph.updateSortIcon({col:null,row:null,iconMark:null,order:"normal",oldSortCol:t.col,oldSortRow:t.row,oldIconMark:null})})),this.table.fireListeners(TP.AFTER_SORT,{order:a?.order,field:this.table.getHeaderField(t,e),event:r})}updateSortState(t){t=Array.isArray(t)?t:[t];for(let e=0;e<t.length;e++){if(t[e].field===this.sort[e]?.field&&t[t.length-1].order===this.sort[e]?.order)return;const i=this.table.internalProps.multipleSort?null:this.sort[e]?.col||null,r=this.table.internalProps.multipleSort?null:this.sort[e]?.row||null;"asc"===this.sort[e]?.order||this.sort[e]?.order,this.setSortState(t.slice(0,e+1));const o=this.table.internalProps.layoutMap.getHeaderCellAddressByField(t[e].field);this.sort[e].col=o.col,this.sort[e].row=o.row;let n;Zw(this.table.scenegraph.getCell(this.sort[e].col,this.sort[e].row),"children",(t=>"sort"===t.attribute.funcType&&(n=t,!0))),this.table.scenegraph.updateSortIcon({col:this.sort[e].col,row:this.sort[e].row,iconMark:n,order:this.sort[e].order,oldSortCol:i,oldSortRow:r,oldIconMark:this.sort[e]?.icon})}const e=[];this.table.internalProps.layoutMap.columnTree.tree.children.forEach((i=>{t.some((t=>t.field===i.field))||e.push(i)}));for(let t=0;t<e.length;t++){const i=e[t];this.table.scenegraph.updateSortIcon({col:null,row:null,iconMark:null,order:null,oldSortCol:i.startInTotal+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount??0,oldSortRow:i.level,oldIconMark:null})}}triggerFreeze(t,e,i){if(!this.table.isPivotTable()&&!this.table.transpose){if(function(t,e,i){i.frozenColCount>0?t!==i.frozenColCount-1?i.setFrozenColCount(t+1):i.setFrozenColCount(0):i.setFrozenColCount(t+1)}(t,0,this.table),this.table.hasListeners(TP.FREEZE_CLICK)){const i=this.table.internalProps.layoutMap.columnObjects.slice(0,t+1);this.table.fireListeners(TP.FREEZE_CLICK,{col:t,row:e,fields:i.reduce(((t,e)=>t.concat(e.field)),[]),colCount:this.table.frozenColCount})}this.frozen.icon=i}}updateCursor(t="default"){this.table.getElement().style.cursor=t}updateDrillState(t,e,i,r,o,n){this.drill.dimensionKey=t,this.drill.title=e,this.drill.drillDown=i,this.drill.drillUp=r,this.drill.col=o,this.drill.row=n,function(t,e,i,r,o){const n=o.getCellLocation(t,e);let s=0,a=0,l=!1;"columnHeader"===n?(s=o.getColsWidth(0,o.rowHeaderLevelCount-1)-(0===o.frozenColCount?o.scrollLeft:0),a=o.getRowsHeight(0,e-1)+o.getRowHeight(e)/2,l=!0):"rowHeader"===n&&(a=o.getRowsHeight(0,o.columnHeaderLevelCount-1),s=o.getColsWidth(0,t-1)+o.getColWidth(t)/2,l=!0),o.scenegraph.updateDrill(l,s,a,i,r)}(o,n,i,r,this.table)}updateSparklineHoverPose(t,e,i,r){-1!==this.sparkLine.col&&-1!==this.sparkLine.row&&function(t,e,i){const r=i.scenegraph.getCell(t,e).getChildByName("sparkline"),o=r?.getChildByName("highlight-line"),n=r?.getChildByName("highlight-symbol");o&&o.setAttributes({visible:!1,pickable:!1}),n&&n.setAttributes({visible:!1,pickable:!1}),i.scenegraph.updateNextFrame()}(this.sparkLine.col,this.sparkLine.row,this.table);let o=!1;-1!==t&&-1!==e&&(o=function(t,e,i,r,o){const n=o.scenegraph.getCell(t,e).getChildByName("sparkline"),s=n?.getChildByName("sparkline-line"),a=n?.getChildByName("sparkline-symbol-group");if(!s)return!1;const l=s.bandwidth,h=s.min,c=s.max,d=s.attribute.points;let u;i-=n.globalAABBBounds.x1,n.globalAABBBounds.y1;for(let t=0;t<d.length;t++){const{x:e,y:r,defined:o,rawData:g}=d[t];if(Math.abs(i-e)<l/2&&(u={point:d[t],points:d,pointsBandWidth:l,pointData:g},o)){const t=n.getChildByName("highlight-line");if(t)t.setAttributes({points:[{x:e,y:c},{x:e,y:h}],visible:!0,pickable:!0});else{const t=Yc({points:[{x:e,y:c},{x:e,y:h}],lineWidth:s.hover?.strokeWidth,stroke:s.hover?.stroke});t.name="highlight-line",n.addChild(t)}const i=n.getChildByName("highlight-symbol");if(i)i.setAttributes({x:e,y:r,visible:!0,pickable:!0});else{const t=Kc({x:e,y:r,stroke:a.hover.stroke,lineWidth:a.hover.strokeWidth,fill:a.hover.fill,size:2*a.hover.size,symbolType:"circle"});t.name="highlight-symbol",n.addChild(t)}break}}if(o.scenegraph.updateNextFrame(),u){const i={col:t,row:e,field:o.getHeaderField(t,e),value:o.getCellValue(t,e),dataValue:o.getCellOriginValue(t,e),cellHeaderPaths:o.internalProps.layoutMap.getCellHeaderPaths(t,e),title:o.getBodyColumnDefine(t,e).title,cellRange:o.getCellRelativeRect(t,e),sparkline:{pointData:u.pointData},scaleRatio:o.canvas.getBoundingClientRect().width/o.canvas.offsetWidth};o.fireListeners(_v.MOUSEOVER_CHART_SYMBOL,i)}return!0}(t,e,i,0,this.table)),o?(this.sparkLine.col=t,this.sparkLine.row=e):(this.sparkLine.col=-1,this.sparkLine.row=-1)}setCheckedState(t,e,i,r){return function(t,e,i,r,o){const n=o.table.getRecordShowIndexByCell(t,e);if(n>=0){const t=o.table.dataSource.getIndexKey(n).toString();o.checkedState.has(t)?o.checkedState.get(t)[i]=r:o.checkedState.set(t,{[i]:r})}}(t,e,i,r,this)}setHeaderCheckedState(t,e){return function(t,e,i){i.headerCheckedState[t]=e,i.checkedState?.forEach((i=>{i[t]=e}))}(t,e,this)}syncCheckedState(t,e,i,r){return function(t,e,i,r,o){if(o.table.isHeader(t,e)){if(J(o.headerCheckedState[i]))return o.headerCheckedState[i];if("function"==typeof r)return;if(J(r))o.headerCheckedState[i]=r;else if(o.checkedState?.size>0)return o.updateHeaderCheckedState(i,t,e);return o.headerCheckedState[i]}const n=o.table.getRecordShowIndexByCell(t,e);if(n>=0){const t=o.table.dataSource.getIndexKey(n).toString();if(J(o.checkedState.get(t)?.[i]))return o.checkedState.get(t)[i];o.checkedState.has(t)?o.checkedState.get(t)[i]=r:o.checkedState.set(t,{[i]:r})}return r}(t,e,i,r,this)}initCheckedState(t){return kP(t,this)}updateHeaderCheckedState(t,e,i){return function(t,e,i,r){let o=!0,n=!0,s=!1;return e.checkedState.forEach(((a,l)=>{l=l.includes(",")?l.split(",").map((t=>Number(t))):Number(l);const h=e.table.getTableIndexByRecordIndex(l),c=e.table.transpose?e.table.getCustomMerge(h,r):e.table.getCustomMerge(i,h),d=e.table.dataSource?.get(l);c||!e.table.internalProps.rowSeriesNumber?.enableTreeCheckbox&&d?.vtableMerge||(!0!==a?.[t]?o=!1:(n=!1,s=!0))})),o?(e.headerCheckedState[t]=!0,o):n?(e.headerCheckedState[t]=!1,!1):!!s&&(e.headerCheckedState[t]="indeterminate","indeterminate")}(t,this,e,i)}initLeftRecordsCheckState(t){return function(t,e){for(let i=e.checkedState.size;i<t.length;i++){const r=t[i];e._checkboxCellTypeFields.forEach((t=>{const o=r[t];let n;Q(o)?n=o.checked:"boolean"==typeof o&&(n=o);const s=i.toString();e.checkedState.get(s)||e.checkedState.set(s,{}),e.checkedState.get(s)[t]=n}))}}(t,this)}setRadioState(t,e,i,r,o){!function(t,e,i,r,o,n){const s=n.table.getRecordShowIndexByCell(t,e);if(s>=0){const t=n.table.dataSource.getIndexKey(s);"column"===r?at(o)?(n.radioState[i]={},n.radioState[i][t]=o):n.radioState[i]=t:(n.radioState[i]||(n.radioState[i]={}),at(o)?n.radioState[i][t]=o:n.radioState[i][t]=!0)}}(t,e,i,r,o,this)}syncRadioState(t,e,i,r,o,n){return function(t,e,i,r,o,n,s){const a=s.table.getRecordShowIndexByCell(t,e);if(a>=0){const t=s.table.dataSource.getIndexKey(a);if("column"===r){if(!J(s.radioState[i])&&n)return at(o)?(s.radioState[i]={},s.radioState[i][t]=o):s.radioState[i]=t,!0;if(at(s.radioState[i])&&!at(o))return s.radioState[i]===t;if(at(s.radioState[i])&&at(o))return!1;if(Q(s.radioState[i])&&!at(o))return!1;if(Q(s.radioState[i])&&at(o))return s.radioState[i][t]===o}else if("cell"===r){if(!J(s.radioState[i])&&n)return s.radioState[i]={},at(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(!J(s.radioState[i]?.[t])&&n)return at(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(Y(s.radioState[i]?.[t])&&!at(o))return s.radioState[i][t];if(Y(s.radioState[i]?.[t])&&at(o))return!1;if(at(s.radioState[i]?.[t])&&!at(o))return!1;if(at(s.radioState[i]?.[t])&&at(o))return s.radioState[i][t]===o}}return n}(t,e,i,r,o,n,this)}changeCheckboxAndRadioOrder(t,e){this.checkedState.size&&function(t,e,i){const{checkedState:r,table:o}=i;let n,s;if(o.internalProps.transpose?(t=o.getRecordShowIndexByCell(t,0),e=o.getRecordShowIndexByCell(e,0)):(n=o.isPivotTable()?void 0:o.getRecordIndexByCell(0,t),s=o.isPivotTable()?void 0:o.getRecordIndexByCell(0,e)),at(n)&&at(s)){if(t>e){const i=r.get(t.toString());for(let i=t;i>e;i--)r.set(i.toString(),r.get((i-1).toString()));r.set(e.toString(),i)}else if(t<e){const i=r.get(t.toString());for(let i=t;i<e;i++)r.set(i.toString(),r.get((i+1).toString()));r.set(e.toString(),i)}}else if(ot(n)&&ot(s))if((t=n[n.length-1])>(e=s[s.length-1])){const i=r.get(n.toString());for(let i=t;i>e;i--){const t=[...n];t[t.length-1]=i;const e=[...n];e[e.length-1]=i-1,r.set(t.toString(),r.get(e.toString()))}r.set(s.toString(),i)}else if(t<e){const i=r.get(n.toString());for(let i=t;i<e;i++){const t=[...n];t[t.length-1]=i;const e=[...n];e[e.length-1]=i+1,r.set(t.toString(),r.get(e.toString()))}r.set(s.toString(),i)}}(t,e,this),this.radioState.length&&function(t,e,i){const{radioState:r,table:o}=i;if(o.internalProps.transpose?(t=o.getRecordShowIndexByCell(t,0),e=o.getRecordShowIndexByCell(e,0)):(t=o.getRecordShowIndexByCell(0,t),e=o.getRecordShowIndexByCell(0,e)),t>e){const i=r[t];for(let i=t;i>e;i--)r[i]=r[i-1];r[e]=i}else if(t<e){const i=r[t];for(let i=t;i<e;i++)r[i]=r[i+1];r[e]=i}}(t,e,this)}setCustomSelectRanges(t){!function(t){const{customSelectedRangeComponents:e}=t.table.scenegraph;e.forEach(((t,e)=>{t.rect.delete()})),e.clear(),t.select.customSelectRanges=[]}(this),function(t,e){const{customSelectedRangeComponents:i}=e.table.scenegraph;t.forEach((t=>{const{range:e,style:r}=t,o=Jc({fill:r.cellBgColor??!1,stroke:r.cellBorderColor??!1,lineWidth:r.cellBorderLineWidth??0,lineDash:r.cellBorderLineDash??[],pickable:!1});i.set(`${e.start.col}-${e.start.row}-${e.end.col}-${e.end.row}`,{rect:o,role:"body"})})),e.select.customSelectRanges=t,PM(e.table.scenegraph),e.table.scenegraph.updateNextFrame()}(t,this)}}function IP(t){if(t.eventManager.bindSparklineHoverEvent)return;let e=!1;if(t.isPivotTable()){e=t.internalProps.layoutMap.indicatorsDefine.some((t=>"string"!=typeof t&&"sparkline"===t.cellType))}else{e=t.internalProps.layoutMap.columnObjects.some((t=>"sparkline"===t.cellType||"function"==typeof t.cellType))}e&&(t.eventManager.bindSparklineHoverEvent=!0,t.on(_v.MOUSEMOVE_CELL,(e=>{const{col:i,row:r,x:o,y:n}=e;"sparkline"!==t.getBodyColumnType(i,r)&&t.stateManager.updateSparklineHoverPose(-1,-1,0,0),t.stateManager.updateSparklineHoverPose(i,r,o,n)})),t.on(_v.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateSparklineHoverPose(-1,-1,0,0)})))}function zP(t,e,i=!0){let{deltaX:r,deltaY:o}=t;t.shiftKey&&t.deltaY&&(r=o,o=0);const[n,s]=function(t,e,i){const r=2,o=Math.abs(t/e),n=o<=1/r?0:t,s=o>r?0:e;return[Math.ceil(n*(i.horizontal??0)),Math.ceil(s*(i.vertical??0))]}(r,o,{horizontal:1,vertical:1});(n||s)&&e.interactionState!==UC.scrolling&&e.updateInteractionState(UC.scrolling),n&&(e.setScrollLeft(e.scroll.horizontalBarPos+n,t),e.showHorizontalScrollBar(!0)),s&&(e.setScrollTop(e.scroll.verticalBarPos+s,t),e.showVerticalScrollBar(!0)),i&&e.resetInteractionState(e.interactionStateBeforeScroll),t.nativeEvent?.cancelable&&("none"===e.table.internalProps.overscrollBehavior||Math.abs(o)>=Math.abs(r)&&0!==o&&OP(o,e)||Math.abs(o)<=Math.abs(r)&&0!==r&&DP(r,e))&&t.nativeEvent.preventDefault()}function OP(t,e){return 0!=e.table.getAllRowsHeight()-e.table.scenegraph.height&&(!function(t,e){const i=e.table.getAllRowsHeight()-e.table.scenegraph.height;return 0!==i&&t<=0&&e.scroll.verticalBarPos<1}(t,e)&&!function(t,e){const i=e.table.options.customConfig?._disableColumnAndRowSizeRound?1:0,r=e.table.getAllRowsHeight()-e.table.scenegraph.height;return 0!==r&&t>=0&&Math.abs(e.scroll.verticalBarPos-r)<1+i}(t,e))}function DP(t,e){return 0!=e.table.getAllColsWidth()-e.table.scenegraph.width&&(!function(t,e){const i=e.table.getAllColsWidth()-e.table.scenegraph.width;return 0!==i&&t<=0&&e.scroll.horizontalBarPos<1}(t,e)&&!function(t,e){const i=e.table.options.customConfig?._disableColumnAndRowSizeRound?1:0,r=e.table.getAllColsWidth()-e.table.scenegraph.width;return 0!==r&&t>=0&&Math.abs(e.scroll.horizontalBarPos-r)<1+i}(t,e))}class WP{friction;lastTime;speedX;speedY;stateManager;runingId;scrollHandle;constructor(t){this.stateManager=t}setScrollHandle(t){this.scrollHandle=t}startInertia(t,e,i){this.lastTime=Date.now(),this.speedX=t,this.speedY=e,this.friction=i,this.runingId||(this.runingId=requestAnimationFrame(this.inertia.bind(this)))}inertia(){const t=Date.now(),e=t-this.lastTime;let i=!0;const r=Math.pow(this.friction,e/16),o=r*this.speedX,n=r*this.speedY;let s=0,a=0;Math.abs(o)>.05&&(i=!1,s=(this.speedX+o)/2*e),Math.abs(n)>.05&&(i=!1,a=(this.speedY+n)/2*e),this.scrollHandle?.(s,a),i?this.runingId=null:(this.lastTime=t,this.speedX=o,this.speedY=n,this.runingId=requestAnimationFrame(this.inertia.bind(this)))}endInertia(){cancelAnimationFrame(this.runingId),this.runingId=null}isInertiaScrolling(){return!!this.runingId}}function NP(t,e,i){e&&-1!==t.stateManager.columnMove?.colSource&&-1!==t.stateManager.columnMove?.rowSource&&-1!==t.stateManager.columnMove?.colTarget&&-1!==t.stateManager.columnMove?.rowTarget?t.hasListeners(_v.CHANGE_HEADER_POSITION)&&t.fireListeners(_v.CHANGE_HEADER_POSITION,{target:{col:t.stateManager.columnMove.colTarget,row:t.stateManager.columnMove.rowTarget},source:{col:t.stateManager.columnMove.colSource,row:t.stateManager.columnMove.rowSource},event:i}):e||t.hasListeners(_v.CHANGE_HEADER_POSITION_FAIL)&&t.fireListeners(_v.CHANGE_HEADER_POSITION_FAIL,{target:{col:t.stateManager.columnMove.colTarget,row:t.stateManager.columnMove.rowTarget},source:{col:t.stateManager.columnMove.colSource,row:t.stateManager.columnMove.rowSource},event:i})}function GP(t){const e=t.table,i=e.stateManager;e.scenegraph.tableGroup.addEventListener("pointermove",(r=>{const o=e.eventManager.LastPointerXY?.x??r.x,n=e.eventManager.LastPointerXY?.y??r.y;e.eventManager.LastPointerXY={x:r.x,y:r.y},t.touchSetTimeout&&(clearTimeout(t.touchSetTimeout),t.touchSetTimeout=void 0);const s=UA(r);if(s.eventArgs&&e.hasListeners(_v.MOUSEMOVE_TABLE)&&e.fireListeners(_v.MOUSEMOVE_TABLE,{col:s.eventArgs.col,row:s.eventArgs.row,x:s.abstractPos.x,y:s.abstractPos.y,event:r.nativeEvent,target:s?.eventArgs?.target,mergeCellInfo:s.eventArgs?.mergeInfo}),i.interactionState===UC.grabing&&!e.editorManager?.editingEditor)return void(Math.abs(o-r.x)+Math.abs(n-r.y)>=1&&(i.isResizeCol()||i.isResizeRow()||(i.isMoveCol()?t.dealColumnMover(s):i.isFillHandle()?t.dealFillSelect(s,!0):e.options.select?.disableDragSelect||t.dealTableSelect(s,!0))));!e.options.select?.disableDragSelect&&e.eventManager.isDraging&&i.isSelecting()&&!e.editorManager?.editingEditor&&t.dealTableSelect(s,!0);const a=r.path.find((t=>"cell"===t.role));if(e.hasListeners(_v.MOUSELEAVE_CELL)&&(-1===e.stateManager.hover.cellPos.col||-1===e.stateManager.hover.cellPos.row||a?.col===e.stateManager.hover.cellPos.col&&a?.row===e.stateManager.hover.cellPos.row||e.fireListeners(_v.MOUSELEAVE_CELL,{col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row,cellRange:e.getCellRangeRelativeRect({col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:s?.eventArgs?.target})),e.hasListeners(_v.MOUSEENTER_CELL)&&("cell"!==a?.role||!J(a.col)||!J(a.row)||a.col===e.stateManager.hover.cellPos.col&&a.row===e.stateManager.hover.cellPos.row||a.col===e.stateManager.hover.cellPosContainHeader?.col&&a.row===e.stateManager.hover.cellPosContainHeader?.row||e.fireListeners(_v.MOUSEENTER_CELL,{col:a.col,row:a.row,cellRange:e.getCellRangeRelativeRect({col:a.col,row:a.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:s?.eventArgs?.target,mergeCellInfo:s.eventArgs?.mergeInfo})),t.dealIconHover(s),t.dealTableHover(s),e.theme.columnResize.visibleOnHover&&t.checkColumnResize(s,!0),s.eventArgs&&e.hasListeners(_v.MOUSEMOVE_CELL)){let t,i;if(s.eventArgs?.target){const e=PP(s.eventArgs?.target);e&&(t=e.icon,i=e.position)}e.fireListeners(_v.MOUSEMOVE_CELL,{col:s.eventArgs.col,row:s.eventArgs.row,x:s.abstractPos.x,y:s.abstractPos.y,event:r.nativeEvent,targetIcon:t?{name:t.name,position:i,funcType:t.attribute.funcType}:void 0,target:s?.eventArgs?.target,mergeCellInfo:s.eventArgs?.mergeInfo})}})),e.scenegraph.tableGroup.addEventListener("pointerout",(e=>{const i=UA(e),r=i?.eventArgs?.target;"table"===r?.role&&t.dealTableHover()})),e.scenegraph.tableGroup.addEventListener("pointerover",(t=>{const i=UA(t),r=i?.eventArgs?.target;if(r&&e.hasListeners(_v.MOUSEOVER_CHART_SYMBOL)&&"symbol"===r.type){const r=t.composedPath().find((t=>"cell"===t.roll));if(r){const{col:o,row:n}=r,s={col:o,row:n,field:e.getHeaderField(o,n),value:e.getCellValue(o,n),dataValue:e.getCellOriginValue(o,n),cellHeaderPaths:e.internalProps.layoutMap.getCellHeaderPaths(o,n),title:e.getBodyColumnDefine(o,n).title,cellRange:e.getCellRelativeRect(o,n),event:t.nativeEvent,sparkline:{pointData:void 0},scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:i?.eventArgs?.target};e.fireListeners(_v.MOUSEOVER_CHART_SYMBOL,s)}}})),e.scenegraph.tableGroup.addEventListener("pointerenter",(t=>{(e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.horizontalVisible||!e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.showHorizontalScrollBar(),(e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.verticalVisible||!e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.showVerticalScrollBar(),e.hasListeners(_v.MOUSEENTER_TABLE)&&e.fireListeners(_v.MOUSEENTER_TABLE,{event:t.nativeEvent})})),e.scenegraph.tableGroup.addEventListener("pointerleave",(r=>{i.isResizeCol()||i.isResizeRow()||i.isMoveCol()||i.isSelecting()||(i.updateInteractionState(UC.default),i.updateCursor()),(e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.horizontalVisible||!e.theme.scrollStyle.horizontalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.hideHorizontalScrollBar(),(e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.verticalVisible||!e.theme.scrollStyle.verticalVisible&&"focus"===e.theme.scrollStyle.visible)&&i.hideVerticalScrollBar(),e.hasListeners(_v.MOUSELEAVE_CELL)&&-1!==e.stateManager.hover.cellPos.col&&-1!==e.stateManager.hover.cellPos.row&&e.fireListeners(_v.MOUSELEAVE_CELL,{col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row,cellRange:e.getCellRangeRelativeRect({col:e.stateManager.hover.cellPos.col,row:e.stateManager.hover.cellPos.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:void 0}),t.dealTableHover();const o=r.target;o&&!o.isDescendantsOf(e.scenegraph.tableGroup)&&e.fireListeners(_v.MOUSELEAVE_TABLE,{event:r.nativeEvent})}));const r=r=>{const o=r.target;if(!e.getElement().contains(o)){const o=e.editorManager?.completeEdit(r);uv(o,(e=>{!1!==e&&(i.updateInteractionState(UC.default),t.dealTableHover())}))}},o=r=>{const o=r.target;if(!e.getElement().contains(o)&&!e.internalProps.menuHandler.containElement(o)){const o=e.editorManager?.completeEdit(r);uv(o,(r=>{if(!1!==r&&e.options.select?.outsideClickDeselect){const e=!!i.select.ranges?.length;t.dealTableSelect(),i.endSelectCells(!0,e)}}))}};t.globalEventListeners.push({name:"pointerup",env:"document",callback:r}),t.globalEventListeners.push({name:"pointerdown",env:"document",callback:o}),lu.addEventListener("pointerup",r),lu.addEventListener("pointerdown",o),e.scenegraph.tableGroup.addEventListener("pointerdown",(r=>{e.hasListeners(_v.MOUSEDOWN_TABLE)&&e.fireListeners(_v.MOUSEDOWN_TABLE,{event:r.nativeEvent}),e.eventManager.isDown=!0,e.eventManager.LastBodyPointerXY={x:r.x,y:r.y},e.eventManager.LastPointerXY={x:r.x,y:r.y};const o=UA(r);if(t.downIcon=void 0,i.interactionState!==UC.default)return;if(e.isPivotChart()&&"chart"!==o?.eventArgs?.target.type&&e.scenegraph.updateChartState(null),o.eventArgs?.target!==i.residentHoverIcon?.icon&&i.hideMenu(),"chart"===o?.eventArgs?.target.type)return;const n=e.editorManager?.completeEdit(r.nativeEvent);uv(n,(n=>{if(!1===n)return;const s=o?.eventArgs?.target?.role?.startsWith("icon")?o.eventArgs.target:r.target.role?.startsWith("icon")?r.target:void 0;if(t.downIcon=s,s&&!1!==s.attribute.interactive)s.attribute.funcType===QC.dragReorder&&(i.startMoveCol(o.eventArgs.col,o.eventArgs.row,o.abstractPos.x,o.abstractPos.y,o.eventArgs?.event?.nativeEvent),i.updateInteractionState(UC.grabing));else{if(t.cellIsHeaderCheck(o))return;if("touch"===r.pointerType){if(t.touchEnd=!1,t.touchSetTimeout=setTimeout((()=>{t.isTouchdown=!1,t.touchMove=!0,(t.touchEnd||!t.checkColumnResize(o,!0)&&!t.checkRowResize(o,!0))&&(t.touchEnd||!t.checkColumnMover(o))?t.dealTableSelect(o)&&!t.touchEnd&&i.updateInteractionState(UC.grabing):i.updateInteractionState(UC.grabing)}),500),e.hasListeners(_v.MOUSEENTER_CELL)){const t=r.path.find((t=>"cell"===t.role));"cell"!==t?.role||!J(t.col)||!J(t.row)||t.col===e.stateManager.hover.cellPos.col&&t.row===e.stateManager.hover.cellPos.row||t.col===e.stateManager.hover.cellPosContainHeader?.col&&t.row===e.stateManager.hover.cellPosContainHeader?.row||e.fireListeners(_v.MOUSEENTER_CELL,{col:t.col,row:t.row,cellRange:e.getCellRangeRelativeRect({col:t.col,row:t.row}),scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,event:r.nativeEvent,target:o?.eventArgs?.target,mergeCellInfo:o.eventArgs?.mergeInfo})}t.dealTableHover(o)}else{if(!t.checkCellFillhandle(o)&&(t.checkColumnResize(o,!0)||t.checkRowResize(o,!0)))return e.scenegraph.updateChartState(null),void i.updateInteractionState(UC.grabing);if(t.checkColumnMover(o))return void i.updateInteractionState(UC.grabing);if(t.checkCellFillhandle(o,!0)&&t.dealFillSelect(o))return void i.updateInteractionState(UC.grabing);t.dealTableSelect(o)&&i.updateInteractionState(UC.grabing)}}if(e.hasListeners(_v.MOUSEDOWN_CELL)){const t=UA(r);t.eventArgs&&e.fireListeners(_v.MOUSEDOWN_CELL,{col:t.eventArgs.col,row:t.eventArgs.row,event:r.nativeEvent,target:t?.eventArgs?.target,mergeCellInfo:t.eventArgs.mergeInfo})}}))})),e.scenegraph.tableGroup.addEventListener("pointerup",(t=>{if(0===t.button){if("grabing"===i.interactionState){if(i.updateInteractionState(UC.default),i.isResizeCol())jP(e);else if(i.isResizeRow())UP(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();NP(e,i,t.nativeEvent)}else if(i.isSelecting()){e.stateManager.endSelectCells(),e.stateManager.isFillHandle()&&e.stateManager.endFillSelect();const i=UA(t);if(e.eventManager.isDraging&&i.eventArgs&&e.hasListeners(_v.DRAG_SELECT_END)){const r={event:t.nativeEvent,cells:[],col:i.eventArgs.target.col,row:i.eventArgs.target.row,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:i?.eventArgs?.target,mergeCellInfo:i.eventArgs?.mergeInfo};r.cells=e.getSelectedCellInfos(),e.fireListeners(_v.DRAG_SELECT_END,r)}}}else i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default);if(e.hasListeners(_v.MOUSEUP_CELL)){const i=UA(t);i.eventArgs&&e.fireListeners(_v.MOUSEUP_CELL,{col:i.eventArgs.col,row:i.eventArgs.row,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i.eventArgs?.mergeInfo})}}})),e.scenegraph.tableGroup.addEventListener("rightdown",(t=>{const r=UA(t);if(r.eventArgs){i.triggerContextMenu(r.eventArgs.col,r.eventArgs.row,r.abstractPos.x,r.abstractPos.y);const{col:o,row:n}=r.eventArgs;if(e.hasListeners(_v.CONTEXTMENU_CELL)){const i=e.getCellInfo(o,n);let s,a;if(r.eventArgs?.target){const t=PP(r.eventArgs?.target);t&&(s=t.icon,a=t.position)}const l={...i,event:t.nativeEvent,cells:[],targetIcon:s?{name:s.name,position:a,funcType:s.attribute.funcType}:void 0,target:r?.eventArgs?.target,mergeCellInfo:r.eventArgs?.mergeInfo};!function(t,e,i){for(let r=0;r<t.length;r++){const o=t[r],n=Math.min(o.start.col,o.end.col),s=Math.max(o.start.col,o.end.col),a=Math.min(o.start.row,o.end.row),l=Math.max(o.start.row,o.end.row);if(n<=e&&e<=s&&a<=i&&i<=l||s<=e&&e<=n&&l<=i&&i<=a)return!0}return!1}(e.stateManager.select.ranges,o,n)?l.cells=[[i]]:l.cells=e.getSelectedCellInfos(),e.fireListeners(_v.CONTEXTMENU_CELL,l)}}})),e.scenegraph.tableGroup.addEventListener("pointertap",(r=>{if(e.stateManager.columnResize.resizing)return;const o=UA(r);if(!t.touchMove&&0===r.button&&o.eventArgs&&e.hasListeners(_v.CLICK_CELL)){const{col:t,row:i}=o.eventArgs,n=e.getCellInfo(t,i);let s,a;if(o.eventArgs?.target){const t=PP(o.eventArgs?.target);t&&(s=t.icon,a=t.position)}const l={...n,event:r.nativeEvent,federatedEvent:r,cells:[],targetIcon:s?{name:s.name,position:a,funcType:s.attribute.funcType}:void 0,target:o?.eventArgs?.target,mergeCellInfo:o.eventArgs?.mergeInfo};e.fireListeners(_v.CLICK_CELL,l)}if(!e.stateManager.columnResize.resizing&&!e.stateManager.columnMove.moving&&(t.dealIconClick(r,o),o?.eventArgs&&t.touchSetTimeout&&"touch"===r.pointerType)){const e=UA(r);if(t.touchSetTimeout){clearTimeout(t.touchSetTimeout);const r=!!i.select.ranges?.length;t.dealTableSelect(e),i.endSelectCells(!0,r),t.touchSetTimeout=void 0}}})),e.scenegraph.stage.addEventListener("pointerdown",(r=>{const o=UA(r);o.eventArgs?.target&&o.eventArgs?.target===i.residentHoverIcon?.icon||i.hideMenu();const n=e.editorManager?.completeEdit(r.nativeEvent);uv(n,(n=>{if(!1===n)return;const s=r.target.role?.startsWith("icon")?r.target:void 0;if(t.downIcon=s,s||t.checkCellFillhandle(o)||i.columnResize.resizing||!t.checkColumnResize(o,!0));else{e.scenegraph.updateChartState(null),i.updateInteractionState(UC.grabing);const{eventArgs:t}=o;if(!t?.targetCell){e.getCellAt(o.abstractPos.x-e.theme.columnResize.resizeHotSpotSize/2,o.abstractPos.y)&&e.hasListeners(_v.MOUSEDOWN_TABLE)&&e.fireListeners(_v.MOUSEDOWN_TABLE,{event:r.nativeEvent})}}}))})),e.scenegraph.stage.addEventListener("pointerup",(t=>{"grabing"===i.interactionState&&(i.updateInteractionState(UC.default),i.isResizeCol()?jP(e):i.isResizeRow()&&UP(e))})),e.scenegraph.stage.addEventListener("pointertap",(r=>{const o=r.target;if(e.eventManager.isDraging||!o||!o.isDescendantsOf(e.scenegraph.stage)&&o.stage!==o||o.isDescendantsOf(e.scenegraph.tableGroup))e.eventManager.isDraging&&i.isSelecting()&&i.endSelectCells();else{i.updateInteractionState(UC.default),t.dealTableHover();const r=!!i.select.ranges?.length;(e.options.select?.blankAreaClickDeselect??1)&&t.dealTableSelect(),i.endSelectCells(!0,r),i.updateCursor(),e.scenegraph.updateChartState(null)}})),e.scenegraph.stage.addEventListener("pointermove",(r=>{const o=UA(r);i.isResizeCol()||t.checkColumnResize(o)?e.stateManager.select&&t.checkCellFillhandle(o)?i.updateCursor("crosshair"):i.updateCursor("col-resize"):i.isResizeRow()||t.checkRowResize(o)?e.stateManager.select&&t.checkCellFillhandle(o)?i.updateCursor("crosshair"):i.updateCursor("row-resize"):i.isMoveCol()||i.updateCursor()})),e.scenegraph.tableGroup.addEventListener("checkbox_state_change",(t=>{const i=UA(t),{col:r,row:o}=i.eventArgs,n=e.getCellInfo(r,o),s=nx(e,r,o);if(s)for(let i=s.start.col;i<=s.end.col;i++)for(let r=s.start.row;r<=s.end.row;r++){e.scenegraph.getCell(i,r).forEachChildren((e=>{"checkbox"===e.name&&e.setAttributes({checked:t.target.attribute.checked,indeterminate:t.target.attribute.indeterminate})}))}const a={...n,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo,checked:t.detail.checked};if(e.isHeader(r,o)){e.stateManager.setHeaderCheckedState(n.field,t.detail.checked);"checkbox"===e.getCellType(r,o)&&e.scenegraph.updateCheckboxCellState(r,o,t.detail.checked)}else{e.stateManager.setCheckedState(r,o,n.field,t.detail.checked);if("checkbox"===e.getCellType(r,o)){const t=e.stateManager.headerCheckedState[n.field],i=e.stateManager.updateHeaderCheckedState(n.field,r,o);t!==i&&e.scenegraph.updateHeaderCheckboxCellState(r,o,i)}}e.fireListeners(_v.CHECKBOX_STATE_CHANGE,a),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("radio_checked",(t=>{const i=UA(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=XA.exec(n.id)?.[1],l=nx(e,r,o);if(l)for(let t=l.start.col;t<=l.end.col;t++)for(let i=l.start.row;i<=l.end.row;i++){e.scenegraph.getCell(t,i).forEachChildren((t=>{"radio"===t.name&&t.id===n.id&&t.setAttributes({checked:!0})}))}const h=e.getBodyColumnDefine(r,o).radioCheckType||"column";if("cell"===h)if(l)for(let t=l.start.col;t<=l.end.col;t++)for(let i=l.start.row;i<=l.end.row;i++){e.scenegraph.getCell(t,i).forEachChildren((t=>{"radio"===t.name&&t.id!==n.id&&t.setAttributes({checked:!1})}))}else{e.scenegraph.getCell(r,o).forEachChildren((t=>{"radio"===t.name&&t.id!==n.id&&t.setAttributes({checked:!1})}))}else if("column"===h){e.scenegraph.getColGroup(r).forEachChildren((t=>{t.forEachChildren((t=>{"radio"===t.name&&t.id!==n.id&&t.setAttributes({checked:!1})}))}))}const c=a?Number(a):void 0;e.stateManager.setRadioState(r,o,s.field,h,c);const d={...s,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo,radioIndexInCell:c};e.fireListeners(_v.RADIO_STATE_CHANGE,d),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("switch_state_change",(t=>{const i=UA(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=nx(e,r,o);if(a)for(let i=a.start.col;i<=a.end.col;i++)for(let r=a.start.row;r<=a.end.row;r++){e.scenegraph.getCell(i,r).forEachChildren((e=>{"switch"===e.name&&e.setAttributes({checked:t.target.attribute.checked})}))}const l={...s,event:t.nativeEvent,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo,checked:t.detail.checked};e.stateManager.setCheckedState(r,o,s.field,t.detail.checked),e.fireListeners(_v.SWITCH_STATE_CHANGE,l),e.scenegraph.updateNextFrame()})),e.scenegraph.stage.addEventListener("wheel",(t=>{t.path.find((t=>"legend"===t.name))||(e.editorManager?.completeEdit(),e.eventManager._enableTableScroll&&zP(t,i))}))}function VP(t){const e=t.table;t.gesture=new Og(e.scenegraph.tableGroup,{tap:{interval:300}}),t.gesture.on("doubletap",(t=>{!function(t,e){const i=UA(t);let r=-1,o=-1;i.eventArgs&&(r=i.eventArgs.col,o=i.eventArgs.row);const n=e.getCellValue(r,o),s=i.eventArgs?.targetCell?.globalAABBBounds;if(s&&e.internalProps.focusControl.setFocusRect(new Hv(s.x1+e.scrollLeft,s.y1+e.scrollTop,s.x2-s.x1,s.y2-s.y1),n),e.hasListeners(_v.DBLCLICK_CELL)){const n=e.getCellInfo(r,o);let s,a;if(i.eventArgs?.target){const t=PP(i.eventArgs?.target);t&&(s=t.icon,a=t.position)}const l={...n,event:t.nativeEvent,federatedEvent:t,cells:[],targetIcon:s?{name:s.name,position:a,funcType:s.attribute.funcType}:void 0,target:i?.eventArgs?.target,mergeCellInfo:i?.eventArgs?.mergeInfo};e.fireListeners(_v.DBLCLICK_CELL,l)}}(t,e)}))}function jP(t){t.stateManager.endResizeCol();const e=[];for(let i=0;i<t.colCount;i++)e.push(t.getColWidth(i));t.fireListeners(_v.RESIZE_COLUMN_END,{col:t.stateManager.columnResize.col,colWidths:e})}function UP(t){t.stateManager.endResizeRow(),t.fireListeners(_v.RESIZE_ROW_END,{row:t.stateManager.rowResize.row,rowHeight:t.getRowHeight(t.stateManager.rowResize.row)})}let KP,$P=1;function XP(){return Jw?$P=1:($P=Math.ceil(window.devicePixelRatio||1),$P>1&&$P%2!=0&&($P+=1)),$P}function YP(t){const e=t.table,i=e.stateManager,r=e.internalProps.handler;function o(t){if(e.hasListeners(_v.KEYDOWN)){const i={keyCode:t.keyCode??t.which,code:t.code,event:t,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth};e.fireListeners(_v.KEYDOWN,i)}}r.on(e.getElement(),"blur",(e=>{t.dealTableHover()})),r.on(e.getElement(),"keydown",(r=>{if("a"===r.key&&(r.ctrlKey||r.metaKey))e.keyboardOptions?.selectAllOnCtrlA&&(r.preventDefault(),t.deelTableSelectAll());else if(i.select.cellPos.col>=0&&i.select.cellPos.row>=0&&("ArrowUp"===r.key||"ArrowDown"===r.key||"ArrowLeft"===r.key||"ArrowRight"===r.key)){if(!e.options.keyboardOptions?.moveEditCellOnArrowKeys&&e.editorManager?.editingEditor||!1===e.options.keyboardOptions?.moveSelectedCellOnArrowKeys)return;let t,o;if(r.preventDefault(),r.stopPropagation(),"ArrowUp"===r.key?r.ctrlKey||r.metaKey?(t=i.select.cellPos.col,o=0):(r.shiftKey,t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row-1))):"ArrowDown"===r.key?r.ctrlKey||r.metaKey?(t=i.select.cellPos.col,o=e.rowCount-1):(r.shiftKey,t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row+1))):"ArrowLeft"===r.key?r.ctrlKey||r.metaKey?(t=0,o=i.select.cellPos.row):(r.shiftKey,o=i.select.cellPos.row,t=Math.min(e.colCount-1,Math.max(0,i.select.cellPos.col-1))):"ArrowRight"===r.key&&(r.ctrlKey||r.metaKey?(t=e.colCount-1,o=i.select.cellPos.row):(r.shiftKey,o=i.select.cellPos.row,t=Math.min(e.colCount-1,Math.max(0,i.select.cellPos.col+1)))),vB(e,t,o))return;e.selectCell(t,o,r.shiftKey),e.options.keyboardOptions?.moveEditCellOnArrowKeys&&e.editorManager?.editingEditor&&(e.editorManager.completeEdit(),e.getElement().focus(),e.getEditor(t,o)&&e.editorManager.startEditCell(t,o))}else if("Escape"===r.key)e.editorManager?.cancelEdit(),e.getElement().focus();else if("Enter"===r.key){if(e.editorManager?.editingEditor){if(o(r),e.editorManager.completeEdit(),e.getElement().focus(),!0===e.options.keyboardOptions?.moveFocusCellOnEnter){const t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row+1));if(vB(e,t,o))return;e.selectCell(t,o,r.shiftKey)}return}if(!0===e.options.keyboardOptions?.moveFocusCellOnEnter){const t=i.select.cellPos.col,o=Math.min(e.rowCount-1,Math.max(0,i.select.cellPos.row+1));if(vB(e,t,o))return;e.selectCell(t,o,r.shiftKey)}else if((e.options.keyboardOptions?.editCellOnEnter??1)&&1===(e.stateManager.select.ranges?.length??0)){const t=e.stateManager.select.ranges[0].start.col,i=e.stateManager.select.ranges[0].start.row,r=e.stateManager.select.ranges[0].end.col,o=e.stateManager.select.ranges[0].end.row;t===r&&i===o&&e.getEditor(t,i)&&e.editorManager.startEditCell(t,i)}}else if("Tab"===r.key){if((e.options.keyboardOptions?.moveFocusCellOnTab??1)&&i.select.cellPos.col>=0&&i.select.cellPos.row>=0){if(i.select.cellPos.col===e.colCount-1&&i.select.cellPos.row===e.rowCount-1)return;let t,o;if(r.preventDefault(),i.select.cellPos.col===e.colCount-1?(o=Math.min(e.rowCount-1,i.select.cellPos.row+1),t=e.rowHeaderLevelCount):(o=i.select.cellPos.row,t=i.select.cellPos.col+1),vB(e,t,o))return;e.selectCell(t,o),e.editorManager?.editingEditor&&(e.editorManager.completeEdit(),e.getElement().focus(),e.getEditor(t,o)&&e.editorManager.startEditCell(t,o))}}else if(!(r.ctrlKey||r.metaKey||r.shiftKey)){const t=e.options.editCellTrigger;if(("keydown"===t||Array.isArray(t)&&t.includes("keydown"))&&!e.editorManager?.editingEditor){const t=/^[a-zA-Z0-9+\-*\/%=.,\s]$/;r.key.match(t)&&e.editorManager.startEditCell(i.select.cellPos.col,i.select.cellPos.row,"")}}o(r)})),r.on(e.getElement(),"copy",(async t=>{if(e.keyboardOptions?.copySelected){const i=e.getCopyValue();if(J(i)){t.preventDefault();const r=await navigator.permissions.query({name:"clipboard-write"});if(navigator.clipboard?.write&&"granted"===r.state){const t=t=>{const e=["<table>"],i=['<meta name="author" content="Visactor"/>','<style type="text/css">td{white-space:normal}br{mso-data-placement:same-cell}</style>'].join(""),r=t.split("\r\n");return r.forEach((function(t,i){const o=t.split("\t"),n=[];0===i&&e.push("<tbody>"),o.forEach((function(t,e){const i=t?t.toString().replace(/&/g,"&").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\n/g,"<br>").replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g,"<br>\r\n").replace(/\x20{2,}/gi,(t=>`<span style="mso-spacerun: yes">${" ".repeat(t.length-1)} </span>`)).replace(/\t/gi,"	"):" ";n.push(`<td>${i}</td>`)})),e.push("<tr>",...n,"</tr>"),i===r.length-1&&e.push("</tbody>")})),e.push("</table>"),[i,e.join("")].join("")},e=t(i);navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([e],{type:"text/html"}),"text/plain":new Blob([i],{type:"text/plain"})})])}else bv?window.clipboardData.setData("Text",i):t.clipboardData.setData("text/plain",i);e.fireListeners(_v.COPY_DATA,{cellRange:e.stateManager.select.ranges,copyData:i})}}})),r.on(e.getElement(),"paste",(t=>{if(e.keyboardOptions?.pasteValueToCell&&e.changeCellValues){if(e.editorManager?.editingEditor)return;if(e.stateManager.select.ranges?.length>0)if(navigator.clipboard?.read)navigator.clipboard.read().then((t=>{for(const e of t)e.types.includes("text/html")?a(e):1===e.types.length&&"text/plain"===e.types[0]&&h(e)}));else{const i=e.stateManager.select.ranges,r=Math.min(i[0].start.col,i[0].end.col),o=Math.min(i[0].start.row,i[0].end.row),n=(t.clipboardData||window.Clipboard).getData("text").split("\n"),s=[];n.forEach((function(t,e){const i=t.split("\t"),r=[];s.push(r),i.forEach((function(t,e){e===i.length-1&&(t=t.trim()),r.push(t)}))})),e.changeCellValues(r,o,s)}}})),r.on(e.getElement(),"contextmenu",(t=>{!1!==e.eventOptions?.preventDefaultContextMenu&&t.preventDefault()})),e.options.canvas||r.on(e.getContainer(),"resize",(t=>{e.isReleased||0===t.width&&0===t.height||((e.autoFillWidth||e.autoFillHeight)&&e.editorManager?.completeEdit(),J(e.options.pixelRatio)||e.setPixelRatio(XP()),t.windowSizeNotChange||e.resize())}));const n=/<tr[^>]*>([\s\S]*?)<\/tr>/g,s=/<td[^>]*>([\s\S]*?)<\/td>/g;function a(t){const i=e.stateManager.select.ranges,r=i.length,o=Math.min(i[r-1].start.col,i[r-1].end.col),a=Math.min(i[r-1].start.row,i[r-1].end.row),h=Math.max(i[r-1].start.col,i[r-1].end.col),d=Math.max(i[r-1].start.row,i[r-1].end.row);let u=0,g=0,p=[];t.getType("text/html").then((t=>{t.text().then((t=>{if(t&&/(<table)|(<TABLE)/g.test(t)){const i=Array.from(t.matchAll(n));for(const t of i){const e=t[1],i=Array.from(e.matchAll(s)).map((t=>t[1].replace(/(<(?!br)([^>]+)>)/gi,"").replace(/<br(\s*|\/)>[\r\n]?/gim,"\n").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/	/gi,"\t").replace(/ /g," ")));p.push(i),u=Math.max(u,i?.length??0)}g=p.length??0,p=c(p,g,u,d-a+1,h-o+1),e.changeCellValues(o,a,p,!0)}else navigator.clipboard.read().then((t=>{for(const e of t)e.types.includes("text/plain")&&e.getType("text/plain").then((t=>{t.text().then(l)}))}))}))}))}function l(t){const i=e.stateManager.select.ranges,r=i.length,o=Math.min(i[r-1].start.col,i[r-1].end.col),n=Math.min(i[r-1].start.row,i[r-1].end.row),s=Math.max(i[r-1].start.col,i[r-1].end.col),a=Math.max(i[r-1].start.row,i[r-1].end.row);let l=0,h=0,d=[];t.split("\n").forEach((function(t,e){const i=t.split("\t"),r=[];d.push(r),i.forEach((function(t,e){e===i.length-1&&(t=t.trim()),r.push(t)})),l=Math.max(l,r?.length??0)})),h=d.length??0,d=c(d,h,l,a-n+1,s-o+1),e.changeCellValues(o,n,d,!0)}function h(t){const i=e.stateManager.select.ranges,r=i.length,o=Math.min(i[r-1].start.col,i[r-1].end.col),n=Math.min(i[r-1].start.row,i[r-1].end.row),s=Math.max(i[r-1].start.col,i[r-1].end.col),a=Math.max(i[r-1].start.row,i[r-1].end.row);let l=0,h=0;t.getType("text/plain").then((t=>{t.text().then((t=>{const i=t.replace(/\r(?!\n)/g,"\r\n").split("\r\n");let r=[];i.length>1&&""===i[i.length-1]&&i.pop(),i.forEach((function(t,e){const i=t.split("\t"),o=[];r.push(o),i.forEach((function(t,e){t.includes("\n")&&(t=t.replace(/^"(.*)"$/,"$1").replace(/["]*/g,(t=>new Array(Math.floor(t.length/2)).fill('"').join("")))),o.push(t)})),l=Math.max(l,o?.length??0)})),h=r.length??0,r=c(r,h,l,a-n+1,s-o+1),e.changeCellValues(o,n,r,!0)}))}))}function c(t,e,i,r,o){if(o>i||r>e){if(o%i==0&&r%e==0){const n=[];for(let s=0;s<r;s++){const r=[];n.push(r);for(let n=0;n<o;n++){const o=s%e,a=n%i;r.push(t[o][a])}}return n}return t}return t}const d=t=>{e.eventManager.LastBodyPointerXY={x:t.x,y:t.y},e.eventManager.isDown=!0};t.globalEventListeners.push({name:"pointerdown",env:"body",callback:d}),document.body.addEventListener("pointerdown",d);const u=t=>{if(t.target!==e.canvas&&(t=>{if(i.menu.isShow&&setTimeout((()=>{e.internalProps.menuHandler.pointInMenuElement(t.clientX,t.clientY)||i.menu.isShow&&i.hideMenu()}),0),i.isResizeCol())jP(e);else if(i.isResizeRow())UP(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();NP(e,i,t)}else if(i.isSelecting()&&e.stateManager.select?.ranges?.length){const i=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].end.col,r=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].end.row;if(e.stateManager.endSelectCells(),e.hasListeners(_v.DRAG_SELECT_END)){const o={event:t,cells:[],col:i,row:r,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:void 0};o.cells=e.getSelectedCellInfos(),e.fireListeners(_v.DRAG_SELECT_END,o)}}})(t),e.eventManager.LastBodyPointerXY=null,e.eventManager.isDown=!1,e.eventManager.isDraging=!1,e.eventManager.inertiaScroll.endInertia(),"grabing"===i.interactionState&&i.isResizeCol())jP(e);else if("grabing"===i.interactionState&&i.isResizeRow())UP(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();NP(e,i,t)}};t.globalEventListeners.push({name:"pointerup",env:"document",callback:u}),document.addEventListener("pointerup",u);const g=r=>{if(e.eventManager.isDown&&e.eventManager.LastBodyPointerXY){const t=e.eventManager.LastBodyPointerXY?.x??r.x,i=e.eventManager.LastBodyPointerXY?.y??r.y;(Math.abs(t-r.x)>1||Math.abs(i-r.y)>1)&&(e.eventManager.isDraging=!0)}const{x:o,y:n}=e._getMouseAbstractPoint(r,!1);i.interactionState===UC.grabing&&(i.isResizeCol()?(t.dealColumnResize(o,n),e.hasListeners(_v.RESIZE_COLUMN)&&e.fireListeners(_v.RESIZE_COLUMN,{col:e.stateManager.columnResize.col,colWidth:e.getColWidth(e.stateManager.columnResize.col)})):i.isResizeRow()&&(t.dealRowResize(o,n),e.hasListeners(_v.RESIZE_ROW)&&e.fireListeners(_v.RESIZE_ROW,{row:e.stateManager.rowResize.row,rowHeight:e.getRowHeight(e.stateManager.rowResize.row)})));const s=e.stateManager.isSelecting();if(t._enableTableScroll&&t.isDraging&&s&&e.stateManager.select.ranges?.length>0){const t=e.getDrawRange(),i=e.getFrozenRowsHeight(),r=e.getBottomFrozenRowsHeight(),s=e.getFrozenColsWidth(),a=e.getRightFrozenColsWidth(),l=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].start;if(e.isSeriesNumber(l.col,l.row))return;const h=e.stateManager.select.ranges[e.stateManager.select.ranges.length-1].end,c=(!1===e.isFrozenRow(l.row)||!1===e.isFrozenRow(h.row))&&e.getAllRowsHeight()>e.tableNoFrameHeight,d=(!1===e.isFrozenColumn(l.col)||!1===e.isFrozenColumn(h.col))&&e.getAllColsWidth()>e.tableNoFrameWidth;if((n>t.bottom-r||n<t.top+i)&&c||(o>t.right-a||o<t.left+s)&&d){e.eventManager.scrollXSpeed=0,e.eventManager.scrollYSpeed=0;let l=!1,h=!1,u=!1,g=!1;n>t.bottom-r&&c&&e.scrollTop+e.tableNoFrameHeight<e.getAllRowsHeight()?(l=!0,e.eventManager.scrollYSpeed=-(n-t.bottom+r)/50):n<t.top+i&&c&&e.scrollTop>0&&(h=!0,e.eventManager.scrollYSpeed=-(n-t.top-i)/50),o>t.right-a&&d&&e.scrollLeft+e.tableNoFrameWidth<e.getAllColsWidth()?(u=!0,e.eventManager.scrollXSpeed=-(o-t.right+a)/50):o<t.left+s&&d&&e.scrollLeft>0&&(g=!0,e.eventManager.scrollXSpeed=-(o-t.left-s)/50),e.eventManager.inertiaScroll.startInertia(e.eventManager.scrollXSpeed,e.eventManager.scrollYSpeed,1),e.eventManager.inertiaScroll.setScrollHandle(((c,d)=>{let p,f;zP({deltaX:-c,deltaY:-d},e.stateManager,!1),l?f=e.scrollTop+t.height-r-20:h&&(f=e.scrollTop+i+20),u?p=e.scrollLeft+t.width-a-20:g&&(p=e.scrollLeft+s+20);let m=!1,b=!1;u||g||(o>e.tableNoFrameWidth-e.getRightFrozenColsWidth()&&o<e.tableNoFrameWidth||o>0&&o<e.getFrozenColsWidth()?(p=o,b=!0):p=e.scrollLeft+o),l||h||(n>e.tableNoFrameHeight-e.getBottomFrozenRowsHeight()&&n<e.tableNoFrameHeight||n>0&&n<e.getFrozenRowsHeight()?(f=n,m=!0):f=e.scrollTop+n),e.stateManager.updateInteractionState(UC.grabing);const y=e.getTargetColAtConsiderRightFrozen(p,b),C=e.getTargetRowAtConsiderBottomFrozen(f,m);J(y)&&J(C)&&e.stateManager.updateSelectPos(y.col,C.row,!1,!1,!1,!1)}))}else e.eventManager.inertiaScroll.isInertiaScrolling()?e.eventManager.inertiaScroll.endInertia():e.eventManager.scrollYSpeed=0}};t.globalEventListeners.push({name:"pointermove",env:"body",callback:g}),document.body.addEventListener("pointermove",g)}function qP(t){return!!t.changedTouches}function ZP(t,e,i){if(i.indicatorsAsCol){if(i.hasTwoIndicatorAxes&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return"top";if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return"bottom";if(t===i.rowHeaderLevelCount-1&&e>=i.rowHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return"left"}else{if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return"left";if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return"right";if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return"bottom"}return"bottom"}function JP(t,e,i,r,o){let n=e+1;for(;ot(r[n])&&r[n]?.length>i.length;){const e=o.columnHeaderLevelCount+n;o.stateManager.setCheckedState(0,e,"_vtable_rowSeries_number",t),LP(0,e,t,o),n++}}function QP(t,e,i,r){let o=e.length-1;if(o>0){let e=t-1;for(;o>0&&e>=0;){if(ot(i[e])&&i[e]?.length===o||1===o&&at(i[e])){tH(0,r.columnHeaderLevelCount+e,i[e],r),o--}e--}}}function tH(t,e,i,r){const{checkedState:o}=r.stateManager,n=i.toString(),s=ot(i)?i.length:1;let a=!1;const l=[];if(o.forEach(((t,e)=>{if(a){e.split(",").length===s?a=!1:l.push(t._vtable_rowSeries_number)}e===n&&(a=!0)})),0===l.length)return;const h=l.every((t=>!!t)),c=l.every((t=>!t));h?(r.stateManager.setCheckedState(t,e,"_vtable_rowSeries_number",!0),LP(t,e,!0,r)):c?(r.stateManager.setCheckedState(t,e,"_vtable_rowSeries_number",!1),LP(t,e,!1,r)):(r.stateManager.setCheckedState(t,e,"_vtable_rowSeries_number","indeterminate"),LP(t,e,"indeterminate",r))}function eH(t,e,i){const{checkedState:r}=i.stateManager,o=e.toString(),n=ot(e)?e.length:1;let s=!1;r.forEach(((e,i)=>{if(s){i.split(",").length===n?s=!1:e._vtable_rowSeries_number=t}i===o&&(s=!0)}))}XP();class iH{table;isTouchdown;touchMovePoints;touchSetTimeout;touchEnd;touchMove;gesture;handleTextStickBindId;LastPointerXY;LastBodyPointerXY;isDown=!1;isDraging=!1;scrollYSpeed;scrollXSpeed;downIcon;globalEventListeners=[];inertiaScroll;bindSparklineHoverEvent;_enableTableScroll=!0;constructor(t){this.table=t,this.handleTextStickBindId=[],this.inertiaScroll=new WP(t.stateManager),"node"===Ew.mode||t.options.disableInteraction||(this.bindOuterEvent(),setTimeout((()=>{this.bindSelfEvent()}),0))}bindOuterEvent(){GP(this),YP(this),function(t){const e=t.table,i=e.stateManager,r=e.scenegraph;r.component.vScrollBar.addEventListener("pointerover",(t=>{i.showVerticalScrollBar()})),r.component.hScrollBar.addEventListener("pointerover",(t=>{i.showHorizontalScrollBar()})),r.component.vScrollBar.addEventListener("pointerout",(t=>{i.interactionState!==UC.scrolling&&i.hideVerticalScrollBar()})),r.component.hScrollBar.addEventListener("pointerout",(t=>{i.interactionState!==UC.scrolling&&i.hideHorizontalScrollBar()})),r.component.vScrollBar.addEventListener("pointermove",(t=>{r.table.stateManager.updateCursor("default"),t.stopPropagation()})),r.component.vScrollBar.addEventListener("pointerdown",(t=>{t.stopPropagation(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.vScrollBar.addEventListener("scrollDown",(t=>{r.table.eventManager.LastBodyPointerXY={x:t.x,y:t.y},r.table.eventManager.isDown=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.vScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.vScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.vScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1})),r.component.hScrollBar.addEventListener("pointermove",(t=>{r.table.stateManager.updateCursor("default"),t.stopPropagation()})),r.component.hScrollBar.addEventListener("pointerdown",(t=>{t.stopPropagation(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.hScrollBar.addEventListener("scrollDown",(t=>{r.table.eventManager.LastBodyPointerXY={x:t.x,y:t.y},r.table.eventManager.isDown=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(_v.MOUSEDOWN_TABLE)&&r.table.fireListeners(_v.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.hScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.hScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===UC.scrolling&&i.updateInteractionState(UC.default)})),r.component.hScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1}));const o=Vw(i.updateVerticalScrollBar,20),n=Vw(i.updateHorizontalScrollBar,20);r.component.vScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling);const e=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);o(e,t)})),r.component.hScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==UC.scrolling&&i.updateInteractionState(UC.scrolling);const e=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);n(e)}))}(this),function(t){const e=t.table,i=e.stateManager,r=e.scenegraph;t.touchMovePoints=[],e.scenegraph.tableGroup.addEventListener("touchstart",(e=>{e.target.isChildOf(r.component.vScrollBar)||e.target.isChildOf(r.component.vScrollBar)||(t.isTouchdown=!0,t.touchMovePoints.push({x:e.page.x,y:e.page.y,timestamp:Date.now()}))}));const o=r=>{if(t.touchMove&&r.preventDefault(),t.isTouchdown&&qP(r))if(t.downIcon?.attribute?.funcType===QC.dragReorder)r.preventDefault();else if(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:r.changedTouches[0].pageX,y:r.changedTouches[0].pageY,timestamp:Date.now()}),t._enableTableScroll){const o=-t.touchMovePoints[t.touchMovePoints.length-1].x+t.touchMovePoints[t.touchMovePoints.length-2].x,n=-t.touchMovePoints[t.touchMovePoints.length-1].y+t.touchMovePoints[t.touchMovePoints.length-2].y;zP({deltaX:o,deltaY:n},i),r.cancelable&&("none"===e.internalProps.overscrollBehavior||Math.abs(n)>=Math.abs(o)&&0!==n&&OP(n,i)||Math.abs(n)<=Math.abs(o)&&0!==o&&DP(o,i))&&r.preventDefault()}};window.addEventListener("touchmove",o,{passive:!1}),t.globalEventListeners.push({name:"touchmove",env:"window",callback:o});const n=i=>{if(t.touchEnd=!0,t.touchMove=!1,t.isTouchdown&&qP(i)){if(t.downIcon?.attribute?.funcType===QC.dragReorder)i.preventDefault();else if(t.touchMovePoints?.length&&(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:i.changedTouches[0].pageX,y:i.changedTouches[0].pageY,timestamp:Date.now()}),t._enableTableScroll)){const i=t.touchMovePoints[0],r=t.touchMovePoints[t.touchMovePoints?.length-1],o=(r.x-i.x)/(r.timestamp-i.timestamp),n=(r.y-i.y)/(r.timestamp-i.timestamp);t.inertiaScroll.startInertia(o,n,.95),e.eventManager.inertiaScroll.setScrollHandle(((t,i)=>{zP({deltaX:-t,deltaY:-i},e.stateManager)}))}t.isTouchdown=!1,t.touchMovePoints=[]}};window.addEventListener("touchend",n),t.globalEventListeners.push({name:"touchend",env:"window",callback:n});const s=e=>{t.touchEnd=!0,t.touchMove=!1,t.isTouchdown&&(t.isTouchdown=!1,t.touchMovePoints=[])};window.addEventListener("touchcancel",s),t.globalEventListeners.push({name:"touchcancel",env:"window",callback:s})}(this),VP(this)}updateEventBinder(){setTimeout((()=>{this.table.isReleased||(TM(this.table)&&0===this.handleTextStickBindId?.length?(this.handleTextStickBindId.push(this.table.on(_v.SCROLL,(t=>{xM(this.table)}))),this.handleTextStickBindId.push(this.table.on(_v.RESIZE_COLUMN_END,(t=>{xM(this.table)}))),this.handleTextStickBindId.push(this.table.on(_v.RESIZE_ROW_END,(t=>{xM(this.table)})))):!TM(this.table)&&this.handleTextStickBindId&&(this.handleTextStickBindId.forEach((t=>{this.table.off(t)})),this.handleTextStickBindId=[]),IP(this.table))}),0)}bindSelfEvent(){if(this.table.isReleased)return;const t=this.table.stateManager;var e;this.table.on(_v.ICON_CLICK,(e=>{const{col:i,row:r,x:o,y:n,funcType:s,icon:a,event:l}=e;if(s===QC.dropDown)t.triggerDropDownMenu(i,r,o,n,l);else if(s===QC.sort)t.triggerSort(i,r,a,l);else if(s===QC.frozen)t.triggerFreeze(i,r,a);else if(s===QC.drillDown)(h=this.table).fireListeners(TP.DRILLMENU_CLICK,h.stateManager.drill);else if(s===QC.collapse||s===QC.expand){const e=!!t.select.ranges?.length;t.updateSelectPos(-1,-1),t.endSelectCells(!0,e),this.table.toggleHierarchyState(i,r)}var h})),this.table.on(_v.DROPDOWN_MENU_CLICK,(()=>{t.hideMenu()})),this.updateEventBinder(),e=this.table,"browser"===Ew.mode&&e.on(_v.CLICK_CELL,(t=>{const{col:i,row:r}=t;if("image"===t.target.type&&t.target.role&&t.target.role.startsWith("icon"))return;let o;o=e.internalProps.layoutMap.isHeader(i,r)?e.isPivotTable()?e._getHeaderLayoutMap(i,r).headerType:e.getHeaderDefine(i,r).headerType:e.getBodyColumnType(i,r);const n=e.isHeader(i,r)?e.getHeaderDefine(i,r):e.getBodyColumnDefine(i,r),s=e.getCellValue(i,r),a=e.getCellOriginValue(i,r);if("link"===o){let t=cv(n.linkJump,{col:i,row:r,table:e,value:s,dataValue:a,cellHeaderPaths:void 0});if(t=!1!==t,!t)return;const o=n.templateLink;let l,h=cv(n.linkDetect,{col:i,row:r,table:e,value:s,dataValue:a,cellHeaderPaths:void 0});if(h=!1!==h,o){const t=e.getCellOriginRecord(i,r);if(t&&t.vtableMerge)return;const n=Object.assign({__value:s,__dataValue:a},t);if(q(o))l=o(n,i,r,e);else{const t=/\{\s*(\S+?)\s*\}/g;l=o.replace(t,((t,e)=>n[e]))}}else if(h){if(!Wv.test(s))return;l=s}else l=s;if(!l)return;const c=n.linkTarget,d=n.linkWindowFeatures;window.open(l,c,d)}else if("image"===o){const{clickToPreview:t}=n;if(!1===t)return;const e=document.createElement("div");e.style.width="100%",e.style.height="100%",e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.backgroundColor="rgba(30, 30, 30, 0.4)",e.style.display="flex",e.style.justifyContent="center",e.style.alignItems="center",e.style.overflow="hidden",e.style.zIndex="9999",e.addEventListener("click",(t=>{t.target===e&&document.body.removeChild(e)}));const i=new Image;i.src=s,i.style.maxWidth="80%",i.style.maxHeight="80%",e.appendChild(i),document.body.appendChild(e)}else if("video"===o){const{clickToPreview:t}=n;if(!1===t)return;const e=document.createElement("div");e.style.width="100%",e.style.height="100%",e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.backgroundColor="rgba(30, 30, 30, 0.4)",e.style.display="flex",e.style.justifyContent="center",e.style.alignItems="center",e.style.overflow="hidden",e.style.zIndex="9999",e.addEventListener("click",(t=>{t.target===e&&document.body.removeChild(e)}));const i=document.createElement("video");i.src=s,i.style.maxWidth="80%",i.style.maxHeight="80%",i.setAttribute("preload","auto"),i.setAttribute("controls","true"),e.appendChild(i),document.body.appendChild(e)}})),this.table.on(_v.DBLCLICK_CELL,(t=>{if(t.federatedEvent){const e=UA(t.federatedEvent),i=this.table.scenegraph.getResizeColAt(e.abstractPos.x,e.abstractPos.y,e.eventArgs?.targetCell),r=this.table.options.disableDblclickAutoResizeColWidth??this.table.options.resize?.disableDblclickAutoResizeColWidth;if(this.table.eventManager.checkCellFillhandle(e))this.table.fireListeners(_v.DBLCLICK_FILL_HANDLE,{});else if(this.table._canResizeColumn(i.col,i.row)&&i.col>=0&&!r){this.table.scenegraph.updateAutoColWidth(i.col),this.table.internalProps._widthResizedColMap.add(i.col),this.table.scenegraph.updateChartSizeForResizeColWidth(i.col);const t=this.table.stateManager;t.columnResize.col<t.table.frozenColCount&&!t.table.isPivotTable()&&!t.table.transpose&&t.table.scenegraph.component.setFrozenColumnShadow(t.table.frozenColCount-1,t.columnResize.isRightFrozen);const e=[];for(let t=0;t<this.table.colCount;t++)e.push(this.table.getColWidth(t));this.table.fireListeners(_v.RESIZE_COLUMN_END,{col:i.col,colWidths:e})}}})),this.table.isPivotTable()&&function(t){const e=t.internalProps.layoutMap.rowsDefine,i=t.internalProps.layoutMap.columnsDefine;for(let t=0;t<e.length;t++){const i=e[t];if("string"!=typeof i&&(i.drillDown||i.drillUp))return!0}for(let t=0;t<i.length;t++){const e=i[t];if("string"!=typeof e&&(e.drillDown||e.drillUp))return!0}return!1}(this.table)&&function(t){t.on(_v.MOUSEENTER_CELL,(e=>{const{col:i,row:r}=e;if(-1===i||-1===r)return;const o=t.internalProps.layoutMap.getHeaderDimension(i,r);o?.drillDown||o?.drillUp?t.stateManager.updateDrillState(o.dimensionKey,o.title,o.drillDown,o.drillUp,i,r):t.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1)})),t.on(_v.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1)}))}(this.table),IP(this.table),function(t){t.isPivotChart()&&t.scenegraph.tableGroup.addEventListener("click",(e=>{if(!t.stateManager.columnMove.moving&&!t.stateManager.columnResize.resizing)if("axis-label"===e.target.name){const i=UA(e),{col:r,row:o}=i.eventArgs,n=t.internalProps.layoutMap;let s,a;n.indicatorsAsCol?(s=n.getDimensionKeyInChartSpec(n.rowHeaderLevelCount,o),a=n.getCellHeaderPaths(n.rowHeaderLevelCount-2,o).rowHeaderPaths):(s=n.getDimensionKeyInChartSpec(r,n.columnHeaderLevelCount),a=n.getCellHeaderPaths(r,n.columnHeaderLevelCount-1).colHeaderPaths);const l=a.map((t=>({key:t.dimensionKey,value:t.value}))).filter((t=>t.key));if(l.push({key:s,value:e.target.attribute.text}),t._selectedDimensionInChart.length&&function(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++)if(t[i].key!==e[i].key||t[i].value!==e[i].value)return!1;return!0}(t._selectedDimensionInChart,l))return;t._selectedDimensionInChart=l,n.updateDataStateToChartInstance(),oP(t.scenegraph),t.scenegraph.updateNextFrame()}else t._selectedDimensionInChart?.length&&(t._selectedDimensionInChart.length=0,t.internalProps.layoutMap.updateDataStateToChartInstance(),oP(t.scenegraph),t.scenegraph.updateNextFrame())}))}(this.table),function(t){t.isPivotChart()&&(t.on(_v.MOUSEENTER_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=ZP(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(_v.MOUSEENTER_AXIS,e)}}))})),t.on(_v.MOUSELEAVE_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=ZP(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(_v.MOUSELEAVE_AXIS,e)}}))})))}(this.table),function(t){t.on("checkbox_state_change",(e=>{if(!0!==t.internalProps.rowSeriesNumber?.enableTreeCheckbox)return;const{col:i,row:r,checked:o}=e,n=t.getCellOriginRecord(i,r),s=t.dataSource.currentPagerIndexedData,a=t.getRecordShowIndexByCell(i,r);let l=s[a];if(at(l)&&(l=[l]),n.vtableMerge)if(o)t.getHierarchyState(i,r)===ZC.collapse?eH(!0,l,t):JP(!0,a,l,s,t),QP(a,l,s,t);else{t.getHierarchyState(i,r)===ZC.collapse?eH(!1,l,t):JP(!1,a,l,s,t),QP(a,l,s,t);const e=t.stateManager.headerCheckedState._vtable_rowSeries_number,o=t.stateManager.updateHeaderCheckedState("_vtable_rowSeries_number",i,r);e!==o&&t.scenegraph.updateHeaderCheckboxCellState(i,r,o)}else QP(a,l,s,t)}))}(this.table),function(t){t.on(_v.CLICK_CELL,(e=>{const{col:i,row:r,target:o}=e;"button"!==o.name||o.attribute.disable||t.hasListeners(_v.BUTTON_CLICK)&&t.fireListeners(_v.BUTTON_CLICK,{col:i,row:r,event:e.event})}))}(this.table)}dealTableHover(t){if(!t)return void this.table.stateManager.updateHoverPos(-1,-1);const{eventArgs:e}=t;e?this.table.stateManager.updateHoverPos(e.col,e.row):this.table.stateManager.updateHoverPos(-1,-1)}dealIconHover(t){const{eventArgs:e}=t;e?this.table.stateManager.updateHoverIcon(e.col,e.row,e.target,e.targetCell):this.table.stateManager.updateHoverIcon(-1,-1,void 0,void 0)}dealMenuHover(t){}dealTableSelect(t,e){if(!t)return this.table.stateManager.updateSelectPos(-1,-1),!1;const{eventArgs:i}=t;if(i){if("checkbox"===i.target.name||"radio"===i.target.name||"switch"===i.target.name||"button"===i.target.name)return!1;if(this.table.isHeader(i.col,i.row)&&vB(this.table,i.col,i.row))return e||this.table.stateManager.updateSelectPos(-1,-1),!1;if(!this.table.isHeader(i.col,i.row)&&vB(this.table,i.col,i.row)){if(!e){const t=!!this.table.stateManager.select.ranges?.length;this.table.stateManager.updateSelectPos(-1,-1),t&&this.table.stateManager.endSelectCells(!0,t)}return!1}return!this.table.isPivotChart()||"axis-label"!==t?.eventArgs?.target.name&&"chart"!==t?.eventArgs?.target.type?(this.table.stateManager.updateSelectPos(i.col,i.row,i.event.shiftKey,i.event.ctrlKey||i.event.metaKey,!1,!e&&(this.table.options.select?.makeSelectCellVisible??!0)),!0):(this.table.stateManager.updateSelectPos(-1,-1),!1)}return!1}dealFillSelect(t,e){const{eventArgs:i}=t;if(i){if(this.table.stateManager.select?.ranges?.length&&this.table.stateManager.isFillHandle()){let r,o;const n=this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1];e&&(J(this.table.stateManager.fillHandle.directionRow)||(Math.abs(this.table.stateManager.fillHandle.startY-t.abstractPos.y)>=Math.abs(this.table.stateManager.fillHandle.startX-t.abstractPos.x)?this.table.stateManager.fillHandle.directionRow=!0:this.table.stateManager.fillHandle.directionRow=!1),Math.abs(this.table.stateManager.fillHandle.startY-t.abstractPos.y)>=Math.abs(this.table.stateManager.fillHandle.startX-t.abstractPos.x)?this.table.stateManager.fillHandle.startY-t.abstractPos.y>0?this.table.stateManager.fillHandle.direction="top":this.table.stateManager.fillHandle.direction="bottom":this.table.stateManager.fillHandle.startX-t.abstractPos.x>0?this.table.stateManager.fillHandle.direction="left":this.table.stateManager.fillHandle.direction="right",this.table.stateManager.fillHandle.directionRow?(r=i.row,o=n.end.col):(r=n.end.row,o=i.col)),this.table.stateManager.updateSelectPos(e?o:n.end.col,e?r:n.end.row,!0,i.event.ctrlKey||i.event.metaKey,!1,!e)}else this.table.stateManager.updateSelectPos(i.col,i.row,i.event.shiftKey,i.event.ctrlKey||i.event.metaKey,!1,!e);return!0}return!1}deelTableSelectAll(){this.table.stateManager.updateSelectPos(-1,-1,!1,!1,!0),this.table.fireListeners(_v.SELECTED_CELL,{ranges:this.table.stateManager.select.ranges,col:0,row:0})}dealMenuSelect(t){}checkColumnResize(t,e){const{eventArgs:i}=t;if(this.table.options.enableTreeStickCell&&!i)return!1;const r=this.table.scenegraph.getResizeColAt(t.abstractPos.x,t.abstractPos.y,i?.targetCell);return this.table._canResizeColumn(r.col,r.row)&&r.col>=0?(e&&this.table.stateManager.startResizeCol(r.col,t.abstractPos.x,t.abstractPos.y,r.rightFrozen),!0):(this.table.stateManager.isResizeCol()&&this.table.stateManager.endResizeCol(),!1)}checkRowResize(t,e){const{eventArgs:i}=t;if(i){const r=this.table.scenegraph.getResizeRowAt(t.abstractPos.x,t.abstractPos.y,i.targetCell);if(this.table._canResizeRow(r.col,r.row)&&r.row>=0)return e&&this.table.stateManager.startResizeRow(r.row,t.abstractPos.x,t.abstractPos.y,r.bottomFrozen),!0}return!1}cellIsHeaderCheck(t,e){const{eventArgs:i}=t,{col:r,row:o,target:n}=i;if(!this.table.isHeader(r,o))return!1;return"checkbox"===this.table.getCellType(i.col,i.row)&&"checkbox"===n.name}checkCellFillhandle(t,e){if(this.table.options.excelOptions?.fillHandle){const{eventArgs:i}=t;if(i&&this.table.stateManager.select?.ranges?.length){const i=Math.max(this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].start.col,this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].end.col),r=Math.max(this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].start.row,this.table.stateManager.select.ranges[this.table.stateManager.select.ranges.length-1].end.row),o=this.table.scenegraph.highPerformanceGetCell(i,r).globalAABBBounds,n=Math.abs(t.abstractPos.x-o.x2),s=Math.abs(t.abstractPos.y-o.y2),a=18;if(this.table.stateManager.fillHandle?.isFilling||n<=a/2&&s<=a/2)return e&&this.table.stateManager.startFillSelect(t.abstractPos.x,t.abstractPos.y),!0}}return!1}dealColumnResize(t,e){this.table.stateManager.updateResizeCol(t,e)}dealRowResize(t,e){this.table.stateManager.updateResizeRow(t,e)}checkColumnMover(t){const{eventArgs:e}=t;return!(!e||!this.table._canDragHeaderPosition(e.col,e.row))&&(this.table.stateManager.startMoveCol(e.col,e.row,t.abstractPos.x,t.abstractPos.y,e?.event?.nativeEvent),!0)}dealColumnMover(t){const{eventArgs:e}=t;J(e.col)&&J(e.row)&&this.table.stateManager.updateMoveCol(e.col,e.row,t.abstractPos.x,t.abstractPos.y,e?.event?.nativeEvent)}startColumnResize(t){}dealIconClick(t,e){const{eventArgs:i}=e,{target:r,event:o,col:n,row:s}=i||{target:t.target,event:t,col:-1,row:-1},a=r;if(a.role&&a.role.startsWith("icon-"))return this.table.fireListeners(_v.ICON_CLICK,{name:a.name,x:(a.globalAABBBounds.x1+a.globalAABBBounds.x2)/2,y:a.globalAABBBounds.y2,col:n,row:s,funcType:a.attribute.funcType,icon:a,event:o}),!0;if(r instanceof ld){const t=r.pickIcon(o.global);if(t)return this.table.fireListeners(_v.ICON_CLICK,{name:t.attribute.id,x:t.globalX+t.globalAABBBounds.width()/2,y:t.globalY+t.AABBBounds.height(),col:n,row:s,funcType:t.attribute.funcType,icon:t,event:o}),!0}return!1}release(){this.gesture.release(),this.globalEventListeners.forEach((t=>{"document"===t.env?document.removeEventListener(t.name,t.callback):"body"===t.env?document.body.removeEventListener(t.name,t.callback):"window"===t.env&&window.removeEventListener(t.name,t.callback)})),this.globalEventListeners=[]}enableScroll(){this._enableTableScroll=!0}disableScroll(){this._enableTableScroll=!1}}const rH=t=>{const e=t.value;return Number(e)>80?"#20a8d8":Number(e)>50?"#4dbd74":Number(e)>20?"#ffc107":"#f86c6b"};class oH extends _w{_showBar;_barColor;_barBgColor;_barPositiveColor;_barNegativeColor;_barAxisColor;_barHeight;_barBottom;_barPadding;_showBarMark;_barMarkPositiveColor;_barMarkNegativeColor;_barMarkWidth;_barMarkPosition;_barRightToLeft;static get DEFAULT(){return KP||(KP=new oH)}constructor(t={},e={}){super(t,e),this._showBar=t.showBar??!0,this._barColor=t.barColor??rH,this._barPositiveColor=t.barPositiveColor??"#4dbd74",this._barNegativeColor=t.barNegativeColor??"#f86c6b",this._barAxisColor=t.barAxisColor??"black",this._barBgColor=t.barBgColor,this._barHeight=t.barHeight??3,this._barHeight=t.barHeight??3,this._barBottom=t.barBottom??0,this._barPadding=t.barPadding??[0,0,0,0],this._showBarMark=t.showBarMark??!1,this._barMarkPositiveColor=t.barMarkPositiveColor??"#4dbd74",this._barMarkNegativeColor=t.barMarkNegativeColor??"#f86c6b",this._barMarkWidth=t.barMarkWidth??2,this._barMarkPosition=t.barMarkPosition??"right",this._barRightToLeft=t.barRightToLeft??!1}get showBar(){return this._showBar}set showBar(t){this._showBar=t}get barColor(){return this._barColor}set barColor(t){this._barColor=t}get barBgColor(){return this._barBgColor}set barBgColor(t){this._barBgColor=t}get barHeight(){return this._barHeight}set barHeight(t){this._barHeight=t}get barBottom(){return this._barBottom}set barBottom(t){this._barBottom=t}get barPositiveColor(){return this._barPositiveColor}set barPositiveColor(t){this._barPositiveColor=t}get barNegativeColor(){return this._barNegativeColor}set barNegativeColor(t){this._barNegativeColor=t}get barAxisColor(){return this._barAxisColor}set barAxisColor(t){this._barAxisColor=t}get barPadding(){return this._barPadding}set barPadding(t){this._barPadding=t}get showBarMark(){return this._showBarMark}set showBarMark(t){this._showBarMark=t}get barMarkPositiveColor(){return this._barMarkPositiveColor}set barMarkPositiveColor(t){this._barMarkPositiveColor=t}get barMarkNegativeColor(){return this._barMarkNegativeColor}set barMarkNegativeColor(t){this._barMarkNegativeColor=t}get barMarkWidth(){return this._barMarkWidth}set barMarkWidth(t){this._barMarkWidth=t}get barMarkPosition(){return this._barMarkPosition}set barMarkPosition(t){this._barMarkPosition=t}get barRightToLeft(){return this._barRightToLeft}set barRightToLeft(t){this._barRightToLeft=t}clone(){return new oH(this,null)}}const nH=["type","content","style","color","width","height","marginRight","marginLeft","src","svg","name","path","positionType","tooltip","hover","cursor","shape","interactive","isGif"];class sH{expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=kR();this.expandIcon=e[tw.expandIconName],this.collapseIcon=e[tw.collapseIconName]}getIcons(t,e,i,r,o){const n=[],s=this.getHierarchyIcon(t,e);s&&n.push(s);const{icon:a}=this._table.getBodyColumnDefine(t,e);if(a){let o;if("function"==typeof a){o=a({col:t,row:e,value:i,dataValue:r,table:this._table})}else o=a;const s=kR(),l=t=>{let e;e="string"==typeof t?s[t]:t,e&&n.push(e)};Array.isArray(o)?o.forEach(((t,e)=>{l(t)})):l(o)}return o&&n.forEach(((i,r)=>{(i.content||i.src)&&(n[r]=this.getCellIconFromRecordValue(i,t,e))})),n}getStyleClass(t){switch(t){case"text":case"link":return Aw;case"image":case"video":return Sw;case"chart":case"sparkline":return _w;case"progressbar":return oH;case"checkbox":return Mw;case"radio":return Pw;case"switch":return Hw;case"button":return kw}return Aw}getCellIconFromRecordValue(t,e,i){if(Array.isArray(t))return t.map((t=>this.getCellIconFromRecordValue(t,e,i)));if(!yv.isObject(t)||"function"==typeof t)return this._table.getFieldData(t,e,i);const r={},o=t;return nH.forEach((t=>{if(void 0!==o[t]){const n=this._table.getFieldData(o[t],e,i);J(n)?r[t]=n:this._table._hasField?.(o[t],e,i)||(r[t]=o[t])}})),r}getHierarchyIcon(t,e){const i=this._table.getHierarchyState(t,e);return i===ZC.expand?this.expandIcon:i===ZC.collapse?this.collapseIcon:void 0}getHierarchyIconWidth(){return this.expandIcon.width+(this.expandIcon.marginLeft??0)+(this.expandIcon.marginRight??0)}}function aH(t,e){const i=document.createElement(t);return e&&i.classList.add(...e),i}!function(){if("node"===Ew.mode)return;const t=document.createElement("style");t.id="vtable-menu-styleSheet",t.textContent="\n@keyframes vtable__menu-element--shown-animation {\n\t0% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n.vtable__menu-element {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\tborder-radius: 4px;\n\tbackground-color: #fff;\n\tpadding: 6px 0;\n\t/* pointer-events: none; */\n\tuser-select: none;\n\tcolor: #000;\n\tmax-width: 300px;\n\tz-index: 99999;\n\tborder: #CCC 0.5px solid;\n\tcursor: default;\n\twidth: max-content;\n\tbox-shadow: 0px 8px 16px rgba(27, 31, 35, 0.12);\n max-height: 100%;\n overflow-y: auto;\n}\n.vtable__menu-element--hidden {\n\topacity: 0;\n\t/* transform: translate(-50%, -50%); */\n\ttransition: opacity 75ms linear;\n\tz-index: -9999;\n}\n.vtable__menu-element--shown {\n\topacity: 1;\n\t/* transform: translate(-50%, -50%); */\n\tanimation: vtable__menu-element--shown-animation 150ms ease-out;\n}\n.vtable__menu-element__content {\n\tfont-family: Roboto;\n\tfont-size: 12px;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\t/* height: 100%; */\n\tline-height: 30px;\n}\n.vtable__menu-element__item {\n\theight: 32px;\n\tpadding: 0px 12px;\n\tcursor: pointer;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-start;\n}\n.vtable__menu-element__item:hover {\n\tbackground-color: rgba(27, 31, 35, 0.06);\n}\n.vtable__menu-element__icon{\n\t/* vertical-align: top; */\n\tdisplay: flex;\n\t/* line-height: 30px; */\n\tmargin-right: 6px;\n}\n.vtable__menu-element__no-event {\n\tpointer-events: none;\n}\n.vtable__menu-element--select {\n\tcolor: #2E68CF;\n}.vtable__menu-element--normal {\n\tcolor: rgba(20, 20, 20, 0.9);;\n}\n.vtable__menu-element__split {\n\theight: 0px;\n\tborder: 1px solid rgb(209, 213, 218);\n\tmargin: 5px 0;\n}\n.vtable__menu-element__title {\n\tcolor: rgb(149, 149, 149);\n}\n.vtable__menu-element__arrow {\n\tposition: absolute;\n\tright: 3px;\n\tfont-weight: bold;\n\tmargin-top: 1px;\n}\n.vtable__menu-element__item-text {\n\tmargin-right: 15px;\n}\n",document.head.appendChild(t)}();const lH="vtable__menu-element",hH=`${lH}__item`,cH=`${lH}__content`,dH=`${lH}--hidden`,uH=`${lH}--shown`,gH=`${lH}--normal`,pH=`${lH}--select`,fH=`${lH}__icon`,mH=`${lH}__split`,bH=`${lH}__title`,yH=`${lH}__arrow`,CH=`${lH}__no-event`,wH=`${lH}__item-text`;function vH(){return aH("div",[lH,dH])}function xH(t,e,i,r,o,n){const s=t.getCellRange(r,o);for(let r=0;r<e.length;r++){const o=e[r];let{col:n,row:a}=o;const{field:l,menuKey:h}=o;if("number"!=typeof n||"number"!=typeof a)if(t.isPivotTable()&&(Array.isArray(l),1)){const e=t.internalProps.layoutMap.getPivotCellAdress(l);if(!e)continue;n=e.col,a=e.row}else{const e=t.internalProps.layoutMap.getHeaderCellAddressByField(l);if(!e)continue;n=e.col,a=e.row}if(J(n)&&J(a)&&pv(s,n,a)&&i===h)return!0}return!1}class _H{_handler;_rootElement;_secondElement;_menuInstanceInfo;_showChildrenIndex;_mouseEnterSecondElement;constructor(t){this._handler=new Bv,this._rootElement=vH(),this._secondElement=vH(),this._secondElement.sub=!0,this._showChildrenIndex=-1,this._rootElement.addEventListener("wheel",(t=>{t.stopPropagation()})),this._rootElement?.addEventListener("mousedown",(t=>{t.stopPropagation(),t.preventDefault()})),this._rootElement?.addEventListener("contextmenu",(t=>{t.stopPropagation(),t.preventDefault()})),this._rootElement?.addEventListener("touchend",(e=>{if(e.stopPropagation(),e.preventDefault(),this._rootElement.classList.contains(dH))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r),h=t._dropDownMenuIsHighlight(i,r,o);t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._rootElement.classList.contains(dH))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r),h=t._dropDownMenuIsHighlight(i,r,o);t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(e=>{if(this._rootElement.classList.contains(dH))return;e.stopPropagation();const{hasChildren:i,dropDownIndex:r,col:o,row:n,sub:s}=e.target;if(i){this._showChildrenIndex=r;const i=this._secondElement;i?.classList.remove(dH),i?.classList.add(uH),i.innerHTML="";const s=this._menuInstanceInfo.content[r]?.children;for(let e=0;e<s.length;e++){const r=s[e],a=SH(r,!!t.stateManager.menu.dropDownMenuHighlight&&xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof r?r?.menuKey||r?.text:r,o,n));a.col=o,a.row=n,a.dropDownIndex=e,"string"==typeof r?(a.text=r,a.menuKey=r):"object"==typeof r&&(a.text=r.text,a.menuKey=r.menuKey||r.text),a.sub=!0,a.sub=!0,i.appendChild(a)}const a=e.target.getBoundingClientRect();this._bindSecondElement(t,o,n,a.right,a.top)}else if(i&&this._showChildrenIndex===r){const t=this._secondElement;t?.classList.remove(dH),t?.classList.add(uH)}else!s&&this._secondElement?.classList.contains(uH)&&setTimeout((()=>{if(!0!==this._mouseEnterSecondElement){this._showChildrenIndex=-1;const t=this._secondElement;t?.classList.remove(uH),t?.classList.add(dH)}}),300)})),this._secondElement?.addEventListener("wheel",(t=>{t.stopPropagation()})),this._secondElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(dH)||t.stopPropagation()})),this._secondElement?.addEventListener("mouseenter",(t=>{this._mouseEnterSecondElement=!0})),this._secondElement?.addEventListener("mouseleave",(t=>{this._mouseEnterSecondElement=!1})),this._secondElement?.addEventListener("mousedown",(t=>{t.stopPropagation(),t.preventDefault()})),this._secondElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._secondElement.classList.contains(dH))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r);let h=!1;this._menuInstanceInfo.content.forEach(((e,o)=>{if("object"==typeof e&&e.children&&e.children.length)for(let o=0;o<e.children.length;o++){const s=e.children[o];if(xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof s?s?.menuKey:s,i,r)&&n===("object"==typeof s?s?.menuKey:s))return void(h=!0)}})),t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,cellHeaderPaths:t.isPivotTable()?t.getCellHeaderPaths(i,r):void 0,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()}))}get rootElement(){return this._rootElement}release(){this.unbindFromCell();const t=this._rootElement;t?.parentElement&&t.parentElement.removeChild(t),this._handler.release(),delete this._rootElement}bindToCell(t,e,i,r){const o=this._rootElement,n=this._secondElement;if(this._menuInstanceInfo=r,o?.classList.remove(uH),o?.classList.add(dH),n?.classList.remove(uH),n?.classList.add(dH),this._canBindToCell(t,e,i)){if(o.innerHTML="",Array.isArray(r.content)){const n=r.content;for(let r=0;r<n?.length;r++){const s=n[r];let a=!!t.stateManager.menu.dropDownMenuHighlight&&xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof s?s?.menuKey||s?.text:s,e,i);if(t.stateManager.menu.dropDownMenuHighlight&&"object"==typeof s&&Array.isArray(s.children)&&s.children.length)for(let r=0;r<s.children.length;r++){const o=s.children[r];if(xH(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof o?o?.menuKey||o?.text:o,e,i)){a=!0;break}}const l=SH(s,a);l.col=e,l.row=i,l.dropDownIndex=r,"string"==typeof s?(l.text=s,l.menuKey=s):"object"==typeof s&&(l.text=s.text,l.menuKey=s.menuKey||s.text,s.children?.length&&(l.hasChildren=!0)),o.appendChild(l)}}if(this._bindToCell(t,e,i,r.position,r.referencePosition))return o?.classList.add(uH),o?.classList.remove(dH),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement,e=this._secondElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(uH),t.classList.add(dH)),e?.parentElement&&(e.classList.remove(uH),e.classList.add(dH))}_canBindToCell(t,e,i){const r=t.getCellRangeRelativeRect({col:e,row:i}),o=t.internalProps.menu.parentElement??t.getElement(),{top:n,bottom:s,left:a,right:l}=r;if(t.isFrozenCell(e,i))return!0;if(s<t.getFrozenRowsHeight()||l<t.getFrozenColsWidth()||a>t.tableNoFrameWidth-t.getRightFrozenColsWidth()||n>t.tableNoFrameHeight-t.getBottomFrozenRowsHeight())return!1;const{offsetHeight:h,offsetWidth:c}=o;return!(h<n)&&!(c<a)}_bindToCell(t,e,i,r,o){const n=this._rootElement,s=t.internalProps.menu.parentElement??t.getElement(),{width:a,height:l,left:h,top:c}=s.getBoundingClientRect();if(n){n.parentElement!==s&&s.appendChild(n),n.style.left="0px";const e=.8*a;n.style.maxWidth=`${e}px`;const i=n.offsetWidth,d=n.offsetHeight;let u,g;r?(u=r.x,g=r.y):o&&(u=o.rect.right-i,g=o.rect.bottom);const p=s.getBoundingClientRect(),f=p.width/s.offsetWidth,m=p.height/s.offsetHeight;g*m+d>l&&(g=(l-d)/m),g<0&&(g/=2);let b=0,y=0;if(t.getElement()!==s){const{left:e,top:i}=t.getElement().getBoundingClientRect();b=i-c,y=e-h}return n.style.top=`${g+b}px`,u<0?u=0:u*f+i>a&&(u=(a-i)/f),n.style.left=`${u+y}px`,!0}return!1}_bindSecondElement(t,e,i,r,o){const n=this._secondElement,s=this._rootElement,a=t.internalProps.menu.parentElement??t.getElement(),{width:l,left:h,top:c}=a.getBoundingClientRect(),{x:d,y:u,width:g}=s.getBoundingClientRect();if(n){n.parentElement!==a&&a.appendChild(n),n.style.left="0px";const t=.8*l;n.style.maxWidth=`${t}px`;const e=n.clientWidth,i=o-4-c,s=r-h;n.style.top=`${i}px`;let d=s;return d+e>l?d=d-e-g:d+=4,n.style.left=`${d}px`,!0}return!1}pointInMenuElement(t,e){const i=this._rootElement,{x:r,y:o,width:n,height:s}=i.getBoundingClientRect();if(t>r-5&&t<r+n+5&&e>o-5&&e<o+s+5)return!0;if(this._secondElement){const{x:r,y:o,width:n,height:s}=i.getBoundingClientRect();if(t>r-5&&t<r+n+5&&e>o-5&&e<o+s+5)return!0}return!1}}function SH(t,e){const i=aH("div",[hH,e?pH:gH]);if("string"==typeof t){const e=aH("span",[cH,CH,wH]);e.innerHTML=t,i.appendChild(e)}else if("object"==typeof t){const r=t.type??"item";if("split"===r)return i?.classList.add(mH),i;if(t?.icon?.svg)if(Wv.test(t.icon.svg)){const e=new Image;t.icon.width?e.style.width=t.icon.width.toString()+"px":e.style.width="16px",t.icon.height?e.style.height=t.icon.height.toString()+"px":e.style.height="16px",e.src=t.icon.svg,i.appendChild(e)}else{const r=aH("span",[fH,CH]);r.innerHTML=e&&t.selectedIcon&&t.selectedIcon.svg?t.selectedIcon.svg:t.icon.svg,t.icon.width&&r.children[0].setAttribute("width",t.icon.width.toString()),t.icon.height&&r.children[0].setAttribute("height",t.icon.height.toString()),i.appendChild(r)}const o=aH("span",[cH,CH,wH]);if(o.innerHTML=t.text,i.appendChild(o),"title"===r)i?.classList.add(CH,bH);else if(t?.children?.length){const t=aH("span",[cH,CH,yH]);t.innerHTML=e?'<svg width="8" height="12" viewBox="0 0 10 17" fill="none" xmlns="http://www.w3.org/2000/svg" style="vertical-align: baseline"><path d="M1.78186 16.7729L0.300378 15.2915L6.8189 8.77295L0.300377 2.25443L1.78186 0.77295L9.78186 8.77295L1.78186 16.7729Z" fill="#2E68CF" fill-opacity="0.65"></path></svg>':'<svg width="8" height="12" viewBox="0 0 10 17" fill="none" xmlns="http://www.w3.org/2000/svg" style="vertical-align: baseline"><path d="M1.78186 16.7729L0.300378 15.2915L6.8189 8.77295L0.300377 2.25443L1.78186 0.77295L9.78186 8.77295L1.78186 16.7729Z" fill="#141414" fill-opacity="0.65"></path></svg>',i.appendChild(t)}}return i}let AH;const RH={CHANGE_STYLE:"change_style"};class TH extends yw{_color;_strokeColor;_fontSize;_fontFamily;_fontWeight;_fontVariant;_fontStyle;_textOverflow;_padding;_defaultPadding=[10,16,10,16];_textStick;_textStickBaseOnAlign;_marked;_textAlign;_textBaseline;_bgColor;_borderColor;_lineHeight;_underline;_underlineColor;_underlineDash;_underlineOffset;_lineThrough;_lineThroughColor;_lineThroughDash;_linkColor;_cursor;_borderLineWidth;_borderLineDash;static get EVENT_TYPE(){return RH}static get DEFAULT(){return AH||(AH=new TH)}constructor(t={},e={}){super(),this._color=t.color??e?.color,this._strokeColor=t?.strokeColor??e?.strokeColor,this._fontSize=t.fontSize??e?.fontSize,this._fontFamily=t.fontFamily??e?.fontFamily,this._fontWeight=t.fontWeight??e?.fontWeight,this._fontVariant=t.fontVariant??e?.fontVariant,this._fontStyle=t.fontStyle??e?.fontStyle,this._textOverflow=(t.textOverflow??e?.textOverflow)||"ellipsis",this._textStick=t.textStick??e?.textStick??!1,this._textStickBaseOnAlign=t.textStickBaseOnAlign??e?.textStickBaseOnAlign??!1,this._marked=t.marked??e?.marked??!1,this._textAlign=(t.textAlign??e?.textAlign)||"left",this._textBaseline=(t.textBaseline??e?.textBaseline)||"middle",this._bgColor=t.bgColor??e?.bgColor,this._padding=t.padding??e?.padding??this._defaultPadding,this._borderColor=t.borderColor??e?.borderColor,this._lineHeight=t.lineHeight??e?.lineHeight,this._underline=t.underline??e?.underline,this._underlineColor=t.underlineColor??e?.underlineColor,this._underlineDash=t.underlineDash??e?.underlineDash,this._underlineOffset=t.underlineOffset??e?.underlineOffset,this._lineThrough=t.lineThrough??e?.lineThrough,this._lineThroughColor=t.lineThroughColor??e?.lineThroughColor,this._lineThroughDash=t.lineThroughDash??e?.lineThroughDash,this._linkColor=t.linkColor??e?.linkColor,this._cursor=t.cursor??e?.cursor,this._borderLineWidth=t.borderLineWidth??e?.borderLineWidth,this._borderLineDash=t.borderLineDash??e?.borderLineDash}get bgColor(){return this._bgColor}set bgColor(t){this._bgColor=t}get color(){return this._color}set color(t){this._color=t}get strokeColor(){return this._strokeColor}set strokeColor(t){this._strokeColor=t}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize=t}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily=t}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight=t}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant=t}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle=t}get textOverflow(){return this._textOverflow}set textOverflow(t){this._textOverflow=t}get padding(){return this._padding??this._defaultPadding}set padding(t){this._padding=t}get borderColor(){return this._borderColor}set borderColor(t){this._borderColor=t}get textStick(){return this._textStick}set textStick(t){this._textStick=t}get textStickBaseOnAlign(){return this._textStickBaseOnAlign}set textStickBaseOnAlign(t){this._textStickBaseOnAlign=t}get marked(){return this._marked}set marked(t){this._marked=t}get textAlign(){return this._textAlign}set textAlign(t){this._textAlign=t}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline=t}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight=t}get underline(){return this._underline}set underline(t){this._underline=t}get underlineColor(){return this._underlineColor}set underlineColor(t){this._underlineColor=t}get underlineDash(){return this._underlineDash}set underlineDash(t){this._underlineDash=t}get underlineOffset(){return this._underlineOffset}set underlineOffset(t){this._underlineOffset=t}get lineThrough(){return this._lineThrough}set lineThrough(t){this._lineThrough=t}get lineThroughColor(){return this._lineThroughColor}set lineThroughColor(t){this._lineThroughColor=t}get lineThroughDash(){return this._lineThroughDash}set lineThroughDash(t){this._lineThroughDash=t}get linkColor(){return this._linkColor}set linkColor(t){this._linkColor=t}get cursor(){return this._cursor}set cursor(t){this._cursor=t}get borderLineWidth(){return this._borderLineWidth}set borderLineWidth(t){this._borderLineWidth=t}get borderLineDash(){return this._borderLineDash}set borderLineDash(t){this._borderLineDash=t}clone(){return new TH(this)}}let BH,MH,PH;class HH extends TH{static get DEFAULT(){return BH||(BH=new HH)}constructor(t={},e={}){super(t,e),this.textAlign=(t.textAlign??e?.textAlign)||"center"}clone(){return new HH(this)}}class kH extends TH{_autoWrapText;_lineClamp;static get DEFAULT(){return MH||(MH=new kH)}constructor(t={},e=null){super(t,e),this._autoWrapText=t?.autoWrapText??e?.autoWrapText,this._lineClamp=t?.lineClamp??e?.lineClamp}clone(){return new kH(this,null)}get lineClamp(){return this._lineClamp}set lineClamp(t){this._lineClamp=t}get autoWrapText(){return this._autoWrapText}set autoWrapText(t){this._autoWrapText=t}}class LH extends TH{_size;_spaceBetweenTextAndIcon;_defaultFill;_defaultStroke;_disableFill;_checkedFill;_checkedStroke;_disableCheckedFill;_disableCheckedStroke;_checkIconImage;_indeterminateIconImage;static get DEFAULT(){return PH||(PH=new LH)}constructor(t={},e={},i={}){super(t,e),this._size=(t?.size??e?.size??i?.size)||14,this._spaceBetweenTextAndIcon=(t?.spaceBetweenTextAndIcon??e?.spaceBetweenTextAndIcon??i?.spaceBetweenTextAndIcon)||8,this._defaultFill=t?.checkboxStyle?.defaultFill??i?.defaultFill,this._defaultStroke=t?.checkboxStyle?.defaultStroke??i?.defaultStroke,this._disableFill=t?.checkboxStyle?.disableFill??i?.disableFill,this._checkedFill=t?.checkboxStyle?.checkedFill??i?.checkedFill,this._checkedStroke=t?.checkboxStyle?.checkedStroke??i?.checkedStroke,this._disableCheckedFill=t?.checkboxStyle?.disableCheckedFill??i?.disableCheckedFill,this._disableCheckedStroke=t?.checkboxStyle?.disableCheckedStroke??i?.disableCheckedStroke,this._checkIconImage=t?.checkboxStyle?.checkIconImage??i?.checkIconImage,this._indeterminateIconImage=t?.checkboxStyle?.indeterminateIconImage??i?.indeterminateIconImage}get size(){return this._size}set size(t){this._size=t}get spaceBetweenTextAndIcon(){return this._spaceBetweenTextAndIcon}set spaceBetweenTextAndIcon(t){this._spaceBetweenTextAndIcon=t}get defaultFill(){return this._defaultFill}set defaultFill(t){this._defaultFill=t}get defaultStroke(){return this._defaultStroke}set defaultStroke(t){this._defaultStroke=t}get disableFill(){return this._disableFill}set disableFill(t){this._disableFill=t}get checkedFill(){return this._checkedFill}set checkedFill(t){this._checkedFill=t}get checkedStroke(){return this._checkedStroke}set checkedStroke(t){this._checkedStroke=t}get disableCheckedFill(){return this._disableCheckedFill}set disableCheckedFill(t){this._disableCheckedFill=t}get disableCheckedStroke(){return this._disableCheckedStroke}set disableCheckedStroke(t){this._disableCheckedStroke=t}get checkIconImage(){return this._checkIconImage}set checkIconImage(t){this._checkIconImage=t}get indeterminateIconImage(){return this._indeterminateIconImage}set indeterminateIconImage(t){this._indeterminateIconImage=t}getStyle(t){return new LH(t,this)}clone(){return new LH(this)}}function EH(t,e,i,r,o,n){return t||e?t instanceof TH?t:"function"==typeof t?EH(t(i),e,i,r,o,n):(t||(t={}),o&&!J(t.autoWrapText)&&(t.autoWrapText=!0),r===LH?new LH(t??{},e??{},n.checkboxStyle??{}):new r(t??{},e??{})):r.DEFAULT}class FH{normalIcon;upIcon;downIcon;freezeIcon;frozenIcon;frozenCurrentIcon;dropDownAbsoluteIcon;expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=kR();this.freezeIcon=e[tw.freezeIconName],this.frozenIcon=e[tw.frozenIconName],this.frozenCurrentIcon=e[tw.frozenCurrentIconName],this.normalIcon=e[tw.normalIconName],this.upIcon=e[tw.upwardIconName],this.downIcon=e[tw.downwardIconName],this.dropDownAbsoluteIcon=e[tw.dropdownIconName],this.expandIcon=e[tw.expandIconName],this.collapseIcon=e[tw.collapseIconName]}getIcons(t,e){const i=[];if(this._table.isPivotTable()){const{showSort:r,sort:o}=this._table.internalProps.layoutMap.getHeader(t,e);let n;if(n="function"==typeof r?r({col:t,row:e,table:this._table}):r,n){let r=this._table.getPivotSortState(t,e);r&&(r=r.toUpperCase());const o="ASC"===r?this.upIcon:"DESC"===r?this.downIcon:this.normalIcon;o&&i.push(o)}else if(o){const r=this.getSortIconForPivotTable(this._table.getPivotSortState(t,e),this._table,t,e);r&&i.push(r)}}else{const r=this._table.sortState;let o;o=void 0;const n=this._table.getCellRange(t,e);if(r)if(Array.isArray(r))for(let t=0;t<r.length;t++){const e=r[t],i=this._table._getHeaderCellBySortState(e);if(i&&pv(n,i.col,i.row)){({order:o}=e);break}}else{const t=this._table._getHeaderCellBySortState(r);t&&pv(n,t.col,t.row)&&({order:o}=r)}const s=this.getSortIcon(o,this._table,t,e);s&&i.push(s)}if(this._table.showFrozenIcon&&t<this._table.allowFrozenColCount){const r=this.getFrozenIcon(t,e);r&&i.push(r)}if(this.checkDropDownIcon(this._table,t,e)){const t=this.dropDownAbsoluteIcon;i.push(t)}const r=this.getDropDownStateIcons(this._table,t,e);r.length&&i.push(...r);const{headerIcon:o}=this._table._getHeaderLayoutMap(t,e),n=this.getHierarchyIcon(t,e);if(n&&i.push(n),o){let r;if("function"==typeof o){r=o({col:t,row:e,value:this._table.getCellValue(t,e),dataValue:this._table.getCellOriginValue(t,e),table:this._table})}else r=o;const n=kR(),s=t=>{let e;e="string"==typeof t?n[t]:t,e&&i.push(e)};Array.isArray(r)?r.forEach(((t,e)=>{s(t)})):s(r)}return i}getFrozenIcon(t,e){if(this._table.isPivotTable()||this._table.transpose)return null;if(this._table.rightFrozenColCount&&t>=this._table.colCount-this._table.rightFrozenColCount)return null;const i=this._table.getHeaderDefine(t,e);if(i.columns&&i.columns.length>0)return null;let r=this.freezeIcon;return this._table.options.frozenColCount-1>t?r=this.frozenIcon:this._table.options.frozenColCount-1===t&&(r=this.frozenCurrentIcon),r}getSortIcon(t,e,i,r){const o="asc"===t?this.upIcon:"desc"===t?this.downIcon:this.normalIcon,n=e.getHeaderDefine(i,r);let s;return n&&(s="function"==typeof n.showSort?n.showSort({col:i,row:r,table:this._table}):n.showSort),!n||!1===s||!J(s)&&!n.sort||n.columns&&n.columns.length>0?null:o}getSortIconForPivotTable(t,e,i,r){const o=e.getHeaderDefine(i,r);let n;if(o&&(n="function"==typeof o.showSort?o.showSort({col:i,row:r,table:this._table}):o.showSort),!o||!1===n||!J(n)&&!o.sort||o.columns&&o.columns.length>0)return null;return"ASC"===t?.toUpperCase()?this.upIcon:"DESC"===t?.toUpperCase()?this.downIcon:this.normalIcon}getDropDownStateIcons(t,e,i){const r=t.getHeaderDefine(e,i),o=t._getHeaderLayoutMap(e,i);let{dropDownMenu:n}=o;"function"==typeof n&&(n=n({row:i,col:e,table:t}));let s=t.globalDropDownMenu;"function"==typeof s&&(s=s({row:i,col:e,table:t}));const a=[];if(Array.isArray(n)&&n.length||Array.isArray(s)&&s.length&&!r?.columns?.length){const r=n||s;let o=-1,l=-1;for(let n=0;n<r.length;n++){const s=r[n];if("object"==typeof s&&s.children&&s.children.length)for(let r=0;r<s.children.length;r++){const a=s.children[r];if(t.stateManager.menu?.dropDownMenuHighlight&&xH(t,t.stateManager.menu?.dropDownMenuHighlight,"object"==typeof a?a?.menuKey:a,e,i)){o=n,l=r;break}}if(t._dropDownMenuIsHighlight(e,i,n)){o=n;break}}if(-1!==o){let t;t=-1!==l?r[o].children[l]:r[o],t.stateIcon&&(t.stateIcon.svg?a.push({type:"svg",name:t.stateIcon.src||t.stateIcon.svg,width:t.stateIcon.width||22,height:t.stateIcon.height||22,svg:t.stateIcon.svg,positionType:JC.right,marginRight:0,funcType:QC.dropDownState,interactive:!1}):t.stateIcon.src&&a.push({type:"image",name:t.stateIcon.src||t.stateIcon.svg,width:t.stateIcon.width||22,height:t.stateIcon.height||22,src:t.stateIcon.src,positionType:JC.right,marginRight:0,funcType:QC.dropDownState,interactive:!1}))}}return a}getDropDownIconRect(t,e,i){const r=this.downIcon.hover?.width??this.downIcon?.width??0,o=this.downIcon.hover?.height??this.downIcon?.height??0,n=t.right-2-r,s=t.right-2;let a;a="middle"===i?t.top+t.height/2-r/2:"top"===i?t.top+e/2:"bottom"===i?t.bottom-2*e:t.top;return{left:n,right:s,top:a,bottom:o+a,width:r,height:o}}getHierarchyIcon(t,e){const{hierarchyState:i}=this._table._getHeaderLayoutMap(t,e);if(i){if(i===ZC.expand)return this.expandIcon;if(i===ZC.collapse)return this.collapseIcon}}getHierarchyIconWidth(){return this.expandIcon.width+(this.expandIcon.marginLeft??0)+(this.expandIcon.marginRight??0)}checkDropDownIcon(t,e,i){if(t.isPivotTable()){let r=t._getHeaderLayoutMap(e,i).dropDownMenu;if("function"==typeof r&&(r=r({row:i,col:e,table:t})),Array.isArray(r)&&r.length)return!0}else{const r=t.getHeaderDefine(e,i),o=r.dropDownMenu;let n=t.globalDropDownMenu;if("function"==typeof n&&(n=n({row:i,col:e,table:t})),Array.isArray(o)&&o.length||(!Array.isArray(r.dropDownMenu)||0!==r.dropDownMenu.length)&&Array.isArray(n)&&n.length&&!r?.columns?.length)return!0}return!1}getStyleClass(t){switch(t){case"text":case"link":return kH;case"image":case"video":return HH;case"checkbox":return LH}}setTableColumnsEditor(){const t=(e,i)=>{e?.forEach(((e,r)=>{e.editor&&(i[r].editor=e.editor),e.columns&&t(e.columns,i[r].columns)}))};t(this._table.options.columns,this._table.internalProps.columns)}}class IH extends EventTarget{_container;_table;_input;constructor(t,e){if(super(),this._table=t,"node"===Ew.mode)return;const i=document.createElement("div");i.style.opacity="0",i.dataset.vtable="vtable",i.style.pointerEvents="none",i.classList.add("input-container");const r=this._input=document.createElement("input");i.appendChild(r),r.classList.add("table-focus-control"),r.dataset.vtable="vtable",r.readOnly=!0,e.appendChild(i),this._container=i}focus(){this._input.focus({preventScroll:!0})}setFocusRect(t,e){const i=this._input;i.value=e,i.select();const r=t.top-this._table.scrollTop,o=t.left-this._table.scrollLeft;i.style.top=`${r.toFixed()}px`,i.style.left=`${o.toFixed()}px`,i.style.width=`${t.width.toFixed()}px`,i.style.height=`${t.height.toFixed()}px`}get input(){return this._input}release(){this._container.parentElement?.removeChild(this._container)}}class zH{data;cumulativeSum;difference;totalSum;table;isUpdate=!1;_keys=[];_sorted=!1;constructor(t){this.data=new Map,this._keys.length=0,this.cumulativeSum=new Map,this.difference=new Map,this.totalSum=0,this.table=t}get length(){return this.data.size}clear(){this._keys=[],this.data.clear(),this.cumulativeSum.clear(),this.difference.clear(),this.totalSum=0}clearRange(){this.cumulativeSum.clear(),this.difference.clear()}add(t,e){if(!J(e))return;const i=this.table.getRowHeight(t);this.data.has(t)||(this._keys.push(t),this._sorted=!1),this.data.set(t,e),this.totalSum+=e,this.updateDifference(t,e-i)}remove(t){if(this.data.has(t)){const e=this.data.get(t);this.data.delete(t);const i=this._keys.indexOf(t);-1!==i&&this._keys.splice(i,1),this.totalSum-=e;const r=this.table.getRowHeight(t);this.updateDifference(t,r-e)}}put(t,e){if(J(e))if(this.data.has(t)){const i=this.data.get(t);if(i===e)return;this.data.set(t,e);const r=e-i;this.totalSum+=r,this.updateDifference(t,r)}else this.add(t,e)}get(t){return this.data.get(t)}has(t){return this.data.has(t)}_sort(){const{_keys:t}=this;this._sorted||(t.sort(((t,e)=>t<e?-1:t>e?1:0)),this._sorted=!0)}updateDifference(t,e){const i=this.difference.get(t)??0;this.difference.set(t,i+e),this.update()}getSumInRange(t,e){return this.calculatePrefixSum(e)-this.calculatePrefixSum(t-1)}updateCumulativeSum(t,e){for(const[i,r]of this.cumulativeSum)i>=t&&this.cumulativeSum.set(i,r+e)}calculatePrefixSum(t){if(t<0)return 0;if(this.cumulativeSum.has(t)){let e=this.cumulativeSum.get(t);for(const[i,r]of this.difference)i<=t&&(e+=r);return e}return this.dealDiffenence(),this.getCumulativeSum(t)}getCumulativeSum(t){let e=0;for(let i=t;i>=0;i--){if(this.cumulativeSum.has(i)){e+=this.cumulativeSum.get(i);break}e+=this.data.get(i)??this.table.getRowHeight(i)}return this.cumulativeSum.set(t,e),e}update(){this.isUpdate||(this.isUpdate=!0,setTimeout((()=>{this.dealDiffenence(),this.isUpdate=!1}),0))}dealDiffenence(){for(const[t]of this.cumulativeSum)for(const[e,i]of this.difference)if(t>=e){const e=this.cumulativeSum.get(t);this.cumulativeSum.set(t,e+i)}this.difference.clear()}insert(t,e){for(let e=t;e<=this.getLastIndex();e++)this.cumulativeSum.delete(e);const i=this.getLastIndex()+1;this.adjustOrder(t,t+1,i-t),J(e)&&this.put(t,e)}getLastIndex(){return this._sort(),this._keys[this._keys.length-1]}delLast(){const t=this.getLastIndex();this.remove(t)}delete(t){if(!this.has(t))return;for(let e=t;e<=this.getLastIndex();e++)this.cumulativeSum.delete(e);const e=this.getLastIndex();this.adjustOrder(t+1,t,e-t),this.delLast()}adjustOrder(t,e,i){this.clearRange(),this._sort();const{_keys:r}=this;if(t>e){const o=[];for(let n=OH(r,t+i-1);n>=0;n--){const s=r[n];if(s>=t)o.push(this.get(s));else if(e<=s&&s<t)this.put(s+i,this.get(s));else if(s<e)break}for(let t=0;t<i;t++)this.put(e+t,o[i-1-t])}const{length:o}=r;if(t<e){const n=[];for(let s=OH(r,t);s<o;s++){const o=r[s];if(o>=t&&o<t+i)n.push(this.get(o));else if(t+i<=o&&o<=e)this.put(o-i,this.get(o));else if(o>e)break}for(let t=0;t<i;t++)this.put(e+t,n[t])}}exchangeOrder(t,e,i,r,o){const{_keys:n}=this;if(this._sorted||(n.sort(((t,e)=>t<e?-1:t>e?1:0)),this._sorted=!0),t>i){const r=[],s=[];for(let o=OH(n,i);o<OH(n,t)+e;o++){const i=n[o];i>=t&&i<t+e?s.push(this.get(i)):r.push(this.get(i))}for(let t=0;t<e;t++)this.put(o+t,s[t]);for(let t=0;t<r.length;t++)this.put(o+e+t,r[t])}else{const s=[],a=[];for(let o=OH(n,t);o<OH(n,i)+r;o++){const i=n[o];i>=t&&i<t+e?a.push(this.get(i)):s.push(this.get(i))}for(let t=0;t<e;t++)this.put(o+t,a[t]);for(let e=0;e<s.length;e++)this.put(t+e,s[e])}}}function OH(t,e){let i=0,r=t.length-1;for(;i<=r;){const o=Math.floor((i+r)/2);if(t[o]===e)return o;t[o]>e?r=o-1:i=o+1}return r<0?0:r}class DH{dragReorderIconName;_table;constructor(t){this._table=t;const e=kR();this.dragReorderIconName=e[tw.dragReorderIconName]}getIcons(t,e){return[this.dragReorderIconName]}}class WH{sharedVar;hasHideNode=!1;sizeIncludeParent=!1;setExpandLevel;hierarchyType;tree={id:0,dimensionKey:"",value:"",children:[],level:-1,afterSpanLevel:-1,levelSpan:1,startIndex:0,size:0,startInTotal:0,hierarchyState:void 0};totalLevel=0;expandedMaxLevel=0;dimensionKeys=new Pv;dimensionKeysIncludeVirtual=new Pv;cache=new Map;constructor(t,e,i="grid",r=void 0){this.sizeIncludeParent=null!=r,this.setExpandLevel=r,this.hierarchyType=i,this.sharedVar=e,this.reset(t)}reset(t){this.totalLevel=0,this.expandedMaxLevel=0,this.hasHideNode=!1,this.cache.clear(),this.dimensionKeys=new Pv,this.dimensionKeysIncludeVirtual=new Pv,this.tree.children=t,this.setTreeNode(this.tree,0,this.tree)}setTreeNode(t,e,i){t.startIndex=e,t.startInTotal=(i.startInTotal??0)+t.startIndex,t.hide&&(this.hasHideNode=!0),(t.dimensionKey??t.indicatorKey)&&(t.virtual||this.dimensionKeys.contain(t.indicatorKey?Nv:t.dimensionKey)||this.dimensionKeys.put(t.level,t.indicatorKey?Nv:t.dimensionKey),this.dimensionKeysIncludeVirtual.contain(t.indicatorKey?Nv:t.dimensionKey)||this.dimensionKeysIncludeVirtual.put(t.level,t.indicatorKey?Nv:t.dimensionKey),t.id||(t.id=++this.sharedVar.seqId));let r=t.dimensionKey&&this.sizeIncludeParent?1:0;const o=t.children||t.columns;return"grid"===this.hierarchyType||null===this.hierarchyType?o?.length>=1?o.forEach((e=>{e.level=(t.level??0)+1,"grid"===this.hierarchyType&&(e.afterSpanLevel=(t.afterSpanLevel??0)+(t.levelSpan??1)),this.totalLevel=Math.max(this.totalLevel,e.level+1),r+=this.setTreeNode(e,r,t)})):r=1:t.hierarchyState===ZC.expand&&o?.length>=1?o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.expandedMaxLevel=Math.max(this.expandedMaxLevel,e.level+1),r+=this.setTreeNode(e,r,t)})):t.hierarchyState===ZC.collapse&&o?.length>=1?o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.setTreeNode(e,r,t)})):!t.hierarchyState&&t.level+1<this.setExpandLevel&&(o?.length>=1||!0===o)?(o[0]?.indicatorKey&&"grid-tree"===this.hierarchyType||(t.hierarchyState=ZC.expand),o?.length>=1&&o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.expandedMaxLevel=Math.max(this.expandedMaxLevel,e.level+1),r+=this.setTreeNode(e,r,t)}))):o?.length>=1||!0===o?(o[0]?.indicatorKey&&"grid-tree"===this.hierarchyType||(t.hierarchyState=ZC.collapse),o?.length>=1&&o.forEach((e=>{e.level=(t.level??0)+1,this.totalLevel=Math.max(this.totalLevel,e.level+1),this.setTreeNode(e,r,t)}))):(t.hierarchyState=ZC.none,r=1),t.size=r,r}getTreePath(t,e=30){const i=[];return this.searchPath(t,this.tree,i,e),i.shift(),i}findNodeById(t,e){return t.find((t=>t.id===e))}searchPath(t,e,i,r){if(!e)return;if(t<e.startIndex||t>=e.startIndex+e.size)return;if(i.push(e),!e.children||0===e.children.length||e.level>=r)return;const o=t-e.startIndex;if(this.cache.has(e.level+1)){const t=this.cache.get(e.level+1);if(o>=t.startIndex&&o<t.startIndex+t.size)return void this.searchPath(o,t,i,r)}let n=0,s=e.children.length-1;for(;n<=s;){const t=Math.floor((n+s)/2),a=e.children[t];if(o>=a.startIndex&&o<a.startIndex+a.size){this.cache.set(a.level,a);const t=[];this.cache.forEach(((e,i)=>{i>a.level&&t.push(i)})),t.forEach((t=>{this.cache.delete(t)})),this.searchPath(o,a,i,r);break}o<a.startIndex?s=t-1:n=t+1}}movePosition(t,e,i){let r,o,n;const s=(a,l)=>{if(void 0!==o&&void 0!==n)return;a.level===t&&(a.startInTotal===e&&(o=l),a.startInTotal<=i&&i<=a.startInTotal+a.size-1&&(n=l));const h=a.children||a.columns;if(h&&a.level<t){r=a;for(let t=0;t<h.length;t++)(e>=h[t].startInTotal&&e<=h[t].startInTotal+h[t].size||i>=h[t].startInTotal&&i<=h[t].startInTotal+h[t].size)&&s(h[t],t)}};s(this.tree,0);const a=r.children||r.columns,l=a.splice(o,1);l.unshift(n,0),Array.prototype.splice.apply(a,l)}getCopiedTree(){const t=Ct(this.tree.children);return KH(t),t}}function NH(t,e){e?.forEach((e=>{const i={dimensionKey:e.dimensionKey,indicatorKey:e.indicatorKey,value:e.value,hierarchyState:e.hierarchyState,children:void 0,virtual:e.virtual??!1,levelSpan:e.levelSpan??1};t.push(i),e.children&&(i.children=[],NH(i.children,e.children))}))}function GH(t,e){let i=0;return t?.forEach((t=>{e?i++:t.children&&0!==t.children.length||i++,t.children&&(i+=GH(t.children,e))})),i}function VH(t,e,i,r,o,n){const s=t.id,a=n.rowsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey))??n.columnsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey)),l=n.indicatorsDefine?.find((e=>"string"!=typeof e&&(t.indicatorKey?e.indicatorKey===t.indicatorKey:e.title===t.value&&!t.dimensionKey))),h={id:s,title:t.value??l?.title,field:t.dimensionKey,style:"function"==typeof(l??a)?.headerStyle?(l??a)?.headerStyle:Object.assign({},(l??a)?.headerStyle),headerType:l?.headerType??a?.headerType??"text",headerIcon:l?.headerIcon??a?.headerIcon,define:Object.assign({},t,l??Object.assign({},a,{sort:void 0})),fieldFormat:l?.headerFormat??a?.headerFormat,dropDownMenu:l?.dropDownMenu??a?.dropDownMenu,pivotInfo:{value:t.value,dimensionKey:t.dimensionKey,isPivotCorner:!1},width:a?.width,minWidth:a?.minWidth,maxWidth:a?.maxWidth,showSort:l?.showSort??a?.showSort,sort:l?.sort,description:a?.description};l?(l.customRender&&(t.customRender=l.customRender),J(n._indicators?.find((t=>t.indicatorKey===l.indicatorKey)))||n._indicators?.push({id:++n.sharedVar.seqId,indicatorKey:l.indicatorKey,field:l.indicatorKey,fieldFormat:l?.format,cellType:l?.cellType??l?.columnType??"text",chartModule:"chartModule"in l?l.chartModule:null,chartSpec:"chartSpec"in l?l.chartSpec:null,noDataRenderNothing:"noDataRenderNothing"in l&&l.noDataRenderNothing,sparklineSpec:"sparklineSpec"in l?l.sparklineSpec:null,style:l?.style,icon:l?.icon,define:Object.assign({},t,l,{dragHeader:a?.dragHeader}),width:l?.width,minWidth:l?.minWidth,maxWidth:l?.maxWidth,disableColumnResize:l?.disableColumnResize})):t.indicatorKey&&(J(n._indicators?.find((e=>e.indicatorKey===t.indicatorKey)))||n._indicators?.push({id:++n.sharedVar.seqId,indicatorKey:t.indicatorKey,field:t.indicatorKey,cellType:"text",define:Object.assign({},t)})),i[s]=h,n._headerObjects[s]=h;for(let t=o-1;t>=0;t--)e[t][n.colIndex]=r[t];if(e[o][n.colIndex]=s,t.levelSpan>1)for(let i=1;i<t.levelSpan;i++){if(!e[o+i]){e[o+i]=[];for(let t=0;t<n.colIndex;t++)e[o+i][t]=e[o][t]}e[o+i][n.colIndex]=s}if(t.children?.length>=1)n._addHeaders(e,o+(t.levelSpan??1),t.children??[],[...r,...Array(t.levelSpan??1).fill(s)],i);else{for(let t=o+1;t<e.length;t++)e[t][n.colIndex]=s;n.colIndex++}}function jH(t,e,i,r,o,n,s,a,l,h,c,d){const u=t.id,g=d.rowsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey))??d.columnsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey)),p=d.indicatorsDefine?.find((e=>"string"!=typeof e&&(t.indicatorKey?e.indicatorKey===t.indicatorKey:e.title===t.value&&!t.dimensionKey))),f={id:u,title:t.value??p?.title,field:t.dimensionKey,style:"function"==typeof(p??g)?.headerStyle?(p??g)?.headerStyle:Object.assign({},(p??g)?.headerStyle),headerType:p?.headerType??g?.headerType??"text",headerIcon:p?.headerIcon??g?.headerIcon,define:Object.assign(t,{linkJump:(p??g)?.linkJump,linkDetect:(p??g)?.linkDetect,templateLink:(p??g)?.templateLink,keepAspectRatio:(p??g)?.keepAspectRatio??!1,imageAutoSizing:(p??g)?.imageAutoSizing,headerCustomRender:(p??g)?.headerCustomRender,headerCustomLayout:(p??g)?.headerCustomLayout,dragHeader:g?.dragHeader,disableHeaderHover:!!(p??g)?.disableHeaderHover,disableHeaderSelect:!!(p??g)?.disableHeaderSelect,showSort:p?.showSort??g?.showSort,hide:p?.hide}),fieldFormat:p?.headerFormat??g?.headerFormat,dropDownMenu:p?.dropDownMenu??g?.dropDownMenu,pivotInfo:{value:t.value,dimensionKey:t.dimensionKey,isPivotCorner:!1},hierarchyLevel:t.level,dimensionTotalLevel:n,hierarchyState:t.hierarchyState,width:g?.width,minWidth:g?.minWidth,maxWidth:g?.maxWidth,showSort:p?.showSort??g?.showSort,sort:p?.sort,description:g?.description,parentCellId:r[r.length-1]};p?(p.customRender&&(t.customRender=p.customRender),J(d._indicators?.find((t=>t.indicatorKey===p.indicatorKey)))||d._indicators?.push({id:++d.sharedVar.seqId,indicatorKey:p.indicatorKey,field:p.indicatorKey,fieldFormat:p?.format,cellType:p?.cellType??p?.columnType??"text",chartModule:"chartModule"in p?p.chartModule:null,chartSpec:"chartSpec"in p?p.chartSpec:null,noDataRenderNothing:"noDataRenderNothing"in p&&p.noDataRenderNothing,sparklineSpec:"sparklineSpec"in p?p.sparklineSpec:null,style:p?.style,icon:p?.icon,define:Object.assign({},t,p,{dragHeader:g?.dragHeader}),width:p?.width,minWidth:p?.minWidth,maxWidth:p?.maxWidth,disableColumnResize:p?.disableColumnResize})):t.indicatorKey&&(J(d._indicators?.find((e=>e.indicatorKey===t.indicatorKey)))||d._indicators?.push({id:++d.sharedVar.seqId,indicatorKey:t.indicatorKey,field:t.indicatorKey,cellType:"text",define:Object.assign({},t)})),i[u]=f,d._headerObjects[u]=f;for(let t=o-1;t>=0;t--)e[t][d.colIndex]=r[t];e[o][d.colIndex]=u;const m=Math.min((h?c:!c)?s:s-1,t.levelSpan??1e3);if(m>0)for(let t=o+1;t<m;t++){if(!e[t]){e[t]=[];for(let i=0;i<d.colIndex;i++)e[t][i]=e[o][i]}e[t][d.colIndex]=u}if((t.hierarchyState===ZC.expand&&t).children?.length>=1)d._addHeadersForGridTreeMode(e,o+(t.levelSpan??1),t.children??[],[...r,...Array(t.levelSpan??1).fill(u)],n,s,a&&t.hierarchyState===ZC.expand,l,i,h);else{const a=(h?c:!c)?s:s-1;for(let t=o+1;t<a;t++)e[t]||(e[t]=[]),e[t][d.colIndex]=u;if(o<=a-1&&(h&&!1===c||!h&&!0===c)){let c=t;const g=a-o;for(;c&&!c.children?.[0].indicatorKey;)c=c.children[0];d._addHeadersForGridTreeMode(e,s-1,c.children??[],[...r,...Array(Math.max(g,t.levelSpan??1)).fill(u)],n,s,!0,l,i,h)}else d.colIndex++}}function UH(t,e,i,r,o,n,s,a,l){const h=t.id,c=a.find((e=>"string"!=typeof e&&e.dimensionKey===t.dimensionKey)),d=l.indicatorsDefine?.find((e=>"string"!=typeof e&&(t.indicatorKey?e.indicatorKey===t.indicatorKey:e.title===t.value))),u={id:h,title:t.value??d.title,field:t.dimensionKey,style:t.level+1===n||"function"==typeof(d??c)?.headerStyle?(d??c)?.headerStyle:Object.assign({},(d??c)?.headerStyle,{textAlign:"left"}),headerType:d?.headerType??c?.headerType??"text",headerIcon:d?.headerIcon??c?.headerIcon,define:Object.assign(t,{linkJump:(d??c)?.linkJump,linkDetect:(d??c)?.linkDetect,templateLink:(d??c)?.templateLink,keepAspectRatio:(d??c)?.keepAspectRatio??!1,imageAutoSizing:(d??c)?.imageAutoSizing,headerCustomRender:(d??c)?.headerCustomRender,headerCustomLayout:(d??c)?.headerCustomLayout,dragHeader:c?.dragHeader,disableHeaderHover:!!(d??c)?.disableHeaderHover,disableHeaderSelect:!!(d??c)?.disableHeaderSelect,showSort:d?.showSort??c?.showSort,hide:d?.hide}),fieldFormat:d?.headerFormat??c?.headerFormat,dropDownMenu:d?.dropDownMenu??c?.dropDownMenu,pivotInfo:{value:t.value,dimensionKey:t.dimensionKey,isPivotCorner:!1},hierarchyLevel:t.level,dimensionTotalLevel:n,hierarchyState:t.hierarchyState,width:c?.width,minWidth:c?.minWidth,maxWidth:c?.maxWidth,parentCellId:r[r.length-1]};d?(d.customRender&&(t.customRender=d.customRender),J(l._indicators?.find((t=>t.indicatorKey===d.indicatorKey)))||l._indicators?.push({id:++l.sharedVar.seqId,indicatorKey:d.indicatorKey,field:d.indicatorKey,fieldFormat:d?.format,cellType:d?.cellType??d?.columnType??"text",chartModule:"chartModule"in d?d.chartModule:null,chartSpec:"chartSpec"in d?d.chartSpec:null,noDataRenderNothing:"noDataRenderNothing"in d&&d.noDataRenderNothing,sparklineSpec:"sparklineSpec"in d?d.sparklineSpec:null,style:d?.style,icon:d?.icon,define:Object.assign({},t,d,{dragHeader:c?.dragHeader}),width:d?.width,minWidth:d?.minWidth,maxWidth:d?.maxWidth,disableColumnResize:d?.disableColumnResize})):t.indicatorKey&&(J(l._indicators?.find((e=>e.indicatorKey===t.indicatorKey)))||l._indicators?.push({id:++l.sharedVar.seqId,indicatorKey:t.indicatorKey,field:t.indicatorKey,cellType:"text",define:Object.assign({},t)})),i[h]=u,l._headerObjects[h]=u,e[o][l.colIndex]=h;for(let t=o-1;t>=0;t--)e[t][l.colIndex]=r[t];if(t.hierarchyState===ZC.expand&&t.children?.length>=1)s&&l.colIndex++,l._addHeadersForTreeMode(e,o,t.children??[],[...r,h],n,s&&t.hierarchyState===ZC.expand,a,i);else{s&&l.colIndex++;for(let t=o+1;t<e.length;t++)e[t][l.colIndex]=h}}function KH(t){for(let e=0;e<t.length;e++){const i=t[e];delete i.level,delete i.startIndex,delete i.id,delete i.levelSpan,delete i.size,delete i.startInTotal;const r=i.children||i.columns;r&&KH(r)}}function $H(t,e,i,r,o){for(let n=t.length-1;n>=0;n--){const s=t[n];if(e.push(s),r&&s.hide)t.splice(n,1);else if(s.indicatorKey){const r=i?.find((t=>t.indicatorKey===s.indicatorKey))?.hide;"function"==typeof r?r({dimensionPaths:e,table:o})&&t.splice(n,1):r&&t.splice(n,1)}else s.children&&s.children.length>0&&$H(s.children,e,i,r,o);e.pop()}}function XH(t,e){let i,r;e.columnTree&&(!1!==t.options.indicatorsAsCol&&!1!==t.options.supplementIndicatorNodes&&(t.internalProps.columnTree=YH(t.internalProps.columnTree,e.indicators)),i=new WH(t.internalProps.columnTree??[],t.layoutNodeId,t.options.columnHierarchyType,"grid"!==t.options.columnHierarchyType?t.options.columnExpandLevel??1:void 0)),e.rowTree&&(!1===t.options.indicatorsAsCol&&!1!==t.options.supplementIndicatorNodes&&(t.internalProps.rowTree=YH(t.internalProps.rowTree,e.indicators)),r=new WH(t.internalProps.rowTree??[],t.layoutNodeId,t.options.rowHierarchyType,"grid"!==t.options.rowHierarchyType?t.options.rowExpandLevel??1:void 0));const o=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():e.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],n=i?.dimensionKeys?.count?i.dimensionKeys.valueArr():e.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=e.indicators?.reduce(((e,i)=>("string"==typeof i?e.push(i):(e.push(i.indicatorKey),(i.chartSpec||i.sparklineSpec)&&(t.internalProps.dataConfig?.aggregationRules?t.internalProps.dataConfig.aggregationRules.find((t=>t.indicatorKey===i.indicatorKey))||t.internalProps.dataConfig.aggregationRules.push({field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:XC.NONE}):t.internalProps.dataConfig?t.internalProps.dataConfig.aggregationRules=[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:XC.NONE}]:t.internalProps.dataConfig={aggregationRules:[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:XC.NONE}]})),e)),[])??[];return"grid"!==e.rowHierarchyType&&(e.extensionRows?.length??0)>=1&&e.extensionRows?.forEach((t=>{const e=[];t.rows.forEach((t=>{"string"==typeof t?e.push(t):e.push(t.dimensionKey)})),o.push(...e)})),{rowKeys:o,columnKeys:n,indicatorKeys:s,columnDimensionTree:i,rowDimensionTree:r}}function YH(t,e){const i=(t,r)=>{t.forEach((t=>{t.indicatorKey||r||t.children?.length&&t.children?t.children&&Array.isArray(t.children)&&i(t.children,r||!!t.indicatorKey):t.children=e?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title??t.indicatorKey}))}))};return t?.length?i(t,!1):t=e?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title??t.indicatorKey})),t}function qH(t,e,i,r){const o=[];for(let t=0;t<e?.length;t++){const i=e[t];i?.hide&&o.push(i)}(o.length||i)&&$H(t,[],o,i,r)}function ZH(t,e){const i=function(t,e){if(!t.internalProps.frozenRowCount)return null;let{scrollTop:i}=t;const r=t.internalProps.frozenRowCount;for(let o=0;o<r;o++){const r=t.getRowHeight(o),n=i+r;if(n>e)return{top:i,row:o,bottom:n,height:r};i=n}return null}(e,t);return i||(tk(t,e)??{top:-1,row:-1,bottom:-1,height:-1})}function JH(t,e){const i=function(t,e){if(!t.internalProps.frozenColCount)return null;let{scrollLeft:i}=t;const r=t.internalProps.frozenColCount;for(let o=0;o<r;o++){const r=t.getColWidth(o),n=i+r;if(n>e)return{left:i,col:o,right:n,width:r};i=n}return null}(e,t);return i||(QH(t,e)??{left:-1,col:-1,right:-1,width:1})}function QH(t,e){if(0===t)return{left:0,col:0,right:0,width:0};const i=function(t,e){if(e._colRangeWidthsMap.get("$0$"+(e.colCount-1))){let i=0,r=e.colCount-1;for(;r-i>1;){const o=Math.floor((i+r)/2);if(t<e._colRangeWidthsMap.get(`$0$${o}`))r=o;else{if(!(t>e._colRangeWidthsMap.get(`$0$${o}`)))return o;i=o}}return r}return Math.min(Math.ceil(t/e.internalProps.defaultColWidth),e.colCount-1)}(t,e),r=e.getColsWidth(0,i);return t>=r?((i,r)=>{let o=r-e.getColWidth(i);const{colCount:n}=e.internalProps;for(let r=i;r<n;r++){const i=e.getColWidth(r),n=o+i;if(Math.round(o)<=Math.round(t)&&Math.round(t)<Math.round(n))return{left:o,col:r,right:n,width:i};o=n}return null})(i,r):((i,r)=>{let o=r;for(let r=i;r>=0;r--){const i=e.getColWidth(r),n=o-i;if(Math.round(n)<=Math.round(t)&&Math.round(t)<Math.round(o))return{left:n,col:r,right:o,width:i};o=n}return null})(i,r)}function tk(t,e){if(0===t)return{top:0,row:0,bottom:0,height:0};const i=!0===e.options.customConfig?._disableColumnAndRowSizeRound?Math.floor:Math.round,r=function(t,e){let i=e.defaultRowHeight;e._rowRangeHeightsMap.get("$0$"+(e.rowCount-1))&&(i=e._rowRangeHeightsMap.get("$0$"+(e.rowCount-1))/e.rowCount);return Math.min(Math.ceil(t/i),e.rowCount-1)}(t,e),o=e.getRowsHeight(0,r);return t>=o?((r,o)=>{let n=o-e.getRowHeight(r);const{rowCount:s}=e.internalProps;for(let o=r;o<s;o++){const r=e.getRowHeight(o),s=n+r;if(i(n)<=i(t)&&i(t)<i(s))return{top:n,row:o,bottom:s,height:r};n=s}return null})(r,o):((r,o)=>{let n=o;for(let o=r;o>=0;o--){const r=e.getRowHeight(o),s=n-r;if(i(s)<=i(t)&&i(t)<i(n))return{top:s,row:o,bottom:n,height:r};n=s}return null})(r,o)}function ek(t,e,i){if(0===t)return{left:0,col:0,right:0,width:0};if(t-=i.tableX,e&&t>i.tableNoFrameWidth-i.getRightFrozenColsWidth()&&t<i.tableNoFrameWidth&&t<=i.getAllColsWidth())for(let e=0;e<i.rightFrozenColCount;e++)if(t>i.tableNoFrameWidth-i.getColsWidth(i.colCount-e-1,i.colCount-1))return{col:i.colCount-e-1,left:void 0,right:void 0,width:void 0};return QH(t,i)}function ik(t,e,i){if(0===t)return{top:0,row:0,bottom:0,height:0};if(t-=i.tableY,e&&t>i.tableNoFrameHeight-i.getBottomFrozenRowsHeight()&&t<i.tableNoFrameHeight)for(let e=0;e<i.rightFrozenColCount;e++)if(t>i.tableNoFrameHeight-i.getRowsHeight(i.rowCount-e-1,i.rowCount-1))return{row:i.rowCount-e-1,top:void 0,bottom:void 0,height:void 0};return tk(t,i)}function rk(t){return 2===t.length&<(t[0])&<(t[1])&&t[1]>=t[0]}function ok(t){const e=t[1]-t[0],i=t[1]*t[0]<0;let r=t[0]<=0?0-t[0]:0,o=t[1]>0?t[1]-0:0;return 0===e?t[0]<0?(r=1,o=0):t[0]>0&&(r=0,o=1):(r/=e,o/=e),{total:e,negative:r,positive:o,includeZero:i,domain:t,extendable_min:!0,extendable_max:!0}}function nk(t,e){const{positive:i,negative:r,extendable_min:o,extendable_max:n,domain:s}=t,{positive:a,negative:l,extendable_min:h,extendable_max:c,domain:d}=e;if(a>0){if(!h)return!1;let t=r/i;n&&(t=r/Math.max(i,a),s[1]=-s[0]/t),d[0]=-d[1]*t}else if(l>0){if(!c)return!1;let t=i/r;o&&(t=i/Math.max(r,r),s[0]=-s[1]/t),d[1]=-d[0]*t}return!0}function sk(t,e){const{extendable_min:i,extendable_max:r,domain:o}=t,{positive:n,negative:s,domain:a}=e;return(0!==n||0!==s)&&(!(n>0&&!r)&&(!(s>0&&!i)&&(o[0]=a[0],o[1]=a[1],!0)))}function ak(t,e){const{positive:i,negative:r,extendable_max:o,domain:n}=t,{positive:s,negative:a,extendable_min:l,domain:h}=e;if(o&&l){const t=Math.max(r,a)/Math.max(i,s);n[1]=-n[0]/t,h[0]=-h[1]*t}else if(l){const t=r/i;h[0]=-h[1]*t}else{if(!o)return!1;{const t=a/s;n[1]=-n[0]/t}}return!0}function lk(t,e){const{extendable_min:i,domain:r}=t,{extendable_max:o,domain:n}=e;return!(!i||!o)&&(r[0]=-r[1],n[1]=-n[0],!0)}function hk(t,e,i,r){return 0!==r&&t?()=>t.map((t=>{const r=(t-e.min)/(e.max-e.min),o=(i.max-i.min)*r+i.min;return Math.round(100*o)/100})):void 0}function ck(t,e,i){if(i._table.isPivotChart())if(i.indicatorsAsCol){if(i.hasTwoIndicatorAxes&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){const r=bk("top",t,e+1,t,i.columnHeaderLevelCount-1,t,e,1,i);if(!r)return;const o=tA(IR("padding",i._table._getCellStyle(t,e+1),t,e+1,i._table)),{range:n,ticks:s,axisOption:a,targetTicks:l,targetRange:h,index:c,theme:d}=r;return at(a?.min)&&(n.min=a.min,n.min>0&&(a.zero=!1)),at(a?.max)&&(n.max=a.max,n.max<0&&(a.zero=!1)),_t({range:n},a,{orient:"top",type:a?.type||"linear",label:{flush:!0},tick:{tickMode:hk(l,h,n,c)},__ticksForVTable:s,__vtableChartTheme:d,__vtablePadding:o})}if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){const r=i.getIndicatorKeyInChartSpec(t,e);let o=null;r?.forEach((t=>{const e=i.getIndicatorInfo(t);e&&(o=e)}));const n=bk("bottom",t,e-1,t,e,t,e,0,i);if(!n)return;const s=tA(IR("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table)),{range:a,ticks:l,axisOption:h,index:c,targetTicks:d,targetRange:u,theme:g}=n;return at(h?.min)&&(a.min=h.min,a.min>0&&(h.zero=!1)),at(h?.max)&&(a.max=h.max,a.max<0&&(h.zero=!1)),_t({title:{visible:!0,text:o?.title},range:a},h,{orient:"bottom",type:h?.type||"linear",label:{flush:!0},tick:{tickMode:hk(d,u,a,c)},__ticksForVTable:l,__vtableChartTheme:g,__vtablePadding:s})}if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){let r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);ot(r)&&(r=r[0]);const o=(i.dataset.collectedValues[r]??[])[i.getRowKeysPath(t,e)??""]??[],{axisOption:n,theme:s,chartType:a}=dk(t+1,e,"left",i);if(!1===n?.visible)return;const l=tA(IR("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),h=i.getRawChartSpec(t+1,e);return _t({domain:"linear"===n?.type?void 0:Array.from(o),range:"linear"===n?.type?o:void 0,title:{autoRotate:!0}},n,{orient:"left",type:n?.type??"band",__vtableChartTheme:s,inverse:fk(n,"horizontal"===(h?.direction??("scatter"===a?"vertical":"horizontal"))),__vtablePadding:l})}}else{if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){const r=i.getIndicatorKeyInChartSpec(t,e);let o=null;r?.forEach((t=>{const e=i.getIndicatorInfo(t);e&&(o=e)}));const n=bk("left",t+1,e,t,e,t,e,0,i);if(!n)return;const s=tA(IR("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),{range:a,ticks:l,axisOption:h,index:c,targetTicks:d,targetRange:u,theme:g}=n;return at(h?.min)&&(a.min=h.min,a.min>0&&(h.zero=!1)),at(h?.max)&&(a.max=h.max,a.max<0&&(h.zero=!1)),_t({title:{visible:!0,text:o?.title,autoRotate:!0},range:a},h,{orient:"left",type:h?.type||"linear",label:{flush:!0},tick:{tickMode:hk(d,u,a,c)},__ticksForVTable:l,__vtableChartTheme:g,__vtablePadding:s})}if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){const r=bk("right",t-1,e,i.rowHeaderLevelCount-1,e,t,e,1,i);if(!r)return;const o=tA(IR("padding",i._table._getCellStyle(t-1,e),t-1,e,i._table)),{range:n,ticks:s,axisOption:a,index:l,targetTicks:h,targetRange:c,theme:d}=r;return at(a?.min)&&(n.min=a.min,n.min>0&&(a.zero=!1)),at(a?.max)&&(n.max=a.max,n.max<0&&(a.zero=!1)),_t({range:n,title:{autoRotate:!0}},a,{orient:"right",type:a?.type||"linear",label:{flush:!0},tick:{tickMode:hk(h,c,n,l)},__ticksForVTable:s,__vtableChartTheme:d,__vtablePadding:o})}if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){let r=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);ot(r)&&(r=r[0]);const o=i.dataset.collectedValues[r]??[],n=i.getColKeysPath(t,e),s=o?.[n??""]??[],{axisOption:a,isPercent:l,theme:h,chartType:c}=dk(t,e-1,"bottom",i);if(!1===a?.visible)return;const d=tA(IR("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table));return _t({domain:"linear"===a?.type?void 0:Array.from(s),range:"linear"===a?.type?s:void 0},a,{orient:"bottom",type:a?.type??"band",__vtableChartTheme:h,__vtablePadding:d})}}}function dk(t,e,i,r){const o=r.getRawChartSpec(t,e),n=o.axes??[];if(r._table.pivotChartAxes.forEach((t=>{-1===n.findIndex((e=>t.orient===e.orient))&&n.push(t)})),o&&ot(n)){const t=n.find((t=>t.orient===i));if(t){const{seriesIndex:e,seriesId:n}=t;let s,a;J(n)&&ot(o.series)?s=(ot(n)?n:[n]).map((t=>{const e=o.series.findIndex((e=>e.id===t));return e>=0&&(a=o.series[e]),e})):J(e)&&ot(o.series)&&(s=e);const{isZeroAlign:l,isTickAlign:h}=uk(o,i,r);return{axisOption:t,isPercent:o.percent,isZeroAlign:l,isTickAlign:h,seriesIndice:s,theme:o.theme,chartType:a?.type??o.type}}}const s=r._table.pivotChartAxes.find((t=>t.orient===i)),{isZeroAlign:a,isTickAlign:l}=uk(o,i,r);return{axisOption:s,isPercent:!1,isZeroAlign:a,isTickAlign:l,theme:o.theme,chartType:o.type}}function uk(t,e,i){const r=[];let o;"left"===e||"right"===e?r.push("left","right"):"top"!==e&&"bottom"!==e||r.push("top","bottom"),o=t&&ot(t.axes)?t.axes:i._table.pivotChartAxes;let n=!1,s=!1;if(ot(o)){const t=[];o.forEach((e=>{r.includes(e.orient)&&t.push(e)}));for(let e=0;e<t.length;e++){const i=t[e];i.sync&&i.sync.axisId&&t.find((t=>t.id===i.sync.axisId))&&(n=n||i.sync.zeroAlign,s=s||i.sync.tickAlign)}}return{isZeroAlign:n,isTickAlign:s}}function gk(t,e,i,r,o){if(ot(o)){const n={min:1/0,max:-1/0};for(let s=0;s<o.length;s++){const a=gk(t,e,i,r,o[s]);a&&(n.min=Math.min(n.min,a.min),n.max=Math.max(n.max,a.max))}return isFinite(n.min)&&isFinite(n.max)?n:null}let n=e?.[o];if(ot(n)&&(n=n[0]),!n)return null;const s=t[n],a=_t({},s?.[r??""]??{min:0,max:1});return a.positiveMax&&a.positiveMax>a.max&&(a.max=a.positiveMax),a.negativeMin&&a.negativeMin<a.min&&(a.min=a.negativeMin),a.min===a.max&&(a.min>0?a.min=0:a.max=0),a}var pk;function fk(t,e){let i=t?.inverse;var r;return e&&(r=t?.orient,"bottom"!==r&&"top"!==r)&&(i=!J(t?.inverse)||!t?.inverse),i}function mk(t,e,i,r){if(!ot(t.axes)||0===t.axes.length)return i&&r||!i&&!r;for(let e=0;e<t.axes.length;e++){const o=t.axes[e];if(!i&&r&&"bottom"===o.orient&&"linear"===o.type)return!0;if(i&&r&&"bottom"===o.orient&&"linear"!==o.type)return!0;if(!i&&!r&&"left"===o.orient&&"linear"!==o.type)return!0;if(i&&!r&&"left"===o.orient&&"linear"===o.type)return!0}if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const o=e[t];if(!i&&r&&"bottom"===o.orient&&"linear"===o.type)return!0;if(i&&r&&"bottom"===o.orient&&"linear"!==o.type)return!0;if(!i&&!r&&"left"===o.orient&&"linear"!==o.type)return!0;if(i&&!r&&"left"===o.orient&&"linear"===o.type)return!0}return i&&r||!i&&!r}function bk(t,e,i,r,o,n,s,a,l){const h=l.getIndicatorKeyInChartSpec(r,o);let c;c="top"===t||"bottom"===t?l.getColKeysPath(n,s):l.getRowKeysPath(n,s);const d=yk(e,i,a,t,h,c,l);if(!d)return;const u="bottom"===t?"top":"top"===t?"bottom":"left"===t?"right":"left",{targetRange:g,targetTicks:p}=wk(e,i,d.index,d.isZeroAlign,d.isTickAlign,d.range,h,u,c,l);if(0!==d.index&&p){const e=sx.getFunction("getAxisDomainRangeAndLabels"),{range:i,ticks:r}=e(d.range.min,d.range.max,d.axisOption,d.isZeroAlign,"bottom"===t||"top"===t?l._table.getColWidth(n)||l._table.tableNoFrameWidth:l._table.getRowHeight(s)||l._table.tableNoFrameHeight,{targetTicks:p,targetRange:g});d.range.min=i[0],d.range.max=i[1],d.ticks=r}return d.targetRange=g,d.targetTicks=p,d}function yk(t,e,i,r,o,n,s){const{axisOption:a,isPercent:l,isZeroAlign:h,isTickAlign:c,seriesIndice:d,theme:u,chartType:g}=dk(t,e,r,s),p=gk(s.dataset.collectedValues,o,h,n,d??i);if(!p)return;let f;if(l&&(p.min=p.min<0?-1:0,p.max=p.max>0?1:0),(a?.zero||p.min===p.max)&&(p.min=Math.min(p.min,0),p.max=Math.max(p.max,0)),a?.nice||c){const i=sx.getFunction("getAxisDomainRangeAndLabels"),{range:o,ticks:n}=i(p.min,p.max,a,h,"bottom"===r||"top"===r?s._table.getColWidth(t)||s._table.tableNoFrameWidth:s._table.getRowHeight(e)||s._table.tableNoFrameHeight);a?.nice&&(p.min=o[0],p.max=o[1]),f=n}return at(a?.min)&&(p.min=a.min),at(a?.max)&&(p.max=a.max),{index:d??i,range:p,ticks:f,isZeroAlign:h,isTickAlign:c,axisOption:a,theme:u,chartType:g}}function Ck(t,e,i,r,o,n,s,a){const{range:l,isZeroAlign:h,isTickAlign:c,axisOption:d}=yk(t,e,i,r,n,s,a),{targetRange:u,targetTicks:g}=wk(t,e,i,h,c,l,n,o,s,a);if(0!==i&&g){const i=sx.getFunction("getAxisDomainRangeAndLabels"),{range:o,ticks:n}=i(l.min,l.max,_t({},d,{nice:!0,tick:{forceTickCount:g.length}}),h,"bottom"===r||"top"===r?a._table.getColWidth(t)||a._table.tableNoFrameWidth:a._table.getRowHeight(e)||a._table.tableNoFrameHeight,{targetTicks:g,targetRange:u});l.min=o[0],l.max=o[1]}return{axisOption:d,range:l,targetTicks:g,targetRange:u}}function wk(t,e,i,r,o,n,s,a,l,h){let c,d;if(!r&&!o)return{targetTicks:c,targetRange:d};const u=yk(t,e,s.length-1-i,a,s,l,h);if(u){const{range:s,ticks:l}=u;if(d=s,r){const t=function(t,e){const i=[t.min,t.max],r=[e.min,e.max];if(!rk(i)||!rk(r))return;const o=ok(i),n=ok(r),{positive:s,negative:a,extendable_min:l,extendable_max:h,includeZero:c}=o,{positive:d,negative:u,extendable_min:g,extendable_max:p,includeZero:f}=n;if(0===s&&0===a){if(!sk(o,n))return}else if(0===d&&0===u){if(!sk(n,o))return}else if(c||f)if(c&&!f){if(!nk(o,n))return}else if(f&&!c){if(!nk(n,o))return}else{if(a===u)return;if(a>u){if(!ak(o,n))return}else if(!ak(n,o))return}else{if(0===a&&0===d){if(!lk(o,n))return}else if(0===u&&0===s&&!lk(n,o))return;if(0===a&&0===u)if(0===i[0]&&r[0]>0){if(!g)return;r[0]=0}else{if(!(0===r[0]&&i[0]>0))return;if(!l)return;i[0]=0}if(0===s&&0===d)if(0===i[1]&&r[1]>0){if(!p)return;r[1]=0}else{if(!(0===r[1]&&i[1]>0))return;if(!h)return;i[1]=0}}return{range1:i,range2:r}}(n,s);t&&(n.min=t.range1[0],n.max=t.range1[1],d.min=t.range2[0],d.max=t.range2[1])}o&&(c=r?function(t,e,i,r,o,n){const s=sx.getFunction("getAxisDomainRangeAndLabels"),{axisOption:a,isZeroAlign:l}=dk(e,i,0===r?"right":"left",n),{ticks:h}=s(t.min,t.max,a,l,"bottom"===o||"top"===o?n._table.getColWidth(e)||n._table.tableNoFrameWidth:n._table.getRowHeight(i)||n._table.tableNoFrameHeight);return h}(d,t,e,i,a,h):l)}return{targetTicks:c,targetRange:d}}!function(t){t.vertical="vertical",t.horizontal="horizontal"}(pk||(pk={}));class vk{table;customCellStyle;customCellStyleArrangement;constructor(t,e,i){this.table=t,this.customCellStyle=e,this.customCellStyleArrangement=i}getCustomCellStyle(t,e){const i=this.getCustomCellStyleIds(t,e);if(i.length){const r=[];return i.forEach((i=>{const o=this.getCustomCellStyleOption(i);if(q(o?.style)){const i=o.style({col:t,row:e,table:this.table,value:this.table.getCellValue(t,e),dataValue:this.table.getCellOriginValue(t,e),cellHeaderPaths:this.table.getCellHeaderPaths(t,e)});r.push(i)}else o?.style&&r.push(o.style)})),_t({},...r)}}getCustomCellStyleIds(t,e){const i=[],r=this.table.getCellRange(t,e);for(let t=r.start.col;t<=r.end.col;t++)for(let e=r.start.row;e<=r.end.row;e++)this.customCellStyleArrangement.forEach((r=>{r.cellPosition.range?r.cellPosition.range.start.col<=t&&r.cellPosition.range.end.col>=t&&r.cellPosition.range.start.row<=e&&r.cellPosition.range.end.row>=e&&i.push(r.customStyleId):r.cellPosition.col===t&&r.cellPosition.row===e&&i.push(r.customStyleId)}));return i}getCustomCellStyleOption(t){return this.customCellStyle.find((e=>e.id===t))}registerCustomCellStyle(t,e){const i=this.customCellStyle.findIndex((e=>e.id===t));-1===i?this.customCellStyle.push({id:t,style:e}):this.customCellStyle[i]={id:t,style:e},this.customCellStyleArrangement.forEach((e=>{const i=e.cellPosition;if(e.customStyleId===t)if(i.range)for(let t=Math.max(0,i.range.start.col);t<=Math.min(this.table.colCount-1,i.range.end.col);t++)for(let e=Math.max(0,i.range.start.row);e<=Math.min(this.table.rowCount-1,i.range.end.row);e++)this.table.scenegraph.updateCellContent(t,e);else this.table.scenegraph.updateCellContent(i.col,i.row)})),this.table.scenegraph.updateNextFrame()}arrangeCustomCellStyle(t,e,i){const r=this.customCellStyleArrangement.findIndex((e=>e.cellPosition.range&&t.range?e.cellPosition.range.start.col===t.range.start.col&&e.cellPosition.range.start.row===t.range.start.row&&e.cellPosition.range.end.col===t.range.end.col&&e.cellPosition.range.end.row===t.range.end.row:e.cellPosition.col===t.col&&e.cellPosition.row===t.row));if(-1===r&&!e)return;if(-1===r&&e)this.customCellStyleArrangement.push({cellPosition:{col:t.col,row:t.row,range:t.range},customStyleId:e});else{if(this.customCellStyleArrangement[r].customStyleId===e)return;e?this.customCellStyleArrangement[r].customStyleId=e:this.customCellStyleArrangement.splice(r,1)}const o=this.getCustomCellStyleOption(e)?.style;if(o){i=!0;for(const t in o)if(-1===$C.indexOf(t)){i=!1;break}}if(t.range)for(let e=Math.max(0,t.range.start.col);e<=Math.min(this.table.colCount-1,t.range.end.col);e++)for(let r=Math.max(0,t.range.start.row);r<=Math.min(this.table.rowCount-1,t.range.end.row);r++){const t=this.table.getCellRange(e,r);for(let e=t.start.col;e<=t.end.col;e++)for(let r=t.start.row;r<=t.end.row;r++)this.table.scenegraph.updateCellContent(e,r,i)}else this.table.scenegraph.updateCellContent(t.col,t.row,i);this.table.scenegraph.updateNextFrame()}updateCustomCell(t,e){this.customCellStyle.length=0,this.customCellStyleArrangement.length=0,t.forEach((t=>{this.registerCustomCellStyle(t.id,t.style)})),e.forEach((t=>{this.arrangeCustomCellStyle(t.cellPosition,t.customStyleId)}))}hasCustomCellStyle(t){return this.customCellStyle.some((e=>e.id===t))}}function xk(t,e){t=t.clone();for(const i in e){const r=e[i];J(r)&&(t[`_${i}`]=r)}return t}const _k={};function Sk(t){return Math.floor(t)===t}class Ak extends Vo{onUpdate(t,e,i){if(this.from.x!==this.to.x){const i=t?this.to.x:this.from.x+Math.floor((this.to.x-this.from.x)*e);this.params.table.scrollLeft=i}if(this.from.y!==this.to.y){const i=t?this.to.y:this.from.y+Math.floor((this.to.y-this.from.y)*e);this.params.table.scrollTop=i}}}class Rk{table;timeline;ticker;animation;tempGraphic;constructor(t){this.table=t,this.timeline=new No,this.ticker=new Do,this.ticker.addTimeline(this.timeline);this.ticker.setFPS(60),this.tempGraphic=Jc({})}scrollTo(t,i){const r={x:this.table.scrollLeft,y:this.table.scrollTop},{col:o,row:n}=t;let s,a,l=o,h=n;at(o)&&!Sk(o)&&(l=Math.floor(o),s=o-l),at(n)&&!Sk(n)&&(h=Math.floor(n),a=n-h);const c=this.table.getCellRect(l??0,h??0);let{left:d,top:u}=c;s&&(d+=s*c.width),a&&(u+=a*c.height);const g={x:at(o)?d-this.table.getFrozenColsWidth():this.table.scrollLeft,y:at(n)?u-this.table.getFrozenRowsHeight():this.table.scrollTop},p=Y(i)?i?3e3:0:i?.duration??3e3,f=Y(i)?i?"linear":"":i?.easing??"linear";new Uo(e.GenAutoIncrementId(),this.timeline).bind(this.tempGraphic).play(new Ak(r,g,p,f,{graphic:this.tempGraphic,table:this.table})),this.ticker.start()}clear(){this.timeline.clear(),this.ticker.stop()}}function Tk(t){return q(t)?t:ot(t)?(e,i)=>t.find((t=>t.range.start.col<=e&&t.range.end.col>=e&&t.range.start.row<=i&&t.range.end.row>=i)):void 0}const{toBoxArray:Bk}=vv,{isTouchEvent:Mk}=wv,Pk=/^\$(\d+)\$(\d+)$/;!function(){if("node"===Ew.mode)return;const t=document.createElement("style");t.id="vtable-style-styleSheet",t.textContent="\n.vtable .input-container {\n\tposition: absolute;\n\ttop:0px;\n}\n.vtable .table-scrollable {\n\tposition: absolute;\n\toverflow: scroll;\n}\n.vtable .table-scrollable::-webkit-scrollbar-button{\n\tbackground-color: transparent;\n}\n.vtable .table-scrollable::-webkit-scrollbar-track-piece{\n\tbackground-color: transparent;\n}\n.vtable .table-scrollable::-webkit-scrollbar-corner {\n\tbackground-color: transparent;\n}\n.vtable .table-scrollable::-webkit-scrollbar-thumb {\n\tborder-radius : 4px;\n\tbackground-color : rgba(100, 100, 100, .5);\n}\n\n.vtable .table-scroll-end-point {\n\topacity: 0;\n\tposition: relative;\n}\n.vtable {\n\t/* 设置overflow: auto 应该是为了滚动条的某个问题 但设置了auto之后 dom的下拉菜单只能显示在vtable节点中 超出会截断;现在去掉auto 暂时滚动条的问题没有发现 */\n\t/* overflow: auto; */\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: left;\n -webkit-font-smoothing:auto;\n\n overflow: hidden; // for react-vtable dom custom element\n}\n\n.vtable-gantt {\n\t/* 设置overflow: auto 应该是为了滚动条的某个问题 但设置了auto之后 dom的下拉菜单只能显示在vtable节点中 超出会截断;现在去掉auto 暂时滚动条的问题没有发现 */\n\t/* overflow: auto; */\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: left;\n -webkit-font-smoothing:auto;\n\n overflow: hidden; // for react-vtable dom custom element\n}\n.vtable .table-component-container {\n pointer-events: none;\n overflow: hidden;\n position: absolute;\n top: 0px;\n left: 0px;\n}\n.vtable > canvas {\n\tposition: absolute;\n\twidth: 0;\n\theight: 0;\n}\n.vtable .table-focus-control {\n\tposition: relative !important;\n\twidth: 1px;\n\theight: 1px;\n\topacity: 0;\n\tpadding: 0;\n\tmargin: 0;\n\tbox-sizing: border-box;\n\tpointer-events: none;\n\tmax-width: 500px;\n\tmax-height: 500px;\n\tfloat: none !important;\n}\n.vtable input.table-focus-control::-ms-clear {\n\tvisibility: hidden;\n}\n.vtable input.table-focus-control.composition {\n\topacity: 1;\n\tmax-width: none;\n\tmax-height: none;\n}\n",document.head.appendChild(t)}();class Hk extends yw{internalProps;showFrozenIcon=!0;padding;globalDropDownMenu;tableNoFrameWidth;tableNoFrameHeight;tableX;tableY;_widthMode;_heightMode;_autoFillWidth;_autoFillHeight;_widthAdaptiveMode;_heightAdaptiveMode;customRender;canvasWidth;canvasHeight;_vDataSet;scenegraph;stateManager;eventManager;editorManager;animationManager;_pixelRatio;canvasSizeSeted;static get EVENT_TYPE(){return _v}options;version="1.17.2";pagination;id=`VTable${Date.now()}`;headerStyleCache;bodyStyleCache;bodyMergeTitleCache;bodyBottomStyleCache;container;isReleased=!1;_chartEventMap={};customCellStylePlugin;columnWidthComputeMode;reactCustomLayout;_hasAutoImageColumn;constructor(t,e={}){if(super(),!t&&"node"!==e.mode&&!e.canvas)throw new Error("vtable's container is undefined");!1===e.customConfig?.imageAnonymous&&(lu.isImageAnonymous=!1);const{frozenColCount:i=0,unfreezeAllOnExceedsMaxWidth:r,frozenRowCount:o,defaultRowHeight:n=40,defaultHeaderRowHeight:s,defaultColWidth:a=80,defaultHeaderColWidth:l,widthMode:h="standard",heightMode:c="standard",autoFillWidth:d=!1,autoFillHeight:u=!1,widthAdaptiveMode:g="only-body",heightAdaptiveMode:p="only-body",keyboardOptions:f,eventOptions:m,rowSeriesNumber:b,columnResizeMode:y,rowResizeMode:C="none",resize:w,dragHeaderMode:v,dragOrder:x,showFrozenIcon:_,allowFrozenColCount:S,padding:A,hover:R,menu:T,select:B,customRender:M,pixelRatio:P=$P,renderChartAsync:H,renderChartAsyncBatchCount:k,mode:L,modeParams:E,canvasWidth:F,canvasHeight:I,overscrollBehavior:z,limitMinWidth:O,limitMinHeight:D,clearDOM:W=!0}=e;this.container=t,this.options=e,this._widthMode=h,this._heightMode=c,this._widthAdaptiveMode=g,this._heightAdaptiveMode=p,this._autoFillWidth=d,this._autoFillHeight=u,this.customRender=M,this.padding={top:0,right:0,left:0,bottom:0},A&&("number"==typeof A?(this.padding.top=A,this.padding.left=A,this.padding.bottom=A,this.padding.right=A):(A.top&&(this.padding.top=A.top),A.bottom&&(this.padding.bottom=A.bottom),A.left&&(this.padding.left=A.left),A.right&&(this.padding.right=A.right))),J(I)&&J(F)&&(this.canvasSizeSeted=!0),this.tableNoFrameWidth=0,this.tableNoFrameHeight=0,this.canvasWidth=at(F)?F:void 0,this.canvasHeight=at(I)?I:void 0,this.columnWidthComputeMode=e.columnWidthComputeMode??"normal";const N=this.internalProps={};void 0!==_&&(this.showFrozenIcon=_),"number"==typeof S&&S<=0&&(this.showFrozenIcon=!1),this.options.canvas?("node"!==Ew.mode&&(N.element=this.options.canvas.parentElement,N.element.style.position="relative"),N.focusControl=new IH(this,N.element),N.canvas=this.options.canvas,N.context=N.canvas.getContext("2d")):"node"!==Ew.mode&&(N.element=function(t,e="vtable"){const i=document.createElement("div");i.setAttribute("tabindex","0"),i.classList.add(e),i.style.outline="none",i.style.margin=`${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`;const r=(i.offsetWidth||i.parentElement?.offsetWidth||1)-1,o=(i.offsetHeight||i.parentElement?.offsetHeight||1)-1;return i.style.width=r&&r-t.left-t.right+"px"||"0px",i.style.height=o&&o-t.top-t.bottom+"px"||"0px",i}(this.padding),N.focusControl=new IH(this,N.element),N.canvas=document.createElement("canvas"),N.element.appendChild(N.canvas),N.context=N.canvas.getContext("2d"),e.customConfig?.createReactContainer&&function(t){const{internalProps:e}=t;e.bodyDomContainer=document.createElement("div"),e.bodyDomContainer.id="vtable-body-dom-container",e.bodyDomContainer.classList.add("table-component-container"),e.element.appendChild(e.bodyDomContainer),e.headerDomContainer=document.createElement("div"),e.headerDomContainer.id="vtable-header-dom-container",e.headerDomContainer.classList.add("table-component-container"),e.element.appendChild(e.headerDomContainer),e.frozenBodyDomContainer=document.createElement("div"),e.frozenBodyDomContainer.id="vtable-frozen-body-dom-container",e.frozenBodyDomContainer.classList.add("table-component-container"),e.element.appendChild(e.frozenBodyDomContainer),e.frozenHeaderDomContainer=document.createElement("div"),e.frozenHeaderDomContainer.id="vtable-frozen-header-dom-container",e.frozenHeaderDomContainer.classList.add("table-component-container"),e.element.appendChild(e.frozenHeaderDomContainer),e.rightFrozenBodyDomContainer=document.createElement("div"),e.rightFrozenBodyDomContainer.id="vtable-right-frozen-body-dom-container",e.rightFrozenBodyDomContainer.classList.add("table-component-container"),e.element.appendChild(e.rightFrozenBodyDomContainer),e.rightFrozenHeaderDomContainer=document.createElement("div"),e.rightFrozenHeaderDomContainer.id="vtable-right-frozen-header-dom-container",e.rightFrozenHeaderDomContainer.classList.add("table-component-container"),e.element.appendChild(e.rightFrozenHeaderDomContainer),e.frozenBottomDomContainer=document.createElement("div"),e.frozenBottomDomContainer.id="vtable-frozen-bottom-dom-container",e.frozenBottomDomContainer.classList.add("table-component-container"),e.element.appendChild(e.frozenBottomDomContainer),e.bottomDomContainer=document.createElement("div"),e.bottomDomContainer.id="vtable-bottom-dom-container",e.bottomDomContainer.classList.add("table-component-container"),e.element.appendChild(e.bottomDomContainer),e.rightFrozenBottomDomContainer=document.createElement("div"),e.rightFrozenBottomDomContainer.id="vtable-right-frozen-bottom-dom-container",e.rightFrozenBottomDomContainer.classList.add("table-component-container"),e.element.appendChild(e.rightFrozenBottomDomContainer)}(this)),N.handler=new Bv,at(this.options.resizeTime)&&(N.handler.resizeTime=this.options.resizeTime),N.pixelRatio=P,N.frozenColCount=i,N.frozenRowCount=o,N.unfreezeAllOnExceedsMaxWidth=r??!0,N.defaultRowHeight=n,N.defaultHeaderRowHeight=s??n,N.defaultColWidth=a,N.defaultHeaderColWidth=l??a,N.keyboardOptions=f,N.eventOptions=m,N.rowSeriesNumber=b,N.columnResizeMode=w?.columnResizeMode??y,N.rowResizeMode=w?.rowResizeMode??C,N.dragHeaderMode=x?.dragHeaderMode??v??"none",N.renderChartAsync=H,aB(k),N.overscrollBehavior=z??"auto",N._rowHeightsMap=new zH(this),N._rowRangeHeightsMap=new Map,N._colRangeWidthsMap=new Map,N._widthResizedColMap=new Set,N._heightResizedRowMap=new Set,this.colWidthsMap=new Pv,this.colContentWidthsMap=new Pv,this.colWidthsLimit={};const G=this;if(N.calcWidthContext={_:N,get full(){return"node"===Ew.mode?G.canvasWidth/(P??1):this._.canvas.width/(this._.context.pixelRatio??window.devicePixelRatio)}},N.cellTextOverflows={},N.focusedTable=!1,N.theme=rx.of(e.theme??rx.DEFAULT),N.theme.isPivot=this.isPivotTable(),PR(N.theme.functionalIconsStyle),t?(W&&(t.innerHTML=""),t.appendChild(N.element),this._updateSize()):this._updateSize(),N.bodyHelper=new sH(this),N.headerHelper=new FH(this),N.rowSeriesNumberHelper=new DH(this),N.autoWrapText=e.autoWrapText,N.enableLineBreak=e.enableLineBreak,N.allowFrozenColCount=e.allowFrozenColCount??0,N.limitMaxAutoWidth=e.limitMaxAutoWidth??450,N.limitMinWidth=null!=O?"number"==typeof O?O:O?10:0:10,N.limitMinHeight=null!=D?"number"==typeof D?D:D?10:0:10,this.scenegraph=new yP(this),this.stateManager=new FP(this),this.eventManager=new iH(this),this.animationManager=new Rk(this),e.legends){N.legends=[];const t=sx.getFunction("createLegend");if(Array.isArray(e.legends)){for(let i=0;i<e.legends.length;i++)N.legends.push(t(e.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else N.legends.push(t(e.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if(N.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:qC.bottom},e.tooltip),"html"===N.tooltip.renderMode){const t=sx.getComponent("tooltipHandler");t&&(N.tooltipHandler=new t(this,N.tooltip.confine))}if(N.menu=Object.assign({renderMode:"html"},e.menu),Array.isArray(e.menu?.dropDownMenuHighlight)&&this.setDropDownMenuHighlight(e.menu?.dropDownMenuHighlight),(Array.isArray(e.menu?.defaultHeaderMenuItems)||"function"==typeof e.menu?.defaultHeaderMenuItems)&&(this.globalDropDownMenu=e.menu.defaultHeaderMenuItems),"html"===N.menu.renderMode){const t=sx.getComponent("menuHandler");N.menuHandler=new t(this)}this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyMergeTitleCache=new Map,this.bodyBottomStyleCache=new Map,N.stick={changedCells:new Map},N.customMergeCell=Tk(e.customMergeCell);const V=sx.getComponent("customCellStylePlugin");V&&(this.customCellStylePlugin=new V(this,e.customCellStyle??[],e.customCellStyleArrangement??[])),this._adjustCanvasSizeByOption()}_adjustCanvasSizeByOption(){"auto"!==this.options.canvasHeight&&"auto"!==this.options.canvasWidth||setTimeout((()=>{let t,e;if("auto"===this.options.canvasHeight){let t=0;if(this.theme.frameStyle?.innerBorder){t+=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0])[1]??0}else if(this.theme.frameStyle){const e=Bk(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0]);t+=(e[0]??0)+(i[0]??0)+((e[2]??0)+(i[2]??0))}e=Math.min(this.options.maxCanvasHeight?this.options.maxCanvasHeight-t:2e4,this.getAllRowsHeight())+t}else e=this.canvasHeight;if("auto"===this.options.canvasWidth){let e=0;if(this.theme.frameStyle?.innerBorder){e+=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0])[2]??0}else if(this.theme.frameStyle){const t=Bk(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0]);e+=(t[1]??0)+(i[1]??0)+((t[3]??0)+(i[3]??0))}t=Math.min(this.options.maxCanvasWidth?this.options.maxCanvasWidth-e:2e4,this.getAllColsWidth())+e}else t=this.canvasWidth;this.setCanvasSize(t,e)}),0)}throttleInvalidate=function(t,e){let i=null;return function(...r){i||(i=setTimeout((()=>{t.apply(this,r),i=null}),e))}}(this.render.bind(this),200);getContainer(){return this.container}getElement(){return this.internalProps.element}get canvas(){return this.internalProps.canvas}setCanvasSize(t,e){this.canvasWidth=t,this.canvasHeight=e,this.options.canvasHeight=e,this.options.canvasWidth=t,this.resize()}resize(){this._updateSize(),this.internalProps.legends?.forEach((t=>{t?.resize()})),this.internalProps.title&&this.internalProps.title.resize(),this.internalProps.emptyTip&&this.internalProps.emptyTip.resize(),this.scenegraph.resize()}get rowCount(){return this.internalProps.rowCount}set rowCount(t){this.internalProps.rowCount=t}get colCount(){return this.internalProps.colCount??0}set colCount(t){this.internalProps.colCount=t}get frozenColCount(){return this.internalProps?.layoutMap?.frozenColCount??this.internalProps?.frozenColCount??0}set frozenColCount(t){t>=this.colCount&&(t=0),this.internalProps.frozenColCount=t,this.options.frozenColCount=t;const e=this._getMaxFrozenWidth();if(this.getColsWidth(0,t-1)>e)if(this.internalProps.unfreezeAllOnExceedsMaxWidth)this.internalProps.frozenColCount=0;else{const e=this._getComputedFrozenColCount(t);this.internalProps.frozenColCount=e}this.stateManager.setFrozenCol(this.internalProps.frozenColCount)}setFrozenColCount(t){t>=this.colCount&&(t=0),this.internalProps.frozenColCount=t,this.options.frozenColCount=t;const e=this._getMaxFrozenWidth();if(this.getColsWidth(0,t-1)>e)if(this.internalProps.unfreezeAllOnExceedsMaxWidth)this.internalProps.frozenColCount=0;else{const e=this._getComputedFrozenColCount(t);this.internalProps.frozenColCount=e}this.stateManager.setFrozenCol(this.internalProps.frozenColCount)}_setFrozenColCount(t){t>=this.colCount&&(t=0),this.internalProps.frozenColCount=t}_resetFrozenColCount(){this.options.frozenColCount&&(this.tableNoFrameWidth-this.getColsWidth(0,this.options.frozenColCount-1)<=120?this._setFrozenColCount(0):this.frozenColCount!==this.options.frozenColCount&&this._setFrozenColCount(this.options.frozenColCount))}get frozenRowCount(){return this.internalProps?.layoutMap?.frozenRowCount??this.internalProps?.frozenRowCount??0}set frozenRowCount(t){this.internalProps.frozenRowCount=t,this.stateManager.setFrozenRow(this.internalProps.frozenRowCount)}get rightFrozenColCount(){return this.internalProps?.layoutMap?.rightFrozenColCount??this.internalProps?.rightFrozenColCount??0}set rightFrozenColCount(t){this.scenegraph.dealWidthRightFrozen(t)}get bottomFrozenRowCount(){return this.internalProps?.layoutMap?.bottomFrozenRowCount??this.internalProps?.bottomFrozenRowCount??0}set bottomFrozenRowCount(t){this.scenegraph.dealWidthBottomFrozen(t)}get defaultRowHeight(){return at(this.internalProps.defaultRowHeight)?this.internalProps.defaultRowHeight:40}set defaultRowHeight(t){this.internalProps.defaultRowHeight=t,this.options.defaultRowHeight=t}get defaultHeaderRowHeight(){return this.internalProps.defaultHeaderRowHeight}set defaultHeaderRowHeight(t){this.internalProps.defaultHeaderRowHeight=t,this.options.defaultHeaderRowHeight=t}get defaultColWidth(){return this.internalProps.defaultColWidth}set defaultColWidth(t){this.internalProps.defaultColWidth=t,this.options.defaultColWidth=t}get defaultHeaderColWidth(){return this.internalProps.defaultHeaderColWidth}set defaultHeaderColWidth(t){this.internalProps.defaultHeaderColWidth=t,this.options.defaultHeaderColWidth=t}get colWidthsMap(){return this.internalProps._colWidthsMap}set colWidthsMap(t){this.internalProps._colWidthsMap=t}get colContentWidthsMap(){return this.internalProps._colContentWidthsMap}set colContentWidthsMap(t){this.internalProps._colContentWidthsMap=t}get _colRangeWidthsMap(){return this.internalProps._colRangeWidthsMap}set _colRangeWidthsMap(t){this.internalProps._colRangeWidthsMap=t}get _rowRangeHeightsMap(){return this.internalProps._rowRangeHeightsMap}set _rowRangeHeightsMap(t){this.internalProps._rowRangeHeightsMap=t}get rowHeightsMap(){return this.internalProps._rowHeightsMap}set rowHeightsMap(t){this.internalProps._rowHeightsMap=t}get colWidthsLimit(){return this.internalProps._colWidthsLimit}set colWidthsLimit(t){this.internalProps._colWidthsLimit=t}get keyboardOptions(){return this.internalProps.keyboardOptions??null}set keyboardOptions(t){this.internalProps.keyboardOptions=t??void 0}get eventOptions(){return this.internalProps.eventOptions??null}set eventOptions(t){this.internalProps.eventOptions=t??void 0}get widthMode(){return this._widthMode}set widthMode(t){t!==this._widthMode&&(this._widthMode=t,this.options.widthMode=t)}get heightMode(){return this._heightMode}set heightMode(t){t!==this._heightMode&&(this._heightMode=t,this.options.heightMode=t)}get autoFillWidth(){return this._autoFillWidth}set autoFillWidth(t){t!==this._autoFillWidth&&(this._autoFillWidth=t)}get autoFillHeight(){return this._autoFillHeight}set autoFillHeight(t){t!==this._autoFillHeight&&(this._autoFillHeight=t)}get widthAdaptiveMode(){return this._widthAdaptiveMode}set widthAdaptiveMode(t){t!==this._widthAdaptiveMode&&(this._widthAdaptiveMode=t)}get heightAdaptiveMode(){return this._heightAdaptiveMode}set heightAdaptiveMode(t){t!==this._heightAdaptiveMode&&(this._heightAdaptiveMode=t)}_colWidthDefineToPxWidth(t){return"auto"===t?0:IA(this,t)}_getMaxFrozenWidth(){return IA(this,this.options.maxFrozenWidth??"80%")}_getComputedFrozenColCount(t){const e=this._getMaxFrozenWidth();let i=t;for(;this.getColsWidth(0,i-1)>e&&(i--,!(i<=0)););return i}_getColWidthLimits(t){const e=this.colWidthsLimit[t];if(!e)return null;const i={};return e.min&&(i.min=IA(this,e.min),i.minDef=e.min),e.max&&(i.max=IA(this,e.max),i.maxDef=e.max),i}_adjustColWidth(t,e){const i=this._getColWidthLimits(t);return Math.max(function(t,e){return t?t.min&&t.min>e?t.min:t.max&&t.max<e?t.max:e:e}(i,e),0)}get pixelRatio(){return this.internalProps.pixelRatio}setPixelRatio(t){if(t!==this.internalProps?.pixelRatio){this.internalProps.pixelRatio=t;const e=this.canvasWidth;this.internalProps.calcWidthContext={_:this.internalProps,get full(){return"node"===Ew.mode?e/(t??1):this._.canvas.width/(this._.context.pixelRatio??window.devicePixelRatio)}},this.scenegraph.setPixelRatio(t)}}_updateSize(){const{padding:t}=this;let e=0,i=0;if(this.tableX=0,this.tableY=0,this.options.canvas&&this.options.viewBox)e=this.options.viewBox.x2-this.options.viewBox.x1,i=this.options.viewBox.y2-this.options.viewBox.y1,this?.scenegraph?.stage&&(this.options.viewBox?this.scenegraph.stage.setViewBox(this.options.viewBox,!1):this.scenegraph.stage.resize(e,i));else if("browser"===Ew.mode){const r=this.getElement();let o=0,n=0;if(this.canvasSizeSeted)o=this.canvasWidth,n=this.canvasHeight;else if(r.parentElement){const t=r.parentElement.style||window.getComputedStyle(r.parentElement);o=r.parentElement.offsetWidth-parseInt(t.paddingLeft||"0px",10)-parseInt(t.paddingRight||"0px",10),n=r.parentElement.offsetHeight-parseInt(t.paddingTop||"0px",10)-parseInt(t.paddingBottom||"0px",20),o=(o??1)-(this.options.tableSizeAntiJitter?1:0),n=(n??1)-(this.options.tableSizeAntiJitter?1:0)}r.style.width=o&&o-t.left-t.right+"px"||"0px",r.style.height=n&&n-t.top-t.bottom+"px"||"0px";const{canvas:s}=this.internalProps;e=(s.parentElement?.offsetWidth??1)-(this.options.tableSizeAntiJitter?1:0),i=(s.parentElement?.offsetHeight??1)-(this.options.tableSizeAntiJitter?1:0),this?.scenegraph?.stage?this.scenegraph.stage.resize(e,i):(s.style.width="",s.style.height="",s.width=e,s.height=i,s.style.width=`${e}px`,s.style.height=`${i}px`)}else"node"===Ew.mode&&(e=this.canvasWidth-1,i=this.canvasHeight-1);const r=Math.floor(e-(o=this.getTheme().scrollStyle,o?.hoverOn||o?.verticalVisible&&"none"===o?.verticalVisible||!o?.verticalVisible&&"none"===o?.visible?0:o?.width??7));var o;const n=Math.floor(i-function(t){return t?.hoverOn||t?.horizontalVisible&&"none"===t?.horizontalVisible||!t?.horizontalVisible&&"none"===t?.visible?0:t?.width??7}(this.getTheme().scrollStyle));if(this.internalProps.theme?.frameStyle){const t=Bk(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),e=Bk(this.internalProps.theme.frameStyle?.shadowBlur??[0]);this.theme.frameStyle?.innerBorder?(this.tableX=0,this.tableY=0,this.tableNoFrameWidth=r-(e[1]??0),this.tableNoFrameHeight=n-(e[2]??0)):(this.tableX=(t[3]??0)+(e[3]??0),this.tableY=(t[0]??0)+(e[0]??0),this.tableNoFrameWidth=r-((t[1]??0)+(e[1]??0))-((t[3]??0)+(e[3]??0)),this.tableNoFrameHeight=n-((t[0]??0)+(e[0]??0))-((t[2]??0)+(e[2]??0)))}}updateViewBox(t){const e=this.options?.viewBox.x2??0-this.options?.viewBox.x1??0,i=this.options?.viewBox.y2??0-this.options?.viewBox.y1??0,r=t.x2-t.x1,o=t.y2-t.y1;this.options.viewBox=t,e!==r||i!==o?this.resize():this.scenegraph.stage.setViewBox(this.options.viewBox,!0)}setViewBoxTransform(t,e,i,r,o,n){this.internalProps.modifiedViewBoxTransform=!0,this.scenegraph.stage.window.setViewBoxTransform(t,e,i,r,o,n)}get rowHierarchyType(){return"grid"}getColsWidth(t,e){if(t>e)return 0;t=Math.max(t,0),e=Math.min(e,(this.colCount??1/0)-1);const i=this._colRangeWidthsMap.get(`$${t}$${e}`);if(null!=i)return i;const r=this._colRangeWidthsMap.get(`$${t}$${e-1}`);if(null!=r){const i=r+this.getColWidth(e);return t>=0&&e>=0&&!Number.isNaN(i)&&this._colRangeWidthsMap.set(`$${t}$${e}`,Math.round(i)),Math.round(i)}let o=0;for(let i=t;i<=e;i++)o+=this.getColWidth(i);return t>=0&&e>=0&&this._colRangeWidthsMap.set(`$${t}$${e}`,Math.round(o)),Math.round(o)}getRowHeight(t){if(J(this.rowHeightsMap.get(t))){if(this.options.customConfig?._disableColumnAndRowSizeRound){const e=this.rowHeightsMap.get(t);let i;return i=t<this.frozenRowCount?this.rowHeightsMap.getSumInRange(0,t):t>=this.rowCount-this.bottomFrozenRowCount?this.rowHeightsMap.getSumInRange(t,this.rowCount-1):this.rowHeightsMap.getSumInRange(this.frozenRowCount,t),i=Number(i.toFixed(2)),Number.isInteger(i)?Math.ceil(e):Math.floor(e)}return this.rowHeightsMap.get(t)}const e=this.getDefaultRowHeight(t);return at(e)?e:this.defaultRowHeight}getDefaultColumnWidth(t){return this.isRowHeader(t,0)||this.isCornerHeader(t,0)?Array.isArray(this.defaultHeaderColWidth)?this.defaultHeaderColWidth[t]??this.defaultColWidth:this.defaultHeaderColWidth:this.isRightFrozenColumn(t,this.columnHeaderLevelCount)&&this.isPivotTable()?Array.isArray(this.defaultHeaderColWidth)?this.defaultHeaderColWidth[this.rowHeaderLevelCount-this.rightFrozenColCount]??this.defaultColWidth:this.defaultHeaderColWidth:this.defaultColWidth}getDefaultRowHeight(t){return this.isColumnHeader(0,t)||this.isCornerHeader(0,t)||this.isSeriesNumberInHeader(0,t)?Array.isArray(this.defaultHeaderRowHeight)?this.defaultHeaderRowHeight[t]??this.internalProps.defaultRowHeight:this.defaultHeaderRowHeight:this.isBottomFrozenRow(t)?Array.isArray(this.defaultHeaderRowHeight)?this.defaultHeaderRowHeight[this.columnHeaderLevelCount>0?this.columnHeaderLevelCount-this.bottomFrozenRowCount:0]??this.internalProps.defaultRowHeight:this.defaultHeaderRowHeight:this.internalProps.defaultRowHeight}_setRowHeight(t,e,i){this.rowHeightsMap.put(t,this.options.customConfig?._disableColumnAndRowSizeRound?e:Math.round(e)),i&&this._clearRowRangeHeightsMap(t)}setRowHeight(t,e){this.scenegraph.setRowHeight(t,e),this.scenegraph.updateChartSizeForResizeRowHeight(t),this.internalProps._heightResizedRowMap.add(t)}getRowsHeight(t,e){if(t>e||0===this.rowCount)return 0;t=Math.max(t,0),e=Math.min(e,(this.rowCount??1/0)-1);let i=0;const r="auto"===this.options.defaultRowHeight;if("standard"!==this.heightMode||this.options.customComputeRowHeight||this.autoFillHeight||!this.internalProps.layoutMap||this.hasAutoImageColumn()||r||0!==this.internalProps._heightResizedRowMap.size){if(this.options.customConfig?._disableColumnAndRowSizeRound){const i=this.rowHeightsMap.getSumInRange(t,e);let r;return r=e<this.frozenRowCount?this.rowHeightsMap.getSumInRange(0,e):e>=this.rowCount-this.bottomFrozenRowCount?this.rowHeightsMap.getSumInRange(e,this.rowCount-1):this.rowHeightsMap.getSumInRange(this.frozenRowCount,e),r=Number(r.toFixed(2)),Number.isInteger(r)?Math.ceil(i):Math.floor(i)}i=this.rowHeightsMap.getSumInRange(t,e)}else{for(let r=t;r<Math.min(e+1,this.columnHeaderLevelCount);r++)i+=this.getRowHeight(r);e>=this.columnHeaderLevelCount&&(i+=this.defaultRowHeight*(Math.min(e,this.rowCount-this.bottomFrozenRowCount-1)-Math.max(this.columnHeaderLevelCount,t)+1));for(let t=this.rowCount-this.bottomFrozenRowCount;t<e+1;t++)i+=this.getRowHeight(t)}return Math.round(i)}getColWidthDefined(t){const{layoutMap:e}=this.internalProps;if("autoWidth"===this.widthMode)return"auto";const{width:i}=e?.getColumnWidthDefined(t)??{};return"number"==typeof i&&i<=0?0:i||this.getDefaultColumnWidth(t)}getColWidthDefinedNumber(t){const e=this.getColWidthDefined(t);return this._adjustColWidth(t,this._colWidthDefineToPxWidth(e))}isAutoRowHeight(t){return"autoHeight"===this.heightMode||(!!this.options.customComputeRowHeight||t>=0&&t<this.columnHeaderLevelCount&&"auto"===this.getDefaultRowHeight(t))}getColWidth(t){const e=this.colWidthsMap.get(t)??this.getDefaultColumnWidth(t);return"adaptive"===this.widthMode&&"number"==typeof e||this.transpose&&"number"==typeof e?this._colWidthDefineToPxWidth(e):this._adjustColWidth(t,this._colWidthDefineToPxWidth(e))}_setColWidth(t,e,i,r){this.colWidthsMap.put(t,"number"==typeof e?Math.round(e):e),i&&this._clearColRangeWidthsMap(t),r||this.stateManager.checkFrozen()}setColWidth(t,e){this.scenegraph.setColWidth(t,e),this.scenegraph.updateChartSizeForResizeColWidth(t),this.internalProps._widthResizedColMap.add(t)}_clearColRangeWidthsMap(t){if("number"!=typeof t)this._colRangeWidthsMap.clear();else{const e=this._colRangeWidthsMap.keys();for(const i of e){const e=Pk.exec(i);if(e){const r=Number(e[1]),o=Number(e[2]);t>=r&&t<=o&&this._colRangeWidthsMap.delete(i)}}}}_clearRowRangeHeightsMap(t){this.rowHeightsMap.clearRange()}_getColContentWidth(t){return Number(this.colContentWidthsMap.get(t))}_setColContentWidth(t,e){this.colContentWidthsMap.put(t,e)}getAllRowsHeight(){if(this.internalProps.rowCount<=0)return 0;return this.getRowsHeight(0,this.internalProps.rowCount-1)}getAllColsWidth(){if(this.internalProps.colCount<=0)return 0;return this.getColsWidth(0,this.internalProps.colCount-1)}getMaxColWidth(t){const e=this.colWidthsLimit[t];let i=(e&&e.max)??1/0;return"string"==typeof i&&(i=IA(this,i)),i}setMaxColWidth(t,e){(this.colWidthsLimit[t]||(this.colWidthsLimit[t]={})).max=e}getMinColWidth(t){const e=this.colWidthsLimit[t];let i=(e&&e.min)??0;return"string"==typeof i&&(i=IA(this,i)),i}setMinColWidth(t,e){(this.colWidthsLimit[t]||(this.colWidthsLimit[t]={})).min=e}getCellRect(t,e){const i=this.isFrozenCell(t,e);let r;const o=this.getColWidth(t);let n;r=i&&i.col&&this.isRightFrozenColumn(t,e)?this.getAllColsWidth()<=this.tableNoFrameWidth?this.getColsWidth(0,t-1)||0:this.tableNoFrameWidth-(this.getColsWidth(t,this.colCount-1)??0):this.getColsWidth(0,t-1)||0;const s=this.getRowHeight(e);return n=i&&i.row&&this.isBottomFrozenRow(t,e)?this.getAllRowsHeight()<=this.tableNoFrameHeight?this.getRowsHeight(0,e-1):this.tableNoFrameHeight-(this.getRowsHeight(e,this.rowCount-1)??0):this.getRowsHeight(0,e-1),new Hv(Math.round(r),Math.round(n),Math.round(o),Math.round(s))}getMergeCellRect(t,e){const i=this.getCellRange(t,e),r=this.getColsWidth(0,i.start.col-1)||0,o=this.getColsWidth(i.start.col,i.end.col),n=this.getRowsHeight(0,i.start.row-1)||0,s=this.getRowsHeight(i.start.row,i.end.row);return new Hv(Math.round(r),Math.round(n),Math.round(o),Math.round(s))}getCellRelativeRect(t,e){const i=this.isFrozenCell(t,e);let r=!0,o=!0;i?.col&&i?.row?(r=!1,o=!1):i?.col?r=!1:i?.row&&(o=!1);const n=this.getCellRect(t,e);return this._toRelativeRect(n,r,o)}getCellRangeRelativeRect(t){if(t.start){const e=this.isFrozenCell(t.start.col,t.start.row);let i=!0,r=!0;return e?.col&&e?.row?(i=!1,r=!1):e?.col?i=!1:e?.row&&(r=!1),this._toRelativeRect(this.getCellsRect(t.start.col,t.start.row,t.end.col,t.end.row),i,r)}const e=this.getCellRange(t.col,t.row),i=this.isFrozenCell(t.col,t.row);let r=!0,o=!0;return i?.col&&i?.row?(r=!1,o=!1):i?.col?r=!1:i?.row&&(o=!1),this._toRelativeRect(this.getCellsRect(e.start.col,e.start.row,e.end.col,e.end.row),r,o)}getVisibleCellRangeRelativeRect(t){let e;return e=t.start?t:this.getCellRange(t.col,t.row),this._getVisiableRect(this.getCellRangeRelativeRect(t),e)}_getVisiableRect(t,e){const i=e.start.col>=this.frozenColCount?Math.max(t.left,this.frozenColCount>=1?this.getColsWidth(0,this.frozenColCount-1):0):t.left,r=Math.min(t.right,this.tableNoFrameWidth),o=t.copy();o.left=i,o.right=r;const n=e.start.row>=this.frozenRowCount?Math.max(t.top,this.frozenRowCount>=1?this.getRowsHeight(0,this.frozenRowCount-1):0):t.top,s=Math.min(t.bottom,this.tableNoFrameHeight);return o.top=n,o.bottom=s,o}getCellsRect(t,e,i,r){let o=this.getColsWidth(0,t-1)||0,n=this.getColsWidth(t,i);const s=this.scrollLeft;this.isLeftFrozenColumn(t)&&this.isRightFrozenColumn(i)?n=this.tableNoFrameWidth-(this.getColsWidth(t+1,this.colCount-1)??0)-o:this.isLeftFrozenColumn(t)&&!this.isLeftFrozenColumn(i)?n=Math.max(n-s,this.getColsWidth(t,this.frozenColCount-1)):!this.isRightFrozenColumn(t)&&this.isRightFrozenColumn(i)?(o=Math.min(o-s,this.tableNoFrameWidth-this.getRightFrozenColsWidth()),n=this.tableNoFrameWidth-(this.getColsWidth(t+1,this.colCount-1)??0)-o):this.isRightFrozenColumn(t)&&(o=this.tableNoFrameWidth-(this.getColsWidth(t,this.colCount-1)??0));let a=this.getRowsHeight(0,e-1),l=this.getRowsHeight(e,r);const h=this.scrollTop;return this.isTopFrozenRow(e)&&this.isBottomFrozenRow(r)?l=this.tableNoFrameHeight-(this.getRowsHeight(e+1,this.rowCount-1)??0)-a:this.isTopFrozenRow(e)&&!this.isTopFrozenRow(r)?l=Math.max(l-h,this.getRowsHeight(e,this.frozenRowCount-1)):!this.isBottomFrozenRow(e)&&this.isBottomFrozenRow(r)?(a=Math.min(a-h,this.tableNoFrameHeight-this.getBottomFrozenRowsHeight()),l=this.tableNoFrameHeight-(this.getRowsHeight(e+1,this.rowCount-1)??0)-a):this.isBottomFrozenRow(e)&&(a=this.tableNoFrameHeight-(this.getRowsHeight(e,this.rowCount-1)??0)),new Hv(Math.round(o),Math.round(a),Math.round(n),Math.round(l))}getCellsRectWidth(t,e,i,r){const o=this.isFrozenCell(t,e),n=this.isFrozenCell(i,r);let s=this.getColsWidth(t,i);if(o&&o.col){const e=this.scrollLeft;n&&n.col||(s-=e,s=Math.max(s,this.getColsWidth(t,this.frozenColCount-1)))}return s}getCellRangeRect(t){if(t.start)return this.getCellsRect(t.start.col,t.start.row,t.end.col,t.end.row);const e=this.getCellRange(t.col,t.row);return this.getCellsRect(e.start.col,e.start.row,e.end.col,e.end.row)}getCellRangeRectWidth(t){if(t.start)return this.getCellsRectWidth(t.start.col,t.start.row,t.end.col,t.end.row);const e=this.getCellRange(t.col,t.row);return this.getCellsRectWidth(e.start.col,e.start.row,e.end.col,e.end.row)}isFrozenCell(t,e){const i=this.isFrozenRow(e),r=this.isFrozenColumn(t);return i||r?{row:i,col:r}:null}getRowAt(t){return ZH(t,this)}getColAt(t){return JH(t,this)}getCellAt(t,e){return function(t,e,i){const r=ZH(e,i),{row:o,top:n,bottom:s,height:a}=r,l=JH(t,i),{col:h,left:c,right:d,width:u}=l;return{row:o,col:h,rect:{left:c,right:d,top:n,bottom:s,width:u,height:a}}}(t,e,this)}getCellAtRelativePosition(t,e){return function(t,e,i){t-=i.tableX;let r=!1;(e-=i.tableY)>0&&e<i.getFrozenRowsHeight()&&(r=!0);let o=!1;t>0&&t<i.getFrozenColsWidth()&&(o=!0);let n=!1;e>i.tableNoFrameHeight-i.getBottomFrozenRowsHeight()&&e<i.tableNoFrameHeight&&e<=i.getAllRowsHeight()&&(n=!0);let s=!1;t>i.tableNoFrameWidth-i.getRightFrozenColsWidth()&&t<i.tableNoFrameWidth&&t<=i.getAllColsWidth()&&(s=!0);const a=ek((o||s?t:t+i.scrollLeft)+i.tableX,s,i),l=ik((r||n?e:e+i.scrollTop)+i.tableY,n,i);if(a&&l){const{row:t,top:e,bottom:i,height:r}=l,{col:o,left:n,right:s,width:h}=a;return{row:t,col:o,rect:{left:n,right:s,top:e,bottom:i,width:h,height:r}}}return{col:-1,row:-1}}(t,e,this)}_checkRowCol(t,e){return t>=0&&t<this.colCount&&e>=0&&e<this.rowCount}_makeVisibleCell(t,e){if(this._checkRowCol(t,e)){const i=this.isFrozenCell(t,e);if(i&&i.col&&i.row)return;const r=this.getCellRect(t,e),o=function(t){let e=0,i=0;t.frozenColCount>0&&(e=t.getFrozenColsWidth()),t.rightFrozenColCount>0&&(i=t.getRightFrozenColsWidth());let r=0,o=0;return t.frozenRowCount>0&&(r=t.getFrozenRowsHeight()),t.bottomFrozenRowCount>0&&(o=t.getBottomFrozenRowsHeight()),new Hv(t.scrollLeft+e,t.scrollTop+r,t.tableNoFrameWidth-e-i,t.tableNoFrameHeight-r-o)}(this);if(o.contains(r))return;i&&i.col||this.getColsWidth(0,this.frozenColCount-1)+r.width>this.canvas.width||(r.left<o.left?this.scrollLeft-=o.left-r.left:o.right<r.right&&(this.scrollLeft-=o.right-r.right)),i&&i.row||this.getRowsHeight(0,this.frozenRowCount-1)+r.height>this.canvas.height||(r.top<o.top?this.scrollTop-=o.top-r.top:o.bottom<r.bottom&&(this.scrollTop-=o.bottom-r.bottom))}}render(){this.scenegraph.renderSceneGraph()}renderAsync(){return this.scenegraph.updateNextFrame(),new Promise(((t,e)=>{setTimeout((()=>{t()}),0)}))}_toRelativeRect(t,e=!0,i=!0){const r=t.copy(),o=this.getVisibleRect();return r.offsetLeft(this.tableX-(e?o.left:0)),r.offsetTop(this.tableY-(i?o.top:0)),r.offsetLeft(this.options.viewBox?.x1??0),r.offsetTop(this.options.viewBox?.y1??0),r}getVisibleRect(){const{scrollTop:t,scrollLeft:e}=this,i=this.tableNoFrameWidth,r=this.tableNoFrameHeight;return new Hv(e,t,i,r)}get visibleRowCount(){const{frozenRowCount:t}=this,e=this.getVisibleRect(),i=t>0?e.top+this.getRowsHeight(0,t-1):e.top,r=this.getTargetRowAt(i);if(!r)return 0;const o=Math.max(r.top>=i?r.row:r.row+1,t);let n=this.getRowsHeight(0,o-1),s=0;const{rowCount:a}=this;for(let t=o;t<a;t++){const i=n+this.getRowHeight(t);if(e.bottom<i)break;s++,n=i}return s}getBodyVisibleCellRange(){const{scrollTop:t,scrollLeft:e}=this,i=this.getFrozenRowsHeight(),r=this.getFrozenColsWidth(),o=this.getBottomFrozenRowsHeight(),n=this.getRightFrozenColsWidth(),{row:s}=this.getRowAt(t+i+1),{col:a}=this.getColAt(e+r+1),l=this.getAllRowsHeight()>this.tableNoFrameHeight?this.getRowAt(t+this.tableNoFrameHeight-1-o).row:this.rowCount-1,h=this.getAllColsWidth()>this.tableNoFrameWidth?this.getColAt(e+this.tableNoFrameWidth-1-n).col:this.colCount-1;return h<0||l<0?null:{rowStart:s,colStart:a,rowEnd:l,colEnd:h}}getBodyVisibleRowRange(){const{scrollTop:t}=this,e=this.getFrozenRowsHeight(),i=this.getBottomFrozenRowsHeight(),{row:r}=this.getRowAt(t+e+1),o=this.getAllRowsHeight()>this.tableNoFrameHeight?this.getRowAt(t+this.tableNoFrameHeight-1-i).row:this.rowCount-1;return o<0?null:{rowStart:r,rowEnd:o}}getBodyVisibleColRange(){const{scrollLeft:t}=this,e=this.getFrozenColsWidth(),i=this.getRightFrozenColsWidth(),{col:r}=this.getColAt(t+e+1),o=this.getAllColsWidth()>this.tableNoFrameWidth?this.getColAt(t+this.tableNoFrameWidth-1-i).col:this.colCount-1;return o<0?null:{colStart:r,colEnd:o}}get visibleColCount(){const{frozenColCount:t}=this,e=this.getVisibleRect(),i=t>0?e.left+this.getColsWidth(0,t-1):e.left,r=this.getTargetColAt(i);if(!r)return 0;const o=Math.max(r.left>=i?r.col:r.col+1,t);let n=this.getColsWidth(0,o-1),s=0;const{colCount:a}=this;for(let t=o;t<a;t++){const i=n+this.getColWidth(t);if(e.right<i)break;s++,n=i}return s}get scrollTop(){return this.stateManager.scroll.verticalBarPos}set scrollTop(t){this.stateManager.setScrollTop(t)}get scrollLeft(){return this.stateManager.scroll.horizontalBarPos}set scrollLeft(t){this.stateManager.setScrollLeft(t)}getScrollLeft(){return this.scrollLeft}getScrollTop(){return this.scrollTop}setScrollLeft(t){this.scrollLeft=Math.ceil(t)}setScrollTop(t){this.scrollTop=Math.ceil(t)}getCellOverflowText(t,e){return this.scenegraph.getCellOverflowText(t,e)}addReleaseObj(t){if(!t||!t.release||"function"!=typeof t.release)throw new Error("not releaseObj!");(this.internalProps.releaseList=this.internalProps.releaseList||[]).push(t)}dispose(){this.release()}release(){const t=this.internalProps;if(this.isReleased)return;t.tooltipHandler?.release?.(),t.menuHandler?.release?.(),nR.clearAll(),super.release?.(),t.handler?.release?.(),this.eventManager.release(),t.focusControl?.release?.(),t.legends?.forEach((t=>{t?.release()})),t.title?.release(),t.title=null,t.emptyTip?.release(),t.emptyTip=null,t.layoutMap.release(),t.releaseList&&(t.releaseList.forEach((t=>t?.release?.())),t.releaseList=null),this.scenegraph.stage.release(),this.scenegraph.proxy.release(),t.focusControl.release();const{parentElement:e}=t.element;e&&!this.options.canvas&&e.removeChild(t.element),this.editorManager?.editingEditor?.onEnd?.(),this.isReleased=!0,this.scenegraph=null,this.internalProps=null,this.reactCustomLayout?.clearCache()}fireListeners(t,e){return super.fireListeners(t,e)}updateOption(t){this.options=t,this._hasAutoImageColumn=void 0;const{frozenColCount:e=0,unfreezeAllOnExceedsMaxWidth:i,defaultRowHeight:r=40,defaultHeaderRowHeight:o,defaultColWidth:n=80,defaultHeaderColWidth:s=80,keyboardOptions:a,eventOptions:l,rowSeriesNumber:h,columnResizeMode:c,rowResizeMode:d="none",resize:u,dragHeaderMode:g,dragOrder:p,showFrozenIcon:f,allowFrozenColCount:m,padding:b,hover:y,menu:C,select:w,pixelRatio:v,widthMode:x,heightMode:_,autoFillWidth:S,autoFillHeight:A,widthAdaptiveMode:R,heightAdaptiveMode:T,customRender:B,renderChartAsync:M,renderChartAsyncBatchCount:P,canvasWidth:H,canvasHeight:k,overscrollBehavior:L,limitMinWidth:E,limitMinHeight:F}=t;v&&v!==this.internalProps.pixelRatio&&(this.internalProps.pixelRatio=v),b&&("number"==typeof b?(this.padding.top=b,this.padding.left=b,this.padding.bottom=b,this.padding.right=b):(b.top&&(this.padding.top=b.top),b.bottom&&(this.padding.bottom=b.bottom),b.left&&(this.padding.left=b.left),b.right&&(this.padding.right=b.right))),this.showFrozenIcon="boolean"!=typeof f||f,"number"==typeof m&&m<=0&&(this.showFrozenIcon=!1),this.widthMode=x??"standard",this.heightMode=_??"standard",this._widthAdaptiveMode=R??"only-body",this._heightAdaptiveMode=T??"only-body",this.autoFillWidth=S??!1,this.autoFillHeight=A??!1,this.customRender=B,this.canvasWidth=at(H)?H:void 0,this.canvasHeight=at(k)?k:void 0;const I=this.internalProps;if("node"===Ew.mode||t.canvas||function(t,e){t.style.margin=`${e.top}px ${e.right}px ${e.bottom}px ${e.left}px`;const i=(t.offsetWidth||t.parentElement?.offsetWidth||1)-1,r=(t.offsetHeight||t.parentElement?.offsetHeight||1)-1;t.style.width=i&&i-e.left-e.right+"px"||"0px",t.style.height=r&&r-e.top-e.bottom+"px"||"0px"}(I.element,this.padding),this.columnWidthComputeMode=t.columnWidthComputeMode??"normal",I.frozenColCount=e,I.unfreezeAllOnExceedsMaxWidth=i??!0,I.defaultRowHeight=r,I.defaultHeaderRowHeight=o??r,I.defaultColWidth=n,I.defaultHeaderColWidth=s??n,I.keyboardOptions=a,I.eventOptions=l,I.rowSeriesNumber=h,I.columnResizeMode=u?.columnResizeMode??c,I.rowResizeMode=u?.rowResizeMode??d,I.dragHeaderMode=p?.dragHeaderMode??g??"none",I.renderChartAsync=M,aB(P),I.overscrollBehavior=L??"auto",I.cellTextOverflows={},I._rowHeightsMap=new zH(this),I._rowRangeHeightsMap=new Map,I._colRangeWidthsMap=new Map,I._widthResizedColMap=new Set,I._heightResizedRowMap=new Set,this.colWidthsMap=new Pv,this.colContentWidthsMap=new Pv,this.colWidthsLimit={},I.stick.changedCells.clear(),I.theme=rx.of(t.theme??rx.DEFAULT),I.theme.isPivot=this.isPivotTable(),PR(I.theme.functionalIconsStyle),this.scenegraph.updateStageBackground(),I.autoWrapText=t.autoWrapText,I.enableLineBreak=t.enableLineBreak,I.allowFrozenColCount=t.allowFrozenColCount??0,I.limitMaxAutoWidth=t.limitMaxAutoWidth??450,I.limitMinWidth=null!=E?"number"==typeof E?E:E?10:0:10,I.limitMinHeight=null!=F?"number"==typeof F?F:F?10:0:10,I.legends?.forEach((t=>{t?.release()})),I.title?.release(),I.title=null,I.emptyTip?.release(),I.emptyTip=null,I.layoutMap.release(),this.scenegraph.clearCells(),this.scenegraph.updateComponent(),this.stateManager.updateOptionSetState(),this._updateSize(),this.eventManager.updateEventBinder(),t.legends){I.legends=[];const e=sx.getFunction("createLegend");if(Array.isArray(t.legends)){for(let i=0;i<t.legends.length;i++)I.legends.push(e(t.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else I.legends.push(e(t.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if(I.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:qC.bottom},t.tooltip),"html"===I.tooltip.renderMode&&!I.tooltipHandler){const t=sx.getComponent("tooltipHandler");I.tooltipHandler=new t(this,I.tooltip.confine)}if(I.menu=Object.assign({renderMode:"html"},t.menu),Array.isArray(t.menu?.dropDownMenuHighlight)&&this.setDropDownMenuHighlight(t.menu?.dropDownMenuHighlight),(Array.isArray(t.menu?.defaultHeaderMenuItems)||"function"==typeof t.menu?.defaultHeaderMenuItems)&&(this.globalDropDownMenu=t.menu.defaultHeaderMenuItems),"html"===I.menu.renderMode&&!I.menuHandler){const t=sx.getComponent("menuHandler");I.menuHandler=new t(this)}this.clearCellStyleCache(),this.clearColWidthCache(),this.clearRowHeightCache(),I.customMergeCell=Tk(t.customMergeCell),this.customCellStylePlugin?.updateCustomCell(t.customCellStyle??[],t.customCellStyleArrangement??[]),this._adjustCanvasSizeByOption()}renderWithRecreateCells(){this.internalProps.stick.changedCells.clear();const t={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(t.col,t.row),this.render()}getFrozenRowsHeight(){return this.getRowsHeight(0,this.frozenRowCount-1)}getFrozenColsWidth(){return this.getColsWidth(0,this.frozenColCount-1)}getBottomFrozenRowsHeight(){if(this.bottomFrozenRowCount>0){let t=0;for(let e=this.rowCount-this.bottomFrozenRowCount;e<=this.rowCount-1;e++)t+=this.getRowHeight(e);return t}return 0}getRightFrozenColsWidth(){if(this.rightFrozenColCount>0){let t=0;for(let e=this.colCount-this.rightFrozenColCount;e<=this.colCount-1;e++)t+=this.getColWidth(e);return t}return 0}getDrawRange(){const t=Math.min(this.tableNoFrameWidth,this.getAllColsWidth()),e=Math.min(this.tableNoFrameHeight,this.getAllRowsHeight());return new Hv(this.tableX,this.tableY,t,e)}_getMouseAbstractPoint(t,e=!0){const i=this;let r;if(!t)return{inTable:!1,x:void 0,y:void 0};r=Mk(t)?t.changedTouches[0]:t;const o=r.clientX||r.pageX+window.scrollX,n=r.clientY||r.pageY+window.scrollY,s=i.internalProps.canvas.getBoundingClientRect();let a=!0;s.right<=o&&(a=!1),s.bottom<=n&&(a=!1);const l=s.width,h=l/(this.canvas.offsetWidth||l),c=s.height,d=c/(this.canvas.offsetHeight||c),u={x:(o-s.left)/h+(e?i.scrollLeft:0)-(this.options.viewBox?.x1??0),y:(n-s.top)/d+(e?i.scrollTop:0)-(this.options.viewBox?.y1??0),inTable:a};if(this.internalProps.modifiedViewBoxTransform&&this.scenegraph.stage.window.getViewBoxTransform()){this.scenegraph.stage.window.getViewBoxTransform().transformPoint(u,u)}return u}getTheme(){return this.internalProps.theme}getTargetColAt(t){return QH(t,this)}getTargetRowAt(t){const e=tk(t,this);return e&&(e.row=Math.min(e.row,this.rowCount-1)),e}getTargetColAtConsiderRightFrozen(t,e){return ek(t,e,this)}getTargetRowAtConsiderBottomFrozen(t,e){return ik(t,e,this)}clearSelected(){this.stateManager.updateSelectPos(-1,-1)}selectCell(t,e,i,r,o,n=!1){const s=!!this.stateManager.select.ranges?.length;this.stateManager.updateSelectPos(t,e,i,r,!1,o??this.options.select?.makeSelectCellVisible??!0,n),this.stateManager.endSelectCells(!0,s)}selectCells(t){const{scrollLeft:e,scrollTop:i}=this;t.forEach(((t,e)=>{t.start.col===t.end.col&&t.start.row===t.end.row?this.stateManager.updateSelectPos(t.start.col,t.start.row,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0):(this.stateManager.updateSelectPos(t.start.col,t.start.row,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(UC.grabing),this.stateManager.updateSelectPos(t.end.col,t.end.row,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0)),this.stateManager.endSelectCells(!1,!1),this.stateManager.updateInteractionState(UC.default)})),this.setScrollTop(i),this.setScrollLeft(e)}get recordsCount(){return this.records?.length}get allowFrozenColCount(){return this.internalProps.allowFrozenColCount}get rowHeaderLevelCount(){return this.internalProps.layoutMap.rowHeaderLevelCount}get columnHeaderLevelCount(){return this.internalProps.layoutMap.columnHeaderLevelCount}get records(){return this.internalProps.records}get dataSource(){return this.internalProps.dataSource}set dataSource(t){this.scenegraph.clearCells(),function(t,e){LA(t,(()=>{t.internalProps.dataSource&&t.internalProps.dataSource.release?.(),e?e instanceof ux?(t.internalProps.dataSource=e,t.internalProps.dataSource.supplementConfig(t.pagination,t.options.columns,t.internalProps.layoutMap.rowHierarchyType,FA(t))):t.internalProps.dataSource=new WS(e):t.internalProps.dataSource=ux.EMPTY,t.addReleaseObj(t.internalProps.dataSource),t.internalProps.records=null}))}(this,t),this.refreshRowColCount(),this.scenegraph.createSceneGraph(),this.render()}get autoWrapText(){return this.internalProps.autoWrapText}set autoWrapText(t){this.internalProps.autoWrapText=t,this.options.autoWrapText=t}get enableLineBreak(){return this.internalProps.enableLineBreak}set enableLineBreak(t){this.internalProps.enableLineBreak=t,this.options.enableLineBreak=t}updateAutoWrapText(t){this.internalProps.autoWrapText!==t&&(this.internalProps.autoWrapText=t,this.options.autoWrapText=t,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.render())}get theme(){return this.internalProps.theme}set theme(t){this.internalProps.theme=rx.of(t??rx.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),this.options.theme=t,PR(this.internalProps.theme.functionalIconsStyle)}updateTheme(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.theme=rx.of(t??rx.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),PR(this.internalProps.theme.functionalIconsStyle),this.options.theme=t,this.scenegraph.updateComponent(),this.scenegraph.updateStageBackground(),this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.render()}getBodyField(t,e){return this.internalProps.layoutMap.getBody(t,e).field}getBodyColumnDefine(t,e){const i=this.internalProps.layoutMap.getBody(t,e);return i?.define}getBodyColumnType(t,e){return IR("cellType",{cellType:this.internalProps.layoutMap.getBody(t,e)?.cellType??"text"},t,e,this)}getCellType(t,e){let i;return this.isSeriesNumberInHeader(t,e)?this.internalProps.layoutMap.getSeriesNumberHeader(t,e).cellType:(i=this.isHeader(t,e)?this.internalProps.layoutMap.getHeader(t,e).headerType:this.internalProps.layoutMap.getBody(t,e).cellType,IR("cellType",{cellType:i},t,e,this))}getHeaderField(t,e){return this.internalProps.layoutMap.getHeaderField(t,e)}getHeaderDefine(t,e){const i=this.internalProps.layoutMap.getHeader(t,e);return i?.define}getCellLocation(t,e){return this.internalProps.layoutMap.getCellLocation(t,e)}getCellHeaderPaths(t,e){return this.internalProps.layoutMap.getCellHeaderPaths(t,e)}getHeadersDefine(t,e){const i=[];for(;;){const r=this.getHeaderDefine(t,e);if(!r||!r.field&&!r.columns)break;i.push(r),e++}return i}_getHeaderLayoutMap(t,e){return this.internalProps.layoutMap.getHeader(t,e)}_getBodyLayoutMap(t,e){return this.internalProps.layoutMap.getBody(t,e)}getContext(){return this.internalProps.context}getRecordByCell(t,e){if(!this.internalProps.layoutMap.isHeader(t,e))return this.getCellOriginRecord(t,e)}getRecordByRowCol(t,e){return this.getRecordByCell(t,e)}getRecordStartRowByRecordIndex(t){return this.internalProps.layoutMap.getRecordStartRowByRecordIndex(t)}_getHeaderCellBySortState(t){const{layoutMap:e}=this.internalProps,i=e.headerObjects.find((e=>e&&e.field===t.field));if(i){return e.getHeaderCellAdressById(i.id)}}getCellRange(t,e){if(this.internalProps.customMergeCell){const i=this.internalProps.customMergeCell(t,e,this);if(i&&i.range&&(J(i.text)||i.customLayout||i.customRender))return i.range}return this.internalProps.layoutMap?.getCellRange(t,e)}hasCustomMerge(){return!!this.internalProps.customMergeCell}getCustomMerge(t,e){if(this.internalProps.customMergeCell){const i=this.internalProps.customMergeCell(t,e,this);if(i&&i.range&&(J(i.text)||i.customLayout||this.customRender)){if(i.style){const r=this.internalProps.bodyHelper.getStyleClass("text"),o=Lw(i.style,this.theme.bodyStyle,{col:t,row:e,table:this,value:i.text,dataValue:this.getCellOriginValue(t,e),cellHeaderPaths:this.getCellHeaderPaths(t,e)},r,this.options.autoWrapText,this.theme);i.style=o}return i}}}isCellRangeEqual(t,e,i,r){return this.internalProps.layoutMap.isCellRangeEqual(t,e,i,r)}_getLayoutCellId(t,e){return this.internalProps.layoutMap.getCellId(t,e)}getHeaderDescription(t,e){const i=this._getHeaderLayoutMap(t,e),r=i?.define,o=r?.description??i?.description;if("function"==typeof o){return o({col:t,row:e,value:this.getCellValue(t,e),dataValue:this.getCellOriginValue(t,e)})}return o}setDropDownMenuHighlight(t){this.stateManager.setDropDownMenuHighlight(t)}_dropDownMenuIsHighlight(t,e,i){return this.stateManager.dropDownMenuIsHighlight(t,e,i)}isSeriesNumberInBody(t,e){return this.internalProps.layoutMap&&this.internalProps.layoutMap.isSeriesNumberInBody(t,e)}isSeriesNumberInHeader(t,e){return this.internalProps.layoutMap&&this.internalProps.layoutMap.isSeriesNumberInHeader(t,e)}isHeader(t,e){return this.internalProps.layoutMap&&this.internalProps.layoutMap.isHeader(t,e)}isColumnHeader(t,e){return this.internalProps.layoutMap?.isColumnHeader(t,e)}isRowHeader(t,e){return this.internalProps.layoutMap?.isRowHeader(t,e)}isCornerHeader(t,e){return this.internalProps.layoutMap?.isCornerHeader(t,e)}isFrozenColumn(t,e){return this.isLeftFrozenColumn(t,e)||this.isRightFrozenColumn(t,e)}isLeftFrozenColumn(t,e){return this.internalProps.layoutMap?.isFrozenColumn(t,e)}isRightFrozenColumn(t,e){return this.internalProps.layoutMap?.isRightFrozenColumn(t,e)}isFrozenRow(t,e){return this.isTopFrozenRow(t,e)||this.isBottomFrozenRow(t,e)}isTopFrozenRow(t,e){return this.internalProps.layoutMap?.isFrozenRow(t,e)}isBottomFrozenRow(t,e){return this.internalProps.layoutMap?.isBottomFrozenRow(t,e)}getCellInfo(t,e){if(t>=0&&e>=0){const i=this.isHeader(t,e)?this.getHeaderDefine(t,e):this.getBodyColumnDefine(t,e);return{col:t,row:e,field:this.getHeaderField(t,e),cellHeaderPaths:this.internalProps.layoutMap.getCellHeaderPaths(t,e),title:i?.title,cellType:this.getCellType(t,e),originData:this.getCellOriginRecord(t,e),cellRange:this.getCellRangeRelativeRect({col:t,row:e}),value:this.getCellValue(t,e),dataValue:this.getCellOriginValue(t,e),cellLocation:this.getCellLocation(t,e),scaleRatio:this.canvas.getBoundingClientRect().width/this.canvas.offsetWidth}}}_hasField(t,e,i){if(null===t)return!1;const r=this;if(r.internalProps.layoutMap.isHeader(e,i))return!1;const o=r.getRecordShowIndexByCell(e,i);return r.internalProps.dataSource?.hasField(o,t)}_getCellStyle(t,e){return function(t,e,i){const r=i.customCellStylePlugin?.getCustomCellStyle(t,e),{layoutMap:o}=i.internalProps;if(o.isHeader(t,e)){let n;if(!i.isPivotTable()||i.isBottomFrozenRow(e)||i.isRightFrozenColumn(t))n=`${t}-${e}`;else{const r=i.getHeaderDefine(t,e),o=i.isCornerHeader(t,e);n=r?.dimensionKey?o?`dim-cor-${r.dimensionKey}`:`dim-${r.dimensionKey}`:r?.indicatorKey?`ind-${r.indicatorKey}`:`${t}-${e}`}let s=i.headerStyleCache.get(n);if(s)return r?xk(s,r):s;const a=o.getHeader(t,e);let l;if(i.isPivotChart()&&function(t,e,i){if(!i._table.isPivotChart())return!1;if(i.indicatorsAsCol){if(i.hasTwoIndicatorAxes&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return!0;if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return!0}else if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount)return!0;return!1}(t,e,o)&&o.isAxisCell(t,e)){const e=o.getBody(t,i.rowHeaderLevelCount);l=e.style?.padding??i.theme.bodyStyle.padding}else if(i.isPivotChart()&&function(t,e,i){if(!i._table.isPivotChart())return!1;if(i.indicatorsAsCol){if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return!0}else{if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return!0;if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount)return!0}return!1}(t,e,o)&&o.isAxisCell(t,e)){const t=o.getBody(i.columnHeaderLevelCount,e);l=t.style?.padding??i.theme.bodyStyle.padding}if((!a||a.isEmpty)&&(o.isLeftBottomCorner(t,e)||o.isRightBottomCorner(t,e)||o.isCornerHeader(t,e)||o.isRightTopCorner(t,e)))return _k;const h=i.internalProps.headerHelper.getStyleClass(a?.headerType||"text");if(o.isBottomFrozenRow(t,e)&&i.theme.bottomFrozenStyle)s=EH(l?{padding:l}:{},i.theme.bottomFrozenStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},h,i.options.autoWrapText,i.theme);else if(o.isRightFrozenColumn(t,e)&&i.theme.rightFrozenStyle)s=EH(l?{padding:l}:{},i.theme.rightFrozenStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},h,i.options.autoWrapText,i.theme);else{const r=a?.style||{};l&&(r.padding=l),s=EH(r,o.isColumnHeader(t,e)||o.isBottomFrozenRow(t,e)?i.theme.headerStyle:o.isRowHeader(t,e)||o.isRightFrozenColumn(t,e)?i.theme.rowHeaderStyle:i.theme.cornerHeaderStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},h,i.options.autoWrapText,i.theme)}return i.headerStyleCache.set(n,s),r?xk(s,r):s}let n,s;i.internalProps?.dataConfig?.mappingRules&&!i.isHeader(t,e)&&i.internalProps?.dataConfig?.mappingRules?.forEach(((r,o)=>{r.bgColor&&i.internalProps.layoutMap.getIndicatorKey(t,e)===r.bgColor.indicatorKey&&(n=r.bgColor.mapping)}));const a=i.getCellType(t,e),l=i.getCellOriginRecord(t,e);let h;if(s=l?.vtableMerge?"merge-title":i.isSeriesNumberInBody(t,e)?`${t}-series-`+a:i.isListTable()&&!i.transpose||i.isPivotTable()&&i.internalProps.layoutMap.indicatorsAsCol?t+a:e+a,h=l?.vtableMerge?i.bodyMergeTitleCache.get(s):o.isBottomFrozenRow(e)?i.bodyBottomStyleCache.get(s):i.bodyStyleCache.get(s),h)return r?xk(h,r):h;const c=o.getBody(t,e),d=i.internalProps.bodyHelper.getStyleClass(i.getCellType(t,e)),u=c?.style;return h=Lw(u,l?.vtableMerge&&i.theme.groupTitleStyle?i.theme.groupTitleStyle:o.isBottomFrozenRow(e)&&i.theme.bottomFrozenStyle?i.theme.bottomFrozenStyle:o.isRightFrozenColumn(t)&&i.theme.rightFrozenStyle?i.theme.rightFrozenStyle:i.theme.bodyStyle,{col:t,row:e,table:i,value:i.getCellValue(t,e),dataValue:i.getCellOriginValue(t,e),cellHeaderPaths:i.getCellHeaderPaths(t,e)},d,i.options.autoWrapText,i.theme),n&&(h=xk(h,{bgColor:n})),q(u)||(o.isBottomFrozenRow(e)?i.bodyBottomStyleCache.set(s,h):i.bodyStyleCache.set(s,h)),r?xk(h,r):h}(t,e,this)}clearCellStyleCache(){this.headerStyleCache.clear(),this.bodyStyleCache.clear(),this.bodyMergeTitleCache.clear(),this.bodyBottomStyleCache.clear()}clearRowHeightCache(){this.internalProps._rowHeightsMap.clear(),this._clearRowRangeHeightsMap()}clearColWidthCache(){this.internalProps._colWidthsMap.clear(),this._clearColRangeWidthsMap()}_canResizeColumn(t,e){if(!(t>=0&&e>=0))return!1;if(this.isCellRangeEqual(t,e,t+1,e))return!1;if("none"===this.internalProps.columnResizeMode)return!1;if("header"===this.internalProps.columnResizeMode){if(!this.isHeader(t,e))return!1}else if("body"===this.internalProps.columnResizeMode&&this.isHeader(t,e))return!1;const i=this.colWidthsLimit[t];return!(i&&i.min&&i.max)||i.max!==i.min}_canResizeRow(t,e){if(!(t>=0&&e>=0))return!1;if(this.isCellRangeEqual(t,e,t,e+1))return!1;if("none"===this.internalProps.rowResizeMode)return!1;if("header"===this.internalProps.rowResizeMode){if(!this.isHeader(t,e))return!1}else if("body"===this.internalProps.rowResizeMode&&this.isHeader(t,e))return!1;return!0}_canDragHeaderPosition(t,e){if(this.isHeader(t,e)&&(this.stateManager.isSelected(t,e)||"body"===this.options.select?.headerSelectMode&&function(t,e,i){for(let r=0;r<i.length;r++)if(pv(i[r],t,e))return!0;return!1}(t,e,[this.getCellRange(this.stateManager.select.cellPos.col,this.stateManager.select.cellPos.row)])||vB(this,t,e))){if("disabled"===this.internalProps.frozenColDragHeaderMode&&this.isFrozenColumn(t))return!1;if(this.stateManager.isSelected(t,e)){const i=this.stateManager.select.ranges[0];if(this.isColumnHeader(t,e)){if(i.end.row!==this.rowCount-1)return!1}else{if(!this.isRowHeader(t,e))return!1;if(i.end.col!==this.colCount-1)return!1}}const i=this.getHeaderDefine(t,e);if(!i)return!1;if(void 0===i.dragHeader){if("all"===this.internalProps.dragHeaderMode)return!0;if("column"===this.internalProps.dragHeaderMode){if(this.isColumnHeader(t,e))return!0}else if("row"===this.internalProps.dragHeaderMode&&this.isRowHeader(t,e))return!0;return!1}return i.dragHeader}return!1}getCellIcons(t,e){let i;if(this.isHeader(t,e))i=this.internalProps.headerHelper.getIcons(t,e);else if(this.internalProps.layoutMap.isSeriesNumber(t,e)){if(!this.options.groupBy||!this.getCellRawRecord(t,e)?.vtableMerge){const r=this.internalProps.layoutMap.getSeriesNumberBody(t,e)?.define?.dragOrder;r&&(i=this.internalProps.rowSeriesNumberHelper.getIcons(t,e))}const r=this.getCellValue(t,e),o=this.getCellOriginValue(t,e),n=this.internalProps.context,s=this.internalProps.bodyHelper.getIcons(t,e,r,o,n);i?.length>0?i=i.concat(s):s?.length>0&&(i=s)}else{const r=this.getCellValue(t,e),o=this.getCellOriginValue(t,e),n=this.internalProps.context;i=this.internalProps.bodyHelper.getIcons(t,e,r,o,n)}return i}showDropDownMenu(t,e,i){let r="dropdown-menu";i&&(r=Array.isArray(i.content)?"dropdown-menu":"container"),"html"===this.internalProps.menu.renderMode&&(this.stateManager.menu.isShow=!0,this.internalProps.menuHandler._bindToCell(t,e,r,i))}showTooltip(t,e,i){"html"===this.internalProps.tooltip.renderMode&&this.internalProps.tooltipHandler._bindToCell(t,e,i)}getCellStyle(t,e){const i=this._getCellStyle(t,e),r=zA(i,this,t,e,IR).theme,{autoWrapText:o,lineClamp:n,textOverflow:s}=i;return{textAlign:r.text.textAlign,textBaseline:r.text.textBaseline,bgColor:Y(r.group.fill)?IR("bgColor",i,t,e,this):r.group.fill,color:Y(r.text.fill)?IR("color",i,t,e,this):r.text.fill,strokeColor:Y(r.text.stroke)?IR("strokeColor",i,t,e,this):r.text.stroke,fontFamily:r.text.fontFamily,fontSize:r.text.fontSize,fontWeight:r.text.fontWeight,fontVariant:r.text.fontVariant,fontStyle:r.text.fontStyle,lineHeight:r.text.lineHeight,autoWrapText:o??!1,lineClamp:n??"auto",textOverflow:s,borderColor:Y(r.group.stroke)?IR("borderColor",i,t,e,this):r.group.stroke,borderLineWidth:r.group.lineWidth,borderLineDash:r.group.lineDash,underline:!!r.text.underline,underlineDash:r.text.underlineDash,underlineOffset:r.text.underlineOffset,lineThrough:!!r.text.lineThrough,padding:r._vtable.padding,underlineWidth:r.text.underline,lineThroughLineWidth:r.text.lineThrough,_strokeArrayWidth:r.group.strokeArrayWidth,_strokeArrayColor:r.group.strokeArrayColor,_linkColor:IR("linkColor",i,t,e,this)}}getAllBodyCells(t,e){const i=this.rowHeaderLevelCount,r=this.columnHeaderLevelCount,o=this.colCount-1,n=this.rowCount-1;return Array(Math.min(e??2e3,n-r+1,this.rowCount)).fill(0).map(((e,n)=>Array(Math.min(t??2e3,o-i+1,this.colCount)).fill(0).map(((t,e)=>this.getCellInfo(e+i,n+r)))))}getAllCells(t,e){const i=0,r=0,o=this.colCount-1,n=this.rowCount-1;return Array(Math.min(e??2e3,n-r+1,this.rowCount)).fill(0).map(((e,n)=>Array(Math.min(t??2e3,o-i+1,this.colCount)).fill(0).map(((t,e)=>this.getCellInfo(e+i,n+r)))))}getAllColumnHeaderCells(){const t=this.rowHeaderLevelCount,e=0,i=this.colCount-1,r=this.columnHeaderLevelCount-1;return Array(r-e+1).fill(0).map(((r,o)=>Array(i-t+1).fill(0).map(((i,r)=>this.getCellInfo(r+t,o+e)))))}getAllRowHeaderCells(){const t=0,e=this.columnHeaderLevelCount,i=this.rowHeaderLevelCount-1,r=this.rowCount-1;return Array(r-e+1).fill(0).map(((r,o)=>Array(i-t+1).fill(0).map(((i,r)=>this.getCellInfo(r+t,o+e)))))}getCopyValue(){if(this.stateManager.select?.ranges?.length>0){const t=this.stateManager.select.ranges;let e=Math.min(t[0].start.col,t[0].end.col),i=Math.max(t[0].start.col,t[0].end.col),r=Math.min(t[0].start.row,t[0].end.row),o=Math.max(t[0].start.row,t[0].end.row);t.forEach((t=>{e=Math.min(e,t.start.col,t.end.col),i=Math.max(i,t.start.col,t.end.col),r=Math.min(r,t.start.row,t.end.row),o=Math.max(o,t.start.row,t.end.row)}));const n=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.row,t.end.row),o=Math.max(t.start.row,t.end.row);r<=e&&o>=e&&(i=!0)})),i},s=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.col,t.end.col),o=Math.max(t.start.col,t.end.col);r<=e&&o>=e&&(i=!0)})),i},a=(e,i)=>{let r;return t.forEach((t=>{const o=Math.min(t.start.row,t.end.row),n=Math.max(t.start.row,t.end.row),s=Math.min(t.start.col,t.end.col),a=Math.max(t.start.col,t.end.col);s<=e&&a>=e&&o<=i&&n>=i&&(r=t)})),r},l=(t,e,i)=>{const r=this.getCellRange(t,e);let o=r.start.col,n=r.start.row;if(i){const t=Math.min(i.start.col,i.end.col),e=Math.min(i.start.row,i.end.row);o=Math.max(t,r.start.col),n=Math.max(e,r.start.row)}if(o!==t||n!==e)return"";return this.getCellValue(t,e)};let h="";for(let t=r;t<=o;t++){if(n(t)){for(let r=e;r<=i;r++){if(s(r)){const e=a(r,t);if(e){const o=l(r,t,e);if("undefined"!=typeof Promise&&o instanceof Promise);else{const t=J(o)?`${o}`:"";/^\[object .*\]$/.exec(t)||(h+=t)}(r<e.end.col||r<i)&&(h+="\t")}else h+="\t"}}t<o&&(h+="\r\n")}}return this.options?.formatCopyValue&&(h=this.options.formatCopyValue(h)),h}return""}getSelectedCellInfos(){if(!this.stateManager.select?.ranges)return null;const t=this.stateManager.select.ranges;if(!t.length)return[];let e=Math.min(t[0].start.col,t[0].end.col),i=Math.max(t[0].start.col,t[0].end.col),r=Math.min(t[0].start.row,t[0].end.row),o=Math.max(t[0].start.row,t[0].end.row);t.forEach((t=>{e=Math.min(e,t.start.col,t.end.col),i=Math.max(i,t.start.col,t.end.col),r=Math.min(r,t.start.row,t.end.row),o=Math.max(o,t.start.row,t.end.row)}));const n=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.row,t.end.row),o=Math.max(t.start.row,t.end.row);r<=e&&o>=e&&(i=!0)})),i},s=e=>{let i=!1;return t.forEach((t=>{const r=Math.min(t.start.col,t.end.col),o=Math.max(t.start.col,t.end.col);r<=e&&o>=e&&(i=!0)})),i},a=(e,i)=>{let r;return t.forEach((t=>{const o=Math.min(t.start.row,t.end.row),n=Math.max(t.start.row,t.end.row),s=Math.min(t.start.col,t.end.col),a=Math.max(t.start.col,t.end.col);s<=e&&a>=e&&o<=i&&n>=i&&(r=t)})),r},l=[];for(let t=r;t<=o;t++){if(n(t)){const r=[];for(let o=e;o<=i;o++){if(s(o)){if(a(o,t)){const e=this.getCellInfo(o,t);r.push(e)}}}l.push(r)}}return l}getSelectedCellRanges(){const t=this.stateManager.select.ranges;return t.length?Ct(t):[]}measureText(t,e){return _T.measureText(t,e)}measureTextBounds(t){return AT(t)}getCustomRender(t,e){let i;if("body"!==this.getCellLocation(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerCustomRender}else{const r=this.getBodyColumnDefine(t,e);i=r?.customRender||this.customRender}return i}getCustomLayout(t,e){let i;if("body"!==this.getCellLocation(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerCustomLayout}else{const r=this.getBodyColumnDefine(t,e);i=r?.customLayout}return i}hasAutoImageColumn(){return void 0===this._hasAutoImageColumn&&(this._hasAutoImageColumn=function(t){const{columns:e,rows:i,indicators:r}=t.options;if(t.isPivotTable()){if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!rt(i)&&("image"===i.headerType||"video"===i.headerType||"function"==typeof i.headerType)&&i.imageAutoSizing)return!0}if(ot(i)&&i.length>0)for(let t=0;t<i.length;t++){const e=i[t];if(!rt(e)&&("image"===e.headerType||"video"===e.headerType||"function"==typeof e.headerType)&&e.imageAutoSizing)return!0}if(ot(r)&&r.length>0)for(let t=0;t<r.length;t++){const e=r[t];if(!rt(e)&&(("image"===e.cellType||"video"===e.cellType||"function"==typeof e.cellType)&&e.imageAutoSizing||("image"===e.headerType||"video"===e.headerType||"function"==typeof e.headerType)&&e.imageAutoSizing))return!0}}else if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(("image"===i.cellType||"video"===i.cellType||"function"==typeof i.cellType)&&i.imageAutoSizing||("image"===i.headerType||"video"===i.headerType||"function"==typeof i.headerType)&&i.imageAutoSizing)return!0}return!1}(this)),this._hasAutoImageColumn}_getActiveChartInstance(){const t=this.scenegraph.getCell(this.stateManager.hover?.cellPos?.col,this.stateManager.hover?.cellPos?.row);return"chart"===t?.getChildren()?.[0]?.type?t.getChildren()[0].activeChartInstance:null}cellIsInVisualView(t,e){const i=this.getDrawRange(),r=this.getCellRelativeRect(t,e);if(t<this.frozenColCount&&e<this.frozenRowCount)return!0;let o,n,s,a;if(this.frozenRowCount>=1&&(o=this.getCellRangeRelativeRect({start:{col:0,row:0},end:{col:this.colCount-1,row:this.frozenRowCount-1}})),this.frozenColCount>=1&&(n=this.getCellRangeRelativeRect({start:{col:0,row:0},end:{col:this.frozenColCount-1,row:this.rowCount-1}})),this.bottomFrozenRowCount>=1&&(s=this.getCellRangeRelativeRect({start:{col:0,row:this.rowCount-this.bottomFrozenRowCount},end:{col:this.colCount-1,row:this.rowCount-1}})),this.rightFrozenColCount>=1&&(a=this.getCellRangeRelativeRect({start:{col:this.colCount-this.rightFrozenColCount,row:0},end:{col:this.colCount-1,row:this.rowCount-1}})),r.top>=i.top&&r.bottom<=i.bottom&&r.left>=i.left&&r.right<=i.right){if(this.isFrozenCell(t,e))return!0;if(r.top>=(o?.bottom??r.top)&&r.left>=(n?.right??r.left)&&r.bottom<=(s?.top??r.bottom)&&r.right<=(a?.left??r.right))return!0}return!1}getCustomMergeValue(t,e){if(this.internalProps.customMergeCell){const i=this.getCustomMerge(t,e);if(i){const{text:t}=i;return t}}}exportImg(){return this.scenegraph.stage.toCanvas().toDataURL()}exportCellImg(t,e,i){const r=this.cellIsInVisualView(t,e),{scrollTop:o,scrollLeft:n}=this;r||this.scrollToCell({col:t,row:e});const s=this.getCellRelativeRect(t,e);this.stateManager.select?.ranges?.length>0&&LM(this.scenegraph);const{col:a,row:l}=this.stateManager.hover.cellPos;let h,c;if(this.stateManager.updateHoverPos(-1,-1),this.scenegraph.component.hideVerticalScrollBar(),this.scenegraph.component.hideHorizontalScrollBar(),this.scenegraph.tableGroup.border.setAttribute("visible",!1),i?.disableBackground){const i=this.scenegraph.getCell(t,e);h=i.attribute.fill,i.setAttribute("fill","transparent")}if(i?.disableBorder){const i=this.scenegraph.getCell(t,e);c=i.attribute.stroke,i.setAttribute("stroke",!1)}this.scenegraph.renderSceneGraph();let d=0;"bottom-right"===this.theme.cellBorderClipDirection&&(d=1);const u=this.scenegraph.stage.toCanvas(!1,(new Pe).set(s.left+this.tableX+1,s.top+this.tableY+1,s.right+this.tableX-d,s.bottom+this.tableY-d));if(r||(this.setScrollTop(o),this.setScrollLeft(n)),this.scenegraph.tableGroup.border.setAttribute("visible",!0),h){this.scenegraph.getCell(t,e).setAttribute("fill",h)}if(c){this.scenegraph.getCell(t,e).setAttribute("stroke",c)}return this.stateManager.select?.ranges?.length>0&&EM(this.scenegraph),this.stateManager.updateHoverPos(a,l),this.scenegraph.updateNextFrame(),u.toDataURL()}exportCellRangeImg(t){const{scrollTop:e,scrollLeft:i}=this,r=Math.min(t.start.col,t.end.col),o=Math.min(t.start.row,t.end.row),n=Math.max(t.start.col,t.end.col),s=Math.max(t.start.row,t.end.row),a=this.cellIsInVisualView(r,o),l=this.cellIsInVisualView(n,s);a&&l||this.scrollToCell({col:r,row:o});const h=this.getCellRangeRelativeRect({start:{col:r,row:o},end:{col:n,row:s}});this.stateManager.select?.ranges?.length>0&&LM(this.scenegraph);const{col:c,row:d}=this.stateManager.hover.cellPos;this.stateManager.updateHoverPos(-1,-1),this.scenegraph.component.hideVerticalScrollBar(),this.scenegraph.component.hideHorizontalScrollBar(),this.scenegraph.renderSceneGraph();const u=this.scenegraph.stage.toCanvas(!1,(new Pe).set(h.left+this.tableX+1,h.top+this.tableY+1,h.right+this.tableX,h.bottom+this.tableY)).toDataURL();return a&&l||(this.setScrollTop(e),this.setScrollLeft(i)),this.stateManager.select?.ranges?.length>0&&EM(this.scenegraph),this.stateManager.updateHoverPos(c,d),u}exportCanvas(){return this.scenegraph.stage.toCanvas()}getImageBuffer(t="image/png"){if("node"!==this.options.mode)return;this.render();const e=this.scenegraph.stage;if(e){const i=this.tableX+this.getAllColsWidth(),r=this.tableY+this.getAllRowsHeight();if(i>=this.canvasWidth&&r>=this.canvasHeight){e.render();return e.window.getImageBuffer(t)}return this.scenegraph.stage.toCanvas(!1,(new Pe).set(0,0,Math.min(this.canvasWidth,i),Math.min(this.canvasHeight,r))).toBuffer(t)}return null}getBodyIndexByTableIndex(t,e){return{col:t-this.rowHeaderLevelCount-this.leftRowSeriesNumberCount,row:e-this.columnHeaderLevelCount}}getTableIndexByBodyIndex(t,e){return{col:t+this.rowHeaderLevelCount+this.leftRowSeriesNumberCount,row:e+this.columnHeaderLevelCount}}onVChartEvent(t,e,i){this._chartEventMap[t]||(this._chartEventMap[t]=[]),"function"==typeof e?this._chartEventMap[t].push({callback:e}):this._chartEventMap[t].push({callback:i,query:e})}offVChartEvent(t,e){this._chartEventMap[t]&&(this._chartEventMap[t]=e?this._chartEventMap[t].filter((t=>t.callback!==e)):[])}_bindChartEvent(t){if(t)for(const e in this._chartEventMap)(this._chartEventMap[e]||[]).forEach((i=>{i.query?t.on(e,i.query,i.callback):t.on(e,i.callback)}))}changeRecordOrder(t,e){}hasCustomCellStyle(t){return this.customCellStylePlugin?.hasCustomCellStyle(t)}registerCustomCellStyle(t,e){this.customCellStylePlugin?.registerCustomCellStyle(t,e)}arrangeCustomCellStyle(t,e,i){this.customCellStylePlugin?.arrangeCustomCellStyle(t,e,i)}isSeriesNumber(t,e){return this.internalProps.layoutMap.isSeriesNumber(t,e)}isHasSeriesNumber(){return this.internalProps.layoutMap?.leftRowSeriesNumberColumnCount>0}get leftRowSeriesNumberCount(){return this.internalProps.layoutMap?.leftRowSeriesNumberColumnCount??0}setMinMaxLimitWidth(t=!1){const e=this.internalProps;for(let i=0;i<e.layoutMap.columnWidths.length;i++){if(this.internalProps._widthResizedColMap.has(i))continue;const{width:r,minWidth:o,maxWidth:n}=e.layoutMap.columnWidths?.[i]??{};t&&r&&("string"==typeof r&&"auto"!==r||"number"==typeof r&&r>0)&&this._setColWidth(i,r),o&&("number"==typeof o&&o>0||"string"==typeof o)&&this.setMinColWidth(i,o),n&&("number"==typeof n&&n>0||"string"==typeof n)&&this.setMaxColWidth(i,n)}}setSortedIndexMap(t,e){this.dataSource?.setSortedIndexMap(t,e)}checkReactCustomLayout(){this.reactCustomLayout||(this.reactCustomLayout=new jA(this))}get bodyDomContainer(){return this.internalProps.bodyDomContainer}get headerDomContainer(){return this.internalProps.headerDomContainer}get frozenBodyDomContainer(){return this.internalProps.frozenBodyDomContainer}get frozenHeaderDomContainer(){return this.internalProps.frozenHeaderDomContainer}get rightFrozenBodyDomContainer(){return this.internalProps.rightFrozenBodyDomContainer}get rightFrozenHeaderDomContainer(){return this.internalProps.rightFrozenHeaderDomContainer}get frozenBottomDomContainer(){return this.internalProps.frozenBottomDomContainer}get bottomDomContainer(){return this.internalProps.bottomDomContainer}get rightFrozenBottomDomContainer(){return this.internalProps.rightFrozenBottomDomContainer}showMoverLine(t,e){this.scenegraph.component.showMoveCol(t,e,0),this.scenegraph.renderSceneGraph()}hideMoverLine(t,e){this.scenegraph.component.hideMoveCol(),this.scenegraph.renderSceneGraph()}disableScroll(){this.eventManager.disableScroll()}enableScroll(){this.eventManager.enableScroll()}getGroupTitleLevel(t,e){}scrollToRow(t,e){e?this.animationManager.scrollTo({row:t},e):this.scrollToCell({row:t})}scrollToCol(t,e){e?this.animationManager.scrollTo({col:t},e):this.scrollToCell({col:t})}scrollToCell(t,e){if(e)return void this.animationManager.scrollTo(t,e);const i=this.getDrawRange();if(J(t.col)&&t.col>=this.frozenColCount){const e=this.getFrozenColsWidth(),r=this.getColsWidth(0,t.col-1);this.scrollLeft=Math.min(r-e,this.getAllColsWidth()-i.width)}if(J(t.row)&&t.row>=this.frozenRowCount){const e=this.getFrozenRowsHeight(),r=this.getRowsHeight(0,t.row-1);this.scrollTop=Math.min(r-e,this.getAllRowsHeight()-i.height)}this.render()}checkHasColumnAutoWidth(){return function(t){if("autoWidth"===t.options.widthMode)return!0;if("auto"===t.options.defaultHeaderColWidth||Array.isArray(t.options.defaultHeaderColWidth)&&t.options.defaultHeaderColWidth.includes("auto"))return!0;const e=t.internalProps.layoutMap.columnObjects;for(let t=0;t<e.length;t++)if("auto"===e[t].width)return!0;return!1}(this)}}var kk=Object.freeze({__proto__:null,BaseTable:Hk});const Lk={},Ek={};function Fk(t){if(Ek[t])return Ek[t]}function Ik(t,e,i){const r=t[e];return t[e]=i,r}function zk(t){for(const e in t)delete t[e]}function Ok(){zk(zv),zk(oR),zk(Lk),zk(Ek),zk(ew)}var Dk=Object.freeze({__proto__:null,aggregator:function(t,e){null!=e&&Ik(ew,t,e)},chartModule:function(t,e){return null!=e?Ik(Lk,t,e):Lk[t]},clearAll:Ok,editor:function(t,e){return null!=e?Ik(Ek,t,e):Ek[t]},icon:function(t,e){return null!=e?Ik(oR,t,e):oR[t]},theme:function(t,e){return null!=e?Ik(zv,t,e):zv[t]}});var Wk=Object.freeze({__proto__:null,dateFormat:function(t,e,i,r,o){null==i&&(i=!1),null==r&&(r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),null==o&&(o=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);const n=i?"UTC":"",s=function(t){return`0${t}`.substring(0,2)};return function(i){const a=new Date(Date.parse(i[t]));return e.replace(/%(.)/g,(function(t,e){switch(e){case"y":return a[`get${n}FullYear`]();case"m":return s(a[`get${n}Month`]()+1);case"n":return r[a[`get${n}Month`]()];case"d":return s(a[`get${n}Date`]());case"w":return o[a[`get${n}Day`]()];case"x":return a[`get${n}Day`]();case"H":return s(a[`get${n}Hours`]());case"M":return s(a[`get${n}Minutes`]());case"S":return s(a[`get${n}Seconds`]());default:return`%${e}`}}))}},numberFormat:function(t){return t=Object.assign({},{digitsAfterDecimal:2,scaler:1,thousandsSep:",",decimalSep:".",prefix:"",suffix:""},t),function(e){if(isNaN(e)||!isFinite(e))return"";const i=function(t,e,i){const r=(t+="").split(".");let o=r[0];const n=r.length>1?i+r[1]:"";return o=function(t,e){return t.replace(/\d+/,(function(t){return t.replace(/(\d)(?=(\d{3})+$)/g,(function(t){return`${t}${e}`}))}))}(o,e),o+n}((t.scaler*e).toFixed(t.digitsAfterDecimal),t.thousandsSep,t.decimalSep);return`${t.prefix}${i}${t.suffix}`}}});var Nk=(t,e)=>Object.prototype.toString.call(t)===`[object ${e}]`;var Gk=function(t){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"boolean"==typeof t:!0===t||!1===t||Nk(t,"Boolean")};var Vk=t=>"function"==typeof t;var jk=t=>null==t;var Uk=t=>null!=t;var Kk=t=>"object"==typeof t&&null!==t;var $k=function(t){if(!Kk(t)||!Nk(t,"Object"))return!1;if(null===Object.getPrototypeOf(t))return!0;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e};var Xk=function(t){const e=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"string"===e:"string"===e||Nk(t,"String")};var Yk=t=>Array.isArray?Array.isArray(t):Nk(t,"Array");var qk=function(t){return null!==t&&"function"!=typeof t&&Number.isFinite(t.length)};var Zk=t=>Nk(t,"Date");var Jk=function(t){const e=typeof t;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?"number"===e:"number"===e||Nk(t,"Number")};function Qk(t,e,i){let r;if(!Uk(t)||"object"!=typeof t||e&&e(t))return t;const o=Yk(t),n=t.length;r=o?new Array(n):"object"==typeof t?{}:Gk(t)||Jk(t)||Xk(t)?t:Zk(t)?new Date(+t):void 0;const s=o?void 0:Object.keys(Object(t));let a=-1;if(r)for(;++a<(s||t).length;){const o=s?s[a]:a,n=t[o];i&&i.includes(o.toString())?r[o]=n:r[o]=Qk(n,e,i)}return r}function tL(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e){if(t===e)return;if(Uk(e)&&"object"==typeof e){const o=Object(e),n=[];for(const t in o)n.push(t);let{length:s}=n,a=-1;for(;s--;){const s=n[++a];!Uk(o[s])||"object"!=typeof o[s]||r&&Yk(t[s])?iL(t,s,o[s]):eL(t,e,s,i,r)}}}}function eL(t,e,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const n=t[i],s=e[i];let a=e[i],l=!0;if(Yk(s)){if(r)a=[];else if(Yk(n))a=n;else if(qk(n)){a=new Array(n.length);let t=-1;const e=n.length;for(;++t<e;)a[t]=n[t]}}else $k(s)?(a=null!=n?n:{},"function"!=typeof n&&"object"==typeof n||(a={})):l=!1;l&&tL(a,s,r,o),iL(t,i,a)}function iL(t,e,i){(void 0!==i&&!function(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}(t[e],i)||void 0===i&&!(e in t))&&(t[e]=i)}function rL(t,e,i){const r=function(t){if(!t)return[];if(Object.keys)return Object.keys(t);const e=[];for(const i in t)t.hasOwnProperty(i)&&e.push(i);return e}(e);for(let o=0;o<r.length;o++){const n=r[o];(i?null!=e[n]:null==t[n])&&(t[n]=e[n])}return t}function oL(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,Object.getOwnPropertyNames){const r=Object.getOwnPropertyNames(e);for(let o=0;o<r.length;o++){const n=r[o];"constructor"!==n&&(i?null!=e[n]:null==t[n])&&(t[n]=e[n])}}else rL(t,e,i)}function nL(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function sL(t){return Number(t)}const aL="undefined"!=typeof console;function lL(t,e,i){const r=[e].concat([].slice.call(i));aL&&console[t].apply(console,r)}var hL;!function(t){t[t.None=0]="None",t[t.Error=1]="Error",t[t.Warn=2]="Warn",t[t.Info=3]="Info",t[t.Debug=4]="Debug"}(hL||(hL={}));class cL{static getInstance(t,e){return cL._instance&&Jk(t)?cL._instance.level(t):cL._instance||(cL._instance=new cL(t,e)),cL._instance}static setInstance(t){return cL._instance=t}static setInstanceLevel(t){cL._instance?cL._instance.level(t):cL._instance=new cL(t)}static clearInstance(){cL._instance=null}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:hL.None,e=arguments.length>1?arguments[1]:void 0;this._onErrorHandler=[],this._level=t,this._method=e}addErrorHandler(t){this._onErrorHandler.find((e=>e===t))||this._onErrorHandler.push(t)}removeErrorHandler(t){const e=this._onErrorHandler.findIndex((e=>e===t));e<0||this._onErrorHandler.splice(e,1)}callErrorHandler(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];this._onErrorHandler.forEach((t=>t(...e)))}canLogInfo(){return this._level>=hL.Info}canLogDebug(){return this._level>=hL.Debug}canLogError(){return this._level>=hL.Error}canLogWarn(){return this._level>=hL.Warn}level(t){return arguments.length?(this._level=+t,this):this._level}error(){for(var t,e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];return this._level>=hL.Error&&(this._onErrorHandler.length?this.callErrorHandler(...i):lL(null!==(t=this._method)&&void 0!==t?t:"error","ERROR",i)),this}warn(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this._level>=hL.Warn&&lL(this._method||"warn","WARN",e),this}info(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this._level>=hL.Info&&lL(this._method||"log","INFO",e),this}debug(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this._level>=hL.Debug&&lL(this._method||"log","DEBUG",e),this}}cL._instance=null;const dL=1e-10,uL=1e-10;function gL(t,e){const i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:dL,r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:uL)*Math.max(t,e);return Math.abs(t-e)<=Math.max(i,r)}function pL(t,e,i,r){return t>e&&!gL(t,e,i,r)}function fL(t,e,i,r){return t<e&&!gL(t,e,i,r)}const mL=t=>{let e=null,i=null;return function(){for(var r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return e&&o.every(((t,i)=>t===e[i]))||(e=o,i=t(...o)),i}};var bL=function(t,e,i){return t<e?e:t>i?i:t};function yL(t,e){let i;return t>e&&(i=t,t=e,e=i),i=>Math.max(t,Math.min(e,i))}function CL(t,e){return i=>t*(1-i)+e*i}function wL(t,e){return function(i){return Math.round(t*(1-i)+e*i)}}function vL(t,e,i){e/=100,i/=100;const r=(1-Math.abs(2*i-1))*e,o=r*(1-Math.abs(t/60%2-1)),n=i-r/2;let s=0,a=0,l=0;return 0<=t&&t<60?(s=r,a=o,l=0):60<=t&&t<120?(s=o,a=r,l=0):120<=t&&t<180?(s=0,a=r,l=o):180<=t&&t<240?(s=0,a=o,l=r):240<=t&&t<300?(s=o,a=0,l=r):300<=t&&t<360&&(s=r,a=0,l=o),s=Math.round(255*(s+n)),a=Math.round(255*(a+n)),l=Math.round(255*(l+n)),{r:s,g:a,b:l}}function xL(t,e,i){t/=255,e/=255,i/=255;const r=Math.min(t,e,i),o=Math.max(t,e,i),n=o-r;let s=0,a=0,l=0;return s=0===n?0:o===t?(e-i)/n%6:o===e?(i-t)/n+2:(t-e)/n+4,s=Math.round(60*s),s<0&&(s+=360),l=(o+r)/2,a=0===n?0:n/(1-Math.abs(2*l-1)),a=+(100*a).toFixed(1),l=+(100*l).toFixed(1),{h:s,s:a,l:l}}const _L=/^#([0-9a-f]{3,8})$/,SL={transparent:4294967040},AL={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function RL(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function TL(t){return Jk(t)?new kL(t>>16,t>>8&255,255&t,1):Yk(t)?new kL(t[0],t[1],t[2]):new kL(255,255,255)}function BL(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function ML(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}const PL=(t,e)=>{const i=_L.exec(t);if(e||i){const t=parseInt(i[1],16),e=i[1].length;return 3===e?new kL((t>>8&15)+((t>>8&15)<<4),(t>>4&15)+((t>>4&15)<<4),(15&t)+((15&t)<<4),1):6===e?TL(t):8===e?new kL(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):null}};class HL{static Brighter(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new HL(t).brighter(e).toRGBA()}static SetOpacity(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return 1===e?t:new HL(t).setOpacity(e).toRGBA()}static getColorBrightness(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"hsl";const i=t instanceof HL?t:new HL(t);switch(e){case"hsv":default:return i.getHSVBrightness();case"hsl":return i.getHSLBrightness();case"lum":return i.getLuminance();case"lum2":return i.getLuminance2();case"lum3":return i.getLuminance3()}}static parseColorString(t){if(Uk(SL[t]))return function(t){return Jk(t)?new kL(t>>>24,t>>>16&255,t>>>8&255,255&t):Yk(t)?new kL(t[0],t[1],t[2],t[3]):new kL(255,255,255,1)}(SL[t]);if(Uk(AL[t]))return TL(AL[t]);const e=`${t}`.trim().toLowerCase(),i=PL(e);if(void 0!==i)return i;if(/^(rgb|RGB|rgba|RGBA)/.test(e)){const t=e.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g,"").split(",");return new kL(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),parseFloat(t[3]))}if(/^(hsl|HSL|hsla|HSLA)/.test(e)){const t=e.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g,"").split(","),i=vL(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10));return new kL(i.r,i.g,i.b,parseFloat(t[3]))}}constructor(t){const e=HL.parseColorString(t);this.color=e||new kL(255,255,255)}toRGBA(){return this.color.formatRgb()}toString(){return this.color.formatRgb()}toHex(){return this.color.formatHex()}toHsl(){return this.color.formatHsl()}brighter(t){const{r:e,g:i,b:r}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t))),this.color.g=Math.max(0,Math.min(255,Math.floor(i*t))),this.color.b=Math.max(0,Math.min(255,Math.floor(r*t))),this}add(t){const{r:e,g:i,b:r}=this.color;return this.color.r+=Math.min(255,e+t.color.r),this.color.g+=Math.min(255,i+t.color.g),this.color.b+=Math.min(255,r+t.color.b),this}sub(t){return this.color.r=Math.max(0,this.color.r-t.color.r),this.color.g=Math.max(0,this.color.g-t.color.g),this.color.b=Math.max(0,this.color.b-t.color.b),this}multiply(t){const{r:e,g:i,b:r}=this.color;return this.color.r=Math.max(0,Math.min(255,Math.floor(e*t.color.r))),this.color.g=Math.max(0,Math.min(255,Math.floor(i*t.color.g))),this.color.b=Math.max(0,Math.min(255,Math.floor(r*t.color.b))),this}getHSVBrightness(){return Math.max(this.color.r,this.color.g,this.color.b)/255}getHSLBrightness(){return.5*(Math.max(this.color.r,this.color.g,this.color.b)/255+Math.min(this.color.r,this.color.g,this.color.b)/255)}setHsl(t,e,i){const r=this.color.opacity,o=xL(this.color.r,this.color.g,this.color.b),n=vL(jk(t)?o.h:bL(t,0,360),jk(e)?o.s:e>=0&&e<=1?100*e:e,jk(i)?o.l:i<=1&&i>=0?100*i:i);return this.color=new kL(n.r,n.g,n.b,r),this}setRGB(t,e,i){return!jk(t)&&(this.color.r=t),!jk(e)&&(this.color.g=e),!jk(i)&&(this.color.b=i),this}setHex(t){const e=`${t}`.trim().toLowerCase(),i=PL(e,!0);return null!=i?i:this}setColorName(t){const e=AL[t.toLowerCase()];return void 0!==e&&this.setHex(e),this}setScalar(t){return this.color.r=t,this.color.g=t,this.color.b=t,this}setOpacity(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.color.opacity=t,this}getLuminance(){return(.2126*this.color.r+.7152*this.color.g+.0722*this.color.b)/255}getLuminance2(){return(.2627*this.color.r+.678*this.color.g+.0593*this.color.b)/255}getLuminance3(){return(.299*this.color.r+.587*this.color.g+.114*this.color.b)/255}clone(){return new HL(this.color.toString())}copyGammaToLinear(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return this.color.r=Math.pow(t.color.r,e),this.color.g=Math.pow(t.color.g,e),this.color.b=Math.pow(t.color.b,e),this}copyLinearToGamma(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const i=e>0?1/e:1;return this.color.r=Math.pow(t.color.r,i),this.color.g=Math.pow(t.color.g,i),this.color.b=Math.pow(t.color.b,i),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.color.r=BL(t.color.r),this.color.g=BL(t.color.g),this.color.b=BL(t.color.b),this}copyLinearToSRGB(t){return this.color.r=ML(t.color.r),this.color.g=ML(t.color.g),this.color.b=ML(t.color.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}}class kL{constructor(t,e,i,r){this.r=isNaN(+t)?255:Math.max(0,Math.min(255,+t)),this.g=isNaN(+e)?255:Math.max(0,Math.min(255,+e)),this.b=isNaN(+i)?255:Math.max(0,Math.min(255,+i)),Uk(r)?this.opacity=isNaN(+r)?1:Math.max(0,Math.min(1,+r)):this.opacity=1}formatHex(){return`#${RL(this.r)+RL(this.g)+RL(this.b)+(1===this.opacity?"":RL(255*this.opacity))}`}formatRgb(){const t=this.opacity;return`${1===t?"rgb(":"rgba("}${this.r},${this.g},${this.b}${1===t?")":`,${t})`}`}formatHsl(){const t=this.opacity,{h:e,s:i,l:r}=xL(this.r,this.g,this.b);return`${1===t?"hsl(":"hsla("}${e},${i}%,${r}%${1===t?")":`,${t})`}`}toString(){return this.formatHex()}}var LL=Object.freeze({__proto__:null,Color:HL,DEFAULT_COLORS:AL,RGB:kL,hexToRgb:function(t){let e="",i="",r="";const o="#"===t[0]?1:0;for(let n=o;n<t.length;n++)"#"!==t[n]&&(n<o+2?e+=t[n]:n<o+4?i+=t[n]:n<o+6&&(r+=t[n]));return[parseInt(e,16),parseInt(i,16),parseInt(r,16)]},hslToRgb:vL,interpolateRgb:function(t,e){const i=t.r,r=e.r,o=t.g,n=e.g,s=t.b,a=e.b,l=t.opacity,h=e.opacity;return t=>{const e=Math.round(i*(1-t)+r*t),c=Math.round(o*(1-t)+n*t),d=Math.round(s*(1-t)+a*t);return new kL(e,c,d,l*(1-t)+h*t)}},rgbToHex:function(t,e,i){return Number((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},rgbToHsl:xL});const EL=(t,e)=>{var i,r;if(!(null==e?void 0:e.fields))return t;if(0===t.length)return t;const o=e.fields,n=t[0],s={},a=[];for(const e in o)if(Object.prototype.hasOwnProperty.call(o,e)){const l=o[e];if(!l.type){let r=n;e in n||(r=null!==(i=t.find((t=>e in t)))&&void 0!==i?i:n),l.type="number"==typeof r[e]?"linear":"ordinal"}let h;if("number"==typeof l.sortIndex&&(h={key:e,type:l.type,index:l.sortIndex,sortIndex:{},sortIndexCount:0,sortReverse:!0===l.sortReverse},a.push(h)),(null===(r=l.domain)||void 0===r?void 0:r.length)>0)if("ordinal"===l.type){l._domainCache={},s[e]=l;const t={};l.domain.forEach(((e,i)=>{t[e]=i,l._domainCache[e]=i})),h&&(h.sortIndex=t,h.sortIndexCount=l.domain.length)}else l.domain.length>=2&&(s[e]=l)}return Object.keys(s).length>0&&(t=t.filter((t=>{for(const e in s){const i=s[e];if("ordinal"===i.type){if(!(t[e]in i._domainCache))return!1}else if(i.domain[0]>t[e]||i.domain[1]<t[e])return!1}return!0}))),a.sort(((t,e)=>t.index-e.index)),t.sort(((t,e)=>function(t,e,i){for(let r=0;r<i.length;r++){const o=i[r];let n=0;if("ordinal"===o.type?(void 0===o.sortIndex[e[o.key]]&&(o.sortIndex[e[o.key]]=o.sortIndexCount++),void 0===o.sortIndex[t[o.key]]&&(o.sortIndex[t[o.key]]=o.sortIndexCount++),n=o.sortIndex[t[o.key]]-o.sortIndex[e[o.key]]):"linear"===o.type&&(n=t[o.key]-e[o.key]),o.sortReverse&&(n=-n),0!==n)return n}return 0}(t,e,a))),t};let FL=0;function IL(){return FL>1e8&&(FL=0),(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dataset")+"_"+FL++}class zL{constructor(t){var e;let i;this.options=t,this.isDataSet=!0,this.transformMap={},this.parserMap={},this.dataViewMap={},this.target=new $,i=(null==t?void 0:t.name)?t.name:IL("dataset"),this.name=i,this._logger=null!==(e=null==t?void 0:t.logger)&&void 0!==e?e:cL.getInstance()}setLogger(t){this._logger=t}getDataView(t){return this.dataViewMap[t]}setDataView(t,e){var i;this.dataViewMap[t]&&(null===(i=this._logger)||void 0===i||i.error(`Error: dataView ${t} 之前已存在,请重新命名`)),this.dataViewMap[t]=e}removeDataView(t){this.dataViewMap[t]=null,delete this.dataViewMap[t]}registerParser(t,e){var i;this.parserMap[t]&&(null===(i=this._logger)||void 0===i||i.warn(`Warn: transform ${t} 之前已注册,执行覆盖逻辑`)),this.parserMap[t]=e}removeParser(t){this.parserMap[t]=null,delete this.parserMap[t]}getParser(t){return this.parserMap[t]||this.parserMap.default}registerTransform(t,e){var i;this.transformMap[t]&&(null===(i=this._logger)||void 0===i||i.warn(`Warn: transform ${t} 之前已注册,执行覆盖逻辑`)),this.transformMap[t]=e}removeTransform(t){this.transformMap[t]=null,delete this.transformMap[t]}getTransform(t){return this.transformMap[t]}multipleDataViewAddListener(t,e,i){this._callMap||(this._callMap=new Map);let r=this._callMap.get(i);r||(r=()=>{t.some((t=>t.isRunning))||i()}),t.forEach((t=>{t.target.addListener(e,r)})),this._callMap.set(i,r)}allDataViewAddListener(t,e){this.multipleDataViewAddListener(Object.values(this.dataViewMap),t,e)}multipleDataViewRemoveListener(t,e,i){if(this._callMap){const r=this._callMap.get(i);r&&t.forEach((t=>{t.target.removeListener(e,r)})),this._callMap.delete(i)}}multipleDataViewUpdateInParse(t){t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.markRunning()})),t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.parseNewData(t.data,t.options)}))}multipleDataViewUpdateInRawData(t){t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.markRunning()})),t.forEach((t=>{var e;return null===(e=this.getDataView(t.name))||void 0===e?void 0:e.updateRawData(t.data,t.options)}))}destroy(){this.transformMap=null,this.parserMap=null,this.dataViewMap=null,this._callMap=null,this.target.removeAllListeners()}}const OL="_data-view-diff-rank";class DL{constructor(t,e){var i=this;let r;this.dataSet=t,this.options=e,this.isDataView=!0,this.target=new $,this.parseOption=null,this.transformsArr=[],this.isRunning=!1,this.rawData={},this.history=!1,this.parserData={},this.latestData={},this._fields=null,this.reRunAllTransform=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{pushHistory:!0,emitMessage:!0};return i.isRunning=!0,i.resetTransformData(),i.transformsArr.forEach((e=>{i.executeTransform(e,{pushHistory:t.pushHistory,emitMessage:!1}),i.isLastTransform(e)&&i.diffLastData()})),i.isRunning=!1,!1!==t.emitMessage&&i.target.emit("change",[]),i},this.markRunning=()=>{this.isRunning=!0,this.target.emit("markRunning",[])},r=(null==e?void 0:e.name)?e.name:IL("dataview"),this.name=r,(null==e?void 0:e.history)&&(this.history=e.history,this.historyData=[]),this.dataSet.setDataView(r,this),this.setFields(null==e?void 0:e.fields)}parse(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];var r;this.isRunning=!0,i&&this.target.emit("beforeParse",[]),e&&(this.parseOption=e);const o=this.cloneParseData(t,e);if(null==e?void 0:e.type){const t=(null!==(r=this.dataSet.getParser(e.type))&&void 0!==r?r:this.dataSet.getParser("bytejson"))(o,e.options,this);this.rawData=o,this.parserData=t,this.history&&this.historyData.push(o,t),this.latestData=t}else this.parserData=o,this.rawData=o,this.history&&this.historyData.push(o),this.latestData=o;return this.isRunning=!1,i&&this.target.emit("afterParse",[]),this}transform(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.isRunning=!0,t&&t.type){let i=!0;if("fields"===t.type){this._fields=t.options.fields;const e=this.transformsArr.findIndex((e=>e.type===t.type));e>=0&&(i=!1,this.transformsArr[e].options.fields=this._fields)}if(i&&this.transformsArr.push(t),e){const e=this.isLastTransform(t);this.executeTransform(t),e&&this.diffLastData()}}return this.sortTransform(),this.isRunning=!1,this}isLastTransform(t){return this.transformsArr[this.transformsArr.length-1]===t}sortTransform(){this.transformsArr.length>=2&&this.transformsArr.sort(((t,e)=>{var i,r;return(null!==(i=t.level)&&void 0!==i?i:0)-(null!==(r=e.level)&&void 0!==r?r:0)}))}executeTransform(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{pushHistory:!0,emitMessage:!0};const{pushHistory:i,emitMessage:r}=e,o=this.dataSet.getTransform(t.type)(this.latestData,t.options);this.history&&!1!==i&&this.historyData.push(o),this.latestData=o,!1!==r&&this.target.emit("change",[])}resetTransformData(){this.latestData=this.parserData,this.history&&(this.historyData.length=0,this.historyData.push(this.rawData,this.parserData))}enableDiff(t){this._diffData=!0,this._diffKeys=t,this._diffMap=new Map,this._diffRank=0}disableDiff(){this._diffData=!1,this._diffMap=null,this._diffRank=null}resetDiff(){this._diffMap=new Map,this._diffRank=0}diffLastData(){var t;if(!this._diffData)return;if(!this.latestData.forEach)return;if(!(null===(t=this._diffKeys)||void 0===t?void 0:t.length))return;const e=this._diffRank+1;if(0===this._diffRank)this.latestData.forEach((t=>{t[OL]=e,this._diffMap.set(this._diffKeys.reduce(((e,i)=>e+t[i]),""),t)})),this.latestDataAUD={add:Array.from(this.latestData),del:[],update:[]};else{let t;this.latestDataAUD={add:[],del:[],update:[]},this.latestData.forEach((i=>{i[OL]=e,t=this._diffKeys.reduce(((t,e)=>t+i[e]),""),this._diffMap.get(t)?this.latestDataAUD.update.push(i):this.latestDataAUD.add.push(i),this._diffMap.set(t,i)})),this._diffMap.forEach(((t,i)=>{t[OL]<e&&(this.latestDataAUD.del.push(t),this._diffMap.delete(i))}))}this._diffRank=e}cloneParseData(t,e){let i=!1;return t instanceof DL||!0!==(null==e?void 0:e.clone)||(i=!0),i?Qk(t):t}parseNewData(t,e){this.parse(t,e||this.parseOption),this.reRunAllTransform()}updateRawData(t,e){const i=this.cloneParseData(t,e);this.rawData=i,this.parserData=i,this.latestData=i,this.reRunAllTransform()}getFields(){var t;return this._fields?this._fields:"dataview"===(null===(t=this.parseOption)||void 0===t?void 0:t.type)&&1===this.rawData.length&&this.rawData[0].getFields?this.rawData[0].getFields():null}setFields(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._fields=t&&e?function(t){let e=-1;const i=arguments.length<=1?0:arguments.length-1;for(;++e<i;)tL(t,e+1<1||arguments.length<=e+1?void 0:arguments[e+1],!0);return t}({},this._fields,t):t;const i=this.transformsArr.find((t=>"fields"===t.type));!jk(this._fields)&&jk(i)?(this.dataSet.registerTransform("fields",EL),this.transform({type:"fields",options:{fields:this._fields}},!1)):i&&(i.options.fields=this._fields)}destroy(){this.dataSet.removeDataView(this.name),this._diffMap=null,this._diffRank=null,this.latestData=null,this.rawData=null,this.parserData=null,this.transformsArr=null,this.target=null}}function WL(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["data"];const i=t;let r;if(!Uk(i)||"object"!=typeof i)return i;if(function(t){return t instanceof DL}(i)||function(t){try{return t instanceof Element}catch(e){const i=["children","innerHTML","classList","setAttribute","tagName","getBoundingClientRect"],r=Object.keys(t);return i.every((t=>r.includes(t)))}}(i))return i;const o=Yk(i),n=i.length;r=o?new Array(n):"object"==typeof i?{}:Gk(i)||Jk(i)||Xk(i)?i:Zk(i)?new Date(+i):void 0;const s=o?void 0:Object.keys(Object(i));let a=-1;if(r)for(;++a<(s||i).length;){const t=s?s[a]:a,o=i[t];(null==e?void 0:e.includes(t.toString()))?r[t]=o:r[t]=WL(o,e)}return r}function NL(t){const e={...t};return ft(t.style)||(e.textStyle=GL(t.style)),ft(t.textStyle)||_t(e.textStyle,GL(t.textStyle)),t.shape?.style&&GL(e.shape.style),t.background?.style&&GL(e.background.style),e}function GL(t){return ft(t)||t.angle&&(t.angle=ue(t.angle)),t}function VL(t={}){return ft(t.style)||(t.style=GL(t.style)),ft(t.state)||Object.keys(t.state).forEach((e=>{ft(t.state[e])||(t.state[e]=GL(t.state[e]))})),t}function jL(t){return ft(t)?null:(Object.keys(t).forEach((e=>{ft(t[e])||(t[e]=GL(t[e]))})),t)}const UL={left:{textAlign:"center",textBaseline:"bottom"},right:{textAlign:"center",textBaseline:"bottom"},radius:{},angle:{}},KL="PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol",$L=14,XL=$L,YL=4,qL={domainLine:{visible:!0,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},grid:{visible:!0,style:{lineWidth:1,stroke:"#EBEDF2",strokeOpacity:1,lineDash:[]}},subGrid:{visible:!1,style:{lineWidth:1,stroke:"#EBEDF2",strokeOpacity:1,lineDash:[4,4]}},tick:{visible:!0,tickSize:YL,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},subTick:{visible:!1,tickSize:YL/2,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},label:{visible:!0,space:1,style:{fontSize:XL,fill:"#89909D",fontWeight:"normal",fillOpacity:1},autoLimit:!0},title:{space:10,style:{fontSize:XL,fill:"#333333",fontWeight:"normal",fillOpacity:1}}};function ZL(t){const e=_t({},t);let i,r=e.title?.angle??0;"left"!==e.orient&&"right"!==e.orient||e.title?.autoRotate&&Z(e.title.angle)&&(r="left"===e.orient?-90:90,i=UL[e.orient]);const o=function(t,e){if(!t||!et(t))return t;const i={};return Object.keys(t).forEach((r=>{const o=t[r];let n=!1;e.forEach((t=>{(rt(t)&&t===r||t instanceof RegExp&&r.match(t))&&(n=!0)})),n||(i[r]=o)})),i}(e.label,["style","formatMethod","state"]);return{orient:e.orient,select:e.select,hover:e.hover,line:(n=e.domainLine,VL(n),VL(n.startSymbol),VL(n.endSymbol),n),label:{style:GL(e.label.style),formatMethod:e.label.formatMethod?(t,i,r)=>e.label.formatMethod(i.rawValue,i):null,state:jL(e.label.state),...o},tick:{visible:e.tick.visible,length:e.tick.tickSize,inside:e.tick.inside,alignWithLabel:e.tick.alignWithLabel,style:GL(e.tick.style),state:jL(e.tick.state),dataFilter:e.tick.dataFilter},subTick:{visible:e.subTick.visible,length:e.subTick.tickSize,inside:e.subTick.inside,count:e.subTick.tickCount,style:GL(e.subTick.style),state:jL(e.subTick.state)},grid:{type:"line",visible:e.grid.visible,alternateColor:e.grid.alternateColor,alignWithLabel:e.grid.alignWithLabel,style:GL(e.grid.style)},subGrid:{type:"line",visible:e.subGrid.visible,alternateColor:e.subGrid.alternateColor,style:GL(e.subGrid.style)},title:{visible:e.title.visible,position:e.title.position,space:e.title.space,autoRotate:!1,angle:r?ue(r):null,textStyle:_t({},i,GL(e.title.style)),padding:e.title.padding,shape:{visible:e.title.shape?.visible,space:e.title.shape?.space,style:GL(e.title.shape?.style)},background:{visible:e.title.background?.visible,style:GL(e.title.background?.style)},state:{text:jL(e.title.state),shape:jL(e.title.shape?.state),background:jL(e.title.background?.state)}},panel:{visible:e.background?.visible,style:GL(e.background?.style),state:jL(e.background?.state)}};var n}const JL="NO_AXISID_FRO_VTABLE";function QL(t){let e=!1;for(let i=0;i<t.length;i++){const r=t[i];if(r.chartSpec&&"wordCloud"!==r.chartSpec.type&&"radar"!==r.chartSpec.type&&"gauge"!==r.chartSpec.type&&"pie"!==r.chartSpec.type&&"funnel"!==r.chartSpec.type&&"rose"!==r.chartSpec.type){e=!0;break}}return e}function tE(t,e,i,r){let o=!1;if(r.indicatorsAsCol&&"row"===i||!r.indicatorsAsCol&&"col"===i)for(let t=0;t<r.indicatorsDefine.length;t++){const e=r.indicatorsDefine[t];if(e.chartSpec&&"pie"!==e.chartSpec.type&&"wordCloud"!==e.chartSpec.type&&"radar"!==e.chartSpec.type&&"gauge"!==e.chartSpec.type&&"funnel"!==e.chartSpec.type&&"rose"!==e.chartSpec.type){o=!0;break}}else{const i=r.getRawChartSpec(t,e);i?"pie"!==i.type&&"radar"!==i.type&&"gauge"!==i.type&&"wordCloud"!==i.type&&"funnel"!==i.type&&"rose"!==i.type&&(o=!0):o=!1}return o}function eE(t,e,i){const r=i.getRawChartSpec(t,e);if(r?.series){const t={};return r.data?.id&&(t[r.data.id]=void 0),r?.series.forEach((e=>{if(!e.data?.fromDataId)if(e.data?.transforms)t[e.data?.id??r.data?.id??"data"]=void 0;else{const i="horizontal"===e.direction?e.xField:e.yField;t[e.data?.id??r.data?.id??"data"]=e.data?.id?i:void 0}})),t}return r.data.id}function iE(t){let e=!1;for(let i=0;i<t.columnObjects.length;i++){if(t.columnObjects[i].chartSpec){e=!0;break}}return e}function rE(t,e){if(t&&ot(t.seriesId)&&t.seriesId.length>0){const i=e.filter((e=>!(e.orient!==t.orient||!e.seriesId||e.seriesId.length!==t.seriesId.length||!e.seriesId.every(((e,i)=>e===t.seriesId[i])))));if(i.length>0)return!0}return!1}class oE{seqId=0;_headerObjects;_headerObjectMap;_headerObjectsIncludeHided;_headerCellIds;_columns;_columnsIncludeHided;rowSeriesNumberColumn;leftRowSeriesNumberColumn;rightRowSeriesNumberColumn;leftRowSeriesNumberColumnCount=0;rightRowSeriesNumberColumnCount=0;columnTree;bodyRowSpanCount=1;hierarchyIndent;hierarchyTextStartAlignment;_transpose=!1;_showHeader=!0;_recordsCount=0;_table;_hasAggregation=!1;_hasAggregationOnTopCount=0;_hasAggregationOnBottomCount=0;rowHierarchyType;_cellRangeMap;constructor(t,e,i,r){this._cellRangeMap=new Map,this._showHeader=i,this._table=t,this._columns=[],this._columnsIncludeHided=[],this._headerCellIds=[],this.hierarchyIndent=r??20,this.hierarchyTextStartAlignment=t.options.hierarchyTextStartAlignment,this.columnTree=new WH(e,{seqId:0},null),this._headerObjectsIncludeHided=this._addHeaders(0,e,[]),this._headerObjects=this._headerObjectsIncludeHided.filter((t=>!0!==t.define.hide)),this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this.rowHierarchyType=function(t){if(t._table.options.groupBy)return!0;const{columns:e}=t._table.options;if(ot(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!rt(i)&&i.tree)return!0}return!1}(this)?"tree":"grid",this._hasAggregation=function(t){const e=t.columnObjects;for(let t=0;t<e.length;t++){const i=e[t];if(i?.aggregation)return!0}return!1}(this),this._hasAggregationOnBottomCount=function(t){const e=t.columnObjects;let i=0;for(let t=0;t<e.length;t++){const r=e[t];r?.aggregation&&(Array.isArray(r?.aggregation)?i=Math.max(i,r.aggregation.filter((t=>!t.showOnTop)).length):r.aggregation.showOnTop||(i=Math.max(i,1)))}return i}(this),this._hasAggregationOnTopCount=function(t){const e=t.columnObjects;let i=0;for(let t=0;t<e.length;t++){const r=e[t];r?.aggregation&&(Array.isArray(r?.aggregation)?i=Math.max(i,r.aggregation.filter((t=>t.showOnTop)).length):r.aggregation.showOnTop&&(i=Math.max(i,1)))}return i}(this),this.handleRowSeriesNumber(t.internalProps.rowSeriesNumber)}handleRowSeriesNumber(t){t&&(Array.isArray(t)?this.rowSeriesNumberColumn=t.map(((e,i)=>({id:this.seqId++,title:e.title,define:_t({field:"_vtable_rowSeries_number_"+i},e),cellType:e.cellType??"text",headerType:t.cellType??"text",style:e.style,width:e.width,format:e.format,field:e.field??"_vtable_rowSeries_number_"+i,icon:e.icon,headerIcon:e.headerIcon,isChildNode:!1}))):this.rowSeriesNumberColumn=[{id:this.seqId++,title:t.title,define:_t({field:"_vtable_rowSeries_number"},t),cellType:t.cellType??"text",headerType:t.cellType??"text",style:t.style,width:t.width,format:t.format,field:"_vtable_rowSeries_number",icon:t.icon,headerIcon:t.headerIcon,isChildNode:!1}],this.leftRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!0)),this.rightRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!1)),this.leftRowSeriesNumberColumnCount=this.leftRowSeriesNumberColumn.length,this.rightRowSeriesNumberColumnCount=this.rightRowSeriesNumberColumn.length)}get transpose(){return this._transpose}set transpose(t){this._transpose=t}get showHeader(){return this._showHeader}set showHeader(t){this._showHeader=t}isSeriesNumberInHeader(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return!1;if(e<this.headerLevelCount)return!0}if(this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount){if(this.transpose)return!1;if(e<this.headerLevelCount)return!0}return!1}isSeriesNumberInBody(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return!0;if(e>=this.headerLevelCount)return!0}if(this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount){if(this.transpose)return!0;if(e>=this.headerLevelCount)return!0}return!1}isSeriesNumber(t,e){if(J(t)&&J(e)){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount)return!0;if(this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount)return!0}return!1}getSeriesNumberHeader(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return;if(e<this.headerLevelCount)return Object.assign({},this.leftRowSeriesNumberColumn[t],{style:Object.assign({},this._table.transpose?this._table.internalProps.theme.rowHeaderStyle:this._table.internalProps.theme.headerStyle,this._table.internalProps.rowSeriesNumber.headerStyle)})}if(this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e<this.headerLevelCount){if(this.transpose)return;if(e<this.headerLevelCount)return this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]}}getSeriesNumberBody(t,e){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount){if(this.transpose)return this.leftRowSeriesNumberColumn[t];if(e>=this.headerLevelCount)return this.leftRowSeriesNumberColumn[t]}if(this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount){if(this.transpose)return this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)];if(e>=this.headerLevelCount)return this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]}}isHeader(t,e){return!!(this.transpose&&t>=this.leftRowSeriesNumberColumnCount&&t<this.headerLevelCount+this.leftRowSeriesNumberColumnCount)||!this.transpose&&e>=0&&e<this.headerLevelCount}isAggregation(t,e){if(this.hasAggregation){if(this.hasAggregationOnBottomCount)if(this.transpose){if(t>=this.colCount-this.hasAggregationOnBottomCount)return!0}else if(e>=this.rowCount-this.hasAggregationOnBottomCount)return!0;if(this.hasAggregationOnTopCount)if(this.transpose){if(t>=this.rowHeaderLevelCount&&t<this.rowHeaderLevelCount+this.hasAggregationOnTopCount)return!0}else if(e>=this.columnHeaderLevelCount&&e<this.columnHeaderLevelCount+this.hasAggregationOnTopCount)return!0}return!1}isTopAggregation(t,e){if(this.hasAggregationOnTopCount)if(this.transpose){if(t>=this.rowHeaderLevelCount&&t<this.rowHeaderLevelCount+this.hasAggregationOnTopCount)return!0}else if(e>=this.columnHeaderLevelCount&&e<this.columnHeaderLevelCount+this.hasAggregationOnTopCount)return!0;return!1}isBottomAggregation(t,e){if(this.hasAggregationOnBottomCount)if(this.transpose){if(t>=this.colCount-this.hasAggregationOnBottomCount)return!0}else if(e>=this.rowCount-this.hasAggregationOnBottomCount)return!0;return!1}get hasAggregation(){return this._hasAggregation}get hasAggregationOnTopCount(){return this._hasAggregationOnTopCount}get hasAggregationOnBottomCount(){return this._hasAggregationOnBottomCount}getAggregatorsByCell(t,e){return this.getColumnDefine(t,e).vtable_aggregator}getAggregatorsByCellRange(t,e,i,r){let o=[];if(!this.transpose){for(let r=t;r<=i;r++){const t=this.getColumnDefine(r,e);t.vtable_aggregator&&(o=o.concat(Array.isArray(t.vtable_aggregator)?t.vtable_aggregator:[t.vtable_aggregator]))}return o}for(let i=e;i<=r;i++){const e=this.getColumnDefine(t,i);e.vtable_aggregator&&(o=o.concat(Array.isArray(e.vtable_aggregator)?e.vtable_aggregator:[e.vtable_aggregator]))}return[]}getAggregatorOnTop(t,e){const i=this.getColumnDefine(t,e),r=i.vtable_aggregator,o=i.aggregation;if(Array.isArray(o)){const i=o.reduce(((t,e,i)=>(e.showOnTop&&t.push(i),t)),[]),n=i.map((t=>r[t]));return this.transpose?n[t-this.rowHeaderLevelCount]:n[e-this.columnHeaderLevelCount]}return this.transpose&&t-this.rowHeaderLevelCount==0?o?.showOnTop?r:null:this.transpose||e-this.columnHeaderLevelCount!=0?null:o?.showOnTop?r:null}getAggregatorOnBottom(t,e){const i=this.getColumnDefine(t,e),r=i.vtable_aggregator,o=i.aggregation;if(Array.isArray(o)){const i=o.reduce(((t,e,i)=>(e.showOnTop||t.push(i),t)),[]),n=i.map((t=>r[t]));return this.transpose?n[t-(this.colCount-this.hasAggregationOnBottomCount)]:n[e-(this.rowCount-this.hasAggregationOnBottomCount)]}return this.transpose&&t-(this.colCount-this.hasAggregationOnBottomCount)==0?o?.showOnTop?null:r:this.transpose||e-(this.rowCount-this.hasAggregationOnBottomCount)!=0||o?.showOnTop?null:r}getAggregatorCellAddress(t,e,i,r){const o=[],n=this.hasAggregationOnTopCount,s=this.hasAggregationOnBottomCount;if(this.transpose)for(let i=e;i<=r;i++){if(this.getColumnDefine(t,i).vtable_aggregator){for(let t=0;t<n;t++)o.push({col:this.headerLevelCount+t,row:i});for(let t=0;t<s;t++)o.push({col:this.rowCount-s+t,row:i})}}else for(let r=t;r<=i;r++){if(this.getColumnDefine(r,e).vtable_aggregator){for(let t=0;t<n;t++)o.push({col:r,row:this.headerLevelCount+t});for(let t=0;t<s;t++)o.push({col:r,row:this.rowCount-s+t})}}return o}getCellLocation(t,e){return this.isHeader(t,e)?this.transpose?"rowHeader":"columnHeader":"body"}isRowHeader(t,e){return!!(this.transpose&&t>=this.leftRowSeriesNumberColumnCount&&t<this.headerLevelCount+this.leftRowSeriesNumberColumnCount)}isColumnHeader(t,e){return!this.transpose&&e>=0&&e<=this.headerLevelCount-1&&t>=this.leftRowSeriesNumberColumnCount&&t<this.colCount-this.rightRowSeriesNumberColumnCount}isFrozenColumn(t,e){if(J(e)){if(t>=0&&t<this.frozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.frozenColCount>0&&t>=0&&t<this.frozenColCount)return!0;return!1}isRightFrozenColumn(t,e){if(J(e)){if(t>=this.colCount-this.rightFrozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.rightFrozenColCount>0&&t>=this.colCount-this.rightFrozenColCount)return!0;return!1}isFrozenRow(t,e){if(J(e)){if(e>=0&&e<this.frozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.frozenRowCount>0&&e>=0&&e<this.frozenRowCount)return!0;return!1}isBottomFrozenRow(t,e){if(J(e)){if(e>=this.rowCount-this.bottomFrozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.bottomFrozenRowCount>0&&e>=this.rowCount-this.bottomFrozenRowCount)return!0;return!1}isLeftTopCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=0&&e<this.frozenRowCount}isLeftBottomCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}isRightTopCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=0&&e<this.frozenRowCount}isRightBottomCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}isCornerHeader(t,e){return!1}getColumnHeaderRange(){return this.transpose?{start:{col:0,row:0},end:{col:this._headerCellIds.length-1,row:(this.rowCount??0)-1}}:{start:{col:0,row:0},end:{col:(this.colCount??0)-1,row:this._headerCellIds.length-1}}}getRowHeaderRange(){return this.transpose?{start:{col:0,row:0},end:{col:this._headerCellIds.length-1,row:(this.rowCount??0)-1}}:{start:{col:0,row:0},end:{col:(this.colCount??0)-1,row:this._headerCellIds.length-1}}}getCornerHeaderRange(){}getBodyRange(){return this.transpose?{start:{col:this.headerLevelCount,row:0},end:{col:(this.colCount??0)-1,row:(this.rowCount??0)-1}}:{start:{col:0,row:this.headerLevelCount},end:{col:(this.colCount??0)-1,row:(this.rowCount??0)-1}}}get headerLevelCount(){return this.showHeader?this._headerCellIds.length:0}get columnHeaderLevelCount(){return this.transpose?0:this.headerLevelCount}get rowHeaderLevelCount(){return this.transpose?this.headerLevelCount:0}get frozenColCount(){return this._table.internalProps.frozenColCount?this.colCount>this._table.internalProps.frozenColCount?this._table.internalProps.frozenColCount:this.colCount:0}get frozenRowCount(){return this._table.internalProps.frozenRowCount?this.rowCount>=this._table.internalProps.frozenRowCount?this._table.internalProps.frozenRowCount:this.rowCount:0}get bottomFrozenRowCount(){return this._table.internalProps.bottomFrozenRowCount?this.rowCount-this.headerLevelCount>=this._table.internalProps.bottomFrozenRowCount?this._table.internalProps.bottomFrozenRowCount:this.rowCount-this.headerLevelCount:0}get rightFrozenColCount(){return this._table.internalProps.rightFrozenColCount?this.colCount-this.frozenColCount>=this._table.internalProps.rightFrozenColCount?this._table.internalProps.rightFrozenColCount:Math.max(0,this.colCount-this.frozenColCount):0}get colCount(){return this.transpose?this.headerLevelCount+this.recordsCount+this.leftRowSeriesNumberColumnCount+this.rightRowSeriesNumberColumnCount:this._columns.length+this.leftRowSeriesNumberColumnCount+this.rightRowSeriesNumberColumnCount}get rowCount(){return this.transpose?this._columns.length:this.headerLevelCount+this.recordsCount}get bodyRowCount(){return this.transpose?this._columns.length:this.rowCount-this.bottomFrozenRowCount-this.headerLevelCount}get bodyColCount(){return this.transpose?this.colCount-this.rightFrozenColCount-this.rowHeaderLevelCount:this._columns.length}get recordsCount(){return this._recordsCount}set recordsCount(t){this._recordsCount=t}get headerObjects(){return this._headerObjects}get columnObjects(){return this._columns}get headerObjectsIncludeHided(){return this._headerObjectsIncludeHided}get columnWidths(){if(this.leftRowSeriesNumberColumnCount){const t=this.leftRowSeriesNumberColumn.map((t=>({width:t.width,minWidth:t.minWidth,maxWidth:t.maxWidth})));return t.push(...this._columns.map((t=>({width:t.width,minWidth:t.minWidth,maxWidth:t.maxWidth})))),t}return this._columns.map((t=>({width:t.width,minWidth:t.minWidth,maxWidth:t.maxWidth})))}getColumnWidthDefined(t){if(t>=0){if(t<this.leftRowSeriesNumberColumnCount)return this.leftRowSeriesNumberColumn[t];if(this.transpose){let e,i,r=0;if(t>=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount){let t;return this.columnObjects.forEach(((o,n)=>{"number"==typeof o.width?r=Math.max(o.width,r):"auto"===o.width&&(t=!0),"number"==typeof o.minWidth&&(i=Math.max(o.minWidth,i)),"number"==typeof o.maxWidth&&(e=Math.max(o.maxWidth,e))})),r=r>0?r:t?"auto":void 0,{width:r,minWidth:i,maxWidth:e}}if(this.isRowHeader(t,0)){const e=Array.isArray(this._table.defaultHeaderColWidth)?this._table.defaultHeaderColWidth[t]??this._table.defaultColWidth:this._table.defaultHeaderColWidth;return"auto"===e?{width:"auto"}:{width:e}}}return this._columns[t-this.leftRowSeriesNumberColumnCount]}}getCellId(t,e){return this.transpose?t>=this.headerLevelCount+this.leftRowSeriesNumberColumnCount?this._columns[e]?.id:this.isSeriesNumber(t,e)?e+"_series_number":this._headerCellIds[t-this.leftRowSeriesNumberColumnCount]?.[e]:this.isSeriesNumber(t,e)?this.rowSeriesNumberColumn[t].id:this.headerLevelCount<=e?this._columns[t-this.leftRowSeriesNumberColumnCount]?.id:this._headerCellIds[e]?.[t-this.leftRowSeriesNumberColumnCount]}getHeader(t,e){if(this.isSeriesNumberInHeader(t,e))return this.getSeriesNumberHeader(t,e);const i=this.getCellId(t,e);return this._headerObjectMap[i]}getHeaderField(t,e){if(this.isSeriesNumberInHeader(t,e))return this.getSeriesNumberHeader(t,e)?.field;if(this.isSeriesNumberInBody(t,e))return this.getSeriesNumberBody(t,e)?.field;const i=this.getCellId(t,e);return this._headerObjectMap[i]?.field||(this.transpose?this._columns[e]&&this._columns[e].field:this._columns[t-this.leftRowSeriesNumberColumnCount]&&this._columns[t-this.leftRowSeriesNumberColumnCount].field)}getHeaderCellAdressById(t){for(let e=0;e<this._headerCellIds.length;e++){const i=this._headerCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return this.transpose?{col:e,row:r}:{col:r+this.leftRowSeriesNumberColumnCount,row:e}}}getHeaderCellAddressByField(t){const e=this.headerObjects.find((e=>e&&e.field===t));return e&&this.getHeaderCellAdressById(e.id)}getBody(t,e){return this.isSeriesNumber(t,e)?this.getSeriesNumberBody(t,e):this.transpose?this._columns[e]:this._columns[t-this.leftRowSeriesNumberColumnCount]}getBodyLayoutRangeById(t){if(this.transpose){for(let e=0;e<(this.rowCount??0);e++)if(t===this._columns[e].id)return{start:{col:0,row:e},end:{col:0,row:e}}}else for(let e=this.leftRowSeriesNumberColumnCount;e<(this.colCount??0);e++)if(t===this._columns[e-this.leftRowSeriesNumberColumnCount].id)return{start:{col:e,row:0},end:{col:e,row:0}};return{start:{col:-1,row:-1},end:{col:-1,row:-1}}}getCellRange(t,e){return function(t,e,i){if(-1===t||-1===e)return{start:{col:t,row:e},end:{col:t,row:e}};if(i._cellRangeMap.has(`$${t}$${e}`))return i._cellRangeMap.get(`$${t}$${e}`);let r={start:{col:t,row:e},end:{col:t,row:e}};if(i.transpose)r=function(t,e,i){const r={start:{col:t,row:e},end:{col:t,row:e}};if(i.headerLevelCount+i.leftRowSeriesNumberColumnCount<=t||-1===t&&-1===e){if(i.headerLevelCount+i.leftRowSeriesNumberColumnCount<=t&&i.columnObjects[e]?.define?.mergeCell){const o=i._table.getCellValue(t,e);for(let n=t-1;n>=i.headerLevelCount+i.leftRowSeriesNumberColumnCount;n--){const s=i._table.getCellValue(n,e);if("boolean"==typeof i.columnObjects[e].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[e].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:n,row:e},table:i._table}))break;r.start.col=n}for(let n=t+1;n<(i.colCount??0);n++){const s=i._table.getCellValue(n,e);if("boolean"==typeof i.columnObjects[e].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[e].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:n,row:e},table:i._table}))break;r.end.col=n}}return r}const o=i.getCellId(t,e);for(let n=e-1;n>=0&&o===i.getCellId(t,n);n--)r.start.row=n;for(let n=e+1;n<(i.rowCount??0)&&o===i.getCellId(t,n);n++)r.end.row=n;for(let n=t-1;n>=0&&o===i.getCellId(n,e);n--)r.start.col=n;for(let n=t+1;n<i.headerLevelCount+i.leftRowSeriesNumberColumnCount&&o===i.getCellId(n,e);n++)r.end.col=n;return r}(t,e,i);else if(i.headerLevelCount<=e){if(i.headerLevelCount<=e&&i.columnObjects[t-i.leftRowSeriesNumberColumnCount]?.define?.mergeCell){const o=i._table.getCellValue(t,e);for(let n=e-1;n>=i.headerLevelCount;n--){const s=i._table.getCellValue(t,n);if("boolean"==typeof i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:t,row:n},table:i._table}))break;r.start.row=n}for(let n=e+1;n<i.rowCount;n++){const s=i._table.getCellValue(t,n);if("boolean"==typeof i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell){if(o!==s)break}else if(!i.columnObjects[t-i.leftRowSeriesNumberColumnCount].define.mergeCell(o,s,{source:{col:t,row:e},target:{col:t,row:n},table:i._table}))break;r.end.row=n}}!function(t,e,i,r){if("tree"!==r.rowHierarchyType)return;const o=r._table.getCellRawRecord(t,e);r._table.internalProps.rowSeriesNumber?.enableTreeCheckbox?o?.vtableMerge&&t>=r.leftRowSeriesNumberColumnCount&&(i.start.col=r.rowHeaderLevelCount+r.leftRowSeriesNumberColumnCount,i.end.col=r.colCount-1,i.start.row=i.end.row=e):o?.vtableMerge&&(i.start.col=r.rowHeaderLevelCount,i.end.col=r.colCount-1,i.start.row=i.end.row=e)}(t,e,r,i)}else{const o=i.getCellId(t,e);for(let n=t-1;n>=0&&o===i.getCellId(n,e);n--)r.start.col=n;for(let n=t+1;n<(i.colCount??0)&&o===i.getCellId(n,e);n++)r.end.col=n;for(let n=e-1;n>=0&&o===i.getCellId(t,n);n--)r.start.row=n;for(let n=e+1;n<i.headerLevelCount&&o===i.getCellId(t,n);n++)r.end.row=n}return i._cellRangeMap.set(`$${t}$${e}`,r),r}(t,e,this)}isCellRangeEqual(t,e,i,r){const o=this.getCellRange(t,e),n=this.getCellRange(i,r);return o.start.col===n.start.col&&o.end.col===n.end.col&&o.start.row===n.start.row&&o.end.row===n.end.row}getRecordShowIndexByCell(t,e){const i=this.hasAggregationOnTopCount?this.headerLevelCount+1:this.headerLevelCount;return this.transpose?t<i?-1:t-i:e<i?-1:e-i}getRecordStartRowByRecordIndex(t){return(this.hasAggregationOnTopCount?this.headerLevelCount+1:this.headerLevelCount)+t}_addHeaders(t,e,i,r){const o=[],n=this._newRow(t,r);return e.forEach((e=>{const s=this._columns.length,a=this.seqId++,l={id:a,title:e.title??e.caption,headerIcon:e.headerIcon,field:e.field,style:e.headerStyle,headerType:e.headerType??"text",dropDownMenu:e.dropDownMenu,define:e,columnWidthComputeMode:e.columnWidthComputeMode};o[a]=l;for(let e=t-1;e>=0;e--)this._headerCellIds[e]&&(this._headerCellIds[e][s]=i[e]);if(r?this._headerCellIds[t-1]&&(n[s]=this._headerCellIds[t-1][s]):n[s]=a,e.columns){const n=e.columns.every((t=>t.hide));!n&&this._addHeaders(t+1,e.columns,[...i,a],e.hideColumnsSubHeader||r).forEach((t=>o.push(t)))}else{const i={id:this.seqId++,field:e.field,fieldFormat:e.fieldFormat,width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth,icon:e.icon,cellType:e.cellType??e.columnType??"text",chartModule:"chartModule"in e?e.chartModule:null,chartSpec:"chartSpec"in e?e.chartSpec:null,sparklineSpec:"sparklineSpec"in e?e.sparklineSpec:Gv,style:e.style,define:e,columnWidthComputeMode:e.columnWidthComputeMode,disableColumnResize:e?.disableColumnResize,aggregation:e.aggregation,isChildNode:t>=1};if(this._columnsIncludeHided.push(i),!0!==e.hide){this._columns.push(i);for(let e=t+1;e<this._headerCellIds.length;e++)this._headerCellIds[e][s]=a}}})),o}_newRow(t,e=!1){if(this._headerCellIds[t]){const e=this._headerCellIds[t-1];if(e.length>this._headerCellIds[t].length)for(let i=this._headerCellIds[t].length;i<e.length;i++)this._headerCellIds[t][i]=e[i];return this._headerCellIds[t]}if(e)return[];const i=this._headerCellIds[t]=[];if(!this._columns.length)return i;const r=this._headerCellIds[t-1];for(let t=0;t<r.length;t++)i[t]=r[t];return i}getCellHeaderPaths(t,e){if(this.isSeriesNumber(t,e))return;let i=[],r=[];return this.transpose?r=[{field:this._columns[e].field}]:i=[{field:this._columns[t-this.leftRowSeriesNumberColumnCount].field}],{colHeaderPaths:i,rowHeaderPaths:r,cellLocation:this.getCellLocation(t,e)}}getParentCellId(t,e){if(0!==e){if(this.isColumnHeader(t,e))return this.getCellId(t,e-1);if(this.isRowHeader(t,e)){if(this.isSeriesNumberInBody(t-1,e))return;return this.getCellId(t-1,e)}}}canMoveHeaderPosition(t,e){if(this.isSeriesNumberInHeader(e.col,e.row)||this.isSeriesNumberInHeader(t.col,t.row))return!1;if(!this.transpose&&this.isSeriesNumberInBody(e.col,e.row)&&this.isSeriesNumberInBody(t.col,t.row)){const i=this.getRecordShowIndexByCell(0,t.row),r=this.getRecordShowIndexByCell(0,e.row);return this._table.dataSource.canChangeOrder(i,r)}if(this.transpose&&this.isSeriesNumberInBody(e.col,e.row)&&this.isSeriesNumberInBody(t.col,t.row)&&(this.getBody(t.col+this.leftRowSeriesNumberColumnCount,t.row).isChildNode&&this.getBody(e.col+this.leftRowSeriesNumberColumnCount,e.row).isChildNode?(t.col=t.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1,e.col=e.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1):(t.col=t.col+this.leftRowSeriesNumberColumnCount,e.col=e.col+this.leftRowSeriesNumberColumnCount)),t.col<0||t.row<0||e.col<0||e.row<0)return!1;if("disabled"===this._table.internalProps.frozenColDragHeaderMode&&this._table.isFrozenColumn(e.col))return!1;const i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){return this.getParentCellId(t.col,i.start.row)===this.getParentCellId(e.col,i.start.row)}if(this.isRowHeader(t.col,t.row)){return this.getParentCellId(i.start.col,t.row)===this.getParentCellId(i.start.col,e.row)}return!1}moveHeaderPosition(t,e){if((this._table.options.dragOrder?.validateDragOrderOnEnd(t,e)||!this._table.options.dragOrder?.validateDragOrderOnEnd)&&this.canMoveHeaderPosition(t,e)){let i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){const r=i.end.col-i.start.col+1;let o;const n=this.getCellRange(e.col,i.start.row);if(o=e.col>=t.col?n.end.col-r+1:n.start.col,o===i.start.col)return null;for(let t=0;t<this._headerCellIds.length;t++){const e=this._headerCellIds[t].splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);e.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._headerCellIds[t],e)}const s=this._columns.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);return s.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columns,s),this.columnTree.movePosition(i.start.row,i.start.col-this.leftRowSeriesNumberColumnCount,o-this.leftRowSeriesNumberColumnCount),this.columnTree.reset(this.columnTree.tree.children),this._cellRangeMap=new Map,{sourceIndex:i.start.col,targetIndex:o,sourceSize:r,targetSize:n.end.col-n.start.col+1,moveType:"column"}}if(this.isRowHeader(t.col,t.row)||this.isSeriesNumberInBody(t.col,t.row)&&this.transpose){this.isSeriesNumberInBody(t.col,t.row)&&(i=this.getCellRange(t.col+this.leftRowSeriesNumberColumnCount,t.row));const r=i.end.row-i.start.row+1;let o;const n=this.getCellRange(i.start.col,e.row);if(o=e.row>=t.row?n.end.row-r+1:n.start.row,o===i.start.row)return null;for(let t=0;t<this._headerCellIds.length;t++){const e=this._headerCellIds[t].splice(i.start.row,r);e.unshift(o,0),Array.prototype.splice.apply(this._headerCellIds[t],e)}const s=this._columns.splice(i.start.row,r);return s.unshift(o,0),Array.prototype.splice.apply(this._columns,s),this.columnTree.movePosition(i.start.col-this.leftRowSeriesNumberColumnCount,i.start.row,o+(e.row>t.row?i.end.row-i.start.row:0)),this.columnTree.reset(this.columnTree.tree.children),this._cellRangeMap=new Map,{sourceIndex:i.start.row,targetIndex:o,sourceSize:r,targetSize:n.end.row-n.start.row+1,moveType:"row"}}if(this.isSeriesNumberInBody(t.col,t.row))return{sourceIndex:t.row,targetIndex:e.row,sourceSize:1,targetSize:1,moveType:"row"}}return null}toggleHierarchyState(t){const e=t.add.map((t=>({col:0,row:this._table.columnHeaderLevelCount+t}))),i=t.remove.map((t=>({col:0,row:this._table.columnHeaderLevelCount+t})));return{addCellPositions:e,removeCellPositions:i}}setChartInstance(t,e,i){const r=this.transpose?this._columns[e]:this._columns[t-this.leftRowSeriesNumberColumnCount];"function"!=typeof r.chartSpec&&(r.chartInstance=i)}getChartInstance(t,e){return(this.transpose?this._columns[e]:this._columns[t-this.leftRowSeriesNumberColumnCount]).chartInstance}checkHasChart(){return iE(this)}getAxisConfigInPivotChart(t,e){}isEmpty(t,e){return!1}isAxisCell(t,e){return!1}getChartAxes(t,e){return[]}isShareChartSpec(t,e){const i=this.getBody(t,e),r=i?.chartSpec;return"function"!=typeof r}isNoChartDataRenderNothing(t,e){const i=this.getBody(t,e);return(i?.define).noDataRenderNothing}getChartSpec(t,e){return this.getRawChartSpec(t,e)}getRawChartSpec(t,e){const i=this.getBody(t,e),r=i?.chartSpec;if("function"==typeof r){return r({col:t,row:e,dataValue:this._table.getCellOriginValue(t,e)||"",value:this._table.getCellValue(t,e)||"",rect:this._table.getCellRangeRelativeRect(this._table.getCellRange(t,e)),table:this._table})}return r}getChartDataId(t,e){return eE(t,e,this)}release(){const t=this._table._getActiveChartInstance();t?.release(),this.columnObjects.forEach((t=>{t.chartInstance?.release()}))}clearCellRangeMap(){this._cellRangeMap.clear()}updateColumnTitle(t,e,i){const r=this._table.internalProps.layoutMap.getHeader(t,e);r.title=i,r.define.title=i}getColumnByField(t){const e=this.columnObjects?.reduce(((e,i,r)=>(i.field===t&&e.push({col:r,columnDefine:i}),e)),[]);return e}getColumnByKey(t){let e;const i=this.columnObjects?.find(((i,r)=>i.define?.key===t&&(e=r,!0)));return{columnDefine:i,col:e}}getColumnDefine(t,e){if(t>=0)return t<this.leftRowSeriesNumberColumnCount?this.leftRowSeriesNumberColumn[t].define:this.transpose?this._columns[e].define:this._columns[t-this.leftRowSeriesNumberColumnCount].define}}class nE{table;editingEditor;isValidatingValue=!1;editCell;listenersId=[];constructor(t){this.table=t,this.bindEvent()}bindEvent(){const t=this.table,e=t.on(_v.DBLCLICK_CELL,(e=>{const{editCellTrigger:i="doubleclick"}=t.options;if(!i.includes("doubleclick"))return;const{col:r,row:o}=e,n=UA(e.federatedEvent),s=t.scenegraph.getResizeColAt(n.abstractPos.x,n.abstractPos.y,n.eventArgs?.targetCell);t._canResizeColumn(s.col,s.row)&&s.col>=0||this.startEditCell(r,o)})),i=t.on(_v.CLICK_CELL,(e=>{const{editCellTrigger:i="doubleclick"}=t.options;if("click"===i||Array.isArray(i)&&i.includes("click")){const{col:t,row:i}=e;this.startEditCell(t,i)}}));this.listenersId.push(e,i)}startEditCell(t,e,i){if(this.editingEditor)return;const r=this.table.getEditor(t,e);if(r){if(this.table.internalProps.layoutMap?.isAggregation?.(t,e))return;this.editingEditor||(this.editCell={col:t,row:e}),this.table._makeVisibleCell(t,e),this.editingEditor=r;const o=J(i)?i:this.table.getCellOriginValue(t,e),n=this.table.getCellRangeRelativeRect(this.table.getCellRange(t,e)),s={rect:{left:n.left,top:n.top,width:n.width,height:n.height}};t===this.table.colCount-1&&(s.rect.width=n.width-1),e===this.table.rowCount-1&&(s.rect.height=n.height-1),r.beginEditing,r.beginEditing?.(this.table.getElement(),s,o),r.bindSuccessCallback,r.bindSuccessCallback?.((()=>{this.completeEdit()})),r.onStart?.({value:o,endEdit:()=>{this.completeEdit()},referencePosition:s,container:this.table.getElement(),col:t,row:e,table:this.table})}}completeEdit(t){if(!this.editingEditor)return!0;if(this.isValidatingValue)return!1;const e=t?.target,{editingEditor:i}=this;if(e)if(i.targetIsOnEditor){if(i.targetIsOnEditor(e))return!1}else if(!i.isEditorElement||i.isEditorElement(e))return!1;if(this.editingEditor.getValue,this.editingEditor.validateValue){this.isValidatingValue=!0;const t=this.editingEditor.getValue(),e=this.table.getCellOriginValue(this.editCell.col,this.editCell.row),i=this.editingEditor.validateValue?.(t,e,this.editCell,this.table);return dv(i)?(this.isValidatingValue=!0,new Promise(((t,r)=>{i.then((i=>{sE(i,this,e,t)})).catch((t=>{this.isValidatingValue=!1,r(t)}))}))):sE(i,this,e)}return this.doExit(),!0}doExit(){const t=this.editingEditor.getValue?.(),e=this.table.getCellRange(this.editCell.col,this.editCell.row),i=[];for(let r=e.start.row;r<=e.end.row;r++){const r=[];for(let i=e.start.col;i<=e.end.col;i++)r.push(t);i.push(r)}this.table.changeCellValues(e.start.col,e.start.row,i),this.editingEditor.exit,this.editingEditor.exit?.(),this.editingEditor.onEnd?.(),this.editingEditor=null,this.isValidatingValue=!1}cancelEdit(){this.editingEditor&&(this.editingEditor.exit?.(),this.editingEditor.onEnd?.(),this.editingEditor=null)}release(){this.listenersId.forEach((t=>{this.table.off(t)}))}}function sE(t,e,i,r){return e.isValidatingValue=!1,"validate-exit"===t?(e.doExit(),r?.(!0),!0):"invalidate-exit"===t?(e.editingEditor.setValue(i),e.doExit(),r?.(!0),!0):"validate-not-exit"===t||"invalidate-not-exit"===t?(r?.(!1),!1):!0===t?(e.doExit(),r?.(!0),!0):(r?.(!1),!1)}function aE(t){if(rt(t))return{groupByRules:[t]};if(ot(t)){return{groupByRules:t.map((t=>rt(t)?t:t.key))}}return{}}function lE(t,e,i,r){if("group"===r)return r;if("sort"===r&&!i.options.groupBy)return r;let o="normal";if(i.options.groupBy)o="group";else if(!i.isHeader(t,e)&&i.dataSource.lastOrderField){i.getBodyField(t,e)===i.dataSource.lastOrderField&&(o="sort")}return o}function hE(t){let e=t.sortState;e=!e||Array.isArray(e)?e:[e],e&&(e=e.map((e=>(e.orderFn=t._getSortFuncFromHeaderOption(void 0,e.field)??Xw,e))),t.dataSource.sort(e))}class cE extends Hk{showHeader=!0;listTreeStickCellPlugin;constructor(t,e){"node"===Ew.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),super(t,e);const i=this.internalProps;if(i.frozenColDragHeaderMode=e.dragOrder?.frozenColDragHeaderMode??e.frozenColDragHeaderMode,this.pagination=e.pagination,i.sortState=e.sortState,i.multipleSort=!!e.multipleSort,i.dataConfig=e.groupBy?aE(e.groupBy):{},i.columns=e.columns?WL(e.columns,["children"]):e.header?WL(e.header,["children"]):[],WA(this),i.enableTreeNodeMerge=e.enableTreeNodeMerge??J(e.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.showHeader=e.showHeader??!0,this.internalProps.columnWidthConfig=e.columnWidthConfig,this.transpose=e.transpose??!1,"node"!==Ew.mode&&(this.editorManager=new nE(this)),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,e.dataSource?this.dataSource=e.dataSource:e.records?this.setRecords(e.records,{sortState:i.sortState}):this.setRecords([]),e.title){const t=sx.getComponent("title");i.title=new t(e.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}if(e.enableTreeStickCell){const t=sx.getComponent("listTreeStickCellPlugin");this.listTreeStickCellPlugin=new t(this)}setTimeout((()=>{this.fireListeners(_v.INITIALIZED,null)}),0)}isListTable(){return!0}isPivotTable(){return!1}isPivotChart(){return!1}get sortState(){return this.internalProps.sortState}get records(){return this.dataSource?.records}get recordsCount(){return this.dataSource.records.length}updateColumns(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.columns=WL(t,["children"]),WA(this),this.options.columns=t,this.internalProps.headerHelper.setTableColumnsEditor(),this._hasAutoImageColumn=void 0,this.refreshHeader(),this.dataSource.updateColumns?.(this.internalProps.columns),this.records&&function(t){for(let e=0;e<t.length;e++)if(t[e].aggregation)return!0;return!1}(t)&&this.dataSource.processRecords(this.dataSource.dataSourceObj?.records??this.dataSource.dataSourceObj),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyBottomStyleCache=new Map,this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.renderAsync(),this.eventManager.updateEventBinder()}get columns(){return this.internalProps.layoutMap.columnTree.getCopiedTree()}get header(){return this.internalProps.columns}set header(t){this.internalProps.columns=t,WA(this),this.options.header=t,this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.renderAsync()}get transpose(){return this.internalProps.transpose??!1}set transpose(t){this.internalProps.transpose!==t&&(this.internalProps.transpose=t,this.internalProps.layoutMap&&(this.internalProps.layoutMap.transpose=t,this.refreshRowColCount(),this._resetFrozenColCount(),this.renderAsync()))}getCellValue(t,e,i){if(-1===t||-1===e)return null;if(!i){const i=this.getCustomMergeValue(t,e);if(i)return i}const r=this;if(r.internalProps.layoutMap.isSeriesNumber(t,e)){if(r.internalProps.layoutMap.isSeriesNumberInHeader(t,e)){const{title:i}=r.internalProps.layoutMap.getSeriesNumberHeader(t,e);return i}let i;if(this.options.groupBy){const o=r.getCellRawRecord(t,e);if(o?.vtableMerge)return"";i=this.dataSource.getGroupSeriesNumber(e-this.columnHeaderLevelCount)}else i=e-this.columnHeaderLevelCount+1;const{format:o}=r.internalProps.layoutMap.getSeriesNumberBody(t,e);return"function"==typeof o?o(t,e,this,i):i}if(r.internalProps.layoutMap.isHeader(t,e)){const{title:i}=r.internalProps.layoutMap.getHeader(t,e);return"function"==typeof i?i():i}if(r.internalProps.layoutMap.isAggregation(t,e)){if(r.internalProps.layoutMap.isTopAggregation(t,e)){const i=r.internalProps.layoutMap.getAggregatorOnTop(t,e);return i?.formatValue?i.formatValue(t,e,this):""}if(r.internalProps.layoutMap.isBottomAggregation(t,e)){const i=r.internalProps.layoutMap.getAggregatorOnBottom(t,e);return i?.formatValue?i.formatValue(t,e,this):""}}const{field:o,fieldFormat:n}=r.internalProps.layoutMap.getBody(t,e);return r.getFieldData(n||o,t,e)}getCellOriginValue(t,e){if(-1===t||-1===e)return null;const i=this;if(i.internalProps.layoutMap.isSeriesNumber(t,e)){if(i.internalProps.layoutMap.isSeriesNumberInHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getSeriesNumberHeader(t,e);return r}const{format:r}=i.internalProps.layoutMap.getSeriesNumberBody(t,e);return"function"==typeof r?r(t,e,this):e-this.columnHeaderLevelCount}if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(i.internalProps.layoutMap.isAggregation(t,e)){if(i.internalProps.layoutMap.isTopAggregation(t,e)){const r=i.internalProps.layoutMap.getAggregatorOnTop(t,e);return r?.value()}if(i.internalProps.layoutMap.isBottomAggregation(t,e)){const r=i.internalProps.layoutMap.getAggregatorOnBottom(t,e);return r?.value()}}const{field:r}=i.internalProps.layoutMap.getBody(t,e);return i.getFieldData(r,t,e)}getCellRawValue(t,e){if(-1===t||-1===e)return null;const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}const{field:r}=i.internalProps.layoutMap.getBody(t,e);return i.getRawFieldData(r,t,e)}getRecordShowIndexByCell(t,e){const{layoutMap:i}=this.internalProps;return i.getRecordShowIndexByCell(t,e)}getRecordIndexByCell(t,e){const{layoutMap:i}=this.internalProps,r=i.getRecordShowIndexByCell(t,e);return this.dataSource.getRecordIndexPaths(r)}getTableIndexByRecordIndex(t){return this.transpose?this.dataSource.getTableIndex(t)+this.rowHeaderLevelCount:this.dataSource.getTableIndex(t)+this.columnHeaderLevelCount}getTableIndexByField(t){const e=this.internalProps.layoutMap.columnObjects.find((e=>e.field===t));if(!e)return-1;const i=this.internalProps.layoutMap.getBodyLayoutRangeById(e.id);return this.transpose?i.start.row:i.start.col}getCellAddrByFieldRecord(t,e){return this.transpose?{col:this.getTableIndexByRecordIndex(e),row:this.getTableIndexByField(t)}:{col:this.getTableIndexByField(t),row:this.getTableIndexByRecordIndex(e)}}getCellOriginRecord(t,e){const i=this,r=i.getRecordShowIndexByCell(t,e);if(r>-1)return i.dataSource.get(r)}getCellRawRecord(t,e){const i=this,r=i.getRecordShowIndexByCell(t,e);if(r>-1)return i.dataSource.getRaw(r)}_canResizeColumn(t,e){const i=super._canResizeColumn(t,e);if(i&&!this.transpose){const i=this.internalProps.layoutMap.getBody(t,this.columnHeaderLevelCount),r=this.internalProps.layoutMap.isSeriesNumber(t,e);if(i?.disableColumnResize)return!1;if(r&&!0===this.internalProps.rowSeriesNumber.disableColumnResize)return!1}return i}updateOption(t){const e=this.internalProps;if(super.updateOption(t),e.frozenColDragHeaderMode=t.dragOrder?.frozenColDragHeaderMode??t.frozenColDragHeaderMode,this.pagination=t.pagination,e.sortState=t.sortState,e.dataConfig=t.groupBy?aE(t.groupBy):{},this.showHeader=t.showHeader??!0,e.columns=t.columns?WL(t.columns,["children"]):t.header?WL(t.header,["children"]):[],WA(this),e.enableTreeNodeMerge=t.enableTreeNodeMerge??J(t.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.transpose=t.transpose??!1,this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.internalProps.columnWidthConfig=t.columnWidthConfig,e.releaseList&&(e.releaseList.forEach((t=>t?.release?.())),e.releaseList=null),t.dataSource?this.dataSource=t.dataSource:t.records?this.setRecords(t.records,{sortState:t.sortState}):(this._resetFrozenColCount(),this.scenegraph.createSceneGraph(),this.render()),t.title){const i=sx.getComponent("title");e.title=new i(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return new Promise((t=>{setTimeout(t,0)}))}updatePagination(t){this.pagination&&("number"==typeof t.currentPage&&t.currentPage>=0&&(this.pagination.currentPage=t.currentPage),t.perPageCount&&(this.pagination.perPageCount=t.perPageCount||this.pagination.perPageCount),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.dataSource.updatePagination(this.pagination),this.refreshRowColCount(),this.stateManager.initCheckedState(this.records),this.scenegraph.createSceneGraph(),this.renderAsync())}refreshHeader(){const t=this,e=t.internalProps,i=t.transpose,r=t.showHeader;(e.layoutMap=new oE(this,e.columns??[],r,t.options.hierarchyIndent)).transpose=i,i||this.setMinMaxLimitWidth(!0),this.refreshRowColCount()}refreshRowColCount(){const t=this,{layoutMap:e}=t.internalProps;if(!e)return;const i=t.internalProps.dataSource?.length??0;e.recordsCount=i+(i>0?e.hasAggregationOnTopCount+e.hasAggregationOnBottomCount:0),t.transpose?(t.rowCount=e.rowCount??0,t.colCount=e.colCount??0,this.internalProps.frozenColCount=Math.max((e.headerLevelCount??0)+e.leftRowSeriesNumberColumnCount,this.options.frozenColCount??0),this.internalProps.frozenRowCount=this.options.frozenRowCount??0,t.bottomFrozenRowCount!==(this.options.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=this.options.bottomFrozenRowCount??0),t.rightFrozenColCount!==(this.options.rightFrozenColCount??0)&&(t.rightFrozenColCount=this.options.rightFrozenColCount??0)):(t.colCount=e.colCount??0,t.rowCount=e.recordsCount*e.bodyRowSpanCount+e.headerLevelCount,this.internalProps.frozenColCount=this.options.frozenColCount??0,t.frozenRowCount=Math.max(e.headerLevelCount,this.options.frozenRowCount??0),t.bottomFrozenRowCount!==(this.options.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=this.options.bottomFrozenRowCount??0),t.rightFrozenColCount!==(this.options.rightFrozenColCount??0)&&(t.rightFrozenColCount=this.options.rightFrozenColCount??0)),this.stateManager.setFrozenCol(this.internalProps.frozenColCount)}getFieldData(t,e,i){if(null===t)return null;const r=this;if(r.internalProps.layoutMap.isHeader(e,i))return null;const o=r.getRecordShowIndexByCell(r.transpose?e-r.internalProps.layoutMap.leftRowSeriesNumberColumnCount:e,i);return r.internalProps.dataSource.getField(o,t,e,i,this)}getRawFieldData(t,e,i){if(null===t)return null;const r=this;if(r.internalProps.layoutMap.isHeader(e,i))return null;const o=r.getRecordShowIndexByCell(e,i);return r.internalProps.dataSource.getRawField(o,t,e,i,this)}_moveHeaderPosition(t,e){const i=this.getCellRange(t.col,t.row),r=this.getCellRange(e.col,e.row),o=this.internalProps.layoutMap.moveHeaderPosition(t,e);return o?("column"===o.moveType?(this.colWidthsMap.exchangeOrder(i.start.col,i.end.col-i.start.col+1,r.start.col,r.end.col-r.start.col+1,o.targetIndex),this.transpose||(this.colWidthsLimit={},this.setMinMaxLimitWidth())):o.targetIndex>o.sourceIndex?this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex+o.sourceSize-o.targetSize,o.targetSize,o.targetIndex):this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex,o.targetSize,o.targetIndex),o):null}changeRecordOrder(t,e){this.transpose?(t=this.getRecordShowIndexByCell(t,0),e=this.getRecordShowIndexByCell(e,0)):(t=this.getRecordShowIndexByCell(0,t),e=this.getRecordShowIndexByCell(0,e)),this.dataSource.changeOrder(t,e)}getCellAddress(t,e){let i;for(let e=0;e<this.internalProps.records.length;e++){const r=this.internalProps.records[e];if("function"==typeof t)t(r)&&(i=e);else{let o=!0;for(const e in t)if(r[e]!==t[e]){o=!1;break}o&&(i=e)}if(J(i))break}const r=this.getCellRangeByField(e,i);if(r)return{row:r.start.row,col:r.start.col}}getCellRangeByField(t,e){const{layoutMap:i}=this.internalProps,r=i.columnObjects.find((e=>e.field===t));if(r){const t=i.getBodyLayoutRangeById(r.id);let o;return J(e)&&(o=i.getRecordStartRowByRecordIndex(e)),this.transpose?{start:{row:t.start.row,col:J(o)?o+t.start.col:void 0},end:{row:t.end.row,col:J(o)?o+t.end.col:void 0}}:{start:{col:t.start.col,row:J(o)?o+t.start.row:void 0},end:{col:t.end.col,row:J(o)?o+t.end.row:void 0}}}return null}getHierarchyState(t,e){if(!this.options.groupBy||ot(this.options.groupBy)&&0===this.options.groupBy.length){if(!this.getBodyColumnDefine(t,e).tree)return ZC.none}const i=this.getRecordShowIndexByCell(t,e);return this.dataSource.getHierarchyState(i)}toggleHierarchyState(t,e,i=!0){this.stateManager.updateHoverIcon(t,e,void 0,void 0);const r=this.getHierarchyState(t,e);if(r===ZC.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(_v.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.collapse});else if(r===ZC.collapse){const r=this.getCellOriginRecord(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(_v.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.expand,originData:r})}}setLoadingHierarchyState(t,e){this.scenegraph.setLoadingHierarchyState(t,e)}_refreshHierarchyState(t,e,i=!0){let r=!1,o=!1;const n=this.internalProps.layoutMap.checkHasChart();n&&(this.autoFillWidth&&(r=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&(o=this.getAllRowsHeight()<=this.tableNoFrameHeight));const s=this.getRecordShowIndexByCell(t,e),a=this.dataSource.toggleHierarchyState(s,this.scenegraph.proxy.rowStart-this.columnHeaderLevelCount,Math.max(this.scenegraph.proxy.rowEnd-this.columnHeaderLevelCount,this.scenegraph.proxy.rowStart-this.columnHeaderLevelCount+this.scenegraph.proxy.rowLimit-1)),l=this.internalProps.layoutMap.toggleHierarchyState(a);this.refreshRowColCount();for(let t=this.rowCount-this.bottomFrozenRowCount;t<this.rowCount;t++){const e=BT(t,0,this.colCount-1,this);this._setRowHeight(t,e)}this.clearCellStyleCache(),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1;const{updateCells:h,addCells:c,removeCells:d}=function(t,e,i,r){const o=[{col:e,row:i}],n=[],s=[],{addCellPositions:a,removeCellPositions:l}=t,h=r.scenegraph.proxy,{rowStart:c,rowLimit:d}=h;let{rowEnd:u}=h,g=1/0;for(let t=0;t<a.length;t++){const{row:i}=a[t];u-c+1===d?i>=c&&i<=u&&(g=Math.min(g,i)):(n.push({col:e,row:i}),u++)}const p=Math.min(c+d,r.rowCount-1-r.bottomFrozenRowCount),f=p<c+d;for(let t=0;t<l.length;t++){const{row:i}=l[l.length-t-1];i<c||i>u||(i>p||f?(s.push({col:e,row:i}),g--):g=Math.min(g,i))}if(g!==1/0)for(let t=g;t<=u;t++)o.push({col:e,row:t});return r.scenegraph.proxy.refreshRowCount(),{updateCells:o,addCells:n,removeCells:s}}(l,t,e,this);this.reactCustomLayout?.clearCache(),this.scenegraph.updateRow(d,c,h,i,!0),this.reactCustomLayout?.updateAllCustomCell(),n&&(this.autoFillWidth&&!r&&(r=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&!o&&(o=this.getAllRowsHeight()<=this.tableNoFrameHeight),("adaptive"===this.widthMode||r||"adaptive"===this.heightMode||o)&&this.scenegraph.updateChartSizeForResizeColWidth(-1))}_hasHierarchyTreeHeader(){return(this.options.columns??this.options.header)?.some(((t,e)=>t.tree))}getMenuInfo(t,e,i){return{field:this.getHeaderField(t,e),value:this.getCellValue(t,e),cellLocation:this.getCellLocation(t,e),event:void 0}}_getSortFuncFromHeaderOption(t,e,i){if(t||(t=this.internalProps.columns),e&&t&&t.length>0)for(let r=0;r<t.length;r++){const o=t[r];if((i&&i===o.fieldKey||!i&&o.field===e)&&o.sort&&"function"==typeof o.sort)return o.sort;if(o.columns){const t=this._getSortFuncFromHeaderOption(o.columns,e,i);if(t)return t}}}updateSortState(t,e=!0){if(t)this.internalProps.sortState=t;else if(this.internalProps.sortState)if(Array.isArray(this.internalProps.sortState))for(let e=0;e<this.internalProps.sortState.length;e++)t=this.internalProps.sortState?.[e],t&&(t.order="normal");else this.internalProps.sortState.order="normal",t=this.internalProps.sortState;(t=Array.isArray(t)?t:[t]).some((t=>t.field))&&e&&this.internalProps.layoutMap.headerObjects.some((t=>!1!==t.define.sort))&&(this.dataSource.sort(t.map((t=>{const e=this._getSortFuncFromHeaderOption(this.internalProps.columns,t.field);return this.internalProps.layoutMap.headerObjects.find((e=>e&&e.field===t.field)),{field:t.field,order:t.order,orderFn:e??Xw}}))),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.sortCell()),t.length&&this.stateManager.updateSortState(t)}updateFilterRules(t){this.scenegraph.clearCells(),this.sortState?(this.dataSource.updateFilterRulesForSorted(t),hE(this)):this.dataSource.updateFilterRules(t),this.refreshRowColCount(),this.stateManager.initCheckedState(this.records),this.scenegraph.createSceneGraph()}getCheckboxState(t){if(this.stateManager.checkedState.size<this.rowCount-this.columnHeaderLevelCount&&this.stateManager.initLeftRecordsCheckState(this.records),J(t)){let e=Array.from(this.stateManager.checkedState.keys()).sort(((t,e)=>Number(t)-Number(e))).map((t=>this.stateManager.checkedState.get(t)));return this.options.groupBy&&(e=function(t){const e=[],i=t.dataSource,r=i.dataConfig.groupByRules.length+1;return i.currentIndexedData.forEach(((o,n)=>{if(ot(o)&&o.length===r){const r=i.getOriginRecordIndexForGroup(o);e[r]=t.stateManager.checkedState.get(o.toString())}})),e}(this)),Array.from(e,(e=>e[t]))}return new Array(...this.stateManager.checkedState.values())}getCellCheckboxState(t,e){const i=this.getBodyColumnDefine(t,e),r=i?.field,o=this.getCellType(t,e);if(J(r)&&("checkbox"===o||"switch"===o)){const i=this.dataSource.getIndexKey(this.getRecordShowIndexByCell(t,e)).toString();return this.stateManager.checkedState.get(i)?.[r]}}getRadioState(t){return J(t)?this.stateManager.radioState[t]:this.stateManager.radioState}getCellRadioState(t,e){return function(t,e,i){const r=i.getBodyColumnDefine(t,e),o=r?.field,n=i.getCellType(t,e);if(J(o)&&"radio"===n){const r=i.dataSource.getIndexKey(i.getRecordShowIndexByCell(t,e)),n=i.stateManager.radioState?.[o];if(at(n)){if(n===r)return!0}else if(Q(n)){const t=n[r];if(at(t))return t}}return!1}(t,e,this)}setCellCheckboxState(t,e,i){!function(t,e,i,r){const o=r.scenegraph.getCell(t,e),n=o?.getChildByName("checkbox");if(!n){const o=r.getHeaderField(t,e);if(r.isHeader(t,e))r.stateManager.setHeaderCheckedState(o,i),"checkbox"===r.getCellType(t,e)&&r.scenegraph.updateCheckboxCellState(t,e,i);else if(r.stateManager.setCheckedState(t,e,o,i),"checkbox"===r.getCellType(t,e)){const i=r.stateManager.headerCheckedState[o],n=r.stateManager.updateHeaderCheckedState(o,t,e);i!==n&&r.scenegraph.updateHeaderCheckboxCellState(t,e,n)}return}const{checked:s,indeterminate:a}=n.attribute;a?(i||n._handlePointerUp(),n._handlePointerUp()):s?i||n._handlePointerUp():i&&n._handlePointerUp()}(t,e,i,this)}setCellRadioState(t,e,i){!function(t,e,i,r){const o=r.scenegraph.getCell(t,e);if(o)if(at(i)){const t=o.getChildAt(i);t?._handlePointerUp()}else{const t=o.getChildByName("radio");t?._handlePointerUp()}}(t,e,i,this)}getSwitchState(t){return this.getCheckboxState(t)}getCellSwitchState(t,e){return this.getCellCheckboxState(t,e)}setCellSwitchState(t,e,i){this.setCellCheckboxState(t,e,i)}setRecords(t,e){let i;this.internalProps.dataSource?.release(),this.internalProps.releaseList=this.internalProps.releaseList?.filter((t=>!t.dataSourceObj)),this.internalProps.dataSource=null,Array.isArray(e)||e?.order?i=e:e?i=e.sortState:null===e&&(i=null),"undefined"!=typeof window&&window.performance.now();const r={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};if(this.scenegraph.clearCells(),void 0!==i&&(null===i||!Array.isArray(i)&&J(i.field)||Array.isArray(i))&&(this.internalProps.sortState=this.internalProps.multipleSort?Array.isArray(i)?i:[i]:i,this.stateManager.setSortState(this.sortState)),t){if(EA(this,t),this.sortState){const t=Array.isArray(this.sortState)?this.sortState:[this.sortState];t.some((t=>t.order&&t.field&&"normal"!==t.order))&&this.internalProps.layoutMap.headerObjectsIncludeHided.some((t=>!1!==t.define.sort))&&this.dataSource.sort(t.map((t=>{const e=this._getSortFuncFromHeaderOption(void 0,t.field);return this.internalProps.layoutMap.headerObjectsIncludeHided.find((e=>e&&e.field===t.field)),{field:t.field,order:t.order||"asc",orderFn:e??Xw}})))}this.refreshRowColCount()}else EA(this,t);if(this.stateManager.initCheckedState(t),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(r.col,r.row),this.internalProps.title&&!this.internalProps.title.isReleased&&(this._updateSize(),this.internalProps.title.resize(),this.scenegraph.resize()),this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}this.render(),J(r.col)&&J(r.row)&&r.col>=0&&r.row>=0&&setTimeout((()=>{this.internalProps?.tooltipHandler.showTooltip(r.col,r.row)}),0)}setRecordChildren(t,e,i,r=!0){const o=this.getCellOriginRecord(e,i);o.children=t;const n=this.getRecordShowIndexByCell(e,i);this.dataSource.setRecord(o,n),this._refreshHierarchyState(e,i,r)}startEditCell(t,e,i){if(J(t)&&J(e))this.eventManager.isDraging=!1,this.selectCell(t,e),this.editorManager.startEditCell(t,e,i);else if(this.stateManager.select?.cellPos){const{col:t,row:e}=this.stateManager.select.cellPos;J(t)&&J(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){const i=this.getBodyColumnDefine(t,e);let r=this.isHeader(t,e)?i?.headerEditor??this.options.headerEditor:i?.editor??this.options.editor;if("function"==typeof r){r=r({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return"string"==typeof r?Fk(r):r}isHasEditorDefine(t,e){const i=this.getBodyColumnDefine(t,e);let r=this.isHeader(t,e)?i?.headerEditor??this.options.headerEditor:i?.editor??this.options.editor;if("function"==typeof r){r=r({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return J(r)}changeCellValue(t,e,i,r=!1){return function(t,e,i,r,o){if(r&&o.isHasEditorDefine(t,e)||!1===r){const r=o.getRecordShowIndexByCell(t,e),{field:n}=o.internalProps.layoutMap.getBody(t,e),s=o.getCellRawValue(t,e),a=o.getCellOriginValue(t,e);o.isHeader(t,e)?o.internalProps.layoutMap.updateColumnTitle(t,e,i):o.dataSource.changeFieldValue(i,r,n,t,e,o);const l=o.getCellRange(t,e),h=o.internalProps.layoutMap.getAggregatorsByCell(t,e);if(h){if(Array.isArray(h))for(let t=0;t<h?.length;t++)h[t].recalculate();else h.recalculate();const t=o.internalProps.layoutMap.getAggregatorCellAddress(l.start.col,l.start.row,l.end.col,l.end.row);for(let e=0;e<t.length;e++){const i=o.getCellRange(t[e].col,t[e].row);for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)o.scenegraph.updateCellContent(t,e)}}for(let t=l.start.col;t<=l.end.col;t++)for(let e=l.start.row;e<=l.end.row;e++)o.scenegraph.updateCellContent(t,e);if("adaptive"===o.widthMode||o.autoFillWidth&&o.getAllColsWidth()<=o.tableNoFrameWidth)0===o.internalProps._widthResizedColMap.size&&o.scenegraph.recalculateColWidths();else if(!o.internalProps._widthResizedColMap.has(t)){const e=o.getColWidth(t),i=UB(t,0,o.rowCount-1,o,!1);i!==e&&o.scenegraph.updateColWidth(t,i-e)}if("adaptive"===o.heightMode||o.autoFillHeight&&o.getAllRowsHeight()<=o.tableNoFrameHeight)0===o.internalProps._heightResizedRowMap.size&&o.scenegraph.recalculateRowHeights();else if(o.isAutoRowHeight()&&!o.internalProps._heightResizedRowMap.has(e)){const t=o.getRowHeight(e),i=BT(e,0,o.colCount-1,o);o.scenegraph.updateRowHeight(e,i-t)}const c=o.getCellOriginValue(t,e);a!==c&&o.fireListeners(_v.CHANGE_CELL_VALUE,{col:t,row:e,rawValue:s,currentValue:a,changedValue:c}),o.scenegraph.updateNextFrame()}}(t,e,i,r,this)}changeCellValues(t,e,i,r=!1){return function(t,e,i,r,o){let n=t,s=e;const a=[],l=[];let h;for(let r=0;r<i.length&&!(e+r>o.rowCount-1);r++){const n=i[r],s=[],c=[];a.push(s),l.push(c);for(let i=0;i<n.length&&!(t+i>o.colCount-1);i++){h=lE(t+i,e+r,o,h);const n=o.getCellRawValue(t+i,e+r);s.push(n);const a=o.getCellOriginValue(t+i,e+r);c.push(a)}}for(let h=0;h<i.length&&!(e+h>o.rowCount-1);h++){s=e+h;const c=i[h];let d=t;for(let i=0;i<c.length&&!(t+i>o.colCount-1);i++){d=t+i;let n=!1;if(!1===r)n=!0;else if(o.isHasEditorDefine(t+i,e+h)){const r=o.getEditor(t+i,e+h),s=l[h][i],a=c[i],d=r?.validateValue?.(a,s)??!0;n=!!dv(d)||!0===d||"validate-exit"===d||"invalidate-exit"===d}if(n){const r=c[i],n=o.getRecordShowIndexByCell(t+i,e+h),{field:s}=o.internalProps.layoutMap.getBody(t+i,e+h),d=a[h][i],u=l[h][i];o.isHeader(t+i,e+h)?o.internalProps.layoutMap.updateColumnTitle(t+i,e+h,r):o.dataSource.changeFieldValue(r,n,s,t+i,e+h,o);const g=o.getCellOriginValue(t+i,e+h);u!==g&&o.fireListeners(_v.CHANGE_CELL_VALUE,{col:t+i,row:e+h,rawValue:d,currentValue:u,changedValue:g})}}n=Math.max(n,d)}const c=o.getCellRange(t,e),d=o.getCellRange(n,s),u=o.internalProps.layoutMap.getAggregatorsByCellRange(c.start.col,c.start.row,d.end.col,d.end.row);if(u){for(let t=0;t<u?.length;t++)u[t].recalculate();if("normal"===h){const t=o.internalProps.layoutMap.getAggregatorCellAddress(c.start.col,c.start.row,d.end.col,d.end.row);for(let e=0;e<t.length;e++){const i=o.getCellRange(t[e].col,t[e].row);for(let t=i.start.col;t<=i.end.col;t++)for(let e=i.start.row;e<=i.end.row;e++)o.scenegraph.updateCellContent(t,e)}}}if("group"===h&&o.dataSource.updateRecordsForGroup([],[]),"sort"===h||"group"===h)return o.dataSource.sortedIndexMap.clear(),hE(o),o.refreshRowColCount(),o.internalProps.layoutMap.clearCellRangeMap(),o.scenegraph.clearCells(),void o.scenegraph.createSceneGraph();for(let t=c.start.col;t<=d.end.col;t++)for(let e=c.start.row;e<=d.end.row;e++)o.scenegraph.updateCellContent(t,e);if("adaptive"===o.widthMode||o.autoFillWidth&&o.getAllColsWidth()<=o.tableNoFrameWidth)0===o.internalProps._widthResizedColMap.size&&o.scenegraph.recalculateColWidths();else for(let e=t;e<=d.end.col;e++)if(!o.internalProps._widthResizedColMap.has(e)){const t=o.getColWidth(e),i=UB(e,0,o.rowCount-1,o,!1);i!==t&&o.scenegraph.updateColWidth(e,i-t)}if("adaptive"===o.heightMode||o.autoFillHeight&&o.getAllRowsHeight()<=o.tableNoFrameHeight)o.scenegraph.recalculateRowHeights();else if(o.isAutoRowHeight()){const t=[],i=[];for(let r=e;r<=d.end.row;r++)if(o.rowHeightsMap.get(r)){const e=o.getRowHeight(r),n=BT(r,0,o.colCount-1,o);t.push(r),i.push(n-e)}o.scenegraph.updateRowsHeight(t,i)}o.scenegraph.updateNextFrame()}(t,e,i,r,this)}addRecord(t,e){!function(t,e,i){if(i.options.groupBy)i.dataSource.addRecordsForGroup?.([t],e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.([t],e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordForSorted(t),hE(i),i.refreshRowColCount(),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{(void 0===e||e>i.dataSource.sourceLength)&&(e=i.dataSource.sourceLength);const r=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount;i.dataSource.addRecord(t,e);const o=i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),void i.scenegraph.createSceneGraph();const n=i.transpose?i.colCount:i.rowCount;if(i.pagination){const{perPageCount:t,currentPage:s}=i.pagination,a=t*(s||0)+t;if(e<a)if(e<a-t)i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{const s=e-(a-t)+r;if(o-r===i.pagination.perPageCount){const t=[];for(let e=s;e<n;e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}else{const t=[];for(let e=s;e<Math.min(n,s+1);e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],t,[]):i.scenegraph.updateRow([],t,[])}}}else{const t=[];for(let o=e+r;o<e+r+1;o++)i.transpose?t.push({col:o,row:0}):t.push({col:0,row:o});const o=i.internalProps.layoutMap.hasAggregationOnTopCount,n=i.internalProps.layoutMap.hasAggregationOnBottomCount;for(let t=r;t<r+o;t++)i.transpose;for(let t=(i.transpose?i.colCount:i.rowCount)-n;t<(i.transpose?i.colCount:i.rowCount);t++)i.transpose;i.transpose?i.scenegraph.updateCol([],t,[]):i.scenegraph.updateRow([],t,[])}}}(t,e,this),this.internalProps.emptyTip?.resetVisible()}addRecords(t,e){!function(t,e,i){if(i.options.groupBy)i.dataSource.addRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordsForSorted(t),hE(i),i.refreshRowColCount(),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{void 0===e||e>i.dataSource.sourceLength?e=i.dataSource.sourceLength:e<0&&(e=0);const r=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount;i.dataSource.addRecords(t,e);const o=i.transpose?i.colCount:i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),void i.scenegraph.createSceneGraph();const n=i.transpose?i.colCount:i.rowCount;if(i.pagination){const{perPageCount:s,currentPage:a}=i.pagination,l=s*(a||0)+s;if(e<l)if(e<l-s)i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{const a=e-(l-s)+r;if(o-r===i.pagination.perPageCount){const t=[];for(let e=a;e<n;e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}else{const e=[];for(let r=a;r<Math.min(n,a+(Array.isArray(t)?t.length:1));r++)i.transpose?e.push({col:r,row:0}):e.push({col:0,row:r});i.transpose?i.scenegraph.updateCol([],e,[]):i.scenegraph.updateRow([],e,[])}}}else{const o=[];for(let n=e+r;n<e+r+(Array.isArray(t)?t.length:1);n++)i.transpose?o.push({col:n,row:0}):o.push({col:0,row:n});const n=i.internalProps.layoutMap.hasAggregationOnTopCount,s=i.internalProps.layoutMap.hasAggregationOnBottomCount,a=[];for(let t=r;t<r+n;t++)i.transpose?a.push({col:t,row:0}):a.push({col:0,row:t});for(let t=(i.transpose?i.colCount:i.rowCount)-s;t<(i.transpose?i.colCount:i.rowCount);t++)i.transpose?a.push({col:t,row:0}):a.push({col:0,row:t});i.transpose?i.scenegraph.updateCol([],o,a):i.scenegraph.updateRow([],o,a)}}}(t,e,this),this.internalProps.emptyTip?.resetVisible()}deleteRecords(t){!function(t,e){if(t?.length>0)if(e.options.groupBy)e.dataSource.deleteRecordsForGroup?.(t),e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&hE(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else if("tree"===e.dataSource.rowHierarchyType)e.dataSource.deleteRecordsForTree?.(t),e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&hE(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else if(e.sortState)e.dataSource.deleteRecordsForSorted(t),hE(e),e.refreshRowColCount(),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else{const i=e.dataSource.deleteRecords(t);if(0===i.length)return;const r=e.transpose?e.colCount:e.rowCount;e.refreshRowColCount();const o=e.transpose?e.colCount:e.rowCount,n=i.sort(((t,e)=>t-e)),s=n[0];if(e.pagination){const{perPageCount:t,currentPage:i}=e.pagination,n=t*(i||0)+t;if(s<n)if(s<n-t)e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else{const i=e.transpose?e.rowHeaderLevelCount:e.columnHeaderLevelCount,a=e.internalProps.layoutMap.hasAggregationOnTopCount,l=[],h=[];for(let i=s-(n-t)+(e.transpose?e.rowHeaderLevelCount:e.columnHeaderLevelCount)+a;i<o;i++)e.transpose?l.push({col:i,row:0}):l.push({col:0,row:i});for(let t=i;t<i+a;t++)e.transpose?l.push({col:t,row:0}):l.push({col:0,row:t});if(o<r)for(let t=o;t<r;t++)e.transpose?h.push({col:t,row:0}):h.push({col:0,row:t});e.reactCustomLayout?.clearCache(),e.transpose?e.scenegraph.updateCol(h,[],l):e.scenegraph.updateRow(h,[],l),e.reactCustomLayout?.updateAllCustomCell()}}else{const t=[],i=e.transpose?e.rowHeaderLevelCount:e.columnHeaderLevelCount,r=e.internalProps.layoutMap.hasAggregationOnTopCount,o=e.internalProps.layoutMap.hasAggregationOnBottomCount;for(let o=0;o<n.length;o++){const s=n[o]+i+r;e.transpose?t.push({col:s,row:0}):t.push({col:0,row:s})}const s=[];for(let t=i;t<i+r;t++)e.transpose?s.push({col:t,row:0}):s.push({col:0,row:t});for(let t=(e.transpose?e.colCount:e.rowCount)-o;t<(e.transpose?e.colCount:e.rowCount);t++)e.transpose?s.push({col:t,row:0}):s.push({col:0,row:t});e.reactCustomLayout?.clearCache(),e.transpose?e.scenegraph.updateCol(t,[],s):e.scenegraph.updateRow(t,[],s),e.reactCustomLayout?.updateAllCustomCell()}}}(t,this),this.internalProps.emptyTip?.resetVisible()}updateRecords(t,e){!function(t,e,i){if(e?.length>0)if(i.options.groupBy)i.dataSource.updateRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.updateRecordsForTree?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&hE(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.updateRecordsForSorted(t,e),hE(i),i.refreshRowColCount(),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else{const r=i.dataSource.updateRecords(t,e);if(0===r.length)return;const o=r.map((t=>i.getBodyRowIndexByRecordIndex(t))),n=o.sort(((t,e)=>t-e));if(i.pagination){const{perPageCount:t,currentPage:e}=i.pagination,r=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount,o=i.internalProps.layoutMap.hasAggregationOnTopCount,s=t*(e||0)+t,a=[];for(let e=0;e<n.length;e++){const r=n[e];if(r<s&&r>=s-t){const e=r-(s-t)+(i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount)+o;a.push(e)}}if(a.length>=1){const t=[];for(let e=0;e<a.length;e++){const r=a[e];i.transpose?t.push({col:r,row:0}):t.push({col:0,row:r})}for(let e=r;e<r+o;e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}}else{const t=[],e=i.transpose?i.rowHeaderLevelCount:i.columnHeaderLevelCount,r=i.internalProps.layoutMap.hasAggregationOnTopCount,o=i.internalProps.layoutMap.hasAggregationOnBottomCount;for(let o=0;o<n.length;o++){const s=n[o]+e+r;i.transpose?t.push({col:s,row:0}):t.push({col:0,row:s})}for(let o=e;o<e+r;o++)i.transpose?t.push({col:o,row:0}):t.push({col:0,row:o});for(let e=(i.transpose?i.colCount:i.rowCount)-o;e<(i.transpose?i.colCount:i.rowCount);e++)i.transpose?t.push({col:e,row:0}):t.push({col:0,row:e});i.transpose?i.scenegraph.updateCol([],[],t):i.scenegraph.updateRow([],[],t)}}}(t,e,this)}_hasCustomRenderOrLayout(){const{headerObjects:t}=this.internalProps.layoutMap;if(this.options.customRender)return!0;for(let e=0;e<t.length;e++){const i=t[e];if(i?.define?.customLayout||i?.define?.headerCustomLayout||i?.define?.customRender||i?.define?.headerCustomRender)return!0}return!1}getAggregateValuesByField(t){const e=this.internalProps.layoutMap.getColumnByField(t),i=[];for(let t=0;t<e.length;t++){const r=e[t].columnDefine.aggregator;if(delete e[t].columnDefine,r){const o={col:e[t].col,aggregateValue:null};if(o.aggregateValue=[],Array.isArray(r))for(let t=0;t<r.length;t++)o.aggregateValue.push({aggregationType:r[t].type,value:r[t].value()});else o.aggregateValue.push({aggregationType:r.type,value:r.value()});i.push(o)}}return i}isAggregation(t,e){return this.internalProps.layoutMap.isAggregation(t,e)}getGroupTitleLevel(t,e){if(!this.options.groupBy)return;const i=this.dataSource.getIndexKey(this.getRecordShowIndexByCell(t,e)),r=this.dataSource.getGroupLength()??0;let o=ot(i)?i.length-1:0;return r>0&&o===r&&(o=void 0),o}getBodyRowIndexByRecordIndex(t){return Array.isArray(t)&&1===t.length&&(t=t[0]),this.dataSource.getTableIndex(t)}_parseColumnWidthConfig(t){for(let e=0;e<t?.length;e++){const i=t[e],r=i.key,o=i.width,n=this.internalProps.layoutMap.getColumnByKey(r);if(n.columnDefine){const{col:t}=n;this.internalProps._widthResizedColMap.has(t)||(this._setColWidth(t,o),this.internalProps._widthResizedColMap.add(t))}}}release(){this.editorManager.release(),super.release()}}function dE(t){return"bottom"===t||"top"===t}var uE;function gE(t){return t}!function(t){t.Identity="identity",t.Linear="linear",t.Log="log",t.Pow="pow",t.Sqrt="sqrt",t.Symlog="symlog",t.Time="time",t.Quantile="quantile",t.Quantize="quantize",t.Threshold="threshold",t.Ordinal="ordinal",t.Point="point",t.Band="band"}(uE||(uE={})),Object.values(uE).forEach((t=>{}));const pE=t=>-Math.log(-t),fE=t=>-Math.exp(-t),mE=t=>isFinite(t)?Math.pow(10,t):t<0?0:t,bE=t=>10===t?mE:t===Math.E?Math.exp:e=>Math.pow(t,e),yE=t=>t===Math.E?Math.log:10===t?Math.log10:2===t?Math.log2:(t=Math.log(t),e=>Math.log(e)/t),CE=t=>e=>Math.sign(e)*Math.log1p(Math.abs(e/t)),wE=t=>e=>Math.sign(e)*Math.expm1(Math.abs(e))*t;function vE(t,e){if(t=Number(t),e=Number(e),e-=t)return i=>(i-t)/e;const i=Number.isNaN(e)?NaN:.5;return()=>i}function xE(t,e,i){const r=t[0],o=t[1],n=e[0],s=e[1];let a,l;return o<r?(a=vE(o,r),l=i(s,n)):(a=vE(r,o),l=i(n,s)),t=>l(a(t))}function _E(t,e,i){let r;return r=1===t?t+2*i:t-e+2*i,t?r>0?r:1:0}function SE(t,e){const i=(t[1]-t[0])/(e[1]-e[0]),r=t[0]-i*e[0];return[r,i+r]}function AE(t,e,i){const r=Math.min(t.length,e.length)-1,o=new Array(r),n=new Array(r);let s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)o[s]=vE(t[s],t[s+1]),n[s]=i(e[s],e[s+1]);return function(e){const i=function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0;for(jk(r)&&(r=t.length);i<r;){const o=i+r>>>1;nL(t[o],e)>0?r=o:i=o+1}return i}(t,e,1,r)-1;return n[i](o[i](e))}}const RE=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=Math.floor(Math.log10(t)),r=t/Math.pow(10,i);let o;return o=e?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,o*Math.pow(10,i)};class TE{constructor(){this._rangeFactorStart=null,this._rangeFactorEnd=null}_calculateWholeRange(t){return this._wholeRange?this._wholeRange:Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length?(this._wholeRange=SE(t,[this._rangeFactorStart,this._rangeFactorEnd]),this._wholeRange):t}rangeFactor(t,e,i){return t?(2===t.length&&t.every((t=>t>=0&&t<=1))&&(this._wholeRange=null,0===t[0]&&1===t[1]?(this._rangeFactorStart=null,this._rangeFactorEnd=null):(this._rangeFactorStart=t[0],this._rangeFactorEnd=t[1])),this):i?(this._wholeRange=null,this._rangeFactorStart=null,this._rangeFactorEnd=null,this):Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)?[this._rangeFactorStart,this._rangeFactorEnd]:null}rangeFactorStart(t,e){var i;return jk(t)?this._rangeFactorStart:(t>=0&&t<=1&&(this._wholeRange=null,0!==t||!jk(this._rangeFactorEnd)&&1!==this._rangeFactorEnd?(this._rangeFactorStart=t,this._rangeFactorEnd=null!==(i=this._rangeFactorEnd)&&void 0!==i?i:1):(this._rangeFactorStart=null,this._rangeFactorEnd=null)),this)}rangeFactorEnd(t,e){var i;return jk(t)?this._rangeFactorEnd:(t>=0&&t<=1&&(this._wholeRange=null,0!==t||!jk(this._rangeFactorStart)&&0!==this._rangeFactorStart?(this._rangeFactorEnd=t,this._rangeFactorStart=null!==(i=this._rangeFactorStart)&&void 0!==i?i:0):(this._rangeFactorStart=null,this._rangeFactorEnd=null)),this)}generateFishEyeTransform(){var t;if(!this._fishEyeOptions)return void(this._fishEyeTransform=null);const{distortion:e=2,radiusRatio:i=.1,radius:r}=this._fishEyeOptions,o=this.range(),n=o[0],s=o[o.length-1],a=Math.min(n,s),l=Math.max(n,s),h=bL(null!==(t=this._fishEyeOptions.focus)&&void 0!==t?t:0,a,l),c=jk(r)?(l-a)*i:r;let d=Math.exp(e);d=d/(d-1)*c;const u=e/c;this._fishEyeTransform=t=>{const e=Math.abs(t-h);if(e>=c)return t;if(e<=1e-6)return h;const i=d*(1-Math.exp(-e*u))/e*.75+.25;return h+(t-h)*i}}unknown(t){return arguments.length?(this._unknown=t,this):this._unknown}get(t,e){var i;return null!==(i=null==this?void 0:this[t])&&void 0!==i?i:e}}const BE=Symbol("implicit");class ME extends TE{specified(t){var e;return t?(this._specified=Object.assign(null!==(e=this._specified)&&void 0!==e?e:{},t),this):Object.assign({},this._specified)}_getSpecifiedValue(t){if(this._specified)return this._specified[t]}constructor(){super(),this.type=uE.Ordinal,this._index=new Map,this._domain=[],this._ordinalRange=[],this._unknown=BE}clone(){const t=(new ME).domain(this._domain).range(this._ordinalRange).unknown(this._unknown);return this._specified&&t.specified(this._specified),t}calculateVisibleDomain(t){return Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length?[this.invert(t[0]),this.invert(t[1])]:this._domain}scale(t){const e=`${t}`,i=this._getSpecifiedValue(e);if(void 0!==i)return i;let r=this._index.get(e);if(!r){if(this._unknown!==BE)return this._unknown;r=this._domain.push(t),this._index.set(e,r)}const o=this._ordinalRange[(r-1)%this._ordinalRange.length];return this._fishEyeTransform?this._fishEyeTransform(o):o}invert(t){let e=0;for(;e<this._ordinalRange.length&&this._ordinalRange[e]!==t;)e++;return this._domain[(e-1)%this._domain.length]}domain(t){if(!t)return this._domain.slice();this._domain=[],this._index=new Map;for(const e of t){const t=`${e}`;this._index.has(t)||this._index.set(t,this._domain.push(e))}return this}range(t){if(!t)return this._ordinalRange.slice();const e=Array.from(t);return this._ordinalRange=e,this}index(t){var e;return this._index&&null!==(e=this._index.get(`${t}`))&&void 0!==e?e:-1}}function PE(t,e,i,r){const o=[];let n=t;for(;n<=e;)o.push(n),n+=i;return r&&o.reverse(),o}function HE(t,e,i,r){let o,n;if(e=Math.floor(+e),t=Math.floor(+t),!(i=Math.floor(+i)))return[];if(t===e)return[t];if(o=e<t){const i=t;t=e,e=i}let s=yL(1,e-t+1)(i);if(n=Math.floor((e-t+1)/s),!r)for(;Math.ceil((e-t+1)/n)>i&&s>1;)s-=1,n=Math.floor((e-t)/s);return PE(t,e,n,o)}class kE extends ME{constructor(t){super(),this.type=uE.Band,this._range=[0,1],this._step=void 0,this._bandwidth=void 0,this._isFixed=!1,this._round=!1,this._paddingInner=0,this._paddingOuter=0,this._align=.5,this._unknown=void 0,delete this.unknown,this.rescale(t)}rescale(t,e){if(t)return this;this._wholeRange=null;const i=this._calculateWholeRange(this._range,e),r=super.domain().length,o=i[1]<i[0];let n=i[Number(o)-0];const s=i[1-Number(o)],a=_E(r,this._paddingInner,this._paddingOuter);return this._step=(s-n)/Math.max(1,a||1),this._round&&(this._step=Math.floor(this._step)),n+=(s-n-this._step*(r-this._paddingInner))*this._align,this.isBandwidthFixed()||(this._bandwidth=this._step*(1-this._paddingInner)),this._round&&(n=Math.round(n),this.isBandwidthFixed()||(this._bandwidth=Math.round(this._bandwidth))),this._bandRangeState={reverse:o,start:o?n+this._step*(r-1):n,count:r},this.generateFishEyeTransform(),this}scale(t){if(!this._bandRangeState)return;const e=`${t}`,i=this._getSpecifiedValue(e);if(void 0!==i)return i;let r=this._index.get(e);if(!r){if(this._unknown!==BE)return this._unknown;r=this._domain.push(t),this._index.set(e,r)}const{count:o,start:n,reverse:s}=this._bandRangeState,a=n+(r-1)%o*(s?-1:1)*this._step;return this._fishEyeTransform?this._fishEyeTransform(a):a}_calculateWholeRange(t,e){if(this._wholeRange)return this._wholeRange;if((this._minBandwidth||this._maxBandwidth)&&!this._isBandwidthFixedByUser()){let e;if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length){const i=SE(t,[this._rangeFactorStart,this._rangeFactorEnd]);e=Math.abs(i[1]-i[0])}else e=Math.abs(t[1]-t[0]);const i=function(t,e,i,r,o){const n=_E(t,i,r);let s=e/Math.max(1,n||1);o&&(s=Math.floor(s));let a=s*(1-i);return o&&(a=Math.round(a)),a}(super.domain().length,e,this._paddingInner,this._paddingOuter,this._round);i<this._minBandwidth?(this._bandwidth=this._minBandwidth,this._isFixed=!0):i>this._maxBandwidth?(this._bandwidth=this._maxBandwidth,this._isFixed=!0):(this._bandwidth=i,this._isFixed=!1)}if(this.isBandwidthFixed()){const s=(i=super.domain().length,r=this._bandwidth,o=this._paddingInner,n=this._paddingOuter,1===o&&(o=0),_E(i,o,n)*(r/(1-o))*Math.sign(t[1]-t[0])),a=Math.min((t[1]-t[0])/s,1);if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)){if(s>0){const e=t[0]-s*this._rangeFactorStart,i=e+s;this._wholeRange=[e,i]}else{const e=t[1]+s*(1-this._rangeFactorEnd),i=e-s;this._wholeRange=[i,e]}const i=this._rangeFactorStart+a<=1,r=this._rangeFactorEnd-a>=0;"rangeFactorStart"===e&&i?this._rangeFactorEnd=this._rangeFactorStart+a:"rangeFactorEnd"===e&&r?this._rangeFactorStart=this._rangeFactorEnd-a:t[0]<=t[1]?i?this._rangeFactorEnd=this._rangeFactorStart+a:r?this._rangeFactorStart=this._rangeFactorEnd-a:(this._rangeFactorStart=0,this._rangeFactorEnd=a):r?this._rangeFactorStart=this._rangeFactorEnd-a:i?this._rangeFactorEnd=this._rangeFactorStart+a:(this._rangeFactorStart=1-a,this._rangeFactorEnd=1)}else this._rangeFactorStart=0,this._rangeFactorEnd=a,this._wholeRange=[t[0],t[0]+s];return this._wholeRange}var i,r,o,n;return super._calculateWholeRange(t)}calculateWholeRangeSize(){const t=this._calculateWholeRange(this._range);return Math.abs(t[1]-t[0])}calculateVisibleDomain(t){const e=this._domain;if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&e.length){const i=this._getInvertIndex(t[0]),r=this._getInvertIndex(t[1]);return e.slice(Math.min(i,r),Math.max(i,r)+1)}return e}domain(t,e){return t?(super.domain(t),this.rescale(e)):super.domain()}range(t,e){return t?(this._range=[sL(t[0]),sL(t[1])],this.rescale(e)):this._range}rangeRound(t,e){return this._range=[sL(t[0]),sL(t[1])],this._round=!0,this.rescale(e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return-1===t?e:HE(0,e.length-1,t,!1).map((t=>e[t]))}tickData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this.ticks(t).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0]+this._bandwidth/2)/(this._range[1]-this._range[0])})))}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return HE(0,e.length-1,t,!0).filter((t=>t<e.length)).map((t=>e[t]))}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return function(t,e,i){let r;if(i=yL(1,(e=Math.floor(+e))-(t=Math.floor(+t))+1)(Math.floor(+i)),r=e<t){const i=t;t=e,e=i}return PE(t,e,i,r)}(0,e.length-1,t).map((t=>e[t]))}_getInvertIndex(t){let e=0;const i=this.step()/2,r=this.bandwidth()/2,o=this._domain.length,n=this.range(),s=n[0]>n[n.length-1];for(e=0;e<o;e++){const n=this.scale(this._domain[e])+r;if(0===e&&(!s&&!pL(t,n+i)||s&&!fL(t,n-i)))break;if(e===o-1)break;if(!fL(t,n-i)&&!pL(t,n+i))break}return e>=0&&e<=o-1?e:o-1}invert(t){return this._domain[this._getInvertIndex(t)]}padding(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(Array.isArray(t)?Math.min.apply(null,t):t)),this._paddingInner=this._paddingOuter,this.rescale(e)):this._paddingInner}paddingInner(t,e){return void 0!==t?(this._paddingInner=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingInner}paddingOuter(t,e){return void 0!==t?(this._paddingOuter=Math.max(0,Math.min(1,t)),this.rescale(e)):this._paddingOuter}step(){return this._step}round(t,e){return void 0!==t?(this._round=t,this.rescale(e)):this._round}align(t,e){return void 0!==t?(this._align=Math.max(0,Math.min(1,t)),this.rescale(e)):this._align}rangeFactor(t,e){return t?(super.rangeFactor(t),this.rescale(e)):super.rangeFactor()}rangeFactorStart(t,e){return jk(t)?super.rangeFactorStart():(super.rangeFactorStart(t),this.rescale(e,"rangeFactorStart"))}rangeFactorEnd(t,e){return jk(t)?super.rangeFactorEnd():(super.rangeFactorEnd(t),this.rescale(e,"rangeFactorEnd"))}bandwidth(t,e){return t?("auto"===t?(this._bandwidth=void 0,this._isFixed=!1):(this._bandwidth=t,this._isFixed=!0),this._userBandwidth=t,this.rescale(e)):this._bandwidth}maxBandwidth(t,e){return t?(this._maxBandwidth="auto"===t?void 0:t,this.rescale(e)):this._maxBandwidth}minBandwidth(t,e){return t?(this._minBandwidth="auto"===t?void 0:t,this.rescale(e)):this._minBandwidth}fishEye(t,e,i){return t||i?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}isBandwidthFixed(){return this._isFixed&&!!this._bandwidth}_isBandwidthFixedByUser(){return this._isFixed&&this._userBandwidth&&Jk(this._userBandwidth)}clone(){var t,e,i;return new kE(!0).domain(this._domain,!0).range(this._range,!0).round(this._round,!0).paddingInner(this._paddingInner,!0).paddingOuter(this._paddingOuter,!0).align(this._align,!0).bandwidth(null!==(t=this._userBandwidth)&&void 0!==t?t:"auto",!0).maxBandwidth(null!==(e=this._maxBandwidth)&&void 0!==e?e:"auto",!0).minBandwidth(null!==(i=this._maxBandwidth)&&void 0!==i?i:"auto")}}const{interpolateRgb:LE}=LL;function EE(t,e){const i=typeof e;let r;if(jk(e)||"boolean"===i)return()=>e;if("number"===i)return CL(t,e);if("string"===i){if(r=HL.parseColorString(e)){const e=LE(HL.parseColorString(t),r);return t=>e(t).formatRgb()}return CL(Number(t),Number(e))}return e instanceof kL?LE(t,e):e instanceof HL?LE(t.color,e.color):e instanceof Date?function(t,e){const i=t.valueOf(),r=e.valueOf(),o=new Date;return t=>(o.setTime(i*(1-t)+r*t),o)}(t,e):CL(Number(t),Number(e))}class FE extends TE{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:gE,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gE;super(),this._unknown=void 0,this.transformer=t,this.untransformer=e,this._forceAlign=!0,this._domain=[0,1],this._range=[0,1],this._clamp=gE,this._piecewise=xE,this._interpolate=EE}calculateVisibleDomain(t){var e;return Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&2===t.length?[this.invert(t[0]),this.invert(t[1])]:null!==(e=this._niceDomain)&&void 0!==e?e:this._domain}fishEye(t,e,i){return t||i?(this._fishEyeOptions=t,this._fishEyeTransform=null,this.rescale(e)):this._fishEyeOptions}scale(t){var e;if(t=Number(t),Number.isNaN(t)||this._domainValidator&&!this._domainValidator(t))return this._unknown;this._output||(this._output=this._piecewise((null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),this._calculateWholeRange(this._range),this._interpolate));const i=this._output(this.transformer(this._clamp(t)));return this._fishEyeTransform?this._fishEyeTransform(i):i}invert(t){var e;return this._input||(this._input=this._piecewise(this._calculateWholeRange(this._range),(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this.transformer),CL)),this._clamp(this.untransformer(this._input(t)))}domain(t,e){var i;if(!t)return(null!==(i=this._niceDomain)&&void 0!==i?i:this._domain).slice();this._domainValidator=null,this._niceType=null,this._niceDomain=null;const r=Array.from(t,sL);return this._domain=r,this.rescale(e)}range(t,e){if(!t)return this._range.slice();const i=Array.from(t);return this._range=i,this.rescale(e)}rangeRound(t,e){const i=Array.from(t);return this._range=i,this._interpolate=wL,this.rescale(e)}rescale(t){var e;if(t)return this;const i=null!==(e=this._niceDomain)&&void 0!==e?e:this._domain,r=i.length,o=this._range.length;let n=Math.min(r,o);if(r&&r<o&&this._forceAlign){const t=o-r+1,e=i[r-1],s=r>=2?(e-i[r-2])/t:0;for(let o=1;o<=t;o++)i[r-2+o]=e-s*(t-o);n=o}return this._autoClamp&&(this._clamp=yL(i[0],i[n-1])),this._piecewise=n>2?AE:xE,this._output=this._input=null,this._wholeRange=null,this.generateFishEyeTransform(),this}clamp(t,e,i){return arguments.length?(e?(this._autoClamp=!1,this._clamp=e):(this._autoClamp=!!t,this._clamp=t?void 0:gE),this.rescale(i)):this._clamp!==gE}interpolate(t,e){return arguments.length?(this._interpolate=t,this.rescale(e)):this._interpolate}ticks(){return[]}tickData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.ticks(t);return(null!=e?e:[]).map(((t,e)=>({index:e,tick:t,value:(this.scale(t)-this._range[0])/(this._range[1]-this._range[0])})))}rangeFactor(t,e){return t?(super.rangeFactor(t),this._output=this._input=null,this):super.rangeFactor()}rangeFactorStart(t,e){return jk(t)?super.rangeFactorStart():(super.rangeFactorStart(t),this._output=this._input=null,this)}rangeFactorEnd(t,e){return jk(t)?super.rangeFactorEnd():(super.rangeFactorEnd(t),this._output=this._input=null,this)}forceAlignDomainRange(t){return arguments.length?(this._forceAlign=t,this):this._forceAlign}}const IE=Math.sqrt(50),zE=Math.sqrt(10),OE=Math.sqrt(2),DE=[1,2,5,10],WE=(t,e,i)=>{let r=1,o=t;const n=Math.floor((e-1)/2),s=Math.abs(t);return t>=0&&t<=Number.MIN_VALUE?o=0:t<0&&t>=-Number.MIN_VALUE?o=-(e-1):!i&&s<1?r=jE(s).step:(i||s>1)&&(o=Math.floor(t)-n*r),r>0?(t>0?o=Math.max(o,0):t<0&&(o=Math.min(o,-(e-1)*r)),function(t,e,i){Uk(e)||(e=t,t=0),Uk(i)||(i=1);let r=-1;const o=0|Math.max(0,Math.ceil((e-t)/i)),n=new Array(o);for(;++r<o;)n[r]=t+r*i;return n}(0,e).map((t=>o+t*r))):t>0?GE(0,-(e-1)/r,r):GE((e-1)/r,0,r)},NE=mL(((t,e,i,r)=>{let o,n,s,a,l=-1;if(i=+i,(t=+t)==(e=+e))return[t];if(Math.abs(t-e)<=Number.MIN_VALUE&&i>0)return[t];if((o=e<t)&&(n=t,t=e,e=n),a=UE(t,e,i).step,!isFinite(a))return[];if(a>0){let i=Math.round(t/a),r=Math.round(e/a);for(i*a<t&&++i,r*a>e&&--r,s=new Array(n=r-i+1);++l<n;)s[l]=(i+l)*a}else if(a<0&&(null==r?void 0:r.noDecimals)){a=1;const i=Math.ceil(t),r=Math.floor(e);if(!(i<=r))return[];for(s=new Array(n=r-i+1);++l<n;)s[l]=i+l}else{a=-a;let i=Math.round(t*a),r=Math.round(e*a);for(i/a<t&&++i,r/a>e&&--r,s=new Array(n=r-i+1);++l<n;)s[l]=(i+l)/a}return o&&s.reverse(),s})),GE=(t,e,i)=>{let r,o,n=-1;if(i>0){let s=Math.floor(t/i),a=Math.ceil(e/i);for((s+1)*i<t&&++s,(a-1)*i>e&&--a,o=new Array(r=a-s+1);++n<r;)o[n]=(s+n)*i}else{i=-i;let s=Math.floor(t*i),a=Math.ceil(e*i);for((s+1)/i<t&&++s,(a-1)/i>e&&--a,o=new Array(r=a-s+1);++n<r;)o[n]=(s+n)/i}return o},VE=mL(((t,e,i,r)=>{let o,n,s;if(i=+i,(t=+t)==(e=+e))return WE(t,i,null==r?void 0:r.noDecimals);if(Math.abs(t-e)<=Number.MIN_VALUE&&i>0)return WE(t,i,null==r?void 0:r.noDecimals);(o=e<t)&&(s=t,t=e,e=s);const a=UE(t,e,i);let l=a.step;if(!isFinite(l))return[];if(l>0){let r=1;const{power:o,gap:s}=a,h=10===s?2*10**o:1*10**o;for(;r<=5&&(n=GE(t,e,l),n.length>i+1)&&i>2;)l+=h,r+=1;i>2&&n.length<i-1&&(n=((t,e,i)=>{let r;const o=t[0],n=t[t.length-1],s=e-t.length;if(n<=0){const e=[];for(r=s;r>=1;r--)e.push(o-r*i);return e.concat(t)}if(o>=0){for(r=1;r<=s;r++)t.push(n+r*i);return t}let a=[];const l=[];for(r=1;r<=s;r++)r%2==0?a=[o-Math.floor(r/2)*i].concat(a):l.push(n+Math.ceil(r/2)*i);return a.concat(t).concat(l)})(n,i,l))}else(null==r?void 0:r.noDecimals)&&l<0&&(l=1),n=GE(t,e,l);return o&&n.reverse(),n})),jE=t=>{const e=Math.floor(Math.log(t)/Math.LN10),i=t/10**e;let r=DE[0];return i>=IE?r=DE[3]:i>=zE?r=DE[2]:i>=OE&&(r=DE[1]),e>=0?{step:r*10**e,gap:r,power:e}:{step:-(10**-e)/r,gap:r,power:e}};function UE(t,e,i){const r=(e-t)/Math.max(0,i);return jE(r)}function KE(t,e,i){let r;if(i=+i,(t=+t)==(e=+e)&&i>0)return[t];if(i<=0||0===(r=function(t,e,i){return(e-t)/Math.max(1,i-1)}(t,e,i))||!isFinite(r))return[];const o=new Array(i);for(let e=0;e<i;e++)o[e]=t+e*r;return o}function $E(t){let e,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,o=0,n=t.length-1,s=t[o],a=t[n],l=10;for(a<s&&(i=s,s=a,a=i,i=o,o=n,n=i);l-- >0;){if(i=UE(s,a,r).step,i===e)return t[o]=s,t[n]=a,t;if(i>0)s=Math.floor(s/i)*i,a=Math.ceil(a/i)*i;else{if(!(i<0))break;s=Math.ceil(s*i)/i,a=Math.floor(a*i)/i}e=i}}function XE(t,e){const i=Jk(e.forceMin),r=Jk(e.forceMax);let o=null;const n=[];let s=null;const a=i&&r?t=>t>=e.forceMin&&t<=e.forceMax:i?t=>t>=e.forceMin:r?t=>t<=e.forceMax:null;return i?n[0]=e.forceMin:Jk(e.min)&&e.min<=Math.min(t[0],t[t.length-1])&&(n[0]=e.min),r?n[1]=e.forceMax:Jk(e.max)&&e.max>=Math.max(t[0],t[t.length-1])&&(n[1]=e.max),Jk(n[0])&&Jk(n[1])?(s=t.slice(),s[0]=n[0],s[s.length-1]=n[1]):o=Jk(n[0])||Jk(n[1])?Jk(n[0])?"max":"min":"all",{niceType:o,niceDomain:s,niceMinMax:n,domainValidator:a}}const YE=(t,e,i)=>Math.abs(e-t)<1?+i.toFixed(1):Math.round(+i),qE=mL(((t,e,i,r,o,n,s)=>{let a=t,l=e;const h=l<a;h&&([a,l]=[l,a]);let c,d,u=o(a),g=o(l),p=[];if(!(r%1)&&g-u<i){if(u=Math.floor(u),g=Math.ceil(g),a>0){for(;u<=g;++u)for(c=1;c<r;++c)if(d=u<0?c/n(-u):c*n(u),!(d<a)){if(d>l)break;p.push(d)}}else for(;u<=g;++u)for(c=r-1;c>=1;--c)if(d=u>0?c/n(-u):c*n(u),!(d<a)){if(d>l)break;p.push(d)}2*p.length<i&&(p=VE(a,l,i))}else p=VE(u,g,Math.min(g-u,i)).map(n);return p=p.filter((t=>0!==t)),(null==s?void 0:s.noDecimals)&&(p=Array.from(new Set(p.map((t=>Math.floor(t)))))),h?p.reverse():p})),ZE=mL(((t,e,i,r,o,n)=>{const s=[],a={},l=o(t),h=o(e);let c=[];if(Number.isInteger(r))c=VE(l,h,i);else{const t=(h-l)/(i-1);for(let e=0;e<i;e++)c.push(l+e*t)}return c.forEach((i=>{const o=n(i),l=Number.isInteger(r)?YE(t,e,o):YE(t,e,RE(o)),h=YE(t,e,((t,e)=>{let i,r;return e[0]<e[1]?(i=e[0],r=e[1]):(i=e[1],r=e[0]),Math.min(Math.max(t,i),r)})(l,[t,e]));!a[h]&&!isNaN(h)&&c.length>1&&(a[h]=1,s.push(h))})),s})),JE=mL(((t,e,i,r,o)=>KE(r(t),r(e),i).map((t=>RE(o(t))))));class QE extends FE{constructor(){super(...arguments),this.type=uE.Linear}clone(){return(new QE).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate)}tickFormat(){return()=>{}}d3Ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;const i=this.calculateVisibleDomain(this._range);return NE(i[0],i[i.length-1],t,e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;var i;if(Vk(null==e?void 0:e.customTicks))return e.customTicks(this,t);if(Uk(this._rangeFactorStart)&&Uk(this._rangeFactorEnd)&&(this._rangeFactorStart>0||this._rangeFactorEnd<1)&&2===this._range.length||!this._niceType)return this.d3Ticks(t,e);const r=null!==(i=this._niceDomain)&&void 0!==i?i:this._domain,o=this._domain,n=r[0],s=r[r.length-1];let a=VE(o[0],o[o.length-1],t,e);if(!a.length)return a;if(this._domainValidator)a=a.filter(this._domainValidator);else if((a[0]!==n||a[a.length-1]!==s)&&this._niceType){const t=r.slice();if("all"===this._niceType?(t[0]=a[0],t[t.length-1]=a[a.length-1],this._niceDomain=t,this.rescale()):"min"===this._niceType&&a[0]!==n?(t[0]=a[0],this._niceDomain=t,this.rescale()):"max"===this._niceType&&a[a.length-1]!==s&&(t[t.length-1]=a[a.length-1],this._niceDomain=t,this.rescale()),"all"!==this._niceType){const e=Math.min(t[0],t[t.length-1]),i=Math.max(t[0],t[t.length-1]);a=a.filter((t=>t>=e&&t<=i))}}return a}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return KE(e[0],e[e.length-1],t)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return function(t,e,i){let r,o,n=-1;if(i=+i,(o=(e=+e)<(t=+t))&&(r=t,t=e,e=r),!isFinite(i)||e-t<=i)return[t];const s=Math.floor((e-t)/i+1),a=new Array(s);for(;++n<s;)a[n]=t+n*i;return o&&a.reverse(),a}(e[0],e[e.length-1],t)}nice(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;var i,r;const o=this._domain;let n=[];if(e){const t=XE(o,e);if(n=t.niceMinMax,this._domainValidator=t.domainValidator,this._niceType=t.niceType,t.niceDomain)return this._niceDomain=t.niceDomain,this.rescale(),this}else this._niceType="all";if(this._niceType){const e=$E(o.slice(),t);"min"===this._niceType?e[e.length-1]=null!==(i=n[1])&&void 0!==i?i:e[e.length-1]:"max"===this._niceType&&(e[0]=null!==(r=n[0])&&void 0!==r?r:e[0]),this._niceDomain=e,this.rescale()}return this}niceMin(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;this._niceType="min";const e=this._domain[this._domain.length-1],i=$E(this.domain(),t);return i&&(i[i.length-1]=e,this._niceDomain=i,this.rescale()),this}niceMax(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;this._niceType="max";const e=this._domain[0],i=$E(this._domain.slice(),t);return i&&(i[0]=e,this._niceDomain=i,this.rescale()),this}}class tF{nice(){let t=arguments.length>1?arguments[1]:void 0;var e,i,r,o;const n=this._domain;let s=[],a=null;if(t){const e=XE(n,t);if(s=e.niceMinMax,this._domainValidator=e.domainValidator,a=e.niceType,e.niceDomain)return this._niceDomain=e.niceDomain,this.rescale(),this}else a="all";if(a){const t=((t,e)=>{const i=t.slice();let r=0,o=i.length-1,n=i[r],s=i[o];return s<n&&([r,o]=[o,r],[n,s]=[s,n]),i[r]=e.floor(n),i[o]=e.ceil(s),i})(n.slice(),null!==(i=null===(e=this.getNiceConfig)||void 0===e?void 0:e.call(this))&&void 0!==i?i:{floor:t=>Math.floor(t),ceil:t=>Math.ceil(t)});return"min"===a?t[t.length-1]=null!==(r=s[1])&&void 0!==r?r:t[t.length-1]:"max"===a&&(t[0]=null!==(o=s[0])&&void 0!==o?o:t[0]),this._niceDomain=t,this.rescale(),this}return this}niceMin(){const t=this._domain[this._domain.length-1];this.nice();const e=this._domain.slice();return this._domain&&(e[e.length-1]=t,this._niceDomain=e,this.rescale()),this}niceMax(){const t=this._domain[0];this.nice();const e=this._domain.slice();return this._domain&&(e[0]=t,this._niceDomain=e,this.rescale()),this}}function eF(t){return e=>-t(-e)}function iF(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.EPSILON;return e=>Math.max(e,t)}class rF extends FE{constructor(){super(yE(10),bE(10)),this.type=uE.Log,this._limit=iF(),this._logs=this.transformer,this._pows=this.untransformer,this._domain=[1,10],this._base=10}clone(){return(new rF).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).base(this._base)}rescale(t){var e;if(t)return this;super.rescale();const i=yE(this._base),r=bE(this._base);return(null!==(e=this._niceDomain)&&void 0!==e?e:this._domain)[0]<0?(this._logs=eF(i),this._pows=eF(r),this._limit=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.EPSILON;return e=>Math.min(e,-t)}(),this.transformer=pE,this.untransformer=fE):(this._logs=i,this._pows=r,this._limit=iF(),this.transformer=this._logs,this.untransformer=r),this}scale(t){var e;if(t=Number(t),Number.isNaN(t)||this._domainValidator&&!this._domainValidator(t))return this._unknown;this._output||(this._output=this._piecewise((null!==(e=this._niceDomain)&&void 0!==e?e:this._domain).map(this._limit).map(this.transformer),this._calculateWholeRange(this._range),this._interpolate));const i=this._output(this.transformer(this._limit(this._clamp(t))));return this._fishEyeTransform?this._fishEyeTransform(i):i}base(t,e){return arguments.length?(this._base=t,this.rescale(e)):this._base}tickFormat(){return gE}d3Ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;const i=this.domain(),r=this._limit(i[0]),o=this._limit(i[i.length-1]);return qE(r,o,t,this._base,this.transformer,this.untransformer,e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return ZE(this._limit(e[0]),this._limit(e[e.length-1]),t,this._base,this.transformer,this.untransformer)}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return JE(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return JE(this._limit(e[0]),this._limit(e[e.length-1]),t,this.transformer,this.untransformer)}getNiceConfig(){return{floor:t=>this._pows(Math.floor(this._logs(this._limit(t)))),ceil:t=>Math.abs(t)>=1?Math.ceil(t):this._pows(Math.ceil(this._logs(this._limit(t))))}}}oL(rF,tF);class oF extends QE{constructor(){super(CE(1),wE(1)),this.type=uE.Symlog,this._const=1}clone(){return(new oF).domain(this._domain,!0).range(this._range,!0).unknown(this._unknown).clamp(this.clamp(),null,!0).interpolate(this._interpolate,!0).constant(this._const)}constant(t,e){return arguments.length?(this._const=t,this.transformer=CE(t),this.untransformer=wE(t),this.rescale(e)):this._const}d3Ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=arguments.length>1?arguments[1]:void 0;const i=this.domain(),r=i[0],o=i[i.length-1];return qE(r,o,t,this._const,this.transformer,this.untransformer,e)}ticks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return ZE(e[0],e[e.length-1],t,this._const,this.transformer,this.untransformer)}forceTicks(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const e=this.calculateVisibleDomain(this._range);return JE(e[0],e[e.length-1],t,this.transformer,this.untransformer)}stepTicks(t){const e=this.calculateVisibleDomain(this._range);return JE(e[0],e[e.length-1],t,this.transformer,this.untransformer)}}oL(oF,tF);class nF{_scale;_scales;bandPadding;paddingInner;paddingOuter;constructor(){this._scale=new kE,this._scales=[this._scale]}valueToPosition(t){return this._scale.scale(t)}getPosition(t){let e=0,i=this._scale;if(1===this._scales.length||1===t.length)e=this.valueToPosition(t[0]);else{const r=Math.min(t.length,this._scales.length);for(let i=0;i<r;i++)e+=this._scales[i].scale(t[i]);i=this._scales[r-1]}return{position:e,bandScale:i}}calcScales(t,e){const{bandPadding:i,paddingInner:r,paddingOuter:o}=this,n=ot(i),s=ot(r),a=ot(o);for(let l=0;l<this._scales.length;l++){const h=n?i[l]:i,c=s?r[l]:r,d=a?o[l]:o;this._scales[l].paddingInner(c??h??t,!0).paddingOuter(d??h??e)}}dataToPosition(t,e={}){if(0===t.length||0===this._scales.length)return 0;const{position:i,bandScale:r}=this.getPosition(t);return i+r.bandwidth()*(e.bandPosition??.5)}updateScaleDomain(t){for(let e=0;e<this._scales.length;e++)this._scales[e].domain(t)}updateRange(t){const[e,i]=this._scale.range();t[0]===e&&t[1]===i||this._scale.range(t)}}const sF=Math.sqrt(50),aF=Math.sqrt(10),lF=Math.sqrt(2);class hF{_extend={};_scale;_scales;nice;zero;domain;expand;forceTickCount;tickCount;niceType;type;constructor(t){this.type=t??"linear",this._scale="log"===t?new rF:"symlog"===t?new oF:new QE,this._scales=[this._scale]}setExtraAttrFromSpec(t,e,i,r,o,n){this.nice=!1,this.zero=e,this.zero&&(i.min=Math.min(i.min,0),i.max=Math.max(i.max,0)),this.domain=i,this.expand=r,"log"===this.type?this._scale.base(o??10):"symlog"===this.type&&this._scale.constant(n??10)}transformScaleDomain(){"symlog"===this.type||"log"===this.type||this.setScaleNice()}setScaleNice(){"log"===this.type?this.setLogScaleNice():this.setLinearScaleNice()}setLogScaleNice(){Z(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.nice():J(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.niceMax():Z(this.domain?.min)&&J(this.domain?.max)&&this.nice&&this._scale.niceMin()}setLinearScaleNice(){let t=this.forceTickCount??this.tickCount??10;"accurateFirst"===this.niceType&&(t=Math.max(10,t)),Z(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.nice(t):J(this.domain?.min)&&Z(this.domain?.max)?this.nice&&this._scale.niceMax(t):Z(this.domain?.min)&&J(this.domain?.max)?this.nice&&this._scale.niceMin(t):this.nice&&this._scale.nice(t)}dataToPosition(t){return this.valueToPosition(t[0])}valueToPosition(t){return this._scale.scale(t)}computeLinearDomain(t){const e=[];return t.forEach((t=>{const{min:i,max:r}=t;e[0]=void 0===e[0]?i:Math.min(e[0],i),e[1]=void 0===e[1]?r:Math.max(e[1],r)})),this.expandDomain(e),this.includeZero(e),this.setDomainMinMax(e),e}expandDomain(t){if(!this.expand)return;const e=t[0],i=t[t.length-1];J(this.expand.min)&&(t[0]=e-(i-e)*this.expand.min),J(this.expand.max)&&(t[t.length-1]=i+(i-e)*this.expand.max)}niceDomain(t){if(J(t[0])||J(t[1])||"linear"!==this.type)return t;if(Math.abs(Ht(t)-Pt(t))<=1e-12){let e=t[0];const i=e>=0?1:-1;if(e=Math.abs(e),e<1)t[0]=0,t[1]=1;else{let i=e/5;const r=Math.floor(Math.log(i)/Math.LN10),o=i/Math.pow(10,r);i=(o>=sF?10:o>=aF?5:o>=lF?2:1)*Math.pow(10,r),t[0]=0,t[1]=10*i}i<0&&(t.reverse(),t[0]*=-1,t[1]*=-1)}return t}niceMinMax(){if(this.nice){let t=this.forceTickCount??this.tickCount??10;"accurateFirst"===this.niceType&&(t=Math.max(10,t)),Z(this.domain?.min)&&Z(this.domain?.max)?this._scale.nice(t):J(this.domain?.min)&&Z(this.domain?.max)?this._scale.niceMax(t):Z(this.domain?.min)&&J(this.domain?.max)?this._scale.niceMin(t):this._scale.nice(t)}}includeZero(t){this.zero&&(t[0]=Math.min(t[0],0),t[t.length-1]=Math.max(t[t.length-1],0))}setExtendDomain(t,e){if(void 0===e)return void delete this._extend[t];this._extend[t]=e;const i=this._scale.domain();this.extendDomain(i),this.includeZero(i),this.setDomainMinMax(i),this.niceDomain(i),this._scale.domain(i,this.nice),this.niceMinMax()}extendDomain(t){let e;const i=t.length-1,r=t[0]-t[i]>0,o=r?i:0,n=r?0:i;for(const i in this._extend)e=this._extend[i],e>t[n]&&(t[n]=e),e<t[o]&&(t[o]=e)}setDomainMinMax(t){if(!this.domain)return;const{min:e,max:i}=this.domain;J(e)&&(t[0]=e),J(i)&&(t[1]=i)}setZero(t){this.zero!==t&&(this.zero=t,this.updateScaleDomain())}updateScaleDomain(){const t=this.computeDomain([this.domain]);this.updateScaleDomainByModel(t)}computeDomain(t){return this.computeLinearDomain(t)}updateScaleDomainByModel(t){t=t??this._scale.domain(),this.extendDomain(t),this.includeZero(t),this.setDomainMinMax(t),this.niceDomain(t),this._scale.domain(t,this.nice),this.niceMinMax()}updateRange(t){const[e,i]=this._scale.range();t[0]===e&&t[1]===i||this._scale.range(t)}}function cF(t,e){const i=e.option;ft(t)||i?.label?.flush&&function(t,e){const{width:i,height:r}=e.getLayoutRect(),o=dE(e.orient),n=!0===e.option.inverse,s=t[0],a=Mt(t);if(o)if(n){const t=i,e=0,r=s.AABBBounds.x2,o=a.AABBBounds.x1;r>t&&s.setAttributes({x:t,textAlign:"right"}),o<e&&a.setAttributes({x:e,textAlign:"left"})}else{const t=0,e=i,r=s.AABBBounds.x1,o=a.AABBBounds.x2;r<t&&s.setAttributes({x:t,textAlign:"left"}),o>e&&a.setAttributes({x:e,textAlign:"right"})}else if(n){const t=s.AABBBounds.y1,e=a.AABBBounds.y2,i=0,o=r;t<i&&s.setAttributes({y:i,textBaseline:"top"}),e>o&&a.setAttributes({y:o,textBaseline:"bottom"})}else{const t=r,e=0,i=s.AABBBounds.y2,o=a.AABBBounds.y1;i>t&&s.setAttributes({y:t,textBaseline:"bottom"}),o<e&&a.setAttributes({y:e,textBaseline:"top"})}}(t,e)}const dF=t=>t;class uF{width;height;x=0;y=0;table;option;orient;visible;type;inverse;data;tickData;scale;component;padding;constructor(t,e,i,r,o){if(this.padding=r,this.table=o,this.orient=t.orient??"left",this.type=t.type??"band",this.option=_t({},function(t){return t?.colorScheme?.default?.palette?_t({},qL,{tick:{style:{stroke:t.colorScheme.default.palette.axisDomainColor||"#D9DDE4"}},subTick:{style:{stroke:t.colorScheme.default.palette.axisDomainColor||"#D9DDE4"}},label:{style:{fill:t.colorScheme.default.palette.axisLabelFontColor||"#89909D"}},title:{style:{fill:t.colorScheme.default.palette.secondaryFontColor||"#333333"}}}):qL}(t.__vtableChartTheme),function(t,e){let i;"left"===t?i=e.axisStyle.leftAxisStyle:"right"===t?i=e.axisStyle.rightAxisStyle:"top"===t?i=e.axisStyle.topAxisStyle:"bottom"===t&&(i=e.axisStyle.bottomAxisStyle);return _t({},e.axisStyle.defaultAxisStyle,i)}(this.orient,o.theme),function(t,e,i){if(!i)return{};const r=i.axis;let o,n;"linear"===e||"log"===e||"symlog"===e?o=i.axisLinear:"band"===e&&(o=i.axisBand);"top"===t||"bottom"===t?n=i.axisX:"left"!==t&&"right"!==t||(n=i.axisY);return _t({},r,o,n)}(this.orient,this.type,t.__vtableChartTheme),t),"left"===this.orient||"right"===this.orient){const t=0,o=0;this.width=e,this.height=i-r[0]-r[2]-o,this.y=r[0]+t}else if("top"===this.orient||"bottom"===this.orient){const t=0,o=0;this.width=e-r[1]-r[3]-o,this.height=i,this.x=r[3]+t}this.visible=t.visible??!0,this.inverse="inverse"in t&&!!t.inverse,"band"===t.type&&(this.data=t.domain),this.initScale(),this.initData(),this.createComponent(),this.initEvent()}initScale(){const t=this.option;"band"===this.type||"point"===this.type?(this.scale=new nF,this.scale.bandPadding=t.bandPadding,this.scale.paddingInner=t.paddingInner,this.scale.paddingOuter=t.paddingOuter,this.scale.calcScales(.1,.3),this.scale.updateScaleDomain(this.data),this.updateScaleRange()):"linear"!==this.type&&"time"!==this.type&&"log"!==this.type&&"symlog"!==this.type||(this.scale=new hF(this.type),this.scale.setExtraAttrFromSpec(t.nice,t.zero,t.range,t.expand,t.base,t.constant),this.scale.transformScaleDomain(),this.scale.updateScaleDomain(),this.updateScaleRange())}initData(){var t,e,i;this.table._vDataSet||(this.table._vDataSet=new zL),function(t,e,i){t.getParser(e)||t.registerParser(e,i)}(this.table._vDataSet,"scale",dF),t=this.table._vDataSet,e="ticks",i=fC,t.getTransform(e)||t.registerTransform(e,i);const r=this.option.label||{},o=this.option.tick||{},n=new DL(this.table._vDataSet).parse(this.scale._scale,{type:"scale"}).transform({type:"ticks",options:{sampling:!1!==this.option.sampling,tickCount:o.tickCount,forceTickCount:o.forceTickCount,tickStep:o.tickStep,tickMode:o.tickMode,noDecimals:o.noDecimals,axisOrientType:this.orient,coordinateType:"cartesian",labelStyle:r.style,labelFormatter:r.formatMethod,labelGap:r.minGap,labelLastVisible:r.lastVisible,labelFlush:r.flush}},!1);this.tickData=n,this.computeData()}computeData(){this.tickData.reRunAllTransform()}initEvent(){}createComponent(){const t=ZL(this.option),e=this.getUpdateAttribute();e.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component=new ky(_t({disableTriggerEvent:this.table.options.disableInteraction},t,e)),this.component.setAttributes(this.setLayoutStartPosition({x:this.x,y:this.y})),this.component.originAxis=this}resize(t,e){this.width=t-("top"===this.orient||"bottom"===this.orient?this.padding[1]+this.padding[3]:0),this.height=e-("left"===this.orient||"right"===this.orient?this.padding[2]+this.padding[0]:0),this.updateScaleRange(),this.computeData();const i=ZL(this.option),r=this.getUpdateAttribute();r.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component.setAttributes(_t({},i,r)),this.component.setAttributes(this.setLayoutStartPosition({x:this.x,y:this.y})),this.overlap()}overlap(){!function(t,e){const i=t.find((t=>"axis-label-container-layer-0"===t.name),!0),r=t.find((t=>"axis-label-container-layer-1"===t.name),!0);cF(i?i.getChildren():[],e),cF(r?r.getChildren():[],e)}(this.component,this)}getLayoutRect(){return{width:this.width,height:this.height}}getUpdateAttribute(){this.table.tableNoFrameHeight,this.table.tableNoFrameWidth;const{width:t,height:e}=this.getLayoutRect(),i=dE(this.orient),r="left"===(o=this.orient)||"right"===o;var o;let n={x:0,y:0},s=0;i?(n={x:t,y:0},s=t):r&&(n={x:0,y:e},s=e);const a="top"===this.orient||"bottom"===this.orient?e:t;return{start:{x:0,y:0},end:n,title:{text:this.option.title.text,maxWidth:this._getTitleLimit(i)},items:this.getLabelItems(s),verticalLimitSize:a,verticalMinSize:a}}getLabelItems(t){return[this.tickData.latestData.map((e=>({id:e.value,label:e.value,value:0===t?0:this.scale.dataToPosition([e.value])/t,rawValue:e.value}))).filter((t=>t.value>=0&&t.value<=1))]}updateScaleRange(){const t=this.option.innerOffset?.right??0,e=this.option.innerOffset?.left??0,i=this.option.innerOffset?.top??0,r=this.option.innerOffset?.bottom??0,{width:o,height:n}=this.getLayoutRect(),s=this.option.inverse||!1;let a=[0,0];dE(this.orient)?lt(o)&&(a=s?[o-t,e]:[e,o-t]):lt(n)&&(a=s?[i,n-r]:[n-r,i]),this.scale.updateRange(a)}setLayoutStartPosition(t){let{x:e,y:i}=t;return lt(e)&&(e+=Number("left"===this.orient)*this.getLayoutRect().width),lt(i)&&(i+=Number("top"===this.orient)*this.getLayoutRect().height),{x:e,y:i}}_getTitleLimit(t){if(this.option.title.visible&&Z(this.option.title.style?.maxLineWidth)){let e=this.option.title.style?.angle||0;if(this.option.title?.autoRotate&&Z(this.option.title.angle)&&(e="left"===this.option.orient?-90:90),t){const t=this.getLayoutRect().width,i=Math.abs(Math.cos(ue(e)));return i<1e-6?1/0:t/i}const i=this.getLayoutRect().height,r=Math.abs(Math.sin(ue(e)));return r<1e-6?1/0:i/r}return null}getScale(){return this.scale._scale}getDomainSpec(){return this.scale.domain}}function gF(t,e){const i=_t({},qL,t);let r=0;!1!==i.tick.visible&&(r=i.tick.width??4);let o=0;if(i.label.visible){if("band"===i.type){i.domain.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).width)}))}else{let r;if(t.sync?.tickAlign&&q(t.tick?.tickMode))r=t.tick.tickMode();else if(ot(t.__ticksForVTable))r=t.__ticksForVTable;else{const t=i.range,e=Math.abs(t.min)>1?Math.round(t.min):t.min,o=Math.abs(t.max)>1?Math.round(t.max):t.max;r=[fF(e),fF(o)]}r.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).width)}))}o+=i.label.space??4}let n=0;if(i.title.visible&&rt(i.title.text)){const{width:r,height:o}=e.measureText(i.title.text,{fontSize:i.title?.style?.fontSize??$L,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=mF(Math.min(r,s),o,i.title?.style?.angle);n="left"!==t.orient&&"right"!==t.orient||!i.title.autoRotate?a.width:a.height,n+=i.title.space??4}return Math.ceil(r+o+n+1)}function pF(t,e){const i=_t({},qL,t);let r=0;!1!==i.tick.visible&&(r=i.tick.width??4);let o=0;if(i.label.visible){if("band"===i.type){i.domain.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).height)}))}else{let r;if(t.sync?.tickAlign&&q(t.tick?.tickMode))r=t.tick.tickMode();else if(ot(t.__ticksForVTable))r=t.__ticksForVTable;else{const t=i.range,e=Math.abs(t.min)>1?Math.round(t.min):t.min,o=Math.abs(t.max)>1?Math.round(t.max):t.max;r=[fF(e),fF(o)]}r.forEach((t=>{i.label.formatMethod&&(t=i.label.formatMethod(t));const{width:r,height:n}=e.measureText(t,{fontSize:i.label?.style?.fontSize??$L,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,mF(Math.min(r,s),n,a).height)}))}o+=i.label.space??4}let n=0;if(i.title.visible&&i.title.text){const{width:r,height:o}=e.measureText(i.title.text,{fontSize:i.title?.style?.fontSize??$L,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??KL}),s=i.label?.style?.maxLineWidth||1/0,a=mF(Math.min(r,s),o,i.title?.style?.angle);n="bottom"!==t.orient&&"top"!==t.orient||!i.title.autoRotate?a.height:a.width,n+=i.title.space??4}return r+o+n+1}function fF(t){return"number"!=typeof t&&(t=Number(t)),Number(t.toPrecision(1)).toString()}function mF(t,e,i=0){const r=i*Math.PI/180,o=-t/2,n=-e/2,s=t/2,a=-e/2,l=t/2,h=e/2,c=-t/2,d=e/2,u={x:o*Math.cos(r)-n*Math.sin(r),y:o*Math.sin(r)+n*Math.cos(r)},g={x:s*Math.cos(r)-a*Math.sin(r),y:s*Math.sin(r)+a*Math.cos(r)},p={x:l*Math.cos(r)-h*Math.sin(r),y:l*Math.sin(r)+h*Math.cos(r)},f={x:c*Math.cos(r)-d*Math.sin(r),y:c*Math.sin(r)+d*Math.cos(r)},m=Math.min(u.x,g.x,p.x,f.x),b=Math.max(u.x,g.x,p.x,f.x),y=Math.min(u.y,g.y,p.y,f.y);return{width:b-m,height:Math.max(u.y,g.y,p.y,f.y)-y}}class bF{table;_emptyTipOption={spaceBetweenTextAndIcon:20,text:"no data",textStyle:{fontSize:14,color:"#000"},icon:{image:'<svg t="1716726614852" class="icon" viewBox="0 0 1194 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2621" width="200" height="200"><path d="M1038.694079 367.237067c13.265507 23.342857-16.633865-40.004445-63.05621-40.004446H219.018794c-26.558738 0-46.46393 13.334815-63.05621 40.004446S0.006238 607.277601 0.006238 650.608819V940.647979a82.351494 82.351494 0 0 0 82.961402 83.349526H1111.702885a82.337632 82.337632 0 0 0 82.975264-83.349526V650.608819c0-43.331218-155.970208-283.371753-155.970208-283.371752zM730.066575 667.284269a136.328386 136.328386 0 0 1-132.738243 133.33429 133.417459 133.417459 0 0 1-132.738243-133.33429v-6.681269a40.6698 40.6698 0 0 0-36.497473-26.66963H73.015044l119.458874-220.02445s23.231965-40.004445 53.103614-40.004446h713.481918c26.544876 0 29.871649 10.008042 46.436207 40.004446L1128.33675 633.947231H769.904682c-26.184476 0-39.838107 7.623855-39.838107 33.337038zM338.505391 210.559919l-89.601086-86.69016a22.178487 22.178487 0 0 1 0-33.26773 21.984425 21.984425 0 0 1 33.170699 0l89.601087 86.676299a22.317102 22.317102 0 0 1 0 33.26773 24.950798 24.950798 0 0 1-33.1707 0z m252.197118-40.059891a25.532983 25.532983 0 0 1-6.639685-16.633865l-3.326773-126.694606A28.263709 28.263709 0 0 1 603.995739 0.515788c13.251646-3.326773 23.204242 10.021904 26.544877 23.342858V153.866163a28.249847 28.249847 0 0 1-23.259688 26.66963c-6.611961-3.312911-13.279369-3.312911-16.578419-10.035765z m235.646421 33.337038a22.372548 22.372548 0 0 1 0-33.337038l86.288175-90.030795a22.039871 22.039871 0 0 1 33.170699 0 22.289379 22.289379 0 0 1 0 33.364761l-82.961401 90.003072a25.962691 25.962691 0 0 1-36.483611 0z" fill="#8a8a8a" p-id="2622"></path></svg>',width:100,height:100}};isReleased=!1;_emptyTipComponent;_cacheAttrs;constructor(t,e){this.table=e,this._emptyTipOption=Object.assign(this._emptyTipOption,!0===t?{}:t),J(this._emptyTipOption.displayMode)||(this.table.isListTable()?this._emptyTipOption.displayMode="basedOnTable":this._emptyTipOption.displayMode="basedOnContainer"),this._emptyTipComponent=this._createOrUpdateEmptyTipComponent(this._getEmptyTipAttrs())}_createOrUpdateEmptyTipComponent(t){if(this._emptyTipComponent)Rt(t,this._cacheAttrs)||this._emptyTipComponent.setAttributes(t);else{const e=new NC(t);e.name="emptyTip",this.table.scenegraph.stage.defaultLayer.appendChild(e),this._emptyTipComponent=e,this.bindEvents()}return this._emptyTipComponent}bindEvents(){this._emptyTipComponent.on("click",(t=>{const e=new Pe;this._emptyTipComponent.forEachChildren((t=>{e.union(t.globalAABBBounds)})),e.contains(t.x,t.y)&&this.table.fireListeners("empty_tip_click",t)})),this._emptyTipComponent.on("dblclick",(t=>{const e=new Pe;this._emptyTipComponent.forEachChildren((t=>{e.union(t.globalAABBBounds)})),e.contains(t.x,t.y)&&this.table.fireListeners("empty_tip_dblclick",t)}))}resize(){if(!this._emptyTipComponent)return;const{leftHeaderWidth:t,topHeaderHeight:e,width:i,height:r}=this.getWidthAndHeight();this._emptyTipComponent.setAttributes({spaceBetweenTextAndIcon:this._emptyTipOption.spaceBetweenTextAndIcon,x:this.table.tableX+t,y:this.table.tableY+e,width:i,height:r,text:{text:this._emptyTipOption.text,...this._emptyTipOption.textStyle,fill:this._emptyTipOption.textStyle?.color},icon:{...this._emptyTipOption.icon}})}release(){this._emptyTipComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent),this._emptyTipComponent=null,this.isReleased=!0}resetVisible(){(this.table.recordsCount&&0!==this.table.recordsCount||this.table.internalProps.layoutMap.rowCount!==this.table.internalProps.layoutMap.columnHeaderLevelCount)&&this.table.internalProps.layoutMap.colCount!==this.table.internalProps.layoutMap.rowHeaderLevelCount?this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)&&this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent):this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)||this.table.scenegraph.stage.defaultLayer.appendChild(this._emptyTipComponent)}getWidthAndHeight(){const t=this.table.transpose||!1===this.table.options.indicatorsAsCol?this.table.getFrozenColsWidth():0,e=!this.table.transpose||this.table.options.indicatorsAsCol?this.table.getFrozenRowsHeight():0;return{leftHeaderWidth:t,topHeaderHeight:e,width:("basedOnContainer"!==this._emptyTipOption.displayMode&&this.table.columnHeaderLevelCount>0&&this.table.colCount>this.table.rowHeaderLevelCount?this.table.getDrawRange().width:this.table.tableNoFrameWidth)-t-this.table.getTheme().scrollStyle.width,height:("basedOnContainer"!==this._emptyTipOption.displayMode&&this.table.rowHeaderLevelCount>0&&this.table.rowCount>this.table.columnHeaderLevelCount?this.table.getDrawRange().height:this.table.tableNoFrameHeight)-e-this.table.getTheme().scrollStyle.width}}_getEmptyTipAttrs(){const{leftHeaderWidth:t,topHeaderHeight:e,width:i,height:r}=this.getWidthAndHeight();return{spaceBetweenTextAndIcon:this._emptyTipOption.spaceBetweenTextAndIcon,x:this.table.tableX+t,y:this.table.tableY+e,width:i,height:r,text:{text:this._emptyTipOption.text,...this._emptyTipOption.textStyle,fill:this._emptyTipOption.textStyle?.color},icon:{...this._emptyTipOption.icon}}}}const yF={orient:"bottom",position:"middle",padding:30,title:{visible:!1,padding:0,textStyle:{fontSize:14,fill:"#000000",fontWeight:"normal"},space:12},item:{visible:!0,spaceCol:10,spaceRow:10,padding:2,background:{state:{selectedHover:{fill:"gray",fillOpacity:.7},unSelectedHover:{fill:"gray",fillOpacity:.2}}},shape:{space:4,state:{unSelected:{fillOpacity:.5}}},label:{space:4,style:{fill:"#89909D",fontSize:14},state:{unSelected:{fillOpacity:.5}}}},allowAllCanceled:!0,visible:!0};class CF{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Ct(t),this.orient=t.orient??"left",this.visible=t.visible??!0,this.position=t.position??"middle",this.selectedData=t.defaultSelected??null,this.createComponent(),this.initEvent()}createComponent(){const t=this.getLegendAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight}),e=new PC(_t({},t,{defaultSelected:this.selectedData,disableTriggerEvent:this.table.options.disableInteraction}));e.name="legend",this.legendComponent=e,!1===this.visible&&(e.setAttributes({visible:!1,visibleAll:!1}),e.hideAll()),this.table.scenegraph.stage.defaultLayer.appendChild(e),this.adjustTableSize(t)}resize(){this.legendComponent&&!1!==this.visible&&(this.legendComponent.setAttributes({maxWidth:this.table.tableNoFrameWidth,maxHeight:this.table.tableNoFrameHeight}),this.adjustTableSize(this.legendComponent.attribute))}adjustTableSize(t){if(!this.legendComponent||!1===this.visible)return;let e=isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,i=isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0;if(e<=0||i<=0)return;const r=this.table.tableNoFrameWidth,o=this.table.tableNoFrameHeight,n=tA(t.padding??this.option.padding??10);let s=0,a=0;"left"===this.orient?(s=n[3],a=0,e+=n[1]+n[3]):"top"===this.orient?(s=0,a=n[0],i+=n[0]+n[2]):"right"===this.orient?(s=r-e-n[1],a=0,e+=n[1]+n[3]):"bottom"===this.orient&&(s=0,a=o-i-n[2],i+=n[0]+n[2]);const l="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",h=this.position;let c=0,d=0;"horizontal"===l?c="middle"===h?(r-e)/2:"end"===h?r-e-n[1]:n[3]:d="middle"===h?(o-i)/2:"end"===h?o-i-n[2]:n[0],this.legendComponent.setAttributes({dx:c,dy:d,x:s,y:a}),"left"===this.orient?(this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e),this.table.tableX+=Math.ceil(e)):"top"===this.orient?(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i),this.table.tableY+=Math.ceil(i)):"right"===this.orient?this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e):"bottom"===this.orient&&(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i))}getLegendAttributes(t){const e="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",i=function(t,e){const{title:i={},item:r={},pager:o={},background:n={},type:s,id:a,visible:l,orient:h,position:c,data:d,filter:u,regionId:g,regionIndex:p,seriesIndex:f,seriesId:m,padding:b,...y}=_t({},yF,t),C=y;return i.visible&&(C.title=NL(i)),ft(r.focusIconStyle)||GL(r.focusIconStyle),VL(r.shape),VL(r.label),VL(r.value),VL(r.background),kA(r.maxWidth)&&(r.maxWidth=Number(r.maxWidth.substring(0,r.maxWidth.length-1))*e.width/100),kA(r.width)&&(r.width=Number(r.width.substring(0,r.width.length-1))*e.width/100),kA(r.height)&&(r.height=Number(r.height.substring(0,r.height.length-1))*e.width/100),C.item=r,ft(o.textStyle)||GL(o.textStyle),VL(o.handler),C.pager=o,n.visible&&!ft(n.style)&&(_t(C,n.style),J(n.padding)&&(C.padding=n.padding)),C}(this.option,t),r=tA(i.padding??this.option.padding??10);return{layout:e,items:this.getLegendItems(),maxWidth:t.width-r[1]-r[3],maxHeight:t.height-r[0]-r[2],...i}}getLegendItems(){return this.option.data}initEvent(){this.legendComponent&&(this.legendComponent.addEventListener(_C.legendItemClick,(t=>{const e=mt(t,"detail.currentSelected");this.table.fireListeners(_v.LEGEND_ITEM_CLICK,{model:this,value:e,event:t})})),this.legendComponent.addEventListener(_C.legendItemHover,(t=>{const e=mt(t,"detail");this.table.fireListeners(_v.LEGEND_ITEM_HOVER,{model:this,value:e,event:t})})),this.legendComponent.addEventListener(_C.legendItemUnHover,(t=>{const e=mt(t,"detail");this.table.fireListeners(_v.LEGEND_ITEM_UNHOVER,{model:this,value:e,event:t})})),this.legendComponent.addEventListener("legendItemAttributeUpdate",(t=>{this.table.scenegraph.updateNextFrame()})))}getLegendBounds(){return{width:isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,height:isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0}}release(){this.legendComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this.legendComponent),this.legendComponent=null}}const wF={orient:"right",position:"middle",padding:30,title:{visible:!1,padding:0,textStyle:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"titleFontColor"}},space:12},handler:{visible:!0},startText:{style:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"labelFontColor"}}},endText:{style:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"labelFontColor"}}},handlerText:{style:{fontSize:14,fontWeight:"normal",fill:{type:"palette",key:"labelFontColor"}}}},vF={horizontal:{...wF,rail:{width:200,height:8,style:{fill:"rgba(0,0,0,0.04)"}}},vertical:{...wF,rail:{width:8,height:200,style:{fill:"rgba(0,0,0,0.04)"}}}},xF={horizontal:{sizeBackground:{fill:"#cdcdcd"},track:{style:{fill:"rgba(20,20,20,0.1)"}},rail:{width:200,height:4,style:{fill:"rgba(0,0,0,0.04)"}},...wF},vertical:{sizeBackground:{fill:"#cdcdcd"},track:{style:{fill:"rgba(20,20,20,0.1)"}},rail:{width:4,height:200,style:{fill:"rgba(0,0,0,0.04)"}},...wF}};function _F(t,e){const{title:i={},handler:r={},rail:o={},track:n={},startText:s,endText:a,handlerText:l,sizeBackground:h,background:c={},type:d,id:u,visible:g,orient:p,position:f,data:m,defaultSelected:b,field:y,filter:C,regionId:w,regionIndex:v,seriesIndex:x,seriesId:_,padding:S,...A}=_t({},("color"===t.type?vF:xF)["bottom"===t.orient||"top"===t.orient?"horizontal":"vertical"],t),R=A;return i.visible&&(R.title=NL(i)),R.showHandler=!1!==r.visible,ft(r.style)||(R.handlerStyle=GL(r.style)),J(o.width)&&(R.railWidth=o.width),J(o.height)&&(R.railHeight=o.height),ft(o.style)||(R.railStyle=GL(o.style)),ft(n.style)||(R.trackStyle=GL(n.style)),R.startText=VL(s),R.endText=VL(a),R.handlerText=VL(l),ft(h)||(R.sizeBackground=GL(h)),c.visible&&!ft(c.style)&&(_t(R,c.style),J(c.padding)&&(R.padding=c.padding)),R}class SF{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Ct(t),this.orient=t.orient??"left",this.visible=t.visible??!0,this.position=t.position??"middle",this.selectedData=t.defaultSelected??null,this.createComponent(),this.initEvent()}createComponent(){const t=this.getLegendAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight});let e;e="color"===this.option.type?new FC(_t({},t,{slidable:!0})):new zC(_t({},t,{slidable:!0})),e.name="legend",this.legendComponent=e,!1===this.visible&&(e.setAttributes({visible:!1,visibleAll:!1}),e.hideAll()),this.table.scenegraph.stage.defaultLayer.appendChild(e),this.adjustTableSize(t)}resize(){this.legendComponent&&!1!==this.visible&&(this.legendComponent.setAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight}),this.adjustTableSize(this.legendComponent.attribute))}adjustTableSize(t){if(!this.legendComponent||!1===this.visible)return;let e=isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,i=isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0;if(e<=0||i<=0)return;const r=this.table.tableNoFrameWidth,o=this.table.tableNoFrameHeight,n=tA(t.padding??this.option.padding??10);let s=0,a=0;"left"===this.orient?(s=n[3],a=0,e+=n[1]+n[3]):"top"===this.orient?(s=0,a=n[0],i+=n[0]+n[2]):"right"===this.orient?(s=r-e-n[1],a=0,e+=n[1]+n[3]):"bottom"===this.orient&&(s=0,a=o-i-n[2],i+=n[0]+n[2]);const l="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",h=this.position;let c=0,d=0;"horizontal"===l?c="middle"===h?(r-e)/2:"end"===h?r-e-n[1]:n[3]:d="middle"===h?(o-i)/2:"end"===h?o-i-n[2]:n[0],this.legendComponent.setAttributes({dx:c,dy:d,x:s,y:a}),"left"===this.orient?(this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e),this.table.tableX+=Math.ceil(e)):"top"===this.orient?(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i),this.table.tableY+=Math.ceil(i)):"right"===this.orient?this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e):"bottom"===this.orient&&(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i))}getLegendAttributes(t){const e="bottom"===this.orient||"top"===this.orient?"horizontal":"vertical",i="horizontal"===e?"bottom":this.orient;return{..._F(this.option),layout:e,align:i,min:this.option.min,max:this.option.max,value:this.option.value,["color"===this.option.type?"colors":"sizeRange"]:"color"===this.option.type?this.option.colors:this.option.sizeRange}}initEvent(){this.legendComponent&&this.legendComponent.addEventListener("change",(t=>{const e=mt(t,"detail.value");this.table.fireListeners(_v.LEGEND_CHANGE,{model:this,value:e,event:t}),this.table.scenegraph.updateNextFrame()}))}getLegendBounds(){return{width:isFinite(this.legendComponent.AABBBounds.width())?this.legendComponent.AABBBounds.width():0,height:isFinite(this.legendComponent.AABBBounds.height())?this.legendComponent.AABBBounds.height():0}}release(){this.legendComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this.legendComponent),this.legendComponent=null}}function AF(t,e){return"color"===t.type||"size"===t.type?new SF(t,e):new CF(t,e)}class RF{_table;_menuElement;constructor(t){this._table=t}release(){this.unbindMenuElement(),this._menuElement&&this._menuElement.release(),this._menuElement=void 0}_getMenuElement(){return this._menuElement||(this._menuElement=this.createMenuElementInternal()),this._menuElement}bindMenuElement(t,e,i){return this._getMenuElement().bindToCell(this._table,t,e,i)}unbindMenuElement(){this._getMenuElement().unbindFromCell()}pointInMenuElement(t,e){return this._getMenuElement().pointInMenuElement(t,e)}getRootElement(){return this._getMenuElement().rootElement}}const TF="vtable__menu-element",BF=`${TF}--hidden`,MF=`${TF}--shown`;class PF{_handler;_rootElement;_menuInstanceInfo;constructor(t){this._handler=new Bv,this._rootElement=aH("div",[TF,BF]),this._rootElement.addEventListener("wheel",(t=>{t.stopPropagation()})),this._rootElement?.addEventListener("mousedown",(t=>{t.stopPropagation(),t.preventDefault()})),this._rootElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._rootElement.classList.contains(BF))return;const{col:i,row:r,dropDownIndex:o,menuKey:n,text:s,hasChildren:a}=e.target;if("number"!=typeof o||a)return void e.stopPropagation();const l=t.isPivotTable()?t.internalProps.layoutMap.getPivotDimensionInfo(i,r):t.getHeaderField(i,r),h=t._dropDownMenuIsHighlight(i,r,o);t.fireListeners(_v.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(_v.DROPDOWN_MENU_CLEAR,null),t.fireListeners(_v.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(BF)||t.stopPropagation()}))}get rootElement(){return this._rootElement}release(){this.unbindFromCell();const t=this._rootElement;t?.parentElement&&t.parentElement.removeChild(t),this._handler.release(),delete this._rootElement}bindToCell(t,e,i,r){const o=this._rootElement;if(this._menuInstanceInfo=r,o?.classList.remove(MF),o?.classList.add(BF),this._canBindToCell(t,e,i)){o.innerHTML="",o.appendChild(r.content);if(this._bindCell(t,e,i,r.position,r.referencePosition))return o?.classList.add(MF),o?.classList.remove(BF),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(MF),t.classList.add(BF))}_canBindToCell(t,e,i){const r=t.getCellRangeRelativeRect({col:e,row:i}),o=t.internalProps.menu.parentElement??t.getElement(),{top:n,bottom:s,left:a,right:l}=r;if(t.isFrozenCell(e,i))return!0;if(s<t.getFrozenRowsHeight()||l<t.getFrozenColsWidth()||a>t.tableNoFrameWidth-t.getRightFrozenColsWidth()||n>t.tableNoFrameHeight-t.getBottomFrozenRowsHeight())return!1;const{offsetHeight:h,offsetWidth:c}=o;return!(h<n)&&!(c<a)}_bindCell(t,e,i,r,o){const n=this._rootElement,s=t.internalProps.menu.parentElement??t.getElement(),{width:a,height:l,left:h,top:c}=s.getBoundingClientRect();if(n){n.parentElement!==s&&s.appendChild(n),n.style.left="0px";const e=.8*a;n.style.maxWidth=`${e}px`;const i=n.clientWidth,d=n.clientHeight;let u,g;r&&(u=r.x,g=r.y),o&&(u=o.rect.right-i,g=o.rect.bottom),g+d>l&&(g=l-d,u+=i-2),g<0&&(g/=2);let p=0,f=0;if(t.getElement()!==s){const{left:e,top:i}=t.getElement().getBoundingClientRect();p=i-c,f=e-h}return n.style.top=`${g+p}px`,u<0?u=0:u+i>a&&(u=a-i),n.style.left=`${u+f}px`,!0}return!1}pointInMenuElement(t,e){const i=this._rootElement,{x:r,y:o,width:n,height:s}=i.getBoundingClientRect();return t>r-5&&t<r+n+5&&e>o-5&&e<o+s+5}}class HF extends RF{createMenuElementInternal(){return new _H(this._table)}}let kF=class extends RF{createMenuElementInternal(){return new PF(this._table)}};const LF={"dropdown-menu":function(t){return new HF(t)},"context-menu":function(t){return new HF(t)},container:t=>new kF(t)};class EF{_table;_menuInstances;_attachInfo;constructor(t){this._table=t,this._menuInstances={},this._bindTableEvent(t)}release(){const t=this._menuInstances;for(const e in t)t[e].release();delete this._menuInstances,this._attachInfo=null}_bindToCell(t,e,i,r){const o=this._attachInfo,n=this._getMenuInstanceInfo(t,e,i,r);if(!o||n&&o.instance===n.instance||(o.instance?.unbindMenuElement(),this._attachInfo=null),!n)return;const{instance:s,info:a}=n;if(s&&s.bindMenuElement(t,e,a)){const i=this._table.getCellRange(t,e);this._attachInfo={range:i,instance:s}}}_unbindFromCell(){const t=this._attachInfo;if(!t)return;const{instance:e}=t;e?.unbindMenuElement(),this._attachInfo=null}_isBindToCell(t,e){const i=this._attachInfo;return!!i&&pv(i.range,t,e)}pointInMenuElement(t,e){if(!this._attachInfo)return!1;const i=this._attachInfo,{instance:r}=i;return r.pointInMenuElement(t,e)}_bindTableEvent(t){t.on(_v.DROPDOWN_ICON_CLICK,(t=>{this._attachInfo&&this._isBindToCell(t.col,t.row)?this._unbindFromCell():this._bindToCell(t.col,t.row,"dropdown-menu")})),t.on(_v.DROPDOWN_MENU_CLEAR,(t=>{this._unbindFromCell()})),t.on(_v.CONTEXTMENU_CELL,(e=>{if("html"===t.internalProps.menu?.renderMode){const i=t._getMouseAbstractPoint(e.event,!1);let r=null;i.inTable&&"function"==typeof t.internalProps.menu?.contextMenuItems?r=t.internalProps.menu.contextMenuItems(t.getHeaderField(e.col,e.row),e.row,e.col,t):i.inTable&&Array.isArray(t.internalProps.menu?.contextMenuItems)&&(r=t.internalProps.menu?.contextMenuItems),this._bindToCell(e.col,e.row,"context-menu",{content:r,position:{x:i.x,y:i.y}})}}))}_getMenuInstanceInfo(t,e,i,r){const o=this._table,n=this._menuInstances,s=function(t,e,i,r,o){const{lineHeight:n,textBaseline:s,textStick:a}=t._getCellStyle(e,i);let l=t.getCellRangeRelativeRect(t.getCellRange(e,i));a&&(l=t.getVisibleCellRangeRelativeRect({col:e,row:i}));let{left:h,right:c,bottom:d,top:u,width:g,height:p}=l;if(t.isHeader(e,i)&&({left:h,right:c,bottom:d,top:u,width:g,height:p}=t.internalProps.headerHelper.getDropDownIconRect(l,n,s||"middle")),o?.content)return{type:r,position:o.position,referencePosition:o.referencePosition??{rect:{left:h,right:c,top:u,bottom:d,width:g,height:p}},content:o.content};if("dropdown-menu"===r){let o=t.globalDropDownMenu;const n=t._getHeaderLayoutMap(e,i);o=n.dropDownMenu??o;const s=n.pivotInfo;return"function"==typeof o&&(o=o({row:i,col:e,table:t})),{type:r,referencePosition:{rect:{left:h,right:c,top:u,bottom:d,width:g,height:p}},content:o,pivotInfo:s}}return null}(o,t,e,i,r);if(!s)return null;return{instance:n&&n[i]||n&&(n[i]=LF[i](o)),type:i,info:s}}containElement(t){for(const e in this._menuInstances){const i=this._menuInstances[e].getRootElement()?.contains(t);if(i)return!0}return!1}}class FF{table;_titleOption;isReleased=!1;_titleComponent;_cacheAttrs;constructor(t,e){this.table=e,this._titleOption=_t({orient:"top"},t),!1!==t.visible&&(this._titleComponent=this._createOrUpdateTitleComponent(this._getTitleAttrs()))}_createOrUpdateTitleComponent(t){if(this._titleComponent)Rt(t,this._cacheAttrs)||this._titleComponent.setAttributes(t);else{const e=new OC(t);e.name="title",this.table.scenegraph.stage.defaultLayer.appendChild(e),this._titleComponent=e}return this._adjustTableSize(this._titleComponent.attribute),this._titleComponent}resize(){if(!this._titleComponent)return;const t=tA(this._titleOption.padding??10),e=this._titleOption.width??("adaptive"===this.table.widthMode?this.table.tableNoFrameWidth:Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width))-t[1]-t[3],i=this._titleOption.height??("adaptive"===this.table.heightMode?this.table.tableNoFrameHeight:Math.min(this.table.tableNoFrameHeight,this.table.getDrawRange().height))-t[0]-t[2];this._titleComponent.setAttributes({x:this._titleOption.x??"right"===this._titleOption.orient?this.table.tableX+Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width):this.table.tableX,y:this._titleOption.y??"bottom"===this._titleOption.orient?this.table.tableY+this.table.tableNoFrameHeight:this.table.tableY,width:"top"===this._titleOption.orient||"bottom"===this._titleOption.orient?e:this._titleOption.width,height:"left"===this._titleOption.orient||"right"===this._titleOption.orient?i:this._titleOption.height,textStyle:{width:e,...this._titleOption.textStyle},subtextStyle:{width:e,...this._titleOption.subtextStyle}}),this._adjustTableSize(this._titleComponent.attribute)}_adjustTableSize(t){const e=isFinite(this._titleComponent?.AABBBounds.width())?this._titleComponent.AABBBounds.width():0,i=isFinite(this._titleComponent?.AABBBounds.height())?this._titleComponent.AABBBounds.height():0;"left"===this._titleOption.orient?(this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e),this.table.tableX+=Math.ceil(e)):"top"===this._titleOption.orient?(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i),this.table.tableY+=Math.ceil(i)):"right"===this._titleOption.orient?this.table.tableNoFrameWidth=this.table.tableNoFrameWidth-Math.ceil(e):"bottom"===this._titleOption.orient&&(this.table.tableNoFrameHeight=this.table.tableNoFrameHeight-Math.ceil(i)),this._cacheAttrs=t,"right"!==this._titleOption.orient&&"bottom"!==this._titleOption.orient||this._titleComponent.setAttributes({x:this._titleOption.x??"right"===this._titleOption.orient?this.table.tableX+this.table.tableNoFrameWidth:this.table.tableX,y:this._titleOption.y??"bottom"===this._titleOption.orient?this.table.tableY+this.table.tableNoFrameHeight:this.table.tableY})}release(){this._titleComponent&&this.table.scenegraph.stage.defaultLayer.removeChild(this._titleComponent),this._titleComponent=null,this.isReleased=!0}_getTitleAttrs(){const t=this._titleOption.text||this._titleOption.subtext?10:0,e=tA(this._titleOption.padding??t),i=this._titleOption.width??Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width)-e[1]-e[3],r=this._titleOption.height??Math.min(this.table.tableNoFrameHeight,this.table.getDrawRange().height)-e[0]-e[2];return{text:this._titleOption.text??"",subtext:this._titleOption.subtext??"",x:this._titleOption.x??"right"===this._titleOption.orient?this.table.tableX+Math.min(this.table.tableNoFrameWidth,this.table.getDrawRange().width):this.table.tableX,y:this._titleOption.y??"bottom"===this._titleOption.orient?this.table.tableY+this.table.tableNoFrameHeight:this.table.tableY,width:"top"===this._titleOption.orient||"bottom"===this._titleOption.orient?i:this._titleOption.width,height:"left"===this._titleOption.orient||"right"===this._titleOption.orient?r:this._titleOption.height,minWidth:this._titleOption.minWidth,maxWidth:this._titleOption.maxWidth,minHeight:this._titleOption.minHeight,maxHeight:this._titleOption.maxHeight,padding:this._titleOption.padding,align:this._titleOption.align??"left",verticalAlign:this._titleOption.verticalAlign??"top",textStyle:{width:i,...this._titleOption.textStyle},subtextStyle:{width:i,...this._titleOption.subtextStyle},dx:this._titleOption.dx??0,dy:this._titleOption.dy??0}}getComponentGraphic(){return this._titleComponent}}class IF{_table;_tooltipElement;constructor(t){this._table=t}release(){this.unbindTooltipElement(),this._tooltipElement&&this._tooltipElement.release?.(),this._tooltipElement=void 0}_getTooltipElement(){return this._tooltipElement||(this._tooltipElement=this.createTooltipElementInternal()),this._tooltipElement}bindTooltipElement(t,e,i,r){return this._getTooltipElement().bindToCell(this._table,t,e,i,r)}moveTooltipElement(t,e,i,r){this._getTooltipElement().move(this._table,t,e,i,r)}unbindTooltipElement(){this._getTooltipElement().unbindFromCell()}locateTooltipElement(t,e,i,r,o){this._getTooltipElement()._locate(this._table,t,e,i,r,o)}}!function(){if("node"===Ew.mode)return;const t=document.createElement("style");t.id="vtable-tooltip-styleSheet",t.textContent="\n@keyframes vtable__bubble-tooltip-element--shown-animation {\n\t0% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n.vtable__bubble-tooltip-element {\n\tposition: absolute;\n\t\n\t// pointer-events: none;\n\t//user-select: none;\n\tmax-width: 300px;\n\tz-index: 99999;\n\n\tbackground: #FFFFFF;\n border: 1px solid #E6E8ED;\n box-sizing: border-box;\n border-radius: 4px;\n box-shadow: 0px 2px 4px rgb(27 31 35 / 8%);\n color: #141414;\n font-size: 13px;\n}\n.vtable__bubble-tooltip-element--hidden {\n\topacity: 0;\n pointer-events: none;\n\tuser-select: none;\n\t/* transform: translate(-50%, -50%); */\n\ttransition: opacity 75ms linear;\n}\n.vtable__bubble-tooltip-element--shown {\n\topacity: 1;\n\t/* transform: translate(-50%, -50%); */\n\tanimation: vtable__bubble-tooltip-element--shown-animation 150ms ease-out;\n}\n.vtable__bubble-tooltip-element__content {\n\t/* font-size: .75rem; */\n\tpadding: 6px 8px;\n\tmin-height: 1em;\n\tline-height: 1.5;\n\twidth: 100%;\n\tdisplay: block;\n\twhite-space: pre-wrap;\n\tmargin: 0;\n\tbox-sizing: border-box;\n\toverflow: auto;\n\tword-wrap: break-word;\n\tposition: relative;\n\tbackground-color: #FFF;\n\tz-index: 2;\n\tborder-radius: 4px;\n}\n/* WebKit Microsoft Edge(新版): */\n.vtable__bubble-tooltip-element__content::-webkit-scrollbar {\n width: 0;\n height: 0;\n background-color: transparent;\n}\n/* Opera Firefox */\n.vtable__bubble-tooltip-element__content > scrollbar-track {\n width: 0;\n height: 0;\n background-color: transparent;\n}\n/* Internet Explorer 11 和 Microsoft Edge(旧版) */\n.vtable__bubble-tooltip-element__content > scrollbar {\n width: 0;\n height: 0;\n background-color: transparent;\n}\n.vtable__bubble-tooltip-element__triangle {\n\t/* font-size: .75rem; */\n\tposition: absolute;\n\twidth: 10px;\n\theight: 10px;\n\tdisplay: block;\n\ttransform: rotate(45deg);\n transform-origin: 50% 50% 0;\n\tz-index: 1;\n\tbackground-color: #FFF;\n\tborder: 1px solid #E6E8ED;\n}\n",document.head.appendChild(t)}();const zF="vtable__bubble-tooltip-element",OF=`${zF}__content`,DF=`${zF}__triangle`,WF=`${zF}--hidden`,NF=`${zF}--shown`;class GF{_handler;_rootElement;_messageElement;_triangleElement;_disappearDelay;_disappearDelayId;constructor(){this._handler=new Bv;const t=this._rootElement=aH("div",[zF,WF]),e=aH("div",[OF]),i=aH("span",[DF]);t.appendChild(i),t.appendChild(e),this._messageElement=t.querySelector(`.${OF}`)||void 0,this._triangleElement=t.querySelector(`.${DF}`)||void 0,t.addEventListener("mousemove",(()=>{this._disappearDelayId&&clearTimeout(this._disappearDelayId)})),t.addEventListener("mouseleave",(()=>{this._disappearDelay=void 0,this.unbindFromCell()})),e.addEventListener("wheel",(t=>{t.stopPropagation()})),e.addEventListener("copy",(t=>{const i=function(t){const e=window.getSelection();if(e.rangeCount){const i=e.getRangeAt(0);return i.endOffset>i.startOffset&&t.contains(i.commonAncestorContainer)}return!1}(e);i&&t.stopPropagation()}))}bindToCell(t,e,i,r,o){this._disappearDelay=r?.disappearDelay,this._disappearDelayId&&clearTimeout(this._disappearDelayId);const n=this._rootElement,s=this._messageElement,a=this._triangleElement;if(n?.classList.remove(NF),n?.classList.add(WF),this._canBindToCell(t,e,i)){s.setAttribute("style",""),a.setAttribute("style",""),r?.className&&n.classList.add(r.className),r?.style?.bgColor&&(s.style.backgroundColor=r?.style?.bgColor),r?.style?.bgColor&&(a.style.backgroundColor=r?.style?.bgColor),a.style.display=!0===r?.style?.arrowMark?"block":"none",r?.style?.fontSize&&(s.style.fontSize=(r?.style?.fontSize??12)+"px"),r?.style?.fontFamily&&(s.style.fontFamily=r?.style?.fontFamily),r?.style?.color&&(s.style.color=r?.style?.color),r?.style?.padding&&(s.style.padding=`${r?.style?.padding.join("px ")}px`),r?.style?.maxHeight&&(s.style.maxHeight=`${r?.style?.maxHeight}px`),r?.style?.maxWidth&&(s.style.maxWidth=`${r?.style?.maxWidth}px`),s&&(s.textContent=r?.content);if(this._bindToCell(t,e,i,r?.position,r?.referencePosition,o,r?.style?.arrowMark))return n?.classList.add(NF),n?.classList.remove(WF),!0}else this.unbindFromCell();return!1}release(){this.unbindFromCell();const t=this._rootElement;t?.parentElement&&t.parentElement.removeChild(t),this._handler?.release?.(),delete this._rootElement,delete this._messageElement}move(t,e,i,r,o){const n=this._rootElement;this._canBindToCell(t,e,i)?(this._bindToCell(t,e,i,r?.position,r?.referencePosition,o),n?.classList.add(NF),n?.classList.remove(WF)):this.unbindFromCell()}unbindFromCell(){if(this._disappearDelay)this._disappearDelayId=setTimeout((()=>{const t=this._rootElement;t?.parentElement&&(t.classList.remove(NF),t.classList.add(WF))}),this._disappearDelay??0);else{const t=this._rootElement;t?.parentElement&&(t.classList.remove(NF),t.classList.add(WF))}}_canBindToCell(t,e,i){const r=t.getCellRangeRelativeRect({col:e,row:i}),o=t.getElement(),{bottom:n,left:s,right:a,top:l}=r;if(t.isFrozenCell(e,i))return!0;if(n<t.getFrozenRowsHeight()||a<t.getFrozenColsWidth()||s>t.tableNoFrameWidth-t.getRightFrozenColsWidth()||l>t.tableNoFrameHeight-t.getBottomFrozenRowsHeight())return!1;const{offsetHeight:h,offsetWidth:c}=o;return!(l>h)&&!(s>c)}_bindToCell(t,e,i,r,o,n,s){const a=this._rootElement,l=t.getCellRangeRelativeRect({col:e,row:i}),h=t.internalProps.tooltip.parentElement,c=t.internalProps.element.offsetWidth,{width:d}=l;if(a){let l,u;a.parentElement!==h&&h.appendChild(a),a.style.left="0px";const g=Math.min(.8*c,4*d);a.style.maxWidth=`${g}px`;const p=a.clientWidth,f=a.clientHeight;if(!r&&!o)return!1;{const a=this.getComputedPosition(t,e,i,r,o,n,s);u=a.x,l=a.y}a.style.left=`${u}px`,a.style.top=`${l}px`,$w()&&(a.style.fontSize="11px");const{x1:m,x2:b,y1:y,y2:C}=t.stateManager.menu.bounds,w=u,v=w+p,x=l,_=w+f;return!(t.stateManager.menu.isShow&&m<v&&b>w&&C>x&&y<_)}return!1}getComputedPosition(t,e,i,r,o,n,s){const a=this._rootElement,l=t.getCellRangeRelativeRect({col:e,row:i}),{x:h,y:c}=t.internalProps.tooltip.parentElement.getBoundingClientRect(),{width:d,height:u,x:g,y:p}=t.internalProps.element.getBoundingClientRect(),{width:f}=l;let m,b;const y=Math.min(.8*d,4*f);a.style.maxWidth=`${y}px`;const C=a.clientWidth,w=a.clientHeight,v=s?6:0;if(r)b=r.x,m=r.y+v,this._triangleElement.style.left="50%",this._triangleElement.style.marginLeft="-5px",this._triangleElement.style.top="-5px";else if(o){let t=o.placement??qC.bottom;const e=o.rect.left+o.rect.width/2,i=o.rect.top+o.rect.height/2,r=o.rect.top,s=o.rect.bottom,a=o.rect.left,l=o.rect.right;let h=0;const c=()=>{h++,h>=4||(this.removeStyleFromTriangle(),t===qC.top?(b=e-C/2,m=r-w-v,this._triangleElement.style.left="50%",this._triangleElement.style.marginLeft="-5px",this._triangleElement.style.bottom="-5px",n&&m<0&&(t=qC.right,c())):t===qC.bottom?(b=e-C/2,m=s+v,this._triangleElement.style.left="50%",this._triangleElement.style.marginLeft="-5px",this._triangleElement.style.top="-5px",n&&m+w>u&&(t=qC.left,c())):t===qC.left?(m=i-w/2,b=a-C-v,this._triangleElement.style.top="50%",this._triangleElement.style.marginTop="-5px",this._triangleElement.style.right="-5px",n&&b<0&&(t=qC.top,c())):t===qC.right&&(m=i-w/2,b=l+v,this._triangleElement.style.top="50%",this._triangleElement.style.marginTop="-5px",this._triangleElement.style.left="-5px",n&&b+C>d&&(t=qC.bottom,c())))};c()}return n&&(b<0?b=0:b+a.offsetWidth>d&&(b=d-a.offsetWidth)),{x:b+g-h,y:m+p-c}}removeStyleFromTriangle(){this._triangleElement.style.left="",this._triangleElement.style.right="",this._triangleElement.style.top="",this._triangleElement.style.bottom="",this._triangleElement.style.marginLeft="",this._triangleElement.style.marginTop=""}_locate(t,e,i,r,o,n){const s=this.getComputedPosition(t,e,i,r,o,n),a=s.x,l=s.y;this._rootElement.style.left=`${a}px`,this._rootElement.style.top=`${l}px`}}class VF extends IF{createTooltipElementInternal(){return new GF}}const jF={"bubble-tooltip":function(t){return new VF(t)}};class UF{_table;_tooltipInstances;_attachInfo;confine;constructor(t,e){this._table=t,this._tooltipInstances={},this._bindTableEvent(t),this.confine=e}release(){const t=this._tooltipInstances;for(const e in t)t[e]?.release?.();delete this._tooltipInstances,this._attachInfo=null}_bindToCell(t,e,i){const r=this._attachInfo,o=this._getTooltipInstanceInfo(t,e);if(!r||o&&r.instance===o||(r.instance?.unbindTooltipElement(),this._attachInfo=null),!o)return;if(o&&o.bindTooltipElement(t,e,i,this.confine)){const r=this._table.getCellRange(t,e);this._attachInfo={range:r,instance:o,tooltipOptions:i}}}_move(t,e,i){const r=this._attachInfo;if(!r||!pv(r.range,t,e))return;const{instance:o}=r;o?.moveTooltipElement(t,e,i,this.confine)}moveToPosition(t,e,i,r){const o=this._attachInfo;if(!o||!pv(o.range,t,e))return;const{instance:n}=o;this._attachInfo.tooltipOptions.position=i,this._attachInfo.tooltipOptions.referencePosition=r,n?.locateTooltipElement(t,e,i,r,this.confine)}_unbindFromCell(){const t=this._attachInfo;if(!t)return;const{instance:e}=t;e?.unbindTooltipElement(),this._attachInfo=null}_isBindCell(t,e){const i=this._attachInfo;return!!i&&pv(i.range,t,e)}_bindTableEvent(t){t.on(_v.MOUSEENTER_CELL,(e=>{if($w())return;const{x1:i,x2:r,y1:o,y2:n}=t.stateManager.menu.bounds;if(t.stateManager.menu.isShow&&"number"==typeof e.x&&"number"==typeof e.y&&e.x>i&&e.x<r&&e.y>o&&e.y<n)return;const{col:s,row:a}=e;this.showTooltip(s,a)})),t.on(_v.MOUSEMOVE_CELL,(e=>{if(!$w()){if(this._attachInfo?.tooltipOptions?.referencePosition){const i=this._attachInfo.tooltipOptions.referencePosition,{event:r}=e,{left:o,right:n,top:s,bottom:a}=i.rect,l=t._getMouseAbstractPoint(r,!1);l.inTable&&l.x>=o-5&&l.x<=n+5&&l.y>=s-5&&l.y<=a+5||this._unbindFromCell()}this._attachInfo&&t.stateManager.menu.isShow&&this._bindToCell(e.col,e.row)}})),t.on(_v.MOUSELEAVE_CELL,(t=>{this._unbindFromCell()})),t.on(_v.SELECTED_CELL,(t=>{this._isBindCell(t.col,t.row)&&this._unbindFromCell()})),t.on(_v.MOUSELEAVE_TABLE,(t=>{this._unbindFromCell()})),t.on(_v.SCROLL,(t=>{this._unbindFromCell()}))}showTooltip(t,e){let i;const r=this._table,o=r.getHeaderDescription(t,e);if(o){const n=r.getCellRangeRelativeRect({col:t,row:e});i={content:o,referencePosition:{placement:r.internalProps.tooltip.position,rect:n},disappearDelay:r.internalProps.tooltip.overflowTextTooltipDisappearDelay??0,style:r.theme.tooltipStyle}}else if(q(r.internalProps.tooltip?.isShowOverflowTextTooltip)?r.internalProps.tooltip.isShowOverflowTextTooltip(t,e,r):r.internalProps.tooltip.isShowOverflowTextTooltip){const n=r.getCellOverflowText(t,e),s=r.getCellRangeRelativeRect({col:t,row:e});n&&(i={content:o?`${o}\n ${n}`:n,referencePosition:{placement:r.internalProps.tooltip.position,rect:s},disappearDelay:r.internalProps.tooltip.overflowTextTooltipDisappearDelay??0,style:r.theme.tooltipStyle})}i?this._bindToCell(t,e,i):this._unbindFromCell()}_getTooltipInstanceInfo(t,e){const i=this._table,r=this._tooltipInstances,o="bubble-tooltip";return r&&r[o]||r&&(r[o]=jF[o](i))}isBinded(t){return JSON.stringify(t)===JSON.stringify(this._attachInfo?.tooltipOptions)}}const KF=()=>{sx.registerComponent("axis",uF),sx.registerFunction("computeAxisComponentWidth",gF),sx.registerFunction("computeAxisComponentHeight",pF),sx.registerFunction("getAxisConfigInPivotChart",ck)},$F=()=>{sx.registerComponent("emptyTip",bF)},XF=()=>{sx.registerFunction("createLegend",AF)},YF=()=>{sx.registerComponent("menuHandler",EF)},qF=()=>{sx.registerComponent("title",FF)},ZF=()=>{sx.registerComponent("tooltipHandler",UF)};class JF{table;titleRows=[];showedTitleRows=[];rowNow=-1;skipStartRow=-1;skipEndRow=-1;constructor(t){this.table=t,this.table.on("scroll",(t=>{"vertical"===t.scrollDirection&&this.updateGroupTitle()})),this.table.on("tree_hierarchy_state_change",(t=>{this.updateGroupTitle()})),this.table.on("resize_column",(t=>{this.updateGroupTitle()}))}updateGroupTitle(){0===this.table.scrollTop?(this.titleRows=[],this.showedTitleRows=[]):-1!==this.skipStartRow&&-1!==this.skipEndRow&&this.skipStartRow!==this.table.scenegraph.proxy.bodyTopRow-1?(this.table.scenegraph.proxy.screenTopRow<=this.skipStartRow||this.table.scenegraph.proxy.screenTopRow>=this.skipEndRow)&&(this.skipStartRow=-1,this.skipEndRow=-1,this.updateGroupTitleInfo()):(this.skipStartRow=-1,this.skipEndRow=-1,this.updateGroupTitleInfo()),this.updateScenegraph()}updateGroupTitleInfo(){this.rowNow=this.table.scenegraph.proxy.screenTopRow+this.titleRows.length;const t=this.table.getRecordIndexByCell(0,this.rowNow),e=this.table.getRecordIndexByCell(0,this.rowNow+1);this.getTitleRowsByRecordIndex(t,e)}getTitleRowsByRecordIndex(t,e){ot(t)||(t=[t]),ot(e)||(e=[e]);for(let e=0;e<t.length;e++){const i=t.slice(0,e+1);this.table.dataSource.getRaw(i)}const i=[],r=e.length===t.length+1;let o=t.slice(0,r?t.length:t.length-1);const n=this.table.dataSource.currentIndexedData;for(let e=this.rowNow-this.table.columnHeaderLevelCount;e>=0;e--){const r=n[e];if(ot(r)&&o.length===r.length){let t=!0;for(let e=0;e<r.length;e++)if(r[e]!==o[e]){t=!1;break}t&&(i.push(e+this.table.columnHeaderLevelCount),o=o.slice(0,o.length-1))}else if(r===t[0]){i.push(e+this.table.columnHeaderLevelCount);break}}this.titleRows=i.reverse()}updateScenegraph(){const{table:t}=this,{shadowGroup:e,shadowGroupFrozen:i}=function(t){const e=t.scenegraph.colHeaderGroup,i=t.scenegraph.cornerHeaderGroup;if(!e.border){const i=Jc({x:0,y:0,width:0,height:0,cursor:"pointer"});e.add(i),e.border=i,i.attachShadow(i.shadowRoot),i.name="border-rect",i.addEventListener("click",(e=>{const i=t.listTreeStickCellPlugin.titleRows,{shadowTarget:r}=e.pickParams,o=KA(r),{col:n,row:s}=o;eI(s-i.indexOf(s),t)}))}if(!i.border){const e=Jc({x:0,y:0,width:0,height:0,cursor:"pointer"});i.add(e),i.border=e,e.attachShadow(e.shadowRoot),e.name="border-rect",e.addEventListener("click",(e=>{const i=t.listTreeStickCellPlugin.titleRows,{shadowTarget:r}=e.pickParams,o=KA(r),{col:n,row:s}=o;eI(s-i.indexOf(s),t)}))}const r=e.border.shadowRoot,o=i.border.shadowRoot;return r.removeAllChild(),o.removeAllChild(),{shadowGroup:r,shadowGroupFrozen:o}}(t);this.showedTitleRows.length=0;let r=0;for(let o=0;o<t.colCount;o++){let n;o<t.frozenColCount?(n=new LR({x:t.getColsWidth(0,o-1),y:t.getFrozenRowsHeight()}),i.add(n)):(n=new LR({x:t.getColsWidth(t.frozenColCount,o-1),y:t.getFrozenRowsHeight()}),e.add(n)),n.col=o;for(let e=0;e<this.titleRows.length;e++){const i=this.titleRows[e];if(QF(i,this.rowNow,t.scenegraph.proxy.screenTopRow,this.titleRows)){0===o&&r++;continue}0===o&&this.showedTitleRows.push(i);const s=t.scenegraph.getCell(o,i);if("cell"===s.role){const t=tI(s);t.setAttributes({y:40*e}),n.add(t)}else{const r=nT(o,i,t,!0,!0);r.setAttributes({y:40*e}),n.add(r)}}}r>0&&-1===this.skipStartRow&&-1===this.skipEndRow&&(this.skipStartRow=t.scenegraph.proxy.screenTopRow-1,this.skipEndRow=t.scenegraph.proxy.screenTopRow+1)}}function QF(t,e,i,r){if(t===e&&t!==i+r.length-1)return!0;return t===i+r.indexOf(t)+1&&t<e}function tI(t){const e=t.clone();if(e.role=t.role,e.col=t.col,e.row=t.row,e.mergeStartCol=t.mergeStartCol,e.mergeStartRow=t.mergeStartRow,e.mergeEndCol=t.mergeEndCol,e.mergeEndRow=t.mergeEndRow,e.contentWidth=t.contentWidth,e.contentHeight=t.contentHeight,"cell"===e.role){const t=Jc({x:0,y:0,width:e.attribute.width,height:e.attribute.height});e.add(t)}if("group"===t.type){const i=e;t.forEachChildren((t=>{const e=tI(t);i.add(e)}))}return e}function eI(t,e){const i=e.getDrawRange();if(J(t)&&t>=e.frozenRowCount){const r=e.getFrozenRowsHeight(),o=e.getRowsHeight(0,t-1);e.scrollTop=Math.min(o-r,e.getAllRowsHeight()-i.height)-1}e.scenegraph.updateNextFrame()}const iI={};function rI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){const C=av(iI,Lk)[c],w=zR("padding",p._getCellStyle(o,n),o,n,p);if(J(w)&&(l=w),!t){const l=OR(o,n,f,p);b&&(t=p.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:s,height:a,lineWidth:f?.group?.lineWidth??void 0,fill:f?.group?.fill??void 0,stroke:f?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:f?.group?.strokeArrayColor??void 0,cursor:f?.group?.cursor??void 0,lineDash:f?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:f.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:s,height:a,lineWidth:f?.group?.lineWidth??void 0,fill:f?.group?.fill??void 0,stroke:f?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:f?.group?.strokeArrayColor??void 0,cursor:f?.group?.cursor??void 0,lineDash:f?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:f.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}if(t.AABBBounds.width(),y&&Array.isArray(p.getCellValue(o,n))||!y){const e=new iB(m,{stroke:!1,x:l[3],y:l[0],canvas:p.canvas??p.scenegraph.stage.window.getContext().canvas,mode:p.options.mode,modeParams:p.options.modeParams,spec:p.options.specTransformInCell?p.options.specTransformInCell(d,o,n):d,ClassType:C,width:s-l[3]-l[1],height:a-l[2]-l[0],chartInstance:u,dataId:g,data:p.getCellValue(o,n)||[],cellPadding:l,dpr:p.internalProps.pixelRatio,axes:p.isPivotChart()?p.internalProps.layoutMap.getChartAxes(o,n):[],tableChartOption:p.options.chartOption,col:o,row:n});t.appendChild(e),p.internalProps.layoutMap.setChartInstance(o,n,e.chartInstance)}return t}function oI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=OR(o,n,p,g);b&&(t=g.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}let y;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),y=g.getCellIcons(t,e)}let C=0,w=0;if(Array.isArray(y)&&0!==y.length){const{leftIconWidth:e,rightIconWidth:i,absoluteLeftIconWidth:r,absoluteRightIconWidth:o}=KR(y,t,m,g);C=e+i,w=e,t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+a-i-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+a-o-h[1])})),t.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(l-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",l-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])}))}const v=function(t,e,i,r,o,n,s,a,l){const h=l._getCellStyle(t,e),c=IR("size",h,t,e,l),d=IR("spaceBetweenTextAndIcon",h,t,e,l),u=IR("defaultFill",h,t,e,l),g=IR("defaultStroke",h,t,e,l),p=IR("disableFill",h,t,e,l),f=IR("checkedFill",h,t,e,l),m=IR("checkedStroke",h,t,e,l),b=IR("disableCheckedFill",h,t,e,l),y=IR("disableCheckedStroke",h,t,e,l),C=IR("checkIconImage",h,t,e,l),w=IR("indeterminateIconImage",h,t,e,l),v=l.getCellValue(t,e),x=l.getCellOriginValue(t,e);let _,S,A=v??"";Q(v)?(_=v.checked,S=v.disable,A=v.text??""):"boolean"==typeof v&&(_=v,A="");_=l.stateManager.syncCheckedState(t,e,a.field,_);const R=WR(t,e,l),T=l._getCellStyle(t,e),B=T.autoWrapText??l.internalProps.autoWrapText,{lineClamp:M}=T,{checked:P,disable:H}=a;if(null==_||"function"==typeof _){const i=cv(P,{col:t,row:e,table:l,context:null,value:v,dataValue:x});_=l.stateManager.syncCheckedState(t,e,a.field,i)}const k=cv(H,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),L="auto"===i,E=l.isAutoRowHeight(e),F={text:1===A.length?A[0]:A,maxLineWidth:L?1/0:r-(n[1]+n[3]+R)-c-d,textAlign:"left",textBaseline:"top",autoWrapText:B,lineClamp:M,wordBreak:"break-word",heightLimit:E?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:R,whiteSpace:1!==A.length||B?"normal":"no-wrap"},I=s.text?Object.assign({},s.text,F):F,z={x:0,y:0,text:I,icon:{width:Math.floor(c/1.4),height:Math.floor(c/1.4)},box:{width:c,height:c},spaceBetweenTextAndIcon:d,disabled:S??k??!1};"indeterminate"===_?(z.checked=void 0,z.indeterminate=!0):(z.checked=_,z.indeterminate=void 0);u&&(z.box.fill=u),g&&(z.box.stroke=g),p&&(z.box.disableFill=p),f&&(z.box.checkedFill=f),m&&(z.box.checkedStroke=m),b&&(z.box.disableCheckedFill=b),y&&(z.box.disableCheckedStroke=y),C&&(z.icon.checkIconImage=C),w&&(z.icon.indeterminateIconImage=w);const O=new DC(z);return O.name="checkbox",O}(o,n,s-C,a,l,h,p,f,g);return v&&t.appendChild(v),v.render(),a-=h[1]+h[3]+C,l-=h[0]+h[2],"center"===c?v.setAttribute("x",h[3]+w+(a-v.AABBBounds.width())/2):"right"===c?v.setAttribute("x",h[3]+w+a-v.AABBBounds.width()):v.setAttribute("x",h[3]+w),"middle"===d?v.setAttribute("y",h[0]+(l-v.AABBBounds.height())/2):"bottom"===d?v.setAttribute("y",h[0]+l-v.AABBBounds.height()):v.setAttribute("y",h[0]),t}function nI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f){if(!t){const s=OR(o,n,g,u);(t=new LR({x:i,y:r,width:a,height:l,lineWidth:g?.group?.lineWidth??void 0,fill:g?.group?.fill??void 0,stroke:g?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:g?.group?.strokeArrayColor??void 0,cursor:g?.group?.cursor??void 0,lineDash:g?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:g.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t)}const{width:m,height:b}=function(t,e,i,r,o,n,s,a,l,h,c){const d=c._getCellStyle(t,e);let u=IR("size",d,t,e,c),g=IR("innerRadius",d,t,e,c),p=IR("outerRadius",d,t,e,c);const f=IR("spaceBetweenTextAndIcon",d,t,e,c),m=IR("spaceBetweenRadio",d,t,e,c),b=IR("defaultFill",d,t,e,c),y=IR("defaultStroke",d,t,e,c),C=IR("disableFill",d,t,e,c),w=IR("checkedFill",d,t,e,c),v=IR("checkedStroke",d,t,e,c),x=IR("disableCheckedFill",d,t,e,c),_=IR("disableCheckedStroke",d,t,e,c);at(p)?u=2*p:p=Math.round(u/2);(!at(g)||g<0)&&(g=Math.round(p/7*3));const S=c.getCellValue(t,e),A=c.getCellOriginValue(t,e),R=WR(t,e,c),T=c._getCellStyle(t,e),B=T.autoWrapText??c.internalProps.autoWrapText,{lineClamp:M}=T,P="auto"===i,H=c.isAutoRowHeight(),k={maxLineWidth:P?1/0:r-(n[1]+n[3]+R)-u-f,textAlign:"left",textBaseline:"top",autoWrapText:B,lineClamp:M,wordBreak:"break-word",heightLimit:H?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:R},L=s.text?Object.assign({},s.text,k):k,E={x:0,y:0,text:L,circle:{innerRadius:g,outerRadius:p},spaceBetweenTextAndIcon:f};b&&(E.circle.fill=b),y&&(E.circle.stroke=y),C&&(E.circle.disableFill=C),w&&(E.circle.checkedFill=w),v&&(E.circle.checkedStroke=v),x&&(E.circle.disableCheckedFill=x),_&&(E.circle.disableCheckedStroke=_);let F=0,I=0;const z=a.radioDirectionInCell??"vertical";if(ot(S))S.forEach(((i,r)=>{const o=sI(i,A,r,t,e,a,B,E,c);o&&l.appendChild(o),o.id=`radio-${h?.start.col??t}-${h?.start.row??e}-${r}`,o.render();const n=o.AABBBounds;"vertical"===z?(o.setAttribute("y",I),I+=n.height()+(r!==S.length-1?m:0),F=Math.max(F,n.width())):"horizontal"===z&&(o.setAttribute("x",F),F+=n.width()+(r!==S.length-1?m:0),I=Math.max(I,n.height()))}));else{const i=sI(S,A,void 0,t,e,a,B,E,c);i&&l.appendChild(i),i.id=`radio-${h?.start.col??t}-${h?.start.row??e}`,i.render();const r=i.AABBBounds;F=r.width(),I=r.height()}return{width:F,height:I}}(o,n,s,a,l,h,g,p,t,f,u);return a-=h[1]+h[3],l-=h[0]+h[2],t.forEachChildren((t=>{"center"===c?t.setAttribute("x",h[3]+t.attribute.x+(a-m)/2):"right"===c?t.setAttribute("x",h[3]+t.attribute.x+a-m):t.setAttribute("x",h[3]+t.attribute.x),"middle"===d?t.setAttribute("y",h[0]+t.attribute.y+(l-b)/2):"bottom"===d?t.setAttribute("y",h[0]+t.attribute.y+l-b):t.setAttribute("y",h[0]+t.attribute.y)})),t}function sI(t,e,i,r,o,n,s,a,l){const h=function(t,e,i,r,o,n,s){const a=n.radioCheckType??"column";let l,h;Q(t)?l=t.checked:"boolean"==typeof t&&(l=t);l=s.stateManager.syncRadioState(r,o,n.field,a,i,l),(null==l||"function"==typeof l)&&(h=cv(n.checked,{col:r,row:o,table:s,context:null,value:t,dataValue:e}),l=s.stateManager.syncRadioState(r,o,n.field,a,i,h));return l??h??!1}(t,e,i,r,o,n,l),c=function(t,e,i,r,o,n){let s;Q(t)&&(s=t.disable);const a=cv(o.disable,{col:i,row:r,table:n,context:null,value:t,dataValue:e});return s??a??!1}(t,e,r,o,n,l),d=Q(t)?t.text:Y(t)?"":t??"",u=_t({},a,{checked:h,disabled:c,text:{text:1===d.length?d[0]:d,whiteSpace:1!==d.length||s?"normal":"no-wrap"},boundsPadding:0}),g=new WC(u);return g.name="radio",g}function aI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=OR(o,n,p,g);b&&(t=g.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}let y;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),y=g.getCellIcons(t,e)}let C=0,w=0;if(Array.isArray(y)&&0!==y.length){const{leftIconWidth:e,rightIconWidth:i,absoluteLeftIconWidth:r,absoluteRightIconWidth:o}=KR(y,t,m,g);C=e+i,w=e,t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+a-i-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+a-o-h[1])})),t.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(l-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",l-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])}))}const v=function(t,e,i,r,o,n,s,a,l){const h=l._getCellStyle(t,e),c=IR("spaceBetweenTextAndCircle",h,t,e,l),d=IR("circleRadius",h,t,e,l),u=IR("boxWidth",h,t,e,l),g=IR("boxHeight",h,t,e,l),p=IR("checkedFill",h,t,e,l),f=IR("uncheckedFill",h,t,e,l),m=IR("disableCheckedFill",h,t,e,l),b=IR("disableUncheckedFill",h,t,e,l),y=IR("circleFill",h,t,e,l),C=l.getCellValue(t,e),w=l.getCellOriginValue(t,e);let v,x,_=C??"";Q(C)?(v=C.checked,x=C.disable,_=C.text??""):"boolean"==typeof C&&(v=C,_="");v=l.stateManager.syncCheckedState(t,e,a.field,v);const S=WR(t,e,l),A=l._getCellStyle(t,e),R=A.autoWrapText??l.internalProps.autoWrapText,{lineClamp:T}=A,{checked:B,disable:M,uncheckedText:P,checkedText:H}=a;if(null==v||"function"==typeof v){const i=cv(B,{col:t,row:e,table:l,context:null,value:C,dataValue:w});v=l.stateManager.syncCheckedState(t,e,a.field,i)}const k=cv(M,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),L=cv(H,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),E=cv(P,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),F="auto"===i,I=l.isAutoRowHeight(e),z={text:1===_.length?_[0]:_,maxLineWidth:F?1/0:r-(n[1]+n[3]+S)-2*d-c,textAlign:"left",textBaseline:"top",autoWrapText:R,lineClamp:T,wordBreak:"break-word",heightLimit:I?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:S,whiteSpace:1!==_.length||R?"normal":"no-wrap",checkedText:L,uncheckedText:E},O=s.text?Object.assign({},s.text,z):z,D={x:0,y:0,text:O,circle:{radius:d},box:{width:u,height:g},spaceBetweenTextAndCircle:c,disabled:x??k??!1};D.checked=v,f&&(D.box.uncheckedFill=f),b&&(D.box.disableUncheckedFill=b),p&&(D.box.checkedFill=p),m&&(D.box.disableCheckedFill=m),y&&(D.circle.fill=y);const W=new GC(D);return W.name="switch",W}(o,n,s-C,a,l,h,p,f,g);return v&&t.appendChild(v),v.render(),a-=h[1]+h[3]+C,l-=h[0]+h[2],"center"===c?v.setAttribute("x",h[3]+w+(a-v.AABBBounds.width())/2):"right"===c?v.setAttribute("x",h[3]+w+a-v.AABBBounds.width()):v.setAttribute("x",h[3]+w),"middle"===d?v.setAttribute("y",h[0]+(l-v.AABBBounds.height())/2):"bottom"===d?v.setAttribute("y",h[0]+l-v.AABBBounds.height()):v.setAttribute("y",h[0]),t}const lI=new class extends kE{constructor(t){super(!1),this.type=uE.Point,this._padding=0,this.paddingInner(1,t),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},hI=new QE;function cI(t,e,i,r,o,n,s,a,l,h,c,d){if(!t){const l=OR(o,n,c,h);d&&(t=h.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:s,height:a,lineWidth:c?.group?.lineWidth??void 0,fill:c?.group?.fill??void 0,stroke:c?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:c?.group?.strokeArrayColor??void 0,cursor:c?.group?.cursor??void 0,lineDash:c?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:c.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:s,height:a,lineWidth:c?.group?.lineWidth??void 0,fill:c?.group?.fill??void 0,stroke:c?.group?.stroke??void 0,strokeArrayWidth:l,strokeArrayColor:c?.group?.strokeArrayColor??void 0,cursor:c?.group?.cursor??void 0,lineDash:c?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:c.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}const u=function(t,e,i,r,o,n){let s,a;const l=n.internalProps.layoutMap.getBody(t,e).sparklineSpec,h=n.getCellValue(t,e);if(!Array.isArray(h))return;const c=o[3],d=o[0];i-=o[1]+o[3],r-=o[0]+o[2];const u=0,g=r;if("function"==typeof l){const o={col:t,row:e,dataValue:n.getCellOriginValue(t,e)||"",value:n.getCellValue(t,e)||"",rect:n.getCellRangeRelativeRect(n.getCellRange(t,e)),table:n};s=l(o),a=dI(s,c,d,i,r)}else s=l,a=dI(l,c,d,i,r);const p=[],f=[];let m,b;if("object"==typeof s.xField)lI.domain(s.xField.domain),m=s.xField.field;else if("string"==typeof s.xField){const t=h.map((t=>t[s.xField]));lI.domain(t),m=s.xField}else Array.isArray(h)&&(lI.domain(Array.from({length:h.length},((t,e)=>e))),m=s.xField);if(lI.range([0,i]),"object"==typeof s.yField)hI.domain(s.yField.domain),b=s.yField.field;else if("string"==typeof s.yField){const t=uI(h,s.yField);hI.domain([Math.min(...t),Math.max(...t)]),b=s.yField}else if(Array.isArray(h)){const t=uI(h);hI.domain([Math.min(...t),Math.max(...t)]),b=s.yField}if(hI.range([0,r]),"object"==typeof s.xField&&Array.isArray(s.xField.domain)){const t=h.map((t=>t[s.xField.field])),e=s.xField.domain;for(let i=0;i<e.length;i++){let r=!1;for(let o=0;o<t.length;o++)if(e[i]===t[o]){const t=h[o];if(!J(t[m])||!J(t[b]))break;p.push({x:u+lI.scale(t[m]),y:g-hI.scale(t[b]),defined:J(t[b])}),f.push(t),r=!0;break}r||(p.push({x:u+lI.scale(e[i]),y:0,defined:!1}),f.push({[m]:e[i],[b]:null}))}}else for(let t=0;t<h.length;t++){const e=h[t];p.push({x:u+lI.scale(m?e[m]:t),y:g-hI.scale(b?e[b]:e),defined:J(b?e[b]:e),rawData:e}),f.push(e)}const y=a.getChildByName("sparkline-line");y&&y.setAttribute("points",p);y.bandwidth=lI.step(),y.min=hI.range()[0],y.max=hI.range()[1];const C=a.getChildByName("sparkline-symbol-group");if(C){const t="isolatedPoint"===s.pointShowRule;if("all"===s.pointShowRule)for(let t=0;t<p.length;t++){const{x:e,y:i,defined:r}=p[t];if(r){const t=Kc({x:e,y:i});C.appendChild(t)}}else if(t)for(let t=0;t<p.length;t++){const{x:e,y:i,defined:r}=p[t];if(r&&(!p[t-1]||!p[t-1].defined)&&(!p[t+1]||!p[t+1].defined)){const t=Kc({x:e,y:i});C.appendChild(t)}}}return a}(o,n,s,a,l,h);return u&&t.appendChild(u),t}function dI(t,e,i,r,o){let n;n="function"==typeof t?t(null):t;const s=new LR({x:e,y:i,width:r,height:o,stroke:!1,fill:!1});if(s.name="sparkline","line"===n.type){const t=Yc({x:0,y:0,curveType:n.smooth?"monotoneX":"linear",stroke:n.line?.style?.stroke??"blue",lineWidth:n.line?.style?.strokeWidth??2});t.name="sparkline-line",s.addChild(t),n.crosshair&&(t.hover=n.crosshair?.style??{stroke:"#000",interpolate:"linear"});const e=new LR({x:0,y:0,width:r,height:o,stroke:!1,fill:!1});e.name="sparkline-symbol-group",e.setTheme({symbol:{stroke:n.point?.style?.stroke??"#000",lineWidth:n.point?.style?.strokeWidth??1,fill:n.point?.style?.fill??"#000",size:2*(n.point?.style?.size??3),symbolType:"circle"}}),s.addChild(e),e.hover=n.point?.hover??!1}return s}function uI(t,e){const i=[];for(let r=0;r<t.length;r++){const o=t[r];J(e)&&J(o[e])?i.push(o[e]):!J(e)&&J(o)&&i.push(o)}return i}const gI=kR();function pI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m){const b=zR("padding",g._getCellStyle(r,o),r,o,g);g.options.customConfig?.imageMargin?h=tA(g.options.customConfig?.imageMargin):J(b)&&(h=b),p?.text?.textAlign&&(c=p?.text?.textAlign),p?.text?.textBaseline&&(d=p?.text?.textBaseline);const y=OR(r,o,p,g);let C,w;if(m&&(C=g.scenegraph.highPerformanceGetCell(r,o,!0),C&&"cell"===C.role&&C.setAttributes({x:e,y:i,width:n,height:s,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:y,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})),C&&"cell"===C.role||(C=new LR({x:e,y:i,width:n,height:s,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:y,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),C.role="cell",C.col=r,C.row=o,t?.addCellGroup(C)),u){let t=r,e=o;f&&(t=f.start.col,e=f.start.row),w=g.getCellIcons(t,e)}let v=0,x=0;if(Array.isArray(w)&&0!==w.length){const{leftIconWidth:t,rightIconWidth:e,absoluteLeftIconWidth:i,absoluteRightIconWidth:r}=KR(w,C,f,g);v=t,x=e,C.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+n-e-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+n-r-h[1])})),C.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(s-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",s-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])})),C._cellLeftIconWidth=v,C._cellRightIconWidth=x}const _=g.getCellValue(r,o),S=document.createElement("video");S.addEventListener("loadeddata",(()=>{l&&YR(r,o,S.videoWidth,S.videoHeight,g.scenegraph,h,C);const{width:t,height:e,isMerge:i}=ZR(C,g);if(a){const{width:i,height:r}=ER(S.videoWidth,S.videoHeight,t-h[1]-h[3],e-h[0]-h[2]),o=FR(0,0,t,e,i,r,c,d,h);A.setAttributes({width:i,height:r,x:o.x,y:o.y,dx:0})}else A.setAttributes({x:h[3],y:h[0],width:t-h[1]-h[3],height:e-h[2]-h[0],dy:0});i&&JR(C.mergeStartCol,C.mergeEndCol,C.mergeStartRow,C.mergeEndRow,g);const{width:n,height:s}=ZR(C,g),u=Math.floor(Math.min(n-h[1]-h[3],s-h[2]-h[0])/2),p=0+(n>A.attribute.width?A.attribute.x-0+A.attribute.width/2:n/2),f=0+(s>A.attribute.height?A.attribute.y-0+A.attribute.height/2:s/2),m=new NA({x:p-u/2,y:f-u/2,width:u,height:u,image:gI.play.svg,cursor:gI.play.cursor});m.name="play-icon",C.appendChild(m),g.scenegraph.updateNextFrame()})),S.onerror=()=>{A.image=gI.damage_pic.svg},S.src=_,S.setAttribute("preload","auto");const A=rd({x:h[3],y:h[0],width:n-h[1]-h[3],height:s-h[2]-h[0],image:S,cursor:"pointer"});return A.name="image",A.keepAspectRatio=a,A.textAlign=c,A.textBaseline=d,C.appendChild(A),C}function fI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){const C=t._getCellStyle(n,s),w=zR("padding",C,n,s,t);J(w)&&(c=w),m?.text?.textAlign&&(d=m?.text?.textAlign),m?.text?.textBaseline&&(u=m?.text?.textBaseline);const v=t.isAutoRowHeight(s),x="auto"===a,_=C.autoWrapText??t.internalProps.autoWrapText,S=C.lineClamp,A=OR(n,s,m,t);let R;if(y&&(R=t.scenegraph.getCell(n,s,!0),R&&"cell"===R.role&&R.setAttributes({x:r,y:o,width:l,height:h,lineWidth:m?.group?.lineWidth??void 0,fill:m?.group?.fill??void 0,stroke:m?.group?.stroke??void 0,strokeArrayWidth:A??void 0,strokeArrayColor:m?.group?.strokeArrayColor??void 0,cursor:m?.group?.cursor??void 0,lineDash:m?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:m.group.cornerRadius})),R&&"cell"===R.role||(R=new LR({x:r,y:o,width:l,height:h,lineWidth:m?.group?.lineWidth??void 0,fill:m?.group?.fill??void 0,stroke:m?.group?.stroke??void 0,strokeArrayWidth:A??void 0,strokeArrayColor:m?.group?.strokeArrayColor??void 0,cursor:m?.group?.cursor??void 0,lineDash:m?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:m.group.cornerRadius}),R.role="cell",R.col=n,R.row=s,i?.addCellGroup(R)),p&&R.appendChild(p),f){const i=e;let r;if(g){let e=n,i=s;b&&(e=b.start.col,i=b.start.row),r=t.getCellIcons(e,i)}if(function(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p){let f,m=0,b=0,y=0;if(Array.isArray(e)&&0!==e.length){const{inlineFrontIcons:C,inlineEndIcons:w,contentLeftIcons:v,contentRightIcons:x,leftIconWidth:_,rightIconWidth:S,absoluteRightIconWidth:A}=KR(e,t,p,u);let R;if(m=_,b=S,y=A,0===C.length&&0===w.length){let e=0;at(u.theme._contentOffset)&&("left"===c?e=u.theme._contentOffset:"right"===c&&(e=-u.theme._contentOffset));const d=p?WR(p.start.col,p.start.row,u):WR(t.col,t.row,u),{text:f,moreThanMaxCharacters:y}=NR(i,u),C={text:1===f.length?f[0]:f,moreThanMaxCharacters:y,maxLineWidth:o?1/0:l-(r[1]+r[3])-m-b-d,textBaseline:"top",heightLimit:!1===u.options.customConfig?.limitContentHeight||n&&!u.options.customConfig?.multilinesForXTable?-1:h-Math.floor(r[0]+r[2]),pickable:!1,autoWrapText:s,lineClamp:a,wordBreak:"break-word",whiteSpace:!1===u.options.customConfig?.limitContentHeight||1!==f.length||s?"normal":"no-wrap",dx:("left"===c?v.length?0:d:0)+e,keepCenterInLine:!0},w=new Lh(g.text?Object.assign({},g.text,C):C);w.name="text",R=w}else{const e=Object.assign({text:i?.toString()},t.parent?.theme?.userTheme?.text||{});g.text&&Object.assign(e,g.text),e.textBaseline="middle";const a=[...C.map((t=>VR(t))),e,...w.map((t=>VR(t)))];a[0].textAlign=c;const u=new ld({width:o?0:l-(r[1]+r[3])-m-b,height:n&&s?0:Math.ceil(h-(r[0]+r[2])),textConfig:a,verticalDirection:n&&s?"top":d,ellipsis:e.ellipsis});u.name="text",R=u,u.bindIconEvent(),!p||p.start.col===p.end.col&&p.start.row===p.end.row||(u.onBeforeAttributeUpdate=$R)}if(0!==v.length||0!==x.length){const e=new DR({x:0,y:0,fill:!1,stroke:!1,pickable:!1});e.name="content",e.setCellContentOption({autoWidth:o,autoHeight:n,cellWidth:l-(r[1]+r[3])-m-b,cellHeight:h-(r[0]+r[2]),align:c,baseline:d});const i={addedHierarchyOffset:0};v.forEach((r=>{const o=GR(r,void 0,t.col,t.row,p,u,i);o.role="icon-content-left",o.name=r.name,e.addLeftOccupyingIcon(o)})),x.forEach((r=>{const o=GR(r,void 0,t.col,t.row,p,u,i);o.role="icon-content-right",o.name=r.name,e.addRightOccupyingIcon(o)})),e.addContent(R),t.appendChild(e),e.layout(),f=e.AABBBounds.width(),e.AABBBounds.height()}else t.firstChild?t.insertBefore(R,t.firstChild):t.appendChild(R),f=R.AABBBounds.width(),R.AABBBounds.height()}else if(J(i)){const{text:e,moreThanMaxCharacters:m}=NR(i,u),b=p?WR(p.start.col,p.start.row,u):WR(t.col,t.row,u);let y=0;at(u.theme._contentOffset)&&("left"===c?y=u.theme._contentOffset:"right"===c&&(y=-u.theme._contentOffset));const C={text:1===e.length?e[0]:e,moreThanMaxCharacters:m,maxLineWidth:o?1/0:l-(r[1]+r[3]+b),textBaseline:"top",autoWrapText:s,lineClamp:a,wordBreak:"break-word",heightLimit:!1===u.options.customConfig?.limitContentHeight||n&&!u.options.customConfig?.multilinesForXTable?-1:h-Math.floor(r[0]+r[2]),pickable:!1,dx:("left"===c?b:0)+y,whiteSpace:!1===u.options.customConfig?.limitContentHeight||1!==e.length||s?"normal":"no-wrap",keepCenterInLine:!0},w=new Lh(g.text?Object.assign({},g.text,C):C);w.name="text",w.textBaseline=d,t.appendChild(w),f=w.AABBBounds.width(),w.AABBBounds.height()}const C=o?m+f+b:l-(r[1]+r[3]),w=h-(r[0]+r[2]);t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+r[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+C-b+r[3]):"icon-absolute-right"===t.role?t.setAttribute("x",t.attribute.x+C-y+r[3]+r[1]):"content"!==t.name&&"text"!==t.name||("center"===c&&"richtext"!==t.type?t.setAttribute("x",r[3]+m+(C-m-b)/2):"right"===c&&"richtext"!==t.type?t.setAttribute("x",r[3]+C-b):t.setAttribute("x",r[3]+m))})),t.forEachChildren((t=>{t.name!==qA&&("middle"===d?t.setAttribute("y",r[0]+(w-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",r[0]+w-t.AABBBounds.height()):t.setAttribute("y",r[0]))})),t.setAttributes({width:C+r[1]+r[3],height:w+r[0]+r[2]})}(R,r,i,c,x,v,_,"number"==typeof S?S:void 0,R.attribute.width,R.attribute.height,d,u,t,m,b),m?._vtable?.marked){const t=fd({x:R.attribute.width,y:0,startAngle:Math.PI/2,endAngle:Math.PI,outerRadius:6,fill:"#3073F2",pickable:!1});t.name="mark",R.appendChild(t)}}return p&&R.setAttributes({width:Math.max(R.attribute.width,p.attribute.width??0),height:Math.max(R.attribute.height,p.attribute.height??0)}),R}function mI(t,e,i,r,o,n,s,a,l,h){if(t.dependField){const e=cv(t.dependField,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0});o=l.getCellOriginRecord(n,s)?.[e]??o}const c=cv(t.barType,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??"default",d=cv(t.min,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??0,u=cv(t.max,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??d+100;let g=0;g=h?l.getRowsHeight(h.start.row,h.end.row):l.getRowHeight(s);let p=i,f=g,m=0;at(l.theme._contentOffset)&&(m=l.theme._contentOffset);const b=new LR({x:-m,y:-m,width:p,height:f});b.name="progress-bar";const{showBar:y,barColor:C,barBgColor:w,barPositiveColor:v,barNegativeColor:x,barAxisColor:_,barRightToLeft:S,showBarMark:A,barMarkPositiveColor:R,barMarkNegativeColor:T,barMarkWidth:B,barMarkPosition:M}=e;let{barHeight:P,barBottom:H,barPadding:k}=e;1===k.length?k=[k[0],k[0],k[0],k[0]]:2===k.length?k=[k[0],k[1],k[0],k[1]]:3===k.length&&(k=[k[0],k[1],k[2],k[1]]),k=k.map(((t,e)=>{if("string"==typeof t&&Cv.endsWith(t,"%")){const r=Number(t.substr(0,t.length-1));return 0===e||2===e?g*r/100:i*r/100}return Number(t)}));const L=tA(IR("borderLineWidth",e,n,s,l)),E=Math.max(k[0],Math.ceil(L[0]/2)),F=Math.max(k[1],Math.floor(L[1]/2)),I=Math.max(k[2],Math.floor(L[2]/2)),z=Math.max(k[3],Math.ceil(L[3]/2));p-=F+z,f-=I+E,s===l.rowCount-1&&[0,"0"].includes(H)&&(f-=1);const O=E,D=z,W=p;"string"==typeof P&&Cv.endsWith(P,"%")?(P=Number(P.substr(0,P.length-1)),P=f*P/100):P=Number(P),"string"==typeof H&&Cv.endsWith(H,"%")?(H=Number(H.substr(0,H.length-1)),H=f*H/100):H=Number(H);if(cv(y,{col:n,row:s,table:l,context:null,value:r,dataValue:o})){let t=`${o}`;Cv.endsWith(t,"%")&&(t=t.substr(0,t.length-1));const e=Number(t);if(isNaN(e))return b;if("default"===(c??"default")){const t=e<d?0:e>u?1:(e-d)/(u-d),i=p,a=O+f-P-H;let h=Math.min(i*t,i);const c=S?D+W-h:D;n!==l.colCount-1||1!==t||S||(h-=1);const g=cv(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:t});if(g){const t=Jc({x:c,y:a,width:i,height:P,fill:g});b.addChild(t)}const m=Jc({x:c,y:a,width:h,height:P,fill:cv(C,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:t})||"#20a8d8"});b.addChild(m)}else if("negative"===c){const t=d<0?-d:0,i=u>0?u:0,a=t/(t+i),h=1-a,c=e>0?e/i:0,m=e<0?-e/t:0,y=p,C=O+f-P-H,k=D,L=cv(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c});if(L){const t=Jc({x:k,y:C,width:y,height:P,fill:L});b.addChild(t)}const E=S?h*y:a*y,F=Math.min(y*a*m,y),I=S?{left:k+E,top:C,width:F,height:P}:{left:k+E-F,top:C,width:F,height:P},z=cv(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8",W=Jc({x:I.left,y:I.top,width:I.width,height:I.height,fill:z});b.addChild(W);let N=Math.min(y*h*c,y);n!==l.colCount-1||1!==c||S||(N-=1);const G=S?{left:k+E-N,top:C,width:N,height:P}:{left:k+E,top:C,width:N,height:P},V=cv(v,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8",j=Jc({x:G.left,y:G.top,width:G.width,height:G.height,fill:V});b.addChild(j);const U=S?I.left:G.left,K=Yc({x:0,y:0,stroke:cv(_,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c}),lineWidth:1,lineDash:[2,2],points:[{x:U,y:0},{x:U,y:g}]});if(b.addChild(K),A&&(c||m)){const t=B,e=[];let i;if(c>0)if(i=cv(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8","right"===M){const t=S?G.left+B/2:G.left+G.width-B/2;e.push({x:t,y:G.top}),e.push({x:t,y:G.top+G.height})}else"bottom"===M&&(e.push({x:G.left,y:G.top+G.height-B/2}),e.push({x:G.left+G.width,y:G.top+G.height-B/2}));else if(m>0)if(i=cv(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8","right"===M){const t=S?I.left+I.width-B/2:I.left+B/2;e.push({x:t,y:I.top}),e.push({x:t,y:I.top+I.height})}else"bottom"===M&&(e.push({x:I.left,y:I.top+I.height-B/2}),e.push({x:I.left+I.width,y:I.top+I.height-B/2}));const a=Yc({x:0,y:0,stroke:i,lineWidth:t,points:e});b.addChild(a)}}else if("negative_no_axis"===c){const t=d<0?-d:0,i=u>0?u:0,a=Math.max(t,i),h=0===a?0:Math.abs(e)/a,c=p;let g=Math.min(c*h,c);n!==l.colCount-1||1!==h||S||(g-=1);const m=O+f-P-H,y=S?D+W-g:D,C=cv(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h});if(C){const t=Jc({x:y,y:m,width:c,height:P,fill:C});b.addChild(t)}const _={left:y,top:m,width:g,height:P};let k;k=e>=0?cv(v,{col:n,row:s,table:l,context:null,value:r,percentile:h,dataValue:o})||"#20a8d8":cv(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8";const L=Jc({x:_.left,y:_.top,width:_.width,height:_.height,fill:k});if(b.addChild(L),A&&e){const t=B,i=[];let a;if(a=e>=0?cv(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8":cv(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8","right"===M){const t=S?_.left+B/2:_.left+_.width-B/2;i.push({x:t,y:_.top}),i.push({x:t,y:_.top+_.height})}else"bottom"===M&&(i.push({x:_.left,y:_.top+_.height-B/2}),i.push({x:_.left+_.width,y:_.top+_.height-B/2}));const c=Yc({x:0,y:0,stroke:a,lineWidth:t,points:i});b.addChild(c)}}}return b}function bI(t,e,i,r,o,n){if(i?.zero&&(t=Math.min(t,0),e=Math.max(e,0)),i?.expand){const r=t,o=e;J(i.expand.min)&&(t=r-(o-r)*i.expand.min),J(i.expand.max)&&(e=o+(o-r)*i.expand.max)}let s,a;if(at(i?.min)&&(t=i.min),at(i?.max)&&(e=i.max),"log"===i?.type?(s=new rF,s.base(i?.base??10)):"symlog"===i?.type?(s=new oF,s.constant(i?.constant??10)):s=new QE,s.domain([t,e],!!i?.nice),n)!function(t,e){t.niceMax(e.targetTicks.length)}(s,n);else if(i?.nice){let t=i.tick?.forceTickCount??i.tick?.tickCount??10;q(t)&&(t=t({axisLength:o,labelStyle:i?.label?.style??{fontSize:XL}})),"accurateFirst"===i.niceType&&(t=Math.max(10,t)),Z(i.min)&&Z(i.max)?s.nice(t):J(i.min)&&Z(i.max)?s.niceMax(t):Z(i.min)&&J(i.max)&&s.niceMin(t)}return delete s._niceType,a=n?.targetTicks?.length??i?.tick?.forceTickCount?s.forceTicks(n?.targetTicks?.length??i?.tick?.forceTickCount):s.ticks(at(i?.tick?.tickCount)?i.tick.tickCount:5,{noDecimals:i?.tick?.noDecimals}),{range:s.domain(),ticks:a}}function yI(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=OR(o,n,p,g);b&&(t=g.scenegraph.highPerformanceGetCell(o,n,!0))&&"cell"===t.role&&t.setAttributes({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius}),t&&"cell"===t.role||((t=new LR({x:i,y:r,width:a,height:l,lineWidth:p?.group?.lineWidth??void 0,fill:p?.group?.fill??void 0,stroke:p?.group?.stroke??void 0,strokeArrayWidth:s,strokeArrayColor:p?.group?.strokeArrayColor??void 0,cursor:p?.group?.cursor??void 0,lineDash:p?.group?.lineDash??void 0,lineCap:"butt",clip:!0,cornerRadius:p.group.cornerRadius})).role="cell",t.col=o,t.row=n,e?.addCellGroup(t))}let y;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),y=g.getCellIcons(t,e)}let C=0,w=0;if(Array.isArray(y)&&0!==y.length){const{leftIconWidth:e,rightIconWidth:i,absoluteLeftIconWidth:r,absoluteRightIconWidth:o}=KR(y,t,m,g);C=e+i,w=e,t.forEachChildren((t=>{"icon-left"===t.role?t.setAttribute("x",t.attribute.x+h[3]):"icon-right"===t.role?t.setAttribute("x",t.attribute.x+a-i-h[1]):"icon-absolute-right"===t.role&&t.setAttribute("x",t.attribute.x+a-o-h[1])})),t.forEachChildren((t=>{"middle"===d?t.setAttribute("y",(l-t.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",l-t.AABBBounds.height()-h[2]):t.setAttribute("y",h[0])}))}const v=function(t,e,i,r,o,n,s,a,l){const h=l._getCellStyle(t,e),c=IR("buttonColor",h,t,e,l),d=IR("buttonBorderColor",h,t,e,l),u=IR("buttonLineWidth",h,t,e,l),g=IR("buttonBorderRadius",h,t,e,l),p=IR("buttonHoverColor",h,t,e,l),f=IR("buttonHoverBorderColor",h,t,e,l),m=IR("buttonPadding",h,t,e,l),b=IR("buttonTextHoverColor",h,t,e,l),y=IR("buttonDisableColor",h,t,e,l),C=IR("buttonDisableBorderColor",h,t,e,l),w=IR("buttonTextDisableColor",h,t,e,l),v=l.getCellValue(t,e),x=l.getCellOriginValue(t,e),_=WR(t,e,l),S=l._getCellStyle(t,e),A=S.autoWrapText??l.internalProps.autoWrapText,{lineClamp:R}=S,T="auto"===i,B=l.isAutoRowHeight(e),{disable:M,text:P}=a,H=cv(M,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),k=cv(P,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),L=k??v??"",E={maxLineWidth:T?1/0:r-(n[1]+n[3]+_),textAlign:"left",textBaseline:"top",autoWrapText:A,lineClamp:R,wordBreak:"break-word",heightLimit:B?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:_,whiteSpace:1!==L.length||A?"normal":"no-wrap"},F=s.text?Object.assign({},s.text,E):E,I={x:0,y:0,cursor:H?"not-allowed":"pointer",disable:H,childrenPickable:!1,text:1===L.length?L[0]:L,textStyle:F,padding:m,panel:{visible:!0,fill:H?y:c,stroke:H?C:d,lineWidth:u,cornerRadius:g},state:{text:{},panel:{hover:{fill:p,stroke:f}}}};w&&(I.state.text.fill=w),b&&(I.state.text.hover.fill=b);const z=new $b(I);z.name="button",H||(z.addEventListener("mouseenter",(()=>{z.addState("hover",!0,!1),z.stage.renderNextFrame()})),z.addEventListener("mouseleave",(()=>{z.removeState("hover",!1),z.stage.renderNextFrame()})));return z}(o,n,s-C,a,l,h,p,f,g);return v&&t.appendChild(v),a-=h[1]+h[3]+C,l-=h[0]+h[2],"center"===c?v.setAttribute("x",h[3]+w+(a-v.AABBBounds.width())/2):"right"===c?v.setAttribute("x",h[3]+w+a-v.AABBBounds.width()):v.setAttribute("x",h[3]+w),"middle"===d?v.setAttribute("y",h[0]+(l-v.AABBBounds.height())/2):"bottom"===d?v.setAttribute("y",h[0]+l-v.AABBBounds.height()):v.setAttribute("y",h[0]),t}const CI=()=>{sx.registerFunction("createChartCellGroup",rI),sx.registerFunction("getAxisDomainRangeAndLabels",bI)},wI=()=>{sx.registerFunction("createCheckboxCellGroup",oI)},vI=()=>{sx.registerFunction("createImageCellGroup",XR)},xI=()=>{sx.registerFunction("createProgressBarCell",mI)},_I=()=>{sx.registerFunction("createRadioCellGroup",nI)},SI=()=>{sx.registerFunction("createSwitchCellGroup",aI)},AI=()=>{sx.registerFunction("createButtonCellGroup",yI)},RI=()=>{sx.registerFunction("createSparkLineCellGroup",cI)},TI=()=>{sx.registerFunction("createTextCellGroup",fI)},BI=()=>{sx.registerFunction("createVideoCellGroup",pI)};KF(),$F(),XF(),YF(),qF(),ZF(),sx.registerComponent("listTreeStickCellPlugin",JF),sx.registerComponent("customCellStylePlugin",vk),CI(),wI(),vI(),xI(),_I(),SI(),AI(),RI(),TI(),BI();TI();const MI={startInTotal:0,afterSpanLevel:0};class PI{sharedVar;colIndex=0;_showHeader=!0;rowDimensionTree;columnDimensionTree;rowTree;columnTree;cornerHeaderObjs;columnHeaderObjs=[];rowHeaderObjs=[];_cornerHeaderCellFullPathIds=[];_columnHeaderCellFullPathIds=[];_rowHeaderCellFullPathIds=[];_rowHeaderCellFullPathIds_FULL=[];_cornerHeaderCellIds=[];_columnHeaderCellIds=[];_rowHeaderCellIds=[];_rowHeaderCellIds_FULL=[];_columnWidths=[];_columnHeaderLevelCount;_rowHeaderLevelCount;rowsDefine;columnsDefine;indicatorsDefine;columnPaths=[];_headerObjects=[];_headerObjectMap={};_indicators=[];indicatorTitle;indicatorsAsCol=!0;hideIndicatorName=!1;_showRowHeader=!0;_showColumnHeader=!0;_rowHeaderTitle;_columnHeaderTitle;cornerSetting;_indicatorShowType="column";rowHierarchyType;columnHierarchyType;rowExpandLevel;columnExpandLevel;rowHierarchyIndent;rowHierarchyTextStartAlignment=!1;rowDimensionKeys=[];colDimensionKeys=[];indicatorKeys=[];indicatorDimensionKey=Nv;_largeCellRangeCache;_CellHeaderPathMap;_table;extensionRows;_rowHeaderExtensionTree={};_extensionRowDimensionKeys=[];fullRowDimensionKeys=[];dataset;pagination;currentPageStartIndex;currentPageEndIndex;hasTwoIndicatorAxes;_chartItemSpanSize;_chartPaddingInner;_chartPaddingOuter;_chartItemBandSize;_chartPadding;rowSeriesNumberColumn;leftRowSeriesNumberColumn;leftRowSeriesNumberColumnCount=0;rightRowSeriesNumberColumn;rightRowSeriesNumberColumnCount=0;_useGetBodyCache=!1;_getBodyCache=new Map;_useHeaderPathCache=!1;_colHeaderPathCache=new Map;_rowHeaderPathCache=new Map;constructor(t,e,i,r){this.sharedVar=t.layoutNodeId,this._table=t,"tree"===t.options.rowHierarchyType&&(this.extensionRows=t.options.extensionRows),this.dataset=e,this._largeCellRangeCache=[],this._CellHeaderPathMap=new Map,this.rowTree=t.internalProps.rowTree,this.columnTree=t.internalProps.columnTree,this.rowsDefine=t.internalProps.rows??[],this.columnsDefine=t.internalProps.columns??[],this.indicatorsDefine=t.internalProps.indicators??[],this.indicatorTitle=t.options.indicatorTitle,this.indicatorsAsCol=t.options.indicatorsAsCol??!0,this.hideIndicatorName=t.options.hideIndicatorName??!1,this.showRowHeader=t.options.showRowHeader??!0,this.showColumnHeader=t.options.showColumnHeader??!0,this.rowHeaderTitle=t.options.rowHeaderTitle,this.columnHeaderTitle=t.options.columnHeaderTitle,this.rowHierarchyType=t.options.rowHierarchyType??"grid",this.columnHierarchyType=t.options.columnHierarchyType??"grid",this.rowExpandLevel=t.options.rowExpandLevel??1,this.columnExpandLevel=t.options.columnExpandLevel??1,this.rowHierarchyIndent=t.options.rowHierarchyIndent??20,this.rowHierarchyTextStartAlignment=t.options.rowHierarchyTextStartAlignment,this.cornerSetting=Object.assign({titleOnDimension:"column",forceShowHeader:!1},t.options.corner),e&&(this.rowTree=e.rowHeaderTree,this.columnTree=e.colHeaderTree),this.indicatorsDefine?.forEach((t=>{"string"==typeof t?this.indicatorKeys.push(t):this.indicatorKeys.push(t.indicatorKey)})),this.columnDimensionTree=i,this.rowDimensionTree=r,this.colDimensionKeys=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.rowDimensionKeys=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(this.rowDimensionKeys),this.resetRowHeaderLevelCount(),this._table.isPivotChart()&&(this.hasTwoIndicatorAxes=this.indicatorsDefine.some((t=>{if(t.chartSpec&&t.chartSpec.series&&t.chartSpec.series.length>1){const e=t.chartSpec.axes??this._table.pivotChartAxes??[];if(!e.length||e.every((t=>t.orient!==(this.indicatorsAsCol?"top":"right")||!1!==t.visible)))return!0}return!1}))),this.resetColumnHeaderLevelCount(),this._generateColHeaderIds(),this.colIndex=0,this._generateRowHeaderIds(),this._rowHeaderCellFullPathIds_FULL=Gw(this._rowHeaderCellFullPathIds_FULL),"tree"===t.options.rowHierarchyType&&this.extensionRows?.length>=1&&(this.generateExtensionRowTree(),this.extensionRows.forEach((t=>{const e=[];t.rows.forEach((t=>{"string"==typeof t?e.push(t):e.push(t.dimensionKey)})),this._extensionRowDimensionKeys.push(e),this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(e)}))),this.sharedVar.seqId=Math.max(this.sharedVar.seqId,this._headerObjects.length);let o,n=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr();!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customColTree||(n=this.columnsDefine.map((t=>"string"==typeof t?t:t.dimensionKey)),this.indicatorsAsCol&&n.push(this.indicatorDimensionKey)),n=this.columnHeaderTitle?[""].concat(n):n;let s=[];if("tree"===this.rowHierarchyType&&this.extensionRows?.length>=1){const t=[];t.push(this.rowDimensionKeys[0]),this._extensionRowDimensionKeys.forEach((e=>{t.push(e[0])})),s=this.extensionRows.reduce(((t,e)=>t.concat(e.rows)),[]),o=this.rowHeaderTitle?[""].concat(t):t}else o=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customRowTree||(o=this.rowsDefine.map((t=>"string"==typeof t?t:t.dimensionKey)),this.indicatorsAsCol||o.push(this.indicatorDimensionKey)),o=this.rowHeaderTitle?[""].concat(o):o;this.cornerHeaderObjs=this._addCornerHeaders(n,o,this.columnsDefine.concat(...this.rowsDefine,...s)),this.colIndex=0,this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this.indicatorsAsCol&&!this.hideIndicatorName?this._indicatorShowType="column":this.indicatorsAsCol||this.hideIndicatorName?this._indicatorShowType="none":this._indicatorShowType="row",this.generateCellIdsConsiderHideHeader(),this.setPagination(t.options.pagination),this._table.isPivotChart()&&(this._chartItemSpanSize=0,this._chartItemBandSize=0,this._indicators.find((t=>{t?.style?.padding&&(this._chartPadding=t.style.padding),t.chartSpec?.barWidth&&"number"==typeof t.chartSpec.barWidth&&(this._chartItemSpanSize=t.chartSpec?.barWidth);const e=t.chartSpec?.axes?.find((t=>"band"===t.type));return e?.bandSize&&(this._chartItemBandSize=e?.bandSize,this._chartPaddingInner=(ot(e.paddingInner)?e.paddingInner[0]:e.paddingInner)??0,this._chartPaddingOuter=(ot(e.paddingOuter)?e.paddingOuter[0]:e.paddingOuter)??0),this._chartItemSpanSize>0||(t.chartSpec.series?.find((t=>(t.barWidth&&"number"==typeof t.barWidth&&(this._chartItemSpanSize=t.barWidth),this._chartItemSpanSize>0))),!1)}))),this.handleRowSeriesNumber(t.internalProps.rowSeriesNumber),this.setColumnWidths()}handleRowSeriesNumber(t){t&&(Array.isArray(t)?this.rowSeriesNumberColumn=t.map((t=>({id:"",title:t.title,define:t,cellType:t.cellType??"text",headerType:t.cellType??"text",width:t.width,style:t.style,format:t.format,field:t.field,icon:t.icon}))):this.rowSeriesNumberColumn=[{id:"",title:t.title,define:t,cellType:t.cellType??"text",headerType:t.cellType??"text",style:t.style,width:t.width,format:t.format,field:"",icon:t.icon,isChildNode:!1}],this.leftRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!0)),this.rightRowSeriesNumberColumn=this.rowSeriesNumberColumn.filter((t=>!1)),this.leftRowSeriesNumberColumnCount=this.leftRowSeriesNumberColumn.length,this.rightRowSeriesNumberColumnCount=this.rightRowSeriesNumberColumn.length)}_generateColHeaderIds(){if(this.columnDimensionTree.tree.children?.length>=1)if("grid-tree"===this.columnHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds,t,this.columnDimensionTree.tree.children,[],this.columnDimensionTree.totalLevel,this._getColumnHeaderTreeExpandedMaxLevelCount(),!0,this.columnsDefine,this.columnHeaderObjs,!1)}else{let t=0;if(this.dataset&&!this._table.isPivotChart()&&0===(this.dataset.records?.length??0)&&!this.dataset.customColTree&&!this.dataset.customRowTree&&this.indicatorsAsCol&&this._getColumnHeaderTreeExpandedMaxLevelCount()<this.columnHeaderLevelCount){t=this.columnHeaderLevelCount-this._getColumnHeaderTreeExpandedMaxLevelCount();for(let e=0;e<t;e++)this._columnHeaderCellFullPathIds.unshift([])}this._addHeaders(this._columnHeaderCellFullPathIds,t,this.columnDimensionTree.tree.children,[],this.columnHeaderObjs)}if(this.columnHeaderTitle){this.sharedVar.seqId=Math.max(this.sharedVar.seqId,this._headerObjects.length);const t=++this.sharedVar.seqId,e=Array(this.colCount-this.rowHeaderLevelCount-this.rightFrozenColCount).fill(t);this._columnHeaderCellFullPathIds.unshift(e);const i={id:t,title:"string"==typeof this.columnHeaderTitle.title?this.columnHeaderTitle.title:this.columnsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.columnHeaderTitle?.headerType??"text",style:this.columnHeaderTitle?.headerStyle,define:{id:t,disableHeaderHover:!!this.columnHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.columnHeaderTitle?.disableHeaderSelect}};this.columnHeaderObjs.push(i),this._headerObjects[t]=i}}_generateRowHeaderIds(){if(this.rowDimensionTree.tree.children?.length>=1)if("tree"===this.rowHierarchyType)this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL,0,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,!0,this.rowsDefine,this.rowHeaderObjs);else if("grid-tree"===this.rowHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL,t,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,this._getRowHeaderTreeExpandedMaxLevelCount(),!0,this.rowsDefine,this.rowHeaderObjs,!0)}else{let t=0;if(this.dataset&&!this._table.isPivotChart()&&0===(this.dataset.records?.length??0)&&!this.dataset.customColTree&&!this.dataset.customRowTree&&!this.indicatorsAsCol&&this._getRowHeaderTreeExpandedMaxLevelCount()<this.rowHeaderLevelCount){t=this.rowHeaderLevelCount-this._getRowHeaderTreeExpandedMaxLevelCount();for(let e=0;e<t;e++)this._rowHeaderCellFullPathIds_FULL.unshift([])}this._addHeaders(this._rowHeaderCellFullPathIds_FULL,t,this.rowDimensionTree.tree.children,[],this.rowHeaderObjs)}if(this.rowHeaderTitle){this.sharedVar.seqId=Math.max(this.sharedVar.seqId,this._headerObjects.length);const t=++this.sharedVar.seqId,e=Array(this._rowHeaderCellFullPathIds_FULL[0]?.length??this.rowDimensionTree.tree.size).fill(t);this._rowHeaderCellFullPathIds_FULL.unshift(e);const i={id:t,title:"string"==typeof this.rowHeaderTitle.title?this.rowHeaderTitle.title:this.rowsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.rowHeaderTitle?.headerType??"text",style:this.rowHeaderTitle?.headerStyle,define:{id:t,disableHeaderHover:!!this.rowHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.rowHeaderTitle?.disableHeaderSelect}};this.rowHeaderObjs.push(i),this._headerObjects[t]=i}}_getRowHeaderTreeExpandedMaxLevelCount(){return"tree"===this.rowHierarchyType?1:"grid-tree"===this.rowHierarchyType?"row"===this.cornerSetting.titleOnDimension?this.rowDimensionTree.totalLevel:this.indicatorsAsCol?this.rowDimensionTree.expandedMaxLevel:this.rowDimensionTree.expandedMaxLevel+1:this.rowDimensionTree.totalLevel}_getColumnHeaderTreeExpandedMaxLevelCount(){return"grid-tree"===this.columnHierarchyType?"column"===this.cornerSetting.titleOnDimension?this.columnDimensionTree.totalLevel:!1===this.indicatorsAsCol?this.columnDimensionTree.expandedMaxLevel:this.columnDimensionTree.expandedMaxLevel+1:this.columnDimensionTree.totalLevel}_addHeaders(t,e,i,r,o){const n=this;t[e]||function(e){const i=t[e]=[];if(0===n.colIndex)return i;const r=t[e-1];for(let t=0;t<r?.length;t++)i[t]=r[t]}(e);for(let n=0;n<i.length;n++){VH(i[n],t,o,r,e,this)}}_addHeadersForTreeMode(t,e,i,r,o,n,s,a){const l=this;t[e]||function(e){const i=t[e]=[];if(0===l.colIndex)return i;const r=t[e-1];for(let t=0;t<r?.length;t++)i[t]=r[t]}(e);for(let l=0;l<i.length;l++){UH(i[l],t,a,r,e,o,n,s,this)}}_addHeadersForGridTreeMode(t,e,i,r,o,n,s,a,l,h){const c=this;t[e]||function(e){const i=t[e]=[];if(0===c.colIndex)return i;const r=t[e-1];for(let t=0;t<r?.length;t++)i[t]=r[t]}(e);for(let c=0;c<i.length;c++){jH(i[c],t,l,r,e,o,n,s,a,h,this.indicatorsAsCol,this)}}_addCornerHeaders(t,e,i){this._cornerHeaderCellFullPathIds=[];const r=[],o="grid-tree"===this.columnHierarchyType&&this._getColumnHeaderTreeExpandedMaxLevelCount()||this.columnHeaderLevelCount,n="grid-tree"===this.rowHierarchyType&&this._getRowHeaderTreeExpandedMaxLevelCount()||this.rowHeaderLevelCount;if("all"===this.cornerSetting.titleOnDimension)if(this.indicatorsAsCol){if(t)for(let e=0;e<o;e++){const o=t[e],s=++this.sharedVar.seqId,a=i.find((t=>"string"!=typeof t&&t.dimensionKey===o)),l={id:s,title:o===this.indicatorDimensionKey?this.indicatorTitle:a?a.title:"axis"===o?"":o,field:o,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:a?.showSortInCorner,sort:a?.sort,define:{showSort:a?.showSortInCorner,sort:a?.sort,dimensionKey:o,id:s,value:o,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:a?.cornerDropDownMenu,headerIcon:a?.cornerHeaderIcon,pivotInfo:{value:a?.title??"",dimensionKey:o,isPivotCorner:!0},description:a?.cornerDescription};r[s]=l,this._headerObjects[s]=l,this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]);for(let t=0;t<n;t++)this._cornerHeaderCellFullPathIds[e][t]=s}if(e)for(let t=0;t<n;t++){const o=e[t],n=++this.sharedVar.seqId,s=i.find((t=>"string"!=typeof t&&t.dimensionKey===o)),a={id:n,title:o===this.indicatorDimensionKey?this.indicatorTitle:s?s.title:"axis"===o?"":o,field:o,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:s?.showSortInCorner,sort:s?.sort,define:{showSort:s?.showSortInCorner,sort:s?.sort,dimensionKey:o,id:n,value:o,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:s?.cornerDropDownMenu,headerIcon:s?.cornerHeaderIcon,pivotInfo:{value:s?.title??"",dimensionKey:o,isPivotCorner:!0},description:s?.cornerDescription};r[n]=a,this._headerObjects[n]=a,this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length-1]||(this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length-1]=[]),this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length-1][t]=n}}else{if(e)for(let t=0;t<n;t++){const n=e[t],s=++this.sharedVar.seqId,a=i.find((t=>"string"!=typeof t&&t.dimensionKey===n)),l={id:s,title:n===this.indicatorDimensionKey?this.indicatorTitle:a?a.title:"axis"===n?"":n,field:n,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:a?.showSortInCorner,sort:a?.sort,define:{showSort:a?.showSortInCorner,sort:a?.sort,dimensionKey:n,id:s,value:n,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:a?.cornerDropDownMenu,headerIcon:a?.cornerHeaderIcon,pivotInfo:{value:a?.title??"",dimensionKey:n,isPivotCorner:!0},description:a?.cornerDescription};r[s]=l,this._headerObjects[s]=l;for(let e=0;e<o;e++)this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]),this._cornerHeaderCellFullPathIds[e][t]=s}if(t)for(let e=0;e<o;e++){const o=t[e],n=++this.sharedVar.seqId,s=i.find((t=>"string"!=typeof t&&t.dimensionKey===o)),a={id:n,title:o===this.indicatorDimensionKey?this.indicatorTitle:s?s.title:"axis"===o?"":o,field:o,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:s?.showSortInCorner,sort:s?.sort,define:{showSort:s?.showSortInCorner,sort:s?.sort,dimensionKey:o,id:n,value:o,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:s?.cornerDropDownMenu,headerIcon:s?.cornerHeaderIcon,pivotInfo:{value:s?.title??"",dimensionKey:o,isPivotCorner:!0},description:s?.cornerDescription};r[n]=a,this._headerObjects[n]=a,this._cornerHeaderCellFullPathIds[e][this._cornerHeaderCellFullPathIds[e].length-1]=n}}else if("row"===this.cornerSetting.titleOnDimension||"column"===this.cornerSetting.titleOnDimension){const o="row"===this.cornerSetting?.titleOnDimension?e:t;o&&o.forEach(((t,e)=>{const o=++this.sharedVar.seqId,n=i.find((e=>"string"!=typeof e&&e.dimensionKey===t)),s={id:o,title:t===this.indicatorDimensionKey?this.indicatorTitle:n?n.title:"axis"===t?"":t,field:t,style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",showSort:n?.showSortInCorner,sort:n?.sort,define:{showSort:n?.showSortInCorner,sort:n?.sort,dimensionKey:t,id:o,value:t,headerCustomRender:this.cornerSetting.customRender,headerCustomLayout:this.cornerSetting.customLayout,headerEditor:this.cornerSetting.headerEditor,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect},dropDownMenu:n?.cornerDropDownMenu,headerIcon:n?.cornerHeaderIcon,pivotInfo:{value:n?.title??"",dimensionKey:t,isPivotCorner:!0},description:n?.cornerDescription};if(r[o]=s,this._headerObjects[o]=s,"column"===this.cornerSetting.titleOnDimension){this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]);for(let t=0;t<this.rowHeaderLevelCount;t++)this._cornerHeaderCellFullPathIds[e][t]=o}else if("row"===this.cornerSetting.titleOnDimension)for(let t=0;t<this.columnHeaderLevelCount;t++)this._cornerHeaderCellFullPathIds[t]||(this._cornerHeaderCellFullPathIds[t]=[]),this._cornerHeaderCellFullPathIds[t][e]=o}))}else{const t=++this.sharedVar.seqId,e={id:t,title:"",field:"维度名称",style:this.cornerSetting.headerStyle,headerType:this.cornerSetting.headerType??"text",define:{dimensionKey:"维度名称",id:t,headerCustomRender:this.cornerSetting.customRender,headerCustomLayout:this.cornerSetting.customLayout,disableHeaderHover:!!this.cornerSetting.disableHeaderHover,disableHeaderSelect:!!this.cornerSetting.disableHeaderSelect}};r[t]=e,this._headerObjects[t]=e;for(let e=0;e<this.columnHeaderLevelCount;e++)for(let i=0;i<this.rowHeaderLevelCount;i++)this._cornerHeaderCellFullPathIds[e]||(this._cornerHeaderCellFullPathIds[e]=[]),this._cornerHeaderCellFullPathIds[e][i]=t}return r}generateExtensionRowTree(){this.extensionRows.forEach(((t,e)=>{const i=this._rowHeaderCellFullPathIds_FULL;this._rowHeaderCellFullPathIds_FULL=[],i.forEach(((e,i)=>{const r=e[e.length-1];let o,n;if(this.colIndex=0,"function"==typeof t.rowTree){const i=this.findFullCellIds(e);o=t.rowTree(i.map((t=>({dimensionKey:this._headerObjects[t].field,value:this._headerObjects[t].title}))))}else o=Ct(t.rowTree);this._rowHeaderExtensionTree[r]?(this._rowHeaderExtensionTree[r].reset(this._rowHeaderExtensionTree[r].tree.children),n=this._rowHeaderExtensionTree[r]):(n=new WH(o??[],this.sharedVar,this.rowHierarchyType,void 0),this._rowHeaderExtensionTree[r]=n);const s=[];this._addHeadersForTreeMode(s,0,n.tree.children,[],n.totalLevel,!0,t.rows,this.rowHeaderObjs);for(let t=0;t<s[0].length;t++)this._rowHeaderCellFullPathIds_FULL.push(e.concat(s[0][t]))}))}))}setColumnWidths(){const t=new Array(this.colCount).fill(void 0);if(this.leftRowSeriesNumberColumnCount&&(t[0]=this.leftRowSeriesNumberColumn[0]),this.showHeader&&this.showRowHeader)if(this.rowHeaderTitle&&(t[0+this.leftRowSeriesNumberColumnCount]={}),"tree"===this.rowHierarchyType){const e=this.rowDimensionKeys[0];if(e){const i=this.rowsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===e));i&&(t[0+(this.rowHeaderTitle?1:0)+this.leftRowSeriesNumberColumnCount]={width:i.width,minWidth:i.minWidth,maxWidth:i.maxWidth})}this._extensionRowDimensionKeys?.forEach(((e,i)=>{const r=e[0];if(r){const e=this.extensionRows[i].rows?.find((t=>"string"!=typeof t&&t.dimensionKey===r));e&&(t[i+1+(this.rowHeaderTitle?1:0)+this.leftRowSeriesNumberColumnCount]={width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth})}}))}else{(this.rowDimensionTree.totalLevel>0?this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr():this.rowsDefine.map((t=>"string"==typeof t?t:t.dimensionKey))).forEach(((e,i)=>{const r=this.rowsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===e));r&&(t[i+(this.rowHeaderTitle?1:0)+this.leftRowSeriesNumberColumnCount]={width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth})}))}if(this.indicatorsAsCol)for(let e=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;e<this.colCount;e++){const i=this.getBody(e,this.columnHeaderLevelCount);t[e]={width:i?.width,minWidth:i?.minWidth,maxWidth:i?.maxWidth}}else{let e,i,r,o=0;this._indicators?.forEach(((t,n)=>{"number"==typeof t.width?o=Math.max(t.width,o):"auto"===t.width&&(r=!0),"number"==typeof t.minWidth&&(i=Math.max(t.minWidth,i??0)),"number"==typeof t.maxWidth&&(e=Math.min(t.maxWidth,e??Number.MAX_VALUE))})),o=o>0?o:r?"auto":void 0,t.fill({width:o,minWidth:i,maxWidth:e},this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount,this.colCount-this.rightFrozenColCount)}this._columnWidths=t}get columnWidths(){return this._columnWidths}getColumnWidthDefined(t){return this._columnWidths[t]}get showHeader(){return this._showHeader}set showHeader(t){this._showHeader=t}get showColumnHeader(){return this._showColumnHeader}set showColumnHeader(t){this._showColumnHeader=t}get showRowHeader(){return this._showRowHeader}set showRowHeader(t){this._showRowHeader=t}get columnHeaderTitle(){return this._columnHeaderTitle}set columnHeaderTitle(t){this._columnHeaderTitle=t}get rowHeaderTitle(){return this._rowHeaderTitle}set rowHeaderTitle(t){this._rowHeaderTitle=t}getHeaderFieldKey(t,e){}getCellLocation(t,e){return this.isCornerHeader(t,e)?"cornerHeader":this.isColumnHeader(t,e)?"columnHeader":this.isRowHeader(t,e)?"rowHeader":"body"}isHeader(t,e){return t>=this.leftRowSeriesNumberColumnCount&&t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount||(e>=0&&e<this.columnHeaderLevelCount||(t>=this.colCount-this.rightHeaderColCount||e>=this.rowCount-this.bottomHeaderRowCount))}isCornerHeader(t,e){return t>=0&&t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount&&e>=0&&e<this.columnHeaderLevelCount}isColumnHeader(t,e){return t>=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount&&e>=0&&e<this.columnHeaderLevelCount}isRowHeader(t,e){return t>=this.leftRowSeriesNumberColumnCount&&t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount&&e>=this.columnHeaderLevelCount}isFrozen(t,e){return this.isFrozenColumn(t)||this.isRightFrozenColumn(t)||this.isBottomFrozenRow(e)||this.isFrozenRow(e)||this.isSeriesNumberInBody(t,e)||this.isSeriesNumberInHeader(t,e)}isFrozenColumn(t,e){if(J(e)){if(t>=0&&t<this.frozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.frozenColCount>0&&t>=0&&t<this.frozenColCount)return!0;return!1}isRightFrozenColumn(t,e){if(J(e)){if(t>=this.colCount-this.rightFrozenColCount&&e>=this.frozenRowCount&&e<this.rowCount-this.bottomFrozenRowCount)return!0}else if(this.rightFrozenColCount>0&&t>=this.colCount-this.rightFrozenColCount)return!0;return!1}isFrozenRow(t,e){if(J(e)){if(e>=0&&e<this.frozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.frozenRowCount>0&&e>=0&&e<this.frozenRowCount)return!0;return!1}isBottomFrozenRow(t,e){if(J(e)){if(e>=this.rowCount-this.bottomFrozenRowCount&&t>=this.frozenColCount&&t<this.colCount-this.rightFrozenColCount)return!0}else if(e=t,this.bottomFrozenRowCount>0&&e>=this.rowCount-this.bottomFrozenRowCount)return!0;return!1}isLeftTopCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=0&&e<this.frozenRowCount}isLeftBottomCorner(t,e){return t>=0&&t<this.frozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}isRightTopCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=0&&e<this.frozenRowCount}isRightBottomCorner(t,e){return t>=this.colCount-this.rightFrozenColCount&&e>=this.rowCount-this.bottomFrozenRowCount}getColumnHeaderRange(){return{start:{col:this.rowHeaderLevelCount,row:0},end:{col:this.colCount-1,row:this.columnHeaderLevelCount-1}}}getRowHeaderRange(){return{start:{col:0,row:this.columnHeaderLevelCount},end:{col:this.rowHeaderLevelCount-1,row:this.rowCount-1}}}getCornerHeaderRange(){return{start:{col:0,row:0},end:{col:this.rowHeaderLevelCount-1,row:this.columnHeaderLevelCount-1}}}getBodyRange(){return{start:{col:this.rowHeaderLevelCount,row:this.columnHeaderLevelCount},end:{col:this.colCount-1,row:this.rowCount-1}}}resetCellIds(){}get frozenColCount(){return this._table.internalProps.frozenColCount?this.colCount>this._table.internalProps.frozenColCount?this._table.internalProps.frozenColCount:this.colCount:0}get frozenRowCount(){return this._table.internalProps.frozenRowCount?this.rowCount>=this._table.internalProps.frozenRowCount?this._table.internalProps.frozenRowCount:this.rowCount:0}get headerLevelCount(){return this.columnHeaderLevelCount}resetColumnHeaderLevelCount(){if(this.showHeader&&this.showColumnHeader){if(this._table.isPivotChart()&&this.indicatorsAsCol&&!this.dataset?.colKeys?.length&&0===this.columnDimensionTree?.tree?.level&&!this.hasTwoIndicatorAxes)return void(this.columnHeaderLevelCount=0);let t=this._getColumnHeaderTreeExpandedMaxLevelCount();return this.indicatorsAsCol&&this.hideIndicatorName&&this.colDimensionKeys[this.colDimensionKeys.length-1]===this.indicatorDimensionKey&&t--,0===t&&this.dataset&&!this.dataset.customColTree?.length?"row"===this.cornerSetting.titleOnDimension&&this.cornerSetting.forceShowHeader?t=1:this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(t=this.columnsDefine.length??0):!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customColTree||"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(t=this.columnsDefine.length??0,!this.hideIndicatorName&&this.indicatorsAsCol&&t++),this.columnHeaderTitle&&(t+=1),this._table.isPivotChart()&&this.indicatorsAsCol&&!this.hasTwoIndicatorAxes&&QL(this.indicatorsDefine)&&(t-=1),void(this.columnHeaderLevelCount=t)}this.columnHeaderLevelCount=this.indicatorsAsCol?this.hideIndicatorName?0:1:0}resetRowHeaderLevelCount(){if(this.showHeader&&this.showRowHeader){if("tree"===this.rowHierarchyType){const t=this.extensionRows?.length??0;return this.rowHeaderTitle?void(this.rowHeaderLevelCount=2+t):void(this.rowHeaderLevelCount=1+t)}const t=this._getRowHeaderTreeExpandedMaxLevelCount();let e=t;return 0===e&&this.dataset&&!this.dataset.customRowTree?.length?"column"===this.cornerSetting.titleOnDimension&&this.cornerSetting.forceShowHeader?e=1:this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"row"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(e=this.rowsDefine.length??0):!this.dataset||this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||this.dataset.customRowTree||"row"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(e=this.rowsDefine.length,this.hideIndicatorName||this.indicatorsAsCol||e++),!this.indicatorsAsCol&&this.hideIndicatorName&&this.rowDimensionKeys[this.rowDimensionKeys.length-1]===this.indicatorDimensionKey&&(e=t-1),this.rowHeaderTitle&&(e+=1),void(this.rowHeaderLevelCount=e)}this.rowHeaderLevelCount=this.indicatorsAsCol||this.hideIndicatorName?0:1}get columnHeaderLevelCount(){return this._columnHeaderLevelCount}set columnHeaderLevelCount(t){this._columnHeaderLevelCount=t}get rowHeaderLevelCount(){return this._rowHeaderLevelCount}set rowHeaderLevelCount(t){this._rowHeaderLevelCount=t}get colCount(){return(this._getColumnHeaderTreeExpandedMaxLevelCount()>0||this._table.isPivotChart()||this.dataset.records?.length>0||this.dataset.records&&!Array.isArray(this.dataset.records)?this._columnHeaderCellIds[0]?.length??this.columnDimensionTree.tree.size:0)+this.rowHeaderLevelCount+this.rightHeaderColCount+this.leftRowSeriesNumberColumnCount}get rowCount(){return((this._table.records||this.dataset.records)&&(!Array.isArray(this._table.records)||this._table.records.length>0)&&this._indicators?.length>0&&!this._rowHeaderCellIds?.length?1:this._rowHeaderCellIds?.length??0)+this.columnHeaderLevelCount+this.bottomHeaderRowCount}get bodyRowSpanCount(){return this.rowDimensionTree.tree.size}get bottomFrozenRowCount(){if(!this._table.isPivotChart())return this._table.internalProps.bottomFrozenRowCount?this.rowCount-this.headerLevelCount>=this._table.internalProps.bottomFrozenRowCount?this._table.internalProps.bottomFrozenRowCount:this.rowCount-this.headerLevelCount:0;if(this.indicatorKeys.length>=1&&QL(this.indicatorsDefine)){const t=this._table.pivotChartAxes.find((t=>"bottom"===t.orient));return!1===t?.visible?0:(this.indicatorsAsCol,1)}return 0}get rightFrozenColCount(){if(!this._table.isPivotChart())return this._table.internalProps.rightFrozenColCount?this.colCount-this.rowHeaderLevelCount>=this._table.internalProps.rightFrozenColCount?this._table.internalProps.rightFrozenColCount:this.colCount-this.rowHeaderLevelCount:0;const t=this._table.pivotChartAxes.find((t=>"right"===t.orient));return!1===t?.visible||this.indicatorsAsCol?0:this.hasTwoIndicatorAxes?1:0}get bodyRowCount(){return this.rowCount-this.bottomFrozenRowCount-this.headerLevelCount}get bodyColCount(){return this.colCount-this.rightFrozenColCount-this.rowHeaderLevelCount}get headerObjects(){return this._headerObjects}get columnObjects(){return this._indicators}getCellId(t,e){if(e>=0&&t>=0){if(this.isSeriesNumber(t,e))return"";if(this.isCornerHeader(t,e))return this._cornerHeaderCellIds[e]?.[t-this.leftRowSeriesNumberColumnCount];if(this.isColumnHeader(t,e))return this._columnHeaderCellIds[e]?.[t-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount];if(this.isRowHeader(t,e))return this._rowHeaderCellIds[e-this.columnHeaderLevelCount]?.[t-this.leftRowSeriesNumberColumnCount];if(this.isRightFrozenColumn(t,e))return this._rowHeaderCellIds[e-this.columnHeaderLevelCount]?.[this.rowHeaderLevelCount-1];if(this.isBottomFrozenRow(t,e))return this._columnHeaderCellIds[this.columnHeaderLevelCount-1]?.[t-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount]}}getHeader(t,e){if(this.isSeriesNumberInHeader(t,e))return this.getSeriesNumberHeader(t,e);const i=this.getCellId(t,e);return this._headerObjectMap[i]??{id:void 0,field:"",headerType:"text",define:void 0}}getHeaderField(t,e){const i=this.getCellId(t,e);return this._headerObjectMap[i]?.field||this.getBody(t,e)?.field}getHeaderCellAdressById(t){for(let e=0;e<this._columnHeaderCellIds.length;e++){const i=this._columnHeaderCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return{col:r+this._table.frozenColCount,row:e}}for(let e=0;e<this._rowHeaderCellIds.length;e++){const i=this._rowHeaderCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return{col:r,row:e+this._table.frozenRowCount}}for(let e=0;e<this._cornerHeaderCellIds.length;e++){const i=this._cornerHeaderCellIds[e];for(let r=0;r<i.length;r++)if(i[r]===t)return{col:r,row:e}}}getHeaderCellAddressByField(t){const e=this.headerObjects.find((e=>e&&e.field===t));return e&&this.getHeaderCellAdressById(e.id)}getBody(t,e){const i=this.getBodyWidthCache(t,e);if(i)return i;if(this.isSeriesNumber(t,e)){const i=this.getSeriesNumberBody(t,e);return this.setBodyWidthCache(t,e,i),i}const r=this.getCellHeaderPaths(t,e);if(this.indicatorsAsCol){const i=r.colHeaderPaths?.find((t=>t.indicatorKey))?.indicatorKey,o=J(i)?this._indicators?.find((t=>t.indicatorKey===i))??this._indicators[0]??{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0}:{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0};return this.setBodyWidthCache(t,e,o),o}const o=r.rowHeaderPaths?.find((t=>t.indicatorKey))?.indicatorKey,n=J(o)?this._indicators?.find((t=>t.indicatorKey===o))??this._indicators[0]??{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0}:{id:"",field:void 0,indicatorKey:void 0,cellType:"text",define:void 0};return this.setBodyWidthCache(t,e,n),n}getCellRange(t,e){const i={start:{col:t,row:e},end:{col:t,row:e}};if(!this.isHeader(t,e)||-1===t||-1===e)return i;if(this.isRightFrozenColumn(t,e)||this.isBottomFrozenRow(t,e))return i;if(this._table.isPivotChart()){if(this.isLeftBottomCorner(t,e))return{start:{col:0,row:this.rowCount-this.bottomFrozenRowCount},end:{col:this.frozenColCount-1,row:this.rowCount-1}};if(this.isRightTopCorner(t,e))return{start:{col:this.colCount-this.rightFrozenColCount,row:0},end:{col:this.colCount-1,row:this.frozenRowCount-1}};if(this.isRightBottomCorner(t,e))return{start:{col:this.colCount-this.rightFrozenColCount,row:this.rowCount-this.bottomFrozenRowCount},end:{col:this.colCount-1,row:this.rowCount-1}}}for(let i=0;i<this._largeCellRangeCache.length;i++){const r=this._largeCellRangeCache[i];if(t>=r.start.col&&t<=r.end.col&&e>=r.start.row&&e<=r.end.row)return r}if(this.isHeader(t,e)&&-1!==t&&-1!==e){const r=this.getCellId(t,e);for(let o=t-1;o>=0&&r===this.getCellId(o,e);o--)i.start.col=o;for(let o=t+1;o<(this.colCount??0)&&r===this.getCellId(o,e);o++)i.end.col=o;for(let o=e-1;o>=0&&r===this.getCellId(t,o);o--)i.start.row=o;for(let o=e+1;o<(this.rowCount??0)&&!(r!==this.getCellId(t,o)||this.isSeriesNumberInHeader(t,e)&&o>=this.columnHeaderLevelCount);o++)i.end.row=o}return(i.end.col-i.start.col>100||i.end.row-i.start.row>100)&&this._largeCellRangeCache.push(i),i}isCellRangeEqual(t,e,i,r){const o=this.getCellRange(t,e),n=this.getCellRange(i,r);return o.start.col===n.start.col&&o.end.col===n.end.col&&o.start.row===n.start.row&&o.end.row===n.end.row}getBodyIndexByRow(t){return t<this.columnHeaderLevelCount||t>=this.rowCount-this.bottomHeaderRowCount?-1:t-this.columnHeaderLevelCount}get bottomHeaderRowCount(){return this._table.isPivotChart()?this.bottomFrozenRowCount:0}get rightHeaderColCount(){return this._table.isPivotChart()?this.rightFrozenColCount:0}getBodyIndexByCol(t){return t<this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount||t>=this.colCount-this.rightHeaderColCount?-1:t-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount}getRecordStartRowByRecordIndex(t){return this.columnHeaderLevelCount+t}getRecordShowIndexByCell(t,e){}getCellHeaderPathsWithTreeNode(t,e){for(let i=0;i<this._largeCellRangeCache.length;i++){const r=this._largeCellRangeCache[i];if(t>=r.start.col&&t<=r.end.col&&e>=r.start.row&&e<=r.end.row)break}let i=this.getColHeaderPathCache(t,e),r=this.getRowHeaderPathCache(t,e);const o=this.getBodyIndexByCol(t),n=this.getBodyIndexByRow(e)+this.currentPageStartIndex;if(!i&&e>=0&&o>=0){if(i=[],"grid-tree"===this.columnHierarchyType){const t=[];this._columnHeaderCellFullPathIds.map((e=>{t.push(e[o])}));const e=this.getTreePathByCellIds(t);i.push(...e)}else i=this.columnDimensionTree.getTreePath(o,this.showHeader&&this.showColumnHeader?e-(this.columnHeaderTitle?1:0):this.columnDimensionTree.totalLevel);this.setColHeaderPathCache(t,e,i)}if(!r&&t>=0&&n>=0){if(r=[],"tree"===this.rowHierarchyType){const t=this._rowHeaderCellFullPathIds[n];let e=this.rowDimensionTree,i=0;for(;e;){const o=[];let n=t[i];for(o.push(n);;){const t=this._headerObjectMap[n];if(!t?.parentCellId)break;o.unshift(t.parentCellId),n=t.parentCellId}const s=this.getTreePathByCellIds(o);r.push(...s),e=this._rowHeaderExtensionTree[t[i]],i++}}else if("grid-tree"===this.rowHierarchyType){const t=this._rowHeaderCellFullPathIds[n],e=this.getTreePathByCellIds(t);r.push(...e)}else r=this.rowDimensionTree.getTreePath(n,this.showHeader&&this.showRowHeader?t-(this.rowHeaderTitle?1:0)-this.leftRowSeriesNumberColumnCount:this.rowDimensionTree.totalLevel);this.setRowHeaderPathCache(t,e,r)}return{colHeaderPaths:i,rowHeaderPaths:r,cellLocation:this.getCellLocation(t,e)}}getTreePathByCellIds(t){const e=[];for(let i=0;i<t.length;i++){const r=t[i];if(i>0&&r===t[i-1])continue;const o=this._headerObjects[r];o?.define&&e.push(o.define)}return e}getCellHeaderPaths(t,e){const i=this.getCellHeaderPathsWithTreeNode(t,e),r={colHeaderPaths:[],rowHeaderPaths:[],cellLocation:i.cellLocation};return i.colHeaderPaths?.forEach((t=>{const e={};e.dimensionKey=t.dimensionKey,e.indicatorKey=t.indicatorKey,e.value=t.value??this.getIndicatorInfoByIndicatorKey(t.indicatorKey)?.title??"",e.virtual=t.virtual,r.colHeaderPaths.push(e)})),i.rowHeaderPaths?.forEach((t=>{if("axis"!==t.dimensionKey){const e={};e.dimensionKey=t.dimensionKey,e.indicatorKey=t.indicatorKey,e.value=t.value??this.getIndicatorInfoByIndicatorKey(t.indicatorKey)?.title??"",e.virtual=t.virtual,r.rowHeaderPaths.push(e)}})),r}getIndicatorInfoByIndicatorKey(t){const e=this.indicatorsDefine?.find((e=>"string"!=typeof e&&(!!t&&e.indicatorKey===t)));return e}findFullCellIds(t){const e=[];for(let i=0;i<t.length;i++){let r=t[i];for(e.push(r);;){const t=this._headerObjectMap[r];if(!t?.parentCellId)break;e.unshift(t.parentCellId),r=t.parentCellId}}return e}getHeaderDimension(t,e){if(this.isHeader(t,e)){const i=this.getHeader(t,e);return this.rowsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===i.field))??this.columnsDefine?.find((t=>"string"!=typeof t&&t.dimensionKey===i.field))}}isColumnIndicatorHeader(t,e){return"column"===this._indicatorShowType&&e===this.columnHeaderLevelCount-1&&t>=this.rowHeaderLevelCount}isRowIndicatorHeader(t,e){return"row"===this._indicatorShowType&&t===this.rowHeaderLevelCount-1&&e>=this.columnHeaderLevelCount}isIndicatorHeader(t,e){return this.isColumnIndicatorHeader(t,e)||this.isRowIndicatorHeader(t,e)}toggleHierarchyState(t,e){this.colIndex=0;const i=(this.indicatorsAsCol?this.rowHeaderLevelCount-1:this.rowHeaderLevelCount-2)-this.leftRowSeriesNumberColumnCount,r=this._rowHeaderCellFullPathIds_FULL.slice(0),o=r.map(((e,i)=>({col:t,row:i+this.columnHeaderLevelCount}))),n=this.getHeader(t,e);if(n.define.hierarchyState=n.define.hierarchyState===ZC.collapse?ZC.expand:ZC.collapse,this.rowDimensionTree.reset(this.rowDimensionTree.tree.children),this.resetRowHeaderLevelCount(),this._rowHeaderCellFullPathIds_FULL=[],this.rowDimensionKeys=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.fullRowDimensionKeys=[],this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(this.rowDimensionKeys),"tree"===this.rowHierarchyType)this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL,0,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,!0,this.rowsDefine,this.rowHeaderObjs);else if("grid-tree"===this.rowHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL,t,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,this._getRowHeaderTreeExpandedMaxLevelCount(),!0,this.rowsDefine,this.rowHeaderObjs,!0),this.cornerHeaderObjs=this._addCornerHeaders(this.colDimensionKeys,this.rowDimensionKeys,this.columnsDefine.concat(...this.rowsDefine))}if(this.rowHeaderTitle){const t=++this.sharedVar.seqId,e=Array(this.rowCount-this.columnHeaderLevelCount).fill(t);this._rowHeaderCellFullPathIds_FULL.unshift(e);const i={id:t,title:"string"==typeof this.rowHeaderTitle.title?this.rowHeaderTitle.title:this.rowsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.rowHeaderTitle?.headerType??"text",style:this.rowHeaderTitle?.headerStyle,define:{field:"",headerType:"text",cellType:"text",disableHeaderHover:!!this.rowHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.rowHeaderTitle?.disableHeaderSelect}};this.rowHeaderObjs.push(i),this._headerObjects[t]=i}let s;if(this._rowHeaderCellFullPathIds_FULL=Gw(this._rowHeaderCellFullPathIds_FULL),"tree"===this.rowHierarchyType&&this.extensionRows?.length>=1&&this.generateExtensionRowTree(),this.colIndex=0,this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,"tree"===this.rowHierarchyType)s=function(t,e,i,r,o,n){const s=n.columnHeaderLevelCount,a=[],l=[];for(let t=0;t<i.length;t++)r.includes(i[t])||l.push(o[t]);for(let e=0;e<r.length;e++)if(!i.includes(r[e])){const i={col:t,row:s+e};a.push(i)}let h=n.getParentCellId(t,e),c=n.getRowHeaderCellAddressByCellId(h);const d=[];for(c&&d.push(c);h;)h=n.getParentCellId(c.col,c.row),h&&(c=n.getRowHeaderCellAddressByCellId(h),d.push(c));return{addCellPositionsRowDirection:a,removeCellPositionsRowDirection:l,updateCellPositionsRowDirection:d}}(t,e,r.map((e=>e[t-this.leftRowSeriesNumberColumnCount])),this._rowHeaderCellFullPathIds_FULL.map((e=>e[t-this.leftRowSeriesNumberColumnCount])),o,this);else{const n=(this.indicatorsAsCol?this.rowHeaderLevelCount-1:this.rowHeaderLevelCount-2)-this.leftRowSeriesNumberColumnCount;s=function(t,e,i,r,o,n){const s=n.columnHeaderLevelCount,a=[],l=[];for(let t=0;t<i.length;t++)r.includes(i[t])||l.push(o[t]);for(let e=0;e<r.length;e++)if(!i.includes(r[e])){const i={col:t,row:s+e};a.push(i)}let h=n.getParentCellId(t,e),c=n.getRowHeaderCellAddressByCellId(h);const d=[];for(c&&d.push(c);h;)h=n.getParentCellId(c.col,c.row),h&&(c=n.getRowHeaderCellAddressByCellId(h),d.push(c));const u=[],g=[];if("grid-tree"===n.rowHierarchyType&&"column"===n.cornerSetting.titleOnDimension&&n.rowHeaderLevelCount!==n._cornerHeaderCellIds[0].length)if(n.rowHeaderLevelCount>n._cornerHeaderCellIds[0].length)for(let t=n._cornerHeaderCellIds[0].length;t<n.rowHeaderLevelCount;t++)u.push({col:t,row:e});else for(let t=n.rowHeaderLevelCount;t<n._cornerHeaderCellIds[0].length;t++)g.push({col:t,row:e});return{addCellPositionsRowDirection:a,removeCellPositionsRowDirection:l,updateCellPositionsRowDirection:d,addCellPositionsColumnDirection:u,removeCellPositionsColumnDirection:g}}(t,e,r.map((t=>t[i])),this._rowHeaderCellFullPathIds_FULL.map((t=>t[n])),o,this)}return this.generateCellIdsConsiderHideHeader(),this.setPagination(this.pagination),"grid-tree"===this.rowHierarchyType&&this.setColumnWidths(),s}toggleHierarchyStateForColumnTree(t,e){this.colIndex=0;const i=this.indicatorsAsCol?this.columnHeaderLevelCount-2:this.columnHeaderLevelCount-1,r=this._columnHeaderCellFullPathIds.slice(0),o=r[this.columnHeaderLevelCount-1].map(((t,i)=>({col:i+this.rowHeaderLevelCount,row:e}))),n=this.getHeader(t,e);if(n.define.hierarchyState=n.define.hierarchyState===ZC.collapse?ZC.expand:ZC.collapse,this.columnDimensionTree.reset(this.columnDimensionTree.tree.children),this.resetColumnHeaderLevelCount(),this._columnHeaderCellFullPathIds=[],this.colDimensionKeys=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr(),"grid-tree"===this.columnHierarchyType){const t=0;this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds,t,this.columnDimensionTree.tree.children,[],this.columnDimensionTree.totalLevel,this._getColumnHeaderTreeExpandedMaxLevelCount(),!0,this.columnsDefine,this.columnHeaderObjs,!1),this.cornerHeaderObjs=this._addCornerHeaders(this.colDimensionKeys,this.rowDimensionKeys,this.columnsDefine.concat(...this.rowsDefine))}if(this.columnHeaderTitle){const t=++this.sharedVar.seqId,e=Array(this.colCount-this.rowHeaderLevelCount-this.rightFrozenColCount).fill(t);this._columnHeaderCellFullPathIds.unshift(e);const i={id:t,title:"string"==typeof this.columnHeaderTitle.title?this.columnHeaderTitle.title:this.columnsDefine.reduce(((t,e)=>"string"==typeof e?t:t+(t?`/${e.title}`:`${e.title}`)),""),field:void 0,headerType:this.columnHeaderTitle?.headerType??"text",style:this.columnHeaderTitle?.headerStyle,define:{id:t,disableHeaderHover:!!this.columnHeaderTitle?.disableHeaderHover,disableHeaderSelect:!!this.columnHeaderTitle?.disableHeaderSelect}};this.columnHeaderObjs.push(i),this._headerObjects[t]=i}this.colIndex=0,this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0;const s=this.indicatorsAsCol?this.columnHeaderLevelCount-2:this.columnHeaderLevelCount-1,a=function(t,e,i,r,o,n){const s=n.rowHeaderLevelCount,a=[],l=[];for(let t=0;t<i.length;t++)r.includes(i[t])||l.push(o[t]);for(let t=0;t<r.length;t++)if(!i.includes(r[t])){const i={col:s+t,row:e};a.push(i)}let h=n.getParentCellId(t,e),c=n.getRowHeaderCellAddressByCellId(h);const d=[];for(c&&d.push(c);c&&h;)h=n.getParentCellId(c.col,c.row),h&&(c=n.getRowHeaderCellAddressByCellId(h),d.push(c));const u=[],g=[];if("grid-tree"===n.columnHierarchyType&&"row"===n.cornerSetting.titleOnDimension&&n.columnHeaderLevelCount!==n._cornerHeaderCellIds.length)if(n.columnHeaderLevelCount>n._cornerHeaderCellIds.length)for(let e=n._cornerHeaderCellIds.length;e<n.columnHeaderLevelCount;e++)u.push({col:t,row:e});else for(let e=n.columnHeaderLevelCount;e<n._cornerHeaderCellIds.length;e++)g.push({col:t,row:e});return{addCellPositionsColumnDirection:a,removeCellPositionsColumnDirection:l,updateCellPositionsColumnDirection:d,addCellPositionsRowDirection:u,removeCellPositionsRowDirection:g}}(t,e,r[i],this._columnHeaderCellFullPathIds[s],o,this);return this.generateCellIdsConsiderHideHeader(),"grid-tree"===this.columnHierarchyType&&this.setColumnWidths(),a}isHeaderForColWidth(t,e){return this.isHeader(t,e)}getHeaderForColWidth(t,e){return this.getHeader(t,e)}getPivotCellAdress(t){if(!Array.isArray(t))return;let e,i,r=this.rowTree,o=this.columnTree;for(let n=0;n<t.length;n++){const s=t[n];if((s.isPivotCorner||!J(s.value))&&n===t.length-1){if("row"===this?.cornerSetting?.titleOnDimension){let t=0;return"grid"===this.rowHierarchyType&&(t=this.rowDimensionKeys.indexOf(s.dimensionKey)),-1===t?void 0:{col:(this.rowHeaderTitle?t+1:t)+this.leftRowSeriesNumberColumnCount,row:0}}const t=this.colDimensionKeys.indexOf(s.dimensionKey);return-1===t?void 0:{col:0+this.leftRowSeriesNumberColumnCount,row:this.columnHeaderTitle?t+1:t}}let a=!1;for(let t=0;t<o.length;t++){const e=o[t];if((J(s.dimensionKey)&&e.dimensionKey===s.dimensionKey||J(s.indicatorKey)&&e.indicatorKey===s.indicatorKey)&&e.value===s.value){o=e.children,i=e,a=!0;break}}if(!a)for(let t=0;t<r.length;t++){const i=r[t];if((J(s.dimensionKey)&&i.dimensionKey===s.dimensionKey||J(s.indicatorKey)&&i.indicatorKey===s.indicatorKey)&&i.value===s.value){r=i.children,e=i;break}}}let n=0,s=0;if(e){s=this.columnHeaderLevelCount;const{startInTotal:t,afterSpanLevel:i}=e;return s+=t,n="grid"===this.rowHierarchyType?(this.rowHeaderTitle?i+1:i)+this.leftRowSeriesNumberColumnCount:0+this.leftRowSeriesNumberColumnCount,{col:n,row:s}}if(i){n=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;const{startInTotal:t,afterSpanLevel:e}=i;return n+=t,s=this.columnHeaderTitle?e+1:e,{col:n,row:s}}}getPivotDimensionInfo(t,e){const{colHeaderPaths:i,rowHeaderPaths:r}=this.getCellHeaderPaths(t,e),o=[];return i.length?i.forEach(((t,e)=>{o.push({dimensionKey:t.dimensionKey,value:t.value,isPivotCorner:!1,indicatorKey:t.indicatorKey})})):r.length?r.forEach(((t,e)=>{o.push({dimensionKey:t.dimensionKey,value:t.value,isPivotCorner:!1,indicatorKey:t.indicatorKey})})):this.isCornerHeader(t,e)&&("row"===this?.cornerSetting?.titleOnDimension?o.push({dimensionKey:this.rowDimensionKeys[(this.rowHeaderTitle?t-1:t)-this.leftRowSeriesNumberColumnCount],isPivotCorner:!0}):o.push({dimensionKey:this.colDimensionKeys[this.columnHeaderTitle?e-1:e],isPivotCorner:!0})),o}getIndicatorKey(t,e){return this.getBody(t,e)?.indicatorKey}getParentCellId(t,e){if(0!==e)return this.isColumnHeader(t,e)?this.getCellId(t,e-1):this.isRowHeader(t,e)?this.getCellId(t-1,e):void 0}getRowHeaderCellAddressByCellId(t){let e,i;if(this._rowHeaderCellIds.find(((r,o)=>!!r.find(((i,r)=>i===t&&(e=r,!0)))&&(i=o,!0))),J(e)&&J(i))return{col:e,row:i+this.columnHeaderLevelCount}}canMoveHeaderPosition(t,e){if(this.isSeriesNumberInHeader(e.col,e.row)||this.isSeriesNumberInHeader(t.col,t.row))return!1;if(this.isCornerHeader(e.col,e.row))return!1;if(t.col<0||t.row<0||e.col<0||e.row<0)return!1;this.isSeriesNumberInBody(e.col,e.row)&&this.isSeriesNumberInBody(t.col,t.row)&&(t.col=t.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1,e.col=e.col+this.leftRowSeriesNumberColumnCount+this.rowHeaderLevelCount-1);const i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){return this.getParentCellId(t.col,i.start.row)===this.getParentCellId(e.col,i.start.row)}if(this.isRowHeader(t.col,t.row)){if("tree"!==this.rowHierarchyType){return this.getParentCellId(i.start.col,t.row)===this.getParentCellId(i.start.col,e.row)}{const i=Ct(this.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths),r=Ct(this.getCellHeaderPathsWithTreeNode(e.col,e.row).rowHeaderPaths);if(i.pop(),r.pop(),i.length<=r.length){if(i.length===r.length)return!i.find(((t,e)=>t.dimensionKey!==r[e].dimensionKey||t.value!==r[e].value));if(i.length>0)for(let t=0;t<i.length;t++)if(i[t].startInTotal!==r[t].startInTotal)return!1;return!0}}}return!1}moveHeaderPosition(t,e){if((this._table.options.dragOrder?.validateDragOrderOnEnd(t,e)||!this._table.options.dragOrder?.validateDragOrderOnEnd)&&this.canMoveHeaderPosition(t,e)&&!this.isCellRangeEqual(t.col,t.row,e.col,e.row)){const i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)){const r=i.end.col-i.start.col+1;let o;const n=this.getCellRange(e.col,i.start.row);if(o=e.col>=t.col?n.end.col-r+1:n.start.col,o===i.start.col)return null;for(let t=0;t<this._columnHeaderCellFullPathIds.length;t++){const e=this._columnHeaderCellFullPathIds[t].splice(i.start.col-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount,r);e.unshift(o-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columnHeaderCellFullPathIds[t],e)}const s=this._columnWidths.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);return s.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columnWidths,s),this.columnDimensionTree.movePosition(this.getCellHeaderPathsWithTreeNode(t.col,t.row).colHeaderPaths.length-1,i.start.col-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount,n.start.col-this.rowHeaderLevelCount-this.leftRowSeriesNumberColumnCount),this.columnDimensionTree.reset(this.columnDimensionTree.tree.children),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,{sourceIndex:i.start.col,targetIndex:o,sourceSize:r,targetSize:n.end.col-n.start.col+1,moveType:"column"}}if(this.isRowHeader(t.col,t.row)){let r;const o=this.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths,n=this.getCellHeaderPathsWithTreeNode(e.col,e.row).rowHeaderPaths,s=o[o.length-1],a=n[o.length-1],l=s.size;if(r=e.row>=t.row?a.startInTotal+a.size-l:a.startInTotal,r===i.start.row-this.columnHeaderLevelCount)return null;const h=this._rowHeaderCellIds.splice(i.start.row-this.columnHeaderLevelCount,l);h.unshift(r-this.currentPageStartIndex,0),Array.prototype.splice.apply(this._rowHeaderCellIds,h);const c=this._rowHeaderCellFullPathIds.splice(i.start.row-this.columnHeaderLevelCount,l);c.unshift(r-this.currentPageStartIndex,0),Array.prototype.splice.apply(this._rowHeaderCellFullPathIds,c);const d=this._rowHeaderCellIds_FULL.splice(i.start.row-this.columnHeaderLevelCount+this.currentPageStartIndex,l);d.unshift(r,0),Array.prototype.splice.apply(this._rowHeaderCellIds_FULL,d);const u=this._rowHeaderCellFullPathIds_FULL.splice(i.start.row-this.columnHeaderLevelCount+this.currentPageStartIndex,l);return u.unshift(r,0),Array.prototype.splice.apply(this._rowHeaderCellFullPathIds_FULL,u),this.rowDimensionTree.movePosition(o.length-1,i.start.row-this.columnHeaderLevelCount,r+(e.row>t.row?s.size-1:0)),this.rowDimensionTree.reset(this.rowDimensionTree.tree.children),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,{sourceIndex:i.start.row,targetIndex:r+this.columnHeaderLevelCount,sourceSize:l,targetSize:a.size,moveType:"row"}}}return null}getCellAdressByHeaderPath(t){let e,i,r=!1,o=!1;if(Array.isArray(t)){if(t.length>this.rowDimensionKeys.length+this.colDimensionKeys.length)return;e=t.filter((t=>this.colDimensionKeys.indexOf(t.dimensionKey)>=0||this.colDimensionKeys.indexOf(this.indicatorDimensionKey)>=0&&t.indicatorKey)),i=t.filter((t=>this.rowDimensionKeys.indexOf(t.dimensionKey)>=0||this.rowDimensionKeys.indexOf(this.indicatorDimensionKey)>=0&&t.indicatorKey))}else e=t.colHeaderPaths,i=t.rowHeaderPaths,"body"===t?.cellLocation&&this._table.isPivotTable()&&(o=!0);if(!Array.isArray(e)&&!Array.isArray(i))return;if(e?.sort(((t,e)=>this.colDimensionKeys.indexOf(t.dimensionKey??this.indicatorDimensionKey)-this.colDimensionKeys.indexOf(e.dimensionKey??this.indicatorDimensionKey))),i?.sort(((t,e)=>this.fullRowDimensionKeys.indexOf(t.dimensionKey??this.indicatorDimensionKey)-this.fullRowDimensionKeys.indexOf(e.dimensionKey??this.indicatorDimensionKey))),e?.forEach((t=>{t.isPivotCorner&&(r=!0)})),i?.forEach((t=>{t.isPivotCorner&&(r=!0)})),r)if("all"===this.cornerSetting.titleOnDimension&&this.indicatorsAsCol&&0===e.length){for(let t=0;t<this.rowDimensionKeys.length;t++)if(i[0]?.dimensionKey===this.rowDimensionKeys[t])return{col:t+this.leftRowSeriesNumberColumnCount,row:this.columnHeaderLevelCount-1}}else if("all"!==this.cornerSetting.titleOnDimension||this.indicatorsAsCol||0!==i.length){if("row"===this.cornerSetting.titleOnDimension||"all"===this.cornerSetting.titleOnDimension&&!this.indicatorsAsCol){for(let t=0;t<this.rowDimensionKeys.length;t++)if(i[0]?.dimensionKey===this.rowDimensionKeys[t])return{col:t+this.leftRowSeriesNumberColumnCount,row:0}}else for(let t=0;t<this.colDimensionKeys.length;t++)if(e[0]?.dimensionKey===this.colDimensionKeys[t])return{col:0,row:t}}else for(let t=0;t<this.colDimensionKeys.length;t++)if(e[0]?.dimensionKey===this.colDimensionKeys[t])return{col:this.rowHeaderLevelCount-1,row:t};let n,s,a,l,h=!1;e?.length>=1&&i?.length>=1&&(h=!0);let c,d,u=this.rowTree,g=this.columnTree;if(e)for(let t=0;t<e.length;t++){const i=e[t];for(let t=0;t<g.length;t++){const e=g[t];if(!J(i.indicatorKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||J(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(J(e.value)&&J(i.value)&&i.value===e.value||!J(e.value)||!J(i.value))){g=e.children,h&&!g?d=e:h||(d=e);break}}}if(i?.length>=1)if("tree"===this.rowHierarchyType){const t=i[i.length-1],e=this.headerObjects.filter((e=>(e?.field===t.dimensionKey||e?.field===t.indicatorKey)&&e?.title===t.value)).map((t=>t.id)),r=this._rowHeaderCellIds.filter((t=>e.indexOf(t[t.length-1])>=0)).find((t=>{const e=this.findFullCellIds(t);return e.length===i.length&&e.every((t=>{const e=this._headerObjectMap[t];return i.find((t=>t.dimensionKey===e.field&&t.value===e.title))}))}));s=this._rowHeaderCellIds.indexOf(r)+this.columnHeaderLevelCount}else for(let t=0;t<i.length;t++){const e=i[t];for(let t=0;t<u.length;t++){const i=u[t];if(!J(e.indicatorKey)&&i.dimensionKey===e.dimensionKey&&i.value===e.value||J(e.indicatorKey)&&i.indicatorKey===e.indicatorKey&&(!J(e.value)||i.value===e.value)){u=i.children,(!h||u&&!u.some((t=>"axis"===t.dimensionKey)))&&h||(c=i);break}}}if(o||!h||(c||J(s))&&d){if(c||o){s=this.columnHeaderLevelCount;const{startInTotal:t,afterSpanLevel:e}=c??MI;s+=t??0,a="grid"===this.rowHierarchyType?(this.rowHeaderTitle?e+1:e)+this.leftRowSeriesNumberColumnCount:0}if(d||o){n=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;const{startInTotal:t,afterSpanLevel:e}=d??MI;n+=t??0,l=this.columnHeaderTitle?e+1:e}return J(n)||J(s)?{col:n??a,row:s??l}:void 0}}setChartInstance(t,e,i){const r=this.getCellHeaderPaths(t,e);let o;if(this.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=this._indicators?.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=this._indicators?.find((e=>e.indicatorKey===t))}"function"!=typeof o?.chartSpec&&o&&(o.chartInstance=i)}getChartInstance(t,e){const i=this.getCellHeaderPaths(t,e);let r;if(this.indicatorsAsCol){const t=i.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;r=this._indicators?.find((e=>e.indicatorKey===t))}else{const t=i.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;r=this._indicators?.find((e=>e.indicatorKey===t))}return r?.chartInstance}checkHasChart(){return iE(this)}getDimension(t,e){return"column"===e?this.columnsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t)):"row"===e?this.rowsDefine?.find((e=>"string"!=typeof e&&e.dimensionKey===t)):void 0}getAxisConfigInPivotChart(t,e){if((this.isFrozenColumn(t,e)||this.isRightFrozenColumn(t,e))&&tE(t,e,"row",this)||(this.isFrozenRow(t,e)||this.isBottomFrozenRow(t,e))&&tE(t,e,"col",this)){const i=sx.getFunction("getAxisConfigInPivotChart")(t,e,this);if(!1===i?.visible)return;return i}}isEmpty(t,e){return!!this._table.isPivotChart()&&(!!this.isLeftBottomCorner(t,e)||(!!this.isRightBottomCorner(t,e)||!!this.isRightTopCorner(t,e)))}isAxisCell(t,e){if(!this._table.isPivotChart())return!1;if(this.indicatorKeys.length>=1&&QL(this.indicatorsDefine)){if(this.isBottomFrozenRow(t,e)&&tE(t,e,"col",this)||this.isRightFrozenColumn(t,e)&&tE(t,e,"row",this))return!0;if(this.isRowHeader(t,e)&&t===this.rowHeaderLevelCount-1&&tE(t,e,"row",this))return!0;if(this.hasTwoIndicatorAxes&&this.indicatorsAsCol&&e===this.columnHeaderLevelCount-1&&tE(t,e,"col",this))return!0}return!1}getChartAxes(t,e){if(function(t,e,i){let r=!0;const o=i.getRawChartSpec(t,e);return o&&"pie"!==o.type&&"radar"!==o.type&&"gauge"!==o.type&&"wordCloud"!==o.type&&"funnel"!==o.type&&"rose"!==o.type||(r=!1),r}(t,e,this)||this.isAxisCell(t,e))return function(t,e,i){const r=[];if(i.indicatorsAsCol){const o=i.getIndicatorKeyInChartSpec(t,e),n=i.getColKeysPath(t,e);o.forEach(((s,a)=>{const{range:l,targetTicks:h,targetRange:c,axisOption:d}=Ck(t,e,a,0===a?"bottom":"top",0===a?"top":"bottom",o,n,i);at(d?.min)&&(l.min=d.min),at(d?.max)&&(l.max=d.max),rE(d,r)||r.push(_t({range:l,label:{style:{fontSize:$L}}},d,{type:d?.type||"linear",orient:0===a?"bottom":"top",label:{visible:!1,flush:!0},title:{visible:!1},domainLine:{visible:!1},seriesIndex:d?.seriesId?void 0:a,tick:{tickMode:hk(h,c,l,a)},sync:{axisId:JL}}))}));let s=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);ot(s)&&(s=s[0]);const a=(i.dataset.cacheCollectedValues[s]||i.dataset.collectedValues[s]||[])[i.getRowKeysPath(t,e)??""],{axisOption:l,isPercent:h,chartType:c}=dk(t,e,"left",i);r.push(_t({domain:"linear"!==l?.type||Array.isArray(a)?Array.from(a??[]):void 0,range:"linear"!==l?.type||Array.isArray(a)?void 0:a,label:{style:{fontSize:$L}}},l,{type:l?.type??"band",orient:"left",label:{visible:!1},domainLine:{visible:!1},tick:{visible:!1},subTick:{visible:!1},title:{visible:!1}}))}else{const o=i.getIndicatorKeyInChartSpec(t,e),n=i.getRowKeysPath(t,e);o.forEach(((s,a)=>{const{range:l,targetTicks:h,targetRange:c,axisOption:d}=Ck(t,e,a,0===a?"left":"right",0===a?"right":"left",o,n,i);at(d?.min)&&(l.min=d.min),at(d?.max)&&(l.max=d.max),rE(d,r)||r.push(_t({range:l,label:{style:{fontSize:$L}}},d,{type:d?.type||"linear",orient:0===a?"left":"right",label:{visible:!1,flush:!0},title:{visible:!1},domainLine:{visible:!1},seriesIndex:d?.seriesId?void 0:a,tick:{tickMode:hk(h,c,l,a)},sync:{axisId:JL}}))}));let s=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);ot(s)&&(s=s[0]);const a=i.dataset.cacheCollectedValues[s]||i.dataset.collectedValues[s]||[],l=i.getColKeysPath(t,e),h=a?.[l??""]??[],{axisOption:c,isPercent:d,chartType:u}=dk(t,e,"bottom",i);r.push(_t({domain:"linear"!==c?.type||Array.isArray(h)?Array.from(h??[]):void 0,range:"linear"!==c?.type||Array.isArray(h)?void 0:h,label:{style:{fontSize:$L}}},c,{type:c?.type??"band",orient:"bottom",visible:!0,label:{visible:!1},domainLine:{visible:!1},tick:{visible:!1},subTick:{visible:!1},title:{visible:!1}}))}return r}(t,e,this)}getRawChartSpec(t,e){return function(t,e,i){const r=i.getCellHeaderPaths(t,e);let o;if(i.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}const n=o?.chartSpec;if("function"==typeof n)return n({col:t,row:e,dataValue:i._table.getCellOriginValue(t,e)||"",value:i._table.getCellValue(t,e)||"",rect:i._table.getCellRangeRelativeRect(i._table.getCellRange(t,e)),table:i._table});return n}(t,e,this)}getChartSpec(t,e){return function(t,e,i){let r=i.getRawChartSpec(t,e);return r?i._table.isPivotChart()?(r=WL(r),r.sortDataByAxis=!0,ot(r.series)&&r.series.forEach((t=>{t.sortDataByAxis=!0})),"gauge"!==r.type&&"rose"!==r.type&&"radar"!==r.type&&(r.axes=i.getChartAxes(t,e)),r.padding=0,r.dataZoom=[],r):r:null}(t,e,this)}isShareChartSpec(t,e){return function(t,e,i){const r=i.getCellHeaderPaths(t,e);let o;if(i.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}const n=o?.chartSpec;return"function"!=typeof n}(t,e,this)}getChartDataId(t,e){return eE(t,e,this)}isNoChartDataRenderNothing(t,e){return function(t,e,i){const r=i.getCellHeaderPaths(t,e);let o;if(i.indicatorsAsCol){const t=r.colHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}else{const t=r.rowHeaderPaths.find((t=>t.indicatorKey))?.indicatorKey;o=i.columnObjects.find((e=>e.indicatorKey===t))}const n=o?.noDataRenderNothing;return n}(t,e,this)}setPagination(t){if(this.clearCellRangeMap(),this._table.internalProps.useOneRowHeightFillAll=!1,this.pagination=t,"grid"===this.rowHierarchyType&&J(this.pagination?.perPageCount)&&J(this.pagination?.currentPage)){!1===this.indicatorsAsCol&&(this.pagination.perPageCount=Math.ceil(this.pagination.perPageCount/this.indicatorKeys.length)*this.indicatorKeys.length);const{perPageCount:t,currentPage:e}=this.pagination;this.currentPageStartIndex=t*(e||0),this.currentPageEndIndex=this.currentPageStartIndex+t,this._rowHeaderCellIds=this._rowHeaderCellIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex),this._rowHeaderCellFullPathIds=this._rowHeaderCellFullPathIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex)}else this.currentPageStartIndex=0,this.currentPageEndIndex=this._rowHeaderCellIds_FULL.length,this._rowHeaderCellIds=this._rowHeaderCellIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex),this._rowHeaderCellFullPathIds=this._rowHeaderCellFullPathIds_FULL?.slice(this.currentPageStartIndex,this.currentPageEndIndex);this.pagination&&(this.pagination.totalCount=this._rowHeaderCellIds_FULL?.length)}release(){const t=this._table._getActiveChartInstance();t?.release(),this._indicators?.forEach((t=>{t.chartInstance?.release()}))}getHeadNode(t,e){let i;const r=this.getCellHeaderPaths(t,e);return r.rowHeaderPaths&&(r.rowHeaderPaths?.length??0)>0?i=r.rowHeaderPaths?.slice(0,r.rowHeaderPaths.length):r.colHeaderPaths&&r.colHeaderPaths.length>0&&(i=r.colHeaderPaths.slice(0,r.colHeaderPaths.length)),this.getHeadNodeByRowOrColDimensions(i,t,e)}getHeadNodeByRowOrColDimensions(t,e,i){if(!Array.isArray(t))return;let r,o,n=this.rowTree,s=this.columnTree;if(J(i)&&J(e)&&"tree"===this.rowHierarchyType&&this.extensionRows&&e>=1+this.leftRowSeriesNumberColumnCount){const t=this.getCellId(e-1,i);n=this._rowHeaderExtensionTree[t].tree.children}for(let e=0;e<t.length;e++){const i=t[e];if((i.isPivotCorner||!J(i.value))&&e===t.length-1)return;let a=!1;for(let t=0;t<s.length;t++){const e=s[t];if(J(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||J(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!J(i.value)||!J(e.value))){s=e.children,o=e,a=!0;break}}if(!a)for(let t=0;t<n?.length;t++){const e=n[t];if(J(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||J(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!J(i.value)||!J(e.value))){n=e.children,r=e;break}}}return r||(o||void 0)}clearCellRangeMap(){this._largeCellRangeCache.length=0,this._CellHeaderPathMap=new Map}getDimensionKeyInChartSpec(t,e){let i;if(!1===this.indicatorsAsCol)for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(i=e.xField??e?.series?.[0]?.xField,i))return i}else for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(i=e.yField??e?.series?.[0]?.yField,i))return i}return null}_generateChartState(){return{vtable_selected:{filter:t=>{if(this._table._selectedDataItemsInChart.length>=1){return!!this._table._selectedDataItemsInChart.find((e=>{for(const i in e)if("object"!=typeof e[i]&&e[i]!==t[i])return!1;return!0}))}if(this._table._selectedDimensionInChart?.length){return!!this._table._selectedDimensionInChart.every((e=>"object"==typeof e.value||t[e.key]===e.value))}return!1}},vtable_selected_reverse:{filter:t=>{if(this._table._selectedDataItemsInChart.length>=1){return!this._table._selectedDataItemsInChart.find((e=>{for(const i in e)if("object"!=typeof e[i]&&e[i]!==t[i])return!1;return!0}))}if(this._table._selectedDimensionInChart?.length){return!this._table._selectedDimensionInChart.every((e=>"object"==typeof e.value||t[e.key]===e.value))}return!1}}}}updateDataStateToChartInstance(t){if(!1!==t?.getSpec().select?.enable){t||(t=this._table._getActiveChartInstance());const e=this._generateChartState();this._indicators.forEach((t=>{const i=t.chartInstance;!1!==t.chartSpec.select?.enable&&i.updateState(e)})),t?.updateState(e)}}updateDataStateToActiveChartInstance(t){if(!1!==t?.getSpec().select?.enable){t||(t=this._table._getActiveChartInstance());const e=this._generateChartState();t?.updateState(e)}}getIndicatorKeyInChartSpec(t,e){const i=this.getRawChartSpec(t,e),r=[];if(i){if(i.series||i.xField||i.yField)return!1===this.indicatorsAsCol?i.series?i.series.forEach((t=>{const e=t.yField;r.push(e)})):r.push(i.yField):i.series?i.series.forEach((t=>{const e=t.xField;r.push(e)})):r.push(i.xField),r;if(i.valueField&&r.push(i.valueField),r.length>=1)return r}return null}getOptimunHeightForChart(t){const e=this.getCellHeaderPaths(this.rowHeaderLevelCount,t).rowHeaderPaths;let i,r;for(const t in this.dataset.collectValuesBy)if("yField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){i=this.dataset.collectedValues[t]?.[e.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)r=HI(i?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;r=(i?.length??0)*(t+t/3)}const o=tA(this._chartPadding??this._table.theme.bodyStyle.padding??0);return r+o[0]+o[2]}getOptimunWidthForChart(t){const e=this.getCellHeaderPaths(t,this.columnHeaderLevelCount).colHeaderPaths;let i,r;for(const t in this.dataset.collectValuesBy)if("xField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){i=this.dataset.collectedValues[t]?.[e.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)r=HI(i?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;r=(i?.length??0)*(t+t/3)}const o=tA(this._chartPadding??this._table.theme.bodyStyle.padding??0);return r+o[1]+o[3]}get leftAxesCount(){if(!this._table.isPivotChart())return 0;const t=this._table.pivotChartAxes.find((t=>"left"===t.orient));return!1===t?.visible?0:(this.indicatorsAsCol,1)}get topAxesCount(){if(!this._table.isPivotChart())return 0;const t=this._table.pivotChartAxes.find((t=>"top"===t.orient));return!1===t?.visible?0:this.indicatorsAsCol&&this.hasTwoIndicatorAxes?1:0}get rightAxesCount(){return this.rightFrozenColCount}get bottomAxesCount(){return this.bottomFrozenRowCount}getColKeysPath(t,e){const i=this.getCellHeaderPaths(t,e),r=[];return i.colHeaderPaths.length&&i.colHeaderPaths.forEach((t=>{t.dimensionKey&&r.push(t.value)})),r?.join(this.dataset.stringJoinChar)}getRowKeysPath(t,e){const i=this.getCellHeaderPaths(t,e),r=[];return i.rowHeaderPaths.length&&i.rowHeaderPaths.forEach((t=>{t.dimensionKey&&r.push(t.value)})),r?.join(this.dataset.stringJoinChar)}getIndicatorInfo(t,e=""){const i=this.indicatorsDefine?.find((i=>"string"!=typeof i&&(t?i.indicatorKey===t:!!e&&i.title===e)));return i}getLayoutColumnTree(){const t=[];return NH(t,this.columnDimensionTree.tree.children),t}getLayoutRowTree(){const t=[];return NH(t,this.rowDimensionTree.tree.children),t}getLayoutColumnTreeCount(){return GH(this.columnDimensionTree.tree.children,"tree"===this.rowHierarchyType)}getLayoutRowTreeCount(){let t=GH(this.rowDimensionTree.tree.children,"tree"===this.rowHierarchyType);return this.extensionRows?.forEach((e=>{if("function"!=typeof e.rowTree){const i=GH(e.rowTree,!0);t*=i}})),t}resetHeaderTree(){this.colIndex=0,this._rowHeaderCellFullPathIds_FULL=[],this._columnHeaderCellFullPathIds=[],this._columnHeaderCellIds=[];const t=this.dataset;this.rowTree=t.rowHeaderTree,this.columnTree=t.colHeaderTree;const e=this.rowDimensionTree.tree.children;this.rowTree?.forEach(((t,i)=>{const r=e.find((e=>e.dimensionKey===t.dimensionKey&&e.value===t.value));r&&this._table._syncHierarchyState(r,t)})),this.columnDimensionTree=new WH(this.columnTree??[],this.sharedVar,this.columnHierarchyType,"grid"!==this.columnHierarchyType?this.columnExpandLevel:void 0),this.rowDimensionTree=new WH(this.rowTree??[],this.sharedVar,this.rowHierarchyType,"grid"!==this.rowHierarchyType?this.rowExpandLevel:void 0),this.resetColumnHeaderLevelCount(),this._generateColHeaderIds(),this.colIndex=0,this._generateRowHeaderIds(),this._rowHeaderCellFullPathIds_FULL=Gw(this._rowHeaderCellFullPathIds_FULL),this._headerObjectMap=this._headerObjects.reduce(((t,e)=>(t[e.id]=e,t)),{}),this._CellHeaderPathMap=new Map,this._largeCellRangeCache.length=0,this.generateCellIdsConsiderHideHeader(),this.setPagination(this.pagination)}isSeriesNumberInHeader(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount&&e<this.headerLevelCount||this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e<this.headerLevelCount}isSeriesNumberInBody(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount&&e>=this.headerLevelCount||this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e>=this.headerLevelCount}isSeriesNumber(t,e){if(J(t)&&J(e)){if(this.leftRowSeriesNumberColumnCount>0&&t>=0&&e>=0&&t<this.leftRowSeriesNumberColumnCount)return!0;if(this.rightRowSeriesNumberColumnCount>0&&e>=0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount)return!0}return!1}getSeriesNumberHeader(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount&&e<this.headerLevelCount?Object.assign({},this.leftRowSeriesNumberColumn[t],{style:Object.assign({},this._table.internalProps.theme.cornerHeaderStyle,this._table.internalProps.rowSeriesNumber.headerStyle)}):this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e<this.headerLevelCount&&e<this.headerLevelCount?this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]:void 0}getSeriesNumberBody(t,e){return this.leftRowSeriesNumberColumnCount>0&&t>=0&&t<this.leftRowSeriesNumberColumnCount&&e>=this.headerLevelCount?this.leftRowSeriesNumberColumn[t]:this.rightRowSeriesNumberColumnCount>0&&t>=this.colCount-this.rightRowSeriesNumberColumnCount&&e>=this.headerLevelCount?this.rightRowSeriesNumberColumn[t-(this.colCount-this.rightRowSeriesNumberColumnCount)]:void 0}changeTreeNodeTitle(t,e,i){this.getHeadNode(t,e).value=i;const r=this.getCellId(t,e);this._headerObjectMap[r].title=i}changeCornerTitle(t,e,i){if(this.isCornerHeader(t,e)){const r=this.getCellId(t,e);this._headerObjectMap[r].title=i}}generateCellIdsConsiderHideHeader(){if(this._columnHeaderCellIds=this._columnHeaderCellFullPathIds.slice(),!this.showColumnHeader)if(this.indicatorsAsCol&&!this.hideIndicatorName){const t=this.colDimensionKeys.indexOf(Nv),e=this._columnHeaderCellIds.splice(t,1);this._columnHeaderCellIds.splice(0,this._columnHeaderCellIds.length),this._columnHeaderCellIds.push(e[0])}else this._columnHeaderCellIds.splice(0,this._columnHeaderCellIds.length);if(this._rowHeaderCellIds_FULL=this._rowHeaderCellFullPathIds_FULL.slice(),!this.showRowHeader)if(this.indicatorsAsCol||this.hideIndicatorName)this._rowHeaderCellIds_FULL.forEach(((t,e)=>{const i=t.slice();i.splice(0,i.length),this._rowHeaderCellIds_FULL[e]=i}));else{const t=this.rowDimensionKeys.indexOf(Nv);this._rowHeaderCellIds_FULL.forEach(((e,i)=>{const r=e.slice(),o=r.splice(t,1);r.splice(0,r.length),r.push(o[0]),this._rowHeaderCellIds_FULL[i]=r}))}if(this._rowHeaderCellIds=this._rowHeaderCellIds_FULL.slice(),this._cornerHeaderCellIds=this._cornerHeaderCellFullPathIds.slice(),0===this.rowHeaderLevelCount||0===this.columnHeaderLevelCount)this._cornerHeaderCellIds=[];else if("row"!==this.cornerSetting.titleOnDimension||this.showRowHeader){if("column"===this.cornerSetting.titleOnDimension&&!this.showColumnHeader)if(this.indicatorsAsCol&&!this.hideIndicatorName){const t=this.colDimensionKeys.indexOf(Nv),e=this._cornerHeaderCellIds.splice(t,1);this._cornerHeaderCellIds.splice(0,this._cornerHeaderCellIds.length),this._cornerHeaderCellIds.push(e[0])}else this._cornerHeaderCellIds.splice(0,this._cornerHeaderCellIds.length)}else if(this.indicatorsAsCol||this.hideIndicatorName)this._cornerHeaderCellIds.forEach(((t,e)=>{const i=t.slice();i.splice(0,i.length),this._cornerHeaderCellIds[e]=i}));else{const t=this.rowDimensionKeys.indexOf(Nv);this._cornerHeaderCellIds.forEach(((e,i)=>{const r=e.slice(),o=r.splice(t,1);r.splice(0,r.length),r.push(o[0]),this._cornerHeaderCellIds[i]=r}))}if("grid-tree"===this.rowHierarchyType&&"column"===this.cornerSetting.titleOnDimension)this._cornerHeaderCellIds[0].length<this._rowHeaderCellIds[0].length?this._cornerHeaderCellIds.forEach(((t,e)=>{const i=t.length;t.length=this._rowHeaderCellIds[0].length,t.fill(t[0],i)})):this._cornerHeaderCellIds[0].length>this._rowHeaderCellIds[0].length&&this._cornerHeaderCellIds.forEach(((t,e)=>{t.length=this._rowHeaderCellIds[0].length}));else if("grid-tree"===this.columnHierarchyType&&"row"===this.cornerSetting.titleOnDimension)if(this._cornerHeaderCellIds?.length<this._columnHeaderCellIds?.length){const t=this._cornerHeaderCellIds.length;this._cornerHeaderCellIds.length=this._columnHeaderCellIds.length,this._cornerHeaderCellIds.fill(this._cornerHeaderCellIds[0],t)}else this._cornerHeaderCellIds?.length>this._columnHeaderCellIds?.length&&(this._cornerHeaderCellIds.length=this._columnHeaderCellIds.length)}enableUseGetBodyCache(){this._useGetBodyCache=!0,this._getBodyCache.clear()}disableUseGetBodyCache(){this._useGetBodyCache=!1,this._getBodyCache.clear()}enableUseHeaderPathCache(){this._useHeaderPathCache=!0,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()}disableUseHeaderPathCache(){this._useHeaderPathCache=!1,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()}getBodyWidthCache(t,e){if(this._useGetBodyCache&&!this.isHeader(t,e)&&!this.isSeriesNumber(t,e))return this.indicatorsAsCol&&this._getBodyCache.has(t)?this._getBodyCache.get(t):!this.indicatorsAsCol&&this._getBodyCache.has(e)?this._getBodyCache.get(e):void 0}setBodyWidthCache(t,e,i){!this._useGetBodyCache||this.isHeader(t,e)||this.isSeriesNumber(t,e)||(this.indicatorsAsCol?this._getBodyCache.set(t,i):this._getBodyCache.set(e,i))}getColHeaderPathCache(t,e){if(this._useHeaderPathCache&&!this.isHeader(t,e)&&!this.isSeriesNumber(t,e)&&this._colHeaderPathCache.has(t))return this._colHeaderPathCache.get(t)}setColHeaderPathCache(t,e,i){!this._useHeaderPathCache||this.isHeader(t,e)||this.isSeriesNumber(t,e)||this._colHeaderPathCache.set(t,i)}getRowHeaderPathCache(t,e){if(this._useHeaderPathCache&&!this.isHeader(t,e)&&!this.isSeriesNumber(t,e)&&this._rowHeaderPathCache.has(e))return this._rowHeaderPathCache.get(e)}setRowHeaderPathCache(t,e,i){!this._useHeaderPathCache||this.isHeader(t,e)||this.isSeriesNumber(t,e)||this._rowHeaderPathCache.set(e,i)}}function HI(t,e,i,r){1===i&&(i=0);const o=function(t,e,i){let r;r=1===t?t+2*i:t-e+2*i;return t?r>0?r:1:0}(t,i,r),n=e/(1-i);return Math.ceil(o*n)}class kI{dataConfig;records;tree={};beforeChangedTree={};colFlatKeys={};rowFlatKeys={};stringJoinChar=String.fromCharCode(0);rowsIsTotal=[];colsIsTotal=[];colGrandTotalLabel;colSubTotalLabel;rowGrandTotalLabel;rowSubTotalLabel;constructor(t,e){this.dataConfig=t,e&&(this.records=e,"undefined"!=typeof window&&window.performance.now(),this.setRecords(e),"undefined"!=typeof window&&window.performance.now())}changeDataConfig(t){this.dataConfig=t}setRecords(t){this.processRecords()}processRecords(){for(let t=0,e=this.records.length;t<e;t++){const e=this.records[t];this.processRecord(e)}}processRecord(t){const e=[],i=[];for(let e=0,r=this.dataConfig.rows.length;e<r;e++){const r=this.dataConfig.rows[e];void 0!==t[r]&&r!==this.dataConfig.indicatorDimensionKey&&i.push(t[r])}for(let i=0,r=this.dataConfig.columns.length;i<r;i++){const r=this.dataConfig.columns[i];void 0!==t[r]&&r!==this.dataConfig.indicatorDimensionKey&&e.push(t[r])}this.dataConfig.indicators?.forEach((r=>{const o=t[r];void 0!==o&&(this.dataConfig.indicatorsAsCol?e.push(r):i.push(r));const n=i.join(this.stringJoinChar),s=e.join(this.stringJoinChar);0!==i.length&&(this.rowFlatKeys[n]||(this.rowFlatKeys[n]=1)),0!==e.length&&(this.colFlatKeys[s]||(this.colFlatKeys[s]=1)),0===e.length&&0===i.length||(this.tree[n]||(this.tree[n]={}),void 0!==o&&(this.tree[n][s]={value:o,record:t},this.dataConfig.indicatorsAsCol?e.pop():i.pop()))}))}getTreeNode(t=[],e=[],i,r=!0){let o,n;if("string"==typeof t)o=t;else{let e=!1;t.map(((r,o)=>{r===i&&(t.splice(o,1),e=!0)})),e&&t.push(i),o=t.join(this.stringJoinChar)}if("string"==typeof e)n=e;else{let t=!1;e.map(((r,o)=>{r===i&&(e.splice(o,1),t=!0)})),t&&e.push(i),n=e.join(this.stringJoinChar)}return r?this.tree?.[o]?.[n]??void 0:J(this.beforeChangedTree[o]?.[n])?{value:this.beforeChangedTree[o][n].value,record:this.beforeChangedTree[o][n].record}:void 0}changeTreeNodeValue(t=[],e=[],i,r){let o,n;if("string"==typeof t)o=t;else{let e=!1;t.map(((r,o)=>{r===i&&(t.splice(o,1),e=!0)})),e&&t.push(i),o=t.join(this.stringJoinChar)}if("string"==typeof e)n=e;else{let t=!1;e.map(((r,o)=>{r===i&&(e.splice(o,1),t=!0)})),t&&e.push(i),n=e.join(this.stringJoinChar)}const s=this.tree[o]?.[n]?.value,a=Object.assign({},this.tree[o]?.[n]?.record);this.tree[o]?.[n]?.record?(this.tree[o][n].record[i]=r,this.tree[o][n].value=r):(this.tree[o]||(this.tree[o]={}),this.tree[o][n]={record:this._buildRecord(t,e,i,r),value:r}),this.beforeChangedTree[o]?.[n]||(this.beforeChangedTree[o]={},this.beforeChangedTree[o][n]={record:void 0,value:void 0},this.beforeChangedTree[o][n].record=a,this.beforeChangedTree[o][n].value=s)}_buildRecord(t=[],e=[],i,r){const o={},n=this.dataConfig.rows,s=this.dataConfig.columns;return n.forEach(((e,i)=>{e!==this.dataConfig.indicatorDimensionKey&&(o[e]=t[i])})),s.forEach(((t,i)=>{t!==this.dataConfig.indicatorDimensionKey&&(o[t]=e[i])})),o[i]=r,this.records.push(o),o}addRecords(t){for(let e=0,i=t.length;e<i;e++){const i=t[e];this.processRecord(i)}this.records.push(t)}changeRecordFieldValue(t,e,i){let r=!1;for(let e=0;e<this.dataConfig.indicators.length;e++)this.dataConfig.indicators[e]===t&&(r=!0);if(!r){for(let r=0,o=this.records.length;r<o;r++){const o=this.records[r];o[t]===e&&(o[t]=i)}this.rowFlatKeys={},this.colFlatKeys={},this.tree={},this.processRecords()}}}function LI(t,e){let i="";for(let r=0;r<t.length;r++)i+=t[r],r!==t.length-1&&(i+=e);return i}class EI{dataConfig;records;filteredRecords;tree={};changedTree={};colFlatKeys={};rowFlatKeys={};colKeys=[];rowKeys=[];colKeys_normal=[];rowKeys_normal=[];rowOrder="key_a_to_z";colOrder="key_a_to_z";sorted=!1;sortRules;filterRules;aggregationRules;derivedFieldRules;mappingRules;calculatedFieldRules;calculatedFiledKeys;calculatedFieldDependIndicatorKeys;totals;indicatorStatistics=[];stringJoinChar=String.fromCharCode(0);rowsIsTotal=[];colsIsTotal=[];colGrandTotalLabel;colSubTotalLabel;rowGrandTotalLabel;rowSubTotalLabel;needSplitPositiveAndNegative;collectValuesBy;collectedValues={};cacheCollectedValues={};rows;rowsHasValue;columns;columnsHasValue;indicatorKeys;indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;customRowTree;customColTree;customRowTreeDimensionPaths;customColTreeDimensionPaths;colHeaderTree;rowHeaderTree;rowHierarchyType;columnHierarchyType;indicators;indicatorsAsCol;totalRecordsTree={};hasExtensionRowTree;parseCustomTreeToMatchRecords;constructor(t,e,i,r,o,n,s,a,l,h,c,d,u,g){this.registerAggregators(),this.dataConfig=t,this.filterRules=this.dataConfig?.filterRules,this.rowHierarchyType=a??"grid",this.columnHierarchyType=l??"grid",this.sortRules=this.dataConfig?.sortRules,this.aggregationRules=this.dataConfig?.aggregationRules,this.derivedFieldRules=this.dataConfig?.derivedFieldRules,this.mappingRules=this.dataConfig?.mappingRules,this.calculatedFieldRules=this.dataConfig?.calculatedFieldRules,this.calculatedFiledKeys=this.calculatedFieldRules?.map((t=>t.key))??[],this.calculatedFieldDependIndicatorKeys=this.calculatedFieldRules?.reduce(((t,e)=>{for(let i=0;i<e.dependIndicatorKeys.length;i++)-1===t.indexOf(e.dependIndicatorKeys[i])&&t.push(e.dependIndicatorKeys[i]);return t}),[])??[],this.totals=this.dataConfig?.totals,this.rows=e,this.columns=i,this.indicatorKeys=r,this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys=[...r];for(let t=0;t<this.calculatedFieldDependIndicatorKeys.length;t++)-1===this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys.indexOf(this.calculatedFieldDependIndicatorKeys[t])&&this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys.push(this.calculatedFieldDependIndicatorKeys[t]);if(this.indicatorsAsCol=n,this.indicators=o,this.customColTree=h,this.customRowTree=c,this.hasExtensionRowTree=u,this.parseCustomTreeToMatchRecords=g,this.parseCustomTreeToMatchRecords&&(this.customColTreeDimensionPaths=this.customTreeToDimensionPathArr(this.customColTree,"col"),this.hasExtensionRowTree||(this.customRowTreeDimensionPaths=this.customTreeToDimensionPathArr(this.customRowTree,"row"))),this.colGrandTotalLabel=this.totals?.column?.grandTotalLabel??"总计",this.colSubTotalLabel=this.totals?.column?.subTotalLabel??"小计",this.rowGrandTotalLabel=this.totals?.row?.grandTotalLabel??"总计",this.rowSubTotalLabel=this.totals?.row?.subTotalLabel??"小计",this.collectValuesBy=this.dataConfig?.collectValuesBy,this.needSplitPositiveAndNegative=d??!1,this.rowsIsTotal=new Array(this.rows?.length??0).fill(!1),this.colsIsTotal=new Array(this.columns?.length??0).fill(!1),this.totals?.row&&!1!==this.totals.row.showSubTotals&&this.totals.row.subTotalsDimensions)for(let t=0,e=this.totals?.row?.subTotalsDimensions?.length??0;t<e;t++){const e=this.totals.row.subTotalsDimensions[t],i=this.rows.indexOf(e);this.rowsIsTotal[i]=!0}if(this.totals?.column&&!1!==this.totals.column.showSubTotals&&this.totals.column.subTotalsDimensions)for(let t=0,e=this.totals?.column?.subTotalsDimensions?.length??0;t<e;t++){const e=this.totals.column.subTotalsDimensions[t],i=this.columns.indexOf(e);this.colsIsTotal[i]=!0}this.setRecords(s)}setRecords(t){this.records=t,this.collectedValues={},this.cacheCollectedValues={},this.totalRecordsTree={},this.tree={},this.colFlatKeys={},this.rowFlatKeys={},this.colKeys=[],this.rowKeys=[],this.rowsHasValue=[],this.columnsHasValue=[],this.sorted=!1,t&&(this.records=t,"undefined"!=typeof window&&window.performance.now(),this.processRecords(),this.processCollectedValuesWithSumBy(),this.generateCollectedValuesSortRule(),this.processCollectedValuesWithSortBy(),"undefined"!=typeof window&&window.performance.now(),"undefined"!=typeof window&&window.performance.now(),this.totalStatistics(),"undefined"!=typeof window&&window.performance.now(),this.rowKeys_normal=this.rowKeys.slice(),this.colKeys_normal=this.colKeys.slice(),"undefined"!=typeof window&&window.performance.now(),this.sortKeys(),"undefined"!=typeof window&&window.performance.now(),"undefined"!=typeof window&&window.performance.now(),this.customRowTree?this.rowHeaderTree=this.customRowTree:"tree"===this.rowHierarchyType?this.rowHeaderTree=this.ArrToTree1(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.totals?.row?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1):this.rowHeaderTree=this.ArrToTree(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.rowsIsTotal,this.totals?.row?.showGrandTotals||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.rowSubTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1,this.totals?.row?.showSubTotalsOnTop??!1),this.customColTree?this.colHeaderTree=this.customColTree:this.colHeaderTree=this.ArrToTree(this.colKeys,this.columns.filter(((t,e)=>this.columnsHasValue[e])),this.indicatorsAsCol?this.indicators:void 0,this.colsIsTotal,this.totals?.column?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length,this.colGrandTotalLabel,this.colSubTotalLabel,this.totals?.column?.showGrandTotalsOnLeft??!1,this.totals?.column?.showSubTotalsOnLeft??!1),"undefined"!=typeof window&&window.performance.now(),this.dataConfig?.isPivotChart&&this.cacheDeminsionCollectedValues())}registerAggregator(t,e){ew[t]=e}registerAggregators(){this.registerAggregator(XC.RECORD,rw),this.registerAggregator(XC.SUM,aw),this.registerAggregator(XC.COUNT,lw),this.registerAggregator(XC.MAX,cw),this.registerAggregator(XC.MIN,dw),this.registerAggregator(XC.AVG,hw),this.registerAggregator(XC.NONE,ow),this.registerAggregator(XC.RECALCULATE,sw),this.registerAggregator(XC.CUSTOM,nw)}processCollectedValuesWithSumBy(){for(const t in this.collectedValues)if(this.collectValuesBy?.[t]?.sumBy)for(const e in this.collectedValues[t]){let i;"sum"===this.collectValuesBy[t]?.extendRange?(i=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>t+e.value()),0),i+=Math.round(i/20)):(i=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.value()>t?e.value():t),Number.MIN_SAFE_INTEGER),"max"===this.collectValuesBy[t]?.extendRange?i+=Math.round(i/20):"number"==typeof this.collectValuesBy[t]?.extendRange&&(i=Math.max(i,this.collectValuesBy[t]?.extendRange)));const r=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.value()<t?e.value():t),Number.MAX_SAFE_INTEGER);let o,n;this.needSplitPositiveAndNegative&&(o=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.positiveValue()>t?e.positiveValue():t),Number.MIN_SAFE_INTEGER),n=Object.values(this.collectedValues[t][e]).reduce(((t,e)=>e.negativeValue()<t?e.negativeValue():t),Number.MAX_SAFE_INTEGER)),this.collectedValues[t][e]={},this.collectedValues[t][e].max=i,this.collectedValues[t][e].min=r,this.needSplitPositiveAndNegative&&(this.collectedValues[t][e].positiveMax=o,this.collectedValues[t][e].negativeMin=n)}}processCollectedValuesWithSortBy(){const t=this;for(const e in this.collectedValues)if(this.collectValuesBy?.[e]?.sortBy)for(const i in this.collectedValues[e])this.collectedValues[e][i]=this.collectedValues[e][i].sort(((i,r)=>(t.collectValuesBy[e].sortBy?.indexOf(i)??-1)-(t.collectValuesBy[e].sortBy?.indexOf(r)??-1)))}generateCollectedValuesSortRule(){for(const t in this.collectedValues)if(this.collectValuesBy&&this.collectValuesBy[t]&&!this.collectValuesBy[t].sortBy){let e=[];for(const i in this.collectedValues[t])Array.isArray(this.collectedValues[t][i])&&(e.push(...this.collectedValues[t][i]),e=Array.from(new Set(e)));e.length>0&&(this.collectValuesBy[t].sortBy=e)}}processRecords(){let t=!1;if((this.filterRules?.length??0)>=1&&(t=!0),Array.isArray(this.records)){this.filteredRecords||(this.filteredRecords=[]);for(let e=0,i=this.records.length;e<i;e++){const i=this.records[e];t&&!this.filterRecord(i)||(this.filteredRecords.push(i),this.processRecord(i))}}else{this.filteredRecords||(this.filteredRecords={});for(const e in this.records)for(let i=0,r=this.records[e].length;i<r;i++){const r=this.records[e][i];t&&!this.filterRecord(r)||(this.filteredRecords[e]||(this.filteredRecords[e]=[]),this.filteredRecords[e].push(r),this.processRecord(r,e))}}this.rowFlatKeys={},this.colFlatKeys={}}filterRecord(t){let e=!0;if(this.filterRules)for(let i=0;i<this.filterRules.length;i++){const r=this.filterRules[i];if(r.filterKey){const i=t[r.filterKey];if(-1===r.filteredValues?.indexOf(i)){e=!1;break}}else if(!r.filterFunc?.(t)){e=!1;break}}return e}processRecord(t,e){this.derivedFieldRules?.forEach(((e,i)=>{e.fieldName&&e.derivedFunc&&(t[e.fieldName]=e.derivedFunc(t))}));for(const e in this.collectValuesBy)if(J(t[e])){this.collectedValues[e]||(this.collectedValues[e]={});const i=this.collectValuesBy[e].by.map((e=>t[e])).join(this.stringJoinChar);if(this.collectedValues[e][i]||(this.collectValuesBy[e].sumBy?this.collectedValues[e][i]={}:this.collectValuesBy[e].range?this.collectedValues[e][i]={min:Number.MAX_SAFE_INTEGER,max:Number.MIN_SAFE_INTEGER}:this.collectedValues[e][i]=[]),this.collectValuesBy[e].sumBy){const r=this.collectValuesBy[e].sumBy?.map((e=>t[e])).join(this.stringJoinChar);this.collectedValues[e][i][r]||(this.collectedValues[e][i][r]=new ew[XC.SUM]({key:e,field:e,isRecord:void 0,needSplitPositiveAndNegative:this.needSplitPositiveAndNegative})),this.collectedValues[e][i][r].push(t)}else if(this.collectValuesBy[e].range){const r=this.collectedValues[e][i],o=Math.max(t[e],r.max),n=Math.min(t[e],r.min);isNaN(o)||(r.max=o,r.min=n)}else{const r=this.collectedValues[e][i];-1===r.indexOf(t[e])&&r.push(t[e])}}let i=!1;const r=[],o=[];if(!this.parseCustomTreeToMatchRecords||this.dataConfig?.isPivotChart||!this.customRowTree?.length||e||this.hasExtensionRowTree){const r=[];o.push({rowKey:r,indicatorKey:e});for(let e=0,o=this.rows.length;e<o;e++){const o=this.rows[e];if(o in t)this.rowsHasValue[e]=!0,r.push(t[o]);else if(o!==Nv){if(this.dataConfig?.totals?.row?.showGrandTotals&&0===e&&!this.rows.find((e=>e in t))){r.push(this.rowGrandTotalLabel),i=!0;break}if(this.dataConfig?.totals?.row?.subTotalsDimensions&&this.dataConfig?.totals?.row?.subTotalsDimensions.indexOf(this.rows[e-1])>=0){"tree"!==this.rowHierarchyType&&r.push(this.rowSubTotalLabel),i=!0;break}}}}else{const e=this.getFieldMatchRowDimensionPaths(t);if(e.length>0)for(let t=0,i=e.length;t<i;t++){const i=e[t],r=[];let n;for(let t=0,e=i.length;t<e;t++)J(i[t].indicatorKey)?n=i[t].indicatorKey:r.push(i[t].value);o.push({rowKey:r,indicatorKey:n})}}if(!this.parseCustomTreeToMatchRecords||this.dataConfig?.isPivotChart||!this.customColTree?.length||e||this.hasExtensionRowTree){const o=[];r.push({colKey:o,indicatorKey:e});for(let e=0,r=this.columns.length;e<r;e++){const r=this.columns[e];if(r in t)this.columnsHasValue[e]=!0,o.push(t[r]);else if(r!==Nv){if(this.dataConfig?.totals?.column?.showGrandTotals&&0===e&&!this.columns.find((e=>e in t))){o.push(this.colGrandTotalLabel),i=!0;break}if(this.dataConfig?.totals?.column?.subTotalsDimensions&&this.dataConfig?.totals?.column?.subTotalsDimensions.indexOf(this.columns[e-1])>=0){o.push(this.colSubTotalLabel),i=!0;break}}}}else{const e=this.getFieldMatchColDimensionPaths(t);if(e.length>0)for(let t=0,i=e.length;t<i;t++){const i=e[t],o=[];let n;for(let t=0,e=i.length;t<e;t++)J(i[t].indicatorKey)?n=i[t].indicatorKey:o.push(i[t].value);r.push({colKey:o,indicatorKey:n})}}for(let n=0;n<o.length;n++){const s=o[n].rowKey;let a;this.indicatorsAsCol||(a=o[n].indicatorKey);for(let o=0;o<r.length;o++){const n=r[o].colKey;this.indicatorsAsCol&&(a=r[o].indicatorKey);const l=s.join(this.stringJoinChar),h=n.join(this.stringJoinChar);if(i){this.totalRecordsTree[l]||(this.totalRecordsTree[l]={}),this.totalRecordsTree[l][h]||(this.totalRecordsTree[l][h]=[]);const e=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let i=0;i<e.length;i++)if(this.calculatedFiledKeys.indexOf(e[i])>=0){const r=this.calculatedFieldRules?.find((t=>t.key===e[i]));this.totalRecordsTree[l]?.[h]?.[i]||(this.totalRecordsTree[l][h][i]=new ew[XC.RECALCULATE]({key:e[i],field:e[i],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===e[i]))?.format,calculateFun:r?.calculateFun,dependAggregators:this.totalRecordsTree[l][h],dependIndicatorKeys:r?.dependIndicatorKeys})),e[i]in t&&this.totalRecordsTree[l]?.[h]?.[i].push(t)}else{const r=this.getAggregatorRule(e[i]);this.totalRecordsTree[l]?.[h]?.[i]||(this.totalRecordsTree[l][h][i]=new ew[r?.aggregationType??XC.SUM]({key:e[i],field:r?.field??e[i],aggregationFun:r?.aggregationFun,formatFun:r?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===e[i]))?.format})),e[i]in t&&this.totalRecordsTree[l]?.[h]?.[i].push(t)}return}0!==s.length&&(this.rowFlatKeys[l]||(this.rowKeys.push(s),this.rowFlatKeys[l]=1)),0!==n.length&&(this.colFlatKeys[h]||(this.colKeys.push(n),this.colFlatKeys[h]=1)),this.tree[l]||(this.tree[l]={}),this.tree[l]?.[h]||(this.tree[l][h]=[]);const c=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let i=0;i<c.length;i++)if(this.calculatedFiledKeys.indexOf(c[i])>=0){const e=this.calculatedFieldRules?.find((t=>t.key===c[i]));this.tree[l]?.[h]?.[i]||(this.tree[l][h][i]=new ew[XC.RECALCULATE]({key:c[i],field:c[i],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===c[i]))?.format,calculateFun:e?.calculateFun,dependAggregators:this.tree[l][h],dependIndicatorKeys:e?.dependIndicatorKeys})),this.tree[l]?.[h]?.[i].push(t)}else{const r=this.getAggregatorRule(c[i]);let o=!1;if(a)e===a?c[i]===a&&(o=!0):c[i]===a&&c[i]in t&&(o=!0);else if(r?.field)if("string"==typeof r?.field)r?.field in t&&(o=!0);else{const e=r?.field.find((e=>e in t));e&&(o=!0)}else c[i]in t&&(o=!0);!this.tree[l]?.[h]?.[i]&&o&&(this.tree[l][h][i]=new ew[r?.aggregationType??XC.SUM]({key:c[i],field:r?.field??c[i],aggregationFun:r?.aggregationFun,formatFun:r?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===c[i]))?.format})),o&&this.tree[l]?.[h]?.[i].push(t)}if(this.mappingRules)for(let e=0;e<this.indicatorKeys.length;e++){if(!this.indicatorStatistics[e]){const t=this.getAggregatorRule(this.indicatorKeys[e]);this.indicatorStatistics[e]={max:new ew[XC.MAX]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),min:new ew[XC.MIN]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),total:new ew[t?.aggregationType??XC.SUM]({key:this.indicatorKeys[e],field:t?.field??this.indicatorKeys[e],aggregationFun:t?.aggregationFun,formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===this.indicatorKeys[e]))?.format})}}this.indicatorStatistics[e].max.push(this.tree[l]?.[h]?.[e].value()),this.indicatorStatistics[e].min.push(this.tree[l]?.[h]?.[e].value()),this.indicatorStatistics[e].total.push(t)}}}}updateSortRules(t){this.sorted=!1,this.sortRules=t,this.sortKeys(),this.customRowTree||("tree"===this.rowHierarchyType?this.rowHeaderTree=this.ArrToTree1(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.totals?.row?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1):this.rowHeaderTree=this.ArrToTree(this.rowKeys,this.rows.filter(((t,e)=>this.rowsHasValue[e])),this.indicatorsAsCol?void 0:this.indicators,this.rowsIsTotal,this.totals?.row?.showGrandTotals||this.indicatorsAsCol&&0===this.rows.length,this.rowGrandTotalLabel,this.rowSubTotalLabel,this.totals?.row?.showGrandTotalsOnTop??!1,this.totals?.row?.showSubTotalsOnTop??!1)),this.customColTree||(this.colHeaderTree=this.ArrToTree(this.colKeys,this.columns.filter(((t,e)=>this.columnsHasValue[e])),this.indicatorsAsCol?this.indicators:void 0,this.colsIsTotal,this.totals?.column?.showGrandTotals||!this.indicatorsAsCol&&0===this.columns.length,this.colGrandTotalLabel,this.colSubTotalLabel,this.totals?.column?.showGrandTotalsOnLeft??!1,this.totals?.column?.showSubTotalsOnLeft??!1))}updateFilterRules(t,e=!1){if(this.filterRules=t,this.filteredRecords=void 0,e)this.tree={};else for(const t in this.tree)for(const e in this.tree[t])for(let i=0;i<this.tree[t][e].length;i++)this.tree[t][e][i]?.reset();this.collectedValues={},this.processRecords(),this.processCollectedValuesWithSumBy(),this.processCollectedValuesWithSortBy(),this.totalStatistics(),this.dataConfig?.isPivotChart&&this.cacheDeminsionCollectedValues()}getAggregatorRule(t){return this.aggregationRules?.find(((e,i)=>t===e.indicatorKey))}getAggregator(t=[],e=[],i,r=!0,o){const n=this.indicatorKeys.indexOf(i);let s,a;"string"==typeof t?s=t:(o&&"row"!==o.position||t.map(((e,r)=>{e!==i||J(o?.index)&&r!==o.index||t.splice(r,1)})),t.length<this.rows.length&&"grid-tree"===this.rowHierarchyType&&(t[0]===this.rowGrandTotalLabel||this.totals?.row?.subTotalsDimensions&&this.totals?.row?.subTotalsDimensions?.length>=1&&t[t.length-1]!==this.rowSubTotalLabel&&t.push(this.rowSubTotalLabel)),s=LI(t,this.stringJoinChar)),"string"==typeof e?a=e:(o&&"col"!==o.position||e.map(((t,r)=>{t!==i||J(o?.index)&&r!==o.index||e.splice(r,1)})),e.length<this.columns.length&&"grid-tree"===this.columnHierarchyType&&(e[0]===this.colGrandTotalLabel||this.totals?.column?.subTotalsDimensions&&this.totals?.column?.subTotalsDimensions?.length>=1&&e[e.length-1]!==this.colSubTotalLabel&&e.push(this.colSubTotalLabel)),a=LI(e,this.stringJoinChar));const l=this.tree[s]?.[a]?.[n];if(r&&J(this.changedTree[s]?.[a]?.[n])){const t=this.changedTree[s][a][n];return l?{value:()=>t,formatValue:l.formatValue,formatFun:l.formatFun,records:l.records,recalculate(){},push(){},deleteRecord(){},updateRecord(){},clearCacheValue(){},reset(){}}:{records:[],value:()=>t,push(){},deleteRecord(){},updateRecord(){},recalculate(){},formatValue:()=>t,clearCacheValue(){},reset(){}}}return l||{records:[],push(){},deleteRecord(){},updateRecord(){},recalculate(){},value:()=>null,clearCacheValue(){},reset(){}}}sortKeys(){if(this.colKeys=this.colKeys_normal.slice(),this.rowKeys=this.rowKeys_normal.slice(),!this.sorted){this.sorted=!0,this.rowKeys.sort(this.arrSort(this.rows,!0));const t=this.arrSort(this.columns,!1);this.colKeys.sort(t)}}arrSort(t,e){let i;const r=this,o=function(o){const n=[];for(let o=0,s=t.length;o<s;o++)if(i=t[o],r.sortRules)for(let t=0,s=r.sortRules.length;t<s;t++)r.sortRules[t].sortField===i&&n.push({field:i,fieldIndex:o,sortRule:r.sortRules[t],func:r.getSort(r.sortRules[t],e)});return n}.call(this);return function(i,n){let s,a;for(let l=0;l<o.length;l++){if(a=o[l],a.sortRule?.sortByIndicator){let o=i,l=n;a.fieldIndex<t.length-1&&(o=i.slice(0,a.fieldIndex+1),"grid"===r.rowHierarchyType&&e?o.push(r.rowSubTotalLabel):e||o.push(r.colSubTotalLabel),l=n.slice(0,a.fieldIndex+1),"grid"===r.rowHierarchyType&&e?l.push(r.rowSubTotalLabel):e||l.push(r.colSubTotalLabel)),s=a.func(o,l,a.sortRule?.sortType)}else s=a.func?.(i[a.fieldIndex],n[a.fieldIndex],a.sortRule?.sortType);if(0!==s)return s}return 0}}getSort(t,e){const i=this;return t.sortByIndicator?(r,o,n)=>{const s=function(e,r){return"grid"===i.rowHierarchyType&&e.length<i.rows.length&&e[e.length-1]!==i.rowSubTotalLabel&&e[e.length-1]!==i.rowGrandTotalLabel&&e.push(i.rowSubTotalLabel),r.length<i.columns.length&&r[r.length-1]!==i.colSubTotalLabel&&r[r.length-1]!==i.colGrandTotalLabel&&r.push(i.colSubTotalLabel),i.getAggregator(e,r,t.sortByIndicator).value()};return e?t.sortFunc?t.sortFunc(s(r,t.query),s(o,t.query),r,o,n):gw(s(r,t.query),s(o,t.query),n):t.sortFunc?t.sortFunc(s(t.query,r),s(t.query,o),r,o,n):gw(s(t.query,r),s(t.query,o),n)}:t.sortBy?pw(t.sortBy):t.sortFunc?t.sortFunc:t.sortType?uw:gw}totalStatistics(){const t=this,e=(e,i)=>{if(this.totalRecordsTree?.[e]?.[i])return this.tree[e]||(this.tree[e]={}),void(this.tree[e][i]=this.totalRecordsTree?.[e]?.[i]);const r=i.split(this.stringJoinChar);if(t.totals?.column?.subTotalsDimensions&&t.totals?.column?.subTotalsDimensions?.length>0&&!1!==t.totals.column.showSubTotals)for(let o=0,n=t.totals?.column?.subTotalsDimensions?.length;o<n;o++){const n=t.totals.column.subTotalsDimensions[o],s=t.columns.indexOf(n);if(s>=0){const o=r.slice(0,s+1);o.push(t.colSubTotalLabel);const n=o.join(this.stringJoinChar);if(this.totalRecordsTree?.[e]?.[n])return void(this.tree[e][n]=this.totalRecordsTree?.[e]?.[n]);this.tree[e][n]||(this.tree[e][n]=[]);const a=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let r=0;r<a.length;r++)if(this.calculatedFiledKeys.indexOf(a[r])>=0){const o=this.calculatedFieldRules?.find((t=>t.key===a[r]));this.tree[e]?.[n]?.[r]||(this.tree[e][n][r]=new ew[XC.RECALCULATE]({key:a[r],field:a[r],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===a[r]))?.format,calculateFun:o?.calculateFun,dependAggregators:this.tree[e][n],dependIndicatorKeys:o?.dependIndicatorKeys})),n!==i&&this.tree[e][n][r].push(t.tree[e]?.[i]?.[r])}else{if(!this.tree[e][n][r]){const t=this.getAggregatorRule(a[r]);this.tree[e][n][r]=new ew[t?.aggregationType??XC.SUM]({key:a[r],field:t?.field??a[r],aggregationFun:t?.aggregationFun,formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===a[r]))?.format})}n!==i&&this.tree[e][n][r].push(t.tree[e]?.[i]?.[r])}}}if(t.totals?.column?.showGrandTotals||0===this.rows.length){const r=t.colGrandTotalLabel;if(this.totalRecordsTree?.[e]?.[r])return void(this.tree[e][r]=this.totalRecordsTree?.[e]?.[r]);this.tree[e][r]||(this.tree[e][r]=[]);const o=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let n=0;n<o.length;n++)if(this.calculatedFiledKeys.indexOf(o[n])>=0){const s=this.calculatedFieldRules?.find((t=>t.key===o[n]));this.tree[e]?.[r]?.[n]||(this.tree[e][r][n]=new ew[XC.RECALCULATE]({key:o[n],field:o[n],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[n]))?.format,calculateFun:s?.calculateFun,dependAggregators:this.tree[e][r],dependIndicatorKeys:s?.dependIndicatorKeys})),r!==i&&this.tree[e][r][n].push(t.tree[e]?.[i]?.[n])}else{if(!this.tree[e][r][n]){const t=this.getAggregatorRule(o[n]);this.tree[e][r][n]=new ew[t?.aggregationType??XC.SUM]({key:o[n],field:t?.field??o[n],formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[n]))?.format})}r!==i&&this.tree[e][r][n].push(t.tree[e]?.[i]?.[n])}}};if(t?.totals?.column?.subTotalsDimensions&&t?.totals?.column?.subTotalsDimensions?.length>=1||t?.totals?.row?.subTotalsDimensions&&t?.totals?.row?.subTotalsDimensions?.length>=1||t?.totals?.column?.showGrandTotals||t?.totals?.row?.showGrandTotals){const i=[];Object.keys(t.tree).forEach((r=>{const o=r.split(this.stringJoinChar);Object.keys(t.tree[r]).forEach((n=>{if(t.totals?.row?.subTotalsDimensions&&t.totals?.row?.subTotalsDimensions?.length>0&&!1!==t.totals.row.showSubTotals)for(let e=0,s=t.totals?.row?.subTotalsDimensions?.length;e<s;e++){const s=t.totals.row.subTotalsDimensions[e],a=t.rows.indexOf(s);if(a>=0&&a<t.rows.length-1){const e=o.slice(0,a+1);"tree"!==this.rowHierarchyType&&e.push(t.rowSubTotalLabel);const s=e.join(this.stringJoinChar);this.tree[s]||(this.tree[s]={},i.push(s)),this.tree[s][n]||(this.tree[s][n]=[]);const l=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let e=0;e<l.length;e++){if(!this.tree[s][n][e])if(this.calculatedFiledKeys.indexOf(l[e])>=0){const t=this.calculatedFieldRules?.find((t=>t.key===l[e]));this.tree[s][n][e]=new ew[XC.RECALCULATE]({key:l[e],field:l[e],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===l[e]))?.format,calculateFun:t?.calculateFun,dependAggregators:this.tree[s][n],dependIndicatorKeys:t?.dependIndicatorKeys})}else{const t=this.getAggregatorRule(l[e]);this.tree[s][n][e]=new ew[t?.aggregationType??XC.SUM]({key:l[e],field:t?.field??l[e],formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===l[e]))?.format})}s!==r&&this.tree[s][n][e].push(t.tree[r]?.[n]?.[e])}}}if(t.totals?.row?.showGrandTotals||0===this.columns.length){const e=t.rowGrandTotalLabel;this.tree[e]||(this.tree[e]={},i.push(e)),this.tree[e][n]||(this.tree[e][n]=[]);const o=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys;for(let i=0;i<o.length;i++){if(!this.tree[e][n][i])if(this.calculatedFiledKeys.indexOf(o[i])>=0){const t=this.calculatedFieldRules?.find((t=>t.key===o[i]));this.tree[e][n][i]=new ew[XC.RECALCULATE]({key:o[i],field:o[i],isRecord:!0,formatFun:this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[i]))?.format,calculateFun:t?.calculateFun,dependAggregators:this.tree[e][n],dependIndicatorKeys:t?.dependIndicatorKeys})}else{const t=this.getAggregatorRule(o[i]);this.tree[e][n][i]=new ew[t?.aggregationType??XC.SUM]({key:o[i],field:t?.field??o[i],formatFun:t?.formatFun??this.indicators?.find((t=>"string"!=typeof t&&t.indicatorKey===o[i]))?.format})}e!==r&&this.tree[e][n][i].push(t.tree[r]?.[n]?.[i])}}e(r,n)}))})),i.forEach((i=>{Object.keys(t.tree[i]).forEach((t=>{e(i,t)}))}))}for(const i in t.totalRecordsTree)for(const r in t.totalRecordsTree[i])e(i,r)}ArrToTree1(t,e,i,r,o,n){const s=[],a=this.stringJoinChar,l=new Map;function h(t,r){const o=[];let h;t.forEach(((c,d)=>{o.push(c);const u=o.join(a);let g=l.get(u);g||(g={value:c,dimensionKey:e[d],children:d===t.length-1&&(i?.length??0)>=1?i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title})):[]},l.set(u,g),h?h.children.push(g):n&&r?s.unshift(g):s.push(g)),h=g}))}return t.forEach((t=>h(t,!1))),r&&h([o],r),s}ArrToTree(t,e,i,r,o,n,s,a,l){let h=[];const c=this.stringJoinChar,d=new Map;if(t?.length?t.forEach((t=>function(t){const o=[];let n;t.forEach(((a,u)=>{o.push(a);const g=o.join(c);let p=d.get(g);if(!p){if(p={value:a,dimensionKey:e[u],children:u===t.length-1&&(i?.length??0)>=1?i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title})):[]},r[u]){let t=p.children??[];const o={value:s,dimensionKey:e[u+1],levelSpan:r.length-u-1,children:(i?.length??0)>=1?i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title})):[]};t.push(o),t=o.children??[]}d.set(g,p),n?r[u-1]&&!l?n.children.splice(n.children.length-1,0,p):n.children.push(p):h.push(p)}n=p}))}(t))):i&&(h=i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title??t.indicatorKey}))),o&&t?.length){const t={value:n,dimensionKey:e[0],levelSpan:r.length,children:i?.map((t=>"string"==typeof t?{indicatorKey:t,value:t}:{indicatorKey:t.indicatorKey,value:t.title}))??[]};a?h.unshift(t):h.push(t)}return h}cacheDeminsionCollectedValues(){for(const t in this.collectValuesBy)"xField"!==this.collectValuesBy[t].type&&"yField"!==this.collectValuesBy[t].type||(this.dataConfig.dimensionSortArray?this.cacheCollectedValues[t]=FI(this.collectedValues[t],this.dataConfig.dimensionSortArray):this.cacheCollectedValues[t]=this.collectedValues[t])}changeTreeNodeValue(t=[],e=[],i,r){const o=this.indicatorKeys.indexOf(i);let n,s;n="string"==typeof t?t:t.join(this.stringJoinChar),s="string"==typeof e?e:e.join(this.stringJoinChar),this.changedTree[n]?.[s]?this.changedTree[n][s][o]=r:this.changedTree[n]?(this.changedTree[n][s]=[],this.changedTree[n][s][o]=r):(this.changedTree[n]={},this.changedTree[n][s]=[],this.changedTree[n][s][o]=r);const a=this.tree[n]?.[s]?.[o];1===a?.records.length&&(a.records[0][this.indicatorKeys[o]]=r)}changeRecordFieldValue(t,e,i){let r=!1;for(let e=0;e<this.indicatorKeys.length;e++)this.indicatorKeys[e]===t&&(r=!0);if(!r){if(Array.isArray(this.records))for(let r=0,o=this.records.length;r<o;r++){const o=this.records[r];o[t]===e&&(o[t]=i)}else for(const r in this.records)for(let o=0,n=this.records[r].length;o<n;o++){const n=this.records[r][o];n[t]===e&&(n[t]=i)}this.rowFlatKeys={},this.colFlatKeys={},this.tree={},this.processRecords()}}_rowTreeHasChanged(){this.hasExtensionRowTree||(this.customRowTreeDimensionPaths=this.customTreeToDimensionPathArr(this.customRowTree,"row"))}changeDataConfig(t){this.rows=t.rows,this.columns=t.columns}addRecords(t){for(let e=0,i=t.length;e<i;e++){const i=t[e];this.processRecord(i)}Array.isArray(this.records)&&this.records.push(t)}customTreeToDimensionPathArr(t,e){const i=[],r=this;function o(t,n){t.virtual||(n[n.length-1]?.childKeys&&t.dimensionKey&&-1===n[n.length-1].childKeys.indexOf(t.dimensionKey)&&t.dimensionKey!==n[n.length-1].dimensionKey&&n[n.length-1].childKeys.push(t.dimensionKey),n.push({dimensionKey:J(t.indicatorKey)?void 0:t.dimensionKey,value:t.value,indicatorKey:t.indicatorKey,virtual:t.virtual})),t.children?.length>0?("tree"===r.rowHierarchyType&&"row"===e&&(n[n.length-1].childKeys=[],i.push([...n])),t.children?.forEach((t=>o(t,[...n])))):i.push(n)}return t?.forEach((t=>o(t,[]))),i}getFieldMatchColDimensionPaths(t){const e=[];for(let i=0;i<this.customColTreeDimensionPaths?.length;i++){const r=this.customColTreeDimensionPaths[i];let o=!0;for(let e=0;e<r.length;e++){const i=r[e];if(i.dimensionKey&&t[i.dimensionKey]!==i.value||i.indicatorKey&&void 0===t[i.indicatorKey]){o=!1;break}}o&&e.push(r)}return e}getFieldMatchRowDimensionPaths(t){const e=[];for(let i=0;i<this.customRowTreeDimensionPaths?.length;i++){const r=this.customRowTreeDimensionPaths[i];let o=!0;for(let e=0;e<r.length;e++){const i=r[e];if(i.dimensionKey&&t[i.dimensionKey]!==i.value||i.indicatorKey&&void 0===t[i.indicatorKey]){o=!1;break}if(i.childKeys&&e===r.length-1&&i.childKeys.length>0&&i.childKeys.find((e=>J(t[e])))){o=!1;break}}o&&(this.indicatorsAsCol||"tree"!==this.rowHierarchyType||r.find((t=>t.indicatorKey))||(o=!1)),o&&e.push(r)}return e}}function FI(t,e){return t.sort(((t,i)=>{const r=e.indexOf(t),o=e.indexOf(i);return r<o?-1:r>o?1:0}))}class II extends Hk{layoutNodeId={seqId:0};pivotSortState;dataset;flatDataToObjects;constructor(t,e){if("node"===Ew.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),super(t,e),e){e.rowHierarchyType||(e.rowHierarchyType="grid"),e.columnHierarchyType||(e.columnHierarchyType="grid"),e.layout&&Object.assign(e,e.layout),this.internalProps.columns=Ct(e.columns),this.internalProps.rows=Ct(e.rows),this.internalProps.indicators=WL(e.indicators),e.indicators?.forEach(((t,e)=>{"object"==typeof t&&t?.editor&&(this.internalProps.indicators[e].editor=t.editor)})),this.internalProps.columnTree=!e.indicatorsAsCol||e.columns?.length||e.columnTree?Ct(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Ct(e.rowTree):[],this.internalProps.records=e.records,this.pagination=e.pagination,this.internalProps.columnResizeType=e.resize?.columnResizeType??e.columnResizeType??"column",this.internalProps.rowResizeType=e.resize?.rowResizeType??e.rowResizeType??"row",this.internalProps.dataConfig=Ct(e.dataConfig),this.internalProps.columnWidthConfig=e.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=e.columnWidthConfigForRowHeader;const t=this.internalProps.records;if(this.internalProps.recordsIsTwoDimensionalArray=!1,t?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0),!1===e.customConfig?.enableDataAnalysis){const e=new WH(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0),i=new WH(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0);this.internalProps.layoutMap=new PI(this,null,e,i),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new kI({rows:this.internalProps.layoutMap.fullRowDimensionKeys,columns:this.internalProps.layoutMap.colDimensionKeys,indicators:this.internalProps.layoutMap.indicatorKeys,indicatorsAsCol:this.internalProps.layoutMap.indicatorsAsCol,indicatorDimensionKey:this.internalProps.layoutMap.indicatorDimensionKey},t))}else{const t=XH(this,e),{rowKeys:i,columnKeys:r,indicatorKeys:o}=t;let{columnDimensionTree:n,rowDimensionTree:s}=t;this.dataset=new EI(this.internalProps.dataConfig,i,r,o,this.internalProps.indicators,e.indicatorsAsCol??!0,e.records,e.rowHierarchyType,e.columnHierarchyType,this.internalProps.columnTree,this.internalProps.rowTree,!1,!!e.extensionRows,!!e.parseCustomTreeToMatchRecords),e.columnTree?n.hasHideNode&&(qH(n.tree.children,e.indicators,!0,this),n.reset(n.tree.children)):(!1!==e.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,e.indicators)),!1!==e.indicatorsAsCol&&e.indicators&&this.dataset.colHeaderTree&&qH(this.dataset.colHeaderTree,e.indicators,!1,this),n=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),e.rowTree?s.hasHideNode&&(qH(s.tree.children,e.indicators,!0,this),s.reset(s.tree.children)):(!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,e.indicators)),!1===e.indicatorsAsCol&&this.dataset.rowHeaderTree&&e.indicators&&qH(this.dataset.rowHeaderTree,e.indicators,!1,this),s=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),this.internalProps.layoutMap=new PI(this,this.dataset,n,s)}if(this._changePivotSortStateBySortRules(),(e.pivotSortState?.length??0)>0&&(this.pivotSortState=[],this.pivotSortState=e.pivotSortState),"node"!==Ew.mode&&(this.editorManager=new nE(this)),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.stateManager.initCheckedState(t),this.scenegraph.createSceneGraph(),e.title){const t=sx.getComponent("title");this.internalProps.title=new t(e.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.fireListeners(_v.INITIALIZED,null)}),0)}}static get EVENT_TYPE(){return TP}isListTable(){return!1}isPivotTable(){return!0}isPivotChart(){return!1}get recordsCount(){return this.records?.length}_canResizeColumn(t,e){const i=super._canResizeColumn(t,e);if(i){if(this.internalProps.layoutMap.isSeriesNumber(t,e)&&!0===this.internalProps.rowSeriesNumber.disableColumnResize)return!1;if(!this.internalProps.layoutMap.indicatorsAsCol){const e=this.internalProps.layoutMap.getBody(t,this.columnHeaderLevelCount);if(e?.disableColumnResize)return!1}}return i}updateOption(t){const e=this.internalProps;if(super.updateOption(t),t.rowHierarchyType||(t.rowHierarchyType="grid"),t.columnHierarchyType||(t.columnHierarchyType="grid"),this.layoutNodeId={seqId:0},this.internalProps.columns=Ct(t.columns),this.internalProps.rows=Ct(t.rows),this.internalProps.indicators=t.indicators?.length?WL(t.indicators):[],t.indicators?.forEach(((t,e)=>{"object"==typeof t&&t?.editor&&(this.internalProps.indicators[e].editor=t.editor)})),this.internalProps.columnTree=!t.indicatorsAsCol||t.columns?.length||t.columnTree?Ct(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Ct(t.rowTree):[],t.records&&(this.internalProps.records=t.records),this.stateManager.initCheckedState(this.internalProps.records),this.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1),this.pagination=t.pagination,e.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",e.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",e.dataConfig=Ct(t.dataConfig),this.internalProps.columnWidthConfig=t.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=t.columnWidthConfigForRowHeader,"grid"!==t?.rowHierarchyType&&"grid"!==this.internalProps.layoutMap.rowHierarchyType&&this.internalProps.layoutMap.rowExpandLevel===t?.rowExpandLevel){const t=this.internalProps.layoutMap.rowDimensionTree.tree.children;this.internalProps.rowTree?.forEach(((e,i)=>{const r=t.find((t=>t.dimensionKey===e.dimensionKey&&t.value===e.value));r&&this._syncHierarchyState(r,e)}))}const i=this.internalProps.records;if(this.internalProps.recordsIsTwoDimensionalArray=!1,i?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0),!1===t.customConfig?.enableDataAnalysis){let r,o;t.columnTree&&(r=new WH(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree&&(o=new WH(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),e.layoutMap=new PI(this,null,r,o),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new kI({rows:e.layoutMap.fullRowDimensionKeys,columns:e.layoutMap.colDimensionKeys,indicators:e.layoutMap.indicatorKeys,indicatorsAsCol:e.layoutMap.indicatorsAsCol,indicatorDimensionKey:e.layoutMap.indicatorDimensionKey},i))}else{const r=XH(this,t),{rowKeys:o,columnKeys:n,indicatorKeys:s}=r;let{columnDimensionTree:a,rowDimensionTree:l}=r;this.dataset=new EI(e.dataConfig,o,n,s,this.internalProps.indicators,t.indicatorsAsCol??!0,i,t.rowHierarchyType,t.columnHierarchyType,this.internalProps.columnTree,this.internalProps.rowTree,!1,!!t.extensionRows,!!t.parseCustomTreeToMatchRecords),t.columnTree?a.hasHideNode&&(qH(a.tree.children,t.indicators,!0,this),a.reset(a.tree.children)):(!1!==t.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,t.indicators)),!1!==t.indicatorsAsCol&&t.indicators&&this.dataset.colHeaderTree&&qH(this.dataset.colHeaderTree,t.indicators,!1,this),a=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree?l.hasHideNode&&(qH(l.tree.children,t.indicators,!0,this),l.reset(l.tree.children)):(!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,t.indicators)),!1===t.indicatorsAsCol&&this.dataset.rowHeaderTree&&t.indicators&&qH(this.dataset.rowHeaderTree,t.indicators,!1,this),l=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),e.layoutMap=new PI(this,this.dataset,a,l)}if(this._changePivotSortStateBySortRules(),(t.pivotSortState?.length??0)>0&&(this.pivotSortState=[],this.pivotSortState=t.pivotSortState),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,e.releaseList&&(e.releaseList.forEach((t=>t?.release?.())),e.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=sx.getComponent("title");this.internalProps.title=new e(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return new Promise((t=>{setTimeout(t,0)}))}updatePagination(t){t?(this.pagination||(this.pagination={currentPage:0,perPageCount:0}),"number"==typeof t.currentPage&&t.currentPage>=0&&(this.pagination.currentPage=t.currentPage),t.perPageCount&&(this.pagination.perPageCount=t.perPageCount||this.pagination.perPageCount),this.scenegraph.clearCells(),this.internalProps.layoutMap.setPagination(this.pagination),this.refreshRowColCount(),this.scenegraph.createSceneGraph(),this.render()):this.pagination&&(this.pagination=void 0,this.scenegraph.clearCells(),this.internalProps.layoutMap.setPagination(void 0),this.refreshRowColCount(),this.scenegraph.createSceneGraph(),this.render())}refreshHeader(){this.setMinMaxLimitWidth(!0),this.refreshRowColCount()}refreshRowColCount(){const t=this,{layoutMap:e}=t.internalProps;e&&(t.colCount=e.colCount??0,t.rowCount=e.rowCount??0,this.internalProps.frozenColCount=this.options.frozenColCount?this.options.frozenColCount:(e.rowHeaderLevelCount??0)+e.leftRowSeriesNumberColumnCount,t.frozenRowCount=Math.max(e.headerLevelCount,this.options.frozenRowCount??0),t.bottomFrozenRowCount!==(this.options.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=this.options.bottomFrozenRowCount??0),t.rightFrozenColCount!==(this.options.rightFrozenColCount??0)&&(t.rightFrozenColCount=this.options.rightFrozenColCount??0),this.stateManager.setFrozenCol(this.internalProps.frozenColCount),this.stateManager.setFrozenRow(this.frozenRowCount))}_getSortFuncFromHeaderOption(t,e,i){}get rowHierarchyType(){return this.internalProps.layoutMap.rowHierarchyType}get columnHierarchyType(){return this.internalProps.layoutMap.columnHierarchyType}_syncHierarchyState(t,e){t.value===e.value&&t.dimensionKey===e.dimensionKey&&(e.hierarchyState=e.hierarchyState??(e?.children?t.hierarchyState:void 0),e?.children?.forEach(((e,i)=>{if(t?.children?.[i]&&e){const i=t.children.find((t=>t.dimensionKey===e.dimensionKey&&t.value===e.value));i&&this._syncHierarchyState(i,e)}})))}getRecordShowIndexByCell(t,e){}getTableIndexByRecordIndex(t){}getTableIndexByField(t){}getCellAddrByFieldRecord(t,e){}getBodyIndexByRow(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByRow(t)}getBodyIndexByCol(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByCol(t)}getFieldData(t,e,i){if(!this.internalProps.layoutMap.isHeader(e,i)){if(this.internalProps.recordsIsTwoDimensionalArray){const t=this.getBodyIndexByRow(i),r=this.getBodyIndexByCol(e);return this.records[t]?.[r]}if(this.dataset){const r=this.internalProps.layoutMap.getCellHeaderPaths(e,i);if(r){let o;const n=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(o={position:"col",index:e}),t.indicatorKey??t.value))),s=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(o={position:"row",index:e}),t.indicatorKey??t.value))),a=this.dataset.getAggregator(s,n,this.internalProps.layoutMap.getIndicatorKey(e,i),!0,o);if(a.records&&a.records.length>=1)return a.records[0][t]}}else if(this.flatDataToObjects){const r=this.internalProps.layoutMap.getCellHeaderPaths(e,i),o=r.colHeaderPaths.map((t=>t.indicatorKey??t.value)),n=r.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),s=this.flatDataToObjects.getTreeNode(n,o,this.internalProps.layoutMap.getBody(e,i).indicatorKey,!1);if(s?.record)return s?.record[t]}}}getCellValue(t,e,i){if(!i){const i=this.getCustomMergeValue(t,e);if(i)return i}if(this.internalProps.layoutMap.isSeriesNumber(t,e)){if(this.internalProps.layoutMap.isSeriesNumberInHeader(t,e)){const{title:i}=this.internalProps.layoutMap.getSeriesNumberHeader(t,e);return i}const{format:i}=this.internalProps.layoutMap.getSeriesNumberBody(t,e);return"function"==typeof i?i(t,e,this):e-this.columnHeaderLevelCount+1}if(this.internalProps.layoutMap.isHeader(t,e)){const{title:i,fieldFormat:r}=this.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r(i,t,e,this):i}if(this.internalProps.recordsIsTwoDimensionalArray){const{fieldFormat:i}=this.internalProps.layoutMap.getBody(t,e),r=this.getBodyIndexByRow(e),o=this.getBodyIndexByCol(t),n=this.records[r]?.[o];if("function"==typeof i){return i(n,t,e,this)}return n}if(this.dataset){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e);let r;const o=i.colHeaderPaths?.filter((t=>!t.virtual))?.map(((t,e)=>(t.indicatorKey&&(r={position:"col",index:e}),t.indicatorKey??t.value))),n=i.rowHeaderPaths?.filter((t=>!t.virtual))?.map(((t,e)=>(t.indicatorKey&&(r={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,r),{fieldFormat:a}=this.internalProps.layoutMap.getBody(t,e);return s.formatValue?s.formatValue(t,e,this):"function"==typeof a?a(s?.value(),t,e,this):s?.value()??""}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey),{fieldFormat:s}=this.internalProps.layoutMap.getBody(t,e);return"function"==typeof s?s(n?.value,t,e,this):n?.value??""}}getCellOriginValue(t,e){const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i);return s.value?s.value():void 0}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey);return n?.value}}getCellRawValue(t,e){const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!1,i);return s.value?s.value():void 0}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey,!1);return n?.value}}getCellOriginRecord(t,e){if(!this.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value)));return this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i).records}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey);return n?.record}}}getCellRawRecord(t,e){if(!this.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),r=this.getBodyIndexByCol(t),o=this.records[i]?.[r];return o}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths?.filter((t=>!t.virtual)).map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value)));return this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!1,i).records}if(this.flatDataToObjects){const i=this.internalProps.layoutMap.getCellHeaderPaths(t,e),r=i.colHeaderPaths.map((t=>t.indicatorKey??t.value)),o=i.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),n=this.flatDataToObjects.getTreeNode(o,r,this.internalProps.layoutMap.getBody(t,e).indicatorKey,!1);return n?.record}}}updateSortRules(t,e,i){this.internalProps.dataConfig?this.internalProps.dataConfig.sortRules=t:this.internalProps.dataConfig={sortRules:t},this.dataset.updateSortRules(t),this._changePivotSortStateBySortRules();const{layoutMap:r}=this.internalProps;r.resetHeaderTree(),this.scenegraph.clearCells(),at(e)&&at(i)?(this.isRowHeader(e,i)?(this.setMinMaxLimitWidth(!0),this.internalProps._widthResizedColMap.clear()):this.isCornerHeader(e,i)?"column"===r.cornerSetting.titleOnDimension?(this.setMinMaxLimitWidth(!0),this.internalProps._widthResizedColMap.clear()):"row"===r.cornerSetting.titleOnDimension&&this.internalProps._heightResizedRowMap.clear():this.isColumnHeader(e,i)&&this.internalProps._heightResizedRowMap.clear(),this.refreshRowColCount()):this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.createSceneGraph(!0),this.render()}_changePivotSortStateBySortRules(){this.pivotSortState=[];const t=this.internalProps.dataConfig?.sortRules??[];for(let e=0;e<t.length;e++){const i=t[e],r=[];if(i.sortByIndicator&&i.sortField===(this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1])){for(let t=0;t<i.query.length;t++)r.push({dimensionKey:this.dataset.indicatorsAsCol?this.dataset.columns[t]:this.dataset.rows[t],value:i.query[t]});r.push({indicatorKey:i.sortByIndicator,value:this.internalProps.layoutMap.getIndicatorInfo(i.sortByIndicator)?.title??i.sortByIndicator})}else r.push({dimensionKey:i.sortField,isPivotCorner:!0,value:i.sortField});const o=i.sortType?i.sortType.toUpperCase():"ASC";this.pivotSortState.push({dimensions:r,order:YC[o]})}}_parseColumnWidthConfig(t){for(let e=0;e<t?.length;e++){const i=t[e],r=i.dimensions,o=i.width,n=this.getCellAddressByHeaderPaths(r);if(n&&n.col>=this.rowHeaderLevelCount){const t=this.getCellHeaderPaths(n.col,this.columnHeaderLevelCount);if(t.colHeaderPaths.length===r.length){let e=!0;for(let i=0;i<r.length;i++){const o=r[i];if(t.colHeaderPaths.findIndex(((t,e)=>t.indicatorKey===o.indicatorKey||t.dimensionKey===o.dimensionKey&&t.value===o.value))<0){e=!1;break}}e&&!this.internalProps._widthResizedColMap.has(n.col)&&(this._setColWidth(n.col,o),this.internalProps._widthResizedColMap.add(n.col))}}else n&&n.col<this.rowHeaderLevelCount&&(this.internalProps._widthResizedColMap.has(n.col)||(this._setColWidth(n.col,o),this.internalProps._widthResizedColMap.add(n.col)))}}_parseColumnWidthConfigForRowHeader(t){for(let e=0;e<t?.length;e++){const i=t[e],r=i.dimensions,o=i.width,n=this.getCellAddressByHeaderPaths(r);n&&n.col<this.rowHeaderLevelCount&&(this.internalProps._widthResizedColMap.has(n.col)||(this._setColWidth(n.col,o),this.internalProps._widthResizedColMap.add(n.col)))}}updatePivotSortState(t){this.pivotSortState=t}sort(t,e,i){let r;if(this.isCornerHeader(t,e)){const i=this.getHeaderDefine(t,e);r=[];const o={isPivotCorner:!0,dimensionKey:i.value,value:i.value};r.push(o)}else r=this.isColumnHeader(t,e)?this.getCellHeaderPaths(t,e).colHeaderPaths:this.getCellHeaderPaths(t,e).rowHeaderPaths;const o=r[r.length-1].indicatorKey,n=this.getHeaderDefine(t,e);if(n.sort){if(this.dataset.sortRules){const t={};for(let e=this.dataset.sortRules.length-1;e>=0;e--){const i=this.dataset.sortRules[e];(n.dimensionKey&&i.sortField===n.dimensionKey||o&&i.sortField===(this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1]))&&(t[i.sortField]=i,this.dataset.sortRules.splice(e,1))}if(o){const e=this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1];this.dataset.sortRules.push({sortField:e,sortType:YC[i],sortByIndicator:o,query:r.reduce(((t,e)=>(e.dimensionKey&&t.push(e.value),t)),[]),sortFunc:t[e]?.sortFunc})}else this.dataset.sortRules.push(Object.assign(t[n.dimensionKey]??{},{sortField:n.dimensionKey,sortType:YC[i]}))}else this.dataset.sortRules=o?[{sortField:this.dataset.indicatorsAsCol?this.dataset.rows[this.dataset.rows.length-1]:this.dataset.columns[this.dataset.columns.length-1],sortType:YC[i],sortByIndicator:o,query:r.reduce(((t,e)=>(e.dimensionKey&&t.push(e.value),t)),[])}]:[{sortField:n.dimensionKey,sortType:YC[i]}];this.updateSortRules(this.dataset.sortRules,t,e)}}getPivotSortState(t,e){if(!this.pivotSortState)return;const i=this.getCellRange(t,e);for(let t=0;t<this.pivotSortState.length;t++){const e=this.pivotSortState[t],r=e.dimensions,o=this.getCellAddressByHeaderPaths(r),n=e.order;if(o&&pv(i,o.col,o.row))return n}}_moveHeaderPosition(t,e){const i=this.getCellRange(t.col,t.row),r=this.getCellRange(e.col,e.row),o=this.internalProps.layoutMap.moveHeaderPosition(t,e);if(o){if("column"===o.moveType){if(this.internalProps.recordsIsTwoDimensionalArray)for(let t=0;t<this.internalProps.records.length;t++){const e=this.internalProps.records[t].splice(o.sourceIndex-this.rowHeaderLevelCount,o.sourceSize);e.unshift(o.targetIndex-this.rowHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records[t],e)}this.colWidthsMap.exchangeOrder(i.start.col,i.end.col-i.start.col+1,r.start.col,r.end.col-r.start.col+1,o.targetIndex),this.setMinMaxLimitWidth()}else if("row"===o.moveType){if(this.internalProps.recordsIsTwoDimensionalArray){const t=this.internalProps.records.splice(o.sourceIndex-this.columnHeaderLevelCount,o.sourceSize);t.unshift(o.targetIndex-this.columnHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records,t)}o.targetIndex>o.sourceIndex?this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex+o.sourceSize-o.targetSize,o.targetSize,o.targetIndex):this.rowHeightsMap.exchangeOrder(o.sourceIndex,o.sourceSize,o.targetIndex,o.targetSize,o.targetIndex)}return o}return null}toggleHierarchyState(t,e,i=!0){const r=this.getHierarchyState(t,e);if(r===ZC.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(TP.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.collapse});else if(r===ZC.collapse){const r=this.internalProps.layoutMap.getHeadNode(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(TP.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:ZC.expand,originData:r})}}_refreshHierarchyState(t,e,i=!0,r){this.frozenColCount,this.frozenRowCount;const o=this.getBodyVisibleRowRange().rowStart;this.internalProps._oldRowCount=this.rowCount,this.internalProps._oldColCount=this.colCount;let n=!1,s=!1;this.stateManager.updateHoverIcon(t,e,void 0,void 0);const a=this.internalProps.layoutMap.checkHasChart();a&&(this.autoFillWidth&&(n=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&(s=this.getAllRowsHeight()<=this.tableNoFrameHeight));const l=this.internalProps.layoutMap.isRowHeader(t,e)?this.internalProps.layoutMap.toggleHierarchyState(t,e):this.internalProps.layoutMap.toggleHierarchyStateForColumnTree(t,e);r&&r(),this.refreshRowColCount(),this.frozenColCount,this.frozenRowCount,this.clearCellStyleCache(),"tree"===this.rowHierarchyType&&this.scenegraph.updateHierarchyIcon(t,e),this.reactCustomLayout?.clearCache(),"grid-tree"!==this.rowHierarchyType&&"grid-tree"!==this.columnHierarchyType?this.scenegraph.updateRow(l.removeCellPositionsRowDirection,l.addCellPositionsRowDirection,l.updateCellPositionsRowDirection,i):(this.internalProps.stick.changedCells.clear(),this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.scrollToRow(o)),this.reactCustomLayout?.updateAllCustomCell(),a&&(this.autoFillWidth&&!n&&(n=this.getAllColsWidth()<=this.tableNoFrameWidth),this.autoFillHeight&&!s&&(s=this.getAllRowsHeight()<=this.tableNoFrameHeight),("adaptive"===this.widthMode||n||"adaptive"===this.heightMode||s)&&this.scenegraph.updateChartSizeForResizeColWidth(-1)),this.internalProps._oldRowCount=void 0,this.internalProps._oldColCount=void 0}getHeaderCellAddressByPath(t){return this.internalProps.layoutMap.getPivotCellAdress(t)}getCellAddressByHeaderPaths(t){return this.internalProps.layoutMap.getCellAdressByHeaderPath(t)}getHeaderPathByXY(t){let e;e=t?this.getCellAt(t.x+this.getFrozenColsWidth()+this.scrollLeft+1,t.y+this.getFrozenRowsHeight()+this.scrollTop+1):this.getCellAt(this.getFrozenColsWidth()+this.scrollLeft+1,this.getFrozenRowsHeight()+this.scrollTop+1);return this.internalProps.layoutMap.getCellHeaderPaths(e.col,e.row)}getHierarchyState(t,e){return this._getHeaderLayoutMap(t,e)?.hierarchyState}getLayoutColumnTree(){return this.internalProps.layoutMap.getLayoutColumnTree()}getLayoutColumnTreeCount(){return this.internalProps.layoutMap.getLayoutColumnTreeCount()}getLayoutRowTree(){return this.internalProps.layoutMap.getLayoutRowTree()}getLayoutRowTreeCount(){return this.internalProps.layoutMap.getLayoutRowTreeCount()}getCellHeaderTreeNodes(t,e){return this.internalProps.layoutMap.getCellHeaderPathsWithTreeNode(t,e)}getMenuInfo(t,e,i){const r=this.internalProps.layoutMap.getPivotDimensionInfo(t,e);return{dimensionKey:r[r.length-1].dimensionKey,value:this.getCellValue(t,e),cellLocation:this.getCellLocation(t,e),isPivotCorner:this.isCornerHeader(t,e),event:void 0}}setRecords(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.options.records=this.internalProps.records=t,this.internalProps.recordsIsTwoDimensionalArray=!1,t?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0);const i=this.options,r=this.internalProps;if(!1===this.options.customConfig?.enableDataAnalysis)!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new kI({rows:r.layoutMap.fullRowDimensionKeys,columns:r.layoutMap.colDimensionKeys,indicators:r.layoutMap.indicatorKeys,indicatorsAsCol:r.layoutMap.indicatorsAsCol,indicatorDimensionKey:r.layoutMap.indicatorDimensionKey},t));else{let e,o;this.dataset.setRecords(t),i.columnTree?e=r.layoutMap.columnDimensionTree:(!1!==i.indicatorsAsCol&&i.indicators&&this.dataset.colHeaderTree&&qH(this.dataset.colHeaderTree,i.indicators,!1,this),e=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),i.rowTree?o=r.layoutMap.rowDimensionTree:(!1===i.indicatorsAsCol&&this.dataset.rowHeaderTree&&i.indicators&&qH(this.dataset.rowHeaderTree,i.indicators,!1,this),o=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),r.layoutMap=new PI(this,this.dataset,e,o),this.pivotSortState=[],i.pivotSortState&&(this.pivotSortState=i.pivotSortState)}if(this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.internalProps.title&&!this.internalProps.title.isReleased&&(this._updateSize(),this.internalProps.title.resize(),this.scenegraph.resize()),this.eventManager.updateEventBinder(),this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}}startEditCell(t,e,i){if(J(t)&&J(e))this.eventManager.isDraging=!1,this.selectCell(t,e),this.editorManager.startEditCell(t,e,i);else if(this.stateManager.select?.cellPos){const{col:t,row:e}=this.stateManager.select.cellPos;J(t)&&J(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){let i;if(this.isCornerHeader(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerEditor??this.options.headerEditor}else if(this.isHeader(t,e)){const r=this.getHeaderDefine(t,e);i=r?.headerEditor??this.options.headerEditor}else{const r=this.getBodyColumnDefine(t,e);i=r?.editor??this.options.editor}if("function"==typeof i){i=i({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return"string"==typeof i?Fk(i):i}isHasEditorDefine(t,e){const i=this.getBodyColumnDefine(t,e);let r=i?.editor??this.options.editor;if("function"==typeof r){r=r({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return J(r)}changeCellValue(t,e,i,r=!1){if(r&&this.isHasEditorDefine(t,e)||!1===r){let r=i;const o=this.getCellOriginValue(t,e),n=this.getCellRawValue(t,e);"number"==typeof n&&Yw(i)&&(r=parseFloat(i)),this._changeCellValueToDataSet(t,e,o,r);const s=this.getCellRange(t,e);for(let t=s.start.col;t<=s.end.col;t++)for(let e=s.start.row;e<=s.end.row;e++)this.scenegraph.updateCellContent(t,e);if("adaptive"===this.widthMode||this.autoFillWidth&&this.getAllColsWidth()<=this.tableNoFrameWidth)0===this.internalProps._widthResizedColMap.size&&this.scenegraph.recalculateColWidths();else if(!this.internalProps._widthResizedColMap.has(t)){const e=this.getColWidth(t),i=UB(t,0,this.rowCount-1,this,!1);i!==e&&this.scenegraph.updateColWidth(t,i-e)}if("adaptive"===this.heightMode||this.autoFillHeight&&this.getAllRowsHeight()<=this.tableNoFrameHeight)0===this.internalProps._heightResizedRowMap.size&&this.scenegraph.recalculateRowHeights();else if(this.isAutoRowHeight()&&!this.internalProps._heightResizedRowMap.has(e)){const t=this.getRowHeight(e),i=BT(e,0,this.colCount-1,this);this.scenegraph.updateRowHeight(e,i-t)}o!==r&&this.fireListeners(_v.CHANGE_CELL_VALUE,{col:t,row:e,rawValue:n,currentValue:o,changedValue:r}),this.scenegraph.updateNextFrame()}}changeCellValues(t,e,i,r=!1){let o=t,n=e;const s=[],a=[];for(let r=0;r<i.length&&!(e+r>this.rowCount-1);r++){const o=i[r],n=[],l=[];s.push(n),a.push(l);for(let i=0;i<o.length&&!(t+i>this.colCount-1);i++){const o=this.getCellRawValue(t+i,e+r);n.push(o);const s=this.getCellOriginValue(t+i,e+r);l.push(s)}}for(let l=0;l<i.length&&!(e+l>this.rowCount-1);l++){n=e+l;const h=i[l];let c=t;for(let i=0;i<h.length&&!(t+i>this.colCount-1);i++)if(c=t+i,r&&this.isHasEditorDefine(t+i,e+l)||!1===r){const r=h[i];let o=r;const n=a[l][i],c=s[l][i];"number"==typeof c&&Yw(r)&&(o=parseFloat(r)),this._changeCellValueToDataSet(t+i,e+l,n,o);const d=this.getCellOriginValue(t+i,e+l);d!==n&&this.fireListeners(_v.CHANGE_CELL_VALUE,{col:t+i,row:e+l,rawValue:c,currentValue:n,changedValue:d})}o=Math.max(o,c)}const l=this.getCellRange(t,e),h=this.getCellRange(o,n);for(let t=l.start.col;t<=h.end.col;t++)for(let e=l.start.row;e<=h.end.row;e++)this.scenegraph.updateCellContent(t,e);if("adaptive"===this.widthMode||this.autoFillWidth&&this.getAllColsWidth()<=this.tableNoFrameWidth)0===this.internalProps._widthResizedColMap.size&&this.scenegraph.recalculateColWidths();else for(let e=t;e<=h.end.col;e++)if(!this.internalProps._widthResizedColMap.has(e)){const t=this.getColWidth(e),i=UB(e,0,this.rowCount-1,this,!1);i!==t&&this.scenegraph.updateColWidth(e,i-t)}if("adaptive"===this.heightMode||this.autoFillHeight&&this.getAllRowsHeight()<=this.tableNoFrameHeight)this.scenegraph.recalculateRowHeights();else if(this.isAutoRowHeight()){const t=[],i=[];for(let r=e;r<=h.end.row;r++)if(this.rowHeightsMap.get(r)){const e=this.getRowHeight(r),o=BT(r,0,this.colCount-1,this);t.push(r),i.push(o-e)}this.scenegraph.updateRowsHeight(t,i)}this.scenegraph.updateNextFrame()}_changeCellValueToDataSet(t,e,i,r){if(this.internalProps.recordsIsTwoDimensionalArray){const i=this.getBodyIndexByRow(e),o=this.getBodyIndexByCol(t);this.records[i][o]=r}else if(this.dataset){const o=this.internalProps.layoutMap.getCellHeaderPaths(t,e);if(this.isCornerHeader(t,e))this.internalProps.layoutMap.changeCornerTitle(t,e,r);else if(this.isHeader(t,e))this.internalProps.layoutMap.changeTreeNodeTitle(t,e,r),!this.isCornerHeader(t,e)&&this.dataset.changeRecordFieldValue(o.colHeaderPaths?.length?o.colHeaderPaths[o.colHeaderPaths.length-1].indicatorKey??o.colHeaderPaths[o.colHeaderPaths.length-1].dimensionKey:o.rowHeaderPaths[o.rowHeaderPaths.length-1].indicatorKey??o.rowHeaderPaths[o.rowHeaderPaths.length-1].dimensionKey,i,r);else{const i=o.colHeaderPaths?.filter((t=>!t.virtual)).map((t=>t.indicatorKey??t.value)),n=o.rowHeaderPaths?.filter((t=>!t.virtual)).map((t=>t.indicatorKey??t.value));this.dataset.changeTreeNodeValue(this.internalProps.layoutMap.indicatorsAsCol?n:n.slice(0,-1),this.internalProps.layoutMap.indicatorsAsCol?i.slice(0,-1):i,this.internalProps.layoutMap.getIndicatorKey(t,e),r)}}else if(this.flatDataToObjects){const o=this.internalProps.layoutMap.getCellHeaderPaths(t,e);if(this.isHeader(t,e))this.internalProps.layoutMap.changeTreeNodeTitle(t,e,r),!this.isCornerHeader(t,e)&&this.flatDataToObjects.changeRecordFieldValue(o.colHeaderPaths?.length?o.colHeaderPaths[o.colHeaderPaths.length-1].indicatorKey??o.colHeaderPaths[o.colHeaderPaths.length-1].dimensionKey:o.rowHeaderPaths[o.rowHeaderPaths.length-1].indicatorKey??o.rowHeaderPaths[o.rowHeaderPaths.length-1].dimensionKey,i,r);else{const i=o.colHeaderPaths.map((t=>t.indicatorKey??t.value)),n=o.rowHeaderPaths.map((t=>t.indicatorKey??t.value));this.flatDataToObjects.changeTreeNodeValue(n,i,this.internalProps.layoutMap.getBody(t,e).indicatorKey,r)}}}_hasCustomRenderOrLayout(){if(this.options.customRender)return!0;const{columnsDefine:t,rowsDefine:e,indicatorsDefine:i}=this.internalProps.layoutMap;for(let e=0;e<t.length;e++){const i=t[e];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<e.length;t++){const i=e[t];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<i.length;t++){const e=i[t];if("string"!=typeof e&&(e.customLayout||e.headerCustomLayout||e.customRender||e.headerCustomRender))return!0}return!1}changeRecordOrder(t,e){}setTreeNodeChildren(t,e,i,r){if(this.flatDataToObjects){this.internalProps.layoutMap.getHeadNode(i,r).children=t,this._refreshHierarchyState(i,r,!0,(()=>{this.flatDataToObjects.changeDataConfig({rows:this.internalProps.layoutMap.fullRowDimensionKeys,columns:this.internalProps.layoutMap.colDimensionKeys,indicators:this.internalProps.layoutMap.indicatorKeys,indicatorsAsCol:this.internalProps.layoutMap.indicatorsAsCol,indicatorDimensionKey:this.internalProps.layoutMap.indicatorDimensionKey}),this.flatDataToObjects.addRecords(e)}))}else{this.internalProps.layoutMap.getHeadNode(i,r).children=t,this._refreshHierarchyState(i,r,!0,(()=>{this.dataset._rowTreeHasChanged(),this.dataset.changeDataConfig({rows:this.internalProps.layoutMap.fullRowDimensionKeys,columns:this.internalProps.layoutMap.colDimensionKeys}),this.dataset.addRecords(e)}))}}updateFilterRules(t){this.internalProps.dataConfig.filterRules=t,this.dataset.updateFilterRules(t),this.renderWithRecreateCells()}getFilteredRecords(){return this.dataset?.filterRules}setLoadingHierarchyState(t,e){this.scenegraph.setLoadingHierarchyState(t,e)}release(){this.editorManager.release(),super.release()}}KF(),$F(),XF(),YF(),qF(),ZF(),CI(),wI(),vI(),xI(),_I(),RI(),TI(),BI();TI();KF(),$F(),XF(),YF(),qF(),ZF(),CI(),wI(),vI(),xI(),_I(),RI(),TI(),BI();class zI extends ds{constructor(t){t.direction&&(t.flexDirection=t.direction),!t.justifyContent||"start"!==t.justifyContent&&"end"!==t.justifyContent||(t.justifyContent="flex-"+t.justifyContent),!t.alignItems||"start"!==t.alignItems&&"end"!==t.alignItems||(t.alignItems="flex-"+t.alignItems),!t.alignContent||"start"!==t.alignContent&&"end"!==t.alignContent||(t.alignContent="flex-"+t.alignContent),t.display="flex",t.flexDirection||(t.flexDirection="row"),t.clip=!0,t.fill=t?.background?.fill,t.stroke=t?.background?.stroke,t.lineWidth=t?.background?.lineWidth,t.cornerRadius=t?.background?.cornerRadius;const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}}var OI=Object.freeze({__proto__:null,Arc:class extends pd{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},CheckBox:DC,Circle:class extends Mh{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},Container:zI,Group:class extends ds{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},GroupElement:class extends zI{constructor(t){t.flexWrap="nowrap",super(t)}},Icon:class extends id{svg;iconName;cache;constructor(t){let e;if(rt(t.iconName)){e=kR()[t.iconName],e&&(t.width=t.width??e.width,t.height=t.height??e.height,t.svg=e.svg,t.cursor=e.cursor)}t.svg&&(t.image=t.svg);const i=ot(t.boundsPadding),r=[t.marginTop??(i?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(i?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(i?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(i?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=r,super(t),this.cache=e}},Image:class extends id{constructor(t){t.src&&(t.image=t.src),"circle"===t.shape&&(t.cornerRadius=t.width/2);const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},Line:Xc,Radio:WC,Rect:class extends Zc{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}},Tag:class extends $b{constructor(t){const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,super(t)}getSize(t){this.AABBBounds.width()}},Text:class extends Lh{constructor(t){t.textBaseline||(t.textBaseline="top");const e=ot(t.boundsPadding),i=[t.marginTop??(e?t.boundsPadding[0]:t.boundsPadding)??0,t.marginRight??(e?t.boundsPadding[1]:t.boundsPadding)??0,t.marginBottom??(e?t.boundsPadding[2]??t.boundsPadding[0]:t.boundsPadding)??0,t.marginLeft??(e?t.boundsPadding[3]??t.boundsPadding[1]:t.boundsPadding)??0];t.boundsPadding=i,t.fill=t.fill??"#000",super(t)}getSize(t){this.AABBBounds.width()}},percentCalc:function(t,e=0){return{percent:t,delta:e}}});function DI(t){const e={seqId:0},i={isPivotChart:!0};let r,o,n,s;t.columnTree&&(!1!==t.indicatorsAsCol&&(n=YH(t.columnTree,t.indicators)),r=new WH(t.columnTree??[],e)),t.rowTree&&(!1===t.indicatorsAsCol&&(s=YH(t.rowTree,t.indicators)),o=new WH(t.rowTree??[],e));const a=o.dimensionKeys?.count?o.dimensionKeys.valueArr():t.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],l=r.dimensionKeys?.count?r.dimensionKeys.valueArr():t.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],h=t.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];i.collectValuesBy=function(t,e,i){const r={};for(let o=0,n=t.indicators?.length;o<n;o++)if("string"!=typeof t.indicators[o]&&t.indicators[o].chartSpec)if(!1===t.indicatorsAsCol){const n=t.indicators[o];if(r[n.indicatorKey]={by:i,range:!0,sumBy:!1!==n.chartSpec?.stack&&e.concat(n.chartSpec?.xField)},n.chartSpec.series)n.chartSpec.series.forEach((t=>{const o="string"==typeof t.xField?t.xField:t.xField[0];r[o]={by:e,type:"horizontal"!==t.direction?"xField":void 0,range:"horizontal"===t.direction,sortBy:"horizontal"!==t.direction?t?.data?.fields?.[o]?.domain??n.chartSpec?.data?.fields?.[o]?.domain:void 0};const s=t.yField;r[s]={by:i,range:"horizontal"!==t.direction,sumBy:!1!==t.stack&&e.concat(t?.xField),sortBy:"horizontal"===t.direction?t?.data?.fields?.[s]?.domain??n.chartSpec?.data?.fields?.[s]?.domain:void 0}}));else{const s="string"==typeof n.chartSpec.xField?n.chartSpec.xField:n.chartSpec.xField[0];r[s]={by:e,type:"horizontal"!==n.chartSpec.direction?"xField":void 0,range:"horizontal"===n.chartSpec.direction,sortBy:"horizontal"!==n.chartSpec.direction?n.chartSpec?.data?.fields?.[s]?.domain:void 0};const a=n.chartSpec.yField;r[a]={by:i,range:"horizontal"!==t.indicators[o].chartSpec.direction,sumBy:!1!==n.chartSpec.stack&&e.concat(n.chartSpec?.xField),sortBy:"horizontal"===n.chartSpec.direction?n.chartSpec?.data?.fields?.[a]?.domain:void 0}}}else{const n=t.indicators[o];if(r[n.indicatorKey]={by:e,range:!0,sumBy:!1!==n.chartSpec?.stack&&i.concat(n.chartSpec?.yField)},n.chartSpec.series)n.chartSpec.series.forEach((t=>{const o="string"==typeof t.yField?t.yField:t.yField[0];r[o]={by:i,type:"horizontal"===t.direction?"yField":void 0,range:"horizontal"!==t.direction,sortBy:"horizontal"===t.direction?t?.data?.fields?.[o]?.domain??n.chartSpec?.data?.fields?.[o]?.domain:void 0};const s=t.xField;r[s]={by:e,range:"horizontal"===t.direction,sumBy:!1!==t.stack&&i.concat(t?.yField),sortBy:"horizontal"!==t.direction?t?.data?.fields?.[s]?.domain??n.chartSpec?.data?.fields?.[s]?.domain:void 0}}));else{const s="string"==typeof n.chartSpec.yField?n.chartSpec.yField:n.chartSpec.yField[0];r[s]={by:i,type:"horizontal"===n.chartSpec.direction?"yField":void 0,range:"horizontal"!==n.chartSpec.direction,sortBy:"horizontal"===n.chartSpec.direction?n.chartSpec?.data?.fields?.[s]?.domain:void 0};const a=n.chartSpec.xField;r[a]={by:e,range:"horizontal"===t.indicators[o].chartSpec.direction,sumBy:!1!==n.chartSpec.stack&&i.concat(n.chartSpec?.yField),sortBy:"horizontal"!==n.chartSpec.direction?n.chartSpec?.data?.fields?.[a]?.domain:void 0}}}return r}(t,l,a),i.aggregationRules=function(t){const e=[];return t.indicators?.forEach((i=>{if("string"==typeof i)e.push({indicatorKey:i,field:i,aggregationType:XC.RECORD});else if(i.chartSpec?.series){const r=[];i.chartSpec?.series.forEach((e=>{const i=!1===t.indicatorsAsCol?e.yField:e.xField;-1===r.indexOf(i)&&r.push(i)})),e.push({indicatorKey:i.indicatorKey,field:r,aggregationType:XC.RECORD})}else{const r=!1===t.indicatorsAsCol?i.chartSpec.yField:i.chartSpec.xField;e.push({indicatorKey:i.indicatorKey,field:r??i.indicatorKey,aggregationType:XC.RECORD})}})),e}(t);return{dataset:new EI(i,a,l,h,t.indicators,t.indicatorsAsCol??!0,t.records,void 0,void 0,n||t.columnTree,s||t.rowTree,!0),columnDimensionTree:r,rowDimensionTree:o,layoutNodeId:e}}function WI(t,e,i,r,o,n){if(ot(t))for(let l=0;l<t.length;l++)if(n?n(t[l],e):(s=t[l],a=e,JSON.stringify(s)===JSON.stringify(a)))return o.getCellHeaderPaths(i,r);var s,a}jC();t.CustomLayout=OI,t.DataStatistics=Wk,t.EventTarget=yw,t.Icon=NA,t.ListTable=class extends cE{},t.ListTableSimple=class extends cE{},t.PIVOT_CHART_EVENT_TYPE=BP,t.PIVOT_TABLE_EVENT_TYPE=TP,t.PivotChart=class extends Hk{layoutNodeId={seqId:0};pivotSortState;dataset;_selectedDataItemsInChart=[];_selectedDimensionInChart=[];_chartEventMap={};_axes;constructor(t,e){let i,r;"node"===Ew.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),super(t,e),e.layout&&Object.assign(e,e.layout),this.internalProps.columns=Ct(e.columns),this.internalProps.rows=Ct(e.rows),this.internalProps.indicators=WL(e.indicators),this.internalProps.columnTree=!e.indicatorsAsCol||e.columns?.length||e.columnTree?Ct(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Ct(e.rowTree):[],this.internalProps.records=e.records,this.setCustomStateNameToSpec(),this.internalProps.columnResizeType=e.resize?.columnResizeType??e.columnResizeType??"column",this.internalProps.rowResizeType=e.resize?.rowResizeType??e.rowResizeType??"row",this.internalProps.dataConfig={isPivotChart:!0},this._axes=ot(e.axes)?e.axes:[],e.columnTree&&(!1!==e.indicatorsAsCol&&(this.internalProps.columnTree=YH(this.internalProps.columnTree,e.indicators)),i=new WH(this.internalProps.columnTree??[],this.layoutNodeId)),e.rowTree&&(!1===e.indicatorsAsCol&&(this.internalProps.rowTree=YH(this.internalProps.rowTree,e.indicators)),r=new WH(this.internalProps.rowTree??[],this.layoutNodeId));const o=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():e.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],n=i?.dimensionKeys?.count?i.dimensionKeys.valueArr():e.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=e.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];if(this.internalProps.dataConfig.collectValuesBy=this._generateCollectValuesConfig(n,o),this.internalProps.dataConfig.aggregationRules=this._generateAggregationRules(),this.internalProps.dataConfig.dimensionSortArray=this._getDimensionSortArray(),this.dataset=new EI(this.internalProps.dataConfig,o,n,s,this.internalProps.indicators,e.indicatorsAsCol??!0,e.records,void 0,void 0,this.internalProps.columnTree,this.internalProps.rowTree,!0),this.options.indicatorsAsCol&&QL(this.internalProps.indicators)){const t=e=>{e.forEach((e=>{e.children?.length?t(e.children):e.children=[{dimensionKey:"axis",value:""}]}))};this.dataset.rowHeaderTree?.length?t(this.dataset.rowHeaderTree):this.dataset.rowHeaderTree=[{dimensionKey:"axis",value:""}]}if(e.columnTree||!1!==e.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,e.indicators)),e.rowTree||!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,e.indicators)),i=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId),r=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId),this.internalProps.layoutMap=new PI(this,this.dataset,i,r),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.createSceneGraph(),e.title){const t=sx.getComponent("title");this.internalProps.title=new t(e.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.fireListeners(_v.INITIALIZED,null)}),0)}static get EVENT_TYPE(){return BP}get pivotChartAxes(){return this._axes}get recordsCount(){return this.records?.length}isListTable(){return!1}isPivotTable(){return!0}isPivotChart(){return!0}_canResizeColumn(t,e){const i=super._canResizeColumn(t,e);if(i&&!this.internalProps.layoutMap.indicatorsAsCol){const e=this.internalProps.layoutMap.getBody(t,this.columnHeaderLevelCount);if(e?.disableColumnResize)return!1}return i}updateOption(t){const e=this.internalProps;let i,r;super.updateOption(t),this.layoutNodeId={seqId:0},this.internalProps.columns=Ct(t.columns),this.internalProps.rows=Ct(t.rows),this.internalProps.indicators=t.indicators?.length?WL(t.indicators):[],this.internalProps.columnTree=!t.indicatorsAsCol||t.columns?.length||t.columnTree?Ct(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Ct(t.rowTree):[],t.records&&(this.internalProps.records=t.records),this.setCustomStateNameToSpec(),this._selectedDataItemsInChart=[],e.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",e.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",e.dataConfig={isPivotChart:!0},this._axes=ot(t.axes)?t.axes:[],t.columnTree&&(!1!==t.indicatorsAsCol&&(this.internalProps.columnTree=YH(this.internalProps.columnTree,t.indicators)),i=new WH(this.internalProps.columnTree??[],this.layoutNodeId)),t.rowTree&&(!1===t.indicatorsAsCol&&(this.internalProps.rowTree=YH(this.internalProps.rowTree,t.indicators)),r=new WH(this.internalProps.rowTree??[],this.layoutNodeId));const o=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():t.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],n=i?.dimensionKeys?.count?i.dimensionKeys.valueArr():t.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=t.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];if(this.internalProps.dataConfig.collectValuesBy=this._generateCollectValuesConfig(n,o),this.internalProps.dataConfig.aggregationRules=this._generateAggregationRules(),this.internalProps.dataConfig.dimensionSortArray=this._getDimensionSortArray(),this.dataset=new EI(this.internalProps.dataConfig,o,n,s,this.internalProps.indicators,t.indicatorsAsCol??!0,t.records??this.internalProps.records,void 0,void 0,this.internalProps.columnTree,this.internalProps.rowTree,!0),this.options.indicatorsAsCol&&QL(this.internalProps.indicators)){const t=e=>{e.forEach((e=>{e.children?.length?t(e.children):e.children=[{dimensionKey:"axis",value:""}]}))};this.dataset.rowHeaderTree?.length?t(this.dataset.rowHeaderTree):this.dataset.rowHeaderTree=[{dimensionKey:"axis",value:""}]}if(t.columnTree||!1!==t.indicatorsAsCol&&(this.dataset.colHeaderTree=YH(this.dataset.colHeaderTree,t.indicators)),t.rowTree||!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=YH(this.dataset.rowHeaderTree,t.indicators)),i=new WH(this.dataset.colHeaderTree??[],this.layoutNodeId),r=new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId),e.layoutMap=new PI(this,this.dataset,i,r),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,e.releaseList&&(e.releaseList.forEach((t=>t?.release?.())),e.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=sx.getComponent("title");this.internalProps.title=new e(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=sx.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return new Promise((t=>{setTimeout(t,0)}))}updatePagination(){}refreshHeader(){this.setMinMaxLimitWidth(!0),this.refreshRowColCount()}refreshRowColCount(){const t=this,{layoutMap:e}=t.internalProps;e&&(t.colCount=e.colCount??0,t.rowCount=e.rowCount??0,t.internalProps.frozenColCount=e.rowHeaderLevelCount??0,t.frozenRowCount=Math.max(e.headerLevelCount,this.options.frozenRowCount??0),t.bottomFrozenRowCount!==(e?.bottomFrozenRowCount??0)&&(t.bottomFrozenRowCount=e?.bottomFrozenRowCount??0),t.rightFrozenColCount!==(e?.rightFrozenColCount??0)&&(t.rightFrozenColCount=e?.rightFrozenColCount??0),this.stateManager.setFrozenCol(this.internalProps.frozenColCount))}_getSortFuncFromHeaderOption(t,e,i){}syncHierarchyState(t,e){t.value===e.value&&t.dimensionKey===e.dimensionKey&&(e.hierarchyState=e.hierarchyState??(e?.children?t.hierarchyState:void 0),e?.children?.forEach(((e,i)=>{t?.children?.[i]&&e&&this.syncHierarchyState(t.children[i],e)})))}getRecordShowIndexByCell(t,e){}getTableIndexByRecordIndex(t){}getTableIndexByField(t){}getCellAddrByFieldRecord(t,e){}getBodyIndexByRow(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByRow(t)}getBodyIndexByCol(t){const{layoutMap:e}=this.internalProps;return e.getBodyIndexByCol(t)}getCellValue(t,e,i){if(!i){const i=this.getCustomMergeValue(t,e);if(i)return i}if(this.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.layoutMap.isBottomFrozenRow(t,e)||this.internalProps.layoutMap.isRightFrozenColumn(t,e)){const i=this.internalProps.layoutMap.getIndicatorKeyInChartSpec(t,e);let r;return i?.forEach((t=>{const e=this.internalProps.layoutMap.getIndicatorInfo(t);e&&(r=e)})),r?.title??r?.indicatorKey??""}const{title:i,fieldFormat:r}=this.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r(i,t,e,this):i}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i);return s.value?s.value():void 0}const{fieldFormat:r}=this.internalProps.layoutMap.getBody(t,e),o=this.getBodyIndexByRow(e),n=this.getBodyIndexByCol(t),s=this.records[o]?.[n];if("function"==typeof r){return r(s,t,e,this)}return s}getCellOriginValue(t,e){const i=this;if(i.internalProps.layoutMap.isHeader(t,e)){if(this.internalProps.layoutMap.isBottomFrozenRow(t,e)||this.internalProps.layoutMap.isRightFrozenColumn(t,e)){const i=this.internalProps.layoutMap.getIndicatorKeyInChartSpec(t,e);let r;return i?.forEach((t=>{const e=this.internalProps.layoutMap.getIndicatorInfo(t);e&&(r=e)})),r?.title??r?.indicatorKey??""}const{title:r}=i.internalProps.layoutMap.getHeader(t,e);return"function"==typeof r?r():r}if(this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value))),s=this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i);return s.value?s.value():void 0}const r=this.getBodyIndexByRow(e),o=this.getBodyIndexByCol(t),n=this.records[r]?.[o];return n}getCellRawValue(t,e){return this.getCellOriginValue(t,e)}getCellOriginRecord(t,e){if(!this.internalProps.layoutMap.isHeader(t,e)&&this.dataset){let i;const r=this.internalProps.layoutMap.getCellHeaderPaths(t,e),o=r.colHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"col",index:e}),t.indicatorKey??t.value))),n=r.rowHeaderPaths.map(((t,e)=>(t.indicatorKey&&(i={position:"row",index:e}),t.indicatorKey??t.value)));return this.dataset.getAggregator(n,o,this.internalProps.layoutMap.getIndicatorKey(t,e),!0,i).records}}getCellRawRecord(t,e){return this.getCellOriginRecord(t,e)}getPivotSortState(t,e){if(!this.pivotSortState)return;const i=this.getCellRange(t,e);for(let t=0;t<this.pivotSortState.length;t++){const{col:e,row:r,order:o}=this.pivotSortState[t];if(pv(i,e,r))return o}}_moveHeaderPosition(t,e){const i=this.internalProps.layoutMap.moveHeaderPosition(t,e);if(i){if("column"===i.moveType){if(this.options.records?.[0]?.constructor===Array)for(let t=0;t<this.internalProps.records.length;t++){const e=this.internalProps.records[t].splice(i.sourceIndex-this.rowHeaderLevelCount,i.sourceSize);e.unshift(i.targetIndex-this.rowHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records[t],e)}this.colWidthsMap.adjustOrder(i.sourceIndex,i.targetIndex,i.sourceSize),this.setMinMaxLimitWidth()}else if("row"===i.moveType){if(this.options.records?.[0]?.constructor===Array){const t=this.internalProps.records.splice(i.sourceIndex-this.columnHeaderLevelCount,i.sourceSize);t.unshift(i.targetIndex-this.columnHeaderLevelCount,0),Array.prototype.splice.apply(this.internalProps.records,t)}this.rowHeightsMap.adjustOrder(i.sourceIndex,i.targetIndex,i.sourceSize)}return i}return null}toggleHierarchyState(t,e,i=!0){}getHeaderCellAddressByPath(t){return this.internalProps.layoutMap.getPivotCellAdress(t)}getCellAddressByHeaderPaths(t){return this.internalProps.layoutMap.getCellAdressByHeaderPath(t)}getHeaderPathByXY(t){let e;e=t?this.getCellAt(t.x+this.getFrozenColsWidth()+this.scrollLeft+1,t.y+this.getFrozenRowsHeight()+this.scrollTop+1):this.getCellAt(this.getFrozenColsWidth()+this.scrollLeft+1,this.getFrozenRowsHeight()+this.scrollTop+1);return this.internalProps.layoutMap.getCellHeaderPaths(e.col,e.row)}getHierarchyState(t,e){return this._getHeaderLayoutMap(t,e)?.hierarchyState}getMenuInfo(t,e,i){const r=this.internalProps.layoutMap.getPivotDimensionInfo(t,e);return{dimensionKey:r[r.length-1].dimensionKey,value:this.getCellValue(t,e),cellLocation:this.getCellLocation(t,e),isPivotCorner:this.isCornerHeader(t,e),event:void 0}}_generateCollectValuesConfig(t,e){t=t.filter((t=>t!==Nv)),e=e.filter((t=>t!==Nv));const i=this.internalProps.indicators,r={};for(let o=0,n=i?.length;o<n;o++)if("string"!=typeof i[o]&&i[o].chartSpec){if("pie"===i[o].chartSpec?.type||"rose"===i[o].chartSpec?.type||"radar"===i[o].chartSpec?.type||"gauge"===i[o].chartSpec?.type||"wordCloud"===i[o].chartSpec?.type)continue;const n=i[o],s=n.chartSpec;if(!1===this.options.indicatorsAsCol)if(!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0),r[n.indicatorKey]={by:e,range:!0,sumBy:s?.stack&&t.concat(s?.xField)},s.series)s.series.forEach((i=>{const o="string"==typeof i.xField?i.xField:i.xField[0];r[o]={by:t,type:"horizontal"!==i.direction?"xField":void 0,range:mk(i,this._axes,"horizontal"===i.direction,!0),sortBy:"horizontal"!==i.direction?i?.data?.fields?.[o]?.domain??s?.data?.fields?.[o]?.domain:void 0};const n=i.yField;!1!==i.stack&&("bar"===i.type||"area"===i.type)&&(i.stack=!0),r[n]={by:e,range:mk(i,this._axes,"horizontal"===i.direction,!1),sumBy:i.stack&&t.concat(i?.xField),sortBy:"horizontal"===i.direction?i?.data?.fields?.[n]?.domain??s?.data?.fields?.[n]?.domain:void 0,extendRange:DA(s.markLine)}}));else{const i="string"==typeof s.xField?s.xField:s.xField[0];r[i]={by:t,type:"horizontal"!==s.direction?"xField":void 0,range:mk(s,this._axes,"horizontal"===s.direction,!0),sortBy:"horizontal"!==s.direction?s?.data?.fields?.[i]?.domain:void 0},!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0);const o=s.yField;r[o]={by:e,range:"horizontal"!==s.direction,sumBy:s.stack&&t.concat(s?.xField),sortBy:"horizontal"===s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:DA(s.markLine)}}else{const n=i[o];if(!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0),r[n.indicatorKey]={by:t,range:!0,sumBy:s?.stack&&e.concat(s?.yField)},s.series)s.series.forEach((i=>{const o="string"==typeof i.yField?i.yField:i.yField[0];r[o]={by:e,type:"horizontal"===i.direction?"yField":void 0,range:mk(i,this._axes,"horizontal"===i.direction,!1),sortBy:"horizontal"===i.direction?i?.data?.fields?.[o]?.domain??s?.data?.fields?.[o]?.domain:void 0};const n=i.xField;!1!==i.stack&&("bar"===i.type||"area"===i.type)&&(i.stack=!0),r[n]={by:t,range:mk(i,this._axes,"horizontal"===i.direction,!0),sumBy:i.stack&&e.concat(i?.yField),sortBy:"horizontal"!==i.direction?i?.data?.fields?.[n]?.domain??s?.data?.fields?.[n]?.domain:void 0,extendRange:DA(s.markLine)}}));else{const i="string"==typeof s.yField?s.yField:s.yField[0];r[i]={by:e,type:"horizontal"===s.direction?"yField":void 0,range:mk(s,this._axes,"horizontal"===s.direction,!1),sortBy:"horizontal"===s.direction?s?.data?.fields?.[i]?.domain:void 0},!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0);const o=s.xField;r[o]={by:t,range:mk(s,this._axes,"horizontal"===s.direction,!0),sumBy:s.stack&&e.concat(s?.yField),sortBy:"horizontal"!==s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:DA(s.markLine)}}}}return r}_generateAggregationRules(){const t=[];return this.internalProps.indicators?.forEach((e=>{if("string"==typeof e)t.push({indicatorKey:e,field:e,aggregationType:XC.RECORD});else if(e.chartSpec?.series){const i=[];e.chartSpec?.series.forEach((t=>{const e=!1===this.options.indicatorsAsCol?t.yField:t.xField;-1===i.indexOf(e)&&i.push(e)})),t.push({indicatorKey:e.indicatorKey,field:i,aggregationType:XC.RECORD})}else{const i=!1===this.options.indicatorsAsCol?e.chartSpec.yField:e.chartSpec.xField;t.push({indicatorKey:e.indicatorKey,field:i??e.indicatorKey,aggregationType:XC.RECORD})}})),t}setCustomStateNameToSpec(){const t=t=>{t.bar?.state?.selected&&(t.bar.state.vtable_selected=t.bar.state.selected,t.bar.state.vtable_selected_reverse=t.bar.state.selected_reverse,delete t.bar.state.selected,delete t.bar.state.selected_reverse),t.point?.state?.selected&&(t.point.state.vtable_selected=t.point.state.selected,t.point.state.vtable_selected_reverse=t.point.state.selected_reverse,delete t.point.state.selected,delete t.point.state.selected_reverse),t.line?.state?.selected&&(t.line.state.vtable_selected=t.line.state.selected,t.line.state.vtable_selected_reverse=t.line.state.selected_reverse,delete t.line.state.selected,delete t.line.state.selected_reverse),t.area?.state?.selected&&(t.area.state.vtable_selected=t.area.state.selected,t.area.state.vtable_selected_reverse=t.area.state.selected_reverse,delete t.area.state.selected,delete t.area.state.selected_reverse),t.pie?.state?.selected&&(t.pie.state.vtable_selected=t.pie.state.selected,t.pie.state.vtable_selected_reverse=t.pie.state.selected_reverse,delete t.pie.state.selected,delete t.pie.state.selected_reverse)};this.internalProps.indicators?.forEach((e=>{if(e.chartSpec){const i=e.chartSpec;i.series?i.series.forEach((e=>{t(e)})):t(i)}}))}updateFilterRules(t){this.internalProps.dataConfig.filterRules=t,this.dataset.updateFilterRules(t),oP(this.scenegraph),function(t){const e=t.table;for(let i=t.proxy.colStart;i<=t.proxy.colEnd;i++){const r=t.getColGroup(i);r?.getChildren()?.forEach((t=>{const i=t.col,r=t.row;t.children.forEach((t=>{if("chart"===t.type){t.updateData(e.getCellValue(i,r));const o=t.attribute.spec,n=o.type;if("gauge"!==n&&"rose"!==n&&"radar"!==n){const n=e.internalProps.layoutMap.getChartAxes(i,r);t.setAttribute("axes",n),o.axes=n}t.setAttribute("spec",o)}}))}))}nP(t.rowHeaderGroup,t.table),nP(t.colHeaderGroup,t.table),nP(t.rightFrozenGroup,t.table),nP(t.bottomFrozenGroup,t.table)}(this.scenegraph),this.render()}clearChartCacheImage(t,e){at(t)&&at(e)?function(t,e,i){i.getCell(t,e).children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}(t,e,this.scenegraph):oP(this.scenegraph)}getLegendSelected(){const t=[];return this.internalProps.legends?.forEach((e=>{const i=e.legendComponent._getSelectedLegends().map((t=>t.label));t.push(...i)})),t}setLegendSelected(t){this.internalProps.legends?.forEach((e=>{e.legendComponent.setSelected(t)}))}getChartDatumPosition(t,e){const{chartInstance:i,bounds:r}=this.getChartInstance(e);if(i){const e=i.convertDatumToPosition(t);return e?{x:Math.round(e.x+r.x1),y:Math.round(e.y+r.y1)}:null}return null}getCellAddressByRecord(t){const e=[],i=[],r={},o=[];this.dataset.dataConfig.aggregationRules.forEach((t=>{if("string"==typeof t.field)r[t.field]=t.indicatorKey,o.push(t.field);else for(let e=0;e<t.field.length;e++)r[t.field[e]]=t.indicatorKey,o.push(t.field[e])}));for(const n in t)this.dataset.rows.indexOf(n)>=0&&e.push({dimensionKey:n,value:t[n]}),this.dataset.columns.indexOf(n)>=0&&i.push({dimensionKey:n,value:t[n]}),o.indexOf(n)>=0&&(this.dataset.indicatorsAsCol?i.push({indicatorKey:r[n]}):e.push({indicatorKey:r[n]}));return this.getCellAddressByHeaderPaths({rowHeaderPaths:e,colHeaderPaths:i,cellLocation:"body"})}getChartInstance(t){const e=this.getCellAddressByHeaderPaths(t);if(e){const t=this.getCellRelativeRect(e.col,e.row),i=this.scenegraph.getCell(e.col,e.row);let r;const o=i?.getChildren()?.[0];if(o.attribute.chartInstance){r=o.attribute.chartInstance;const{dataId:t,data:e,axes:i,spec:n}=o.attribute,s=o.getViewBox();i?.forEach(((t,e)=>{"linear"===t.type?r.updateModelSpecSync({type:"axes",index:e},{min:t.range?.min??0,max:t.range?.max??0,tick:{tickMode:t.tick?.tickMode}},!0):"band"===t.type&&r.updateModelSpec({type:"axes",index:e},{domain:t.domain.slice(0)},!0)})),r.updateViewBox({x1:0,x2:s.x2-s.x1,y1:0,y2:s.y2-s.y1},!1,!1);const a=r.getStage(),l=o.globalTransMatrix.clone(),h=o.stage.window.getViewBoxTransform();if(l.multiply(h.a,h.b,h.c,h.d,h.e,h.f),a.window.setViewBoxTransform&&a.window.setViewBoxTransform(l.a,l.b,l.c,l.d,l.e,l.f),"string"==typeof t)r.updateDataSync(t,e??[]);else{const i=[];for(const o in t){const s=t[o],a=n.series.find((t=>t?.data?.id===o));i.push({id:o,values:s?e?.filter((t=>t.hasOwnProperty(s)))??[]:e??[],fields:a?.data?.fields}),r.updateFullDataSync||r.updateDataSync(o,s?e?.filter((t=>t.hasOwnProperty(s)))??[]:e??[])}r.updateFullDataSync?.(i)}this.render()}return{chartInstance:r,bounds:t.bounds}}return{}}activateChartInstance(t){const e=this.getCellAddressByHeaderPaths(t);if(e){const t=e.col,i=e.row,r=this.scenegraph.getCell(t,i),o=r?.getChildren()?.[0],n=this.scenegraph.activateChart(t,i),{dataId:s,data:a,axes:l,spec:h}=o.attribute,c=o.getViewBox();l?.forEach(((t,e)=>{"linear"===t.type?n.updateModelSpecSync({type:"axes",index:e},{min:t.range?.min??0,max:t.range?.max??0,tick:{tickMode:t.tick?.tickMode}},!0):"band"===t.type&&n.updateModelSpec({type:"axes",index:e},{domain:t.domain.slice(0)},!0)})),n.updateViewBox({x1:0,x2:c.x2-c.x1,y1:0,y2:c.y2-c.y1},!1,!1);const d=n.getStage();d.needRender=!0;const u=o.globalTransMatrix.clone(),g=o.stage.window.getViewBoxTransform().clone();if(g.multiply(u.a,u.b,u.c,u.d,u.e,u.f),d.window.setViewBoxTransform(g.a,g.b,g.c,g.d,g.e,g.f),"string"==typeof s)n.updateDataSync(s,a??[]);else{const t=[];for(const e in s){const i=s[e],r=h.series.find((t=>t?.data?.id===e));t.push({id:e,values:i?a?.filter((t=>t.hasOwnProperty(i)))??[]:a??[],fields:r?.data?.fields}),n.updateFullDataSync||n.updateDataSync(e,i?a?.filter((t=>t.hasOwnProperty(i)))??[]:a??[])}n.updateFullDataSync?.(t)}return n}}replaceChartCacheImage(t,e){const i=this.getCellAddressByHeaderPaths(t);if(i){const t=this.scenegraph.getCell(i.col,i.row),r=t?.getChildren()?.[0];dB(e.getStage(),r)}}_getDimensionSortArray(){if(this.options?.axes?.length){const t=this.options.indicatorsAsCol?"left":"bottom",e=this.options.axes.find((e=>e.orient===t));if(e&&ot(e.domain))return e.domain}}setRecords(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.options.records=this.internalProps.records=t;const i=this.options,r=this.internalProps;let o,n;this.dataset.setRecords(t),o=i.columnTree?r.layoutMap.columnDimensionTree:new WH(this.dataset.colHeaderTree??[],this.layoutNodeId),n=i.rowTree?r.layoutMap.rowDimensionTree:new WH(this.dataset.rowHeaderTree??[],this.layoutNodeId),r.layoutMap=new PI(this,this.dataset,o,n),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.clearCells(),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(e.col,e.row),this.internalProps.title&&!this.internalProps.title.isReleased&&(this._updateSize(),this.internalProps.title.resize(),this.scenegraph.resize()),this.eventManager.updateEventBinder()}_hasCustomRenderOrLayout(){if(this.options.customRender)return!0;const{columnsDefine:t,rowsDefine:e,indicatorsDefine:i}=this.internalProps.layoutMap;for(let e=0;e<t.length;e++){const i=t[e];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<e.length;t++){const i=e[t];if("string"!=typeof i&&(i.headerCustomLayout||i.headerCustomRender))return!0}for(let t=0;t<i.length;t++){const e=i[t];if("string"!=typeof e&&(e.customLayout||e.headerCustomLayout||e.customRender||e.headerCustomRender))return!0}return!1}changeRecordOrder(t,e){}getLayoutColumnTree(){return this.internalProps.layoutMap.getLayoutColumnTree()}getLayoutColumnTreeCount(){return this.internalProps.layoutMap.getLayoutColumnTreeCount()}getLayoutRowTree(){return this.internalProps.layoutMap.getLayoutRowTree()}getLayoutRowTreeCount(){return this.internalProps.layoutMap.getLayoutRowTreeCount()}getCellHeaderTreeNodes(t,e){return this.internalProps.layoutMap.getCellHeaderPathsWithTreeNode(t,e)}},t.PivotTable=class extends II{},t.PivotTableSimple=class extends II{},t.TABLE_EVENT_TYPE=_v,t.TYPES=fw,t.VArc=function(t){return xl.arc(t?t.attribute:{})},t.VArea=function(t){return xl.area(t?t.attribute:{})},t.VCheckBox=function(t){return new DC(t?t.attribute:{})},t.VCircle=function(t){return xl.circle(t?t.attribute:{})},t.VGlyph=function(t){return xl.glyph(t?t.attribute:{})},t.VGroup=function(t){return xl.group(t?t.attribute:{})},t.VImage=function(t){return xl.image(t?t.attribute:{})},t.VLine=function(t){return xl.line(t?t.attribute:{})},t.VPath=function(t){return xl.path(t?t.attribute:{})},t.VPolygon=function(t){return xl.polygon(t?t.attribute:{})},t.VRadio=function(t){return new WC(t?t.attribute:{})},t.VRect=function(t){return xl.rect(t?t.attribute:{})},t.VSymbol=function(t){return xl.symbol(t?t.attribute:{})},t.VTag=function(t){return new $b(t?t.attribute:{})},t.VText=function(t){return xl.text(t?t.attribute:{})},t.clearGlobal=function(){Ok()},t.core=kk,t.data=VS,t.getDataCellPath=function(t,e,i){const r=DI(t);let o=r.columnDimensionTree,n=r.rowDimensionTree,s=!1,a=!1;t.columnTree&&t.indicatorsAsCol&&!o.dimensionKeys.contain(Nv)&&(s=!0),t.rowTree&&(t.indicatorsAsCol||n.dimensionKeys.contain(Nv)||(a=!0));const{dataset:l,layoutNodeId:h}=r,c={options:t,layoutNodeId:h,internalProps:t,isPivotChart:()=>!0,pivotChartAxes:[],_selectedDataItemsInChart:[],_getActiveChartInstance:()=>({updateState:()=>{}})};t.columnTree&&!s||(o=new WH(l.colHeaderTree??[],h)),t.rowTree&&!a||(n=new WH(l.rowHeaderTree??[],h));const d=new PI(c,l,o,n);for(let t=0;t<d.colCount;t++)for(let r=0;r<d.rowCount;r++){if(d.isHeader(t,r))continue;const o=d.getCellHeaderPaths(t,r),n=o.colHeaderPaths.map((t=>t.indicatorKey??t.value)),s=o.rowHeaderPaths.map((t=>t.indicatorKey??t.value)),a=l.getAggregator(d.indicatorsAsCol?s:s.slice(0,-1),d.indicatorsAsCol?n.slice(0,-1):n,d.getIndicatorKey(t,r)),h=WI(a.value?a.value():void 0,e,t,r,d,i);if(h)return h}},t.getIcons=function(){return kR()},t.getTargetCell=KA,t.graphicUtil=hu,t.jsx=function(t,e){const i=e||{},{key:r,name:o,id:n,attribute:s,stateProxy:a,animation:l,timeline:h}=i,c=Eg(i,["key","name","id","attribute","stateProxy","animation","timeline"]);let d=t;rt(t)&&(d=xl[t]);const u=[];for(var g=arguments.length,p=new Array(g>2?g-2:0),f=2;f<g;f++)p[f-2]=arguments[f];p.length&&Fg(1===p.length?p[0]:p,u);const m="Group"===d.name?new d(s):d(e);if(function(t,e,i){let r,o=!1;switch(t.type){case"richtext":case"rich/image":break;case"rich/text":r=t.attribute||{},e[0]&&(r.text=e[0]);break;default:o=!0}o?(e.forEach((e=>{e&&t.add(e)})),Object.keys(i).forEach((e=>{const r=Lg[e];r&&t.on(r,i[e])}))):"richtext"===t.type&&(t.attribute.textConfig=e.map((t=>t.attribute)).filter((t=>t)))}(m,u,c),a&&(m.stateProxy=a),o&&(m.name=o),ot(l)){const t=m.animate();h&&t.setTimeline(h),l.forEach((e=>{t[e[0]](...e.slice(1))}))}return m},t.register=Dk,t.registerAxis=KF,t.registerButtonCell=AI,t.registerChartCell=CI,t.registerCheckboxCell=wI,t.registerEmptyTip=$F,t.registerImageCell=vI,t.registerLegend=XF,t.registerMenu=YF,t.registerProgressBarCell=xI,t.registerRadioCell=_I,t.registerSparkLineCell=RI,t.registerSwitchCell=SI,t.registerTextCell=TI,t.registerTitle=qF,t.registerTooltip=ZF,t.registerVideoCell=BI,t.renderChart=lB,t.restoreMeasureText=function(){bT="canvas",Qr.load(CT)},t.setCustomAlphabetCharSet=function(t){mT=t,wT.clear()},t.themes=ox,t.updateCell=nT,t.version="1.17.2"}));
|