@visactor/vtable 1.22.11-alpha.10 → 1.22.11-alpha.12
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/PivotChart.js.map +1 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/style-helper.js +1 -2
- package/cjs/dataset/dataset-pivot-table.js +2 -1
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/index.js +1 -2
- package/cjs/layout/layout-helper.js +1 -1
- package/cjs/layout/pivot-header-layout.js +4 -3
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/row-height-map.js +1 -1
- package/cjs/layout/simple-header-layout.js +1 -1
- package/cjs/layout/tree-helper.js +1 -1
- package/cjs/plugins/custom-cell-style.js +2 -1
- package/cjs/plugins/interface.js +1 -1
- package/cjs/plugins/invert-highlight.js +1 -1
- package/cjs/plugins/list-tree-stick-cell.js +1 -1
- package/cjs/plugins/plugin-manager.js +1 -1
- package/cjs/scenegraph/graphic/active-cell-chart-list.d.ts +5 -1
- package/cjs/scenegraph/graphic/active-cell-chart-list.js +45 -12
- package/cjs/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.js +4 -3
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +7 -16
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/state.js +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +62 -24
- package/dist/vtable.min.js +1 -1
- package/es/PivotChart.js.map +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/style-helper.js +1 -2
- package/es/dataset/dataset-pivot-table.js +2 -1
- package/es/event/listener/table-group.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/index.js +1 -2
- package/es/layout/layout-helper.js +1 -1
- package/es/layout/pivot-header-layout.js +4 -2
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/row-height-map.js +1 -1
- package/es/layout/simple-header-layout.js +1 -1
- package/es/layout/tree-helper.js +1 -1
- package/es/plugins/custom-cell-style.js +2 -1
- package/es/plugins/interface.js +1 -1
- package/es/plugins/invert-highlight.js +1 -1
- package/es/plugins/list-tree-stick-cell.js +1 -1
- package/es/plugins/plugin-manager.js +1 -1
- package/es/scenegraph/graphic/active-cell-chart-list.d.ts +5 -1
- package/es/scenegraph/graphic/active-cell-chart-list.js +40 -10
- package/es/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/es/scenegraph/graphic/chart.js +4 -4
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/scenegraph.js +8 -17
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/state.js +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +3 -3
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 vH(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}function xH(t,e){let i,r;if("cell"===t.role&<(t.mergeStartCol)&<(t.mergeStartRow)&<(t.mergeEndCol)&<(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=eH(t,e.scenegraph);for(let a=r;a<=o;a++)for(let r=n;r<=s;r++){const o=_H(e.stateManager,a,r,t);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=_H(e.stateManager,t.col,t.row,t));if(!i)return;const o=e.internalProps.layoutMap;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);return rP(i,r,t.col,t.row,e)}function _H(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===m_.single&&s.col===e&&s.row===i?h="cellBgColor":o===m_.column&&s.col===e?h=s.col===e&&s.row===i?"cellBgColor":"inlineColumnBgColor":o===m_.row&&s.row===i?h=s.col===e&&s.row===i?"cellBgColor":"inlineRowBgColor":o===m_.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}let SH,AH={col:-1,row:-1};function RH(t,e,i){SH=t,AH={col:e,row:i}}function TH(){SH=void 0,AH={col:-1,row:-1}}function MH(){return SH}function BH(){return AH}const PH={},HH={},kH=[];function EH(t,e,i,r,o,n=!1,s=!1){WH(),lt(PH[t])||(PH[t]={});const{rowStart:a}=o.getBodyVisibleRowRange();let l=o.getBodyVisibleRowRange().rowEnd;l=Math.min(o.rowCount-1-o.bottomFrozenRowCount,l);for(let h=a;h<=l;h++){const a=o.scenegraph.getCell(t,h),l=a?.getChildren()?.[0];PH[t][h]||lt(l)&&(l.addUpdateShapeAndBoundsTag(),l.activeChartInstance||l.activate(o),PH[t][h]=l.activeChartInstance);const c=setTimeout((()=>{if(PH[t]?.[h]){const a=o.options.chartDimensionLinkage;let l=!s;if(s||"object"!=typeof a||(l=a.showTooltip??!0,l=l&&IH(h,o)),s)o.stateManager.hover.cellPos.col===t&&o.stateManager.hover.cellPos.row===h||PH[t][h].showCrosshair?.((t=>"left"===t.layoutOrient?i:e));else{const i=o.getCellRelativeRect(t,h),s=o.frozenRowCount?o.getCellRelativeRect(t,o.frozenRowCount-1).bottom:0,a=Math.max(s,o.getCellRelativeRect(t,h).top);n?(o.stateManager.hover.cellPos.col===t&&o.stateManager.hover.cellPos.row===h||PH[t][h].hideTooltip(),PH[t][h].setDimensionIndex(e,{tooltip:!1,showTooltipOption:{x:r.x-i.left,y:a-i.top,activeType:"dimension"}})):PH[t][h].setDimensionIndex(e,{tooltip:l,showTooltipOption:{x:r.x-i.left,y:a-i.top,activeType:"dimension"}})}}}),0);kH.push(c),o.scenegraph.updateNextFrame()}}function LH(t,e,i,r,o,n=!1,s=!1){WH(),lt(HH[t])||(HH[t]={});const{colStart:a}=o.getBodyVisibleColRange();let l=o.getBodyVisibleColRange().colEnd;l=Math.min(o.colCount-1-o.rightFrozenColCount,l);for(let h=a;h<=l;h++){const a=o.scenegraph.getCell(h,t),l=a?.getChildren()?.[0];HH[t][h]||lt(l)&&(l.addUpdateShapeAndBoundsTag(),l.activeChartInstance||l.activate(o),HH[t][h]=l.activeChartInstance);const c=setTimeout((()=>{if(HH[t]?.[h]){const a=o.options.chartDimensionLinkage;let l=!s;if(s||"object"!=typeof a||(l=a.showTooltip??!0,l=l&&zH(h,o)),s)o.stateManager.hover.cellPos.col===h&&o.stateManager.hover.cellPos.row===t||HH[t][h].showCrosshair?.((t=>"left"===t.layoutOrient?i:e));else{const i=o.getCellRelativeRect(h,t),s=o.frozenColCount?o.getCellRelativeRect(o.frozenColCount-1,t).right:0,a=Math.max(s,o.getCellRelativeRect(h,t).left);n?(o.stateManager.hover.cellPos.col===h&&o.stateManager.hover.cellPos.row===t||HH[t][h].hideTooltip(),HH[t][h].setDimensionIndex(e,{tooltip:!1,showTooltipOption:{x:a-i.left,y:r.y-i.top,activeType:"dimension"}})):HH[t][h].setDimensionIndex(e,{tooltip:l,showTooltipOption:{x:a-i.left,y:r.y-i.top,activeType:"dimension"}})}}}),0);kH.push(c),o.scenegraph.updateNextFrame()}}function FH(t,e,i=!1){WH();const{rowStart:r}=e.getBodyVisibleRowRange();let o=e.getBodyVisibleRowRange().rowEnd;o=Math.min(e.rowCount-1-e.bottomFrozenRowCount,o);const{colStart:n}=e.getBodyVisibleColRange();let s=e.getBodyVisibleColRange().colEnd;s=Math.min(e.colCount-1-e.rightFrozenColCount,s);for(let a=n;a<=s;a++){lt(PH[a])||(PH[a]={});for(let n=r;n<=o;n++){const r=e.scenegraph.getCell(a,n),o=r?.getChildren()?.[0];PH[a][n]||lt(o)&&(o.addUpdateShapeAndBoundsTag(),o.activeChartInstance?PH[a][n]=o.activeChartInstance:"pie"===o.attribute.spec.type&&(o.activate(e),PH[a][n]=o.activeChartInstance));const s=setTimeout((()=>{if(PH[a]?.[n]){const r=e.options.chartDimensionLinkage;let o=!0;"object"==typeof r&&(i?(PH[a][n].setHovered(),PH[a][n].hideTooltip()):(o=r.showTooltip??!0,o=o&&IH(n,e),o=o&&zH(a,e),PH[a][n].setHovered(t),o&&PH[a][n].showTooltip(t,{activeType:"mark"})))}}),0);kH.push(s),e.scenegraph.updateNextFrame()}}}function IH(t,e){let i=!0;const{rowStart:r}=e.getBodyVisibleRowRange();let o=e.getBodyVisibleRowRange().rowEnd;o=Math.min(e.rowCount-1-e.bottomFrozenRowCount,o);const n=e.options.chartDimensionLinkage;if(t===o&&i){const t=n.heightLimitToShowTooltipForEdgeRow??0,{rowEnd:r}=e.getBodyVisibleRowRange(0,-t);if(r===o)i=!0;else{const{rowEnd:t}=e.getBodyVisibleRowRange(0,5);i=t!==o}}else if(t===r&&i){const t=n.heightLimitToShowTooltipForEdgeRow??0,{rowStart:o}=e.getBodyVisibleRowRange(t,0);if(o===r)i=!0;else{const{rowStart:t}=e.getBodyVisibleRowRange(0,-5);i=t!==r}}return i}function zH(t,e){let i=!0;const{colStart:r}=e.getBodyVisibleColRange();let o=e.getBodyVisibleColRange().colEnd;o=Math.min(e.colCount-1-e.rightFrozenColCount,o);const n=e.options.chartDimensionLinkage;if(t===o&&i){const t=n.widthLimitToShowTooltipForEdgeColumn,{colEnd:r}=e.getBodyVisibleColRange(0,-t);if(r===o)i=!0;else{const{colEnd:t}=e.getBodyVisibleColRange(0,5);i=t!==o}}else if(t===r&&i){const t=n.widthLimitToShowTooltipForEdgeColumn,{colStart:o}=e.getBodyVisibleColRange(t,0);if(o===r)i=!0;else{const{colStart:t}=e.getBodyVisibleColRange(0,-5);i=t!==r}}return i}function OH(t,e,i,r=!1){if(lt(PH[t])){for(const o in PH[t]){if(lt(e)&&Number(o)===e)continue;const n=i.scenegraph.getCell(t,Number(o)),s=n?.getChildren()?.[0];lt(s)&&(s.addUpdateShapeAndBoundsTag(),s.deactivate(i,{forceRelease:r,releaseChartInstance:!0,releaseColumnChartInstance:!1,releaseRowChartInstance:!1}),PH[t][o]=null)}delete PH[t]}}function DH(t,e,i,r=!1){if(lt(HH[t]))for(const o in HH[t]){if(lt(e)&&Number(o)===e)continue;const n=i.scenegraph.getCell(Number(o),t),s=n?.getChildren()?.[0];lt(s)&&(s.addUpdateShapeAndBoundsTag(),s.deactivate(i,{forceRelease:r,releaseChartInstance:!0,releaseColumnChartInstance:!1,releaseRowChartInstance:!1}),HH[t][o]=null)}delete HH[t]}function WH(){for(const t of kH)clearTimeout(t);kH.length=0}let NH=!1;function GH(){return NH}function VH(t){return 2===t.length&&yt(t[0])&&yt(t[1])&&t[1]>=t[0]}function jH(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 UH(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 KH(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 $H(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 XH(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 YH(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 qH(t,e,i){if(i._table.isPivotChart())if(i.indicatorsAsCol){if(i.hasTopIndicatorAxis&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){const r=i.getIndicatorKey(t,e),o=i.getIndicatorInfo(r);if(!o?.hasTopIndicatorAxis)return;const n=rk("top",t,e+1,t,i.columnHeaderLevelCount-1,t,e,1,i);if(!n)return;const s=wM(rP("padding",i._table._getCellStyle(t,e+1),t,e+1,i._table)),{range:a,ticks:l,axisOption:h,targetTicks:c,targetRange:d,index:u,theme:g}=n;return bt(h?.min)&&(a.min=h.min,a.min>0&&(h.zero=!1)),bt(h?.max)&&(a.max=h.max,a.max<0&&(h.zero=!1)),Et({range:a},h,{orient:"top",type:h?.type||"linear",label:{flush:!0},tick:{tickMode:YH(c,d,a,u)},__ticksForVTable:l,__vtableChartTheme:g,__vtableBodyChartCellPadding:s})}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=rk("bottom",t,e-1,t,e,t,e,0,i),{chartType:s}=ZH(t,e-1,"bottom",i);if(!n)return;const a=wM(rP("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table)),{range:l,ticks:h,axisOption:c,index:d,targetTicks:u,targetRange:g,theme:p}=n;bt(c?.max)?(l.max=c.max,l.max<0&&(c.zero=!1)):"boxPlot"===s&&(l.max+=(l.max-l.min)/20),bt(c?.min)?(l.min=c.min,l.min>0&&(c.zero=!1)):"boxPlot"===s&&(l.min-=(l.max-l.min)/20);let f=[];if("heatmap"===s){const r=i.getDimensionKeyInChartSpec(t,i.rowCount-i.bottomFrozenRowCount-1,"xField"),o=i.dataset.collectedValues[r]??[],n=i.getColKeysPath(t,e);f=o?.[n??""]??[]}return Et({title:{visible:!0,text:o?.title},range:l,domain:"linear"===c?.type?void 0:Array.from(f)},c,{orient:"bottom",type:c?.type||"linear",label:{flush:!0},tick:{tickMode:YH(u,g,l,d)},__ticksForVTable:h,__vtableChartTheme:p,__vtableBodyChartCellPadding:a})}if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){let r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);pt(r)&&(r=r[0]);const o=(i.dataset.collectedValues[r]??[])[i.getRowKeysPath(t,e)??""]??[],{axisOption:n,theme:s,chartType:a}=ZH(t+1,e,"left",i);if(!1===n?.visible)return;const l=wM(rP("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),h=i.getRawChartSpec(t+1,e);return Et({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",label:{flush:!0},inverse:ek(n,"horizontal"===(h?.direction??("scatter"===a?"vertical":"horizontal"))),__vtableChartTheme:s,__vtableBodyChartCellPadding: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=rk("left",t+1,e,t,e,t,e,0,i),{chartType:s}=ZH(t+1,e,"left",i);if(!n)return;const a=wM(rP("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),{range:l,ticks:h,axisOption:c,index:d,targetTicks:u,targetRange:g,theme:p}=n;bt(c?.max)?(l.max=c.max,l.max<0&&(c.zero=!1)):"boxPlot"===s&&(l.max+=(l.max-l.min)/20),bt(c?.min)?(l.min=c.min,l.min>0&&(c.zero=!1)):"boxPlot"===s&&(l.min-=(l.max-l.min)/20);let f=[];if("heatmap"===s){const r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e,"yField"),o=i.dataset.collectedValues[r]??[],n=i.getRowKeysPath(t,e);f=o?.[n??""]??[]}return Et({title:{visible:!0,text:o?.title,autoRotate:!0},range:l,domain:"linear"===c?.type?void 0:Array.from(f)},c,{orient:"left",type:c?.type||"linear",label:{flush:!0},tick:{tickMode:YH(u,g,l,d)},__ticksForVTable:h,__vtableChartTheme:p,__vtableBodyChartCellPadding:a})}if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){const r=i.getIndicatorKey(t,e),o=i.getIndicatorInfo(r);if(!o?.hasRightIndicatorAxis)return;const{axisOption:n,chartType:s}=ZH(t-1,e,"right",i),a=rk("right",t-1,e,i.rowHeaderLevelCount-1,e,t,e,1,i);if(!a)return;const l=wM(rP("padding",i._table._getCellStyle(t-1,e),t-1,e,i._table)),{range:h,ticks:c,index:d,targetTicks:u,targetRange:g,theme:p}=a;bt(n?.min)&&(h.min=n.min,h.min>0&&(n.zero=!1)),bt(n?.max)&&(h.max=n.max,h.max<0&&(n.zero=!1));let f=[];if("heatmap"===s){const r=i.getDimensionKeyInChartSpec(i.colCount-i.rightFrozenColCount-1,e,"yField"),o=i.dataset.collectedValues[r]??[],n=i.getRowKeysPath(t,e);f=o?.[n??""]??[]}return Et({range:h,title:{autoRotate:!0},domain:"linear"===n?.type?void 0:Array.from(f)},n,{orient:"right",type:n?.type||"linear",label:{flush:!0},tick:{tickMode:YH(u,g,h,d)},__ticksForVTable:c,__vtableChartTheme:p,__vtableBodyChartCellPadding:l})}if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){let r=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);pt(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}=ZH(t,e-1,"bottom",i);if(!1===a?.visible)return;const d=wM(rP("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table));return Et({domain:"linear"===a?.type?void 0:Array.from(s),range:"linear"===a?.type?s:void 0},a,{orient:"bottom",type:a?.type??"band",label:{flush:!0},__vtableChartTheme:h,__vtableBodyChartCellPadding:d})}}}function ZH(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&&pt(n)){const t=n.find((t=>t.orient===i));if(t){t.zero&&bt(t.range?.min)&&(t.zero=!1);const{seriesIndex:e,seriesId:n}=t;let s,a;lt(n)&&pt(o.series)?s=(pt(n)?n:[n]).map((t=>{const e=o.series.findIndex((e=>e.id===t));return e>=0&&(a=o.series[e]),e})):lt(e)&&pt(o.series)&&(s=e);const{isZeroAlign:l,isTickAlign:h}=JH(o,i,r);return t.labelHoverOnAxis||(t.labelHoverOnAxis=r._table.options.chartDimensionLinkage?.labelHoverOnAxis?.[i]),{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))??{};s.zero&&bt(s.range?.min)&&(s.zero=!1),s&&!s.labelHoverOnAxis&&(s.labelHoverOnAxis=r._table.options.chartDimensionLinkage?.labelHoverOnAxis?.[i]);const{isZeroAlign:a,isTickAlign:l}=JH(o,i,r);return{axisOption:s,isPercent:!1,isZeroAlign:a,isTickAlign:l,theme:o.theme,chartType:o.type}}function JH(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&&pt(t.axes)?t.axes:i._table.pivotChartAxes;let n=!1,s=!1;if(pt(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 QH(t,e,i,r,o){if(pt(o)){const n={min:1/0,max:-1/0};for(let s=0;s<o.length;s++){const a=QH(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]??e?.[0];if(pt(n)&&(n=n[0]),!n)return null;const s=t[n],a=Et({},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 tk;function ek(t,e){let i=t?.inverse;var r;return e&&(r=t?.orient,"bottom"!==r&&"top"!==r)&&(i=!lt(t?.inverse)||!t?.inverse),i}function ik(t,e,i,r){if(!(pt(t.axes)&&0!==t.axes.length||pt(e)&&0!==e.length))return i&&r||!i&&!r;if(pt(t.axes)&&t.axes.length>0)for(let e=0;e<t.axes.length;e++){const o=t.axes[e];if(!i&&r&&"bottom"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"===o.type)return!0}if(i&&r&&"bottom"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"!==o.type)return!0}if(!i&&!r&&"left"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"!==o.type)return!0}if(i&&!r&&"left"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"===o.type)return!0}}if(pt(e)&&e.length>0)for(let o=0;o<e.length;o++){const n=e[o];if(!i&&r&&"bottom"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"===n.type)return!0}if(i&&r&&"bottom"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"!==n.type)return!0}if(!i&&!r&&"left"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"!==n.type)return!0}if(i&&!r&&"left"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"===n.type)return!0}}return i&&r||!i&&!r}function rk(t,e,i,r,o,n,s,a,l){const h=l.getIndicatorKeyInChartSpec(r>=0?r:n,o>=0?o:s);let c;c="top"===t||"bottom"===t?l.getColKeysPath(n,s):l.getRowKeysPath(n,s);const d=ok(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}=sk(e,i,d.index,d.isZeroAlign,d.isTickAlign,d.range,h,u,c,l);if(0!==d.index&&p){const e=RA.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 ok(t,e,i,r,o,n,s){const{axisOption:a,isPercent:l,isZeroAlign:h,isTickAlign:c,seriesIndice:d,theme:u,chartType:g}=ZH(t,e,r,s),p=QH(s.dataset.collectedValues,o,h,n,d??i);if(!p)return;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));const f=RA.getFunction("getAxisDomainRangeAndLabels"),{range:m,ticks:b}=f(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=m[0],p.max=m[1]);const y=b;return bt(a?.min)&&(p.min=a.min),bt(a?.max)&&(p.max=a.max),{index:d??i,range:p,ticks:y,isZeroAlign:h,isTickAlign:c,axisOption:a,theme:u,chartType:g}}function nk(t,e,i,r,o,n,s,a){const{range:l,isZeroAlign:h,isTickAlign:c,axisOption:d,chartType:u}=ok(t,e,i,r,n,s,a),{targetRange:g,targetTicks:p}=sk(t,e,i,h,c,l,n,o,s,a);if(0!==i&&p){const i=RA.getFunction("getAxisDomainRangeAndLabels"),{range:o,ticks:n}=i(l.min,l.max,Et({},d,{nice:!0,tick:{forceTickCount:p.length}}),h,"bottom"===r||"top"===r?a._table.getColWidth(t)||a._table.tableNoFrameWidth:a._table.getRowHeight(e)||a._table.tableNoFrameHeight,{targetTicks:p,targetRange:g});l.min=o[0],l.max=o[1]}return{axisOption:d,range:l,targetTicks:p,targetRange:g,chartType:u}}function sk(t,e,i,r,o,n,s,a,l,h){let c,d;if(!r&&!o)return{targetTicks:c,targetRange:d};const u=ok(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(!VH(i)||!VH(r))return;const o=jH(i),n=jH(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(!KH(o,n))return}else if(0===d&&0===u){if(!KH(n,o))return}else if(c||f)if(c&&!f){if(!UH(o,n))return}else if(f&&!c){if(!UH(n,o))return}else{if(a===u)return;if(a>u){if(!$H(o,n))return}else if(!$H(n,o))return}else{if(0===a&&0===d){if(!XH(o,n))return}else if(0===u&&0===s&&!XH(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=RA.getFunction("getAxisDomainRangeAndLabels"),{axisOption:a,isZeroAlign:l}=ZH(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"}(tk||(tk={}));const ak=ra();class lk extends ph{type="chart";chartInstance;activeChartInstance;activeChartInstanceLastViewBox=null;activeChartInstanceHoverOnMark=null;justShowMarkTooltip=void 0;justShowMarkTooltipTimer=Date.now();delayRunDimensionHoverTimer=void 0;cacheCanvas;isShareChartSpec;constructor(t,e){if(super(e),this.numberType=ak,this.isShareChartSpec=t,e.chartInstance)this.chartInstance=e.chartInstance;else{const t=this.chartInstance=new e.ClassType(e.spec,Et({},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){if(this.activeChartInstance)return;const{col:e,row:i}=this.parent,r=xH(this.parent,t),{x1:o,y1:n,x2:s,y2:a}=this.getViewBox(),l=function(t,e,i){const{layoutMap:r}=i.internalProps,o=new Xe,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),h=l.intersect({x1:o-t.scrollLeft,x2:s-t.scrollLeft,y1:n-t.scrollTop,y2:a-t.scrollTop});this.attribute.ClassType.globalConfig.uniqueTooltip=!1,this.activeChartInstance=new this.attribute.ClassType(this.attribute.spec,Et({},this.attribute.tableChartOption,{renderCanvas:this.attribute.canvas,mode:"desktop-browser",canvasControled:!1,viewBox:{x1:0,x2:s-o,y1:0,y2:a-n},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(h.x1,h.y1,h.x2-h.x1,h.y2-h.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,c.resumeRender()},renderHooks:{afterClearRect(t){const{context:e,layer:i,viewBox:o}=t;i.main&&t.clear&&r&&(e.beginPath(),e.fillStyle=r,e.rect(o.x1,o.y1,o.x2-o.x1,o.y2-o.y1),e.fill())}},componentShowContent:t.options.chartDimensionLinkage?.showTooltip&&"scatter"!==this.attribute.spec.type?{tooltip:{dimension:!1,mark:!0},crosshair:!1}:void 0}));const c=this.activeChartInstance.getStage(),d=this.globalTransMatrix.clone(),u=this.stage.window.getViewBoxTransform();let g;d.multiply(u.a,u.b,u.c,u.d,u.e,u.f),c.window.setViewBoxTransform&&c.window.setViewBoxTransform(d.a,d.b,d.c,d.d,d.e,d.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,void 0):lk.temp&&t.scenegraph.updateChartState(e?.datum,"click")})),t.options.chartDimensionLinkage?.listenBrushChange&&(g=function(t,e){let i=null,r=null,o=null;return{throttled:function(...n){r=n,o=this,i||(i=setTimeout((()=>{r&&t.apply(o,r),i=null,r=null,o=null}),e))},cancel:()=>{i&&(clearTimeout(i),i=null,r=null,o=null)},flush:()=>{i&&r&&(clearTimeout(i),t.apply(o,r),i=null,r=null,o=null)}}}(t.scenegraph.updateChartState.bind(t.scenegraph),t.options.chartDimensionLinkage?.brushChangeDelay??100),this.activeChartInstance.on("brushChange",(t=>{g.throttled(t?.value?.inBrushData,"brush")}))),this.activeChartInstance.on("brushStart",(t=>{const r=MH();r!==this.activeChartInstance&&(r&&r.getChart()?.getComponentsByKey("brush")[0].clearBrushStateAndMask(),RH(this.activeChartInstance,e,i))})),this.activeChartInstance.on("brushEnd",(e=>{g?.cancel(),t.scenegraph.updateChartState(e?.value?.inBrushData,"brush"),lk.temp=0,setTimeout((()=>{lk.temp=1}),0)})),t.options.chartDimensionLinkage?.showTooltip&&("pie"===this.attribute.spec.type&&(this.activeChartInstance.on("pointerover",{markName:"pie"},(e=>{const i=this.attribute.spec.categoryField;FH({[i]:e?.datum?.[i]},t,!1)})),this.activeChartInstance.on("pointerout",{markName:"pie"},(e=>{const i=this.attribute.spec.categoryField;FH({[i]:e?.datum?.[i]},t,!0)}))),this.activeChartInstance.on("dimensionHover",(r=>{if(GH())return;this.activeChartInstance.disableTooltip(!1);const o=r?.dimensionInfo[0],n=r?.event?.canvas,s=r?.event?.viewport;if(s){const a=o.data[0].series.positionToDataX(s.x),l=o.data[0].series.positionToDataY(s.y);if("scatter"===this.attribute.spec.type){EH(e,a,void 0,n,t,!1,!0),LH(i,void 0,l,n,t,!1,!0);qH(t.rowHeaderLevelCount-1,i,t.internalProps.layoutMap).labelHoverOnAxis&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,i).firstChild.showLabelHoverOnAxis(n.y-t.getCellRelativeRect(e,i).top,l);qH(e,t.rowCount-t.bottomFrozenRowCount,t.internalProps.layoutMap).labelHoverOnAxis&&t.scenegraph.getCell(e,t.rowCount-t.bottomFrozenRowCount).firstChild.showLabelHoverOnAxis(n.x-t.getCellRelativeRect(e,i).left,a)}else{let s=!0;const a=this.activeChartInstanceHoverOnMark,h=this.justShowMarkTooltip;r.mark&&r.datum&&!Array.isArray(r.datum)?(this.activeChartInstanceHoverOnMark=r.mark,s=!0):(this.activeChartInstanceHoverOnMark=null,s=!1),this.justShowMarkTooltip=s;let c=!1;if(!1!==h&&!1===s?(this.justShowMarkTooltipTimer=Date.now(),c=!0):!1===h&&!1===s?c=Date.now()-this.justShowMarkTooltipTimer<100:(!1===h&&!0===s||!0===h&&!0===s)&&(c=!1,this.clearDelayRunDimensionHoverTimer()),"enter"===r.action||"move"===r.action||a!==this.activeChartInstanceHoverOnMark){const r=o.value,a=t.options.indicatorsAsCol;if(c?(this.clearDelayRunDimensionHoverTimer(),this.delayRunDimensionHoverTimer=setTimeout((()=>{GH()||(a?LH(i,r,null,n,t,s,!1):EH(e,r,null,n,t,s,!1))}),100)):a?LH(i,r,null,n,t,s,!1):EH(e,r,null,n,t,s,!1),a){const e=o.data[0].series,n="histogram"===this.attribute.spec.type||"line"===e.type||"area"===e.type?0:e.getYAxisHelper().getBandwidth(0);let s=e.valueToPositionY(r);const a=qH(t.rowHeaderLevelCount-1,i,t.internalProps.layoutMap);let h=l;if("histogram"===this.attribute.spec.type){const{series:t,datum:e}=o.data[0];if(e.length>0){const i=e[0][t.fieldY[0]],r=e[0][t.fieldY2];h=i+" ~ "+r,s=(t.valueToPositionY(i)+t.valueToPositionY(r))/2}}a.labelHoverOnAxis&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,i).firstChild.showLabelHoverOnAxis(s+("line"===e.type||"area"===e.type?0:n/2),h)}else{const i=o.data[0].series,n="histogram"===this.attribute.spec.type||"line"===i.type||"area"===i.type?0:i.getXAxisHelper().getBandwidth(0);let s=i.valueToPositionX(r);const a=qH(e,t.rowCount-t.bottomFrozenRowCount,t.internalProps.layoutMap);let l=r;if("histogram"===this.attribute.spec.type){const{series:t,datum:e}=o.data[0];if(e.length>0){const i=e[0][t.fieldX[0]],r=e[0][t.fieldX2];l=i+" ~ "+r,s=(t.valueToPositionX(i)+t.valueToPositionX(r))/2}}a.labelHoverOnAxis&&t.scenegraph.getCell(e,t.rowCount-t.bottomFrozenRowCount).firstChild.showLabelHoverOnAxis(s+n/2,l)}}}}}))),t._bindChartEvent?.(this.activeChartInstance),GH()&&this.activeChartInstance.disableTooltip(!0)}static temp=1;clearDelayRunDimensionHoverTimer(){clearTimeout(this.delayRunDimensionHoverTimer),this.delayRunDimensionHoverTimer=void 0}deactivate(t,{forceRelease:e=!1,releaseChartInstance:i=!0,releaseColumnChartInstance:r=!0,releaseRowChartInstance:o=!0,releaseAllChartInstance:n=!1}={}){if(this.activeChartInstanceHoverOnMark=null,this.justShowMarkTooltip=void 0,this.justShowMarkTooltipTimer=Date.now(),this.clearDelayRunDimensionHoverTimer(),i){!this.activeChartInstance||!e&&MH()&&MH()===this.activeChartInstance||(this.activeChartInstance?.updateViewBox({x1:-1e3,x2:-800,y1:-1e3,y2:-800},!1,!1),this.activeChartInstance?.release(),this.activeChartInstance=null);const{col:i,row:r}=this.parent;t.internalProps.layoutMap.isAxisCell(t.rowHeaderLevelCount-1,r)&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,r).firstChild?.hideLabelHoverOnAxis?.(),t.internalProps.layoutMap.isAxisCell(i,t.rowCount-t.bottomFrozenRowCount)&&t.scenegraph.getCell(i,t.rowCount-t.bottomFrozenRowCount).firstChild?.hideLabelHoverOnAxis?.()}else{const{col:e,row:i}=this.parent;r&&t.internalProps.layoutMap.isAxisCell(e,t.rowCount-t.bottomFrozenRowCount)&&t.scenegraph.getCell(e,t.rowCount-t.bottomFrozenRowCount).firstChild?.hideLabelHoverOnAxis?.(),o&&t.internalProps.layoutMap.isAxisCell(t.rowHeaderLevelCount-1,i)&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,i).firstChild?.hideLabelHoverOnAxis?.()}n?function(t,e=!1){WH();for(const i in PH)OH(Number(i),void 0,t,e);for(const i in HH)DH(Number(i),void 0,t,e)}(t,e):(r&&OH(this.parent.col,"scatter"===this.attribute.spec.type?this.parent.row:void 0,t,e),o&&DH(this.parent.row,"scatter"===this.attribute.spec.type?this.parent.col:void 0,t,e))}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,a={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))};return this.activeChartInstance?this.activeChartInstanceLastViewBox=a:this.activeChartInstanceLastViewBox=null,a}}let hk,ck=[],dk=[],uk=5,gk=!1;function pk(t){lt(t)&&(uk=t)}function fk(){ck=[],dk=[],gk=!1,Xu.getCancelAnimationFrame()(hk)}function mk(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,p=t.stage.window.getViewBoxTransform().clone();p.multiply(g.a,g.b,g.c,g.d,g.e,g.f),u.window.setViewBoxTransform&&u.window.setViewBoxTransform(p.a,p.b,p.c,p.d,p.e,p.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,!1,{reuse:!1,morph:!1}),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||"number"==typeof i)c.getChart().setLayoutTag(!0),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.getChart().setLayoutTag(!0),c.updateFullDataSync?.(t)}f.fireListeners("before_cache_chart_image",{chartInstance:c});Ck(c.getStage(),t)}function bk(t){gk=!0,dk.length>0?hk=Xu.getRequestAnimationFrame()((()=>{const e=dk.splice(0,uk);ck.splice(0,uk),e.forEach((t=>{mk(t),t.addUpdateBoundTag()})),t.render(),bk(t)})):gk=!1}const yk=2e3;function Ck(t,e){const{viewWidth:i,viewHeight:r}=t;if(i<yk&&r<yk)return e.cacheCanvas=wk(t),void(e.isShareChartSpec||(e.chartInstance?.release(),e.chartInstance=null,e.setAttribute("chartInstance",null)));const o=Math.ceil(r/yk),n=Math.ceil(i/yk),s=[];for(let e=0;e<o;e++)for(let o=0;o<n;o++){const n=o*yk,a=e*yk,l=n+yk>i?i:n+yk,h=a+yk>r?r:a+yk,c=l-n,d=h-a,u=new Xe;u.setValue(n,a,l,h);const g=wk(t,!1,u);s.push({canvas:g,x:n,y:a,width:c,height:d})}e.cacheCanvas=s}function wk(t,e=!0,i){if("released"===t.releaseStatus)return null;const r=function(t,e=!0,i){const r=t.window.getViewBoxTransform(),o=D.get(Xo),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 o.setViewBoxTransform(r.a,r.b,r.c,r.d,0,0),t.renderTo(o),o}(t,e,i),o=r.getNativeHandler();return o.nativeCanvas?o.nativeCanvas:null}const vk=Symbol.for("ChartRender");let xk=class extends xc{type;numberType=ak;drawShape(t,e,i,r,o,n,s,a){const l=dn(t,n?.theme).group,{dataId:h,data:c,spec:d}=t.attribute,{width:u=l.width,height:g=l.height}=t.attribute,{table:p}=t.getRootNode(),{cacheCanvas:f,activeChartInstance:m}=t;if(!m&&f)pt(f)?f.forEach((t=>{const{x:i,y:r,width:o,height:n,canvas:s}=t;e.drawImage(s,i,r,o,n)})):e.drawImage(f,i,r,u,g);else if(m){if(p.options.specFormat){const e=p.options.specFormat(t.attribute.spec,m,t);if(e.needFormatSpec&&e.spec){const t=e.spec;m.updateSpecSync(t,!1,{reuse:!1,morph:!1})}}const e=t.activeChartInstanceLastViewBox,i=t.getViewBox();e&&i.x1===e.x1&&i.x2===e.x2&&i.y1===e.y1&&i.y2===e.y2||m.updateViewBox({x1:0,x2:i.x2-i.x1,y1:0,y2:i.y2-i.y1},!1,!1);const r=m.getStage();r.needRender=!0;const o=t.globalTransMatrix.clone(),n=t.stage.window.getViewBoxTransform().clone();if(n.multiply(o.a,o.b,o.c,o.d,o.e,o.f),r.window.setViewBoxTransform(n.a,n.b,n.c,n.d,n.e,n.f),"string"==typeof h||"number"==typeof h)m.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}),m.updateFullDataSync||m.updateDataSync(e,i?c?.filter((t=>t.hasOwnProperty(i)))??[]:c??[])}m.updateFullDataSync?.(t)}}else p.internalProps.renderChartAsync?(-1===ck.indexOf(`${t.parent.col}+${t.parent.row}`)&&(ck.push(`${t.parent.col}+${t.parent.row}`),dk.push(t)),gk||bk(p)):mk(t)}draw(t,e,i,r){this._draw(t,{},!1,i,r)}};xk=vH([f()],xk);let _k=class{time=Pi.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()}}};_k=vH([f()],_k);let Sk=class{time=Pi.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()}};Sk=vH([f()],Sk);let Ak=class{time=Pi.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)}};Ak=vH([f()],Ak);let Rk=class{time=Pi.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 Tk(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===m_.single&&n.col===e&&n.row===i?r="cellBgColor":o===m_.column&&e>=l&&e<=h?r=IS(s[0],e,i)?"cellBgColor":"inlineColumnBgColor":o===m_.row&&i>=c&&i<=d?r=IS(s[0],e,i)?"cellBgColor":"inlineRowBgColor":o===m_.cross&&(IS(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===m_.single&&n.col===e&&n.row===i?r="cellBgColor":o===m_.column&&n.col===e?r=n.col===e&&n.row===i?"cellBgColor":"inlineColumnBgColor":o===m_.row&&n.row===i?r=n.col===e&&n.row===i?"cellBgColor":"inlineRowBgColor":o===m_.cross&&(n.col===e&&n.row===i?r="cellBgColor":n.col===e?r="inlineColumnBgColor":n.row===i&&(r="inlineRowBgColor")),r}(t,e,i),a){Mk(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 Mk(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}Rk=vH([f()],Rk);let Bk=class{time=Pi.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)}};Bk=vH([f()],Bk);let Pk=class{time=Pi.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}=Gk(t,Math.ceil(w),Math.ceil(v),o);y=n,C=s}else y=Math.ceil(w),C=Math.ceil(v);0===b||pt(b)&&b.every((t=>0===t))?kk(t,e,i,r,l,u,p||f,g||m,y,C):(e.beginPath(),ac(e,i,r,y,C,b,!0,new Array(4).fill(0).map(((o,n)=>(o,s,a,h)=>{Kk(n,o,s,a,h,t,e,i,r,l,u,p||f,g||m,y,C)}))),e.stroke())}}};function Hk(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 kk(t,e,i,r,o,n,s,a,l,h,c,d){const u=Hk(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([])}Pk=vH([f()],Pk);let Ek=class{time=Pi.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)}};Ek=vH([f()],Ek);let Lk=class{time=Pi.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=pt(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}=Gk(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([])}};Lk=vH([f()],Lk);let Fk=class{time=Pi.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)}};Fk=vH([f()],Fk);let Ik=class{time=Pi.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}=Gk(t,Math.ceil(C),Math.ceil(w),n);y?ac(e,i,r,h+s,c+a,y):e.rect(i,r,h,c),e.setStrokeStyle(t,t.attribute,i,r,l),e.stroke()}}};Ik=vH([f()],Ik);let zk=class{time=Pi.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&<(t.mergeStartCol)&<(t.mergeStartRow)&<(t.mergeEndCol)&<(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=eH(t,e.scenegraph);for(let t=r;t<=o;t++)for(let r=n;r<=s;r++){const o=Tk(e.stateManager,t,r);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=Tk(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),rP(i,r,t.col,t.row,e)}(t,e);if(i)t.attribute._vtableHightLightFill=i;else if(e.stateManager.interactionState!==f_.scrolling){const i=xH(t,e);i&&(t.attribute._vtableHightLightFill=i)}}}}};zk=vH([f()],zk);let Ok=class{time=Pi.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}}};Ok=vH([f()],Ok);let Dk=class{time=Pi.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){Nk(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){Nk(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("col-header"===t.role){Nk(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("right-frozen"===t.role){Nk(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getRightFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("bottom-frozen"===t.role){Nk(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-header"===t.role){Nk(e,0,0,g.getFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-top-header"===t.role){Nk(e,0,0,g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-bottom-header"===t.role){Nk(e,0,0,g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-left-bottom-header"===t.role){Nk(e,0,0,g.getFrozenColsWidth(),g.getBottomFrozenRowsHeight())}}};Dk=vH([f()],Dk);const Wk=Math.pow(2,24);function Nk(t,e,i,r,o){t.beginPath();const n=t.applyedMatrix;Math.abs(n.f)>Wk||Math.abs(n.g)>Wk?t.rect(e-Wk,i-Wk,r+2*Wk,o+2*Wk):t.rect(e,i,r,o)}function Gk(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=AA(o,n,s);a&&(n=a.end.col,s=a.end.row),r?(0===n&&(e-=1),0===s&&(i-=1)):((n===o.colCount-1||n===o.frozenColCount-1&&o.scrollLeft||o.containerFit?.width&&o.rightFrozenColCount&&n===o.colCount-o.rightFrozenColCount-1)&&(e-=1),(s===o.rowCount-1||s===o.frozenRowCount-1&&o.scrollTop||o.containerFit?.height&&o.bottomFrozenRowCount&&s===o.rowCount-o.bottomFrozenRowCount-1)&&(i-=1))}else"corner-frozen"===t.role&&(o.scrollLeft&&!r&&(e-=1),o.scrollTop&&!r&&(i-=1));return{width:e,height:i}}let Vk=class{time=Pi.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)}};Vk=vH([f()],Vk);let jk,Uk=class{time=Pi.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||u<=0||g<=0)&&(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||pt(C)&&C.every((t=>0===t))?kk(t,e,i,r,l,p,m||b,f||y,"table-border-rect"!==t.name?Math.ceil(u+o):u+o,"table-border-rect"!==t.name?Math.ceil(g+n):g+n):(e.beginPath(),ac(e,i,r,u,g,C,!0,new Array(4).fill(0).map(((s,a)=>(s,h,c,d)=>{Kk(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 Kk(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p){const f=n,m=h,b=Hk(d),y=!Array.isArray(d),C=!Array.isArray(c),w=Array.isArray(u)||b.isSplitDraw;s.stroke(),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.beginPath(),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),s.closePath(),w||x||(!y&&b.width&&(s.lineWidth=b.width),s.stroke()),s.lineDashOffset=0,s.setLineDash([]),s.beginPath()}Uk=vH([f()],Uk);let $k=class{order=1;interceptors;constructor(){this.interceptors=[new Xk]}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}};$k=vH([f()],$k);class Xk{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(!jk){const t=FB(),e=t.loading_pic.svg,i=t.loading_pic.width,r=t.loading_pic.height;jk=vh({width:i,height:r,image:e})}const{image:l}=jk.attribute;if(!n||!jk.resources)return!1;const h=jk.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}=tP(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 Yk=class{time=Pi.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=gt(w)?w:"...",T=On(t.attribute.lineHeight,y)??y;let M=0;T!==y&&("top"===x?M=(T-y)/2:"middle"===x||"bottom"===x&&(M=-(T-y)/2)),n&&(d?d(e,t.attribute,l):a&&(e.setStrokeStyle(t,t.attribute,_-i,S-r,l),e.strokeText(R,_,S+M))),o&&(c?c(e,t.attribute,l):s&&(e.setCommonStyle(t,t.attribute,_-i,S-r,l),e.fillText(R,_,S+M),this.drawUnderLine(p,f,t,_,S+M,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=jP.measureTextWidth(l,{fontSize:d,fontFamily:u,fontWeight:g,fontStyle:p}),v=Vl(h,w),x=jl(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()}}};Yk=vH([f()],Yk);let qk=class{type="chart";numberType=ak;contains(t,e,i){if(t.attribute.detectPickChartItem){const i=t.activeChartInstance;if(!i)return!1;const r=i.getStage();r.dirtyBounds?.clear();const o=r.pick(e.x,e.y);return(null!==o.graphic||"root"!==o.group.name)&&o}return!!t.AABBBounds.containsPoint(e)}};qk=vH([f()],qk);var Zk=new i(((t,e,i,r)=>{i(cc)?r(cc).to(Vk).inSingletonScope():(t(Vk).toSelf().inSingletonScope(),t(Dl).toService(Vk)),i(dc)?r(dc).to(Uk).inSingletonScope():(t(Uk).toSelf().inSingletonScope(),t(Dl).toService(Uk)),t(xk).toSelf().inSingletonScope(),t(vk).to(xk),t(Pd).to(xk),t(qk).toSelf().inSingletonScope(),t(fp).toService(qk),t(_k).toSelf().inSingletonScope(),t(Il).toService(_k),t(Sk).toSelf().inSingletonScope(),t(Il).toService(Sk),t(Ak).toSelf().inSingletonScope(),t(Il).toService(Ak),t(Rk).toSelf().inSingletonScope(),t(Il).toService(Rk),t(zk).toSelf().inSingletonScope(),t(Fl).toService(zk),t(Ok).toSelf().inSingletonScope(),t(Fl).toService(Ok),t(Pk).toSelf().inSingletonScope(),t(Fl).toService(Pk),t(Bk).toSelf().inSingletonScope(),t(Fl).toService(Bk),t(Ek).toSelf().inSingletonScope(),t(Fl).toService(Ek),t(Lk).toSelf().inSingletonScope(),t(Fl).toService(Lk),t(Fk).toSelf().inSingletonScope(),t(Fl).toService(Fk),t(Ik).toSelf().inSingletonScope(),t(Fl).toService(Ik),t(Dk).toSelf().inSingletonScope(),t(Fl).toService(Dk),t($k).toSelf().inSingletonScope(),t(jd).toService($k),t(Yk).toSelf().inSingletonScope(),t(Nl).toService(Yk)}));function Jk(t,e,i,r){t.internalProps.columnWidthConfig&&function(t,e){t.isPivotTable()?function(t,e){for(let i=0;i<e?.length;i++){const r=e[i],o=r.dimensions,n=r.width,s=t.getCellAddressByHeaderPaths(o);if(s&&s.col>=t.rowHeaderLevelCount){const e=t.getCellHeaderPaths(s.col,t.columnHeaderLevelCount);if(e.colHeaderPaths.length===o.length){let i=!0;for(let t=0;t<o.length;t++){const r=o[t];if(e.colHeaderPaths.findIndex(((t,e)=>t.indicatorKey===r.indicatorKey||t.dimensionKey===r.dimensionKey&&t.value===r.value))<0){i=!1;break}}i&&!t.internalProps._widthResizedColMap.has(s.col)&&(t._setColWidth(s.col,n),t.internalProps._widthResizedColMap.add(s.col))}}else s&&s.col<t.rowHeaderLevelCount&&(t.internalProps._widthResizedColMap.has(s.col)||(t._setColWidth(s.col,n),t.internalProps._widthResizedColMap.add(s.col)))}}(t,e):t.isListTable()&&function(t,e){for(let i=0;i<e?.length;i++){const r=e[i],o=r.key,n=r.width,s=t.internalProps.layoutMap.getColumnByKey(o);if(s.columnDefine){const{col:e}=s;t.internalProps._widthResizedColMap.has(e)||(t._setColWidth(e,n),t.internalProps._widthResizedColMap.add(e))}}}(t,e)}(t,t.internalProps.columnWidthConfig),t.isPivotTable()&&t.internalProps.columnWidthConfigForRowHeader&&function(t,e){for(let i=0;i<e?.length;i++){const r=e[i],o=r.dimensions,n=r.width,s=t.getCellAddressByHeaderPaths(o);s&&s.col<t.rowHeaderLevelCount&&(t.internalProps._widthResizedColMap.has(s.col)||(t._setColWidth(s.col,n),t.internalProps._widthResizedColMap.add(s.col)))}}(t,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?Qk(o,0,t.rowCount-1,t):Qk(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=Qk(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}oE(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);"only-body"===t.widthAdaptiveMode&&(e<t.rowHeaderLevelCount+t.leftRowSeriesNumberCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=n),o+=n}if(o<e&&o>i){let o=0,n=t.colCount;"only-body"===t.widthAdaptiveMode&&(o=t.rowHeaderLevelCount+t.leftRowSeriesNumberCount,n=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount),oE(e-i,o,n,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({async:!0})}t.isPivotTable()&&(o.disableUseGetBodyCache(),o.disableUseHeaderPathCache())}function Qk(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?tE(n,t,e,i,o,r):"number"==typeof n?n:"auto"!==n&&"string"==typeof n?r._adjustColWidth(t,r._colWidthDefineToPxWidth(n)):tE(n,t,e,i,o,r)}function tE(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;{let t=!1;"heatmap"===n.internalProps.layoutMap.getChartSpec(e,n.columnHeaderLevelCount).type&&(t=!0);const i=n.internalProps.layoutMap.getOptimunWidthForChart(e,t);if(i>0)return i}}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=RA.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)||t.isAxisCell(e,h))continue}const i=eE(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(lt(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;lt(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)!==v_.none?(t.length-1)*(u.hierarchyIndent??0):0,u.hierarchyTextStartAlignment&&!n.internalProps.bodyHelper.getHierarchyIcon(e,h)&&(d+=n.internalProps.headerHelper.getHierarchyIconWidth())}}const g=iE(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 eE(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:rE(t,e,i),table:i,originCol:t,originRow:e,forComputation:!0};if("react-custom-layout"===o&&(o=i.reactCustomLayout?.getCustomLayoutFunc(t,e)||OB),st(o)){const t=o(c);if(t.rootContainer){t.rootContainer=qB(t.rootContainer),YB(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=wM(rP("padding",i._getCellStyle(t,e),t,e,i));a+=r[1]+r[3]}return{width:a/s,renderDefault:l}}}function iE(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!==x_.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=wM(rP("padding",s,t,e,r)),d=c[1]+c[3],u=rP("fontSize",s,t,e,r),g=rP("fontFamily",s,t,e,r),p=rP("fontWeight",s,t,e,r);let f;if("checkbox"===i)f=ht(n)?n.text:n;else if("radio"===i)if(pt(n)){f="";const i=r.getBodyColumnDefine(t,e),o=i?.radioDirectionInCell??"vertical";"vertical"===o?n.forEach((t=>{f+=(ht(t)?t.text:t).toString()+"\n"})):"horizontal"===o&&n.forEach((t=>{f+=(ht(t)?t.text:t).toString()}))}else f=ht(n)?n.text:n;else if("button"===i){const i=kS(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=lP(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=rP("size",s,t,e,r);if(o+=i,f){const i=rP("spaceBetweenTextAndIcon",s,t,e,r);o+=i}}else if("radio"===i){const i=rP("size",s,t,e,r),a=rP("outerRadius",s,t,e,r),l=bt(a)?2*a:i,h=rP("spaceBetweenTextAndIcon",s,t,e,r);if(pt(n)){const i=r.getBodyColumnDefine(t,e),a=rP("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=rP("boxWidth",s,t,e,r);o=i}else if("button"===i){const i=rP("buttonPadding",s,t,e,r);o+=2*i}return o}function rE(t,e,i){return{left:0,top:0,right:i.getColWidth(t),bottom:i.getRowHeight(e),width:null,height:null}}function oE(t,e,i,r,o,n,s){let a=0;const l=[],h=[];let c=0;const d=new Map,u=new Map;for(let t=e;t<i;t++){const e=r?o[t]??n.getColWidth(t):n.getColWidth(t),i=n.getMaxColWidth(t),s=n.getMinColWidth(t);if(a+=e,l.push(t),i===e?d.set(t,e):s===e&&u.set(t,e),n.options.customConfig?.shrinkSparklineFirst){"sparkline"===n.getBodyColumnType(t,0)&&(h.push({col:t,width:e}),c+=e-n.defaultColWidth)}}if(a>t)for(const[e,i]of u){t-=i,a-=i;const r=l.indexOf(e);-1!==r&&l.splice(r,1)}else if(a<t)for(const[e,i]of d){t-=i,a-=i;const r=l.indexOf(e);-1!==r&&l.splice(r,1)}const g=t/a;if(n.options.customConfig?.shrinkSparklineFirst&&g<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))*g),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 nE=new QB({});function sE(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:r>=a.columnHeaderLevelCount&&r<a.rowCount-a.bottomFrozenRowCount&&(u=a.getRowsHeight(a.columnHeaderLevelCount,r-1));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=lE(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}C=i,m=s,(l||h)&&(b=$B(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);const R="isAggregation"in a.internalProps.layoutMap&&a.internalProps.layoutMap.isAggregation(e,o),T=a.internalProps.layoutMap.isSeriesNumber(e,o);let M="body"!==y||(_?.dragOrder||!!_?.icon||!!_?.tree)&&!(R&&T);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=lE(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}let B=!1;if(a.internalProps.enableTreeNodeMerge&&f){const t=a.getCellRawRecord(p.start.col,p.start.row),{vtableMergeName:i,vtableMerge:r}=t??{};B=r,r&&(M=!0,a.internalProps.groupTitleCustomLayout&&(b=$B(a.internalProps.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.internalProps.groupTitleFieldFormat?C=a.internalProps.groupTitleFieldFormat(t,e,o,a):void 0!==i&&(C=i))}const P=B||x?"text":(a.isHeader(e,o)?a._getHeaderLayoutMap(e,o).headerType??"text":a.getBodyColumnType(e,o))??"text";if(ES(C)){hE(e,o,0,u,w,v,t),xP(C,a,aE.bind(null,{type:P,value:C,define:_,table:a,col:e,row:o,colWidth:i,cellWidth:w,cellHeight:v,columnGroup:t,y:u,customStyle:m,mayHaveIcon:M,cellLocation:y,range:p,customResult:b,defaultRowHeight:s})),t.updateColumnRowNumber(o);const r=a.getRowHeight(o);t.updateColumnHeight(r),u+=r}else{const r=rB(m||a._getCellStyle(p?p.start.col:e,p?p.start.row:o),a,p?p.start.col:e,p?p.start.row:o,rP).theme;r.group.cornerRadius=oB(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=SP(P,C,_,a,e,o,i,w,v,t,u,h,c,d,M,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,BP(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 aE(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=rB(b||a._getCellStyle(y?y.start.col:l,y?y.start.row:h),a,y?y.start.col:l,y?y.start.row:h,rP).theme;v.group.cornerRadius=oB(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"),SP(o,n,s,a,l,h,c,d,u,g,p,e,i,r,m,v,y,C)}function lE(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 hE(t,e,i,r,o,n,s){const a=new QB({x:i,y:r,width:o,height:n});a.role="cell",a.col=t,a.row=e,s.addChild(a)}function cE(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 QB({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}=sE(u,r,o,n,s,l.scenegraph.mergeMap,"columnHeader"===a&&bt(d)?d:g,l,h);p+=m,f=Math.max(f,b)}t.setAttribute("width",p),t.setAttribute("height",f)}function dE(t){let e=t.firstChild;for(;e&&"group"!==e.type;)e=e._next;return e}function uE(t){let e=t.lastChild;for(;e&&"group"!==e.type;)e=e._prev;return e}function gE(t,e,i,r="left"){for(let o=t;o<=e;o++){const t=i.scenegraph.getColGroup(o);t&&pE(t,i,r);const e=i.scenegraph.getColGroup(o,!0);e&&pE(e,i,r);const n=i.scenegraph.getColGroupInBottom(o);n&&pE(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 pE(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 fE(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?(mE(t,"left",o.screenLeftCol,i,r,o),o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX)):t<0?(mE(-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 mE(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;Jk(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&&wE(r.table.scenegraph.bodyGroup,i,r),r.table.scenegraph.colHeaderGroup.childrenCount>0&&"group"===r.table.scenegraph.colHeaderGroup.firstChild.type&&wE(r.table.scenegraph.colHeaderGroup,i,r),r.table.scenegraph.bottomFrozenGroup.childrenCount>0&&"group"===r.table.scenegraph.bottomFrozenGroup.firstChild.type&&wE(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,vE(h,c,n),gE(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;Jk(n.table,i,r);!function(t,e,i,r){r.table.scenegraph.colHeaderGroup.forEachChildren(((o,n)=>{"group"===o.type&&bE(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&&bE(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&&bE(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,vE(o,s,n),gE(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 bE(t,e,i){t.col=e,t.forEachChildren((t=>{t.col=e,t.needUpdate=!0})),t.setAttribute("x",i),t.needUpdate=!0}function yE(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 CE(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 wE(t,e,i){if("left"===e){const e=dE(t),r=uE(t);bE(e,r.col+1,r.attribute.x+i.table.getColWidth(r.col)),t.appendChild(e),t.border&&t.appendChild(t.border)}else{const e=uE(t),r=dE(t);bE(e,r.col-1,r.attribute.x-i.table.getColWidth(r.col-1)),t.insertBefore(e,t.firstChild)}}function vE(t,e,i){for(let r=t;r<=e;r++){const t=i.table.scenegraph.getColGroup(r,!0);t&&yE(t,i);const e=i.table.scenegraph.getColGroupInBottom(r);e&&yE(e,i);const o=i.table.scenegraph.getColGroupInRightTopCorner(r);o&&yE(o,i);const n=i.table.scenegraph.getColGroupInRightBottomCorner(r);n&&yE(n,i);const s=i.table.scenegraph.getColGroup(r);s&&CE(s,i)}xE(i.table.scenegraph.colHeaderGroup),xE(i.table.scenegraph.bottomFrozenGroup),xE(i.table.scenegraph.bodyGroup),i.progress()}function xE(t){const e=uE(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 _E(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,lt(i))for(let r=t;r<e;r++)i-=o.getRowHeight(r)}else i=SE(e.row,o);lt(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=SE(e.row,o);lt(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 SE(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 AE(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?(RE(t,"up",e,i,r,o),o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY)):t<0?(RE(-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 RE(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(r))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)}XP(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++)TE(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++)TE(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++)TE(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=ME(l,h,n,!0);n.table.isAutoRowHeight(r)&&(_E(n.bodyLeftCol,n.bodyRightCol,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),_E(0,n.table.frozenColCount-1,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),_E(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(r)&&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(r)?(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)),XP(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=ME(a,l,n,!0);n.table.isAutoRowHeight(r)&&(_E(n.bodyLeftCol,n.bodyRightCol,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),_E(0,n.table.frozenColCount-1,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),_E(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(r)&&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 TE(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 ME(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 BE(i.table.scenegraph.rowHeaderGroup),BE(i.table.scenegraph.rightFrozenGroup),BE(i.table.scenegraph.bodyGroup),i.table.scenegraph.updateNextFrame(),s}function BE(t){const e=uE(t);if(!e)return;const i=uE(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 PE(t){const{changedCells:e}=t.internalProps.stick;return e.forEach((e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((t=>{t.setAttributes({dx:e.dx,dy:e.dy})}))})),e.clear(),e}function HE(t){const e=PE(t),{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){LE(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){kE(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){kE(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){LE(t.scenegraph.getCell(r,i),a+t.tableX,t.tableNoFrameWidth-t.getRightFrozenColsWidth()+t.tableX,e,o?.textStickBaseOnAlign,t)}}))}}function kE(t,e,i,r,o,n){if(bt(t.mergeStartCol)&&bt(t.mergeStartRow)&&bt(t.mergeEndCol)&&bt(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=eH(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&&EE(a,e,i,r,o)}}else EE(t,e,i,r,o)}function EE(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 LE(t,e,i,r,o,n){if(bt(t.mergeStartCol)&&bt(t.mergeStartRow)&&bt(t.mergeEndCol)&&bt(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=eH(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&&FE(a,e,i,r,o)}}else FE(t,e,i,r,o)}function FE(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 IE(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)}nE.role="empty";class zE{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(t.columnHeaderLevelCount)?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),this.table.options.maintainedColumnCount&&(this.colLimit=this.table.options.maintainedColumnCount),"adaptive"===this.table.heightMode&&(this.rowLimit=this.table.rowCount),"adaptive"===this.table.widthMode&&(this.colLimit=this.table.colCount)}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(h.columnHeaderLevelCount))?(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&&Jk(h,0,f??g),0===h.internalProps._heightResizedRowMap.size&&XP(h,0,"auto"===h.options.canvasHeight||h.options.customConfig?.forceComputeAllRowHeight?h.rowCount-1:m??p),g<h.colCount-h.rightFrozenColCount&&h.colCount-h.rightFrozenColCount<=h.colCount-1&&Jk(h,h.colCount-h.rightFrozenColCount,h.colCount-1),p<h.rowCount-h.bottomFrozenRowCount&&h.rowCount-h.bottomFrozenRowCount<=h.rowCount-1&&XP(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()}),cE(t,s,a,0,h.frozenColCount-1,0,h.frozenRowCount-1,h.isListTable()?"columnHeader":"cornerHeader",h),g-h.rightFrozenColCount>=h.frozenColCount&&cE(e,s,a,h.frozenColCount,g-h.rightFrozenColCount,0,h.frozenRowCount-1,"columnHeader",h),h.frozenColCount>0&&(h.leftRowSeriesNumberCount>0&&cE(i,s,a,0,h.leftRowSeriesNumberCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,"rowHeader",h),h.frozenColCount>h.leftRowSeriesNumberCount&&cE(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&&cE(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&&cE(c,s,a,0,h.leftRowSeriesNumberCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"rowHeader",h),h.rowHeaderLevelCount>0&&cE(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&&cE(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&&cE(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&&(cE(d,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,0,h.frozenRowCount-1,"columnHeader",h),cE(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&&cE(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&&cE(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()),HE(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("adaptive"!==this.table.heightMode&&XP(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}=sE(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}=sE(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}=sE(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);"adaptive"!==this.table.widthMode&&Jk(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&&bt(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 QB?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;cE(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 QB?this.table.scenegraph.bottomFrozenGroup.lastChild:this.table.scenegraph.bottomFrozenGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;cE(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 QB?this.table.scenegraph.bodyGroup.lastChild:this.table.scenegraph.bodyGroup.lastChild._prev);i||(i=this.table.scenegraph.colHeaderGroup.lastChild&&(this.table.scenegraph.colHeaderGroup.lastChild instanceof QB?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev));const r=i.attribute.x+i.attribute.width,o=i.attribute.y;cE(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){AE(t,e,i,this)}async dynamicSetX(t,e,i=!1){fE(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(this.rowUpdatePos)&&XP(this.table,this.rowUpdatePos,e,!1),ME(this.rowUpdatePos,e,this),this.table.isAutoRowHeight(this.rowUpdatePos)&&(_E(this.bodyLeftCol,this.bodyRightCol,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),_E(0,this.table.frozenColCount-1,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),_E(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(t)&&XP(this.table,t,e,!1),ME(t,e,this),this.table.isAutoRowHeight(t)&&(_E(this.bodyLeftCol,this.bodyRightCol,t,e,this.table,this.rowUpdateDirection),_E(0,this.table.frozenColCount-1,t,e,this.table,this.rowUpdateDirection),_E(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&&Jk(this.table,t,e,!1),vE(t,e,this),this.table.isAutoRowHeight(this.rowStart)&&gE(t,e,this.table,this.colUpdateDirection)}async updateColCellGroupsAsync(){this.updateColGroups(this.taskRowCount)}updateColGroups(t){const e=Math.min(this.bodyRightCol,this.colUpdatePos+t);"autoWidth"===this.table.widthMode&&Jk(this.table,this.colUpdatePos,e),vE(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(t.rowStart)?(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();XP(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??0);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)}ME(e,i,t),t.table.isAutoRowHeight(e)&&_E(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(t.rowStart)||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);Jk(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)}vE(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 nE;if(t>=this.table.frozenColCount&&t<this.table.colCount-this.table.rightFrozenColCount&&(t<this.colStart||t>this.colEnd))return nE;if(this.cellCache.get(t)){const r=this.cellCache.get(t);if((r._next||r._prev)&&Math.abs(r.row-e)<e){let o=OE(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=this.table.getRowHeight(this.rowEnd),i=t.attribute.y+e-(this.table.getAllRowsHeight()-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight());this.deltaY=-i}}else if(lt(e)&<(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(lt(e)&<(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 OE(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?OE(i,e):t.row<e&&r&&r.row===t.row+1?OE(r,e):null}function DE(t){t.customSelectedRangeComponents.forEach(((e,i)=>{WE(e,i,t)})),t.selectingRangeComponents.forEach(((e,i)=>{WE(e,i,t)})),t.selectedRangeComponents.forEach(((e,i)=>{WE(e,i,t)}))}function WE(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;if(t.rect.setAttributes({x:C.x1-i.tableGroup.attribute.x,y:C.y1-i.tableGroup.attribute.y,width:b,height:y,visible:!0}),r.hasListeners(jS.AFTER_UPDATE_SELECT_BORDER_HEIGHT)&&r.fireListeners(jS.AFTER_UPDATE_SELECT_BORDER_HEIGHT,{startRow:p,endRow:m,currentHeight:y,selectComp:t}),t.fillhandle){const e=i.table.options.excelOptions?.fillHandle;let o,n,s=!0;"function"==typeof e&&(s=e({selectRanges:i.table.stateManager.select.ranges,table:i.table})),c<r.colCount-1?(o=i.highPerformanceGetCell(c,d).globalAABBBounds,n=o.x2-i.tableGroup.attribute.x-3):0===l?(o=i.highPerformanceGetCell(0,d).globalAABBBounds,n=o.x1-i.tableGroup.attribute.x):(o=i.highPerformanceGetCell(l-1,d).globalAABBBounds,n=o.x2-i.tableGroup.attribute.x-3),o=d<r.rowCount-1?i.highPerformanceGetCell(c,d).globalAABBBounds:i.highPerformanceGetCell(c,h-1).globalAABBBounds;const a=o.y2-i.tableGroup.attribute.y-3;t.fillhandle?.setAttributes({x:n,y:a,width:6,height:6,visible:s})}let w=!!r.frozenColCount&&l===r.frozenColCount;if(!w&&r.frozenColCount&&r.scrollLeft>0&&l>=r.frozenColCount){r.getColsWidth(0,l-1)-r.scrollLeft<r.getFrozenColsWidth()&&(w=!0)}let v=!!r.rightFrozenColCount&&(r.rightFrozenColCount>0&&c===r.colCount-r.rightFrozenColCount-1);if(!v&&r.rightFrozenColCount&&c<r.colCount-r.rightFrozenColCount){r.getColsWidth(0,c)-r.scrollLeft>r.tableNoFrameWidth-r.getRightFrozenColsWidth()&&(v=!0)}let x=!r.frozenRowCount||h===r.frozenRowCount;if(!x&&r.frozenRowCount&&r.scrollTop>0&&h>=r.frozenRowCount){r.getRowsHeight(0,h-1)-r.scrollTop<r.getFrozenRowsHeight()&&(x=!0)}let _=!!r.bottomFrozenRowCount&&d===r.rowCount-r.bottomFrozenRowCount-1;if(!_&&r.bottomFrozenRowCount&&d<r.rowCount-r.bottomFrozenRowCount){r.getRowsHeight(0,d)-r.scrollTop>r.tableNoFrameHeight-r.getBottomFrozenRowsHeight()&&(_=!0)}const{dynamicUpdateSelectionSize:S}=r.theme.selectionStyle;if(w&&(t.rect.attribute.stroke[3]||S)||v&&(t.rect.attribute.stroke[1]||S)||x&&(t.rect.attribute.stroke[0]||S)||_&&(t.rect.attribute.stroke[2]||S)){if(w&&t.rect.attribute.stroke[3]&&i.tableGroup.insertAfter(t.rect,"columnHeader"===t.role?i.cornerHeaderGroup:"bottomFrozen"===t.role?i.leftBottomCornerGroup:i.rowHeaderGroup),_&&t.rect.attribute.stroke[2]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.leftBottomCornerGroup:"rightFrozen"===t.role?i.rightBottomCornerGroup:i.bottomFrozenGroup),x&&t.rect.attribute.stroke[0]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.cornerHeaderGroup:"rightFrozen"===t.role?i.rightTopCornerGroup:i.colHeaderGroup),v&&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 NE(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=AA(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=AA(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=AA(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=AA(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(),e.start.col>e.end.col?(e.start.col=Math.max(h,d),e.end.col=Math.min(h,d)):(e.start.col=Math.min(h,d),e.end.col=Math.max(h,d)),e.start.row>e.end.row?(e.start.row=Math.max(c,u),e.end.row=Math.min(c,u)):(e.start.row=Math.min(c,u),e.end.row=Math.max(c,u))),t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map;const{needRowHeader:p,needRightRowHeader:f,needColumnHeader:m,needBottomColumnHeader:b,needBody:y,needCornerHeader:C,needRightTopCornerHeader:w,needLeftBottomCornerHeader:v,needRightBottomCornerHeader:x}=iP(h,c,d,u,r);if(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(v){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(x){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,!x,!0,!v];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,!v,!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,!x,!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 GE(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)}))}function VE(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)}))}function jE(t,e,i,r,o,n,s){if(!e)return;const a=Array.isArray(e)?e:[e,e,e,e],l=s.colCount-1,h=s.rowCount-1,c=[0,0,0,0];let d=!1;return 0===i&&0===r?(c[0]=a[0],d=!0):o===l&&n===h?(c[2]=a[2],d=!0):0===i&&n===h?(c[3]=a[3],d=!0):o===l&&0===r&&(c[1]=a[1],d=!0),d?c:void 0}function UE(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 KE(t){t.selectedRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectedRangeComponents=new Map}function $E(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map}function XE(t,e,i,r,o){IE(r)&&PE(r);const n=r.scenegraph,s=xS(t.map((t=>t.row))).sort(((t,e)=>e-t)),a=xS(e.map((t=>t.row))).sort(((t,e)=>t-e)),l=xS(i.map((t=>t.row))).sort(((t,e)=>t-e));let h;if(l.length){h=JE(l[0]-1,l[l.length-1]+1,n)}if(a.length){const t=JE(a[0]-1,a[a.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}if(s.length){const t=JE(s[0]-1,s[s.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}s.forEach((t=>{!function(t,e,i){const r=e.proxy;t>=r.rowStart&&t<=r.rowEnd&&(qE(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=AA(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=ZE(s[s.length-1]-1,s[0]-s.length+1,n);h=lt(h)?lt(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++,YE(t,e),t):void 0;if(r.rowEnd-r.rowStart+1<r.rowLimit)return r.rowEnd++,r.currentRow++,YE(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=AA(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=ZE(a[0]-1,a[a.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}const u=new Set;for(let t=0;t<r.colCount;t++)l.forEach((e=>{if(e<r.frozenRowCount){const i=AA(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++){const i=`${t}-${e}`;u.has(i)||(RP(t,e,n.table,!1),u.add(i))}else RP(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))qE(e,n);else{const i=AA(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++){const i=`${t}-${e}`;u.has(i)||(RP(t,e,n.table,!1),u.add(i))}else RP(t,e,n.table,!1)}}));if(l.length){const t=ZE(l[0]-1,l[l.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}if(bt(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=lt(h)?lt(d)?Math.min(h,d):h:d}if(bt(h)&&(n.proxy.rowUpdatePos=Math.min(n.proxy.rowUpdatePos,h)),a.length){if(!bt(d)){const t=Math.min(...a);n.proxy.rowUpdatePos=Math.min(t,n.proxy.rowUpdatePos)}n.proxy.rowUpdateDirection="up",n.proxy.updateCellGroups(2*n.proxy.screenRowCount),p()}else s.length&&(!function(t,e){if(e.table.isHasSeriesNumber())for(let i=t;i<=e.table.rowCount-1;i++)RP(0,i,e.table,!1)}(s[s.length-1],n),n.proxy.updateCellGroups(2*n.proxy.screenRowCount),p());n.proxy.progress();const g=r.getRowsHeight(r.frozenRowCount,r.rowCount-1-r.bottomFrozenRowCount);function p(){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,g-n.bodyGroup.attribute.height)}function YE(t,e){for(let i=0;i<e.table.colCount;i++){const r=new QB({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 qE(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 ZE(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&&(QE(n,i),s=n.start.row);const a=i.table.getCellRange(o,e);a.start.row<=e+1&&a.end.row>=e+1&&(QE(a,i),s=a.start.row),lt(s)&&(r=lt(r)?Math.min(r,s):s)}return r}function JE(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&&(QE({start:{row:s.mergeStartRow,col:i.table.isAutoRowHeight(e)?0:s.mergeStartCol},end:{row:s.mergeEndRow,col:i.table.isAutoRowHeight(e)?i.table.colCount-1:s.mergeEndCol}},i),n=s.mergeStartRow);const a=i.highPerformanceGetCell(o,e);a.mergeStartRow&&a.mergeEndRow&&a.mergeStartRow<e&&(QE({start:{row:a.mergeStartRow,col:i.table.isAutoRowHeight(e)?0:a.mergeStartCol},end:{row:a.mergeEndRow,col:i.table.isAutoRowHeight(e)?i.table.colCount-1:a.mergeEndCol}},i),n=a.mergeStartRow),lt(n)&&(r=lt(r)?Math.min(r,n):n)}return r}function QE(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 tL(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=NB(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=NB(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 eL(t){const e=t.bodyGroup.firstChild instanceof QB?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 iL(t){const e=t.colHeaderGroup.firstChild instanceof QB?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 rL(t){const e=t.rowHeaderGroup.lastChild instanceof QB?t.rowHeaderGroup.lastChild:t.rowHeaderGroup.lastChild?._prev;e&&(aL(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 oL(t){const e=t.cornerHeaderGroup.lastChild instanceof QB?t.cornerHeaderGroup.lastChild:t.cornerHeaderGroup.lastChild?._prev;e&&(aL(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 nL(t){const e=t.bottomFrozenGroup.firstChild instanceof QB?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 sL(t){const e=t.leftBottomCornerGroup.lastChild instanceof QB?t.leftBottomCornerGroup.lastChild:t.leftBottomCornerGroup.lastChild?._prev;e&&(aL(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=rB(i,t.table,r?r.start.col:e.col,r?r.start.row:e.row,rP).theme;e.setAttributes({fill:o?.group?.fill??void 0,stroke:o?.group?.stroke??void 0})})))}function aL(t,e,i){e&&t&&(i?t.insertBefore(e,i):t.appendChild(e))}function lL(t){let e=!1;for(let i=0;i<t.bodyGroup.childrenCount;i++){const r=t.bodyGroup.children[i];if(!pL(r))continue;const o=r.firstChild;t.colHeaderGroup.children[i]||cE(t.colHeaderGroup,0,0,o.col,o.col,0,0,"columnHeader",t.table),t.colHeaderGroup.children[i]?.appendChild(o),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height+o.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height-o.attribute.height),e=!0)}}function hL(t){let e=!1;for(let i=0;i<t.rowHeaderGroup.childrenCount;i++){const r=t.rowHeaderGroup.children[i];if(!pL(r))continue;const o=r.firstChild;t.cornerHeaderGroup.children[i]||cE(t.cornerHeaderGroup,0,0,o.col,o.col,0,0,t.table.isListTable()?"columnHeader":"cornerHeader",t.table),t.cornerHeaderGroup.children[i]?.appendChild(o),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height+o.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height-o.attribute.height),e=!0)}}function cL(t){let e=!1;for(let i=0;i<t.rightFrozenGroup.childrenCount;i++){const r=t.rightFrozenGroup.children[i];if(!pL(r))continue;const o=r.firstChild;t.rightTopCornerGroup.children[i]||cE(t.rightTopCornerGroup,0,0,o.col,o.col,0,0,"columnHeader",t.table),t.rightTopCornerGroup.children[i].appendChild(o),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height+o.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height-o.attribute.height),e=!0)}}function dL(t){let e=!1;for(let i=0;i<t.colHeaderGroup.childrenCount;i++){const r=t.colHeaderGroup.children[i];if(!pL(r))continue;const o=t.bodyGroup.children[i];if(!o)continue;const n=r.lastChild;aL(o,n,o.firstChild),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height-n.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height+n.attribute.height),e=!0)}}function uL(t){let e=!1;for(let i=0;i<t.cornerHeaderGroup.childrenCount;i++){const r=t.cornerHeaderGroup.children[i];if(!pL(r))continue;const o=t.rowHeaderGroup.children[i];if(!o)continue;const n=r.lastChild;aL(o,n,o.firstChild),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height-n.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height+n.attribute.height),e=!0)}}function gL(t){let e=!1;for(let i=0;i<t.rightTopCornerGroup.childrenCount;i++){const r=t.rightTopCornerGroup.children[i];if(!pL(r))continue;const o=t.rightFrozenGroup.children[i];if(!o)continue;const n=r.lastChild;aL(o,n,o.firstChild),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height-n.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height+n.attribute.height),e=!0)}}function pL(t){return t instanceof QB&&"table-border-rect"!==t?.name}function fL(t){const e=BH();for(let i=t.proxy.colStart;i<=t.proxy.colEnd;i++){const r=t.getColGroup(i);r?.getChildren()?.forEach((t=>{e&&e.col===t.col&&e.row===t.row||t.children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}))}}function mL(t,e,i){i.getCell(t,e).children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}function bL(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=wM(rP("padding",e._getCellStyle(t.col,t.row),t.col,t.row,e)),o=new(RA.getComponent("axis"))(i,t.attribute.width,t.attribute.height,i.__vtableBodyChartCellPadding??r,e);t.clear(),t.appendChild(o.component),o.overlap()}}}))}))}function yL(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 CL(t,e,i){return new QB({x:0,y:0,width:t,height:e,clip:i??!1,pickable:!1})}function wL(t,e){return t.forEachChildrenSkipChild(((t,i)=>{t.setAttribute("x",e),e+=t.attribute.width})),e}function vL(t,e){return t.forEachChildrenSkipChild(((t,i)=>{t.setAttribute("y",e),e+=t.attribute.height})),e}function xL(t,e,i,r,o){const n=t.name;AL(i,r,(t=>t.name===n),(t=>{hP(e,t),t.name=e.name}),o),o.updateNextFrame()}function _L(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&&xL(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?xL(a,t,n,s,l):function(t,e,i,r){const o=r.getCell(t,e);if(lt(o.mergeStartCol)&<(o.mergeStartRow)&<(o.mergeEndCol)&<(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&&(hP(i,o),o.name=i.name)}else{let t;_S(o,"children",(e=>"sort"===e.attribute.funcType&&(t=e,!0))),t&&(hP(i,t),t.name=i.name)}}(n,s,t,l)}}function SL(t,e,i){t&&"empty"!==t.role&&t.forEachChildren((t=>{"group"===t.type?SL(t,e,i):e(t)&&i(t)}))}function AL(t,e,i,r,o){const n=o.getCell(t,e);if("cell"===n.role&<(n.mergeStartCol)&<(n.mergeStartRow)&<(n.mergeEndCol)&<(n.mergeEndRow)){const{colStart:t,colEnd:e,rowStart:s,rowEnd:a}=eH(n,o);for(let n=t;n<=e;n++)for(let t=s;t<=a;t++)SL(o.highPerformanceGetCell(n,t),i,r)}else SL(n,i,r)}function RL(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=yH(r,void 0),s.lineWidth=o,n&&(s.lineDash=n),s.lineCap="butt",Array.isArray(r)&&(s.strokeArrayColor=wM(r)),Array.isArray(o)&&(s.strokeArrayWidth=wM(o),s.lineWidth=1),t.setAttributes(s),t.role="corner-frozen",t}function TL(t,e,i,r){IE(r)&&PE(r);const o=r.scenegraph,n=ML(t.map((t=>t.col))).sort(((t,e)=>e-t)),s=ML(e.map((t=>t.col))).sort(((t,e)=>t-e)),a=ML(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;n.forEach((t=>{l.delAndReorder(t)})),n.length&&BL(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++,PL(t,e),t):void 0;if(i.colEnd-i.colStart+1<i.colLimit)return i.colEnd++,i.currentCol++,PL(t,e),t;return t}(t,o);BL(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=AA(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);const c=new Set;if(a.forEach((t=>{for(let e=0;e<r.rowCount;e++){const i=AA(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++){const i=`${t}-${e}`;c.has(i)||(RP(t,e,o.table,!1),c.add(i))}else RP(t,e,o.table,!1)}})),bt(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(!bt(h)){const t=Math.min(...s);o.proxy.colUpdatePos=t}o.proxy.colUpdateDirection="left",o.proxy.updateColGroups(2*o.proxy.screenColCount),u(),o.proxy.progress()}else n.length&&(o.proxy.updateColGroups(2*o.proxy.screenColCount),u(),o.proxy.progress());const d=r.getColsWidth(r.frozenColCount,r.colCount-1);function u(){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,d-o.bodyGroup.attribute.width)}function ML(t){const e=[];for(let i=0;i<t.length;i++)-1===e.indexOf(t[i])&&e.push(t[i]);return e}function BL(t){let e=t.bodyColStart;function i(i){i.col=e;const r=AA(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 PL(t,e){if(e.colHeaderGroup&&e.table.columnHeaderLevelCount>0){const r=new QB({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 QB({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 QB({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 QB({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)}}}p_(),D.load(Zk),D.load(DP);class HL{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,Et(Fy.poptip,Ly,e),"node"===oS.mode?(Xu.setEnv("node",t.options.modeParams),i=t.canvasWidth,r=t.canvasHeight):t.options.canvas&&t.options.viewBox?(Xu.setEnv("browser"),i=t.options.viewBox.x2-t.options.viewBox.x1,r=t.options.viewBox.y2-t.options.viewBox.y1):(Xu.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 hg(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 QB({x:0,y:0,width:e,height:i,clip:!0,pickable:!1}),t.tableGroup.role="table";const r=CL(0,0,!t.table.internalProps.enableTreeStickCell);r.role="col-header",t.colHeaderGroup=r;const o=CL(0,0,!t.table.options.enableTreeStickCell);o.role="corner-header",t.cornerHeaderGroup=o;const n=CL(0,0,!0);n.role="row-header",t.rowHeaderGroup=n;const s=CL(e,0,!0);s.role="body",t.bodyGroup=s;const a=CL(0,0,!0);a.role="right-frozen",t.rightFrozenGroup=a;const l=CL(0,0,!0);l.role="bottom-frozen",t.bottomFrozenGroup=l;const h=CL(0,0);h.role="component",t.componentGroup=h;const c=CL(0,0,!0);c.role="corner-right-top-header",t.rightTopCornerGroup=c;const d=CL(0,0,!0);d.role="corner-right-bottom-header",t.rightBottomCornerGroup=d;const u=CL(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)}canvasShowMenu(){this.stage.addEventListener("rightdown",(t=>{const e=WB(t);e.eventArgs||(this.table.stateManager.triggerContextMenu(-1,-1,e.abstractPos.x,e.abstractPos.y),this.table.fireListeners(jS.CONTEXTMENU_CANVAS,{event:t,x:e.abstractPos.x,y:e.abstractPos.y,col:-1,row:-1,target:void 0}))}))}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 fH(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 zE(this.table),mH(this.tableGroup,this.table.theme.frameStyle,this.tableGroup.role,void 0,!0),this.table.isPivotChart()&&(RL(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle||this.table.theme.cornerHeaderStyle||{}),RL(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle||this.table.theme.cornerHeaderStyle||{}),RL(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||nE}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=AA(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)&&DE(this)}hideHoverIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(AL(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&&(AL(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&&(AL(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&&(AL(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,Ri.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)&&AL(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=fh({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;_L({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++)AL(e,i,(t=>"frozen"===t.attribute.funcType),(r=>{const o=t.table.internalProps.headerHelper.getFrozenIcon(e,i);hP(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),AL(t,e,(t=>t.attribute.funcType===__.collapse||t.attribute.funcType===__.expand),(t=>{hP(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)&&AL(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){AL(t,e,(t=>t.attribute.funcType===__.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){AL(t,e,(t=>t.attribute.funcType===__.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,i=!1){if(i){const t=BH(),e=MH();if(t&&e){const e=this.getCell(t.col,t.row);e?.firstChild?.deactivate&&e?.firstChild?.deactivate?.(this.table,{forceRelease:!0,releaseChartInstance:!0,releaseColumnChartInstance:!0,releaseRowChartInstance:!0,releaseAllChartInstance:!0}),mL(t.col,t.row,this),TH()}}if(-1===t||-1===e)return;const r=this.getCell(t,e);if(r?.firstChild?.deactivate){if(i)return void r?.firstChild?.deactivate?.(this.table,{forceRelease:!0,releaseChartInstance:!0,releaseColumnChartInstance:!0,releaseRowChartInstance:!0,releaseAllChartInstance:!0});const o=r?.firstChild,n=o.attribute.spec.type;r?.firstChild?.deactivate?.(this.table,this.table.options.chartDimensionLinkage?.showTooltip?{releaseChartInstance:"pie"!==n&&("scatter"===n?t!==this.table.stateManager.hover.cellPos.col&&e!==this.table.stateManager.hover.cellPos.row||this.table.stateManager.hover.cellPos.row<this.table.frozenRowCount||this.table.stateManager.hover.cellPos.row>this.table.rowCount-1-this.table.bottomFrozenRowCount||this.table.stateManager.hover.cellPos.col<this.table.frozenColCount||this.table.stateManager.hover.cellPos.col>this.table.colCount-1-this.table.rightFrozenColCount:this.table.options.indicatorsAsCol?e!==this.table.stateManager.hover.cellPos.row||this.table.stateManager.hover.cellPos.col<this.table.frozenColCount||this.table.stateManager.hover.cellPos.col>this.table.colCount-1-this.table.rightFrozenColCount:t!==this.table.stateManager.hover.cellPos.col||this.table.stateManager.hover.cellPos.row<this.table.frozenRowCount||this.table.stateManager.hover.cellPos.row>this.table.rowCount-1-this.table.bottomFrozenRowCount),releaseColumnChartInstance:"pie"!==n&&(t!==this.table.stateManager.hover.cellPos.col||this.table.stateManager.hover.cellPos.row<this.table.frozenRowCount||this.table.stateManager.hover.cellPos.row>this.table.rowCount-1-this.table.bottomFrozenRowCount),releaseRowChartInstance:"pie"!==n&&(e!==this.table.stateManager.hover.cellPos.row||this.table.stateManager.hover.cellPos.col<this.table.frozenColCount||this.table.stateManager.hover.cellPos.col>this.table.colCount-1-this.table.rightFrozenColCount)}:void 0)}}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=fh({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,cornerRadius:jE(0,t.table.theme.frameStyle?.cornerRadius,e,i,r,o,t.table)});let C;l&&(C=fh({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(){UE(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(){KE(this),$E(this)}updateCellSelectBorder(t,e=!0){NE(this,t,e)}removeFillHandleFromSelectComponents(){this.selectedRangeComponents.forEach(((t,e)=>{t.fillhandle?.delete(),t.fillhandle=void 0}))}recreateAllSelectRangeComponents(){KE(this),this.table.stateManager.select.ranges.forEach((t=>{NE(this,t),UE(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&&nH(o,i,"col-corner",t),n&&nH(n,i,"right-top",t);const s=t.getColGroup(e);s&&nH(s,i,"row-body",t);const a=t.getColGroupInLeftBottomCorner(e);a&&nH(a,i,"left-bottom",t);const l=t.getColGroupInBottom(e);l&&nH(l,i,"bottom",t);const h=t.getColGroupInRightBottomCorner(e);h&&nH(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({async:!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=>{yL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{yL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{yL(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=>{yL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{yL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{yL(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=>{yL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),h?.forEachChildren((t=>{yL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),c?.forEachChildren((t=>{yL(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(yL(r,i.getColWidth(r.col),i.getRowHeight(r.row)),"adaptive"===i.heightMode&&e<i.rowCount-1){const r=t.highPerformanceGetCell(g,e+1);yL(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&&yL(h,i.getColWidth(h.col),i.getRowHeight(h.row))}}))}(this,t)}updateChartState(t,e){if(this.table.isPivotChart()){if(null==t||0===t?.length||0===Object.keys(t).length){const t=MH();t&&t.getChart()?.getComponentsByKey("brush")[0].clearBrushStateAndMask(),this.table.options.chartDimensionLinkage?.clearChartState?.()}!function(t,e,i){const r=t.table;if(r.isPivotChart()){r._selectedDataMode=i;const o=r._selectedDataItemsInChart.length;if((null==e||0===e?.length||0===Object.keys(e).length)&&0===o)return;const n=[];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]);n.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]);n.push(t)}It(r._selectedDataItemsInChart,n)||(r._selectedDataItemsInChart=n,r.internalProps.layoutMap.updateDataStateToChartInstance(),fL(t),r.scenegraph.updateNextFrame())}}(this,t,e)}}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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",i)))}))}))}}updateAutoColWidth(t){this.table.internalProps._widthResizedColMap.delete(t);const e=this.table.getColWidth(t),i=Qk(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?Jk(this.table,0,this.table.colCount-1,!0):(t._clearColRangeWidthsMap(),t.frozenColCount>0&&Jk(this.table,0,t.frozenColCount-1,!0),t.rightFrozenColCount>0&&Jk(this.table,t.rightFrozenColCount,t.colCount-1,!0),Jk(t,this.proxy.colStart,this.proxy.colEnd,!0))}recalculateRowHeights(){const t=this.table;t.internalProps.useOneRowHeightFillAll=!1,"adaptive"===t.heightMode||t.autoFillHeight?XP(this.table,0,this.table.rowCount-1,!0,!0):(t.frozenRowCount>0&&XP(this.table,0,t.frozenRowCount-1,!0,!0),t.bottomFrozenRowCount>0&&XP(this.table,t.bottomFrozenRowCount,t.rowCount-1,!0,!0),XP(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.table.containerFit?.width||this.table.containerFit?.height)&&this.updateChartSizeForResizeColWidth(-1),this.proxy.progress(),this.updateNextFrame()}updateTableSize(){const t=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),e=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);let i=t,r=e;if(i=this.table.containerFit?.width?this.table.tableNoFrameWidth:Math.min(this.table.tableNoFrameWidth,t),r=this.table.containerFit?.height?this.table.tableNoFrameHeight:Math.min(this.table.tableNoFrameHeight,e),this.tableGroup.setAttributes({x:this.table.tableX,y:this.table.tableY,width:i,height:r}),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){iH(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];iH(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??this.rowHeaderGroup.firstChild?.firstChild,i=this.bodyGroup.firstChild?.lastChild??this.rowHeaderGroup.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+this.table.getRowHeight(i.row)+t<this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()&&(t=this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()-i.attribute.y-this.table.getRowHeight(i.row)),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(),HE(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),!1===this.table.options.menu?.contextMenuWorkOnlyCell&&this.canvasShowMenu(),this.updateNextFrame()}dealWidthMode(){const t=this.table;if("adaptive"===t.widthMode){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,r=0,o=t.colCount;if("only-body"===t.widthAdaptiveMode){for(let e=0;e<t.colCount;e++)if(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount){i+=t.getColWidth(e)}r=t.rowHeaderLevelCount,o=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount}oE(e-i,r,o,!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);"only-body"===t.widthAdaptiveMode&&(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=o),r+=o}if(r<e&&r>i){let r=0,o=t.colCount;"only-body"===t.widthAdaptiveMode&&(r=t.rowHeaderLevelCount,o=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount),oE(e-i,r,o,!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++)eL(t),iL(t),nL(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++)rL(t),oL(t),sL(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??t.cornerHeaderGroup.firstChild?.childrenCount??t.table.frozenRowCount}(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++)rL(t),oL(t),sL(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++)eL(t),iL(t),nL(t)}tL(t),t.recreateAllSelectRangeComponents(),t.frozenColCount=t.table.frozenColCount,t.frozenRowCount=t.colHeaderGroup.firstChild?.childrenCount??t.cornerHeaderGroup.firstChild?.childrenCount??t.table.frozenRowCount,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++)dL(t),uL(t),gL(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++)lL(t),hL(t),cL(t)}tL(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({needUpdateCellY:!0}),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=AA(this.table,i,n);s?t=this.getCell(s.start.col,s.start.row):t.setAttribute("width",r);const a=wM(rP("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=wL(this.cornerHeaderGroup,0),e=wL(this.rowHeaderGroup,0),i=this.colHeaderGroup.hasChildNodes()&&this.colHeaderGroup.firstChild?wL(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?wL(this.bodyGroup,this.bodyGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bodyGroup.firstChild.col-1):0):0,o=wL(this.rightFrozenGroup.childrenCount>0?this.rightFrozenGroup:this.rightTopCornerGroup,0);this.bottomFrozenGroup.hasChildNodes()&&this.bottomFrozenGroup.firstChild&&wL(this.bottomFrozenGroup,this.bottomFrozenGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bottomFrozenGroup.firstChild.col-1):0),wL(this.leftBottomCornerGroup,0),wL(this.rightTopCornerGroup,0),wL(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)}updateContainerAttrHeightAndY(){for(let t=0;t<this.cornerHeaderGroup.children.length;t++)vL(this.cornerHeaderGroup.children[t],0);for(let t=0;t<this.colHeaderGroup.children.length;t++)vL(this.colHeaderGroup.children[t],0);for(let t=0;t<this.rightTopCornerGroup.children.length;t++)vL(this.rightTopCornerGroup.children[t],0);for(let t=0;t<this.rowHeaderGroup.children.length;t++)this.rowHeaderGroup.children[t].firstChild&&vL(this.rowHeaderGroup.children[t],this.rowHeaderGroup.children[t].firstChild.row>0?this.table.getRowsHeight(this.table.frozenRowCount??0,this.rowHeaderGroup.children[t].firstChild.row-1):0);for(let t=0;t<this.bodyGroup.children.length;t++)this.bodyGroup.children[t].firstChild&&vL(this.bodyGroup.children[t],this.bodyGroup.children[t].firstChild.row>0?this.table.getRowsHeight(this.table.frozenRowCount??0,this.bodyGroup.children[t].firstChild.row-1):0);for(let t=0;t<this.rightFrozenGroup.children.length;t++)this.rightFrozenGroup.children[t].firstChild&&vL(this.rightFrozenGroup.children[t],this.rightFrozenGroup.children[t].firstChild.row>0?this.table.getRowsHeight(this.table.frozenRowCount??0,this.rightFrozenGroup.children[t].firstChild.row-1):0);for(let t=0;t<this.leftBottomCornerGroup.children.length;t++)vL(this.leftBottomCornerGroup.children[t],0);for(let t=0;t<this.bottomFrozenGroup.children.length;t++)vL(this.bottomFrozenGroup.children[t],0);for(let t=0;t<this.rightBottomCornerGroup.children.length;t++)vL(this.rightBottomCornerGroup.children[t],0)}updateContainer(t={async:!1,needUpdateCellY:!1}){t.async?this._needUpdateContainer||(this._needUpdateContainer=!0,setTimeout((()=>{this.updateContainerSync(t.needUpdateCellY??!1)}),0)):(this._needUpdateContainer=!0,this.updateContainerSync(t.needUpdateCellY??!1))}updateContainerSync(t=!1){this._needUpdateContainer&&(this._needUpdateContainer=!1,this.updateContainerAttrWidthAndX(),t&&this.updateContainerAttrHeightAndY(),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||bP(o,t,e,0,0,this.table)}createFrameBorder(){this.updateTableSize();const t=!this.isPivot&&!this.table.internalProps.transpose;mH(this.bodyGroup,this.table.theme.bodyStyle.frameStyle,this.bodyGroup.role,t?[!0,!0,!0,!1]:void 0),mH(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),mH(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle,this.colHeaderGroup.role,t?[!0,!0,!0,!1]:void 0),mH(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&&mH(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle.frameStyle,this.leftBottomCornerGroup.role,t?[!0,!1,!0,!0]:void 0),this.table.theme.bottomFrozenStyle?.frameStyle&&mH(this.bottomFrozenGroup,this.table.theme.bottomFrozenStyle.frameStyle,this.bottomFrozenGroup.role,t?[!0,!0,!0,!1]:void 0),this.table.theme.rightFrozenStyle?.frameStyle&&mH(this.rightFrozenGroup,this.table.theme.rightFrozenStyle.frameStyle,this.rightFrozenGroup.role,void 0),this.table.theme.cornerRightTopCellStyle?.frameStyle&&mH(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle.frameStyle,this.rightTopCornerGroup.role,void 0),this.table.theme.cornerRightBottomCellStyle?.frameStyle&&mH(this.rightBottomCornerGroup,this.table.theme.cornerRightBottomCellStyle.frameStyle,this.rightBottomCornerGroup.role,void 0),mH(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--)aL(n,e.getColGroup(r),n.firstChild),aL(o,e.getColGroup(r,!0),o.firstChild),aL(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()||(cE(n,0,0,0,i.frozenColCount-1,0,-1,"rowHeader",i),cE(s,0,0,i.colCount-i.rightFrozenColCount,i.colCount-1,0,-1,"body",i)),cE(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--)aL(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--)aL(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--)aL(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),CH(this.bodyGroup),this.rowHeaderGroup.attribute.width,bH(this.bodyGroup,this.table.theme.bodyStyle.frameStyle)),this.colHeaderGroup.border&&(this.colHeaderGroup.appendChild(this.colHeaderGroup.border),CH(this.colHeaderGroup),this.cornerHeaderGroup.attribute.width,bH(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle)),this.rowHeaderGroup.border&&(this.rowHeaderGroup.appendChild(this.rowHeaderGroup.border),CH(this.rowHeaderGroup)),this.cornerHeaderGroup.border&&(this.cornerHeaderGroup.appendChild(this.cornerHeaderGroup.border),CH(this.cornerHeaderGroup)),this.leftBottomCornerGroup.border&&(this.leftBottomCornerGroup.appendChild(this.leftBottomCornerGroup.border),CH(this.leftBottomCornerGroup)),this.bottomFrozenGroup.border&&(this.bottomFrozenGroup.appendChild(this.bottomFrozenGroup.border),CH(this.bottomFrozenGroup)),this.rightFrozenGroup.border&&(this.rightFrozenGroup.appendChild(this.rightFrozenGroup.border),CH(this.rightFrozenGroup)),this.rightTopCornerGroup.border&&(this.rightTopCornerGroup.appendChild(this.rightTopCornerGroup.border),CH(this.rightTopCornerGroup)),this.rightBottomCornerGroup.border&&(this.rightBottomCornerGroup.appendChild(this.rightBottomCornerGroup.border),CH(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=FS(e);i.attribute.width>0&&i.attribute.height>0?wH(i,[d[0],0,0,0]):r.attribute.height>0?wH(r,[d[0],0,0,0]):o.attribute.width>0?wH(o,[d[0],0,0,0]):wH(n,[d[0],0,0,0]),a.attribute.width>0&&a.attribute.height>0?wH(a,[0,0,0,d[3]]):c.attribute.height>0?wH(c,[0,0,0,d[3]]):o.attribute.width>0?wH(o,[0,0,0,d[3]]):wH(n,[0,0,0,d[3]]),s.attribute.width>0&&s.attribute.height>0?wH(s,[0,d[1],0,0]):r.attribute.height>0?wH(r,[0,d[1],0,0]):h.attribute.width>0?wH(h,[0,d[1],0,0]):wH(n,[0,d[1],0,0]),l.attribute.width>0&&l.attribute.height>0?wH(l,[0,0,d[2],0]):h.attribute.width>0?wH(h,[0,0,d[2],0]):c.attribute.height>0?wH(c,[0,0,d[2],0]):wH(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 RP(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=xS(e.map((t=>t.row))).sort(((t,e)=>t-e)),s=xS(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(XE(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(this.table.columnHeaderLevelCount))for(let t=0;t<s.length;t++){const e=s[t],i=this.table.rowHeightsMap.get(e),r=YP(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=[]){TL(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++)RP(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++)RP(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++)RP(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.columnHeaderLevelCount,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=FB()[S_.loadingIconName];i&&hP(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 kL(t,e,i){const r=t.highPerformanceGetCell(e,i);if("cell"===r.role&<(r.mergeStartCol)&<(r.mergeStartRow)&<(r.mergeEndCol)&<(r.mergeEndRow)){const{colStart:e,colEnd:i,rowStart:o,rowEnd:n}=eH(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 EL(t,e,i,r,o){const n=t.table;for(let i=0;i<n.columnHeaderLevelCount;i++)kL(t,e,i);const s=t.getColGroup(e);return s?.addUpdateBoundTag(),!0}function LL(t,e,i,r,o,n){const s=t.table;for(let i=0;i<s.columnHeaderLevelCount;i++)kL(t,e,i);const a=t.getColGroup(e);return a?.addUpdateBoundTag(),!0}function FL(t,e,i,r,o){const n=t.table;for(let e=0;e<n.colCount;e++)kL(t,e,i);return!0}function IL(t,e,i,r,o,n){const s=t.table;for(let e=0;e<s.colCount;e++)kL(t,e,i);return!0}function zL(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===m_.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===m_.none)&&(e=-1,i=-1),c===e&&d===i)return;l.col=e,l.row=i,t.table.options.customConfig?.disableBuildInChartActive||(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===m_.single?a=!!function(t,e,i,r,o){return kL(t,e,i),!0}(t,e,i)||a:n===m_.row?a=!!FL(t,0,i)||a:n===m_.column?a=!!EL(t,e)||a:n===m_.cross&&(a=!!FL(t,0,i)||a,a=!!EL(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===m_.single?u=!!function(t,e,i,r,o){return kL(t,e,i),!0}(o,e,i)||u:n===m_.row?u=!!IL(o,0,i)||u:n===m_.column?u=!!LL(o,e)||u:n===m_.cross&&(u=!!IL(o,0,i)||u,u=!!LL(o,e)||u),n===m_.none||a||o.showHoverIcon(e,i),u&&t.table.scenegraph.updateNextFrame()}function OL(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=DL(t,e,n.col,n.row,i)),!s);r++);else o=i.sortState,o&&(n=i._getHeaderCellBySortState(o)),n&&(s=DL(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(jS.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:wS}})))}(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 DL(t,e,i,r,o){return o._getLayoutCellId(t,e)===o._getLayoutCellId(i,r)}const WL=BS(jS,{PIVOT_SORT_CLICK:"pivot_sort_click",DRILLMENU_CLICK:"drillmenu_click"}),NL=BS(jS,{VCHART_EVENT_TYPE:"vchart_event_type"});function GL(t,e,i){const r=Array.from(t.internalProps._heightResizedRowMap.keys()),o=e+(t.transpose?t.rowHeaderLevelCount:t.columnHeaderLevelCount);for(let e=0;e<r.length;e++)r[e]>=o&&(t.internalProps._heightResizedRowMap.delete(r[e]),t.internalProps._heightResizedRowMap.add(r[e]+i.length))}function VL(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)||"column"===i.stateManager.columnMove.movingColumnOrRow&&0===t.row){const o=i.getCellRange(e.col,r.start.row);e.row>=i.columnHeaderLevelCount&&(e.row=Math.max(i.columnHeaderLevelCount-1,0)),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})){if(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.table.isListTable()){const t=o.table.getRecordIndexByCell(s.col,s.row),e=o.table.getRecordByCell(s.col,s.row),i=o.table.getRecordHierarchyState(s.col,s.row);o.columnMove.rowTargetSize=SS(t,i,e)+1}let a,l,h,c;o.updateCursor("grabbing");const d=o.table.getCellLocation(o.columnMove.colSource,o.columnMove.rowSource);"columnHeader"===d||"column"===o.columnMove.movingColumnOrRow&&0===o.columnMove.rowSource?(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)||"row"===o.columnMove.movingColumnOrRow)&&(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(jS.CHANGING_HEADER_POSITION,{col:t,row:e,x:i,y:r,backX:l,lineX:a,backY:c,lineY:h,event:n,movingColumnOrRow:o.columnMove.movingColumnOrRow}),o.table.scenegraph.updateNextFrame()}else o.updateCursor("not-allowed"),o.columnMove.colTarget=o.columnMove.colSource,o.columnMove.rowTarget=o.columnMove.rowSource}function jL(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 UL(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 KL(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 $L(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.get(t)?o.checkedState.get(t)[i]=r:o.checkedState.set(t,{[i]:r})}}function XL(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&&!st(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()?pt(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(ht(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=kS(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 YL(t,e,i,r){const o=r.scenegraph.getCell(t,e),n=o?.getChildByName("checkbox")||o?.getChildByName("checkbox-content")?._checkboxGroup?.getChildByName("checkbox");n&&("indeterminate"===i?(n.setAttribute("indeterminate",!0),n.setAttribute("checked",void 0)):(n.setAttribute("indeterminate",void 0),n.setAttribute("checked",i)))}function qL(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))}function ZL(t,e,i,r,o,n,s,a,l){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=fh({pickable:!1,fill:l.cellBgColor??!1,lineWidth:l.cellBorderLineWidth??0,lineDash:l.cellBorderLineDash??[],stroke:a.map((t=>!!t&&l.cellBorderColor)),x:g.x1-t.tableGroup.attribute.x,y:g.y1-t.tableGroup.attribute.y,width:0,height:0,visible:!0,cornerRadius:jE(0,t.table.theme.frameStyle?.cornerRadius,e,i,r,o,t.table)});t.customSelectedRangeComponents.set(`${h}-${c}-${d}-${u}-${s}`,{rect:p,role:n}),t.tableGroup.insertAfter(p,"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)}function JL(t,e){t.forEach((t=>{!function(t,e,i){const r=t.table,o=e.start.col,n=e.start.row,s=e.end.col,a=e.end.row;e.skipBodyMerge;const l=Math.max(Math.min(s,o),0),h=Math.max(Math.min(a,n),0),c=Math.min(Math.max(s,o),r.colCount-1),d=Math.min(Math.max(a,n),r.rowCount-1),{needRowHeader:u,needRightRowHeader:g,needColumnHeader:p,needBottomColumnHeader:f,needBody:m,needCornerHeader:b,needRightTopCornerHeader:y,needLeftBottomCornerHeader:C,needRightBottomCornerHeader:w}=iP(l,h,c,d,r);b&&ZL(t,l,h,Math.min(c,r.frozenColCount-1),Math.min(d,r.frozenRowCount-1),"cornerHeader",`${l}${h}${c}${d}`,[!0,!p,!u,!0],i);y&&ZL(t,Math.max(l,r.colCount-r.rightFrozenColCount),h,c,Math.min(d,r.frozenRowCount-1),"rightTopCorner",`${l}${h}${c}${d}`,[!0,!0,!g,!p],i);if(C){const e=Math.min(c,r.frozenColCount-1);ZL(t,l,Math.max(h,r.rowCount-r.bottomFrozenRowCount),e,d,"leftBottomCorner",`${l}${h}${c}${d}`,[!u,!f,!0,!0],i)}w&&ZL(t,Math.max(l,r.colCount-r.rightFrozenColCount),Math.max(h,r.rowCount-r.bottomFrozenRowCount),c,d,"rightBottomCorner",`${l}${h}${c}${d}`,[!g,!0,!0,!f],i);p&&ZL(t,Math.max(l,r.frozenColCount),h,Math.min(c,r.colCount-r.rightFrozenColCount-1),Math.min(d,r.frozenRowCount-1),"columnHeader",`${l}${h}${c}${d}`,[!0,!y,!m,!b],i);if(f){const e=Math.max(l,r.frozenColCount),o=Math.min(c,r.colCount-r.rightFrozenColCount-1);ZL(t,e,Math.max(h,r.rowCount-r.bottomFrozenRowCount),o,d,"bottomFrozen",`${l}${h}${c}${d}`,[!m,!w,!0,!C],i)}if(u){const e=Math.max(h,r.frozenRowCount),o=Math.min(d,r.rowCount-r.bottomFrozenRowCount-1);ZL(t,l,e,Math.min(c,r.frozenColCount-1),o,"rowHeader",`${l}${h}${c}${d}`,[!b,!m,!C,!0],i)}if(g){const e=Math.max(h,r.frozenRowCount),o=Math.min(d,r.rowCount-r.bottomFrozenRowCount-1);ZL(t,Math.max(l,r.colCount-r.rightFrozenColCount),e,c,o,"rightFrozen",`${l}${h}${c}${d}`,[!y,!0,!w,!m],i)}m&&ZL(t,Math.max(l,r.frozenColCount),Math.max(h,r.frozenRowCount),Math.min(c,r.colCount-r.rightFrozenColCount-1),Math.min(d,r.rowCount-r.bottomFrozenRowCount-1),"body",`${l}${h}${c}${d}`,[!p,!g,!f,!u],i)}(e.table.scenegraph,t.range,t.style)})),e.select.customSelectRanges=t,DE(e.table.scenegraph),e.table.scenegraph.updateNextFrame()}class QL{table;interactionState;interactionStateBeforeScroll;select;fillHandle;hover;hoverIcon;residentHoverIcon;columnResize;rowResize;columnMove;menu;sort;frozen;scroll;tablePosition;drill;sparkLine;_clearVerticalScrollBar;_clearHorizontalScrollBar;_frozenObserver;fastScrolling=!1;checkedState=new Map;headerCheckedState={};_checkboxCellTypeFields=[];_headerCheckFuncs={};radioState={};resetInteractionState=KS((t=>{this.updateInteractionState(t??f_.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=f_.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,rowSourceSize:0,rowTargetSize:0,x:0,y:0,moving:!1,movingColumnOrRow:void 0},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Xe,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=f_.default,this.select={highlightScope:m_.single,ranges:[],cellPos:{col:-1,row:-1},selecting:!1},this.fillHandle={isFilling:!1,startX:void 0,startY:void 0},this.hover={highlightScope:m_.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,rowSourceSize:0,rowTargetSize:0,x:0,y:0,moving:!1,movingColumnOrRow:void 0},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Xe,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=m_.none:"cross"===t?this.hover.highlightScope=m_.cross:"row"===t?this.hover.highlightScope=m_.row:"column"===t?this.hover.highlightScope=m_.column:"cell"===t&&(this.hover.highlightScope=m_.single),this.hover.singleStyle=!e,this.hover.disableHeader=i,(this.hover.highlightScope===m_.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),n=this.table.options.select?.cornerHeaderSelectMode?this.table.options.select?.cornerHeaderSelectMode:"body"===this.table.options.select?.headerSelectMode?this.table.options.select?.headerSelectMode:"all";this.select.highlightScope=!0===e?m_.none:"cross"===r?m_.cross:"row"===r?m_.row:"column"===r?m_.column:m_.single,this.select.singleStyle=!e,this.select.disableHeader=i,this.select.headerSelectMode=t,this.select.cornerHeaderSelectMode=n,this.select.highlightInRange=o,this.select.disableCtrlMultiSelect=!1===this.table.options.keyboardOptions?.ctrlMultiSelect,this.select.disableShiftMultiSelect=!1===this.table.options.keyboardOptions?.shiftMultiSelect}isSelected(t,e){let i=!1;return this.select.ranges.forEach((r=>{IS(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===f_.scrolling&&(this.interactionStateBeforeScroll=this.interactionState);const e=this.interactionState;this.interactionState=t,e===f_.scrolling&&f_.default}updateHoverhighlightScope(t){this.hover.highlightScope!==t&&(this.hover.highlightScope=t)}updateHoverPos(t,e){zL(this,t,e)}updateSelectPos(t,e,i=!1,r=!1,o=!1,n=!0,s=!1){-1!==e&&-1!==e&&(this.select.selecting=!0),t<0&&(t=-1),e<0&&(e=-1),t>this.table.colCount-1&&(t=this.table.colCount-1),e>this.table.rowCount-1&&(e=this.table.rowCount-1);const a=this.select.cellPos.col,l=this.select.cellPos.row;!function(t,e,i,r,o,n,s=!0,a=!1){const{table:l,interactionState:h}=t,{scenegraph:c}=l,{cellPos:d}=t.select;if(t.select.isSelectAll=n,-1!==e&&-1!==i&&s&&l._makeVisibleCell(e,i),-1!==e&&-1!==i&&s)if(h===f_.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===d.col||-1===d.row||-1!==e&&-1!==i)if(h!==f_.default||l.eventManager.isDraging||l.stateManager.isResizeCol()){if((h===f_.grabing||l.eventManager.isDraging)&&!l.stateManager.isResizeCol()){let r=!0;-1===d.col&&(d.col=e),-1===d.row&&(d.row=i),d.col=e,d.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)}o&&o.start.row<=l.rowCount-1&&o.end.row<=l.rowCount-1&&o.start.col<=l.colCount-1&&o.end.col<=l.colCount-1&&c.updateCellSelectBorder(o,r)}}}else{const n=t.select.ranges[t.select.ranges.length-1];if(r&&n){if("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};r||(n.end=n.start),c.deleteLastSelectedRangeComponents(),c.updateCellSelectBorder(n)}else{let r=!0;if(-1===d.col||-1===d.row||o||(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;const{cornerHeaderSelectMode:o}=t.select;if("body"===o)t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if("inline"===o){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:l.rowCount-1},skipBodyMerge:!0})}else if("cell"===o){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})}else 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;const{cornerHeaderSelectMode:o}=t.select;if("body"===o)t.select.ranges.push({start:{col:l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if("cell"===o){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})}else if("inline"===o){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:l.rowCount-1},skipBodyMerge:!0})}else 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})}d.col=e,d.row=i;const n=t.select.ranges?.[t.select.ranges.length-1];n&&n.start.row<=l.rowCount-1&&n.end.row<=l.rowCount-1&&n.start.col<=l.colCount-1&&n.end.col<=l.colCount-1&&c.updateCellSelectBorder(n,r)}}else d.col=-1,d.row=-1,t.select.ranges=[],c.deleteAllSelectBorder();c.updateNextFrame()}(this,t,e,i,r,o,n,s),!this.table.hasListeners(jS.SELECTED_CHANGED)||a===t&&l===e||this.table.fireListeners(jS.SELECTED_CHANGED,{ranges:this.select.ranges,col:t,row:e})}checkCellRangeInSelect(t,e){return function(t,e,i,r){for(let r=0;r<i.length;r++)if(OS(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=UL(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)||this.table.isSeriesNumberInBody(e.start.col,e.start.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(),$E(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(jS.SELECTED_CELL,{ranges:this.select.ranges,col:r,row:o})}else e&&0===this.select.ranges.length&&this.table.fireListeners(jS.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?KL(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):KL(r,i),i.columnResize.x=t,i.table.scenegraph.component.updateResizeCol(i.columnResize.col,e,i.columnResize.isRightFrozen),i.table._updateSize(),i.table.internalProps.legends?.forEach((t=>{t?.resize()})),i.table.internalProps.title&&i.table.internalProps.title.resize(),i.table.internalProps.emptyTip&&i.table.internalProps.emptyTip.resize(),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?qL(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):qL(r,i),i.rowResize.y=e,i.table.scenegraph.component.updateResizeRow(i.rowResize.row,t,i.rowResize.isBottomFrozen),i.table._updateSize(),i.table.internalProps.legends?.forEach((t=>{t?.resize()})),i.table.internalProps.title&&i.table.internalProps.title.resize(),i.table.internalProps.emptyTip&&i.table.internalProps.emptyTip.resize(),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(jS.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(jS.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,n){!function(t,e,i,r,o,n,s){if(!("canMoveHeaderPosition"in o.table.internalProps.layoutMap))return;if(o.columnMove.movingColumnOrRow=s,o.columnMove.moving=!0,o.columnMove.colSource=t,o.columnMove.rowSource=e,o.table.isListTable()){const i=o.table.getRecordIndexByCell(t,e),r=o.table.getRecordByCell(t,e),n=o.table.getRecordHierarchyState(t,e);o.columnMove.rowSourceSize=SS(i,n,r)+1}let a;if(o.columnMove.x=i-o.table.tableX,o.columnMove.y=r-o.table.tableY,"column"===s)a=o.columnMove.x;else if("row"===s)a=o.columnMove.y;else{const i=o.table.getCellLocation(t,e);a="columnHeader"===i?o.columnMove.x:"rowHeader"===i||o.table.internalProps.layoutMap.isSeriesNumberInBody(t,e)?o.columnMove.y:0}const{backX:l,lineX:h,backY:c,lineY:d}=o.table.scenegraph.component.showMoveCol(t,e,a);o.table.fireListeners(jS.CHANGE_HEADER_POSITION_START,{col:t,row:e,x:i,y:r,backX:l,lineX:h,backY:c,lineY:d,event:n,movingColumnOrRow:s});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,n)}updateMoveCol(t,e,i,r,o){VL(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||"row"===t.columnMove.movingColumnOrRow)&&(t.columnMove.rowSource>=0||"column"===t.columnMove.movingColumnOrRow)&&(t.columnMove.colTarget>=0||"row"===t.columnMove.movingColumnOrRow)&&(t.columnMove.rowTarget>=0||"column"===t.columnMove.movingColumnOrRow)&&!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,setTimeout((()=>{delete t.columnMove.colSource,delete t.columnMove.rowSource,delete t.columnMove.colTarget,delete t.columnMove.rowTarget,t.columnMove.movingColumnOrRow=void 0}),0),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)&&"row"!==t.columnMove.movingColumnOrRow||(t.table.changeRecordOrder(o.sourceIndex,o.targetIndex),t.changeCheckboxAndRadioOrder(o.sourceIndex,o.targetIndex)),"column"===o.moveType?jL(a,l,0,-1,t.table):jL(0,-1,h,c,t.table),t.table.clearCellStyleCache(),t.table.internalProps.layoutMap.isSeriesNumberInBody(t.columnMove.colSource,t.columnMove.rowSource)||"row"===t.columnMove.movingColumnOrRow?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,t.columnMove.movingColumnOrRow=void 0}),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.isPivotTable()||this.table.isListTable()&&this.table.internalProps.transpose?(this.table.rowHeaderLevelCount??0)+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount:0);if(t){t=Math.min(t,this.table.colCount);const e=this.table.getContainer();if(e&&0===e.clientWidth){if(this._frozenObserver)return;return this._frozenObserver=new ResizeObserver((t=>{for(const e of t)if(e.contentRect.width>0)return this.clearFrozenObserver(),this.table.resize(),void setTimeout((()=>{this.checkFrozen()}),0)})),void this._frozenObserver.observe(e)}if(this.table.getColsWidth(0,t-1)>this.table._getMaxFrozenWidth())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))}else this.clearFrozenObserver()}clearFrozenObserver(){this._frozenObserver&&(this._frozenObserver.disconnect(),this._frozenObserver=null)}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(jS.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(jS.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;let r=Math.ceil(t*(e-this.table.scenegraph.height));lt(r)&&!isNaN(r)||(r=0);const o=r-this.table.scenegraph.proxy.deltaY-i;if(this.table.fireListeners(jS.CAN_SCROLL,{event:void 0,scrollTop:r-this.table.scenegraph.proxy.deltaY,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,dy:o}).some((t=>!1===t))){const t=this.scroll.verticalBarPos/(e-this.table.scenegraph.height);this.table.scenegraph.component.updateVerticalScrollBarPos(t)}else this.scroll.verticalBarPos=r,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(jS.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,dy:o}),i!==this.scroll.verticalBarPos&&this.checkVerticalScrollBarEnd()}updateHorizontalScrollBar(t){const e=this.table.getAllColsWidth(),i=this.scroll.horizontalBarPos;let r=Math.ceil(t*(e-this.table.scenegraph.width));lt(r)&&!isNaN(r)||(r=0);const o=r-this.table.scenegraph.proxy.deltaX-i;if(this.table.fireListeners(jS.CAN_SCROLL,{event:void 0,scrollTop:this.scroll.verticalBarPos,scrollLeft:r-this.table.scenegraph.proxy.deltaX,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:t,dx:o}).some((t=>!1===t))){const t=this.scroll.horizontalBarPos/(e-this.table.scenegraph.width);this.table.scenegraph.component.updateHorizontalScrollBarPos(t)}else this.scroll.horizontalBarPos=r,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(jS.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,dx:o}),i!==this.scroll.horizontalBarPos&&this.checkHorizontalScrollBarEnd()}setScrollTop(t,e,i=!0){if(!this.table||!this.table.scenegraph)return;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??0)-o)),t=Math.ceil(t);const n=this.scroll.verticalBarPos,s=t/(r-(this.table.scenegraph?.height??0));if((n!==t||!0===this.table.options?.customConfig?.scrollEventAlwaysTrigger)&&i){let i=t;lt(i)&&!isNaN(i)||(i=0);const o=i-n;if(this.table.fireListeners(jS.CAN_SCROLL,{event:e?.nativeEvent,scrollTop:i,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,dy:o}).some((t=>!1===t))){const t=this.scroll.verticalBarPos/(r-(this.table.scenegraph?.height??0));return void this.table.scenegraph.component.updateVerticalScrollBarPos(t)}}(t!==this.scroll.verticalBarPos||this.table.isPivotChart())&&this.updateHoverPos(-1,-1),this.scroll.verticalBarPos=t,lt(this.scroll.verticalBarPos)&&!isNaN(this.scroll.verticalBarPos)||(this.scroll.verticalBarPos=0),this.table.scenegraph.setY(-t),this.table.scenegraph.component.updateVerticalScrollBarPos(s);const a=this.scroll.verticalBarPos-n;this.table.fireListeners(jS.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,dy:a}),n!==t&&i&&this.checkVerticalScrollBarEnd()}setScrollLeft(t,e,i=!0){if(!this.table||!this.table.scenegraph)return;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);const n=this.scroll.horizontalBarPos,s=t/(r-this.table.scenegraph.width);if((n!==t||!0===this.table.options?.customConfig?.scrollEventAlwaysTrigger)&&i){let i=t;lt(i)&&!isNaN(i)||(i=0);const o=i-n;if(this.table.fireListeners(jS.CAN_SCROLL,{event:e?.nativeEvent,scrollTop:this.scroll.verticalBarPos,scrollLeft:i,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:s,dx:o}).some((t=>!1===t))){const t=this.scroll.horizontalBarPos/(r-this.table.scenegraph.width);return void this.table.scenegraph.component.updateHorizontalScrollBarPos(t)}}t!==this.scroll.horizontalBarPos&&this.updateHoverPos(-1,-1),this.scroll.horizontalBarPos=t,lt(this.scroll.horizontalBarPos)&&!isNaN(this.scroll.horizontalBarPos)||(this.scroll.horizontalBarPos=0),this.table.scenegraph.setX(-t),this.table.scenegraph.component.updateHorizontalScrollBarPos(s);const a=this.scroll.horizontalBarPos-n;this.table.fireListeners(jS.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,dx:a}),n!==t&&i&&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(),this.table.scenegraph?.component.showFrozenColumnShadow(),t&&(clearTimeout(this._clearHorizontalScrollBar),this._clearHorizontalScrollBar=setTimeout((()=>{this.table.scenegraph?.component.hideFrozenColumnShadow(),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,lH.contextmenu)),this.table.fireListeners(jS.SHOW_MENU,{x:i,y:r,col:t,row:e,type:"contextmenu"}))}triggerDropDownMenu(t,e,i,r,o){this.table.fireListeners(jS.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,lH.dropDown),this.menu.bounds=this.table.scenegraph.component.menu.bounds),this.table.fireListeners(jS.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===__.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(jS.DROPDOWN_MENU_CLEAR,null),this.table.fireListeners(jS.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(lt(s)&<(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(ht(e)&&(e.menuKey||e.text)===(h||"")&&t===i)return!0;if(gt(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(WL.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];OL(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(WL.AFTER_SORT,{order:a?.order,field:this.table.getHeaderField(t,e),event:r})}setSelectInline(t){this.select.selectInline=t}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;_S(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(WL.FREEZE_CLICK)){const i=this.table.internalProps.layoutMap.columnObjects.slice(0,t+1);this.table.fireListeners(WL.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){t||(t=this.table.options.defaultCursor??"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=uh({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=hh({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(jS.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.getCellRange(t,e);if(n.start.col!==n.end.col||n.start.row!==n.end.row)for(let t=n.start.col;t<=n.end.col;t++)for(let e=n.start.row;e<=n.end.row;e++)$L(t,e,i,r,o);else $L(t,e,i,r,o)}(t,e,i,r,this)}setHeaderCheckedState(t,e){return function(t,e,i){i.headerCheckedState[t]=e,i.table.internalProps.enableCheckboxCascade&&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(lt(o.headerCheckedState[i]))return o.headerCheckedState[i];if("function"==typeof r)return;if(lt(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(lt(o.checkedState.get(t)?.[i]))return o.checkedState.get(t)[i];if(o.checkedState.get(t))o.checkedState.get(t)[i]=r;else if(o.table.internalProps.enableCheckboxCascade&&t.includes(",")){const e=t.split(",").slice(0,-1).join(",");o.checkedState.has(e)&&!0===o.checkedState.get(e)[i]?o.checkedState.set(t,{[i]:!0}):o.checkedState.set(t,{[i]:r})}else o.checkedState.set(t,{[i]:r})}return r}(t,e,i,r,this)}initCheckedState(t){return XL(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.enableCheckboxCascade&&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;ht(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?bt(o)?(n.radioState[i]={},n.radioState[i][t]=o):n.radioState[i]=t:(n.radioState[i]||(n.radioState[i]={}),bt(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(!lt(s.radioState[i])&&n)return bt(o)?(s.radioState[i]={},s.radioState[i][t]=o):s.radioState[i]=t,!0;if(bt(s.radioState[i])&&!bt(o))return s.radioState[i]===t;if(bt(s.radioState[i])&&bt(o))return!1;if(ht(s.radioState[i])&&!bt(o))return!1;if(ht(s.radioState[i])&&bt(o))return s.radioState[i][t]===o}else if("cell"===r){if(!lt(s.radioState[i])&&n)return s.radioState[i]={},bt(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(!lt(s.radioState[i]?.[t])&&n)return bt(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(nt(s.radioState[i]?.[t])&&!bt(o))return s.radioState[i][t];if(nt(s.radioState[i]?.[t])&&bt(o))return!1;if(bt(s.radioState[i]?.[t])&&!bt(o))return!1;if(bt(s.radioState[i]?.[t])&&bt(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)),bt(n)&&bt(s)){if((t=n)>(e=s)){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(pt(n)&&pt(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),JL(t,this)}}function tF(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(jS.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(jS.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateSparklineHoverPose(-1,-1,0,0)})))}function eF(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!==f_.scrolling&&e.updateInteractionState(f_.scrolling);const a="scrolling"===e.table.options.theme?.scrollStyle?.visible;n&&(e.setScrollLeft(e.scroll.horizontalBarPos+n,t),e.showHorizontalScrollBar(a)),s&&(e.setScrollTop(e.scroll.verticalBarPos+s,t),e.showVerticalScrollBar(a)),i&&e.resetInteractionState(e.interactionStateBeforeScroll),t.nativeEvent?.cancelable&&("none"===e.table.internalProps.overscrollBehavior&&(o&&oF(e)||r&&nF(e))||Math.abs(o)>=Math.abs(r)&&0!==o&&iF(o,e)||Math.abs(o)<=Math.abs(r)&&0!==r&&rF(r,e))&&t.nativeEvent.preventDefault()}function iF(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 rF(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))}function oF(t){return!(t.table.getAllRowsHeight()-t.table.scenegraph.height<=0)}function nF(t){return!(t.table.getAllColsWidth()-t.table.scenegraph.width<=0)}class sF{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=Xu.getRequestAnimationFrame()(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=Xu.getRequestAnimationFrame()(this.inertia.bind(this)))}endInertia(){Xu.getCancelAnimationFrame()(this.runingId),this.runingId=null}isInertiaScrolling(){return!!this.runingId}}function aF(t,e,i){if(e&&-1!==t.stateManager.columnMove?.colSource&&-1!==t.stateManager.columnMove?.rowSource&&-1!==t.stateManager.columnMove?.colTarget&&-1!==t.stateManager.columnMove?.rowTarget){if(t.hasListeners(jS.CHANGE_HEADER_POSITION)){const{colSource:e,rowSource:r,colTarget:o,rowTarget:n,movingColumnOrRow:s}=t.stateManager.columnMove,a=t.stateManager.columnMove.rowSourceSize??0,l=t.stateManager.columnMove.rowTargetSize??0;t.fireListeners(jS.CHANGE_HEADER_POSITION,{target:{col:o,row:n+l-a},source:{col:e,row:r},movingColumnOrRow:s,event:i})}}else if(!e&&t.hasListeners(jS.CHANGE_HEADER_POSITION_FAIL)){const e=t.stateManager.columnMove.rowSourceSize??0,r=t.stateManager.columnMove.rowTargetSize??0;t.fireListeners(jS.CHANGE_HEADER_POSITION_FAIL,{target:{col:t.stateManager.columnMove.colTarget,row:t.stateManager.columnMove.rowTarget+r-e},source:{col:t.stateManager.columnMove.colSource,row:t.stateManager.columnMove.rowSource},movingColumnOrRow:t.stateManager.columnMove.movingColumnOrRow,event:i})}}function lF(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=WB(r);if(s.eventArgs&&e.hasListeners(jS.MOUSEMOVE_TABLE)&&e.fireListeners(jS.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===f_.grabing)return void(Math.abs(o-r.x)+Math.abs(n-r.y)>=1&&(i.isResizeCol()||i.isResizeRow()||i.isMoveCol()||(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(jS.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(jS.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(jS.MOUSEENTER_CELL)&&("cell"!==a?.role||!lt(a.col)||!lt(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(jS.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(jS.MOUSEMOVE_CELL)){let t,i;if(s.eventArgs?.target){const e=UL(s.eventArgs?.target);e&&(t=e.icon,i=e.position)}e.fireListeners(jS.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=WB(e),r=i?.eventArgs?.target;"table"===r?.role&&t.dealTableHover()})),e.scenegraph.tableGroup.addEventListener("pointerover",(t=>{const i=WB(t),r=i?.eventArgs?.target;if(r&&e.hasListeners(jS.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(jS.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(jS.MOUSEENTER_TABLE)&&e.fireListeners(jS.MOUSEENTER_TABLE,{event:t.nativeEvent})})),e.scenegraph.tableGroup.addEventListener("pointerleave",(r=>{i.isResizeCol()||i.isResizeRow()||i.isMoveCol()||i.isSelecting()||(i.updateInteractionState(f_.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(jS.MOUSELEAVE_CELL)&&-1!==e.stateManager.hover.cellPos.col&&-1!==e.stateManager.hover.cellPos.row&&e.fireListeners(jS.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(jS.MOUSELEAVE_TABLE,{event:r.nativeEvent})})),e.scenegraph.tableGroup.addEventListener("pointerdown",(r=>{if(e.hasListeners(jS.MOUSEDOWN_TABLE)&&e.fireListeners(jS.MOUSEDOWN_TABLE,{event:r.nativeEvent}),function(){try{const t=window.getSelection();if(t){if("function"==typeof t.removeAllRanges)return void t.removeAllRanges();if("function"==typeof t.empty)return void t.empty();if("function"==typeof t.collapse)return void t.collapse(document.body,0)}}catch(t){}}(),e.eventManager.isDown=!0,e.eventManager.LastBodyPointerXY={x:r.x,y:r.y},e.eventManager.LastPointerXY={x:r.x,y:r.y},0!==r.button)return;const o=WB(r);if(t.downIcon=void 0,i.interactionState!==f_.default)return;if(e.isPivotChart()&&"chart"!==o?.eventArgs?.target.type&&(e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0)),o.eventArgs?.target!==i.residentHoverIcon?.icon&&i.hideMenu(),"chart"===o?.eventArgs?.target.type)return;const n=e.editorManager?.completeEdit(r.nativeEvent);LS(n,(n=>{if(!e.options.customConfig?.selectCellWhenCellEditorNotExists&&!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===__.dragReorder&&(i.startMoveCol(o.eventArgs.col,o.eventArgs.row,o.abstractPos.x,o.abstractPos.y,o.eventArgs?.event?.nativeEvent),i.updateInteractionState(f_.grabing));else{if(t.cellIsHeaderCheck(o))return;if("touch"===r.pointerType){if(t.touchEnd=!1,t.touchSetTimeout=setTimeout((()=>{t.isTouchdown=!1,t.isLongTouch=!0,(t.touchEnd||!t.checkColumnResize(o,!0)&&!t.checkRowResize(o,!0))&&(t.touchEnd||!t.checkColumnMover(o))?t.dealTableSelect(o)&&!t.touchEnd&&i.updateInteractionState(f_.grabing):i.updateInteractionState(f_.grabing)}),500),e.hasListeners(jS.MOUSEENTER_CELL)){const t=r.path.find((t=>"cell"===t.role));"cell"!==t?.role||!lt(t.col)||!lt(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(jS.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 0),e.scenegraph.deactivateChart(-1,-1,!0),void i.updateInteractionState(f_.grabing);if(t.checkColumnMover(o))return void i.updateInteractionState(f_.grabing);if(t.checkCellFillhandle(o,!0)&&t.dealFillSelect(o))return void i.updateInteractionState(f_.grabing);t.dealTableSelect(o)&&i.updateInteractionState(f_.grabing)}}if(e.hasListeners(jS.MOUSEDOWN_CELL)){const t=WB(r);t.eventArgs&&e.fireListeners(jS.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",(r=>{if(0===r.button){if("grabing"===i.interactionState){if(i.updateInteractionState(f_.default),i.isResizeCol())cF(e);else if(i.isResizeRow())dF(e);else if(i.isMoveCol()){const t=e.stateManager.endMoveCol();aF(e,t,r.nativeEvent)}else if(i.isSelecting()){e.stateManager.endSelectCells(),e.stateManager.isFillHandle()&&e.stateManager.endFillSelect();const t=WB(r);if(e.eventManager.isDraging&&t.eventArgs&&e.hasListeners(jS.DRAG_SELECT_END)){const i={event:r.nativeEvent,cells:[],col:t.eventArgs.target.col,row:t.eventArgs.target.row,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:t?.eventArgs?.target,mergeCellInfo:t.eventArgs?.mergeInfo};i.cells=e.getSelectedCellInfos(),e.fireListeners(jS.DRAG_SELECT_END,i)}}}else i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default);if(!e.eventManager.isDraging){const i=WB(r);if(!t.isTouchMove&&0===r.button&&i.eventArgs&&e.hasListeners(jS.CLICK_CELL)){const{col:t,row:o}=i.eventArgs,n=e.getCellInfo(t,o);let s,a;if(i.eventArgs?.target){const t=UL(i.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:i?.eventArgs?.target,mergeCellInfo:i.eventArgs?.mergeInfo};e.fireListeners(jS.CLICK_CELL,l)}}if(e.hasListeners(jS.MOUSEUP_CELL)){const t=WB(r);t.eventArgs&&e.fireListeners(jS.MOUSEUP_CELL,{col:t.eventArgs.col,row:t.eventArgs.row,event:r.nativeEvent,target:t?.eventArgs?.target,mergeCellInfo:t.eventArgs?.mergeInfo})}setTimeout((()=>{t.isDown=!1,t.isTouchdown=!1,t.isTouchMove=!1,t.isDraging=!1,t.touchMovePoints=[]}),0)}})),e.scenegraph.tableGroup.addEventListener("rightdown",(t=>{const r=WB(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(o>=0&&n>=0){const i=e.getSelectedCellRanges();let s=!1;if(i.length>0)for(let t=0;t<i.length;t++){const e=i[t],r=e.start.col,a=e.end.col,l=e.start.row,h=e.end.row;if(o>=r&&o<=a&&n>=l&&n<=h||o>=a&&o<=r&&n>=h&&n<=l||o>=r&&o<=a&&n>=h&&n<=l||o>=a&&o<=r&&n>=l&&n<=h){s=!0;break}}const a=e.options.select?.disableSelectOnContextMenu;if(s||a||e.selectCell(o,n),e.hasListeners(jS.CONTEXTMENU_CELL)){const i=e.getCellInfo(o,n);let s,a;if(r.eventArgs?.target){const t=UL(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};(e.options.eventOptions?.contextmenuReturnAllSelectedCells??1)&&(!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(jS.CONTEXTMENU_CELL,l)}}}})),e.scenegraph.tableGroup.addEventListener("pointertap",(r=>{if(e.stateManager.columnResize.resizing)return;const o=WB(r);if(!e.stateManager.columnResize.resizing&&!e.stateManager.columnMove.moving&&(t.dealIconClick(r,o),o?.eventArgs&&t.touchSetTimeout&&"touch"===r.pointerType)){const e=WB(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=WB(r);o.eventArgs?.target&&o.eventArgs?.target===i.residentHoverIcon?.icon||i.hideMenu();let n=!1;const s=r.target;s===e.scenegraph.tableGroup||s.isDescendantsOf(e.scenegraph.tableGroup)||(n=e.editorManager?.completeEdit(r.nativeEvent)),LS(n,(n=>{if(!e.options.customConfig?.selectCellWhenCellEditorNotExists&&!1===n)return;const s=r.target.role?.startsWith("icon")?r.target:void 0;if(t.downIcon=s,"touch"===r.pointerType||s||t.checkCellFillhandle(o)||i.columnResize.resizing||!t.checkColumnResize(o,!0));else{e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0),i.updateInteractionState(f_.grabing);const{eventArgs:t}=o;if(!t?.targetCell){e.getCellAt(o.abstractPos.x-e.theme.columnResize.resizeHotSpotSize/2,o.abstractPos.y)&&e.hasListeners(jS.MOUSEDOWN_TABLE)&&e.fireListeners(jS.MOUSEDOWN_TABLE,{event:r.nativeEvent})}}}))})),e.scenegraph.stage.addEventListener("pointerup",(t=>{"grabing"===i.interactionState&&(i.updateInteractionState(f_.default),i.isResizeCol()?cF(e):i.isResizeRow()&&dF(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(f_.default),t.dealTableHover();const o=!!i.select.ranges?.length;e.options.customConfig?.cancelSelectCellHook?e.options.customConfig?.cancelSelectCellHook(r)&&t.dealTableSelect():(e.options.select?.blankAreaClickDeselect??1)&&t.dealTableSelect(),i.endSelectCells(!0,o),i.updateCursor(),e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0)}})),e.scenegraph.stage.addEventListener("pointermove",(r=>{const o=WB(r);(r.target?.isDescendantsOf?.(e.scenegraph.tableGroup)??!1)&&(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=WB(t),{col:r,row:o}=i.eventArgs,n=e.getCellInfo(r,o),s=AA(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)){if(e.stateManager.setHeaderCheckedState(n.field,t.detail.checked),e.internalProps.enableHeaderCheckboxCascade){"checkbox"===e.getCellType(r,o)&&e.scenegraph.updateCheckboxCellState(r,o,t.detail.checked)}}else if(e.stateManager.setCheckedState(r,o,n.field,t.detail.checked),e.internalProps.enableCheckboxCascade){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(jS.CHECKBOX_STATE_CHANGE,a),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("radio_checked",(t=>{const i=WB(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=VB.exec(n.id)?.[1],l=AA(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(jS.RADIO_STATE_CHANGE,d),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("switch_state_change",(t=>{const i=WB(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=AA(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(jS.SWITCH_STATE_CHANGE,l),e.scenegraph.updateNextFrame()})),e.scenegraph.stage.addEventListener("wheel",(t=>{if(!t.path.find((t=>"legend"===t.name))){e.editorManager?.completeEdit();const{cellPos:r}=e.stateManager.hover,o=r.col,n=r.row;e.scenegraph.deactivateChart(o,n,!0),e.eventManager._enableTableScroll&&eF(t,i)}}))}function hF(t){const e=t.table;t.gesture=new vp(e.scenegraph.tableGroup,{tap:{interval:300}}),t.gesture.on("doubletap",(t=>{!function(t,e){const i=WB(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 ZS(s.x1+e.scrollLeft,s.y1+e.scrollTop,s.x2-s.x1,s.y2-s.y1),n),e.hasListeners(jS.DBLCLICK_CELL)){const n=e.getCellInfo(r,o);let s,a;if(i.eventArgs?.target){const t=UL(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(jS.DBLCLICK_CELL,l)}}(t,e)}))}function cF(t){t.stateManager.endResizeCol();const e=[];for(let i=0;i<t.colCount;i++)e.push(t.getColWidth(i));t.fireListeners(jS.RESIZE_COLUMN_END,{col:t.stateManager.columnResize.col,colWidths:e})}function dF(t){t.stateManager.endResizeRow(),t.fireListeners(jS.RESIZE_ROW_END,{row:t.stateManager.rowResize.row,rowHeight:t.getRowHeight(t.stateManager.rowResize.row)})}let uF,gF=1;function pF(){return AS?gF=1:(gF=Math.ceil(window.devicePixelRatio||1),gF>1&&gF%2!=0&&(gF+=1)),gF}function fF(t){const e=t.table,i=e.stateManager,r=e.internalProps.handler;function o(t){if(e.hasListeners(jS.KEYDOWN)){const i={keyCode:t.keyCode??t.which,code:t.code,event:t,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth};e.fireListeners(jS.KEYDOWN,i)}}r.on(e.getElement(),"blur",(i=>{const r=i.relatedTarget;if(r){const t=e.stateManager.select.ranges,i=1===t.length&&t[0].start.col===t[0].end.col&&t[0].start.row===t[0].end.row&&e.getEditor(e.stateManager.select.cellPos.col,e.stateManager.select.cellPos.row),o=i?.getInputElement?.();if(o===r)return}t.dealTableHover()})),r.on(e.getElement(),"keydown",(r=>{const n={keyCode:r.keyCode??r.which,code:r.code,event:r};if(e.fireListeners(jS.BEFORE_KEYDOWN,n),"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)))),Mk(e,t,o))return;const n=!!e.editorManager?.editingEditor;e.editorManager?.completeEdit(),e.getElement().focus();const s=e.options.keyboardOptions?.shiftMultiSelect??!0;e.selectCell(t,o,r.shiftKey&&s),e.options.keyboardOptions?.moveEditCellOnArrowKeys&&n&&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(Mk(e,t,o))return;const n=e.options.keyboardOptions?.shiftMultiSelect??!0;e.selectCell(t,o,r.shiftKey&&n)}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(Mk(e,t,o))return;const n=e.options.keyboardOptions?.shiftMultiSelect??!0;e.selectCell(t,o,r.shiftKey&&n)}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),Mk(e,t,o))return;const n=!!e.editorManager?.editingEditor;e.editorManager?.completeEdit(),e.getElement().focus(),e.selectCell(t,o),n&&e.getEditor(t,o)&&e.editorManager?.startEditCell(t,o)}}else if(!r.ctrlKey&&!r.metaKey){const t=e.options.editCellTrigger,o=e.stateManager.select.ranges;if(1===o.length&&o[0].start.col===o[0].end.col&&o[0].start.row===o[0].end.row&&("keydown"===t||Array.isArray(t)&&t.includes("keydown"))&&!e.editorManager?.editingEditor){const t=/^[a-zA-Z0-9+\-*\/%=.,\s]$/;r.key.match(t)&&(e.editorManager&&(e.editorManager.beginTriggerEditCellMode="keydown"),e.editorManager?.startEditCell(i.select.cellPos.col,i.select.cellPos.row,""))}}o(r)})),r.on(e.getElement(),"copy",(async i=>{e.keyboardOptions?.copySelected&&t.handleCopy(i)})),r.on(e.getElement(),"cut",(async i=>{e.keyboardOptions?.cutSelected&&t.handleCut(i)})),r.on(e.getElement(),"paste",(async i=>{e.keyboardOptions?.pasteValueToCell&&t.handlePaste(i)})),r.on(e.getElement(),"contextmenu",(t=>{!1!==e.eventOptions?.preventDefaultContextMenu?t.preventDefault():s(t)})),e.options.canvas||r.on(e.getContainer(),"resize",(t=>{e.isReleased||0===t.width&&0===t.height||((e.autoFillWidth||e.autoFillHeight||"adaptive"===e.widthMode||"adaptive"===e.heightMode)&&e.editorManager?.completeEdit(),lt(e.options.pixelRatio)||e.setPixelRatio(pF()),t.windowSizeNotChange||e.resize())}));const n=r=>{if(e.isReleased)return;e.eventManager.LastBodyPointerXY={x:r.x,y:r.y},e.eventManager.isDown=!0;const o=r.target;if(!e.getElement().contains(o)&&!e.internalProps.menuHandler.containElement(o)){const o=e.editorManager?.completeEdit(r);LS(o,(r=>{if(!1!==r&&e.options.select?.outsideClickDeselect){const e=!!i.select.ranges?.length;t.dealTableSelect(),i.endSelectCells(!0,e)}})),e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0)}};t.globalEventListeners.push({name:"pointerdown",env:"vglobal",callback:n}),Xu.addEventListener("pointerdown",n);const s=r=>{if(e.isReleased)return;const o=r.target;if(o!==e.canvas&&(t=>{if(i.menu.isShow&&setTimeout((()=>{e.internalProps.menuHandler.pointInMenuElement(t.clientX,t.clientY)||i.menu.isShow&&i.hideMenu()}),0),i.isResizeCol())cF(e);else if(i.isResizeRow())dF(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();aF(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(jS.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(jS.DRAG_SELECT_END,o)}}})(r),e.eventManager.LastBodyPointerXY=null,e.eventManager.isDown=!1,e.eventManager.isDraging=!1,e.eventManager.inertiaScroll.endInertia(),"grabing"===i.interactionState&&i.isResizeCol())cF(e);else if("grabing"===i.interactionState&&i.isResizeRow())dF(e);else if(i.isMoveCol()){const t=e.stateManager.endMoveCol();aF(e,t,r)}else if(e.editorManager?.editingEditor&&!e.getElement().contains(o)){const o=e.editorManager?.completeEdit(r);LS(o,(e=>{!1!==e&&(i.updateInteractionState(f_.default),t.dealTableHover())}))}i.updateInteractionState(f_.default)};t.globalEventListeners.push({name:"pointerup",env:"vglobal",callback:s}),Xu.addEventListener("pointerup",s);const a=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);i.interactionState===f_.grabing&&(i.isResizeCol()?(t.dealColumnResize(o,n),e.hasListeners(jS.RESIZE_COLUMN)&&e.fireListeners(jS.RESIZE_COLUMN,{col:e.stateManager.columnResize.col,colWidth:e.getColWidth(e.stateManager.columnResize.col)})):i.isResizeRow()?(t.dealRowResize(o,n),e.hasListeners(jS.RESIZE_ROW)&&e.fireListeners(jS.RESIZE_ROW,{row:e.stateManager.rowResize.row,rowHeight:e.getRowHeight(e.stateManager.rowResize.row)})):i.isMoveCol()&&t.dealColumnMover(o,n,r));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;eF({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(f_.grabing);const y=e.getTargetColAtConsiderRightFrozen(p,b),C=e.getTargetRowAtConsiderBottomFrozen(f,m);!e.options.select?.disableDragSelect&<(y)&<(C)&&e.stateManager.updateSelectPos("row"===e.stateManager.select.selectInline?e.colCount-1:y.col,"col"===e.stateManager.select.selectInline?e.rowCount-1: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:"vglobal",callback:a}),Xu.addEventListener("pointermove",a)}function mF(t){return!!t.changedTouches}function bF(t,e,i){if(i.indicatorsAsCol){if(i.hasTopIndicatorAxis&&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 yF(t,e,i,r,o,n,s){const a=s||"_vtable_rowSeries_number";let l=e+1;for(;pt(r[l])&&r[l]?.length>i.length;){const e=o.columnHeaderLevelCount+l;o.stateManager.setCheckedState(n,e,a,t),YL(n,e,t,o),l++}}function CF(t,e,i,r,o,n){let s=e.length-1;if(s>0){let e=t-1;for(;s>0&&e>=0;){if(pt(i[e])&&i[e]?.length===s||1===s&&bt(i[e])){wF(o,r.columnHeaderLevelCount+e,i[e],r,n),s--}e--}}}function wF(t,e,i,r,o){const{checkedState:n}=r.stateManager,s=i.toString(),a=o||"_vtable_rowSeries_number";!pt(i)||i.length;let l=!1;const h=[],c=Array.from(n.keys()).sort(((t,e)=>{const i=t.split(","),r=e.split(","),o=Math.max(i.length,r.length);for(let t=0;t<o;t++){const e=Number(i[t])??0,o=Number(r[t])??0;if(e!==o)return e-o}return 0})),d=c.map((t=>n.get(t))),u=c.filter((t=>t.startsWith(s+",")&&t!==s));if(d.forEach(((t,e)=>{const i=c[e],r=t,o=u.includes(i);l&&(o?h.push(r[a]):l=!1),i===s&&(l=!0)})),0===h.length)return;const g=h.every((t=>!!t)),p=h.every((t=>!t));g?(r.stateManager.setCheckedState(t,e,a,!0),YL(t,e,!0,r)):p?(r.stateManager.setCheckedState(t,e,a,!1),YL(t,e,!1,r)):(r.stateManager.setCheckedState(t,e,a,"indeterminate"),YL(t,e,"indeterminate",r))}function vF(t,e,i,r){const{checkedState:o}=i.stateManager,n=e.toString();!pt(e)||e.length;let s=!1;const a=Array.from(o.keys()).sort(((t,e)=>{const i=t.split(","),r=e.split(","),o=Math.max(i.length,r.length);for(let t=0;t<o;t++){const e=Number(i[t])??0,o=Number(r[t])??0;if(e!==o)return e-o}return 0})),l=a.filter((t=>t.startsWith(n+",")&&t!==n)),h=a.map((t=>o.get(t)));h.forEach(((e,i)=>{const o=a[i],h=e,c=0!==l.length&&l.includes(o);s&&(c?h[r]=t:s=!1),o===n&&(s=!0)}))}function xF(t,e,i){const r=t.getRecordShowIndexByCell(e,i);return t.dataSource.getHierarchyState(r)}function _F(t){t.on(jS.ICON_CLICK,(e=>{const{col:i,row:r,x:o,y:n,funcType:s,icon:a,event:l}=e,{stateManager:h}=t;if(s===__.dropDown)h.triggerDropDownMenu(i,r,o,n,l);else if(s===__.sort)h.triggerSort(i,r,a,l);else if(s===__.frozen)h.triggerFreeze(i,r,a);else if(s===__.drillDown)!function(t){t.fireListeners(WL.DRILLMENU_CLICK,t.stateManager.drill)}(t);else if(s===__.collapse||s===__.expand){const e=!!h.select.ranges?.length;h.updateSelectPos(-1,-1),h.endSelectCells(!0,e),t.toggleHierarchyState(i,r)}}))}pF();class SF{table;isTouchdown;isTouchMove;touchMovePoints;touchSetTimeout;touchEnd;isLongTouch;gesture;handleTextStickBindId;LastPointerXY;LastBodyPointerXY;isDown=!1;isDraging=!1;scrollYSpeed;scrollXSpeed;downIcon;globalEventListeners=[];inertiaScroll;bindSparklineHoverEvent;_enableTableScroll=!0;cutWaitPaste=!1;clipboardCheckTimer=null;cutOperationTime=0;lastClipboardContent="";cutCellRange=null;copySourceRange=null;constructor(t){this.table=t,this.handleTextStickBindId=[],this.inertiaScroll=new sF(t.stateManager),"node"===oS.mode||t.options.disableInteraction||(this.bindOuterEvent(),setTimeout((()=>{this.bindSelfEvent()}),0))}bindOuterEvent(){lF(this),fF(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!==f_.scrolling&&i.hideVerticalScrollBar()})),r.component.hScrollBar.addEventListener("pointerout",(t=>{i.interactionState!==f_.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(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.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!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.vScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.vScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.vScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1})),r.component.hScrollBar.addEventListener("pointermove",(t=>{r.table.stateManager.updateCursor(),t.stopPropagation()})),r.component.hScrollBar.addEventListener("pointerdown",(t=>{t.stopPropagation(),r.table.hasListeners(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.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!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.hScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.hScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.hScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1}));const o=fS(i.updateVerticalScrollBar,20),n=fS(i.updateHorizontalScrollBar,20);r.component.vScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),e.scenegraph.deactivateChart(-1,-1,!0);const n=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);o(n,t)})),r.component.hScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),e.scenegraph.deactivateChart(-1,-1,!0);const o=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);n(o)}))}(this),function(t){const e=t.table,i=e.stateManager,r=e.scenegraph;if(!1===Xu.envContribution.supportsTouchEvents)return;Xu.addEventListener("contextmenu",(t=>{t.stopPropagation(),t.preventDefault()}),{capture:!0}),t.touchMovePoints=[],e.scenegraph.tableGroup.addEventListener("touchstart",(i=>{if(i.target.isChildOf(r.component.vScrollBar)||i.target.isChildOf(r.component.vScrollBar))return;t.isTouchdown=!0;const o=i.nativeEvent;t.touchMovePoints.push({x:e.rotateDegree?o.changedTouches?.[0]?._canvasX??i.canvas?.x:i.page.x,y:e.rotateDegree?o.changedTouches?.[0]?._canvasY??i.canvas?.y:i.page.y,timestamp:Date.now()})}));const o=r=>{if(t.isLongTouch&&r.preventDefault(),t.isTouchdown&&mF(r))if(t.isTouchMove=!0,t.downIcon?.attribute?.funcType===__.dragReorder)r.preventDefault();else if(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:e.rotateDegree?r.changedTouches[0]._canvasX:r.changedTouches[0].pageX,y:e.rotateDegree?r.changedTouches[0]._canvasY: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;eF({deltaX:o,deltaY:n},i),r.cancelable&&("none"===e.internalProps.overscrollBehavior&&(n&&oF(i)||o&&nF(i))||Math.abs(n)>=Math.abs(o)&&0!==n&&iF(n,i)||Math.abs(n)<=Math.abs(o)&&0!==o&&rF(o,i))&&r.preventDefault()}};Xu.addEventListener("touchmove",o,{passive:!1}),t.globalEventListeners.push({name:"touchmove",env:"vglobal",callback:o});const n=i=>{if(t.touchEnd=!0,t.isLongTouch=!1,t.isTouchdown&&mF(i)){if(t.downIcon?.attribute?.funcType===__.dragReorder)i.preventDefault();else if(t.touchMovePoints?.length&&(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:e.rotateDegree?i.changedTouches[0]._canvasX:i.changedTouches[0].pageX,y:e.rotateDegree?i.changedTouches[0]._canvasY: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)=>{eF({deltaX:-t,deltaY:-i},e.stateManager)}))}t.isTouchdown=!1,t.isTouchMove=!1,t.isDraging=!1,t.touchMovePoints=[]}};Xu.addEventListener("touchend",n),t.globalEventListeners.push({name:"touchend",env:"vglobal",callback:n});const s=e=>{t.touchEnd=!0,t.isLongTouch=!1,t.isTouchdown&&(t.isTouchdown=!1,t.isTouchMove=!1,t.touchMovePoints=[],t.isDraging=!1)};Xu.addEventListener("touchcancel",s),t.globalEventListeners.push({name:"touchcancel",env:"vglobal",callback:s})}(this),hF(this)}updateEventBinder(){setTimeout((()=>{this.table.isReleased||(IE(this.table)&&0===this.handleTextStickBindId?.length?(this.handleTextStickBindId.push(this.table.on(jS.SCROLL,(t=>{HE(this.table)}))),this.handleTextStickBindId.push(this.table.on(jS.RESIZE_COLUMN_END,(t=>{HE(this.table)}))),this.handleTextStickBindId.push(this.table.on(jS.RESIZE_ROW_END,(t=>{HE(this.table)})))):!IE(this.table)&&this.handleTextStickBindId&&(this.handleTextStickBindId.forEach((t=>{this.table.off(t)})),this.handleTextStickBindId=[]),tF(this.table))}),0)}bindSelfEvent(){var t;this.table.isReleased||(_F(this.table),(t=this.table).on(jS.DROPDOWN_MENU_CLICK,(()=>{t.stateManager.hideMenu()})),t.on(jS.SCROLL,(()=>{t.stateManager.hideMenu()})),this.updateEventBinder(),function(t){"browser"===oS.mode&&t.on(jS.CLICK_CELL,(e=>{const{col:i,row:r}=e;if("image"===e.target.type&&e.target.role&&e.target.role.startsWith("icon"))return;let o;o=t.internalProps.layoutMap.isHeader(i,r)?t.isPivotTable()?t._getHeaderLayoutMap(i,r).headerType:t.getHeaderDefine(i,r).headerType:t.getBodyColumnType(i,r);const n=t.isHeader(i,r)?t.getHeaderDefine(i,r):t.getBodyColumnDefine(i,r),s=t.getCellValue(i,r),a=t.getCellOriginValue(i,r);if("link"===o){let e=kS(n.linkJump,{col:i,row:r,table:t,value:s,dataValue:a,cellHeaderPaths:void 0});if(e=!1!==e,!e)return;const o=n.templateLink;let l,h=kS(n.linkDetect,{col:i,row:r,table:t,value:s,dataValue:a,cellHeaderPaths:void 0});if(h=!1!==h,o){const e=t.getCellOriginRecord(i,r);if(e&&e.vtableMerge)return;const n=Object.assign({__value:s,__dataValue:a},e);if(st(o))l=o(n,i,r,t);else{const t=/\{\s*(\S+?)\s*\}/g;l=o.replace(t,((t,e)=>n[e]))}}else if(h){if(!sA.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),function(t){t.on(jS.DBLCLICK_CELL,(e=>{if(e.federatedEvent){const i=WB(e.federatedEvent),r=t.scenegraph.getResizeColAt(i.abstractPos.x,i.abstractPos.y,i.eventArgs?.targetCell),o=t.options.disableDblclickAutoResizeColWidth??t.options.resize?.disableDblclickAutoResizeColWidth;if(t.eventManager.checkCellFillhandle(i))t.fireListeners(jS.DBLCLICK_FILL_HANDLE,{});else if(t._canResizeColumn(r.col,r.row)&&r.col>=0&&!o){t.scenegraph.updateAutoColWidth(r.col),t.internalProps._widthResizedColMap.add(r.col),t.scenegraph.updateChartSizeForResizeColWidth(r.col);const e=t.stateManager;e.columnResize.col<e.table.frozenColCount&&!e.table.isPivotTable()&&!e.table.transpose&&e.table.scenegraph.component.setFrozenColumnShadow(e.table.frozenColCount-1,e.columnResize.isRightFrozen),(e.columnResize.col>=e.table.colCount-e.table.rightFrozenColCount&&!e.table.isPivotTable()&&!e.table.transpose||e.table.options.rightFrozenColCount)&&e.table.scenegraph.component.setRightFrozenColumnShadow(e.table.colCount-e.table.rightFrozenColCount);const i=[];for(let e=0;e<t.colCount;e++)i.push(t.getColWidth(e));t.fireListeners(jS.RESIZE_COLUMN_END,{col:r.col,colWidths:i})}}}))}(this.table),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(jS.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(jS.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1)}))}(this.table),tF(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=WB(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(),fL(t.scenegraph),t.scenegraph.updateNextFrame()}else t._selectedDimensionInChart?.length&&(t._selectedDimensionInChart.length=0,t.internalProps.layoutMap.updateDataStateToChartInstance(),fL(t.scenegraph),t.scenegraph.updateNextFrame())}))}(this.table),function(t){t.isPivotChart()&&(t.on(jS.MOUSEENTER_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=bF(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(jS.MOUSEENTER_AXIS,e)}}))})),t.on(jS.MOUSELEAVE_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=bF(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(jS.MOUSELEAVE_AXIS,e)}}))})))}(this.table),function(t){t.on("checkbox_state_change",(e=>{const{col:i,row:r,checked:o,field:n}=e;if(!t.internalProps.layoutMap.isSeriesNumber(i,r)||!0!==t.internalProps.enableCheckboxCascade)return;if(t.isHeader(i,r))return;const s=t.getCellOriginRecord(i,r),a=t.dataSource.currentPagerIndexedData,l=t.getRecordShowIndexByCell(i,r);let h=a[l];if(bt(h)&&(h=[h]),s.vtableMerge||s.children?.length)if(o)xF(t,i,r)===v_.collapse?vF(!0,h,t,n):yF(!0,l,h,a,t,i),CF(l,h,a,t,i);else{xF(t,i,r)===v_.collapse?vF(!1,h,t,n):yF(!1,l,h,a,t,i),CF(l,h,a,t,i);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 CF(l,h,a,t,i)}))}(this.table),function(t){t.on("checkbox_state_change",(e=>{if(!0!==t.internalProps.enableCheckboxCascade)return;const{col:i,row:r,checked:o,field:n}=e,s=t.internalProps.columns.some((t=>t.tree));if(t.internalProps.enableCheckboxCascade,!s)return;if(t.isHeader(i,r))return;const a=t.getCellOriginRecord(i,r),l=t.dataSource.currentPagerIndexedData,h=t.getRecordShowIndexByCell(i,r);let c=l[h];if(bt(c)&&(c=[c]),a.vtableMerge||a.children?.length)if(o)xF(t,i,r)===v_.collapse?vF(!0,c,t,n):yF(!0,h,c,l,t,i,n),CF(h,c,l,t,i,n);else{xF(t,i,r)===v_.collapse?vF(!1,c,t,n):yF(!1,h,c,l,t,i,n),CF(h,c,l,t,i,n);const e=t.stateManager.headerCheckedState._vtable_rowSeries_number,o=t.stateManager.updateHeaderCheckedState(n,i,r);e!==o&&t.scenegraph.updateHeaderCheckboxCellState(i,r,o)}else CF(h,c,l,t,i,n)}))}(this.table),function(t){t.on("checkbox_state_change",(e=>{if(!0!==t.internalProps.enableHeaderCheckboxCascade)return;const{col:i,row:r,checked:o,field:n}=e;if(t.isHeader(i,r))t.stateManager.setHeaderCheckedState(n,o),"checkbox"===t.getCellType(i,r)&&t.scenegraph.updateCheckboxCellState(i,r,o);else if(t.stateManager.setCheckedState(i,r,n,o),"checkbox"===t.getCellType(i,r)){const e=t.stateManager.headerCheckedState[n],o=t.stateManager.updateHeaderCheckedState(n,i,r);e!==o&&t.scenegraph.updateHeaderCheckboxCellState(i,r,o)}}))}(this.table),function(t){t.on(jS.CLICK_CELL,(e=>{const{col:i,row:r,target:o}=e;"button"!==o.name||o.attribute.disable||t.hasListeners(jS.BUTTON_CLICK)&&t.fireListeners(jS.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)&&Mk(this.table,i.col,i.row))return e||this.table.stateManager.updateSelectPos(-1,-1),!1;if(!this.table.isHeader(i.col,i.row)&&Mk(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}if(this.table.isPivotChart()&&("axis-label"===t?.eventArgs?.target.name||"chart"===t?.eventArgs?.target.type))return this.table.stateManager.updateSelectPos(-1,-1),!1;const r=this.table.keyboardOptions?.shiftMultiSelect??!0,o=this.table.keyboardOptions?.ctrlMultiSelect??!0;return this.table.stateManager.updateSelectPos("row"===this.table.stateManager.select.selectInline?this.table.colCount-1:i.col,"col"===this.table.stateManager.select.selectInline?this.table.rowCount-1:i.row,i.event.shiftKey&&r,(i.event.ctrlKey||i.event.metaKey)&&o,!1,!e&&(this.table.options.select?.makeSelectCellVisible??!0)),!0}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&&(lt(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));const s=this.table.keyboardOptions?.ctrlMultiSelect??!0;this.table.stateManager.updateSelectPos(e?o:n.end.col,e?r:n.end.row,!0,(i.event.ctrlKey||i.event.metaKey)&&s,!1,!e)}else{const t=this.table.keyboardOptions?.shiftMultiSelect??!0,r=this.table.keyboardOptions?.ctrlMultiSelect??!0;this.table.stateManager.updateSelectPos(i.col,i.row,i.event.shiftKey&&t,(i.event.ctrlKey||i.event.metaKey)&&r,!1,!e)}return!0}return!1}deelTableSelectAll(){this.table.stateManager.updateSelectPos(-1,-1,!1,!1,!0),this.table.fireListeners(jS.SELECTED_CELL,{ranges:this.table.stateManager.select.ranges,col:0,row:0})}dealMenuSelect(t){}checkColumnResize(t,e){const{eventArgs:i}=t;if(this.table.internalProps.enableTreeStickCell&&!i)return!1;const r=this.table.scenegraph.getResizeColAt(t.abstractPos.x,t.abstractPos.y,i?.targetCell);let o=!0;return this.table.internalProps.canResizeColumn&&!this.table.internalProps.canResizeColumn(r.col,r.row,this.table)&&(o=!1),o&&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){let i=!1;if(i="function"==typeof this.table.options.excelOptions?.fillHandle?this.table.options.excelOptions.fillHandle({selectRanges:this.table.stateManager.select.ranges,table:this.table}):this.table.options.excelOptions?.fillHandle,i){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=Math.min(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),n=Math.min(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);let s;if(i<this.table.colCount-1){s=this.table.scenegraph.highPerformanceGetCell(i,r).globalAABBBounds.x2}else if(0===o){s=this.table.scenegraph.highPerformanceGetCell(0,r).globalAABBBounds.x1}else{s=this.table.scenegraph.highPerformanceGetCell(o-1,r).globalAABBBounds.x2}const a=Math.abs(t.abstractPos.x-s);let l;if(r<this.table.rowCount-1){l=this.table.scenegraph.highPerformanceGetCell(i,r).globalAABBBounds.y2}else{l=this.table.scenegraph.highPerformanceGetCell(i,n-1).globalAABBBounds.y2}const h=Math.abs(t.abstractPos.y-l),c=18;if(this.table.stateManager.fillHandle?.isFilling||a<=c/2&&h<=c/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,e,i){let r=this.table.getColAtRelativePosition(t),o=this.table.getRowAtRelativePosition(e);-1===r&&"row"===this.table.stateManager.columnMove.movingColumnOrRow&&(r=0),-1===o&&"column"===this.table.stateManager.columnMove.movingColumnOrRow&&(o=0),lt(r)&<(o)&&this.table.stateManager.updateMoveCol(r,o,t,e,i)}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(jS.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 Th){const t=r.pickIcon(o.global);if(t)return this.table.fireListeners(jS.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):"vglobal"===t.env&&Xu.removeEventListener(t.name,t.callback)})),this.globalEventListeners=[]}enableScroll(){this._enableTableScroll=!0}disableScroll(){this._enableTableScroll=!1}async handleCopy(t,e=!1){const i=this.table;!e&&(this.cutWaitPaste=!1),this.copySourceRange=null;const r=i.stateManager.select.ranges;if(r&&1===r.length){const t=r[0];this.copySourceRange={startCol:Math.min(t.start.col,t.end.col),startRow:Math.min(t.start.row,t.end.row)}}else if(!r?.length)return void(this.copySourceRange=null);const o=this.table.getCopyValue(i.options.keyboardOptions?.getCopyCellValue?.value);if(lt(o)){t.preventDefault();const r=i.getElement();r&&r!==document.activeElement&&(r.focus(),await new Promise((t=>setTimeout(t,10))));try{if(navigator.clipboard&&navigator.clipboard.writeText){let e=!0;if(navigator.permissions&&navigator.permissions.query)try{e="granted"===(await navigator.permissions.query({name:"clipboard-write"})).state}catch(t){e=!0}if(e)try{if(window.ClipboardItem){let t=o;1===i.stateManager.select.ranges.length&&i.options.keyboardOptions?.getCopyCellValue?.html&&(t=this.table.getCopyValue(i.options.keyboardOptions?.getCopyCellValue.html));const e=function(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("")}(t);await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([e],{type:"text/html"}),"text/plain":new Blob([o],{type:"text/plain"})})])}else await navigator.clipboard.writeText(o)}catch(e){this.fallbackCopyToClipboard(o,t)}else this.fallbackCopyToClipboard(o,t)}else this.fallbackCopyToClipboard(o,t);i.fireListeners(jS.COPY_DATA,{cellRange:i.stateManager.select.ranges,copyData:o,isCut:e})}catch(e){this.fallbackCopyToClipboard(o,t)}}i.keyboardOptions?.showCopyCellBorder&&(!function(t){const e=t.stateManager.select.ranges,i=[];for(let t=0;t<e.length;t++){const r=e[t];i.push({range:r,style:{cellBorderColor:"blue",cellBorderLineWidth:2,cellBorderLineDash:[5,5]}})}t.stateManager.setCustomSelectRanges(i)}(i),i.clearSelected())}fallbackCopyToClipboard(t,e){try{if(e.clipboardData)return void e.clipboardData.setData("text/plain",t);document.activeElement&&document.activeElement!==document.body&&document.activeElement.blur();const i=document.createElement("textarea");i.value=t,i.style.position="fixed",i.style.left="-999999px",i.style.top="-999999px",i.style.opacity="0",i.setAttribute("readonly",""),i.setAttribute("aria-hidden","true"),document.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,t.length);try{document.execCommand("copy")}catch(t){}finally{document.body.removeChild(i)}}catch(t){}}async handleCut(t){this.handleCopy(t,!0),this.cutWaitPaste=!0,this.cutCellRange=this.table.getSelectedCellInfos(),this.clipboardCheckTimer&&clearTimeout(this.clipboardCheckTimer),this.clipboardCheckTimer=window.setTimeout((()=>{this.cutWaitPaste&&(this.cutWaitPaste=!1,this.cutCellRange=null,this.clipboardCheckTimer=null)}),3e4),this.saveClipboardContent()}handlePaste(t){this.cutWaitPaste?this.checkClipboardChanged().then((e=>{this.executePaste(t),e||this.clearCutArea(this.table),this.cutWaitPaste&&(this.cutWaitPaste=!1,this.cutCellRange=null,this.clipboardCheckTimer&&(clearTimeout(this.clipboardCheckTimer),this.clipboardCheckTimer=null))})).catch((()=>{this.executePaste(t),this.cutWaitPaste&&(this.cutWaitPaste=!1,this.cutCellRange=null,this.clipboardCheckTimer&&(clearTimeout(this.clipboardCheckTimer),this.clipboardCheckTimer=null))})):this.executePaste(t)}async executePaste(t){const e=this.table;if(!e.editorManager?.editingEditor){if(e.changeCellValues&&e.stateManager.select.ranges?.length>0)try{if(navigator.clipboard&&navigator.clipboard.read)try{const e=await navigator.clipboard.read();let i=!1;for(const t of e){if(t.types.includes("text/html")){await this.pasteHtmlToTable(t),i=!0;break}if(t.types.includes("text/plain")){await this.pasteTextToTable(t),i=!0;break}}i||await this.fallbackPasteFromClipboard(t)}catch(e){await this.fallbackPasteFromClipboard(t)}else await this.fallbackPasteFromClipboard(t)}catch(e){await this.fallbackPasteFromClipboard(t)}e.keyboardOptions?.showCopyCellBorder&&function(t){t.stateManager.setCustomSelectRanges([])}(e)}}async fallbackPasteFromClipboard(t){const e=this.table,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);try{const i=e.getElement();i&&i!==document.activeElement&&(i.focus(),await new Promise((t=>setTimeout(t,10))));const n=t.clipboardData||window.clipboardData||window.Clipboard;if(n){const t=n.getData("text")||n.getData("Text");if(t)return void await this.processPastedText(t,r,o)}}catch(t){}}async processPastedText(t,e,i){const r=this.table,o=t.split("\n"),n=[];let s;o.forEach((function(t){const e=t.split("\t"),i=[];n.push(i),e.forEach((function(t,r){r===e.length-1&&(t=t.trim()),i.push(t)}))})),r.options.keyboardOptions?.processFormulaBeforePaste&&this.copySourceRange&&(s=r.options.keyboardOptions.processFormulaBeforePaste(n,this.copySourceRange.startCol,this.copySourceRange.startRow,e,i));const a=await r.changeCellValues(e,i,s||n,!0);r.hasListeners(jS.PASTED_DATA)&&r.fireListeners(jS.PASTED_DATA,{col:e,row:i,pasteData:s||n,changedCellResults:a})}clearCutArea(t){try{const e=this.cutCellRange;if(!e||0===e.length)return;for(let i=0;i<e.length;i++)for(let r=0;r<e[i].length;r++)e[i][r]&&t.changeCellValue(e[i][r].col,e[i][r].row,void 0)}catch(t){}}async checkClipboardChanged(){if(!navigator.clipboard||!navigator.clipboard.readText)return!1;try{return await navigator.clipboard.readText()!==this.lastClipboardContent}catch(t){return!1}}saveClipboardContent(){navigator.clipboard&&navigator.clipboard.readText&&setTimeout((()=>{navigator.clipboard.readText().then((t=>{this.lastClipboardContent=t})).catch((t=>{}))}),50)}pasteHtmlToTable(t){const e=/<tr[^>]*>([\s\S]*?)<\/tr>/g,i=/<td[^>]*>([\s\S]*?)<\/td>/g,r=this.table,o=r.stateManager.select.ranges,n=o.length,s=Math.min(o[n-1].start.col,o[n-1].end.col),a=Math.min(o[n-1].start.row,o[n-1].end.row),l=Math.max(o[n-1].start.col,o[n-1].end.col),h=Math.max(o[n-1].start.row,o[n-1].end.row);let c=0,d=0,u=[];t.getType("text/html").then((t=>{t.text().then((async t=>{if(t&&/(<table)|(<TABLE)/g.test(t)){const o=Array.from(t.matchAll(e));for(const t of o){const e=t[1],r=Array.from(e.matchAll(i)).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," ")));u.push(r),c=Math.max(c,r?.length??0)}let n;d=u.length??0,u=this.handlePasteValues(u,d,c,h-a+1,l-s+1),r.options.keyboardOptions?.processFormulaBeforePaste&&this.copySourceRange&&(n=r.options.keyboardOptions.processFormulaBeforePaste(u,this.copySourceRange.startCol,this.copySourceRange.startRow,s,a));const g=await r.changeCellValues(s,a,n||u,!0);r.hasListeners(jS.PASTED_DATA)&&r.fireListeners(jS.PASTED_DATA,{col:s,row:a,pasteData:n||u,changedCellResults:g})}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((t=>this._pasteValue(t)))}))}))}))}))}async _pasteValue(t){const e=this.table,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,c=[];let d;t.split("\n").forEach((function(t,e){const i=t.split("\t"),r=[];c.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=c.length??0,c=this.handlePasteValues(c,h,l,a-n+1,s-o+1),e.options.keyboardOptions?.processFormulaBeforePaste&&this.copySourceRange&&(d=e.options.keyboardOptions.processFormulaBeforePaste(c,this.copySourceRange.startCol,this.copySourceRange.startRow,o,n));const u=await e.changeCellValues(o,n,d||c,!0);e.hasListeners(jS.PASTED_DATA)&&e.fireListeners(jS.PASTED_DATA,{col:o,row:n,pasteData:d||c,changedCellResults:u})}async pasteTextToTable(t){const e=this.table,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);try{const i=await t.getType("text/plain"),r=await i.text(),l=this.parsePastedData(r),h=l.length,c=Math.max(...l.map((t=>t.length)),0),d=this.handlePasteValues(l,h,c,a-n+1,s-o+1),u=await e.changeCellValues(o,n,d,!0);e.hasListeners(jS.PASTED_DATA)&&e.fireListeners(jS.PASTED_DATA,{col:o,row:n,pasteData:d,changedCellResults:u})}catch(t){}}parsePastedData(t){const e=t.replace(/\r(?!\n)/g,"\r\n").split("\r\n"),i=[];return e.length>1&&""===e[e.length-1]&&e.pop(),e.forEach((t=>{const e=t.split("\t").map((t=>this.processCellValue(t)));i.push(e)})),i}processCellValue(t){t.includes("\n")&&(t=t.replace(/^"(.*)"$/,"$1").replace(/["]*/g,(t=>new Array(Math.floor(t.length/2)).fill('"').join(""))));const e=Number(t);return isNaN(e)?t:e}handlePasteValues(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 AF=t=>{const e=t.value;return Number(e)>80?"#20a8d8":Number(e)>50?"#4dbd74":Number(e)>20?"#ffc107":"#f86c6b"};class RF extends $_{_showBar;_barColor;_barBgColor;_barPositiveColor;_barNegativeColor;_barAxisColor;_barHeight;_barBottom;_barPadding;_showBarMark;_barMarkPositiveColor;_barMarkNegativeColor;_barMarkWidth;_barMarkPosition;_barRightToLeft;_barMarkInBar;static get DEFAULT(){return uF||(uF=new RF)}constructor(t={},e={}){super(t,e),this._showBar=t.showBar??!0,this._barColor=t.barColor??AF,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,this._barMarkInBar=t.barMarkInBar??!0}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}get barMarkInBar(){return this._barMarkInBar}set barMarkInBar(t){this._barMarkInBar=t}clone(){return new RF(this,null)}}const TF=["type","content","style","color","width","height","marginRight","marginLeft","src","svg","name","path","positionType","tooltip","hover","cursor","shape","interactive","isGif"];class MF{expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=FB();this.expandIcon=e[S_.expandIconName],this.collapseIcon=e[S_.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=FB(),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 Y_;case"image":case"video":return X_;case"chart":case"sparkline":return $_;case"progressbar":return RF;case"checkbox":return Q_;case"radio":return tS;case"switch":return eS;case"button":return iS}return Y_}getCellIconFromRecordValue(t,e,i){if(Array.isArray(t))return t.map((t=>this.getCellIconFromRecordValue(t,e,i)));if(!DS.isObject(t)||"function"==typeof t)return this._table.getFieldData(t,e,i);const r={},o=t;return TF.forEach((t=>{if(void 0!==o[t]){const n=this._table.getFieldData(o[t],e,i);lt(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===v_.expand?this.expandIcon:i===v_.collapse?this.collapseIcon:void 0}getHierarchyIconWidth(){return this.expandIcon.width+(this.expandIcon.marginLeft??0)+(this.expandIcon.marginRight??0)}}function BF(t,e){const i=document.createElement(t);return e&&i.classList.add(...e),i}!function(){if("node"===oS.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}\n.vtable__menu-element--normal {\n\tcolor: rgba(20, 20, 20, 0.9);;\n}\n.vtable__menu-element__item-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n\t background-color: #fff;\n}\n.vtable__menu-element__item-disabled:hover {\n\t background-color: #fff;\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 PF="vtable__menu-element",HF=`${PF}__item`,kF=`${PF}__content`,EF=`${PF}--hidden`,LF=`${PF}--shown`,FF=`${PF}--normal`,IF=`${PF}--select`,zF=`${PF}__icon`,OF=`${PF}__split`,DF=`${PF}__title`,WF=`${PF}__arrow`,NF=`${PF}__no-event`,GF=`${PF}__item-text`,VF=`${PF}__item-disabled`;function jF(){return BF("div",[PF,EF])}function UF(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(lt(n)&<(a)&&IS(s,n,a)&&i===h)return!0}return!1}class KF{_handler;_rootElement;_secondElement;_menuInstanceInfo;_showChildrenIndex;_mouseEnterSecondElement;constructor(t){this._handler=new XS,this._rootElement=jF(),this._secondElement=jF(),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(),e.target.classList.contains(VF))return;if(this._rootElement.classList.contains(EF))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(jS.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),e.target.classList.contains(VF))return;if(this._rootElement.classList.contains(EF))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(jS.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(e=>{if(this._rootElement.classList.contains(EF))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(EF),i?.classList.add(LF),i.innerHTML="";const s=this._menuInstanceInfo.content[r]?.children;for(let e=0;e<s.length;e++){const r=s[e],a=$F(r,!!t.stateManager.menu.dropDownMenuHighlight&&UF(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(EF),t?.classList.add(LF)}else!s&&this._secondElement?.classList.contains(LF)&&setTimeout((()=>{if(!0!==this._mouseEnterSecondElement){this._showChildrenIndex=-1;const t=this._secondElement;t?.classList.remove(LF),t?.classList.add(EF)}}),300)})),this._secondElement?.addEventListener("wheel",(t=>{t.stopPropagation()})),this._secondElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(EF)||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(),e.target.classList.contains(VF))return;if(this._secondElement.classList.contains(EF))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(UF(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(jS.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(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.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(LF),o?.classList.add(EF),n?.classList.remove(LF),n?.classList.add(EF),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&&UF(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(UF(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof o?o?.menuKey||o?.text:o,e,i)){a=!0;break}}const l=$F(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(LF),o?.classList.remove(EF),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement,e=this._secondElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(LF),t.classList.add(EF)),e?.parentElement&&(e.classList.remove(LF),e.classList.add(EF))}_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(-1===e&&-1===i)return!0;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,height:h,left:c,top:d}=a.getBoundingClientRect(),{x:u,y:g,width:p,height:f}=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=n.clientHeight,s=r-c;let u=o-4-d;if(u+i>h){u=u-i+n.firstElementChild.clientHeight+4}n.style.top=`${u}px`;let g=s;return g+e>l?g=g-e-p:g+=4,n.style.left=`${g}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;const a=this._secondElement;if(a){const{x:i,y:r,width:o,height:n}=a.getBoundingClientRect();if(t>i-5&&t<i+o+5&&e>r-5&&e<r+n+5)return!0}return!1}}function $F(t,e){const i=BF("div",[HF,e?IF:FF]);if("object"==typeof t&&t.disabled&&i.classList.add(VF),"string"==typeof t){const e=BF("span",[kF,NF,GF]);e.innerHTML=t,i.appendChild(e)}else if("object"==typeof t){const r=t.type??"item";if("split"===r)return i?.classList.add(OF),i;if(t?.icon?.svg)if(sA.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=BF("span",[zF,NF]);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=BF("span",[kF,NF,GF]);if(o.innerHTML=t.text,i.appendChild(o),"title"===r)i?.classList.add(NF,DF);else if(t?.children?.length){const t=BF("span",[kF,NF,WF]);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 XF;const YF={CHANGE_STYLE:"change_style"};class qF extends G_{_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 YF}static get DEFAULT(){return XF||(XF=new qF)}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 qF(this)}}let ZF,JF,QF;class tI extends qF{static get DEFAULT(){return ZF||(ZF=new tI)}constructor(t={},e={}){super(t,e),this.textAlign=(t.textAlign??e?.textAlign)||"center"}clone(){return new tI(this)}}class eI extends qF{_autoWrapText;_lineClamp;static get DEFAULT(){return JF||(JF=new eI)}constructor(t={},e=null){super(t,e),this._autoWrapText=t?.autoWrapText??e?.autoWrapText,this._lineClamp=t?.lineClamp??e?.lineClamp}clone(){return new eI(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 iI extends qF{_size;_spaceBetweenTextAndIcon;_defaultFill;_defaultStroke;_disableFill;_checkedFill;_checkedStroke;_disableCheckedFill;_disableCheckedStroke;_checkIconImage;_indeterminateIconImage;static get DEFAULT(){return QF||(QF=new iI)}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 iI(t,this)}clone(){return new iI(this)}}function rI(t,e,i,r,o,n){return t||e?t instanceof qF?t:"function"==typeof t?rI(t(i),e,i,r,o,n):(t||(t={}),o&&!lt(t.autoWrapText)&&(t.autoWrapText=!0),r===iI?new iI(t??{},e??{},n.checkboxStyle??{}):new r(t??{},e??{})):r.DEFAULT}class oI{normalIcon;upIcon;downIcon;freezeIcon;frozenIcon;frozenCurrentIcon;dropDownAbsoluteIcon;expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=FB();this.freezeIcon=e[S_.freezeIconName],this.frozenIcon=e[S_.frozenIconName],this.frozenCurrentIcon=e[S_.frozenCurrentIconName],this.normalIcon=e[S_.normalIconName],this.upIcon=e[S_.upwardIconName],this.downIcon=e[S_.downwardIconName],this.dropDownAbsoluteIcon=e[S_.dropdownIconName],this.expandIcon=e[S_.expandIconName],this.collapseIcon=e[S_.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&&IS(n,i.col,i.row)){({order:o}=e);break}}else{const t=this._table._getHeaderCellBySortState(r);t&&IS(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=FB(),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||!lt(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||!lt(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&&UF(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:x_.right,marginRight:0,funcType:__.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:x_.right,marginRight:0,funcType:__.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===v_.expand)return this.expandIcon;if(i===v_.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 eI;case"image":case"video":return tI;case"checkbox":return iI}}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 nI extends EventTarget{_container;_table;_input;constructor(t,e){if(super(),this._table=t,"node"===oS.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 sI{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(!lt(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(lt(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,i=0,r=!1;const o=this.table.rowCount>0&&this.table.bottomFrozenRowCount>0?this.table.rowCount-this.table.bottomFrozenRowCount:-1;for(let n=t;n>=0;n--){if(this.cumulativeSum.has(n)){e+=this.cumulativeSum.get(n);break}e+=this.data.get(n)??this.table.getRowHeight(n),n>=o&&-1!==o&&(i=e,r=n===o)}if(r&&this.table.containerFit?.height&&this.table.bottomFrozenRowCount){const t=this.table.tableNoFrameHeight||0;e<t&&(e=t-this.table.getBottomFrozenRowsHeight()+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,r=[];for(let e=t;e<=i;e++)this.has(e)&&(r.push({position:e,value:this.get(e)}),this._remove(e));lt(e)&&this.put(t,e);for(const{position:t,value:e}of r)this.put(t+1,e)}getLastIndex(){return this._sort(),this._keys[this._keys.length-1]}delLast(){const t=this.getLastIndex();this._remove(t)}delete(t){for(let e=t;e<=this.getLastIndex();e++)this.cumulativeSum.delete(e);const e=this.getLastIndex();this.has(t)&&this._remove(t);const i=[];for(let r=t+1;r<=e;r++)this.has(r)&&i.push({position:r,value:this.get(r)});for(const{position:t,value:e}of i)this._remove(t),this._add(t-1,e)}adjustOrder(t,e,i){this.clearRange(),this._sort();const{_keys:r}=this;if(t>e){const o=[];for(let n=aI(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=aI(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 n=[];for(let i=t+e-1;i>=t;i--)n.push({position:i,value:this.get(i)}),this.delete(i);for(let t=0;t<e;t++)this.insert(o,n[t].value)}}function aI(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}const o=r<0?0:r;return t[o]===e?o:-1}class lI{dragReorderIconName;_table;constructor(t){this._table=t;const e=FB();this.dragReorderIconName=e[S_.dragReorderIconName]}getIcons(t,e){return[this.dragReorderIconName]}}class hI{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 qS;dimensionKeysIncludeVirtual=new qS;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 qS,this.dimensionKeysIncludeVirtual=new qS,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?aA:t.dimensionKey)||this.dimensionKeys.put(t.level,t.indicatorKey?aA:t.dimensionKey),this.dimensionKeysIncludeVirtual.contain(t.indicatorKey?aA:t.dimensionKey)||this.dimensionKeysIncludeVirtual.put(t.level,t.indicatorKey?aA: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.level?0:1:t.hierarchyState===v_.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===v_.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=v_.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=v_.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=v_.none,r=-1===t.level?0: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=Bt(this.tree.children);return fI(t),t}setAllNodesState(t){this._updateNodeHierarchyState(this.tree,t)}_updateNodeHierarchyState(t,e){t.children&&t.children.length>0&&t.children[0].dimensionKey?(-1!==t.level&&(t.hierarchyState=e),t.children.forEach((t=>{this._updateNodeHierarchyState(t,e)}))):t.hierarchyState=v_.none}}function cI(t,e){Array.isArray(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=[],cI(i.children,e.children))}))}function dI(t,e){let i=0;return t?.forEach((t=>{e?i++:t.children&&0!==t.children.length||i++,t.children&&(i+=dI(t.children,e))})),i}function uI(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),lt(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&&(lt(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 gI(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),lt(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&&(lt(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===v_.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===v_.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 pI(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),lt(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&&(lt(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===v_.expand&&t.children?.length>=1)s&&l.colIndex++,l._addHeadersForTreeMode(e,o,t.children??[],[...r,h],n,s&&t.hierarchyState===v_.expand,a,i);else{s&&l.colIndex++;for(let t=o+1;t<e.length;t++)e[t][l.colIndex]=h}}function fI(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&&fI(r)}}function mI(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&&mI(s.children,e,i,r,o);e.pop()}}function bI(t,e){let i,r;e.columnTree&&(!1!==t.options.indicatorsAsCol&&!1!==t.options.supplementIndicatorNodes&&(t.internalProps.columnTree=yI(t.internalProps.columnTree,e.indicators)),i=new hI(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=yI(t.internalProps.rowTree,e.indicators)),r=new hI(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:y_.NONE}):t.internalProps.dataConfig?t.internalProps.dataConfig.aggregationRules=[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:y_.NONE}]:t.internalProps.dataConfig={aggregationRules:[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:y_.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 yI(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 CI(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)&&mI(t,[],o,i,r)}function wI(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||(_I(t,e)??{top:-1,row:-1,bottom:-1,height:-1})}function vI(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||(xI(t,e)??{left:-1,col:-1,right:-1,width:1})}function xI(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)<=t&&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)<=t&&t<Math.round(o))return{left:n,col:r,right:o,width:i};o=n}return null})(i,r)}function _I(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 SI(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 xI(t,i)}function AI(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 _I(t,i)}class RI{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(st(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)})),Et({},...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===b_.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 TI(t,e){t=t.clone();for(const i in e){const r=e[i];lt(r)&&(t[`_${i}`]=r)}return t}const MI=()=>{RA.registerComponent("customCellStylePlugin",RI)},BI={};function PI(t){return Math.floor(t)===t}class HI extends qC{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 kI{table;timeline;ticker;animation;tempGraphic;constructor(t){this.table=t,this.timeline=new kC,this.ticker=new zC(this.table.scenegraph.stage),this.ticker.addTimeline(this.timeline);this.ticker.setFPS(60),this.tempGraphic=fh({})}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;bt(o)&&!PI(o)&&(l=Math.floor(o),s=o-l),bt(n)&&!PI(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:bt(o)?d-this.table.getFrozenColsWidth():this.table.scrollLeft,y:bt(n)?u-this.table.getFrozenRowsHeight():this.table.scrollTop},p=nt(i)?i?3e3:0:i?.duration??3e3,f=nt(i)?i?"linear":"":i?.easing??"linear";new LC(e.GenAutoIncrementId(),this.timeline).bind(this.tempGraphic).play(new HI(r,g,p,f,{graphic:this.tempGraphic,table:this.table})),this.ticker.start()}clear(){this.timeline.clear(),this.ticker.stop()}}function EI(t){return st(t)?t:pt(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}class LI{plugins=new Map;table;pluginEventMap=new Map;constructor(t,e){this.table=t,e.plugins?.map((t=>{this.register(t),this._bindTableEventForPlugin(t)}))}register(t){this.plugins.set(t.id,t)}registerAll(t){t.forEach((t=>this.register(t)))}getPlugin(t){return this.plugins.get(t)}getPluginByName(t){return Array.from(this.plugins.values()).find((e=>e.name===t))}_bindTableEventForPlugin(t){t.runTime?.forEach((e=>{const i=this.table.on(e,((...i)=>{t.run?.(...i,e,this.table)}));this.pluginEventMap.set(t.id,[...this.pluginEventMap.get(t.id)||[],i])}))}removeOrAddPlugins(t){Array.from(this.plugins.values()).filter((e=>!t?.some((t=>t.id===e.id)))).forEach((t=>{this.pluginEventMap.get(t.id)?.forEach((t=>{this.table.off(t)})),this.release(),this.plugins.delete(t.id)}));const e=t?.filter((t=>!this.plugins.has(t.id)));e?.forEach((t=>{this.register(t),this._bindTableEventForPlugin(t)}))}updatePlugins(t){t?.forEach((t=>{t.update&&t.update()}))}release(){this.plugins.forEach((t=>{t.release?.(this.table)}))}}const{toBoxArray:FI}=GS,{isTouchEvent:II}=NS,zI=/^\$(\d+)\$(\d+)$/;!function(){if("node"===oS.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 OI extends G_{internalProps;showFrozenIcon=!0;padding;globalDropDownMenu;tableNoFrameWidth;tableNoFrameHeight;tableX;tableY;_widthMode;_heightMode;_autoFillWidth;_autoFillHeight;_containerFit;_widthAdaptiveMode;_heightAdaptiveMode;customRender;canvasWidth;canvasHeight;contentOffsetX;contentOffsetY;_vDataSet;scenegraph;stateManager;eventManager;editorManager;animationManager;_pixelRatio;canvasSizeSeted;static get EVENT_TYPE(){return jS}options;version="1.22.11-alpha.10";pagination;id=`VTable${Date.now()}`;headerStyleCache;bodyStyleCache;bodyMergeTitleCache;bodyBottomStyleCache;container;isReleased=!1;_chartEventMap={};customCellStylePlugin;columnWidthComputeMode;reactCustomLayout;_hasAutoImageColumn;pluginManager;rotateDegree;constructor(t,e={}){if(super(),"node"===oS.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),!t&&"node"!==e.mode&&!e.canvas)throw new Error("vtable's container is undefined");this.pluginManager=new LI(this,e),this.fireListeners(jS.BEFORE_INIT,{options:e,container:t}),t=e.container&&e.container instanceof HTMLElement?e.container:t,!1===e.customConfig?.imageAnonymous&&(Xu.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,containerFit:g={width:!1,height:!1},widthAdaptiveMode:p="only-body",heightAdaptiveMode:f="only-body",keyboardOptions:m,eventOptions:b,rowSeriesNumber:y,enableCheckboxCascade:C,enableHeaderCheckboxCascade:w,columnResizeMode:v,rowResizeMode:x="none",resize:_,dragHeaderMode:S,dragOrder:A,showFrozenIcon:R,allowFrozenColCount:T,padding:M,hover:B,menu:P,select:H,customRender:k,pixelRatio:E=gF,renderChartAsync:L,renderChartAsyncBatchCount:F,mode:I,modeParams:z,canvasWidth:O,canvasHeight:D,contentOffsetX:W,contentOffsetY:N,overscrollBehavior:G,limitMinWidth:V,limitMinHeight:j,clearDOM:U=!0}=e,{groupConfig:K,groupBy:$,groupTitleFieldFormat:X,groupTitleCustomLayout:Y,enableTreeStickCell:q}=e;this.container=t,this.options=e,this._widthMode=h,this._heightMode=c,this._widthAdaptiveMode=p,this._heightAdaptiveMode=f,this._autoFillWidth=d,this._autoFillHeight=u,void 0!==g&&(this._containerFit="boolean"==typeof g?{width:g,height:g}:g&&"object"==typeof g?{width:g.width??!0,height:g.height??!0}:{width:!1,height:!1}),this.customRender=k,this.padding={top:0,right:0,left:0,bottom:0},M&&("number"==typeof M?(this.padding.top=M,this.padding.left=M,this.padding.bottom=M,this.padding.right=M):(M.top&&(this.padding.top=M.top),M.bottom&&(this.padding.bottom=M.bottom),M.left&&(this.padding.left=M.left),M.right&&(this.padding.right=M.right))),(lt(D)||lt(O))&&(this.canvasSizeSeted=!0),this.tableNoFrameWidth=0,this.tableNoFrameHeight=0,this.contentOffsetX=W??0,this.contentOffsetY=N??0,this.canvasWidth=bt(O)?O:void 0,this.canvasHeight=bt(D)?D:void 0,this.columnWidthComputeMode=e.columnWidthComputeMode??"normal";const Z=this.internalProps={};void 0!==R&&(this.showFrozenIcon=R),"number"==typeof T&&T<=0&&(this.showFrozenIcon=!1),this.options.canvas?("node"!==oS.mode&&(Z.element=this.options.canvas.parentElement,Z.element.style.position="relative"),Z.focusControl=new nI(this,Z.element),Z.canvas=this.options.canvas,Z.context=Z.canvas.getContext("2d")):"node"!==oS.mode&&(Z.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),Z.focusControl=new nI(this,Z.element),Z.canvas=document.createElement("canvas"),Z.element.appendChild(Z.canvas),Z.context=Z.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)),Z.handler=new XS,bt(this.options.resizeTime)&&(Z.handler.resizeTime=this.options.resizeTime),Z.pixelRatio=E,Z.frozenColCount=i,Z.frozenRowCount=o,Z.unfreezeAllOnExceedsMaxWidth=r??!0,Z.defaultRowHeight=n,Z.defaultHeaderRowHeight=s??n,Z.defaultColWidth=a,Z.defaultHeaderColWidth=l??a,Z.keyboardOptions=m,Z.eventOptions=b,Z.rowSeriesNumber=y,Z.enableCheckboxCascade=C??y?.enableTreeCheckbox??!0,Z.enableHeaderCheckboxCascade=C||(w??!0),Z.columnResizeMode=_?.columnResizeMode??v,Z.canResizeColumn=_?.canResizeColumn,Z.rowResizeMode=_?.rowResizeMode??x,Z.dragHeaderMode=A?.dragHeaderMode??S??"none",Z.renderChartAsync=L,pk(F),Z.overscrollBehavior=G??"auto",Z.groupBy=K?.groupBy??$,Z.groupTitleCheckbox=K?.titleCheckbox??!!y?.enableTreeCheckbox,Z.groupTitleFieldFormat=K?.titleFieldFormat??X,Z.groupTitleCustomLayout=K?.titleCustomLayout??Y,Z.enableTreeStickCell=K?.enableTreeStickCell??q,Z._rowHeightsMap=new sI(this),Z._rowRangeHeightsMap=new Map,Z._colRangeWidthsMap=new Map,Z._widthResizedColMap=new Set,Z._heightResizedRowMap=new Set,this.colWidthsMap=new qS,this.colContentWidthsMap=new qS,this.colWidthsLimit={};const J=this;if(Z.calcWidthContext={_:Z,get full(){return"node"===oS.mode?J.canvasWidth/(E??1):this._.canvas.width/(this._.context.pixelRatio??J.internalProps.pixelRatio??window.devicePixelRatio)}},Z.cellTextOverflows={},Z.focusedTable=!1,Z.theme=_A.of(e.theme??_A.DEFAULT),Z.theme.isPivot=this.isPivotTable(),kB(Z.theme.functionalIconsStyle),t?(U&&(t.innerHTML=""),t.appendChild(Z.element),this._updateSize()):this._updateSize(),Z.bodyHelper=new MF(this),Z.headerHelper=new oI(this),Z.rowSeriesNumberHelper=new lI(this),Z.autoWrapText=e.autoWrapText,Z.enableLineBreak=e.enableLineBreak,Z.allowFrozenColCount=e.allowFrozenColCount??0,Z.limitMaxAutoWidth=e.limitMaxAutoWidth??450,Z.limitMinWidth=null!=V?"number"==typeof V?V:V?10:0:10,Z.limitMinHeight=null!=j?"number"==typeof j?j:j?10:0:10,this.scenegraph=new HL(this),this.stateManager=new QL(this),this.eventManager=new SF(this),this.animationManager=new kI(this),e.legends){Z.legends=[];const t=RA.getFunction("createLegend");if(Array.isArray(e.legends)){for(let i=0;i<e.legends.length;i++)Z.legends.push(t(e.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else Z.legends.push(t(e.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if(Z.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:w_.bottom},e.tooltip),"html"===Z.tooltip.renderMode){const t=RA.getComponent("tooltipHandler");t&&(Z.tooltipHandler=new t(this,Z.tooltip.confine))}if(Z.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"===Z.menu.renderMode){const t=RA.getComponent("menuHandler");Z.menuHandler=new t(this)}this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyMergeTitleCache=new Map,this.bodyBottomStyleCache=new Map,Z.stick={changedCells:new Map},Z.customMergeCell=EI(e.customMergeCell);const Q=RA.getComponent("customCellStylePlugin");Q&&(this.customCellStylePlugin=new Q(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+=FI(this.internalProps.theme.frameStyle?.shadowBlur??[0])[1]??0}else if(this.theme.frameStyle){const e=FI(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=FI(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+=FI(this.internalProps.theme.frameStyle?.shadowBlur??[0])[2]??0}else if(this.theme.frameStyle){const t=FI(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=FI(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()}setContentInsetXY(t,e){this.contentOffsetX=t,this.contentOffsetY=e,this.options.contentOffsetX=t,this.options.contentOffsetY=e,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.options.frozenRowCount=t,this.stateManager.setFrozenRow(this.internalProps.frozenRowCount)}_setFrozenRowCount(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 bt(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:iB(this,t)}_getMaxFrozenWidth(){return iB(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=iB(this,e.min),i.minDef=e.min),e.max&&(i.max=iB(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,i=this.canvasWidth;this.internalProps.calcWidthContext={_:this.internalProps,get full(){return"node"===oS.mode?i/(t??1):this._.canvas.width/(this._.context.pixelRatio??e.internalProps.pixelRatio??window.devicePixelRatio)}},this.scenegraph.setPixelRatio(t)}}_updateSize(){const{padding:t}=this;let e=0,i=0;if(this.tableX=this.contentOffsetX,this.tableY=this.contentOffsetY,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"===oS.mode){const r=this.getElement();let o=0,n=0;const s=lt(this.canvasWidth),a=lt(this.canvasHeight);this.canvasSizeSeted&&(s&&(o=this.canvasWidth),a&&(n=this.canvasHeight));if((!s||!a)&&r.parentElement){const t=r.parentElement.style||window.getComputedStyle(r.parentElement);s||(o=r.parentElement.offsetWidth-(parseInt(t.paddingLeft,10)||0)-(parseInt(t.paddingRight,10)||0)),a||(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:l}=this.internalProps;e=(l.parentElement?.offsetWidth??1)-(this.options.tableSizeAntiJitter?1:0),i=(l.parentElement?.offsetHeight??1)-(this.options.tableSizeAntiJitter?1:0),this?.scenegraph?.stage?this.options?.viewBox&&!this.options?.canvas&&this.scenegraph.stage.resize(e,i):(l.style.width="",l.style.height="",l.width=e,l.height=i,l.style.width=`${e}px`,l.style.height=`${i}px`),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"node"===oS.mode&&(e=this.canvasWidth-1,i=this.canvasHeight-1);const r=this.getTheme().scrollStyle;let o=0,n=0;o=this.shouldVScrollBarWidthShow(e,i,r)?sS(r):0,n=this.shouldHScrollBarWidthShow(e,i,r)?nS(r):0;const s=Math.floor(e-o),a=Math.floor(i-n);if(this.internalProps.theme?.frameStyle){const t=FI(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),e=FI(this.internalProps.theme.frameStyle?.shadowBlur??[0]);if(this.theme.frameStyle?.innerBorder)this.tableX+=this.contentOffsetX,this.tableY+=this.contentOffsetY,this.tableNoFrameWidth=s-(e[1]??0)-this.contentOffsetX,this.tableNoFrameHeight=a-(e[2]??0)-this.contentOffsetY;else{this.tableX+=(t[3]??0)+(e[3]??0),this.tableY+=(t[0]??0)+(e[0]??0);const i=(t[1]??0)+(e[1]??0);this.tableNoFrameWidth=s-(i>o?i-o:0)-((t[3]??0)+(e[3]??0))-this.contentOffsetX;const r=(t[2]??0)+(e[2]??0);this.tableNoFrameHeight=a-(r>n?r-n:0)-((t[0]??0)+(e[0]??0))-this.contentOffsetY}}this._clearColRangeWidthsMap(),this._clearRowRangeHeightsMap()}shouldVScrollBarWidthShow(t,e,i){if(i.hoverOn||"none"===i.visible)return!1;const r=this.getAllRowsHeight(),o=i.visible?nS(i):0;if(r>e-o&&r<=e){const e=this.getAllColsWidth(),r=i.visible?sS(i):0;if(e>t-r&&e<=t)return!1;if(e>t)return!0;if(e<=t-r)return!1}return!(r<=e-o)}shouldHScrollBarWidthShow(t,e,i){if(i.hoverOn||"none"===i.visible)return!1;const r=this.getAllColsWidth(),o=i.visible?sS(i):0;if(r>t-o&&r<=t){const t=this.getAllRowsHeight(),r=i.visible?nS(i):0;if(t>e-r&&t<=e)return!1;if(t>e)return!0;if(t<=e-r)return!1}return!(r<=t-o)}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 this.dataSource.rowHierarchyType}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){let i=r+this.getColWidth(e);return this.rightFrozenColCount>0&&e===this.colCount-this.rightFrozenColCount&&(i=this._getRangeSizeForContainerFit(t,e,i,"col")),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 o=this._getRangeSizeForContainerFit(t,e,o,"col"),t>=0&&e>=0&&this._colRangeWidthsMap.set(`$${t}$${e}`,Math.round(o)),Math.round(o)}getRowHeight(t){if(lt(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 bt(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{const r=this.rowCount-this.bottomFrozenRowCount;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,r-1)-Math.max(this.columnHeaderLevelCount,t)+1));let o=0;for(let t=r;t<e+1;t++)o+=this.getRowHeight(t);i=this._getRangeSizeForContainerFit(t,e,i+o,"row")}return this.options.customConfig?._disableColumnAndRowSizeRound?i:Math.round(i)}_getRangeSizeForContainerFit(t,e,i,r="col"){if(!isFinite(t)||!isFinite(e))return i;const o="col"===r?{totalCount:"colCount",frozenCount:"rightFrozenColCount",fitType:"width",tableSize:"tableNoFrameWidth",getSize:"getColWidth"}:{totalCount:"rowCount",frozenCount:"bottomFrozenRowCount",fitType:"height",tableSize:"tableNoFrameHeight",getSize:"getRowHeight"},n=this[o.tableSize];if(i>=n)return i;const s=this[o.totalCount]-this[o.frozenCount];if(!isFinite(this[o.totalCount])||this[o.frozenCount]<=0||s<0)return i;if(t>s||e<s||t===e||!this.containerFit?.[o.fitType])return i;const a=this[o.totalCount]-1;let l=n;if(t>0)for(let e=0;e<t;e++)if(l-=this[o.getSize](e),l<=0)return i;if(e!==a)for(let t=e+1;t<=a;t++)if(l-=this[o.getSize](t),l<=0)return i;return l}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||(!!this.internalProps.rowHeightConfig||(t>=0&&t<this.columnHeaderLevelCount?"auto"===this.getDefaultRowHeight(t):"auto"===this.internalProps.defaultRowHeight)))}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=zI.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||this.internalProps.rowCount<=0)return 0;return this.getRowsHeight(0,this.internalProps.rowCount-1)}getAllColsWidth(){if(!this.internalProps?.colCount||this.internalProps.colCount<=0)return 0;return this.getColsWidth(0,this.internalProps.colCount-1)}getColsWidths(){const t=this.colCount,e=[];for(let i=0;i<t;i++)e.push(this.getColWidth(i));return e}getMaxColWidth(t){const e=this.colWidthsLimit[t];let i=(e&&e.max)??1/0;return"string"==typeof i&&(i=iB(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=iB(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 ZS(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 ZS(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,a=Math.min(this.tableNoFrameWidth,this.getAllColsWidth()),l=Math.min(this.tableNoFrameHeight,this.getAllRowsHeight());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,a-this.getRightFrozenColsWidth()),n=a-(this.getColsWidth(t+1,this.colCount-1)??0)-o):this.isRightFrozenColumn(t)&&(o=a-(this.getColsWidth(t,this.colCount-1)??0));let h=this.getRowsHeight(0,e-1),c=this.getRowsHeight(e,r);const d=this.scrollTop;return this.isTopFrozenRow(e)&&this.isBottomFrozenRow(r)?c=this.tableNoFrameHeight-(this.getRowsHeight(e+1,this.rowCount-1)??0)-h:this.isTopFrozenRow(e)&&!this.isTopFrozenRow(r)?c=Math.max(c-d,this.getRowsHeight(e,this.frozenRowCount-1)):!this.isBottomFrozenRow(e)&&this.isBottomFrozenRow(r)?(h=Math.min(h-d,l-this.getBottomFrozenRowsHeight()),c=l-(this.getRowsHeight(e+1,this.rowCount-1)??0)-h):this.isBottomFrozenRow(e)&&(h=l-(this.getRowsHeight(e,this.rowCount-1)??0)),new ZS(Math.round(o),Math.round(h),Math.round(n),Math.round(c))}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 wI(t,this)}getColAt(t){return vI(t,this)}getCellAt(t,e){return function(t,e,i){const r=wI(e,i),{row:o,top:n,bottom:s,height:a}=r,l=vI(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=SI((o||s?t:t+i.scrollLeft)+i.tableX,s,i),l=AI((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)}getColAtRelativePosition(t){return function(t,e){let i=!1;(t-=e.tableX)>0&&t<e.getFrozenColsWidth()&&(i=!0);let r=!1;t>e.tableNoFrameWidth-e.getRightFrozenColsWidth()&&t<e.tableNoFrameWidth&&t<=e.getAllColsWidth()&&(r=!0);const o=SI((i||r?t:t+e.scrollLeft)+e.tableX,r,e);if(o){const{col:t}=o;return t}return-1}(t,this)}getRowAtRelativePosition(t){return function(t,e){let i=!1;(t-=e.tableY)>0&&t<e.getFrozenRowsHeight()&&(i=!0);let r=!1;t>e.tableNoFrameHeight-e.getBottomFrozenRowsHeight()&&t<e.tableNoFrameHeight&&t<=e.getAllRowsHeight()&&(r=!0);const o=AI((i||r?t:t+e.scrollTop)+e.tableY,r,e);if(o){const{row:t}=o;return t}return-1}(t,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 ZS(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 ZS(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(t=0,e=0){const{scrollTop:i}=this,r=this.getFrozenRowsHeight(),o=this.getBottomFrozenRowsHeight(),{row:n}=this.getRowAt(i+r+1+t),s=this.getAllRowsHeight()>this.tableNoFrameHeight?this.getRowAt(i+this.tableNoFrameHeight-1-o+e).row:this.rowCount-1;return s<0?null:{rowStart:n,rowEnd:s}}getBodyVisibleColRange(t=0,e=0){const{scrollLeft:i}=this,r=this.getFrozenColsWidth(),o=this.getRightFrozenColsWidth(),{col:n}=this.getColAt(i+r+1+t),s=this.getAllColsWidth()>this.tableNoFrameWidth?this.getColAt(i+this.tableNoFrameWidth-1-o+e).col:this.colCount-1;return s<0?null:{colStart:n,colEnd:s}}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?.(),super.release?.(),this.pluginManager.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();const e=t.element?.parentElement;e&&!this.options.canvas&&e.removeChild(t.element),this.editorManager?.editingEditor?.onEnd?.(),this.isReleased=!0,this.scenegraph=null,this.internalProps=null,this.reactCustomLayout?.clearCache(),fk()}fireListeners(t,e){return super.fireListeners(t,e)}updateOption(t,e={clearColWidthCache:!0,clearRowHeightCache:!0}){this.fireListeners(jS.BEFORE_UPDATE_OPTION,{options:t,container:this.container}),this.editorManager?.cancelEdit(),this.options=t,this._hasAutoImageColumn=void 0;const{frozenColCount:i=0,unfreezeAllOnExceedsMaxWidth:r,defaultRowHeight:o=40,defaultHeaderRowHeight:n,defaultColWidth:s=80,defaultHeaderColWidth:a=80,keyboardOptions:l,eventOptions:h,rowSeriesNumber:c,enableCheckboxCascade:d,enableHeaderCheckboxCascade:u,columnResizeMode:g,rowResizeMode:p="none",resize:f,dragHeaderMode:m,dragOrder:b,showFrozenIcon:y,allowFrozenColCount:C,padding:w,hover:v,menu:x,select:_,pixelRatio:S,widthMode:A,heightMode:R,autoFillWidth:T,autoFillHeight:M,containerFit:B,widthAdaptiveMode:P,heightAdaptiveMode:H,customRender:k,renderChartAsync:E,renderChartAsyncBatchCount:L,canvasWidth:F,canvasHeight:I,contentOffsetX:z=0,contentOffsetY:O=0,overscrollBehavior:D,limitMinWidth:W,limitMinHeight:N}=t,{groupConfig:G,groupBy:V,groupTitleFieldFormat:j,groupTitleCustomLayout:U,enableTreeStickCell:K}=t;S&&S!==this.internalProps.pixelRatio&&(this.internalProps.pixelRatio=S),w&&("number"==typeof w?(this.padding.top=w,this.padding.left=w,this.padding.bottom=w,this.padding.right=w):(w.top&&(this.padding.top=w.top),w.bottom&&(this.padding.bottom=w.bottom),w.left&&(this.padding.left=w.left),w.right&&(this.padding.right=w.right))),this.showFrozenIcon="boolean"!=typeof y||y,"number"==typeof C&&C<=0&&(this.showFrozenIcon=!1),this.widthMode=A??"standard",this.heightMode=R??"standard",this._widthAdaptiveMode=P??"only-body",this._heightAdaptiveMode=H??"only-body",this.autoFillWidth=T??!1,this.autoFillHeight=M??!1,void 0!==B&&(this._containerFit="boolean"==typeof B?{width:B,height:B}:B&&"object"==typeof B?{width:B.width??!0,height:B.height??!0}:{width:!1,height:!1}),this.customRender=k,this.contentOffsetX=z??0,this.contentOffsetY=O??0,this.canvasWidth=bt(F)?F:void 0,this.canvasHeight=bt(I)?I:void 0;const $=this.internalProps;if("node"===oS.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"}($.element,this.padding),this.columnWidthComputeMode=t.columnWidthComputeMode??"normal",$.frozenColCount=i,$.unfreezeAllOnExceedsMaxWidth=r??!0,$.defaultRowHeight=o,$.defaultHeaderRowHeight=n??o,$.defaultColWidth=s,$.defaultHeaderColWidth=a??s,$.keyboardOptions=l,$.eventOptions=h,$.rowSeriesNumber=c,$.enableCheckboxCascade=d??c?.enableTreeCheckbox??!0,$.enableHeaderCheckboxCascade=d||(u??!0),$.columnResizeMode=f?.columnResizeMode??g,$.canResizeColumn=f?.canResizeColumn,$.rowResizeMode=f?.rowResizeMode??p,$.dragHeaderMode=b?.dragHeaderMode??m??"none",$.renderChartAsync=E,pk(L),$.overscrollBehavior=D??"auto",$.cellTextOverflows={},$.groupBy=G?.groupBy??V,$.groupTitleCheckbox=G?.titleCheckbox,$.groupTitleFieldFormat=G?.titleFieldFormat??j,$.groupTitleCustomLayout=G?.titleCustomLayout??U,$.enableTreeStickCell=G?.enableTreeStickCell??K,e?.clearColWidthCache&&($._widthResizedColMap.clear(),this.colWidthsMap=new qS,this.colContentWidthsMap=new qS,this.colWidthsLimit={}),e?.clearRowHeightCache&&($._heightResizedRowMap.clear(),$._rowHeightsMap=new sI(this),$._rowRangeHeightsMap=new Map,$._colRangeWidthsMap=new Map),$.stick.changedCells.clear(),$.theme=_A.of(t.theme??_A.DEFAULT),$.theme.isPivot=this.isPivotTable(),kB($.theme.functionalIconsStyle),this.scenegraph.updateStageBackground(),$.autoWrapText=t.autoWrapText,$.enableLineBreak=t.enableLineBreak,$.allowFrozenColCount=t.allowFrozenColCount??0,$.limitMaxAutoWidth=t.limitMaxAutoWidth??450,$.limitMinWidth=null!=W?"number"==typeof W?W:W?10:0:10,$.limitMinHeight=null!=N?"number"==typeof N?N:N?10:0:10,$.legends?.forEach((t=>{t?.release()})),$.title?.release(),$.title=null,$.emptyTip?.release(),$.emptyTip=null,$.layoutMap.release(),fk(),this.scenegraph.clearCells(),this.scenegraph.updateComponent(),this.stateManager.updateOptionSetState(),this._updateSize(),this.eventManager.updateEventBinder(),t.legends){$.legends=[];const e=RA.getFunction("createLegend");if(Array.isArray(t.legends)){for(let i=0;i<t.legends.length;i++)$.legends.push(e(t.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else $.legends.push(e(t.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if($.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:w_.bottom},t.tooltip),"html"===$.tooltip.renderMode&&!$.tooltipHandler){const t=RA.getComponent("tooltipHandler");$.tooltipHandler=new t(this,$.tooltip.confine)}if($.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"===$.menu.renderMode&&!$.menuHandler){const t=RA.getComponent("menuHandler");$.menuHandler=new t(this)}this.clearCellStyleCache(),e?.clearColWidthCache&&this.clearColWidthCache(),e?.clearRowHeightCache&&this.clearRowHeightCache(),$.customMergeCell=EI(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=this.containerFit?.width?this.tableNoFrameWidth:Math.min(this.tableNoFrameWidth,this.getAllColsWidth()),e=this.containerFit?.height?this.tableNoFrameHeight:Math.min(this.tableNoFrameHeight,this.getAllRowsHeight());return new ZS(this.tableX,this.tableY,t,e)}_getMouseAbstractPoint(t){let e;if(!t)return{inTable:!1,x:void 0,y:void 0};e=II(t)?t.changedTouches[0]:t;const i=e.clientX||e.pageX+window.scrollX,r=e.clientY||e.pageY+window.scrollY,o=this.internalProps.canvas.getBoundingClientRect();let n=!0;o.right<=i&&(n=!1),o.bottom<=r&&(n=!1);const s=o.width,a=s/((90===this.rotateDegree?this.canvas.offsetHeight:this.canvas.offsetWidth)||s),l=o.height,h=l/((90===this.rotateDegree?this.canvas.offsetWidth:this.canvas.offsetHeight)||l),c=this.pluginManager.getPluginByName("Rotate Table");if(c&&90===this.rotateDegree){const t={x:i/a-(this.options.viewBox?.x1??0),y:r/h-(this.options.viewBox?.y1??0),inTable:n};return c.matrix.transformPoint(t,t),t}const d={x:(i-o.left)/a-(this.options.viewBox?.x1??0),y:(r-o.top)/h-(this.options.viewBox?.y1??0),inTable:n};if(this.internalProps.modifiedViewBoxTransform&&this.scenegraph.stage.window.getViewBoxTransform()){return this.scenegraph.stage.window.getViewBoxTransform().transformPoint(d,d),d}return d}getTheme(){return this.internalProps.theme}getTargetColAt(t){return xI(t,this)}getTargetRowAt(t){const e=_I(t,this);return e&&(e.row=Math.min(e.row,this.rowCount-1)),e}getTargetColAtConsiderRightFrozen(t,e){return SI(t,e,this)}getTargetRowAtConsiderBottomFrozen(t,e){return AI(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)=>{const i=t.start.row,r=t.start.col,o=t.end.row,n=t.end.col;r===n&&i===o?this.stateManager.updateSelectPos(r,i,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0):(this.stateManager.updateSelectPos(r,i,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(f_.grabing),this.stateManager.updateSelectPos(n,o,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0)),this.stateManager.endSelectCells(!1,!1),this.stateManager.updateInteractionState(f_.default)})),this.setScrollTop(i),this.setScrollLeft(e)}selectRow(t,e,i){const r=this.stateManager.select.ranges;if(e)r.push({start:{col:0,row:t},end:{col:this.colCount-1,row:t}}),this.selectCells(r);else if(i){const e=r[r.length-1];e&&(e.end.row=t),this.selectCells(r)}else this.selectCells([{start:{col:0,row:t},end:{col:this.colCount-1,row:t}}])}selectCol(t,e,i){const r=this.stateManager.select.ranges;if(e)r.push({start:{col:t,row:0},end:{col:t,row:this.rowCount-1}}),this.selectCells(r);else if(i){const e=r[r.length-1];e&&(e.end.col=t),this.selectCells(r)}else this.selectCells([{start:{col:t,row:0},end:{col:t,row:this.rowCount-1}}])}startDragSelectCol(t,e,i){const r=this.stateManager.select.ranges[this.stateManager.select.ranges.length-1],o=i&&r?.start?.col?r?.start?.col:t,n=t,s=this.rowCount-1;this.stateManager.updateSelectPos(o,0,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(f_.grabing),this.stateManager.updateSelectPos(n,s,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}dragSelectCol(t,e){const i=this.stateManager.select.ranges,r=i[i.length-1];r&&(r.end.col=t),this.stateManager.updateSelectPos(t,this.rowCount-1,!1,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}endDragSelect(){this.stateManager.updateInteractionState(f_.default),this.stateManager.endSelectCells(!1,!1)}startDragSelectRow(t,e,i){const r=this.stateManager.select.ranges[this.stateManager.select.ranges.length-1],o=i&&r?.start?.row?r?.start?.row:t,n=this.colCount-1,s=t;this.stateManager.updateSelectPos(0,o,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(f_.grabing),this.stateManager.updateSelectPos(n,s,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}dragSelectRow(t,e){const i=this.stateManager.select.ranges,r=i[i.length-1];r&&(r.end.row=t),this.stateManager.updateSelectPos(this.colCount-1,t,!1,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}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){QM(t,(()=>{t.internalProps.dataSource&&t.internalProps.releaseList.forEach((e=>{e instanceof kA&&(e.release(),t.internalProps.releaseList.splice(t.internalProps.releaseList.indexOf(e),1))})),e?e instanceof kA?(t.internalProps.dataSource=e,t.internalProps.dataSource.supplementConfig(t.pagination,t.options.columns,t.internalProps.layoutMap.rowHierarchyType,eB(t))):t.internalProps.dataSource=new sM(e):t.internalProps.dataSource=kA.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=_A.of(t??_A.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),this.options.theme=t,kB(this.internalProps.theme.functionalIconsStyle)}updateTheme(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.theme=_A.of(t??_A.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),kB(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 rP("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,rP("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&&(lt(i.text)||i.customLayout||i.customRender)){return{start:{col:Math.max(i.range.start.col,0),row:Math.max(i.range.start.row,0)},end:{col:Math.min(i.range.end.col,this.colCount-1),row:Math.min(i.range.end.row,this.rowCount-1)},isCustom:!0}}}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&&(lt(i.text)||i.customLayout||this.customRender)){if(i.style){const r=this.internalProps.bodyHelper.getStyleClass("text"),o=rS(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.range={start:{col:Math.max(i.range.start.col,0),row:Math.max(i.range.start.row,0)},end:{col:Math.min(i.range.end.col,this.colCount-1),row:Math.min(i.range.end.row,this.rowCount-1)},isCustom:!0},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?TI(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.hasTopIndicatorAxis&&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 BI;const h=i.internalProps.headerHelper.getStyleClass(a?.headerType||"text");if(o.isBottomFrozenRow(t,e)&&i.theme.bottomFrozenStyle)s=rI(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=rI(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=rI(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?TI(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?TI(h,r):h;const c=o.getBody(t,e),d=i.internalProps.bodyHelper.getStyleClass(i.getCellType(t,e)),u=c?.style;return h=rS(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=TI(h,{bgColor:n})),st(u)||(o.isBottomFrozenRow(e)?i.bodyBottomStyleCache.set(s,h):i.bodyStyleCache.set(s,h)),r?TI(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(IS(i[r],t,e))return!0;return!1}(t,e,[this.getCellRange(this.stateManager.select.cellPos.col,this.stateManager.select.cellPos.row)])||Mk(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.internalProps.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=rB(i,this,t,e,rP).theme,{autoWrapText:o,lineClamp:n,textOverflow:s}=i;return{textAlign:r.text.textAlign,textBaseline:r.text.textBaseline,bgColor:nt(r.group.fill)?rP("bgColor",i,t,e,this):r.group.fill,color:nt(r.text.fill)?rP("color",i,t,e,this):r.text.fill,strokeColor:nt(r.text.stroke)?rP("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:nt(r.group.stroke)?rP("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:rP("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(t){if(this.stateManager.select?.ranges?.length>0){const e=this.stateManager.select.ranges;let i=Math.min(e[0].start.col,e[0].end.col),r=Math.max(e[0].start.col,e[0].end.col),o=Math.min(e[0].start.row,e[0].end.row),n=Math.max(e[0].start.row,e[0].end.row);e.forEach((t=>{i=Math.min(i,t.start.col,t.end.col),r=Math.max(r,t.start.col,t.end.col),o=Math.min(o,t.start.row,t.end.row),n=Math.max(n,t.start.row,t.end.row)}));const s=t=>{let i=!1;return e.forEach((e=>{const r=Math.min(e.start.row,e.end.row),o=Math.max(e.start.row,e.end.row);r<=t&&o>=t&&(i=!0)})),i},a=t=>{let i=!1;return e.forEach((e=>{const r=Math.min(e.start.col,e.end.col),o=Math.max(e.start.col,e.end.col);r<=t&&o>=t&&(i=!0)})),i},l=(t,i)=>{let r;return e.forEach((e=>{const o=Math.min(e.start.row,e.end.row),n=Math.max(e.start.row,e.end.row),s=Math.min(e.start.col,e.end.col),a=Math.max(e.start.col,e.end.col);s<=t&&a>=t&&o<=i&&n>=i&&(r=e)})),r},h=(e,i,r)=>{const o=this.getCellRange(e,i);let n=o.start.col,s=o.start.row;if(r){const t=Math.min(r.start.col,r.end.col),e=Math.min(r.start.row,r.end.row);n=Math.max(t,o.start.col),s=Math.max(e,o.start.row)}if(n!==e||s!==i)return"";return t?t(e,i):this.getCellValue(e,i)};let c="";for(let t=o;t<=n;t++){if(s(t)){for(let e=i;e<=r;e++){if(a(e)){const i=l(e,t);if(i){const o=h(e,t,i);if("undefined"!=typeof Promise&&o instanceof Promise);else{const t=lt(o)?`${o}`:"";/^\[object .*\]$/.exec(t)||(c+=t)}(e<i.end.col||e<r)&&(c+="\t")}else c+="\t"}}t<n&&(c+="\r\n")}}return this.options?.formatCopyValue&&(c=this.options.formatCopyValue(c)),c}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?Bt(t):[]}measureText(t,e){return jP.measureText(t,e)}measureTextBounds(t){return KP(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(pt(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!gt(i)&&("image"===i.headerType||"video"===i.headerType||"function"==typeof i.headerType)&&i.imageAutoSizing)return!0}if(pt(i)&&i.length>0)for(let t=0;t<i.length;t++){const e=i[t];if(!gt(e)&&("image"===e.headerType||"video"===e.headerType||"function"==typeof e.headerType)&&e.imageAutoSizing)return!0}if(pt(r)&&r.length>0)for(let t=0;t<r.length;t++){const e=r[t];if(!gt(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(pt(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&&GE(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 Ye).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&&VE(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&&GE(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 Ye).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&&VE(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){let i=this.tableX+this.getAllColsWidth(),r=this.tableY+this.getAllRowsHeight();if(this.internalProps.legends&&this.internalProps.legends.forEach((t=>{"right"===t.orient?i=Math.max(i,t.legendComponent.globalAABBBounds.x2):"bottom"===t.orient&&(r=Math.max(r,t.legendComponent.globalAABBBounds.y2))})),this.internalProps.title&&("right"===this.internalProps.title._titleOption.orient?i=Math.max(i,this.internalProps.title.getComponentGraphic().globalAABBBounds.x2):"bottom"===this.internalProps.title._titleOption.orient&&(r=Math.max(r,this.internalProps.title.getComponentGraphic().globalAABBBounds.y2))),i>=this.canvasWidth&&r>=this.canvasHeight){e.render();return e.window.getImageBuffer(t)}return this.scenegraph.stage.toCanvas(!1,(new Ye).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 DB(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(lt(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(lt(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)}get containerFit(){return this._containerFit}set containerFit(t){this._containerFit="boolean"==typeof t?{width:t,height:t}:t&&"object"==typeof t?{width:t.width??!0,height:t.height??!0}:{width:!1,height:!1}}isColumnSelected(t){const e=this.stateManager.select.ranges;for(let i=0;i<=e.length-1;i++){const r=e[i];if(r.start.col<=t&&r.end.col>=t&&0===r.start.row&&r.end.row===this.rowCount-1)return!0}return!1}isRowSelected(t){const e=this.stateManager.select.ranges;for(let i=0;i<=e.length-1;i++){const r=e[i];if(r.start.row<=t&&r.end.row>=t&&0===r.start.col&&r.end.col===this.colCount-1)return!0}return!1}}var DI=Object.freeze({__proto__:null,BaseTable:OI});const WI={},NI={};const GI={};function VI(t){if(GI[t])return GI[t]}function jI(t,e,i){const r=t[e];return t[e]=i,r}function UI(t){for(const e in t)delete t[e]}function KI(){UI(rA),UI(LB),UI(WI),UI(GI),UI(A_)}var $I=Object.freeze({__proto__:null,aggregator:function(t,e){null!=e&&jI(A_,t,e)},chartModule:function(t,e){return null!=e?jI(WI,t,e):WI[t]},clearAll:KI,editor:function(t,e){return null!=e?jI(GI,t,e):GI[t]},icon:function(t,e){return null!=e?jI(LB,t,e):LB[t]},theme:function(t,e){return null!=e?jI(rA,t,e):rA[t]}});var XI=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}`}}}),YI=Object.freeze({__proto__:null,CustomCellStylePlugin:RI,PluginManager:LI});const qI=(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.sort&&(yt(l.sortIndex)||(l.sortIndex=0),lt(l.sortReverse)||(l.sortReverse="desc"===l.sort)),!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 ZI=0;function JI(t="dataset"){return ZI>1e8&&(ZI=0),t+"_"+ZI++}class QI{constructor(t){var e;let i;this.options=t,this.isDataSet=!0,this.transformMap={},this.parserMap={},this.dataViewMap={},this.target=new rt,i=(null==t?void 0:t.name)?t.name:JI("dataset"),this.name=i,this._logger=null!==(e=null==t?void 0:t.logger)&&void 0!==e?e:qt.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()}}class tz{constructor(t,e){let i;this.dataSet=t,this.options=e,this.isDataView=!0,this.target=new rt,this.parseOption=null,this.transformsArr=[],this.isRunning=!1,this.rawData={},this.history=!1,this.parserData={},this.latestData={},this._fields=null,this.reRunAllTransform=(t={})=>{const e=this.latestData;return this.isRunning=!0,this.resetTransformData(),this.transformsArr.forEach((e=>{this.executeTransform(e,{pushHistory:t.pushHistory,emitMessage:!1})})),this.isRunning=!1,!1===t.emitMessage||t.skipEqual&&It(e,this.latestData)||this.target.emit("change",{latestData:this.latestData}),this},this.markRunning=()=>{this.isRunning=!0,this.target.emit("markRunning",[])},i=(null==e?void 0:e.name)?e.name:JI("dataview"),this.name=i,(null==e?void 0:e.history)&&(this.history=e.history,this.historyData=[]),this.dataSet.setDataView(i,this),this.setFields(null==e?void 0:e.fields)}parse(t,e,i=!1){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,e=!0){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)}i&&this.transformsArr.push(t),e&&this.executeTransform(t)}return this.sortTransform(),this.isRunning=!1,this}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,e={}){const{pushHistory:i,emitMessage:r,skipEqual:o}=e,n=this.dataSet.getTransform(t.type),s=this.latestData,a=n(s,t.options);this.history&&!1!==i&&this.historyData.push(a),this.latestData=a,!1===r||o&&It(s,this.latestData)||this.target.emit("change",{latestData:this.latestData})}resetTransformData(){this.latestData=this.parserData,this.history&&(this.historyData.length=0,this.historyData.push(this.rawData,this.parserData))}cloneParseData(t,e){let i=!1;return t instanceof tz||!0!==(null==e?void 0:e.clone)||(i=!0),i?Bt(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,e=!1){this._fields=t&&e?Et({},this._fields,t):t;const i=this.transformsArr.find((t=>"fields"===t.type));!at(this._fields)&&at(i)?(this.dataSet.registerTransform("fields",qI),this.transform({type:"fields",options:{fields:this._fields}},!1)):i&&(i.options.fields=this._fields)}destroy(){this.dataSet.removeDataView(this.name),this.latestData=null,this.rawData=null,this.parserData=null,this.transformsArr=null,this.target=null}}const ez=t=>function(t){return t instanceof tz}(t)||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)))}}(t);function iz(t,e=["data"]){return Bt(t,ez,e)}function rz(t){const e={...t};return At(t.style)||(e.textStyle=oz(t.style)),At(t.textStyle)||Et(e.textStyle,oz(t.textStyle)),t.shape?.style&&oz(e.shape.style),t.background?.style&&oz(e.background.style),e}function oz(t){return At(t)||t.angle&&(t.angle=Me(t.angle)),t}function nz(t={}){return At(t.style)||(t.style=oz(t.style)),At(t.state)||Object.keys(t.state).forEach((e=>{At(t.state[e])||(t.state[e]=oz(t.state[e]))})),t}function sz(t){return At(t)?null:(Object.keys(t).forEach((e=>{At(t[e])||(t[e]=oz(t[e]))})),t)}const az={left:{textAlign:"center",textBaseline:"bottom"},right:{textAlign:"center",textBaseline:"bottom"},radius:{},angle:{}},lz="PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol",hz=14,cz=hz,dz=4,uz={domainLine:{visible:!0,style:{lineWidth:0,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:dz,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},subTick:{visible:!1,tickSize:dz/2,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},label:{visible:!0,space:1,style:{fontSize:cz,fill:"#89909D",fontWeight:"normal",fillOpacity:1},autoLimit:!0},title:{space:10,style:{fontSize:cz,fill:"#333333",fontWeight:"normal",fillOpacity:1}}};function gz(t){const e=Et({},t);t.labelHoverOnAxis&&!1===e.domainLine.visible&&(e.domainLine.style.lineWidth=0,e.domainLine.visible=!0);let i,r=e.title?.angle??0;"left"!==e.orient&&"right"!==e.orient||e.title?.autoRotate&&at(e.title.angle)&&(r="left"===e.orient?-90:90,i=az[e.orient]);const o=function(t,e){if(!t||!dt(t))return t;const i={};return Object.keys(t).forEach((r=>{const o=t[r];let n=!1;e.forEach((t=>{(gt(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,nz(n),nz(n.startSymbol),nz(n.endSymbol),n),label:{style:oz(e.label.style),formatMethod:e.label.formatMethod?(t,i,r)=>e.label.formatMethod(i.rawValue,i):null,state:sz(e.label.state),...o},tick:{visible:e.tick.visible,length:e.tick.tickSize,inside:e.tick.inside,alignWithLabel:e.tick.alignWithLabel,style:oz(e.tick.style),state:sz(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:oz(e.subTick.style),state:sz(e.subTick.state)},grid:{type:"line",visible:e.grid.visible,alternateColor:e.grid.alternateColor,alignWithLabel:e.grid.alignWithLabel,style:oz(e.grid.style)},subGrid:{type:"line",visible:e.subGrid.visible,alternateColor:e.subGrid.alternateColor,style:oz(e.subGrid.style)},title:{visible:e.title.visible,position:e.title.position,space:e.title.space,autoRotate:!1,angle:r?Me(r):null,textStyle:Et({},i,oz(e.title.style)),padding:e.title.padding,shape:{visible:e.title.shape?.visible,space:e.title.shape?.space,style:oz(e.title.shape?.style)},background:{visible:e.title.background?.visible,style:oz(e.title.background?.style)},state:{text:sz(e.title.state),shape:sz(e.title.shape?.state),background:sz(e.title.background?.state)}},panel:{visible:e.background?.visible,style:oz(e.background?.style),state:sz(e.background?.state)},labelHoverOnAxis:e.labelHoverOnAxis};var n}const pz="NO_AXISID_FRO_VTABLE";function fz(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&&"sunburst"!==r.chartSpec.type&&"treemap"!==r.chartSpec.type&&"sankey"!==r.chartSpec.type&&"circlePacking"!==r.chartSpec.type){e=!0;break}}return e}function mz(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&&"sunburst"!==e.chartSpec.type&&"treemap"!==e.chartSpec.type&&"sankey"!==e.chartSpec.type&&"circlePacking"!==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&&"sunburst"!==i.type&&"treemap"!==i.type&&"sankey"!==i.type&&"circlePacking"!==i.type&&(o=!0):o=!1}return o}function bz(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 yz(t){let e=!1;for(let i=0;i<t.columnObjects.length;i++){if(t.columnObjects[i].chartSpec){e=!0;break}}return e}function Cz(t,e){if(t&&pt(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 wz{seqId=0;_headerObjects;_headerObjectMap;_headerObjectsIncludeHided;_headerCellIds;_columns;_columnsIncludeHided;_columnMaxDepth=0;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;columnHierarchyType;columnExpandLevel;_cellRangeMap;constructor(t,e,i,r){this._cellRangeMap=new Map,this._showHeader=i,this._table=t,this._columns=[],this._columnsIncludeHided=[],this._headerCellIds=[],this._columnMaxDepth=this._calculateMaxDepth(e),this.hierarchyIndent=r??20,this.hierarchyTextStartAlignment=t.options.hierarchyTextStartAlignment,this.columnHierarchyType=t.options.headerHierarchyType,this.columnExpandLevel=t.options.headerExpandLevel??1,this.columnTree=new hI(e,{seqId:0},this.columnHierarchyType??null,"grid-tree"===this.columnHierarchyType?this.columnExpandLevel:void 0),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.internalProps.groupBy)return!0;const{columns:e}=t._table.options;if(pt(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!gt(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(((t,e)=>({id:this.seqId++,title:t.title,define:Et({field:"_vtable_rowSeries_number_"+e},t),cellType:t.cellType??"text",headerType:"checkbox"===t.cellType?"checkbox":"text",style:t.style,width:t.width,format:t.format,field:t.field??"_vtable_rowSeries_number_"+e,icon:t.icon,headerIcon:t.headerIcon,isChildNode:!1}))):this.rowSeriesNumberColumn=[{id:this.seqId++,title:t.title,define:Et({field:"_vtable_rowSeries_number"},t),cellType:t.cellType??"text",headerType:t.headerType??("checkbox"===t.cellType?"checkbox":"text"),style:t.style,width:t.width,format:t.format,field:t.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(lt(t)&<(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(lt(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(lt(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(lt(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(lt(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.groupTitleCheckbox&&r._table.internalProps.rowSeriesNumber?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}_calculateMaxDepth(t,e=0){let i=e;return t.forEach((t=>{if(t.columns&&t.columns.length>0){const r=this._calculateMaxDepth(t.columns,e+1);r>i&&(i=r)}})),i}_addHeaders(t,e,i,r,o){const n=[],s=this._newRow(t,r);return e.forEach((e=>{const a=this._columns.length,l=this.seqId++,h={id:l,title:e.title??e.caption,headerIcon:e.headerIcon,field:e.field,style:e.headerStyle,headerType:e.headerType??"text",dropDownMenu:e.dropDownMenu,define:e,hierarchyState:e.hierarchyState,columnWidthComputeMode:e.columnWidthComputeMode};n[l]=h;let c=t;if(e.levelSpan){c=Math.min(t+e.levelSpan-1,this._columnMaxDepth-1);for(let e=t;e<=c;e++)this._headerCellIds[e]||(this._headerCellIds[e]=[]),void 0===this._headerCellIds[e][a]&&(this._headerCellIds[e][a]=l)}if(o)for(let t=c-1;t>=0;t--)this._headerCellIds[t]&&void 0===this._headerCellIds[t][a]&&void 0!==i[c-o]&&(this._headerCellIds[t][a]=i[c-o]);else for(let t=c-1;t>=0;t--)this._headerCellIds[t]&&void 0===this._headerCellIds[t][a]&&void 0!==i[t]&&(this._headerCellIds[t][a]=i[t]);r?this._headerCellIds[t-1]&&void 0!==this._headerCellIds[t-1][a]&&(s[a]=this._headerCellIds[t-1][a]):s[a]=l;const d=!e.hierarchyState||e.hierarchyState===v_.expand;if(e.columns&&d){const t=e.columns.every((t=>t.hide))||e.hide;!t&&this._addHeaders(c+1,e.columns,[...i,l],e.hideColumnsSubHeader||r,e.levelSpan).forEach((t=>n.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:lA,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][a]=l}}})),n}_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){const i=this._table.stateManager.columnMove.movingColumnOrRow;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)||"row"===i)){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)||"row"===i)&&(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 r=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)||"column"===this._table.stateManager.columnMove.movingColumnOrRow&&0===t.row){return this.getParentCellId(t.col,r.start.row)===this.getParentCellId(e.col,r.start.row)}if(this.isRowHeader(t.col,t.row)){return this.getParentCellId(r.start.col,t.row)===this.getParentCellId(r.start.col,e.row)}return!1}moveHeaderPosition(t,e){if((!this._table.options.dragOrder?.validateDragOrderOnEnd||this._table.options.dragOrder?.validateDragOrderOnEnd(t,e))&&this.canMoveHeaderPosition(t,e)){let i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)||"column"===this._table.stateManager.columnMove.movingColumnOrRow&&0===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)}if(this._table.options.dragOrder?.maintainArrayDataOrder)for(let e=0;e<this._table.dataSource.dataSourceObj?.records.length;e++){const n=this._table.dataSource.dataSourceObj?.records[e];if(Array.isArray(n)){n.length-1<Math.max(o,t.col)&&n.push(...Array(Math.max(o,t.col)-n.length+1).fill(void 0));const e=n.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);e.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(n,e)}}const s=this._columns.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);if(s.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columns,s),this._table.options.dragOrder?.maintainArrayDataOrder)for(let t=0;t<this._columns.length;t++)this._columns[t].field=t;if(this.columnTree.movePosition(i.start.row,i.start.col-this.leftRowSeriesNumberColumnCount,o-this.leftRowSeriesNumberColumnCount),this._table.options.dragOrder?.maintainArrayDataOrder)for(let t=0;t<this.columnTree.tree.children.length;t++)this.columnTree.tree.children[t].field=t;return 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)||"row"===this._table.stateManager.columnMove.movingColumnOrRow)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 yz(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 bz(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+this.leftRowSeriesNumberColumnCount,!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 vz{table;editingEditor;isValidatingValue=!1;editCell;listenersId=[];beginTriggerEditCellMode;cacheLastSelectedCellEditor={};constructor(t){this.table=t;const{editCellTrigger:e="doubleclick"}=t.options;this.bindEvent(e)}bindEvent(t){const e=this.table,i=e.on(jS.DBLCLICK_CELL,(i=>{if(!t.includes("doubleclick"))return;const{col:r,row:o}=i,n=WB(i.federatedEvent),s=e.scenegraph.getResizeColAt(n.abstractPos.x,n.abstractPos.y,n.eventArgs?.targetCell);e._canResizeColumn(s.col,s.row)&&s.col>=0||i.target?.attribute?.funcType||(this.beginTriggerEditCellMode="doubleclick",this.startEditCell(r,o))})),r=e.on(jS.CLICK_CELL,(t=>{const{editCellTrigger:i="doubleclick"}=e.options;if("click"===i||Array.isArray(i)&&i.includes("click")){if(t.target?.attribute?.funcType)return;this.beginTriggerEditCellMode="click";const{col:e,row:i}=t;this.startEditCell(e,i)}else"keydown"===i||Array.isArray(i)&&i.includes("keydown")})),o=e.on(jS.SELECTED_CHANGED,(i=>{const r=e.stateManager.select.ranges;if(1===r.length&&r[0].start.col===r[0].end.col&&r[0].start.row===r[0].end.row&&("keydown"===t||Array.isArray(t)&&t.includes("keydown"))){const{col:t,row:e}=i;this.beginTriggerEditCellMode="keydown";const r=this.table.getCellRangeRelativeRect(this.table.getCellRange(t,e)),o={rect:{left:r.left,top:r.top,width:r.width,height:r.height}};t===this.table.colCount-1?o.rect.width=r.width-1:o.rect.width=r.width+1,e===this.table.rowCount-1?o.rect.height=r.height-1:o.rect.height=r.height+1;const n=this.table.getEditor(t,e);n&&setTimeout((()=>{n&&this.editingEditor!==n&&n.prepareEdit?.({referencePosition:o,container:this.table.getElement(),table:this.table,col:t,row:e})}),10)}}));this.listenersId.push(i,r,o)}startEditCell(t,e,i,r){if(this.editingEditor)return;const o=this.table.getEditor(t,e);if(o){if(r&&o.setElement(r),this.table.internalProps.layoutMap.isSeriesNumber(t,e))return;if(this.table.internalProps.layoutMap?.isAggregation?.(t,e)){const t=this.table.isPivotTable?.(),e=!!t&&this.table.internalProps?.dataConfig?.updateAggregationOnEditCell;if(!t||t&&e)return}const n=this.table.getCellRawRecord(t,e);if(n?.vtableMerge)return;this.editingEditor||(this.editCell={col:t,row:e}),this.table._makeVisibleCell(t,e),this.editingEditor=o;const s=lt(i)?i:this.table.getCellOriginValue(t,e),a=this.table.getCellRangeRelativeRect(this.table.getCellRange(t,e)),l={rect:{left:a.left,top:a.top,width:a.width,height:a.height}};t===this.table.colCount-1?l.rect.width=a.width-1:l.rect.width=a.width+1,e===this.table.rowCount-1?l.rect.height=a.height-1:l.rect.height=a.height+1,o.beginEditing,o.beginEditing?.(this.table.getElement(),l,s),o.bindSuccessCallback,o.bindSuccessCallback?.((()=>{this.completeEdit()})),o.onStart?.({value:s,endEdit:()=>{this.completeEdit()},referencePosition:l,container:this.table.getElement(),col:t,row:e,table:this.table})}}completeEdit(t){if(!this.editingEditor)return!0;if(this.isValidatingValue)return!1;this.cacheLastSelectedCellEditor={};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 e=this.editingEditor.getValue(),i=this.table.getCellOriginValue(this.editCell.col,this.editCell.row),r=t?.target,o=this.editingEditor.validateValue?.(e,i,this.editCell,this.table,!!this.table.getElement().contains(r));return ES(o)?(this.isValidatingValue=!0,new Promise(((t,e)=>{o.then((e=>{xz(e,this,i,t)})).catch((t=>{this.isValidatingValue=!1,e(t)}))}))):xz(o,this,i)}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.editingEditor.beforeEnd?.(),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,this.beginTriggerEditCellMode=null}cancelEdit(){this.editingEditor&&(this.editingEditor.exit?.(),this.editingEditor.onEnd?.(),this.editingEditor=null)}release(){this.listenersId.forEach((t=>{this.table.off(t)}))}}function xz(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 _z(t,e){if(gt(t))return{groupByRules:[t],addRecordRule:e};if(pt(t)){return{groupByRules:t.map((t=>gt(t)?t:t.key)),addRecordRule:e}}return{addRecordRule:e}}function Sz(t,e,i,r){if("group"===r)return r;if("sort"===r&&!i.internalProps.groupBy)return r;let o="normal";if(i.internalProps.groupBy)o="group";else if(!i.isHeader(t,e)&&i.dataSource.lastOrderField){i.getBodyField(t,e)===i.dataSource.lastOrderField&&(o="sort")}return o}function Az(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)??wS,e))),t.dataSource.sort(e))}function Rz(t,e,i){const{checkedState:r}=t.stateManager;if(r)if("tree"===t.dataSource.rowHierarchyType){let t;t=bt(e)?[e]:e;const o=t.length,n=[];r.forEach(((e,r)=>{const s=r.split(",");if(s.length>=t.length)for(let a=0;a<s.length;a++){const l=t[a]??-1,h=Number(s[a]);if(!(l===h&&a<s.length-1)){if(l===h&&a===s.length-1||-1===l){n.push({originKey:r,value:e});break}if(l<h&&a===o-1){s[a]=(h-i).toString(),n.push({originKey:r,targetKey:s.toString(),value:e});break}break}}})),n.sort(((t,e)=>{const i=t.originKey.split(","),r=e.originKey.split(","),o=i.length,n=r.length,s=Math.min(o,n);for(let t=0;t<s;t++){const e=Number(i[t]),o=Number(r[t]);if(e!==o)return e-o}return o-n})),n.forEach((({originKey:t,targetKey:e,value:i})=>{r.delete(t),e&&r.set(e,i)}))}else{const t=[],o=[];r.forEach(((r,n)=>{const s=Number(n);!isNaN(s)&&s>=e&&(s===e?t.push(n):s>e&&o.push({originKey:n,targetKey:(s-i).toString(),value:r}))})),t.forEach((t=>r.delete(t))),o.forEach((({originKey:t,targetKey:e,value:i})=>{r.delete(t),r.set(e,i)}))}}function Tz(t,e,i){const{checkedState:r}=t.stateManager;if(r)if("tree"===t.dataSource.rowHierarchyType){let t;t=bt(e)?[e]:e;const o=t.length,n=[];r.forEach(((e,r)=>{const s=r.split(",");if(s.length>=t.length)for(let a=0;a<s.length;a++){const l=t[a]??-1,h=Number(s[a]);if(l===h&&(a===s.length-1||a===o-1)){s[a]=(h+i).toString(),n.push({originKey:r,targetKey:s.toString(),value:e});break}if(!(l===h&&a<s.length-1)){if(l<h&&a===o-1){s[a]=(h+i).toString(),n.push({originKey:r,targetKey:s.toString(),value:e});break}break}}})),n.sort(((t,e)=>{const i=t.originKey.split(","),r=e.originKey.split(","),o=i.length,n=r.length,s=Math.min(o,n);for(let t=0;t<s;t++){const e=Number(i[t]),o=Number(r[t]);if(e!==o)return-e+o}return-o+n})),n.forEach((({originKey:t,targetKey:e,value:i})=>{r.delete(t),e&&r.set(e,i)}))}else{for(let t=r.size-1;t>=e;t--){const e=r.get(t.toString());r.delete(t.toString()),r.set((t+i).toString(),e)}}}class Mz extends OI{showHeader=!0;listTreeStickCellPlugin;constructor(t,e){super(t,e),e=this.options;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=this.internalProps.groupBy?_z(this.internalProps.groupBy,e.addRecordRule):{addRecordRule:e.addRecordRule},i.columns=e.columns?iz(e.columns,["children"]):e.header?iz(e.header,["children"]):[],sB(this),i.enableTreeNodeMerge=e.enableTreeNodeMerge??lt(this.internalProps.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.showHeader=e.showHeader??!0,this.internalProps.columnWidthConfig=e.columnWidthConfig,this.internalProps.rowHeightConfig=e.rowHeightConfig,this.transpose=e.transpose??!1,"node"!==oS.mode&&(this.editorManager=new vz(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=RA.getComponent("title");i.title=new t(e.title,this)}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}if(this.internalProps.enableTreeStickCell){const t=RA.getComponent("listTreeStickCellPlugin");this.listTreeStickCellPlugin=new t(this)}setTimeout((()=>{this.isReleased||(this.resize(),this.fireListeners(jS.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,e={clearColWidthCache:!1,clearRowHeightCache:!0}){this.scenegraph.clearCells();const i={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.columns=iz(t,["children"]),sB(this),e?.clearColWidthCache&&this.internalProps._widthResizedColMap.clear(),this.options.columns=t,this.internalProps.headerHelper.setTableColumnsEditor(),this._hasAutoImageColumn=void 0,this.refreshHeader(),this.dataSource.updateColumns?.(this.internalProps.columns),this.records&&aB(this.internalProps.columns)&&this.dataSource.processRecords(this.dataSource.dataSourceObj?.records??this.dataSource.dataSourceObj),this.internalProps.useOneRowHeightFillAll=!1,this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyBottomStyleCache=new Map,this.scenegraph.createSceneGraph(!e?.clearRowHeightCache),this.stateManager.updateHoverPos(i.col,i.row),this.renderAsync(),this.eventManager.updateEventBinder()}_recreateSceneForStateChange(){this.scenegraph.clearCells();const t={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this._hasAutoImageColumn=void 0,this.refreshHeader(),this.records&&aB(this.internalProps.columns)&&this.dataSource.processRecords(this.dataSource.dataSourceObj?.records??this.dataSource.dataSourceObj),this.internalProps.useOneRowHeightFillAll=!1,this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyBottomStyleCache=new Map,this._updateSize(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(t.col,t.row),this.renderAsync(),this.eventManager.updateEventBinder()}addColumns(t,e,i=!0){const r=this.options.columns;void 0===e?(e=r.length,r.push(...t)):r.splice(e,0,...t);for(let i=0;i<t.length;i++)this.colWidthsMap.addAndReorder(e+i,t[i].width??this.internalProps.defaultColWidth);this.internalProps._colRangeWidthsMap.clear();const o=Array.from(this.internalProps._widthResizedColMap.keys());for(let i=0;i<o.length;i++)o[i]>=e&&(this.internalProps._widthResizedColMap.delete(o[i]),this.internalProps._widthResizedColMap.add(o[i]+t.length));if(i){for(let t=0;t<r.length;t++)r[t].field=t;for(let i=0;i<this.records.length;i++){const r=this.records[i];Array.isArray(r)&&r.splice(e,0,...Array(t.length).fill(void 0))}}this.updateColumns(r,{clearRowHeightCache:!1}),this.fireListeners(jS.ADD_COLUMN,{columnIndex:e,columnCount:t.length,columns:r})}deleteColumns(t,e=!0){const i=this.options.columns;t.sort(((t,e)=>e-t));for(let r=0;r<t.length;r++)if(i.splice(t[r],1),this.colWidthsMap.delAndReorder(t[r]),this.internalProps._widthResizedColMap.delete(t[r]),e)for(let e=0;e<this.records.length;e++){const i=this.records[e];Array.isArray(i)&&i.splice(t[r],1)}this.internalProps._colRangeWidthsMap.clear();const r=Array.from(this.internalProps._widthResizedColMap.keys());for(let e=0;e<r.length;e++)for(let i=0;i<t.length;i++)if(r[e]>t[i]){this.internalProps._widthResizedColMap.delete(r[e]),this.internalProps._widthResizedColMap.add(r[e]-(t.length-i));break}if(e)for(let t=0;t<i.length;t++)i[t].field=t;this.updateColumns(i,{clearRowHeightCache:!1}),this.fireListeners(jS.DELETE_COLUMN,{deleteColIndexs:t,columns:i})}get columns(){return this.internalProps.layoutMap.columnTree.getCopiedTree()}get header(){return this.internalProps.columns}set header(t){this.internalProps.columns=t,sB(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.internalProps.groupBy){const o=r.getCellRawRecord(t,e);if(o?.vtableMerge)return"";r.internalProps.layoutMap.isAggregation(t,e)||(i=this.dataSource.getGroupSeriesNumber(e-this.columnHeaderLevelCount))}else{const o=r.getBodyColumnDefine(t,e),n=r.getFieldData(o.field,t,e);i=["number","string"].includes(typeof n)?n:n?.text?n.text??"":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,e={clearColWidthCache:!0,clearRowHeightCache:!0}){const i=this.internalProps;if(this.pluginManager.removeOrAddPlugins(t.plugins),super.updateOption(t,e),i.frozenColDragHeaderMode=t.dragOrder?.frozenColDragHeaderMode??t.frozenColDragHeaderMode,this.pagination=t.pagination,i.sortState=t.sortState,i.dataConfig=this.internalProps.groupBy?_z(this.internalProps.groupBy,t.addRecordRule):{addRecordRule:t.addRecordRule},this.showHeader=t.showHeader??!0,i.columns=t.columns?iz(t.columns,["children"]):t.header?iz(t.header,["children"]):[],sB(this),i.enableTreeNodeMerge=t.enableTreeNodeMerge??lt(this.internalProps.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.transpose=t.transpose??!1,this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.internalProps.columnWidthConfig=t.columnWidthConfig,this.internalProps.rowHeightConfig=t.rowHeightConfig,i.releaseList)for(let t=i.releaseList.length-1;t>=0;t--){const e=i.releaseList[t];e instanceof kA?e.updateColumns(this.internalProps.columns):(e?.release?.(),i.releaseList.splice(t,1))}if(t.dataSource&&this.dataSource!==t.dataSource?this.dataSource=t.dataSource:t.records?this.setRecords(t.records,{sortState:t.sortState}):(this.refreshRowColCount(),this._resetFrozenColCount(),this.scenegraph.createSceneGraph(),this.render()),t.title){const e=RA.getComponent("title");i.title=new e(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return this.pluginManager.updatePlugins(t.plugins),setTimeout((()=>{this.fireListeners(jS.UPDATED,null)}),0),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 wz(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||this.options.showAggregationWhenEmpty?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,this.options.frozenColCount>=this.colCount&&(this.internalProps.frozenColCount=0),t._setFrozenRowCount(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),function(t,e){if(e.internalProps._widthResizedColMap.size>0){const i=Array.from(e.internalProps._widthResizedColMap.keys());e.internalProps._widthResizedColMap.clear();for(let r=0;r<i.length;r++){const o=i[r];let n;const{sourceIndex:s,targetIndex:a,sourceSize:l}=t;n=o>=s&&o<s+l?a+(o-s):s<a?o>=s+l&&o<a||o>=a?o-l:o:o>=a&&o<s?o+l:o,e.internalProps._widthResizedColMap.add(n)}}}(o,this),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),function(t,e){if(e.internalProps._heightResizedRowMap.size>0){const i=Array.from(e.internalProps._heightResizedRowMap.keys());e.internalProps._heightResizedRowMap.clear();for(let r=0;r<i.length;r++){const o=i[r];let n;const{sourceIndex:s,targetIndex:a,sourceSize:l}=t;n=o>=s&&o<s+l?a+(o-s):s<a?o>=s+l&&o<a||o>=a?o-l:o:o>=a&&o<s?o+l:o,e.internalProps._heightResizedRowMap.add(n)}}}(o,this)),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(lt(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 lt(e)&&(o=i.getRecordStartRowByRecordIndex(e)),this.transpose?{start:{row:t.start.row,col:lt(o)?o+t.start.col:void 0},end:{row:t.end.row,col:lt(o)?o+t.end.col:void 0}}:{start:{col:t.start.col,row:lt(o)?o+t.start.row:void 0},end:{col:t.end.col,row:lt(o)?o+t.end.row:void 0}}}return null}getHierarchyState(t,e){if(this.isHeader(t,e))return this._getHeaderLayoutMap(t,e)?.hierarchyState;if(!this.internalProps.groupBy||pt(this.internalProps.groupBy)&&0===this.internalProps.groupBy.length){if(!this.getBodyColumnDefine(t,e).tree)return v_.none}const i=this.getRecordShowIndexByCell(t,e);return this.dataSource.getHierarchyState(i)}getRecordHierarchyState(t,e){let i;return this.transpose?this.getRecordShowIndexByCell(t,0):i=this.getRecordShowIndexByCell(0,e),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(this.isHeader(t,e)){const i=this.internalProps.layoutMap.getHeader(t,e),{hierarchyState:o,define:n}=i;if(![v_.collapse,v_.expand].includes(o)||!n)return;const s=n.columns;if(Array.isArray(s)&&s.length>0){const t=o===v_.expand?v_.collapse:v_.expand;i.hierarchyState=t,i.define.hierarchyState=t,this.updateColumns(this.internalProps.columns)}this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:r,originData:i,cellLocation:this.getCellLocation(t,e)})}else if(r===v_.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.collapse});else if(r===v_.collapse){const r=this.getCellOriginRecord(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.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=YP(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??wS}}))),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.sortCell()),t.length&&this.stateManager.updateSortState(t)}updateFilterRules(t,e={clearRowHeightCache:!0}){this.scenegraph.clearCells(),this.sortState?(this.dataSource.updateFilterRulesForSorted(t),Az(this)):this.dataSource.updateFilterRules(t,e?.onFilterRecordsEnd),this.refreshRowColCount(),this.stateManager.initCheckedState(this.records),this.scenegraph.createSceneGraph(!e?.clearRowHeightCache),this.internalProps.emptyTip?.resetVisible(),this.resize()}getFilteredRecords(){return this.dataSource.records}getCheckboxState(t){if(this.stateManager.checkedState.size<this.rowCount-this.columnHeaderLevelCount&&this.stateManager.initLeftRecordsCheckState(this.records),lt(t)){let e=Array.from(this.stateManager.checkedState.keys()).sort(((t,e)=>{const i=t.split(","),r=e.split(","),o=Math.max(i.length,r.length);for(let t=0;t<o;t++){const e=Number(i[t])??0,o=Number(r[t])??0;if(e!==o)return e-o}return 0})).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(pt(o)&&o.length===r){const r=i.getOriginRecordIndexForGroup(o);e[r]=t.stateManager.checkedState.get(o.toString())}})),e}(this)),Array.from(e,(e=>e&&e[t]))}return[...this.stateManager.checkedState.values()]}getCellCheckboxState(t,e){const i=this.getBodyColumnDefine(t,e),r=i?.field,o=this.getCellType(t,e);if(lt(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 lt(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(lt(o)&&"radio"===n){const r=i.dataSource.getIndexKey(i.getRecordShowIndexByCell(t,e)),n=i.stateManager.radioState?.[o];if(bt(n)){if(n===r)return!0}else if(ht(n)){const t=n[r];if(bt(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")||o?.getChildByName("checkbox-content")?._checkboxGroup?.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(bt(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;fk(),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)&<(i.field)||Array.isArray(i))&&(this.internalProps.sortState=this.internalProps.multipleSort?Array.isArray(i)?i:[i]:i,this.stateManager.setSortState(this.sortState)),t){if(tB(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??wS}})))}this.refreshRowColCount()}else tB(this,t);if(this.stateManager.initCheckedState(t),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(r.col,r.row),this._updateSize(),this.internalProps.title&&!this.internalProps.title.isReleased&&this.internalProps.title.resize(),this.scenegraph.resize(),this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}this.render(),lt(r.col)&<(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(lt(t)&<(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;lt(t)&<(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){const i=this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`];if(i)return i;Object.values(this.editorManager.cacheLastSelectedCellEditor).forEach((t=>t?.onEnd?.())),this.editorManager.cacheLastSelectedCellEditor={};const r=this.getBodyColumnDefine(t,e);let o=this.isHeader(t,e)?r?.headerEditor??this.options.headerEditor:r?.editor??this.options.editor;if("function"==typeof o){o=o({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return"string"==typeof o&&(o=VI(o)),o&&(this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`]=o),o}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 lt(r)}changeCellValue(t,e,i,r=!1,o=!0){return function(t,e,i,r,o,n){if(r&&n.isHasEditorDefine(t,e)||!1===r){const r=n.getRecordShowIndexByCell(t,e),{field:s}=n.internalProps.layoutMap.getBody(t,e),a=n.getCellRawValue(t,e),l=n.getCellOriginValue(t,e);n.isHeader(t,e)?n.internalProps.layoutMap.updateColumnTitle(t,e,i):n.dataSource.changeFieldValue(i,r,s,t,e,n);const h=n.getCellRange(t,e),c=n.internalProps.layoutMap.getAggregatorsByCell(t,e);if(c){if(Array.isArray(c))for(let t=0;t<c?.length;t++)c[t].recalculate();else c.recalculate();const t=n.internalProps.layoutMap.getAggregatorCellAddress(h.start.col,h.start.row,h.end.col,h.end.row);for(let e=0;e<t.length;e++){const i=n.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++)n.scenegraph.updateCellContent(t,e)}}for(let t=h.start.col;t<=h.end.col;t++)for(let e=h.start.row;e<=h.end.row;e++)n.scenegraph.updateCellContent(t,e);if("adaptive"===n.widthMode||n.autoFillWidth&&n.getAllColsWidth()<=n.tableNoFrameWidth)0===n.internalProps._widthResizedColMap.size&&n.scenegraph.recalculateColWidths();else if(!n.internalProps._widthResizedColMap.has(t)){const e=n.getColWidth(t),i=Qk(t,0,n.rowCount-1,n,!1);i!==e&&n.scenegraph.updateColWidth(t,i-e)}if("adaptive"===n.heightMode||n.autoFillHeight&&n.getAllRowsHeight()<=n.tableNoFrameHeight)0===n.internalProps._heightResizedRowMap.size&&n.scenegraph.recalculateRowHeights();else if(n.isAutoRowHeight(e)&&!n.internalProps._heightResizedRowMap.has(e)){const t=n.getRowHeight(e),i=YP(e,0,n.colCount-1,n);n.scenegraph.updateRowHeight(e,i-t)}const d=n.getCellOriginValue(t,e);l!==d&&o&&n.fireListeners(jS.CHANGE_CELL_VALUE,{col:t,row:e,rawValue:a,currentValue:l,changedValue:d}),n.scenegraph.updateNextFrame()}}(t,e,i,r,o,this)}changeCellValues(t,e,i,r=!1,o=!0){return async function(t,e,i,r,o,n){const s=[];let a=t,l=e;const h=[],c=[];let d;for(let r=0;r<i.length&&!(e+r>n.rowCount-1);r++){const o=i[r],s=[],a=[];h.push(s),c.push(a);for(let i=0;i<o.length&&!(t+i>n.colCount-1);i++){d=Sz(t+i,e+r,n,d);const o=n.getCellRawValue(t+i,e+r);s.push(o);const l=n.getCellOriginValue(t+i,e+r);a.push(l)}}for(let d=0;d<i.length&&!(e+d>n.rowCount-1);d++){s[d]=[],l=e+d;const u=i[d];let g=t;for(let i=0;i<u.length&&!(t+i>n.colCount-1);i++){g=t+i;let a=!1;if(!1===r)a=!0;else if(n.isHasEditorDefine(t+i,e+d)){const r=n.getEditor(t+i,e+d),o=c[d][i],s=u[i],l=r?.validateValue?.(s,o,{col:t+i,row:e+d},n)??!0;if(ES(l)){const t=await l;a=!0===t||"validate-exit"===t||"validate-not-exit"===t}else a=!0===l||"validate-exit"===l||"validate-not-exit"===l}if(a){s[d][i]=!0;const r=u[i],a=n.getRecordShowIndexByCell(t+i,e+d),{field:l}=n.internalProps.layoutMap.getBody(t+i,e+d),g=h[d][i],p=c[d][i];n.isHeader(t+i,e+d)?n.internalProps.layoutMap.updateColumnTitle(t+i,e+d,r):n.dataSource.changeFieldValue(r,a,l,t+i,e+d,n);const f=n.getCellOriginValue(t+i,e+d);p!==f&&o&&n.fireListeners(jS.CHANGE_CELL_VALUE,{col:t+i,row:e+d,rawValue:g,currentValue:p,changedValue:f})}else s[d][i]=!1}a=Math.max(a,g)}const u=n.getCellRange(t,e),g=n.getCellRange(a,l),p=n.internalProps.layoutMap.getAggregatorsByCellRange(u.start.col,u.start.row,g.end.col,g.end.row);if(p){for(let t=0;t<p?.length;t++)p[t].recalculate();if("normal"===d){const t=n.internalProps.layoutMap.getAggregatorCellAddress(u.start.col,u.start.row,g.end.col,g.end.row);for(let e=0;e<t.length;e++){const i=n.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++)n.scenegraph.updateCellContent(t,e)}}}if("group"===d&&n.dataSource.updateRecordsForGroup([],[]),"sort"===d||"group"===d)return n.dataSource.sortedIndexMap.clear(),Az(n),n.refreshRowColCount(),n.internalProps.layoutMap.clearCellRangeMap(),n.scenegraph.clearCells(),n.scenegraph.createSceneGraph(),s;for(let t=u.start.col;t<=g.end.col;t++)for(let e=u.start.row;e<=g.end.row;e++)n.scenegraph.updateCellContent(t,e);if("adaptive"===n.widthMode||n.autoFillWidth&&n.getAllColsWidth()<=n.tableNoFrameWidth)0===n.internalProps._widthResizedColMap.size&&n.scenegraph.recalculateColWidths();else for(let e=t;e<=g.end.col;e++)if(!n.internalProps._widthResizedColMap.has(e)){const t=n.getColWidth(e),i=Qk(e,0,n.rowCount-1,n,!1);i!==t&&n.scenegraph.updateColWidth(e,i-t)}if("adaptive"===n.heightMode||n.autoFillHeight&&n.getAllRowsHeight()<=n.tableNoFrameHeight)n.scenegraph.recalculateRowHeights();else if(n.isAutoRowHeight(e)){const t=[],i=[];for(let r=e;r<=g.end.row;r++)if(n.rowHeightsMap.get(r)){const e=n.getRowHeight(r),o=YP(r,0,n.colCount-1,n);t.push(r),i.push(o-e)}n.scenegraph.updateRowsHeight(t,i)}return n.scenegraph.updateNextFrame(),s}(t,e,i,r,o,this)}addRecord(t,e){const i=function(t,e,i){try{if(!t)return!1;if(i.internalProps.groupBy)i.dataSource.addRecordsForGroup?.([t],e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Az(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.([t],e),Tz(i,e,1),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Az(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordForSorted(t),i.stateManager.checkedState.clear(),Az(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),Tz(i,e,1);const o=i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),i.scenegraph.createSceneGraph(),!0;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=[],n=i.internalProps.layoutMap.hasAggregationOnTopCount,s=i.internalProps.layoutMap.hasAggregationOnBottomCount;for(let t=r;t<r+n;t++)i.transpose?o.push({col:t,row:0}):o.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?o.push({col:t,row:0}):o.push({col:0,row:t});i.transpose?i.scenegraph.updateCol([],t,[]):i.scenegraph.updateRow([],t,[])}}return!0}catch(t){return!1}}(t,e,this);GL(this,e,[t]),this.internalProps.emptyTip?.resetVisible(),i&&this.fireListeners(jS.ADD_RECORD,{records:[t],recordIndex:e,recordCount:1})}addRecords(t,e){const i=function(t,e,i){try{if(!t||0===t.length)return!1;if(i.internalProps.groupBy)i.dataSource.addRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Az(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.(t,e),Tz(i,e,t.length),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Az(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordsForSorted(t),Az(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),Tz(i,e,t.length);const o=i.transpose?i.colCount:i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),i.scenegraph.createSceneGraph(),!0;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)}}return!0}catch(t){return!1}}(t,e,this);"number"==typeof e&&GL(this,e,t),this.internalProps.emptyTip?.resetVisible(),i&&this.fireListeners(jS.ADD_RECORD,{records:t,recordIndex:e,recordCount:t.length})}deleteRecords(t){!function(t,e){if(t?.length>0)if(e.internalProps.groupBy)e.dataSource.deleteRecordsForGroup?.(t),e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&Az(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else if("tree"===e.dataSource.rowHierarchyType){const i=e.dataSource.deleteRecordsForTree?.(t);if(0===i.length)return;for(let t=0;t<i.length;t++)Rz(e,i[t],1);e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&Az(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph()}else if(e.sortState)e.dataSource.deleteRecordsForSorted(t),Az(e),e.refreshRowColCount(),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else{const i=e.dataSource.deleteRecords(t);if(0===i.length)return;for(let t=0;t<i.length;t++)Rz(e,i[t],1);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),function(t,e){const i=t.transpose?t.rowHeaderLevelCount:t.columnHeaderLevelCount;e.sort(((t,e)=>e-t));for(let r=0;r<e.length;r++){const o=e[r]+i,n=Array.from(t.internalProps._heightResizedRowMap.keys());for(let e=0;e<n.length;e++)n[e]===o?t.internalProps._heightResizedRowMap.delete(n[e]):n[e]>o&&(t.internalProps._heightResizedRowMap.delete(n[e]),t.internalProps._heightResizedRowMap.add(n[e]-1))}}(this,t),this.internalProps.emptyTip?.resetVisible();const e=[];for(let i=0;i<t.length;i++)e.push(this.getBodyRowIndexByRecordIndex(t[i])+this.columnHeaderLevelCount);this.fireListeners(jS.DELETE_RECORD,{recordIndexs:t,rowIndexs:e,deletedCount:(Array.isArray(t[0]),t.length)})}updateRecords(t,e){!function(t,e,i){if(e?.length>0)if(i.internalProps.groupBy)i.dataSource.updateRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Az(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&&Az(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.updateRecordsForSorted(t,e),Az(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),this.fireListeners(jS.UPDATE_RECORD,{records:t,recordIndexs:e,updateCount:t.length})}_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.internalProps.groupBy)return;const i=this.dataSource.getIndexKey(this.getRecordShowIndexByCell(t,e)),r=this.dataSource.getGroupLength()??0;let o=pt(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)}release(){this.editorManager?.release(),super.release()}expandAllTreeNode(){if(!this._hasHierarchyTreeHeader())return;let t=!1;this.dataSource&&"function"==typeof this.dataSource.expandAllNodes&&(this.dataSource.expandAllNodes(),t=!0),t&&(this._recreateSceneForStateChange(),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.expand,originData:{children:this.records}}))}collapseAllTreeNode(){if(!this._hasHierarchyTreeHeader())return;let t=!1;this.dataSource&&"function"==typeof this.dataSource.collapseAllNodes&&(this.dataSource.collapseAllNodes(),t=!0),t&&(this._recreateSceneForStateChange(),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.collapse,originData:{children:this.records}}))}mergeCells(t,e,i,r){for(let o=t;o<=i;o++)for(let t=e;t<=r;t++){const e=this.getCellRange(o,t);if(e.start.col!==e.end.col||e.start.row!==e.end.row)return}this.options.customMergeCell?"function"==typeof this.options.customMergeCell&&(this.options.customMergeCell=[]):this.options.customMergeCell=[],this.options.customMergeCell.push({text:this.getCellValue(t,e),range:{start:{col:t,row:e},end:{col:i,row:r}}}),this.internalProps.customMergeCell=EI(this.options.customMergeCell);for(let o=t;o<=i;o++)for(let t=e;t<=r;t++)this.scenegraph.updateCellContent(o,t);this.scenegraph.updateNextFrame()}unmergeCells(t,e,i,r){this.options.customMergeCell?"function"==typeof this.options.customMergeCell&&(this.options.customMergeCell=[]):this.options.customMergeCell=[],this.options.customMergeCell=this.options.customMergeCell.filter((o=>{const{start:n,end:s}=o.range;return!(n.col===t&&n.row===e&&s.col===i&&s.row===r)})),this.internalProps.customMergeCell=EI(this.options.customMergeCell);for(let o=t;o<=i;o++)for(let t=e;t<=r;t++)this.scenegraph.updateCellContent(o,t);this.scenegraph.updateNextFrame()}}function Bz(t){return"bottom"===t||"top"===t}class Pz{_scale;_scales;bandPadding;paddingInner;paddingOuter;constructor(){this._scale=new rx,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=pt(i),s=pt(r),a=pt(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 Hz=Math.sqrt(50),kz=Math.sqrt(10),Ez=Math.sqrt(2);class Lz{_extend={};_scale;_scales;nice;zero;domain;expand;forceTickCount;tickCount;niceType;type;constructor(t){this.type=t??"linear",this._scale="log"===t?new Mx:"symlog"===t?new Bx:new Sx,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(){at(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.nice():lt(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.niceMax():at(this.domain?.min)&<(this.domain?.max)&&this.nice&&this._scale.niceMin()}setLinearScaleNice(){let t=this.forceTickCount??this.tickCount??10;"accurateFirst"===this.niceType&&(t=Math.max(10,t)),at(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.nice(t):lt(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.niceMax(t):at(this.domain?.min)&<(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];lt(this.expand.min)&&(t[0]=e-(i-e)*this.expand.min),lt(this.expand.max)&&(t[t.length-1]=i+(i-e)*this.expand.max)}niceDomain(t){if(lt(t[0])||lt(t[1])||"linear"!==this.type)return t;if(Math.abs(Gt(t)-Nt(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>=Hz?10:o>=kz?5:o>=Ez?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)),at(this.domain?.min)&&at(this.domain?.max)?this._scale.nice(t):lt(this.domain?.min)&&at(this.domain?.max)?this._scale.niceMax(t):at(this.domain?.min)&<(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;lt(e)&&(t[0]=e),lt(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 Fz(t,e){const i=e.option;At(t)||i?.label?.flush&&function(t,e){const{width:i,height:r}=e.getLayoutRect(),o=Bz(e.orient),n=!0===e.option.inverse,s=t[0],a=Wt(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 Iz=t=>t;class zz{width;height;x=0;y=0;table;option;orient;visible;type;inverse;data;tickData;scale;component;bodyChartCellPadding;constructor(t,e,i,r,o){if(this.bodyChartCellPadding=r,this.table=o,this.orient=t.orient??"left",this.type=t.type??"band",this.option=Et({},function(t){return t?.colorScheme?.default?.palette?Et({},uz,{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"}}}):uz}(t.__vtableChartTheme),Oz(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 Et({},r,o,n)}(this.orient,this.type,t.__vtableChartTheme),t),"left"===this.orient||"right"===this.orient){const t=0,o=0;"left"===this.orient&&(this.x=this.option.cellPaddingLeft??0,this.width=e-(this.option.cellPaddingLeft??0)),"right"===this.orient&&(this.x=0,this.width=e-(this.option.cellPaddingRight??0)),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.x=r[3]+t,"top"===this.orient&&(this.y=this.option.cellPaddingTop??0,this.height=i-(this.option.cellPaddingTop??0)),"bottom"===this.orient&&(this.y=0,this.height=i-(this.option.cellPaddingBottom??0))}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 Pz,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 Lz(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 QI),function(t,e,i){t.getParser(e)||t.registerParser(e,i)}(this.table._vDataSet,"scale",Iz),t=this.table._vDataSet,e="ticks",i=Dx,t.getTransform(e)||t.registerTransform(e,i);const r=this.option.label||{},o=this.option.tick||{},n=new tz(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=gz(this.option),e=this.getUpdateAttribute();e.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component=new Hv(Et({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){"left"===this.orient?this.width=t-(this.option.cellPaddingLeft??0):"right"===this.orient?this.width=t-(this.option.cellPaddingRight??0):"top"!==this.orient&&"bottom"!==this.orient||(this.width=t-(this.bodyChartCellPadding[1]+this.bodyChartCellPadding[3])),"top"===this.orient?this.height=e-(this.option.cellPaddingTop??0):"bottom"===this.orient?this.height=e-(this.option.cellPaddingBottom??0):"left"!==this.orient&&"right"!==this.orient||(this.height=e-(this.bodyChartCellPadding[2]+this.bodyChartCellPadding[0])),this.updateScaleRange(),this.computeData();const i=gz(this.option),r=this.getUpdateAttribute();r.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component.setAttributes(Et({},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);Fz(i?i.getChildren():[],e),Fz(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=Bz(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];Bz(this.orient)?yt(o)&&(a=s?[o-t,e]:[e,o-t]):yt(n)&&(a=s?[i,n-r]:[n-r,i]),this.scale.updateRange(a)}setLayoutStartPosition(t){let{x:e,y:i}=t;return yt(e)&&(e+=Number("left"===this.orient)*this.getLayoutRect().width),yt(i)&&(i+=Number("top"===this.orient)*this.getLayoutRect().height),{x:e,y:i}}_getTitleLimit(t){if(this.option.title.visible&&at(this.option.title.style?.maxLineWidth)){let e=this.option.title.style?.angle||0;if(this.option.title?.autoRotate&&at(this.option.title.angle)&&(e="left"===this.option.orient?-90:90),t){const t=this.getLayoutRect().width,i=Math.abs(Math.cos(Me(e)));return i<1e-6?1/0:t/i}const i=this.getLayoutRect().height,r=Math.abs(Math.sin(Me(e)));return r<1e-6?1/0:i/r}return null}getScale(){return this.scale._scale}getDomainSpec(){return this.scale.domain}}function Oz(t,e){let i;return"left"===t?i=e.axisStyle.leftAxisStyle:"right"===t?i=e.axisStyle.rightAxisStyle:"top"===t?i=e.axisStyle.topAxisStyle:"bottom"===t&&(i=e.axisStyle.bottomAxisStyle),Et({},e.axisStyle.defaultAxisStyle,i)}function Dz(t,e){const i=Et({},uz,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??hz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??lz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Gz(Math.min(r,s),n,a).width)}))}else{let r;if(t.sync?.tickAlign&&st(t.tick?.tickMode))r=t.tick.tickMode();else if(pt(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=[Nz(e),Nz(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??hz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??lz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Gz(Math.min(r,s),n,a).width)}))}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??hz,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??lz}),s=i.label?.style?.maxLineWidth||1/0,a=Gz(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}let s=0;const a=Oz(t.orient,e.theme);return"left"===t.orient?s=a?.cellPaddingLeft??0:"right"===t.orient&&(s=a?.cellPaddingRight??0),Math.ceil(r+o+n+s+1)}function Wz(t,e){const i=Et({},uz,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??hz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??lz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Gz(Math.min(r,s),n,a).height)}))}else{let r;if(t.sync?.tickAlign&&st(t.tick?.tickMode))r=t.tick.tickMode();else if(pt(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=[Nz(e),Nz(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??hz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??lz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Gz(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??hz,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??lz}),s=i.label?.style?.maxLineWidth||1/0,a=Gz(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}let s=0;const a=Oz(t.orient,e.theme);return"top"===t.orient?s=a?.cellPaddingTop??0:"bottom"===t.orient&&(s=a?.cellPaddingBottom??0),r+o+n+s+1}function Nz(t){return"number"!=typeof t&&(t=Number(t)),Number(t.toPrecision(1)).toString()}function Gz(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 Vz{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),lt(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)It(t,this._cacheAttrs)||this._emptyTipComponent.setAttributes(t);else{const e=new d_(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 Ye;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 Ye;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 jz={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 Uz{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Bt(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 t_(Et({},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(){if(!this.legendComponent||!1===this.visible)return;const t=this.getLegendAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight});this.legendComponent.setAttributes(t),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=wM(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}=Et({},jz,t),C=y;return i.visible&&(C.title=rz(i)),At(r.focusIconStyle)||oz(r.focusIconStyle),nz(r.shape),nz(r.label),nz(r.value),nz(r.background),JM(r.maxWidth)&&(r.maxWidth=Number(r.maxWidth.substring(0,r.maxWidth.length-1))*e.width/100),JM(r.width)&&(r.width=Number(r.width.substring(0,r.width.length-1))*e.width/100),JM(r.height)&&(r.height=Number(r.height.substring(0,r.height.length-1))*e.width/100),C.item=r,At(o.textStyle)||oz(o.textStyle),nz(o.handler),C.pager=o,n.visible&&!At(n.style)&&(Et(C,n.style),lt(n.padding)&&(C.padding=n.padding)),C}(this.option,t),r=wM(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($x.legendItemClick,(t=>{const e=Rt(t,"detail.currentSelected");this.table.fireListeners(jS.LEGEND_ITEM_CLICK,{model:this,value:e,event:t})})),this.legendComponent.addEventListener($x.legendItemHover,(t=>{const e=Rt(t,"detail");this.table.fireListeners(jS.LEGEND_ITEM_HOVER,{model:this,value:e,event:t})})),this.legendComponent.addEventListener($x.legendItemUnHover,(t=>{const e=Rt(t,"detail");this.table.fireListeners(jS.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 Kz={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"}}}},$z={horizontal:{...Kz,rail:{width:200,height:8,style:{fill:"rgba(0,0,0,0.04)"}}},vertical:{...Kz,rail:{width:8,height:200,style:{fill:"rgba(0,0,0,0.04)"}}}},Xz={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)"}},...Kz},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)"}},...Kz}};function Yz(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}=Et({},("color"===t.type?$z:Xz)["bottom"===t.orient||"top"===t.orient?"horizontal":"vertical"],t),R=A;return i.visible&&(R.title=rz(i)),R.showHandler=!1!==r.visible,At(r.style)||(R.handlerStyle=oz(r.style)),lt(o.width)&&(R.railWidth=o.width),lt(o.height)&&(R.railHeight=o.height),At(o.style)||(R.railStyle=oz(o.style)),At(n.style)||(R.trackStyle=oz(n.style)),R.startText=nz(s),R.endText=nz(a),R.handlerText=nz(l),At(h)||(R.sizeBackground=oz(h)),c.visible&&!At(c.style)&&(Et(R,c.style),lt(c.padding)&&(R.padding=c.padding)),R}class qz{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Bt(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 n_(Et({},t,{slidable:!0})):new a_(Et({},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=wM(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{...Yz(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=Rt(t,"detail.value");this.table.fireListeners(jS.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 Zz(t,e){return"color"===t.type||"size"===t.type?new qz(t,e):new Uz(t,e)}class Jz{_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 Qz="vtable__menu-element",tO=`${Qz}--hidden`,eO=`${Qz}--shown`;class iO{_handler;_rootElement;_menuInstanceInfo;constructor(t){this._handler=new XS,this._rootElement=BF("div",[Qz,tO]),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(tO))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(jS.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(tO)||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(eO),o?.classList.add(tO),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(eO),o?.classList.remove(tO),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(eO),t.classList.add(tO))}_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 rO extends Jz{createMenuElementInternal(){return new KF(this._table)}}let oO=class extends Jz{createMenuElementInternal(){return new iO(this._table)}};const nO={"dropdown-menu":function(t){return new rO(t)},"context-menu":function(t){return new rO(t)},container:t=>new oO(t)};class sO{_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=-1===t&&-1===e?{start:{col:-1,row:-1},end:{col:-1,row:-1}}: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&&IS(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(jS.DROPDOWN_ICON_CLICK,(t=>{this._attachInfo&&this._isBindToCell(t.col,t.row)?this._unbindFromCell():this._bindToCell(t.col,t.row,"dropdown-menu")})),t.on(jS.DROPDOWN_MENU_CLEAR,(t=>{this._unbindFromCell()})),t.on(jS.CONTEXTMENU_CELL,(e=>{if("html"===t.internalProps.menu?.renderMode){const i=t._getMouseAbstractPoint(e.event);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}})}})),t.on(jS.CONTEXTMENU_CANVAS,(e=>{if("html"===t.internalProps.menu?.renderMode){const i=t._getMouseAbstractPoint(e.event);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(-1,-1,"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){if(-1===e&&-1===i&&"context-menu"===r)return o?.content?{type:r,position:o.position,referencePosition:o.referencePosition??{rect:{left:0,right:0,top:0,bottom:0,width:0,height:0}},content:o.content}:null;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]=nO[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 aO{table;_titleOption;isReleased=!1;_titleComponent;_cacheAttrs;constructor(t,e){this.table=e,this._titleOption=Et({orient:"top"},t),!1!==t.visible&&(this._titleComponent=this._createOrUpdateTitleComponent(this._getTitleAttrs()))}_createOrUpdateTitleComponent(t){if(this._titleComponent)It(t,this._cacheAttrs)||this._titleComponent.setAttributes(t);else{const e=new l_(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=wM(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=wM(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 lO{_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"===oS.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 hO="vtable__bubble-tooltip-element",cO=`${hO}__content`,dO=`${hO}__triangle`,uO=`${hO}--hidden`,gO=`${hO}--shown`;class pO{_handler;_rootElement;_messageElement;_triangleElement;_disappearDelay;_disappearDelayId;constructor(){this._handler=new XS;const t=this._rootElement=BF("div",[hO,uO]),e=BF("div",[cO]),i=BF("span",[dO]);t.appendChild(i),t.appendChild(e),this._messageElement=t.querySelector(`.${cO}`)||void 0,this._triangleElement=t.querySelector(`.${dO}`)||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(gO),n?.classList.add(uO),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(gO),n?.classList.remove(uO),!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(gO),n?.classList.remove(uO)):this.unbindFromCell()}unbindFromCell(){if(this._disappearDelay)this._disappearDelayId=setTimeout((()=>{const t=this._rootElement;t?.parentElement&&(t.classList.remove(gO),t.classList.add(uO))}),this._disappearDelay??0);else{const t=this._rootElement;t?.parentElement&&(t.classList.remove(gO),t.classList.add(uO))}}_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`,CS()&&(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??w_.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===w_.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=w_.right,c())):t===w_.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=w_.left,c())):t===w_.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=w_.top,c())):t===w_.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=w_.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 fO extends lO{createTooltipElementInternal(){return new pO}}const mO={"bubble-tooltip":function(t){return new fO(t)}};class bO{_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||!IS(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||!IS(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&&IS(i.range,t,e)}_bindTableEvent(t){t.on(jS.MOUSEENTER_CELL,(e=>{if(CS())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(jS.MOUSEMOVE_CELL,(e=>{if(!CS()){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);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(jS.MOUSELEAVE_CELL,(t=>{this._unbindFromCell()})),t.on(jS.SELECTED_CELL,(t=>{this._isBindCell(t.col,t.row)&&this._unbindFromCell()})),t.on(jS.MOUSELEAVE_TABLE,(t=>{this._unbindFromCell()})),t.on(jS.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(st(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]=mO[o](i))}isBinded(t){return JSON.stringify(t)===JSON.stringify(this._attachInfo?.tooltipOptions)}}const yO=()=>{RA.registerComponent("axis",zz),RA.registerFunction("computeAxisComponentWidth",Dz),RA.registerFunction("computeAxisComponentHeight",Wz),RA.registerFunction("getAxisConfigInPivotChart",qH)},CO=()=>{RA.registerComponent("emptyTip",Vz)},wO=()=>{RA.registerFunction("createLegend",Zz)},vO=()=>{RA.registerComponent("menuHandler",sO)},xO=()=>{RA.registerComponent("title",aO)},_O=()=>{RA.registerComponent("tooltipHandler",bO)},SO=()=>{WC.registerBuiltInAnimate("increaseCount",ew),WC.registerBuiltInAnimate("fromTo",gv),WC.registerBuiltInAnimate("scaleIn",Vw),WC.registerBuiltInAnimate("scaleOut",jw),WC.registerBuiltInAnimate("growHeightIn",mw),WC.registerBuiltInAnimate("growHeightOut",bw),WC.registerBuiltInAnimate("growWidthIn",Ew),WC.registerBuiltInAnimate("growWidthOut",Lw),WC.registerBuiltInAnimate("growCenterIn",gw),WC.registerBuiltInAnimate("growCenterOut",pw),WC.registerBuiltInAnimate("clipIn",nw),WC.registerBuiltInAnimate("clipOut",sw),WC.registerBuiltInAnimate("fadeIn",aw),WC.registerBuiltInAnimate("fadeOut",lw),WC.registerBuiltInAnimate("growPointsIn",ww),WC.registerBuiltInAnimate("growPointsOut",vw),WC.registerBuiltInAnimate("growPointsXIn",_w),WC.registerBuiltInAnimate("growPointsXOut",Sw),WC.registerBuiltInAnimate("growPointsYIn",Rw),WC.registerBuiltInAnimate("growPointsYOut",Tw),WC.registerBuiltInAnimate("growAngleIn",dw),WC.registerBuiltInAnimate("growAngleOut",uw),WC.registerBuiltInAnimate("growRadiusIn",Pw),WC.registerBuiltInAnimate("growRadiusOut",Hw),WC.registerBuiltInAnimate("moveIn",av),WC.registerBuiltInAnimate("moveOut",lv),WC.registerBuiltInAnimate("rotateIn",cv),WC.registerBuiltInAnimate("rotateOut",dv),WC.registerBuiltInAnimate("update",nv),WC.registerBuiltInAnimate("state",Uw),WC.registerBuiltInAnimate("labelItemAppear",Fw),WC.registerBuiltInAnimate("labelItemDisappear",Iw),WC.registerBuiltInAnimate("poptipAppear",zw),WC.registerBuiltInAnimate("poptipDisappear",Ow),WC.registerBuiltInAnimate("inputText",iw),WC.registerBuiltInAnimate("inputRichText",Dw),WC.registerBuiltInAnimate("outputRichText",Ww),WC.registerBuiltInAnimate("slideRichText",Nw),WC.registerBuiltInAnimate("slideOutRichText",Gw),WC.registerBuiltInAnimate("slideIn",Kw),WC.registerBuiltInAnimate("growIn",$w),WC.registerBuiltInAnimate("spinIn",Xw),WC.registerBuiltInAnimate("moveScaleIn",Zw),WC.registerBuiltInAnimate("moveRotateIn",Jw),WC.registerBuiltInAnimate("strokeIn",Yw),WC.registerBuiltInAnimate("slideOut",Qw),WC.registerBuiltInAnimate("growOut",tv),WC.registerBuiltInAnimate("spinOut",ev),WC.registerBuiltInAnimate("moveScaleOut",iv),WC.registerBuiltInAnimate("moveRotateOut",rv),WC.registerBuiltInAnimate("strokeOut",qw),WC.registerBuiltInAnimate("pulse",ov),WC.registerBuiltInAnimate("MotionPath",uv),WC.registerBuiltInAnimate("streamLight",pv),WC.registerBuiltInAnimate("dissolve",wv),WC.registerBuiltInAnimate("grayscale",vv),WC.registerBuiltInAnimate("distortion",xv),WC.registerBuiltInAnimate("particle",_v),WC.registerBuiltInAnimate("glitch",Sv),WC.registerBuiltInAnimate("gaussianBlur",Av),WC.registerBuiltInAnimate("pixelation",Rv),Ot(al,XC),Ot(al,YC)};class AO{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){pt(t)||(t=[t]),pt(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(pt(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=fh({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=NB(r),{col:n,row:s}=o;MO(s-i.indexOf(s),t)}))}if(!i.border){const e=fh({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=NB(r),{col:n,row:s}=o;MO(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 QB({x:t.getColsWidth(0,o-1),y:t.getFrozenRowsHeight()}),i.add(n)):(n=new QB({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(RO(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=TO(s);t.setAttributes({y:40*e}),n.add(t)}else{const r=RP(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 RO(t,e,i,r){if(t===e&&t!==i+r.length-1)return!0;return t===i+r.indexOf(t)+1&&t<e}function TO(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=fh({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=TO(t);i.add(e)}))}return e}function MO(t,e){const i=e.getDrawRange();if(lt(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()}function BO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){const C=BS(NI,WI)[c],w=oP("padding",p._getCellStyle(o,n),o,n,p);if(lt(w)&&(l=w),!t){const l=nP(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 QB({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 lk(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,detectPickChartItem:p.options.customConfig?.detectPickChartItem,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}class PO extends QB{_leftGroup;_rightGroup;_checkboxGroup;_autoWidth=!1;_autoHeight=!1;_cellWidth;_originCellWidth;_cellHeight;_align;_baseline;constructor(t){super(t),this._leftGroup=new QB({pickable:!1,fill:!1,stroke:!1}),this._leftGroup.role="content-left",this._rightGroup=new QB({pickable:!1,fill:!1,stroke:!1}),this._rightGroup.role="content-right",this._checkboxGroup=new QB({pickable:!1,fill:!1,stroke:!1}),this._checkboxGroup.role="content-center",this.appendChild(this._leftGroup),this.appendChild(this._rightGroup),this.appendChild(this._checkboxGroup)}addLeftOccupyingIcon(t){t.setAttribute("x",this._leftGroup.width+(t.attribute.marginLeft??0)),this._leftGroup.appendChild(t),this._leftGroup.setDeltaWidth((t.attribute.marginLeft??0)+(t.attribute.marginRight??0)+t.attribute.width)}addRightOccupyingIcon(t){t.setAttribute("x",this._rightGroup.width+(t.attribute.marginLeft??0)),this._rightGroup.appendChild(t),this._rightGroup.setDeltaWidth((t.attribute.marginLeft??0)+(t.attribute.marginRight??0)+t.attribute.width)}addCheckbox(t){this._checkboxGroup.appendChild(t)}setCheckboxContentOption(t){this._autoWidth=t.autoWidth,this._autoHeight=t.autoHeight,this._cellWidth=t.cellWidth,this._originCellWidth=t.cellWidth,this._cellHeight=t.cellHeight,this._align=t.align,this._baseline=t.baseline}layout(){let t=this._leftGroup.width;t===1/0&&(t=0);let e=this._rightGroup.width;if(e===-1/0&&(e=0),this._autoWidth){const i=this._checkboxGroup.width;this._cellWidth=t+e+i,this.setAttribute("width",this._cellWidth)}else{const i=this._cellWidth-t-e;this.updateCenterLayout(i);const r=this._checkboxGroup.width;this._cellWidth=t+e+r,this.setAttribute("width",this._cellWidth)}this.updateHorizontalPos();const i=this._leftGroup.height,r=this._rightGroup.height,o=this._checkboxGroup.height;this._cellHeight=Math.max(i,r,o),this.setAttribute("height",this._cellHeight),this.updateVerticalPos()}updateCenterLayout(t){let e=t;this._checkboxGroup.forEachChildren((t=>{t instanceof h_&&(e-=t.AABBBounds.width())}));const i=this._checkboxGroup.getChildByName("checkbox-content");i instanceof h_&&i.setAttribute("width",e);let r=0;this._checkboxGroup.forEachChildren((t=>{t.setAttribute("x",r),r+=t.AABBBounds.width()}))}updateHorizontalPos(){this._leftGroup.setAttribute("x",0),this._rightGroup.setAttribute("x",this._cellWidth-this._rightGroup.width),this._checkboxGroup.setAttribute("x",4),"left"===this._align||"start"===this._align?this.setAttribute("dx",0):"center"===this._align?this.setAttribute("dx",-this.attribute.width/2):"right"!==this._align&&"end"!==this._align||this.setAttribute("dx",-this.attribute.width)}updateVerticalPos(){"top"===this._baseline?(this._leftGroup.setAttribute("y",0),this._rightGroup.setAttribute("y",0),this._checkboxGroup.setAttribute("y",0)):"middle"===this._baseline?(this._leftGroup.forEachChildren((t=>{t.setAttribute("y",(this._leftGroup.height-t.AABBBounds.height())/2)})),this._rightGroup.forEachChildren((t=>{t.setAttribute("y",(this._rightGroup.height-t.AABBBounds.height())/2)})),this._leftGroup.setAttribute("y",this._cellHeight/2-this._leftGroup.height/2),this._rightGroup.setAttribute("y",this._cellHeight/2-this._rightGroup.height/2),this._checkboxGroup.setAttribute("y",this._cellHeight/2-this._checkboxGroup.height/2)):"bottom"===this._baseline&&(this._leftGroup.forEachChildren((t=>{t.setAttribute("y",this._leftGroup.height-t.AABBBounds.height())})),this._rightGroup.forEachChildren((t=>{t.setAttribute("y",this._rightGroup.height-t.AABBBounds.height())})),this._leftGroup.setAttribute("y",this._cellHeight-this._leftGroup.height),this._rightGroup.setAttribute("y",this._cellHeight-this._rightGroup.height),this._checkboxGroup.setAttribute("y",this._cellHeight-this._checkboxGroup.height))}}function HO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){if(!t){const s=nP(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 QB({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 C;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),C=g.getCellIcons(t,e)}let w=0,v=0,x=0,_=0,S=[];if(Array.isArray(C)&&0!==C.length){const{leftIconWidth:e,rightIconWidth:i,contentLeftIcons:r,contentRightIcons:o,absoluteLeftIconWidth:n,absoluteRightIconWidth:s}=gP(C,t,m,g);w=e+i,v=e,x=i,S=r,_=s,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-s-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 A=function(t,e,i,r,o,n,s,a,l,h){const c=l._getCellStyle(t,e),d=rP("size",c,t,e,l),u=rP("spaceBetweenTextAndIcon",c,t,e,l),g=rP("defaultFill",c,t,e,l),p=rP("defaultStroke",c,t,e,l),f=rP("disableFill",c,t,e,l),m=rP("checkedFill",c,t,e,l),b=rP("checkedStroke",c,t,e,l),y=rP("disableCheckedFill",c,t,e,l),C=rP("disableCheckedStroke",c,t,e,l),w=rP("checkIconImage",c,t,e,l),v=rP("indeterminateIconImage",c,t,e,l),x=l.getCellValue(t,e),_=l.getCellOriginValue(t,e);let S,A,R=x??"";ht(x)?(S=x.checked,A=x.disable,R=x.text??""):"boolean"==typeof x&&(S=x,R="");if(l.internalProps.layoutMap.isSeriesNumber(t,e)){const i=l.getFieldData(a.field,t,e);i&&("string"==typeof i||("object"==typeof i?(S=i.checked,A=i.disable):"boolean"==typeof i&&(S=i)))}S=l.stateManager.syncCheckedState(t,e,a.field,S);const T=aP(t,e,l),M=l._getCellStyle(t,e),B=M.autoWrapText??l.internalProps.autoWrapText,{lineClamp:P}=M,{checked:H,disable:k}=a;if(null==S||"function"==typeof S){const i=kS(H,{col:t,row:e,table:l,context:null,value:x,dataValue:_});S=l.stateManager.syncCheckedState(t,e,a.field,i)}const E=kS(k,{col:t,row:e,table:l,context:null,value:x,dataValue:_}),L="auto"===i,F=l.isAutoRowHeight(e),I={text:1===R.length?R[0]:R,maxLineWidth:L?1/0:r-(n[1]+n[3]+T)-d-u,textAlign:"left",textBaseline:"top",autoWrapText:B,lineClamp:P,wordBreak:"break-word",heightLimit:F?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:h?0:T,whiteSpace:1!==R.length||B?"normal":"no-wrap"},z=s.text?Object.assign({},s.text,I):I,O={x:0,y:0,text:z,icon:{width:Math.floor(d/1.4),height:Math.floor(d/1.4)},box:{width:d,height:d},dx:h?T:0,spaceBetweenTextAndIcon:u,disabled:A??E??!1};"indeterminate"===S?(O.checked=void 0,O.indeterminate=!0):(O.checked=S,O.indeterminate=void 0);g&&(O.box.fill=g),p&&(O.box.stroke=p),f&&(O.box.disableFill=f),m&&(O.box.checkedFill=m),b&&(O.box.checkedStroke=b),y&&(O.box.disableCheckedFill=y),C&&(O.box.disableCheckedStroke=C),w&&(O.icon.checkIconImage=w),v&&(O.icon.indeterminateIconImage=v);const D=new h_(O);return D.name="checkbox",D}(o,n,s-w,a,l,h,p,f,g,y);if(1!==S.length||S[0].name!==S_.expandIconName&&S[0].name!==S_.collapseIconName)A&&t.appendChild(A),A.render();else{const e=new PO({x:0,y:0,fill:!1,stroke:!1,pickable:!1});e.name="checkbox-content",e.setCheckboxContentOption({autoWidth:!1,autoHeight:!1,cellWidth:a-(h[1]+h[3]),cellHeight:l-h[0]-h[2],align:c,baseline:d});const i={addedHierarchyOffset:0};S.forEach((r=>{const o=hP(r,void 0,t.col,t.row,m,g,i);o.role="icon-content-left",o.name=r.name,e.addLeftOccupyingIcon(o)})),A&&e.addCheckbox(A),t.appendChild(e),e.layout(),e.AABBBounds.width(),e.AABBBounds.height();const r=a-(h[1]+h[3]),o=l-(h[0]+h[2]);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+r-x+h[3]):"icon-absolute-right"===t.role?t.setAttribute("x",t.attribute.x+r-_+h[3]+h[1]):"content"!==t.name&&"checkbox-content"!==t.name||("center"===c&&"richtext"!==t.type?t.setAttribute("x",h[3]+v+(r-v-x)/2):"right"===c&&"richtext"!==t.type?t.setAttribute("x",h[3]+r-x):t.setAttribute("x",h[3]+v))})),t.forEachChildren((t=>{t.name!==UB&&("middle"===d?t?._checkboxGroup&&t._leftGroup.setAttribute("y",h[0]+(o-t._checkboxGroup.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",h[0]+o-t.AABBBounds.height()):t.setAttribute("y",h[0]))}))}return a-=h[1]+h[3]+w,l-=h[0]+h[2],"center"===c?A.setAttribute("x",h[3]+v+(a-A.AABBBounds.width())/2):"right"===c?A.setAttribute("x",h[3]+v+a-A.AABBBounds.width()):A.setAttribute("x",h[3]+v),"middle"===d?A.setAttribute("y",h[0]+(l-A.AABBBounds.height())/2):"bottom"===d?A.setAttribute("y",h[0]+l-A.AABBBounds.height()):A.setAttribute("y",h[0]),t}function kO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f){if(!t){const s=nP(o,n,g,u);(t=new QB({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=rP("size",d,t,e,c),g=rP("innerRadius",d,t,e,c),p=rP("outerRadius",d,t,e,c);const f=rP("spaceBetweenTextAndIcon",d,t,e,c),m=rP("spaceBetweenRadio",d,t,e,c),b=rP("defaultFill",d,t,e,c),y=rP("defaultStroke",d,t,e,c),C=rP("disableFill",d,t,e,c),w=rP("checkedFill",d,t,e,c),v=rP("checkedStroke",d,t,e,c),x=rP("disableCheckedFill",d,t,e,c),_=rP("disableCheckedStroke",d,t,e,c);bt(p)?u=2*p:p=Math.round(u/2);(!bt(g)||g<0)&&(g=Math.round(p/7*3));const S=c.getCellValue(t,e),A=c.getCellOriginValue(t,e),R=aP(t,e,c),T=c._getCellStyle(t,e),M=T.autoWrapText??c.internalProps.autoWrapText,{lineClamp:B}=T,P="auto"===i,H=c.isAutoRowHeight(e),k={maxLineWidth:P?1/0:r-(n[1]+n[3]+R)-u-f,textAlign:"left",textBaseline:"top",autoWrapText:M,lineClamp:B,wordBreak:"break-word",heightLimit:H?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:R},E=s.text?Object.assign({},s.text,k):k,L={x:0,y:0,text:E,circle:{innerRadius:g,outerRadius:p},spaceBetweenTextAndIcon:f};b&&(L.circle.fill=b),y&&(L.circle.stroke=y),C&&(L.circle.disableFill=C),w&&(L.circle.checkedFill=w),v&&(L.circle.checkedStroke=v),x&&(L.circle.disableCheckedFill=x),_&&(L.circle.disableCheckedStroke=_);let F=0,I=0;const z=a.radioDirectionInCell??"vertical";if(pt(S))S.forEach(((i,r)=>{const o=EO(i,A,r,t,e,a,M,L,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=EO(S,A,void 0,t,e,a,M,L,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 EO(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;ht(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=kS(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;ht(t)&&(s=t.disable);const a=kS(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=ht(t)?t.text:nt(t)?"":t??"",u=Et({},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 c_(u);return g.name="radio",g}function LO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=nP(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 QB({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}=gP(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=rP("spaceBetweenTextAndCircle",h,t,e,l),d=rP("circleRadius",h,t,e,l),u=rP("boxWidth",h,t,e,l),g=rP("boxHeight",h,t,e,l),p=rP("checkedFill",h,t,e,l),f=rP("uncheckedFill",h,t,e,l),m=rP("disableCheckedFill",h,t,e,l),b=rP("disableUncheckedFill",h,t,e,l),y=rP("circleFill",h,t,e,l),C=l.getCellValue(t,e),w=l.getCellOriginValue(t,e);let v,x,_=C??"";ht(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=aP(t,e,l),A=l._getCellStyle(t,e),R=A.autoWrapText??l.internalProps.autoWrapText,{lineClamp:T}=A,{checked:M,disable:B,uncheckedText:P,checkedText:H}=a;if(null==v||"function"==typeof v){const i=kS(M,{col:t,row:e,table:l,context:null,value:C,dataValue:w});v=l.stateManager.syncCheckedState(t,e,a.field,i)}const k=kS(B,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),E=kS(H,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),L=kS(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:E,uncheckedText:L},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 u_(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 FO=new class extends rx{constructor(t){super(!1),this.type=Iv.Point,this._padding=0,this.paddingInner(1,t),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},IO=new Sx;function zO(t,e,i,r,o,n,s,a,l,h,c,d){if(!t){const l=nP(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 QB({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=OO(s,c,d,i,r)}else s=l,a=OO(l,c,d,i,r);const p=[],f=[];let m,b;if("object"==typeof s.xField)FO.domain(s.xField.domain),m=s.xField.field;else if("string"==typeof s.xField){const t=h.map((t=>t[s.xField]));FO.domain(t),m=s.xField}else Array.isArray(h)&&(FO.domain(Array.from({length:h.length},((t,e)=>e))),m=s.xField);if(FO.range([0,i]),"object"==typeof s.yField)IO.domain(s.yField.domain),b=s.yField.field;else if("string"==typeof s.yField){const t=DO(h,s.yField);IO.domain([Math.min(...t),Math.max(...t)]),b=s.yField}else if(Array.isArray(h)){const t=DO(h);IO.domain([Math.min(...t),Math.max(...t)]),b=s.yField}if(IO.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(!lt(t[m])||!lt(t[b]))break;p.push({x:u+FO.scale(t[m]),y:g-IO.scale(t[b]),defined:lt(t[b])}),f.push(t),r=!0;break}r||(p.push({x:u+FO.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+FO.scale(m?e[m]:t),y:g-IO.scale(b?e[b]:e),defined:lt(b?e[b]:e),rawData:e}),f.push(e)}const y=a.getChildByName("sparkline-line");y&&y.setAttribute("points",p);y.bandwidth=FO.step(),y.min=IO.range()[0],y.max=IO.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=hh({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=hh({x:e,y:i});C.appendChild(t)}}}return a}(o,n,s,a,l,h);return u&&t.appendChild(u),t}function OO(t,e,i,r,o){let n;n="function"==typeof t?t(null):t;const s=new QB({x:e,y:i,width:r,height:o,stroke:!1,fill:!1});if(s.name="sparkline","line"===n.type){const t=uh({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 QB({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 DO(t,e){const i=[];for(let r=0;r<t.length;r++){const o=t[r];lt(e)&<(o[e])?i.push(o[e]):!lt(e)&<(o)&&i.push(o)}return i}const WO=FB();function NO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m){const b=oP("padding",g._getCellStyle(r,o),r,o,g);g.options.customConfig?.imageMargin?h=wM(g.options.customConfig?.imageMargin):lt(b)&&(h=b),p?.text?.textAlign&&(c=p?.text?.textAlign),p?.text?.textBaseline&&(d=p?.text?.textBaseline);const y=nP(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 QB({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}=gP(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&&mP(r,o,S.videoWidth,S.videoHeight,g.scenegraph,h,C);const{width:t,height:e,isMerge:i}=yP(C,g);if(a){const{width:i,height:r}=tP(S.videoWidth,S.videoHeight,t-h[1]-h[3],e-h[0]-h[2]),o=eP(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&&CP(C.mergeStartCol,C.mergeEndCol,C.mergeStartRow,C.mergeEndRow,g);const{width:n,height:s}=yP(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=C.getChildByName("image",!0),{dx:b,dy:y}=m.attribute,w=new IB({x:p-u/2,y:f-u/2,width:u,height:u,image:WO.play.svg,cursor:WO.play.cursor,dx:b,dy:y});w.name="play-icon",C.appendChild(w),g.scenegraph.updateNextFrame()})),S.onerror=()=>{A.image=WO.damage_pic.svg},S.src=_,S.setAttribute("preload","auto");const A=vh({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 GO(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=oP("padding",C,n,s,t);lt(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=nP(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 QB({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)}!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}=gP(e,t,p,u);let R;if(m=_,b=S,y=A,0===C.length&&0===w.length){let e=0;bt(u.theme._contentOffset)&&("left"===c?e=u.theme._contentOffset:"right"===c&&(e=-u.theme._contentOffset));const d=p?aP(p.start.col,p.start.row,u):aP(t.col,t.row,u),{text:f,moreThanMaxCharacters:y}=lP(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 ih(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=>cP(t))),e,...w.map((t=>cP(t)))];a[0].textAlign=c;const u=new Th({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=pP)}if(0!==v.length||0!==x.length){const e=new sP({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=hP(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=hP(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(lt(i)){const{text:e,moreThanMaxCharacters:m}=lP(i,u),b=p?aP(p.start.col,p.start.row,u):aP(t.col,t.row,u);let y=0;bt(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 ih(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!==UB&&("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&&function(t,e,i){if("boolean"==typeof t){const t=Lh({x:e.attribute.width,y:0,startAngle:Math.PI/2,endAngle:Math.PI,outerRadius:6,fill:"#3073F2",pickable:!1});t.name="mark",e.appendChild(t)}else{const{bgColor:i="#3073F2",shape:r="sector",position:o="right-top",size:n=10,offset:s=0}=t;let a,l,h,c,d,u;if("sector"===r)"right-top"===o?(a=e.attribute.width-s,l=s,h=Math.PI/2,c=Math.PI):"left-top"===o?(a=s,l=s,h=0,c=Math.PI/2):"right-bottom"===o?(a=e.attribute.width-s,l=e.attribute.height-s,h=Math.PI,c=Math.PI/2*3):"left-bottom"===o&&(a=s,l=e.attribute.height-s,h=Math.PI/2*3,c=2*Math.PI),d=i,u=Lh({x:a,y:l,startAngle:h,endAngle:c,outerRadius:n,fill:d,pickable:!1});else if("triangle"===r){let t,r,h,c;"right-top"===o?(a=e.attribute.width-s,l=s,t=a-n,r=l,h=a,c=l+n):"left-top"===o?(a=s,l=s,t=a+n,r=l,h=a,c=l+n):"right-bottom"===o?(a=e.attribute.width-s,l=e.attribute.height-s,t=a-n,r=l,h=a,c=l-n):"left-bottom"===o&&(a=s,l=e.attribute.height-s,t=a+n,r=l,h=a,c=l-n),d=i,u=zh({points:[{x:a,y:l},{x:t,y:r},{x:h,y:c}],fill:d,pickable:!1})}else"rect"===r&&("right-top"===o?(a=e.attribute.width-n-s,l=s):"left-top"===o?(a=s,l=s):"right-bottom"===o?(a=e.attribute.width-n-s,l=e.attribute.height-n-s):"left-bottom"===o&&(a=s,l=e.attribute.height-n-s),d=i,u=fh({x:a,y:l,width:n,height:n,fill:d,pickable:!1}));u.name="mark",e.appendChild(u)}}(m?._vtable?.marked,R)}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 VO(t,e,i,r,o,n,s,a,l,h){if(t.dependField){const e=kS(t.dependField,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0});o=l.getCellOriginRecord(n,s)?.[e]??o}const c=kS(t.barType,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??"default",d=kS(t.min,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??0,u=kS(t.max,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??d+100;let g=0;if(g=h?l.getRowsHeight(h.start.row,h.end.row):l.getRowHeight(s),l.pluginManager){if(l.pluginManager.getPluginByName("Master Detail Plugin")){const t=s-l.columnHeaderLevelCount,e=l.internalProps,i=e?.originalRowHeights?.get(t);void 0!==i&&i>0&&(g=i)}}let p=i,f=g,m=0;bt(l.theme._contentOffset)&&(m=l.theme._contentOffset);const b=new QB({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:M,barMarkPosition:B,barMarkInBar:P}=e;let{barHeight:H,barBottom:k,barPadding:E}=e;1===E.length?E=[E[0],E[0],E[0],E[0]]:2===E.length?E=[E[0],E[1],E[0],E[1]]:3===E.length&&(E=[E[0],E[1],E[2],E[1]]),E=E.map(((t,e)=>{if("string"==typeof t&&WS.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=wM(rP("borderLineWidth",e,n,s,l)),F=Math.max(E[0],Math.ceil(L[0]/2));let I=Math.max(E[1],Math.floor(L[1]/2));const z=Math.max(E[2],Math.floor(L[2]/2));let O=Math.max(E[3],Math.ceil(L[3]/2));A&&M>0&&"right"===B&&!1===P&&(I+=M,O+=M),p-=I+O,f-=z+F,s===l.rowCount-1&&[0,"0"].includes(k)&&(f-=1);const D=F,W=O,N=p;"string"==typeof H&&WS.endsWith(H,"%")?(H=Number(H.substr(0,H.length-1)),H=f*H/100):H=Number(H),"string"==typeof k&&WS.endsWith(k,"%")?(k=Number(k.substr(0,k.length-1)),k=f*k/100):k=Number(k);if(kS(y,{col:n,row:s,table:l,context:null,value:r,dataValue:o})){let t=`${o}`;WS.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=D+f-H-k;let h=Math.min(i*t,i);const c=S?W+N-h:W;n!==l.colCount-1||1!==t||S||(h-=1);const g=kS(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:t});if(g){const t=fh({x:c,y:a,width:i,height:H,fill:g});b.addChild(t)}const m=fh({x:c,y:a,width:h,height:H,fill:kS(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=D+f-H-k,E=W,L=kS(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c});if(L){const t=fh({x:E,y:C,width:y,height:H,fill:L});b.addChild(t)}const F=S?h*y:a*y,I=Math.min(y*a*m,y),z=S?{left:E+F,top:C,width:I,height:H}:{left:E+F-I,top:C,width:I,height:H},O=kS(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8",N=fh({x:z.left,y:z.top,width:z.width,height:z.height,fill:O});b.addChild(N);let G=Math.min(y*h*c,y);n!==l.colCount-1||1!==c||S||(G-=1);const V=S?{left:E+F-G,top:C,width:G,height:H}:{left:E+F,top:C,width:G,height:H},j=kS(v,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8",U=fh({x:V.left,y:V.top,width:V.width,height:V.height,fill:j});b.addChild(U);const K=S?z.left:V.left,$=uh({x:0,y:0,stroke:kS(_,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c}),lineWidth:1,lineDash:[2,2],points:[{x:K,y:0},{x:K,y:g}]});if(b.addChild($),A&&(c||m)){const t=M,e=[];let i;if(c>0)if(i=kS(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8","right"===B){const t=S?V.left+M/2:V.left+V.width+(P?-M/2:M/2);e.push({x:t,y:V.top}),e.push({x:t,y:V.top+V.height})}else"bottom"===B&&(e.push({x:V.left,y:V.top+V.height-M/2}),e.push({x:V.left+V.width,y:V.top+V.height-M/2}));else if(m>0)if(i=kS(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8","right"===B){const t=S?z.left+z.width-M/2:z.left+M/2;e.push({x:t,y:z.top}),e.push({x:t,y:z.top+z.height})}else"bottom"===B&&(e.push({x:z.left,y:z.top+z.height-M/2}),e.push({x:z.left+z.width,y:z.top+z.height-M/2}));const a=uh({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=D+f-H-k,y=S?W+N-g:W,C=kS(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h});if(C){const t=fh({x:y,y:m,width:c,height:H,fill:C});b.addChild(t)}const _={left:y,top:m,width:g,height:H};let P;P=e>=0?kS(v,{col:n,row:s,table:l,context:null,value:r,percentile:h,dataValue:o})||"#20a8d8":kS(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8";const E=fh({x:_.left,y:_.top,width:_.width,height:_.height,fill:P});if(b.addChild(E),A&&e){const t=M,i=[];let a;if(a=e>=0?kS(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8":kS(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8","right"===B){const t=S?_.left+M/2:_.left+_.width-M/2;i.push({x:t,y:_.top}),i.push({x:t,y:_.top+_.height})}else"bottom"===B&&(i.push({x:_.left,y:_.top+_.height-M/2}),i.push({x:_.left+_.width,y:_.top+_.height-M/2}));const c=uh({x:0,y:0,stroke:a,lineWidth:t,points:i});b.addChild(c)}}}return b}function jO(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;lt(i.expand.min)&&(t=r-(o-r)*i.expand.min),lt(i.expand.max)&&(e=o+(o-r)*i.expand.max)}let s,a;if(bt(i?.min)&&(t=i.min),bt(i?.max)&&(e=i.max),"log"===i?.type?(s=new Mx,s.base(i?.base??10)):"symlog"===i?.type?(s=new Bx,s.constant(i?.constant??10)):s=new Sx,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;st(t)&&(t=t({axisLength:o,labelStyle:i?.label?.style??{fontSize:cz}})),"accurateFirst"===i.niceType&&(t=Math.max(10,t)),at(i.min)&&at(i.max)?s.nice(t):lt(i.min)&&at(i.max)?s.niceMax(t):at(i.min)&<(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(bt(i?.tick?.tickCount)?i.tick.tickCount:5,{noDecimals:i?.tick?.noDecimals}),{range:s.domain(),ticks:a}}function UO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=nP(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 QB({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}=gP(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=rP("buttonColor",h,t,e,l),d=rP("buttonBorderColor",h,t,e,l),u=rP("buttonLineWidth",h,t,e,l),g=rP("buttonBorderRadius",h,t,e,l),p=rP("buttonHoverColor",h,t,e,l),f=rP("buttonHoverBorderColor",h,t,e,l),m=rP("buttonPadding",h,t,e,l),b=rP("buttonTextHoverColor",h,t,e,l),y=rP("buttonDisableColor",h,t,e,l),C=rP("buttonDisableBorderColor",h,t,e,l),w=rP("buttonTextDisableColor",h,t,e,l),v=l.getCellValue(t,e),x=l.getCellOriginValue(t,e),_=aP(t,e,l),S=l._getCellStyle(t,e),A=S.autoWrapText??l.internalProps.autoWrapText,{lineClamp:R}=S,T="auto"===i,M=l.isAutoRowHeight(e),{disable:B,text:P}=a,H=kS(B,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),k=kS(P,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),E=k??v??"",L={maxLineWidth:T?1/0:r-(n[1]+n[3]+_),textAlign:"left",textBaseline:"top",autoWrapText:A,lineClamp:R,wordBreak:"break-word",heightLimit:M?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:_,whiteSpace:1!==E.length||A?"normal":"no-wrap"},F=s.text?Object.assign({},s.text,L):L,I={x:0,y:0,cursor:H?"not-allowed":"pointer",disable:H,childrenPickable:!1,text:1===E.length?E[0]:E,textStyle:F,padding:m,panel:{visible:!0,fill:H?y:c,stroke:H?C:d,lineWidth:u,cornerRadius:g},state:{text:{hover:{}},panel:{hover:{fill:p,stroke:f}}}};w&&(I.state.text.fill=w),b&&(I.state.text.hover.fill=b);const z=new Ey(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 KO=()=>{RA.registerFunction("createChartCellGroup",BO),RA.registerFunction("getAxisDomainRangeAndLabels",jO)},$O=()=>{RA.registerFunction("createCheckboxCellGroup",HO)},XO=()=>{RA.registerFunction("createImageCellGroup",fP)},YO=()=>{RA.registerFunction("createProgressBarCell",VO)},qO=()=>{RA.registerFunction("createRadioCellGroup",kO)},ZO=()=>{RA.registerFunction("createSwitchCellGroup",LO)},JO=()=>{RA.registerFunction("createButtonCellGroup",UO)},QO=()=>{RA.registerFunction("createSparkLineCellGroup",zO)},tD=()=>{RA.registerFunction("createTextCellGroup",GO)},eD=()=>{RA.registerFunction("createVideoCellGroup",NO)};yO(),CO(),wO(),vO(),xO(),_O(),RA.registerComponent("listTreeStickCellPlugin",AO),MI(),SO(),KO(),$O(),XO(),YO(),qO(),ZO(),JO(),QO(),tD(),eD();tD();const iD={startInTotal:0,afterSpanLevel:0};class rD{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=aA;_largeCellRangeCache;_CellHeaderPathMap;_table;extensionRows;_rowHeaderExtensionTree={};_extensionRowDimensionKeys=[];fullRowDimensionKeys=[];dataset;pagination;currentPageStartIndex;currentPageEndIndex;hasLeftIndicatorAxis=!1;hasRightIndicatorAxis=!1;hasTopIndicatorAxis=!1;hasBottomIndicatorAxis=!1;_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),this._table.options?.customConfig?.enablePivotPathCache&&(this._useHeaderPathCache=!0,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()),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._table.isPivotChart()&&(this.hasLeftIndicatorAxis=!1,this.hasRightIndicatorAxis=!1,this.hasTopIndicatorAxis=!1,this.hasBottomIndicatorAxis=!1,this.indicatorsDefine.forEach((t=>{if(t.hasLeftIndicatorAxis=!1,t.hasRightIndicatorAxis=!1,t.hasTopIndicatorAxis=!1,t.hasBottomIndicatorAxis=!1,!t?.chartSpec)return;const e=t.chartSpec.axes??this._table.pivotChartAxes??[],i=new Set;(e??[]).forEach((t=>{t?.orient&&!1!==t.visible&&i.add(t.orient)}));const r=t.chartSpec?.series?.length>1;if(this.indicatorsAsCol){let o=i.has("top"),n=i.has("bottom");if(e.length||(n=!0),r){const t=e.some((t=>"top"===t?.orient&&!1===t.visible));if(!e.length||!t){o=!0;e.some((t=>"bottom"===t?.orient&&!1===t.visible))||(n=!0)}}t.hasTopIndicatorAxis=o,t.hasBottomIndicatorAxis=n,t.hasLeftIndicatorAxis=!1,t.hasRightIndicatorAxis=!1}else{let o=i.has("left"),n=i.has("right");if(e.length||(o=!0),r){const t=e.some((t=>"right"===t?.orient&&!1===t.visible));if(!e.length||!t){n=!0;e.some((t=>"left"===t?.orient&&!1===t.visible))||(o=!0)}}t.hasLeftIndicatorAxis=o,t.hasRightIndicatorAxis=n,t.hasTopIndicatorAxis=!1,t.hasBottomIndicatorAxis=!1}this.hasLeftIndicatorAxis||=!!t.hasLeftIndicatorAxis,this.hasRightIndicatorAxis||=!!t.hasRightIndicatorAxis,this.hasTopIndicatorAxis||=!!t.hasTopIndicatorAxis,this.hasBottomIndicatorAxis||=!!t.hasBottomIndicatorAxis}))),this.resetRowHeaderLevelCount(),this.resetColumnHeaderLevelCount(),this._generateColHeaderIds(),this.colIndex=0,this._generateRowHeaderIds(),this._rowHeaderCellFullPathIds_FULL=pS(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=(pt(e.paddingInner)?e.paddingInner[0]:e.paddingInner)??0,this._chartPaddingOuter=(pt(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&&"radio"!==t.cellType?t.cellType:"text",width:t.width,style:t.style,format:t.format,field:t.field,icon:t.icon,headerIcon:t.headerIcon,isChildNode:!1}))):this.rowSeriesNumberColumn=[{id:"",title:t.title,define:t,cellType:t.cellType??"text",headerType:t.cellType&&"radio"!==t.cellType?t.cellType:"text",style:t.style,width:t.width,format:t.format,field:"",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)}_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++){uI(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++){pI(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++){gI(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(0===o||0===n)return r;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=Bt(t.rowTree);this._rowHeaderExtensionTree[r]?(this._rowHeaderExtensionTree[r].reset(this._rowHeaderExtensionTree[r].tree.children),n=this._rowHeaderExtensionTree[r]):(n=new hI(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(lt(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(lt(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(lt(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(lt(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.hasTopIndicatorAxis)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&&"all"!==this.cornerSetting.titleOnDimension||!this.cornerSetting.forceShowHeader?this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(t=this.columnsDefine.length??0):t=1:!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.hasTopIndicatorAxis&&fz(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=1+(this.rowDimensionTree.totalLevel?1:0)+t):void(this.rowHeaderLevelCount=(this.rowDimensionTree.totalLevel?1:0)+t)}const t=this._getRowHeaderTreeExpandedMaxLevelCount();let e=t;return 0===e&&this.dataset&&!this.dataset.customRowTree?.length?"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||!this.cornerSetting.forceShowHeader?this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"row"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(e=this.rowsDefine.length??0):e=1:!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.hasLeftIndicatorAxis&&this._table.isPivotChart()&&fz(this.indicatorsDefine))&&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(){let t;return t=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)||(this._indicators?.length>0?1:0):0,t+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&&fz(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.hasRightIndicatorAxis?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=lt(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=lt(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&&t;){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,e.role=t.role,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??(t.indicatorKey?this.getIndicatorInfoByIndicatorKey(t.indicatorKey)?.title??"":t.value),e.virtual=t.virtual,e.role=t.role,r.rowHeaderPaths.push(e)}})),r}getCellRowHeaderFullPaths(t){const e=[];if("grid"===this.rowHierarchyType){for(let i=0;i<=Math.min(this.rowsDefine.length-1,t);i++){const t=this.rowsDefine[i];"string"==typeof t?e.push({dimensionKey:t}):e.push({dimensionKey:t.dimensionKey})}t>=this.rowsDefine.length&&!1===this.indicatorsAsCol&&this.indicatorsDefine.length>0&&("string"==typeof this.indicatorsDefine[0]?e.push({indicatorKey:this.indicatorsDefine[0]}):e.push({indicatorKey:this.indicatorsDefine[0].indicatorKey}))}return e}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)}_rebuildRowLayout(){if(this.rowDimensionTree.reset(this.rowDimensionTree.tree.children),this.resetRowHeaderLevelCount(),this._rowHeaderCellFullPathIds_FULL=[],this.rowDimensionKeys=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.fullRowDimensionKeys=[...this.rowDimensionKeys],"tree"===this.rowHierarchyType?this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL,0,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,!0,this.rowsDefine,this.rowHeaderObjs):"grid-tree"===this.rowHierarchyType&&(this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL,0,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))),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}this._rowHeaderCellFullPathIds_FULL=pS(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,this.generateCellIdsConsiderHideHeader(),this.setPagination(this.pagination),"grid-tree"===this.rowHierarchyType&&this.setColumnWidths()}_rebuildColumnLayout(){if(this.columnDimensionTree.reset(this.columnDimensionTree.tree.children),this.resetColumnHeaderLevelCount(),this._columnHeaderCellFullPathIds=[],this.colDimensionKeys=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr(),"grid-tree"===this.columnHierarchyType&&(this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds,0,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))),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,this.generateCellIdsConsiderHideHeader(),"grid-tree"===this.columnHierarchyType&&this.setColumnWidths()}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===v_.collapse?v_.expand:v_.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.extensionRows?.length>0&&this.extensionRows.forEach((t=>{const e=t.rows?.map((t=>"string"==typeof t?t:t.dimensionKey))||[];this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(e)})),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=pS(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 d.some((i=>i.col===t&&i.row===e))||d.push({col:t,row:e}),{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===v_.collapse?v_.expand:v_.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||!lt(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((lt(s.dimensionKey)&&e.dimensionKey===s.dimensionKey||lt(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((lt(s.dimensionKey)&&i.dimensionKey===s.dimensionKey||lt(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))),lt(e)&<(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=Bt(this.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths),r=Bt(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||this._table.options.dragOrder?.validateDragOrderOnEnd(t,e))&&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}matchDimensionPath=(t,e,i,r=!1,o=0)=>{if(o>=t.length)return;const n=t[o];for(let s=0;s<e.length;s++){const a=e[s];if(!lt(n.indicatorKey)&&a.dimensionKey===n.dimensionKey&&a.value===n.value||lt(n.indicatorKey)&&a.indicatorKey===n.indicatorKey&&(lt(a.value)&<(n.value)&&n.value===a.value||!lt(a.value)||!lt(n.value))){const e=a.children;if(o===t.length-1){if(!i)return a;{const t=r&&e&&e.some((t=>"axis"===t.dimensionKey));if(!e?.length||t)return a;const i=t=>{for(const e of t){const t=e.children,o=r&&t&&t.some((t=>"axis"===t.dimensionKey));if(!t?.length||o)return e;const n=i(t);if(n)return n}},o=i(e);if(o)return o}}if(e?.length){const n=this.matchDimensionPath(t,e,i,r,o+1);if(n)return n}else if(o===t.length-1)return a}}};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,c,d=!1,u=!1;if(e?.length>=1&&i?.length>=1&&(d=!0,u=!0),e?.length&&e.length>=this._getColumnHeaderTreeExpandedMaxLevelCount()&&(d=!0),i?.length&&i.length>=this._getRowHeaderTreeExpandedMaxLevelCount()&&(u=!0),e&&(c=this.matchDimensionPath(e,this.columnTree,d)),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 h=this.matchDimensionPath(i,this.rowTree,u,!0);if(o||!d||!u||(h||lt(s))&&c){if(h||o){s=this.columnHeaderLevelCount;const{startInTotal:t,afterSpanLevel:e}=h??iD;if(s+=t??0,"grid"===this.rowHierarchyType){const t=i.every(((t,e)=>this.rowDimensionKeys[e]===t.dimensionKey));if(t){const t=i.length-1;a=(this.rowHeaderTitle?t+1:t)+this.leftRowSeriesNumberColumnCount}else a=(this.rowHeaderTitle?e+1:e)+this.leftRowSeriesNumberColumnCount}else a=0}if(c||o){n=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;const{startInTotal:t,afterSpanLevel:e}=c??iD;n+=t??0,l=this.columnHeaderTitle?e+1:e}if(lt(n)||lt(s))return{col:n??a,row:s??l};if(i.length>0){const t=i.every(((t,e)=>this.rowDimensionKeys[e]===t.dimensionKey));if(t){const t=i.length-1;return{col:(this.rowHeaderTitle?t+1:t)+this.leftRowSeriesNumberColumnCount,row: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 yz(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))&&mz(t,e,"row",this)||(this.isFrozenRow(t,e)||this.isBottomFrozenRow(t,e))&&mz(t,e,"col",this)){const i=RA.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&&fz(this.indicatorsDefine)){if(this.isBottomFrozenRow(t,e)&&mz(t,e,"col",this)||this.isRightFrozenColumn(t,e)&&mz(t,e,"row",this))return!0;if(this.isRowHeader(t,e)&&t===this.rowHeaderLevelCount-1&&mz(t,e,"row",this))return!0;if(this.hasTopIndicatorAxis&&this.indicatorsAsCol&&e===this.columnHeaderLevelCount-1&&mz(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&&"sunburst"!==o.type&&"treemap"!==o.type&&"sankey"!==o.type&&"circlePacking"!==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,chartType:u}=nk(t,e,a,0===a?"bottom":"top",0===a?"top":"bottom",o,n,i);bt(d?.max)?l.max=d.max:"boxPlot"===u&&(l.max+=(l.max-l.min)/20),bt(d?.min)?l.min=d.min:"boxPlot"===u&&(l.min-=(l.max-l.min)/20),Cz(d,r)||r.push(Et({range:l,label:{style:{fontSize:hz}}},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:YH(h,c,l,a)},sync:{axisId:pz}}))}));let s=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);pt(s)&&(s=s[0]);const a=(i.dataset.cacheCollectedValues[s]||i.dataset.collectedValues[s]||[])[i.getRowKeysPath(t,e)??""],{axisOption:l,isPercent:h,chartType:c}=ZH(t,e,"left",i);l?.zero&&a&&!Array.isArray(a)&<(a.min)&<(a.max)&&(l?.zero||a.min===a.max)&&(a.min=Math.min(a.min,0),a.max=Math.max(a.max,0)),r.push(Et({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:hz}}},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}=nk(t,e,a,0===a?"left":"right",0===a?"right":"left",o,n,i),{chartType:u}=ZH(t,e,0===a?"left":"right",i);if(bt(d?.max)?l.max=d.max:"boxPlot"===u&&(l.max+=(l.max-l.min)/20),bt(d?.min)?l.min=d.min:"boxPlot"===u&&(l.min-=(l.max-l.min)/20),Cz(d,r))return;let g=[];if("heatmap"===u){const r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e,"yField"),o=i.dataset.collectedValues[r]??[],n=i.getRowKeysPath(t,e);g=o?.[n??""]??[]}r.push(Et({range:l,label:{style:{fontSize:hz}},domain:"linear"===d?.type?void 0:Array.from(g)},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:YH(h,c,l,a),visible:!1},sync:{axisId:pz}}))}));let s=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);pt(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}=ZH(t,e,"bottom",i);c?.zero&&h&&!Array.isArray(h)&<(h.min)&<(h.max)&&(c?.zero||h.min===h.max)&&(h.min=Math.min(h.min,0),h.max=Math.max(h.max,0)),r.push(Et({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:hz}}},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=iz(r),r.sortDataByAxis=!0,pt(r.series)&&r.series.forEach((t=>{t.sortDataByAxis=!0})),"pie"!==r.type&&"radar"!==r.type&&"gauge"!==r.type&&"wordCloud"!==r.type&&"funnel"!==r.type&&"rose"!==r.type&&"sunburst"!==r.type&&"treemap"!==r.type&&"sankey"!==r.type&&"circlePacking"!==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 bz(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&<(this.pagination?.perPageCount)&<(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(lt(i)&<(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||!lt(i.value))&&e===t.length-1)return;let a=!1;for(let t=0;t<s.length;t++){const e=s[t];if(lt(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||lt(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!lt(i.value)||!lt(e.value))){s=e.children,o=e,a=!0;break}}if(!a)for(let t=0;t<(n?.length??0);t++){const e=n[t];if(lt(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||lt(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!lt(i.value)||!lt(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,i){let r;if(!1===this.indicatorsAsCol){const o=this.getRawChartSpec(t,e);if(o&&(r="yField"===i?o.yField??o?.series?.[0]?.yField:"histogram"===o.type?o.x2Field:o.xField??o?.series?.[0]?.xField,r))return r;for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(r="yField"===i?e.yField??e?.series?.[0]?.yField:"histogram"===e.type?e.x2Field:e.xField??e?.series?.[0]?.xField,r))return r}}else{const o=this.getRawChartSpec(t,e);if(o&&(r="xField"===i?"histogram"===o.type?o.x2Field:o.xField??o?.series?.[0]?.xField:"histogram"===o.type?o.y2Field:o.yField??o?.series?.[0]?.yField,r))return r;for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(r="xField"===i?"histogram"===e.type?e.x2Field:e.xField??e?.series?.[0]?.xField:e.yField??e?.series?.[0]?.yField,r))return r}}return null}_generateChartState(){const t=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},e=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};return{vtable_selected:{filter:e=>this._table.options.chartDimensionLinkage?.selectedStateFilter?this._table.options.chartDimensionLinkage.selectedStateFilter(e):"click"===this._table._selectedDataMode&&t(e)},vtable_selected_reverse:{filter:t=>this._table.options.chartDimensionLinkage?.selectedReverseStateFilter?this._table.options.chartDimensionLinkage.selectedReverseStateFilter(t):"click"===this._table._selectedDataMode&&e(t)},inBrush:{filter:e=>this._table.options.chartDimensionLinkage?.inBrushStateFilter?this._table.options.chartDimensionLinkage.inBrushStateFilter(e):"brush"===this._table._selectedDataMode&&t(e)},outOfBrush:{filter:t=>this._table.options.chartDimensionLinkage?.outOfBrushStateFilter?this._table.options.chartDimensionLinkage.outOfBrushStateFilter(t):"brush"===this._table._selectedDataMode&&e(t)}}}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("boxPlot"===i.type)return[i.maxField];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,e){const i=this.getCellHeaderPaths(this.rowHeaderLevelCount,t).rowHeaderPaths;let r,o;e&&i[i.length-1].indicatorKey&&i.pop();for(const t in this.dataset.collectValuesBy)if("yField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){r=this.dataset.collectedValues[t]?.[i.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)o=oD(r?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;o=(r?.length??0)*(t+(e?0:t/3))}const n=wM(this._chartPadding??this._table.theme.bodyStyle.padding??0);return o+n[0]+n[2]}getOptimunWidthForChart(t,e){const i=this.getCellHeaderPaths(t,this.columnHeaderLevelCount).colHeaderPaths;let r,o;for(const t in this.dataset.collectValuesBy)if("xField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){r=this.dataset.collectedValues[t]?.[i.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)o=oD(r?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;o=(r?.length??0)*(t+(e?0:t/3))}const n=wM(this._chartPadding??this._table.theme.bodyStyle.padding??0);return o+n[1]+n[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.hasTopIndicatorAxis?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 cI(t,this.columnDimensionTree.tree.children),t}getLayoutRowTree(){const t=[];return cI(t,this.rowDimensionTree.tree.children),t}getLayoutColumnTreeCount(){return dI(this.columnDimensionTree.tree.children,"tree"===this.rowHierarchyType)}getLayoutRowTreeCount(){let t=dI(this.rowDimensionTree.tree.children,"tree"===this.rowHierarchyType);return this.extensionRows?.forEach((e=>{if("function"!=typeof e.rowTree){const i=dI(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 hI(this.columnTree??[],this.sharedVar,this.columnHierarchyType,"grid"!==this.columnHierarchyType?this.columnExpandLevel:void 0),this.rowDimensionTree=new hI(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=pS(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(lt(t)&<(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(aA),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(aA);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(aA),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(aA);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._table.options?.customConfig?.enablePivotPathCache?this._useHeaderPathCache=!0:(this._useHeaderPathCache=!0,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear())}disableUseHeaderPathCache(){this._table.options?.customConfig?.enablePivotPathCache?this._useHeaderPathCache=!0:(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)}clearHeaderPathCache(){this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()}isAggregation(t,e){if(this.isHeader(t,e))return!1;const i=this.getCellHeaderPaths(t,e);for(const t of i.colHeaderPaths)if("sub-total"===t.role||"grand-total"===t.role)return!0;for(const t of i.rowHeaderPaths)if("sub-total"===t.role||"grand-total"===t.role)return!0;return!1}expandAllForRowDimensionTree(){this.rowDimensionTree&&(this.rowDimensionTree.setAllNodesState(v_.expand),this._rebuildRowLayout())}collapseAllForRowDimensionTree(){this.rowDimensionTree&&(this.rowDimensionTree.setAllNodesState(v_.collapse),this._rebuildRowLayout())}expandAllForColumnDimensionTree(){this.columnDimensionTree&&(this.columnDimensionTree.setAllNodesState(v_.expand),this._rebuildColumnLayout())}collapseAllForColumnDimensionTree(){this.columnDimensionTree&&(this.columnDimensionTree.setAllNodesState(v_.collapse),this._rebuildColumnLayout())}}function oD(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 nD{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:lt(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 sD(t,e){let i="";for(let r=0;r<t.length;r++)i+=t[r],r!==t.length-1&&(i+=e);return i}class aD{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){A_[t]=e}registerAggregators(){this.registerAggregator(y_.RECORD,T_),this.registerAggregator(y_.SUM,H_),this.registerAggregator(y_.COUNT,k_),this.registerAggregator(y_.MAX,L_),this.registerAggregator(y_.MIN,F_),this.registerAggregator(y_.AVG,E_),this.registerAggregator(y_.NONE,M_),this.registerAggregator(y_.RECALCULATE,P_),this.registerAggregator(y_.CUSTOM,B_)}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),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(lt(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 A_[y_.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];let o=Math.max(t[e],r.max),n=Math.min(t[e],r.min);if(this.collectValuesBy[e].considerFields)for(const i of this.collectValuesBy[e].considerFields)t[i]&&("number"==typeof t[i]?(o=Math.max(t[i],o),n=Math.min(t[i],n)):Array.isArray(t[i])&&(o=Math.max(...t[i],o),n=Math.min(...t[i],n)));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!==aA){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++)lt(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!==aA){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++)lt(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=sD(s,this.stringJoinChar),h=sD(n,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 A_[y_.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 A_[r?.aggregationType??y_.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 A_[y_.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 A_[r?.aggregationType??y_.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 A_[y_.MAX]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),min:new A_[y_.MIN]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),total:new A_[t?.aggregationType??y_.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)return this.setRecords(this.records);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,l,h;if("row"===o?.position)s=t.length>=2?this.rows[t.length-2]:void 0;else{const e=t.length-1;s=e>=0&&e<this.rows.length?this.rows[e]:void 0}if("col"===o?.position)a=e.length>=2?this.columns[e.length-2]:void 0;else{const t=e.length-1;a=t>=0&&t<this.columns.length?this.columns[t]:void 0}"string"==typeof t?l=t:(o&&"row"!==o.position||t.map(((e,r)=>{e!==i||lt(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&&this.totals.row.subTotalsDimensions.find((t=>t===s))&&t.push(this.rowSubTotalLabel)),l=sD(t,this.stringJoinChar)),"string"==typeof e?h=e:(o&&"col"!==o.position||e.map(((t,r)=>{t!==i||lt(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&&this.totals.column.subTotalsDimensions.find((t=>t===a))&&e.push(this.colSubTotalLabel)),h=sD(e,this.stringJoinChar));const c=this.tree[l]?.[h]?.[n];if(r&<(this.changedTree[l]?.[h]?.[n])){const t=this.changedTree[l][h][n];return c?{value:()=>t,formatValue:c.formatValue,formatFun:c.formatFun,records:c.records,recalculate(){},push(){},deleteRecord(){},updateRecord(){},clearCacheValue(){},reset(){}}:{records:[],value:()=>t,push(){},deleteRecord(){},updateRecord(){},recalculate(){},formatValue:()=>t,clearCacheValue(){},reset(){}}}return c||{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):z_(s(r,t.query),s(o,t.query),n):t.sortFunc?t.sortFunc(s(t.query,r),s(t.query,o),r,o,n):z_(s(t.query,r),s(t.query,o),n)}:t.sortBy?O_(t.sortBy):t.sortFunc?t.sortFunc:t.sortType?I_:z_}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 A_[y_.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 A_[t?.aggregationType??y_.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 A_[y_.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 A_[t?.aggregationType??y_.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 A_[y_.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 A_[t?.aggregationType??y_.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 A_[y_.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 A_[t?.aggregationType??y_.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})):[],role:"sub-total"};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}))??[],role:"grand-total"};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]=lD(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),"string"==typeof r&&(isNaN(parseFloat(r))||(r=parseFloat(r))),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];if(1===a?.records.length&&(a.records[0][this.indicatorKeys[o]]=r),this.dataConfig?.updateAggregationOnEditCell)if(a)a.changedValue=r,this.recalculateTotals(t,e,i);else{const o=new H_({key:i,field:i,isRecord:!0});o.changedValue=r,this.recalculateTotals(t,e,i,o)}}recalculateTotals(t=[],e=[],i,r){if(!this.totals||0===Object.keys(this.tree).length||!(this.totals.row?.showGrandTotals||this.totals.row?.subTotalsDimensions&&this.totals.row.subTotalsDimensions.length>0&&!1!==this.totals.row.showSubTotals)&&!(this.totals.column?.showGrandTotals||this.totals.column?.subTotalsDimensions&&this.totals.column.subTotalsDimensions.length>0&&!1!==this.totals.column.showSubTotals))return;const o=Array.isArray(t)?t.join(this.stringJoinChar):t,n=Array.isArray(e)?e.join(this.stringJoinChar):e,s=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys.indexOf(i),a=new Set,l=new Set,h=o.split(this.stringJoinChar),c=n.split(this.stringJoinChar),d=(t,e,i)=>{!t||e===o&&i===n||(a.add(t),e!==o&&i!==n||l.add(t))};if(this.totals?.row?.subTotalsDimensions&&!1!==this.totals.row.showSubTotals)for(let t=0;t<this.totals.row.subTotalsDimensions.length;t++){const e=this.totals.row.subTotalsDimensions[t],i=this.rows.indexOf(e);if(i>=0&&i<h.length){const t=h.slice(0,i+1);"tree"!==this.rowHierarchyType&&t.push(this.rowSubTotalLabel);const e=t.join(this.stringJoinChar);if(this.tree[e]?.[n]?.[s]&&d(this.tree[e][n][s],e,n),this.totals?.column?.subTotalsDimensions&&!1!==this.totals.column.showSubTotals)for(let t=0;t<this.totals.column.subTotalsDimensions.length;t++){const i=this.totals.column.subTotalsDimensions[t],r=this.columns.indexOf(i);if(r>=0&&r<c.length){const t=c.slice(0,r+1);t.push(this.colSubTotalLabel);const i=t.join(this.stringJoinChar);this.tree[e]?.[i]?.[s]&&d(this.tree[e][i][s],e,i)}}this.totals?.column?.showGrandTotals&&this.tree[e]?.[this.colGrandTotalLabel]?.[s]&&d(this.tree[e][this.colGrandTotalLabel][s],e,this.colGrandTotalLabel)}}if(this.totals?.row?.showGrandTotals){if(this.tree[this.rowGrandTotalLabel]?.[n]?.[s]){if(d(this.tree[this.rowGrandTotalLabel][n][s],this.rowGrandTotalLabel,n),this.totals?.column?.subTotalsDimensions&&!1!==this.totals.column.showSubTotals)for(let t=0;t<this.totals.column.subTotalsDimensions.length;t++){const e=this.totals.column.subTotalsDimensions[t],i=this.columns.indexOf(e);if(i>=0&&i<c.length){const t=c.slice(0,i+1);t.push(this.colSubTotalLabel);const e=t.join(this.stringJoinChar);this.tree[this.rowGrandTotalLabel]?.[e]?.[s]&&d(this.tree[this.rowGrandTotalLabel][e][s],this.rowGrandTotalLabel,e)}}this.totals?.column?.showGrandTotals&&this.tree[this.rowGrandTotalLabel]?.[this.colGrandTotalLabel]?.[s]&&d(this.tree[this.rowGrandTotalLabel][this.colGrandTotalLabel][s],this.rowGrandTotalLabel,this.colGrandTotalLabel)}if(this.totals?.column?.subTotalsDimensions&&!1!==this.totals.column.showSubTotals)for(let t=0;t<this.totals.column.subTotalsDimensions.length;t++){const e=this.totals.column.subTotalsDimensions[t],i=this.columns.indexOf(e);if(i>=0&&i<c.length){const t=c.slice(0,i+1);t.push(this.colSubTotalLabel);const e=t.join(this.stringJoinChar);this.tree[o]?.[e]?.[s]&&d(this.tree[o][e][s],o,e)}}this.totals?.column?.showGrandTotals&&this.tree[o]?.[this.colGrandTotalLabel]?.[s]&&d(this.tree[o][this.colGrandTotalLabel][s],o,this.colGrandTotalLabel),a.forEach((t=>{r&&l.has(t)&&t.push(r),t.recalculate()}))}}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:lt(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??0);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??0);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=>lt(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 lD(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 hD extends OI{layoutNodeId={seqId:0};pivotSortState;dataset;flatDataToObjects;constructor(t,e){if(super(t,e),e=this.options){e.rowHierarchyType||(e.rowHierarchyType="grid"),e.columnHierarchyType||(e.columnHierarchyType="grid"),e.layout&&Object.assign(e,e.layout),this.internalProps.columns=Bt(e.columns),this.internalProps.rows=Bt(e.rows),this.internalProps.indicators=iz(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?Bt(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Bt(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=Bt(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 hI(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0),i=new hI(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0);this.internalProps.layoutMap=new rD(this,null,e,i),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new nD({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=bI(this,e),{rowKeys:i,columnKeys:r,indicatorKeys:o}=t;let{columnDimensionTree:n,rowDimensionTree:s}=t;this.dataset=new aD(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&&(CI(n.tree.children,e.indicators,!0,this),n.reset(n.tree.children)):(!1!==e.indicatorsAsCol&&(this.dataset.colHeaderTree=yI(this.dataset.colHeaderTree,e.indicators)),!1!==e.indicatorsAsCol&&e.indicators&&this.dataset.colHeaderTree&&CI(this.dataset.colHeaderTree,e.indicators,!1,this),n=new hI(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),e.rowTree?s.hasHideNode&&(CI(s.tree.children,e.indicators,!0,this),s.reset(s.tree.children)):(!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=yI(this.dataset.rowHeaderTree,e.indicators)),!1===e.indicatorsAsCol&&this.dataset.rowHeaderTree&&e.indicators&&CI(this.dataset.rowHeaderTree,e.indicators,!1,this),s=new hI(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),this.internalProps.layoutMap=new rD(this,this.dataset,n,s)}if(this._changePivotSortStateBySortRules(),(e.pivotSortState?.length??0)>0&&(this.pivotSortState=[],this.pivotSortState=e.pivotSortState),"node"!==oS.mode&&(this.editorManager=new vz(this)),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.stateManager.initCheckedState(t),this.scenegraph.createSceneGraph(),e.title){const t=RA.getComponent("title");this.internalProps.title=new t(e.title,this)}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.isReleased||(this.resize(),this.fireListeners(jS.INITIALIZED,null))}),0)}}static get EVENT_TYPE(){return WL}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,e={clearColWidthCache:!0,clearRowHeightCache:!0}){const i=this.internalProps;if(super.updateOption(t,e),t.rowHierarchyType||(t.rowHierarchyType="grid"),t.columnHierarchyType||(t.columnHierarchyType="grid"),this.layoutNodeId={seqId:0},this.internalProps.columns=Bt(t.columns),this.internalProps.rows=Bt(t.rows),this.internalProps.indicators=t.indicators?.length?iz(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?Bt(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Bt(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,i.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",i.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",i.dataConfig=Bt(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 r=this.internalProps.records;if(this.internalProps.recordsIsTwoDimensionalArray=!1,r?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0),!1===t.customConfig?.enableDataAnalysis){let e,o;t.columnTree&&(e=new hI(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree&&(o=new hI(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),i.layoutMap.clearHeaderPathCache(),i.layoutMap=new rD(this,null,e,o),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new nD({rows:i.layoutMap.fullRowDimensionKeys,columns:i.layoutMap.colDimensionKeys,indicators:i.layoutMap.indicatorKeys,indicatorsAsCol:i.layoutMap.indicatorsAsCol,indicatorDimensionKey:i.layoutMap.indicatorDimensionKey},r))}else{const e=bI(this,t),{rowKeys:o,columnKeys:n,indicatorKeys:s}=e;let{columnDimensionTree:a,rowDimensionTree:l}=e;this.dataset=new aD(i.dataConfig,o,n,s,this.internalProps.indicators,t.indicatorsAsCol??!0,r,t.rowHierarchyType,t.columnHierarchyType,this.internalProps.columnTree,this.internalProps.rowTree,!1,!!t.extensionRows,!!t.parseCustomTreeToMatchRecords),t.columnTree?a.hasHideNode&&(CI(a.tree.children,t.indicators,!0,this),a.reset(a.tree.children)):(!1!==t.indicatorsAsCol&&(this.dataset.colHeaderTree=yI(this.dataset.colHeaderTree,t.indicators)),!1!==t.indicatorsAsCol&&t.indicators&&this.dataset.colHeaderTree&&CI(this.dataset.colHeaderTree,t.indicators,!1,this),a=new hI(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree?l.hasHideNode&&(CI(l.tree.children,t.indicators,!0,this),l.reset(l.tree.children)):(!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=yI(this.dataset.rowHeaderTree,t.indicators)),!1===t.indicatorsAsCol&&this.dataset.rowHeaderTree&&t.indicators&&CI(this.dataset.rowHeaderTree,t.indicators,!1,this),l=new hI(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),i.layoutMap=new rD(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,i.releaseList&&(i.releaseList.forEach((t=>t?.release?.())),i.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=RA.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=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return setTimeout((()=>{this.fireListeners(jS.UPDATED,null)}),0),new Promise((t=>{setTimeout(t,0)}))}updatePagination(t){this.internalProps.layoutMap.clearHeaderPathCache(),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??(e.rowHeaderLevelCount??0)+e.leftRowSeriesNumberColumnCount,t._setFrozenRowCount(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(),bt(e)&&bt(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:C_[o]})}}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:C_[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:C_[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:C_[i],sortByIndicator:o,query:r.reduce(((t,e)=>(e.dimensionKey&&t.push(e.value),t)),[])}]:[{sortField:n.dimensionKey,sortType:C_[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&&IS(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){this.internalProps.layoutMap.clearHeaderPathCache();const r=this.getHierarchyState(t,e);if(r===v_.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(WL.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.collapse});else if(r===v_.collapse){const r=this.internalProps.layoutMap.getHeadNode(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(WL.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.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){fk();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 nD({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&&CI(this.dataset.colHeaderTree,i.indicators,!1,this),e=new hI(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&&CI(this.dataset.rowHeaderTree,i.indicators,!1,this),o=new hI(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),r.layoutMap=new rD(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=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}}startEditCell(t,e,i){if(lt(t)&<(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;lt(t)&<(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){const i=this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`];if(i)return i;let r;if(Object.values(this.editorManager.cacheLastSelectedCellEditor).forEach((t=>t?.onEnd?.())),this.editorManager.cacheLastSelectedCellEditor={},this.isCornerHeader(t,e)){const i=this.getHeaderDefine(t,e);r=i?.headerEditor??this.options.headerEditor}else if(this.isHeader(t,e)){const i=this.getHeaderDefine(t,e);r=i?.headerEditor??this.options.headerEditor}else{const i=this.getBodyColumnDefine(t,e);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"string"==typeof r&&(r=VI(r)),r&&(this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`]=r),r}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 lt(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&&vS(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(this.options.dataConfig?.updateAggregationOnEditCell)for(let t=0;t<this.colCount;t++)for(let e=0;e<this.rowCount;e++)this.internalProps.layoutMap.isAggregation(t,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=Qk(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(e)&&!this.internalProps._heightResizedRowMap.has(e)){const t=this.getRowHeight(e),i=YP(e,0,this.colCount-1,this);this.scenegraph.updateRowHeight(e,i-t)}o!==r&&this.fireListeners(jS.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&&vS(r)&&(o=parseFloat(r)),this._changeCellValueToDataSet(t+i,e+l,n,o);const d=this.getCellOriginValue(t+i,e+l);d!==n&&this.fireListeners(jS.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(this.options.dataConfig?.updateAggregationOnEditCell)for(let t=0;t<this.colCount;t++)for(let e=0;e<this.rowCount;e++)this.internalProps.layoutMap.isAggregation(t,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=Qk(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(e)){const t=[],i=[];for(let r=e;r<=h.end.row;r++)if(this.rowHeightsMap.get(r)){const e=this.getRowHeight(r),o=YP(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,e=!1){this.internalProps.dataConfig.filterRules=t,e?(this.dataset.updateFilterRules(t,!0),this.internalProps.layoutMap.resetHeaderTree()):this.dataset.updateFilterRules(t),this.renderWithRecreateCells()}getFilteredRecords(){return this.dataset?.filteredRecords}getCellPivotRole(t,e){const i=this.getCellHeaderPaths(t,e),{cellLocation:r,colHeaderPaths:o,rowHeaderPaths:n}=i;let s=o.length?"normal":void 0,a=n.length?"normal":void 0;return o.forEach((t=>{"sub-total"===t.role?s="sub-total":"grand-total"===t.role&&(s="grand-total")})),n.forEach((t=>{"sub-total"===t.role?a="sub-total":"grand-total"===t.role&&(a="grand-total")})),{colRole:s,rowRole:a,cellLocation:r}}getCellRowHeaderFullPaths(t){return this.internalProps.layoutMap.getCellRowHeaderFullPaths(t)}setLoadingHierarchyState(t,e){this.scenegraph.setLoadingHierarchyState(t,e)}expandAllForRowTree(){"tree"!==this.rowHierarchyType&&"grid-tree"!==this.rowHierarchyType||this.internalProps.layoutMap.rowDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.expandAllForRowDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(WL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.expand,changeAll:!0}))}collapseAllForRowTree(){"tree"!==this.rowHierarchyType&&"grid-tree"!==this.rowHierarchyType||this.internalProps.layoutMap.rowDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.collapseAllForRowDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(WL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.collapse,changeAll:!0}))}expandAllForColumnTree(){"grid-tree"===this.columnHierarchyType&&this.internalProps.layoutMap.columnDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.expandAllForColumnDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(WL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.expand,changeAll:!0}))}collapseAllForColumnTree(){"grid-tree"===this.columnHierarchyType&&this.internalProps.layoutMap.columnDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.collapseAllForColumnDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(WL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.collapse,changeAll:!0}))}release(){this.internalProps.layoutMap.clearHeaderPathCache(),this.editorManager?.release(),super.release()}}yO(),CO(),wO(),vO(),xO(),_O(),MI(),SO(),$O(),XO(),YO(),qO(),QO(),tD(),eD();tD();yO(),CO(),wO(),vO(),xO(),_O(),SO(),KO(),$O(),XO(),YO(),qO(),QO(),tD(),eD();class cD extends hl{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=pt(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 dD=Object.freeze({__proto__:null,Arc:class extends Eh{constructor(t){const e=pt(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:h_,Circle:class extends Jl{constructor(t){const e=pt(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:cD,Group:class extends hl{constructor(t){const e=pt(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 cD{constructor(t){t.flexWrap="nowrap",super(t)}},Icon:class extends wh{svg;iconName;cache;constructor(t){let e;if(gt(t.iconName)){e=FB()[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=pt(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 wh{constructor(t){t.src&&(t.image=t.src),"circle"===t.shape&&(t.cornerRadius=t.width/2);const e=pt(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:dh,Radio:c_,Rect:class extends ph{constructor(t){const e=pt(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 Ey{constructor(t){const e=pt(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 ih{constructor(t){t.textBaseline||(t.textBaseline="top");const e=pt(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 uD(t){const e={seqId:0},i={isPivotChart:!0};let r,o,n,s;t.columnTree&&(!1!==t.indicatorsAsCol&&(n=yI(t.columnTree,t.indicators)),r=new hI(t.columnTree??[],e)),t.rowTree&&(!1===t.indicatorsAsCol&&(s=yI(t.rowTree,t.indicators)),o=new hI(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:y_.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:y_.RECORD})}else{const r=!1===t.indicatorsAsCol?i.chartSpec.yField:i.chartSpec.xField;e.push({indicatorKey:i.indicatorKey,field:r??i.indicatorKey,aggregationType:y_.RECORD})}})),e}(t);return{dataset:new aD(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 gD(t,e,i,r,o,n){if(pt(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}p_();t.CUSTOM_CONTAINER_NAME=UB,t.CUSTOM_MERGE_PRE_NAME=jB,t.CustomLayout=dD,t.DataStatistics=XI,t.EventTarget=G_,t.Icon=IB,t.ListTable=class extends Mz{},t.ListTableSimple=class extends Mz{},t.PIVOT_CHART_EVENT_TYPE=NL,t.PIVOT_TABLE_EVENT_TYPE=WL,t.PivotChart=class extends OI{layoutNodeId={seqId:0};pivotSortState;dataset;_selectedDataItemsInChart=[];_selectedDataMode="click";_selectedDimensionInChart=[];_chartEventMap={};_axes;constructor(t,e){let i,r;super(t,e),(e=this.options).layout&&Object.assign(e,e.layout),this.internalProps.columns=Bt(e.columns),this.internalProps.rows=Bt(e.rows),this.internalProps.indicators=iz(e.indicators),this.internalProps.columnTree=!e.indicatorsAsCol||e.columns?.length||e.columnTree?Bt(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Bt(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.internalProps.columnWidthConfig=e.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=e.columnWidthConfigForRowHeader,this._axes=pt(e.axes)?e.axes:[],e.columnTree&&(!1!==e.indicatorsAsCol&&(this.internalProps.columnTree=yI(this.internalProps.columnTree,e.indicators)),i=new hI(this.internalProps.columnTree??[],this.layoutNodeId)),e.rowTree&&(!1===e.indicatorsAsCol&&(this.internalProps.rowTree=yI(this.internalProps.rowTree,e.indicators)),r=new hI(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 aD(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&&fz(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=yI(this.dataset.colHeaderTree,e.indicators)),e.rowTree||!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=yI(this.dataset.rowHeaderTree,e.indicators)),i=new hI(this.dataset.colHeaderTree??[],this.layoutNodeId),r=new hI(this.dataset.rowHeaderTree??[],this.layoutNodeId),this.internalProps.layoutMap=new rD(this,this.dataset,i,r),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.createSceneGraph(),e.title){const t=RA.getComponent("title");this.internalProps.title=new t(e.title,this)}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.isReleased||(this.resize(),this.fireListeners(jS.INITIALIZED,null))}),0)}static get EVENT_TYPE(){return NL}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,e={clearColWidthCache:!0,clearRowHeightCache:!0}){const i=this.internalProps;let r,o;super.updateOption(t,e),this.scenegraph.updateChartState(null,void 0),this.scenegraph.deactivateChart(-1,-1,!0),this.layoutNodeId={seqId:0},this.internalProps.columns=Bt(t.columns),this.internalProps.rows=Bt(t.rows),this.internalProps.indicators=t.indicators?.length?iz(t.indicators):[],this.internalProps.columnTree=!t.indicatorsAsCol||t.columns?.length||t.columnTree?Bt(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Bt(t.rowTree):[],t.records&&(this.internalProps.records=t.records),this.setCustomStateNameToSpec(),this._selectedDataItemsInChart=[],i.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",i.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",i.dataConfig={isPivotChart:!0},this.internalProps.columnWidthConfig=t.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=t.columnWidthConfigForRowHeader,this._axes=pt(t.axes)?t.axes:[],t.columnTree&&(!1!==t.indicatorsAsCol&&(this.internalProps.columnTree=yI(this.internalProps.columnTree,t.indicators)),r=new hI(this.internalProps.columnTree??[],this.layoutNodeId)),t.rowTree&&(!1===t.indicatorsAsCol&&(this.internalProps.rowTree=yI(this.internalProps.rowTree,t.indicators)),o=new hI(this.internalProps.rowTree??[],this.layoutNodeId));const n=o?.dimensionKeys?.count?o.dimensionKeys.valueArr():t.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():t.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],a=t.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];if(this.internalProps.dataConfig.collectValuesBy=this._generateCollectValuesConfig(s,n),this.internalProps.dataConfig.aggregationRules=this._generateAggregationRules(),this.internalProps.dataConfig.dimensionSortArray=this._getDimensionSortArray(),this.dataset=new aD(this.internalProps.dataConfig,n,s,a,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&&fz(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=yI(this.dataset.colHeaderTree,t.indicators)),t.rowTree||!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=yI(this.dataset.rowHeaderTree,t.indicators)),r=new hI(this.dataset.colHeaderTree??[],this.layoutNodeId),o=new hI(this.dataset.rowHeaderTree??[],this.layoutNodeId),i.layoutMap=new rD(this,this.dataset,r,o),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,i.releaseList&&(i.releaseList.forEach((t=>t?.release?.())),i.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=RA.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=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return setTimeout((()=>{this.fireListeners(jS.UPDATED,null)}),0),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._setFrozenRowCount(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(IS(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!==aA)),e=e.filter((t=>t!==aA));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||"funnel"===i[o].chartSpec?.type||"radar"===i[o].chartSpec?.type||"gauge"===i[o].chartSpec?.type||"wordCloud"===i[o].chartSpec?.type||"sunburst"===i[o].chartSpec?.type||"treemap"===i[o].chartSpec?.type||"sankey"===i[o].chartSpec?.type||"circlePacking"===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),"heatmap"!==s?.type&&(r[n.indicatorKey]={by:e,range:!0,sumBy:"histogram"===s.type?t.concat(s?.xField,s?.x2Field):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:ik(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:ik(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:nB(s.markLine)}}));else{const i="histogram"===s.type?s.x2Field:"string"==typeof s.xField?s.xField:s.xField[0];r[i]={by:t,type:"horizontal"!==s.direction?"xField":void 0,range:ik(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??s.maxField;r[o]={by:e,type:"horizontal"!==s.direction?"yField":void 0,range:ik(s,this._axes,"horizontal"===s.direction,!1),sumBy:"histogram"===s.type?t.concat(s?.xField,s?.x2Field):s.stack&&t.concat(s?.xField),sortBy:"horizontal"===s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:nB(s.markLine),considerFields:"boxPlot"===s?.type?[s.maxField,s.minField,s.outliersField]:void 0}}else{const n=i[o];if(!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0),"heatmap"!==s?.type&&(r[n.indicatorKey]={by:t,range:!0,sumBy:"histogram"===s.type?e.concat(s?.yField,s?.y2Field):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:ik(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:ik(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:nB(s.markLine)}}));else{const i="histogram"===s.type?s.y2Field:"string"==typeof s.yField?s.yField:s.yField[0];r[i]={by:e,type:"horizontal"===s.direction?"yField":void 0,range:ik(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??s.maxField;r[o]={by:t,type:"horizontal"===s.direction?"xField":void 0,range:ik(s,this._axes,"horizontal"===s.direction,!0),sumBy:"histogram"===s.type?e.concat(s?.yField,s?.y2Field):s.stack&&e.concat(s?.yField),sortBy:"horizontal"!==s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:nB(s.markLine),considerFields:"boxPlot"===s?.type?[s.maxField,s.minField,s.outliersField]:void 0}}}}return r}_generateAggregationRules(){const t=[];return this.internalProps.indicators?.forEach((e=>{if("string"==typeof e)t.push({indicatorKey:e,field:e,aggregationType:y_.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:y_.RECORD})}else{const i=!1===this.options.indicatorsAsCol?e.chartSpec.yField:e.chartSpec.xField;t.push({indicatorKey:e.indicatorKey,field:i??e.indicatorKey,aggregationType:y_.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._throttledUpdateFilterRules(t)}_throttleTimer=null;_latestFilterRules=null;_throttledUpdateFilterRules(t){this._latestFilterRules=t,null===this._throttleTimer&&(this._executeFilterUpdate(t),this._throttleTimer=window.setTimeout((()=>{this._latestFilterRules!==t&&this._executeFilterUpdate(this._latestFilterRules),this._throttleTimer=null}),200))}_executeFilterUpdate(t){this.internalProps.dataConfig.filterRules=t,this.dataset.updateFilterRules(t),fL(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)}}))}))}bL(t.rowHeaderGroup,t.table),bL(t.colHeaderGroup,t.table),bL(t.rightFrozenGroup,t.table),bL(t.bottomFrozenGroup,t.table)}(this.scenegraph),this.render()}clearChartCacheImage(t,e){bt(t)&&bt(e)?mL(t,e,this.scenegraph):fL(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||"number"==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||"number"==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];Ck(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&&pt(e.domain))return e.domain}}setRecords(t){this.internalProps.layoutMap.release(),fk(),this.scenegraph.updateChartState(null,void 0),this.scenegraph.deactivateChart(-1,-1,!0);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 hI(this.dataset.colHeaderTree??[],this.layoutNodeId),n=i.rowTree?r.layoutMap.rowDimensionTree:new hI(this.dataset.rowHeaderTree??[],this.layoutNodeId),r.layoutMap=new rD(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)}disableTooltipToAllChartInstances(){!function(){NH=!0,WH();for(const t in PH)for(const e in PH[t])PH[t][e].disableTooltip(!0),PH[t][e].hideTooltip();for(const t in HH)for(const e in HH[t])HH[t][e].disableTooltip(!0),HH[t][e].hideTooltip()}()}enableTooltipToAllChartInstances(){!function(){NH=!1;for(const t in PH)for(const e in PH[t])PH[t][e].disableTooltip(!1);for(const t in HH)for(const e in HH[t])HH[t][e].disableTooltip(!1)}()}},t.PivotTable=class extends hD{},t.PivotTableSimple=class extends hD{},t.TABLE_EVENT_TYPE=jS,t.TYPES=D_,t.VArc=function(t){return Wh.arc(t?t.attribute:{})},t.VArea=function(t){return Wh.area(t?t.attribute:{})},t.VCheckBox=function(t){return new h_(t?t.attribute:{})},t.VCircle=function(t){return Wh.circle(t?t.attribute:{})},t.VGlyph=function(t){return Wh.glyph(t?t.attribute:{})},t.VGroup=function(t){return Wh.group(t?t.attribute:{})},t.VImage=function(t){return Wh.image(t?t.attribute:{})},t.VLine=function(t){return Wh.line(t?t.attribute:{})},t.VPath=function(t){return Wh.path(t?t.attribute:{})},t.VPolygon=function(t){return Wh.polygon(t?t.attribute:{})},t.VRadio=function(t){return new c_(t?t.attribute:{})},t.VRect=function(t){return Wh.rect(t?t.attribute:{})},t.VSymbol=function(t){return Wh.symbol(t?t.attribute:{})},t.VTag=function(t){return new Ey(t?t.attribute:{})},t.VText=function(t){return Wh.text(t?t.attribute:{})},t.clearGlobal=function(){KI()},t.core=DI,t.data=hM,t.getDataCellPath=function(t,e,i){const r=uD(t);let o=r.columnDimensionTree,n=r.rowDimensionTree,s=!1,a=!1;t.columnTree&&t.indicatorsAsCol&&!o.dimensionKeys.contain(aA)&&(s=!0),t.rowTree&&(t.indicatorsAsCol||n.dimensionKeys.contain(aA)||(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 hI(l.colHeaderTree??[],h)),t.rowTree&&!a||(n=new hI(l.rowHeaderTree??[],h));const d=new rD(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=gD(a.value?a.value():void 0,e,t,r,d,i);if(h)return h}},t.getIcons=function(){return FB()},t.getTargetCell=NB,t.graphicUtil=Yu,t.jsx=function(t,e,...i){const r=e||{},{key:o,name:n,id:s,attribute:a,stateProxy:l,animation:h,timeline:c}=r,d=bp(r,["key","name","id","attribute","stateProxy","animation","timeline"]);let u=t;gt(t)&&(u=Wh[t]);const g=[];i.length&&yp(1===i.length?i[0]:i,g);const p="Group"===u.name?new u(a):u(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=mp[e];r&&t.on(r,i[e])}))):"richtext"===t.type&&(t.attribute.textConfig=e.map((t=>t.attribute)).filter((t=>t)))}(p,g,d),l&&(p.stateProxy=l),n&&(p.name=n),pt(h)){const t=p.animate();c&&t.setTimeline(c),h.forEach((e=>{t[e[0]](...e.slice(1))}))}return p},t.pluginsDefinition=YI,t.register=$I,t.registerAnimation=SO,t.registerAxis=yO,t.registerButtonCell=JO,t.registerChartCell=KO,t.registerCheckboxCell=$O,t.registerEmptyTip=CO,t.registerImageCell=XO,t.registerLegend=wO,t.registerMenu=vO,t.registerProgressBarCell=YO,t.registerRadioCell=qO,t.registerSparkLineCell=QO,t.registerSwitchCell=ZO,t.registerTextCell=tD,t.registerTitle=xO,t.registerTooltip=_O,t.registerVideoCell=eD,t.renderChart=mk,t.restoreMeasureText=function(){OP="canvas",D.load(WP)},t.setCustomAlphabetCharSet=function(t){zP=t,NP.clear()},t.textMeasure=jP,t.themes=SA,t.toBoxArray=FS,t.updateCell=RP,t.version="1.22.11-alpha.10"}));
|
|
15
|
+
***************************************************************************** */function vH(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}function xH(t,e){let i,r;if("cell"===t.role&<(t.mergeStartCol)&<(t.mergeStartRow)&<(t.mergeEndCol)&<(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=eH(t,e.scenegraph);for(let a=r;a<=o;a++)for(let r=n;r<=s;r++){const o=_H(e.stateManager,a,r,t);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=_H(e.stateManager,t.col,t.row,t));if(!i)return;const o=e.internalProps.layoutMap;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);return rP(i,r,t.col,t.row,e)}function _H(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===m_.single&&s.col===e&&s.row===i?h="cellBgColor":o===m_.column&&s.col===e?h=s.col===e&&s.row===i?"cellBgColor":"inlineColumnBgColor":o===m_.row&&s.row===i?h=s.col===e&&s.row===i?"cellBgColor":"inlineRowBgColor":o===m_.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}let SH,AH={col:-1,row:-1};function RH(t,e,i){SH=t,AH={col:e,row:i}}function TH(t){KH();const e=t.getCell(AH.col,AH.row);e?.firstChild?.deactivate&&e?.firstChild?.deactivate?.(t.table,{forceRelease:!0,releaseChartInstance:!0,releaseColumnChartInstance:!1,releaseRowChartInstance:!1,releaseAllChartInstance:!1}),lt(PH[AH.col])&&delete PH[AH.col][AH.row],lt(HH[AH.row])&&delete HH[AH.row][AH.col],SH=void 0,AH={col:-1,row:-1}}function MH(){return SH}function BH(){return AH}const PH={},HH={},kH=[],EH=[],LH=[];function FH(t,e,i,r,o,n=!1,s=!1){!function(){for(const t of kH)clearTimeout(t);kH.length=0}(),lt(PH[t])||(PH[t]={});const{rowStart:a}=o.getBodyVisibleRowRange();let l=o.getBodyVisibleRowRange().rowEnd;l=Math.min(o.rowCount-1-o.bottomFrozenRowCount,l);for(let h=a;h<=l;h++){const a=o.scenegraph.getCell(t,h),l=a?.getChildren()?.[0];PH[t][h]||lt(l)&&(l.addUpdateShapeAndBoundsTag(),l.activeChartInstance||l.activate(o),PH[t][h]=l.activeChartInstance);const c=setTimeout((()=>{if(PH[t]?.[h]){const a=o.options.chartDimensionLinkage;let l=!s;if(s||"object"!=typeof a||(l=a.showTooltip??!0,l=l&&OH(h,o)),s)o.stateManager.hover.cellPos.col===t&&o.stateManager.hover.cellPos.row===h||PH[t][h].showCrosshair?.((t=>"left"===t.layoutOrient?i:e));else{const i=o.getCellRelativeRect(t,h),s=o.frozenRowCount?o.getCellRelativeRect(t,o.frozenRowCount-1).bottom:0,a=Math.max(s,o.getCellRelativeRect(t,h).top);n?(o.stateManager.hover.cellPos.col===t&&o.stateManager.hover.cellPos.row===h||PH[t][h].hideTooltip(),PH[t][h].setDimensionIndex(e,{tooltip:!1,showTooltipOption:{x:r.x-i.left,y:a-i.top,activeType:"dimension"}})):PH[t][h].setDimensionIndex(e,{tooltip:l,showTooltipOption:{x:r.x-i.left,y:a-i.top,activeType:"dimension"}})}}}),0);kH.push(c),o.scenegraph.updateNextFrame()}}function IH(t,e,i,r,o,n=!1,s=!1){!function(){for(const t of EH)clearTimeout(t);EH.length=0}(),lt(HH[t])||(HH[t]={});const{colStart:a}=o.getBodyVisibleColRange();let l=o.getBodyVisibleColRange().colEnd;l=Math.min(o.colCount-1-o.rightFrozenColCount,l);for(let h=a;h<=l;h++){const a=o.scenegraph.getCell(h,t),l=a?.getChildren()?.[0];HH[t][h]||lt(l)&&(l.addUpdateShapeAndBoundsTag(),l.activeChartInstance||l.activate(o),HH[t][h]=l.activeChartInstance);const c=setTimeout((()=>{if(HH[t]?.[h]){const a=o.options.chartDimensionLinkage;let l=!s;if(s||"object"!=typeof a||(l=a.showTooltip??!0,l=l&&DH(h,o)),s)o.stateManager.hover.cellPos.col===h&&o.stateManager.hover.cellPos.row===t||HH[t][h].showCrosshair?.((t=>"left"===t.layoutOrient?i:e));else{const i=o.getCellRelativeRect(h,t),s=o.frozenColCount?o.getCellRelativeRect(o.frozenColCount-1,t).right:0,a=Math.max(s,o.getCellRelativeRect(h,t).left);n?(o.stateManager.hover.cellPos.col===h&&o.stateManager.hover.cellPos.row===t||HH[t][h].hideTooltip(),HH[t][h].setDimensionIndex(e,{tooltip:!1,showTooltipOption:{x:a-i.left,y:r.y-i.top,activeType:"dimension"}})):HH[t][h].setDimensionIndex(e,{tooltip:l,showTooltipOption:{x:a-i.left,y:r.y-i.top,activeType:"dimension"}})}}}),0);EH.push(c),o.scenegraph.updateNextFrame()}}function zH(t,e,i=!1){!function(){for(const t of LH)clearTimeout(t);LH.length=0}();const{rowStart:r}=e.getBodyVisibleRowRange();let o=e.getBodyVisibleRowRange().rowEnd;o=Math.min(e.rowCount-1-e.bottomFrozenRowCount,o);const{colStart:n}=e.getBodyVisibleColRange();let s=e.getBodyVisibleColRange().colEnd;s=Math.min(e.colCount-1-e.rightFrozenColCount,s);for(let a=n;a<=s;a++){lt(PH[a])||(PH[a]={});for(let n=r;n<=o;n++){const r=e.scenegraph.getCell(a,n),o=r?.getChildren()?.[0];PH[a][n]||lt(o)&&(o.addUpdateShapeAndBoundsTag(),o.activeChartInstance?PH[a][n]=o.activeChartInstance:"pie"===o.attribute.spec.type&&(o.activate(e),PH[a][n]=o.activeChartInstance));const s=setTimeout((()=>{if(PH[a]?.[n]){const r=e.options.chartDimensionLinkage;let o=!0;"object"==typeof r&&(i?(PH[a][n].setHovered(),PH[a][n].hideTooltip()):(o=r.showTooltip??!0,o=o&&OH(n,e),o=o&&DH(a,e),PH[a][n].setHovered(t),o&&PH[a][n].showTooltip(t,{activeType:"mark"})))}}),0);LH.push(s),e.scenegraph.updateNextFrame()}}}function OH(t,e){let i=!0;const{rowStart:r}=e.getBodyVisibleRowRange();let o=e.getBodyVisibleRowRange().rowEnd;o=Math.min(e.rowCount-1-e.bottomFrozenRowCount,o);const n=e.options.chartDimensionLinkage;if(t===o&&i){const t=n.heightLimitToShowTooltipForEdgeRow??0,{rowEnd:r}=e.getBodyVisibleRowRange(0,-t);if(r===o)i=!0;else{const{rowEnd:t}=e.getBodyVisibleRowRange(0,5);i=t!==o}}else if(t===r&&i){const t=n.heightLimitToShowTooltipForEdgeRow??0,{rowStart:o}=e.getBodyVisibleRowRange(t,0);if(o===r)i=!0;else{const{rowStart:t}=e.getBodyVisibleRowRange(0,-5);i=t!==r}}return i}function DH(t,e){let i=!0;const{colStart:r}=e.getBodyVisibleColRange();let o=e.getBodyVisibleColRange().colEnd;o=Math.min(e.colCount-1-e.rightFrozenColCount,o);const n=e.options.chartDimensionLinkage;if(t===o&&i){const t=n.widthLimitToShowTooltipForEdgeColumn,{colEnd:r}=e.getBodyVisibleColRange(0,-t);if(r===o)i=!0;else{const{colEnd:t}=e.getBodyVisibleColRange(0,5);i=t!==o}}else if(t===r&&i){const t=n.widthLimitToShowTooltipForEdgeColumn,{colStart:o}=e.getBodyVisibleColRange(t,0);if(o===r)i=!0;else{const{colStart:t}=e.getBodyVisibleColRange(0,-5);i=t!==r}}return i}function WH(t,e,i,r=!1){if(lt(PH[t])){for(const o in PH[t]){if(lt(e)&&Number(o)===e)continue;const n=i.scenegraph.getCell(t,Number(o)),s=n?.getChildren()?.[0];lt(s)&&(s.addUpdateShapeAndBoundsTag(),s.deactivate(i,{forceRelease:r,releaseChartInstance:!0,releaseColumnChartInstance:!1,releaseRowChartInstance:!1}),PH[t][o]=null)}delete PH[t]}}function NH(t,e,i,r=!1){if(lt(HH[t]))for(const o in HH[t]){if(lt(e)&&Number(o)===e)continue;const n=i.scenegraph.getCell(Number(o),t),s=n?.getChildren()?.[0];lt(s)&&(s.addUpdateShapeAndBoundsTag(),s.deactivate(i,{forceRelease:r,releaseChartInstance:!0,releaseColumnChartInstance:!1,releaseRowChartInstance:!1}),HH[t][o]=null)}delete HH[t]}function GH(){for(const t of kH)clearTimeout(t);kH.length=0;for(const t of EH)clearTimeout(t);EH.length=0;for(const t of LH)clearTimeout(t);LH.length=0}function VH(t,e=!1){GH();for(const i in PH)WH(Number(i),void 0,t,e);for(const i in HH)NH(Number(i),void 0,t,e)}let jH=!1;function UH(){return jH}function KH(){jH=!1;for(const t in PH)for(const e in PH[t])PH[t][e].disableTooltip(!1);for(const t in HH)for(const e in HH[t])HH[t][e].disableTooltip(!1)}function $H(t){return 2===t.length&&yt(t[0])&&yt(t[1])&&t[1]>=t[0]}function XH(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 YH(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 qH(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 ZH(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 JH(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 QH(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 tk(t,e,i){if(i._table.isPivotChart())if(i.indicatorsAsCol){if(i.hasTopIndicatorAxis&&e===i.columnHeaderLevelCount-1&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){const r=i.getIndicatorKey(t,e),o=i.getIndicatorInfo(r);if(!o?.hasTopIndicatorAxis)return;const n=ak("top",t,e+1,t,i.columnHeaderLevelCount-1,t,e,1,i);if(!n)return;const s=wM(rP("padding",i._table._getCellStyle(t,e+1),t,e+1,i._table)),{range:a,ticks:l,axisOption:h,targetTicks:c,targetRange:d,index:u,theme:g}=n;return bt(h?.min)&&(a.min=h.min,a.min>0&&(h.zero=!1)),bt(h?.max)&&(a.max=h.max,a.max<0&&(h.zero=!1)),Et({range:a},h,{orient:"top",type:h?.type||"linear",label:{flush:!0},tick:{tickMode:QH(c,d,a,u)},__ticksForVTable:l,__vtableChartTheme:g,__vtableBodyChartCellPadding:s})}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=ak("bottom",t,e-1,t,e,t,e,0,i),{chartType:s}=ek(t,e-1,"bottom",i);if(!n)return;const a=wM(rP("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table)),{range:l,ticks:h,axisOption:c,index:d,targetTicks:u,targetRange:g,theme:p}=n;bt(c?.max)?(l.max=c.max,l.max<0&&(c.zero=!1)):"boxPlot"===s&&(l.max+=(l.max-l.min)/20),bt(c?.min)?(l.min=c.min,l.min>0&&(c.zero=!1)):"boxPlot"===s&&(l.min-=(l.max-l.min)/20);let f=[];if("heatmap"===s){const r=i.getDimensionKeyInChartSpec(t,i.rowCount-i.bottomFrozenRowCount-1,"xField"),o=i.dataset.collectedValues[r]??[],n=i.getColKeysPath(t,e);f=o?.[n??""]??[]}return Et({title:{visible:!0,text:o?.title},range:l,domain:"linear"===c?.type?void 0:Array.from(f)},c,{orient:"bottom",type:c?.type||"linear",label:{flush:!0},tick:{tickMode:QH(u,g,l,d)},__ticksForVTable:h,__vtableChartTheme:p,__vtableBodyChartCellPadding:a})}if(t===i.rowHeaderLevelCount-1&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){let r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);pt(r)&&(r=r[0]);const o=(i.dataset.collectedValues[r]??[])[i.getRowKeysPath(t,e)??""]??[],{axisOption:n,theme:s,chartType:a}=ek(t+1,e,"left",i);if(!1===n?.visible)return;const l=wM(rP("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),h=i.getRawChartSpec(t+1,e);return Et({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",label:{flush:!0},inverse:nk(n,"horizontal"===(h?.direction??("scatter"===a?"vertical":"horizontal"))),__vtableChartTheme:s,__vtableBodyChartCellPadding: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=ak("left",t+1,e,t,e,t,e,0,i),{chartType:s}=ek(t+1,e,"left",i);if(!n)return;const a=wM(rP("padding",i._table._getCellStyle(t+1,e),t+1,e,i._table)),{range:l,ticks:h,axisOption:c,index:d,targetTicks:u,targetRange:g,theme:p}=n;bt(c?.max)?(l.max=c.max,l.max<0&&(c.zero=!1)):"boxPlot"===s&&(l.max+=(l.max-l.min)/20),bt(c?.min)?(l.min=c.min,l.min>0&&(c.zero=!1)):"boxPlot"===s&&(l.min-=(l.max-l.min)/20);let f=[];if("heatmap"===s){const r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e,"yField"),o=i.dataset.collectedValues[r]??[],n=i.getRowKeysPath(t,e);f=o?.[n??""]??[]}return Et({title:{visible:!0,text:o?.title,autoRotate:!0},range:l,domain:"linear"===c?.type?void 0:Array.from(f)},c,{orient:"left",type:c?.type||"linear",label:{flush:!0},tick:{tickMode:QH(u,g,l,d)},__ticksForVTable:h,__vtableChartTheme:p,__vtableBodyChartCellPadding:a})}if(t===i.colCount-i.rightFrozenColCount&&e>=i.columnHeaderLevelCount&&e<i.rowCount-i.bottomFrozenRowCount){const r=i.getIndicatorKey(t,e),o=i.getIndicatorInfo(r);if(!o?.hasRightIndicatorAxis)return;const{axisOption:n,chartType:s}=ek(t-1,e,"right",i),a=ak("right",t-1,e,i.rowHeaderLevelCount-1,e,t,e,1,i);if(!a)return;const l=wM(rP("padding",i._table._getCellStyle(t-1,e),t-1,e,i._table)),{range:h,ticks:c,index:d,targetTicks:u,targetRange:g,theme:p}=a;bt(n?.min)&&(h.min=n.min,h.min>0&&(n.zero=!1)),bt(n?.max)&&(h.max=n.max,h.max<0&&(n.zero=!1));let f=[];if("heatmap"===s){const r=i.getDimensionKeyInChartSpec(i.colCount-i.rightFrozenColCount-1,e,"yField"),o=i.dataset.collectedValues[r]??[],n=i.getRowKeysPath(t,e);f=o?.[n??""]??[]}return Et({range:h,title:{autoRotate:!0},domain:"linear"===n?.type?void 0:Array.from(f)},n,{orient:"right",type:n?.type||"linear",label:{flush:!0},tick:{tickMode:QH(u,g,h,d)},__ticksForVTable:c,__vtableChartTheme:p,__vtableBodyChartCellPadding:l})}if(e===i.rowCount-i.bottomFrozenRowCount&&t>=i.rowHeaderLevelCount&&t<i.colCount-i.rightFrozenColCount){let r=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);pt(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}=ek(t,e-1,"bottom",i);if(!1===a?.visible)return;const d=wM(rP("padding",i._table._getCellStyle(t,e-1),t,e-1,i._table));return Et({domain:"linear"===a?.type?void 0:Array.from(s),range:"linear"===a?.type?s:void 0},a,{orient:"bottom",type:a?.type??"band",label:{flush:!0},__vtableChartTheme:h,__vtableBodyChartCellPadding:d})}}}function ek(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&&pt(n)){const t=n.find((t=>t.orient===i));if(t){t.zero&&bt(t.range?.min)&&(t.zero=!1);const{seriesIndex:e,seriesId:n}=t;let s,a;lt(n)&&pt(o.series)?s=(pt(n)?n:[n]).map((t=>{const e=o.series.findIndex((e=>e.id===t));return e>=0&&(a=o.series[e]),e})):lt(e)&&pt(o.series)&&(s=e);const{isZeroAlign:l,isTickAlign:h}=ik(o,i,r);return t.labelHoverOnAxis||(t.labelHoverOnAxis=r._table.options.chartDimensionLinkage?.labelHoverOnAxis?.[i]),{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))??{};s.zero&&bt(s.range?.min)&&(s.zero=!1),s&&!s.labelHoverOnAxis&&(s.labelHoverOnAxis=r._table.options.chartDimensionLinkage?.labelHoverOnAxis?.[i]);const{isZeroAlign:a,isTickAlign:l}=ik(o,i,r);return{axisOption:s,isPercent:!1,isZeroAlign:a,isTickAlign:l,theme:o.theme,chartType:o.type}}function ik(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&&pt(t.axes)?t.axes:i._table.pivotChartAxes;let n=!1,s=!1;if(pt(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 rk(t,e,i,r,o){if(pt(o)){const n={min:1/0,max:-1/0};for(let s=0;s<o.length;s++){const a=rk(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]??e?.[0];if(pt(n)&&(n=n[0]),!n)return null;const s=t[n],a=Et({},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 ok;function nk(t,e){let i=t?.inverse;var r;return e&&(r=t?.orient,"bottom"!==r&&"top"!==r)&&(i=!lt(t?.inverse)||!t?.inverse),i}function sk(t,e,i,r){if(!(pt(t.axes)&&0!==t.axes.length||pt(e)&&0!==e.length))return i&&r||!i&&!r;if(pt(t.axes)&&t.axes.length>0)for(let e=0;e<t.axes.length;e++){const o=t.axes[e];if(!i&&r&&"bottom"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"===o.type)return!0}if(i&&r&&"bottom"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"!==o.type)return!0}if(!i&&!r&&"left"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"!==o.type)return!0}if(i&&!r&&"left"===o.orient){if("heatmap"===t.type)return"linear"===o.type;if("linear"===o.type)return!0}}if(pt(e)&&e.length>0)for(let o=0;o<e.length;o++){const n=e[o];if(!i&&r&&"bottom"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"===n.type)return!0}if(i&&r&&"bottom"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"!==n.type)return!0}if(!i&&!r&&"left"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"!==n.type)return!0}if(i&&!r&&"left"===n.orient){if("heatmap"===t.type)return"linear"===n.type;if("linear"===n.type)return!0}}return i&&r||!i&&!r}function ak(t,e,i,r,o,n,s,a,l){const h=l.getIndicatorKeyInChartSpec(r>=0?r:n,o>=0?o:s);let c;c="top"===t||"bottom"===t?l.getColKeysPath(n,s):l.getRowKeysPath(n,s);const d=lk(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}=ck(e,i,d.index,d.isZeroAlign,d.isTickAlign,d.range,h,u,c,l);if(0!==d.index&&p){const e=RA.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 lk(t,e,i,r,o,n,s){const{axisOption:a,isPercent:l,isZeroAlign:h,isTickAlign:c,seriesIndice:d,theme:u,chartType:g}=ek(t,e,r,s),p=rk(s.dataset.collectedValues,o,h,n,d??i);if(!p)return;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));const f=RA.getFunction("getAxisDomainRangeAndLabels"),{range:m,ticks:b}=f(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=m[0],p.max=m[1]);const y=b;return bt(a?.min)&&(p.min=a.min),bt(a?.max)&&(p.max=a.max),{index:d??i,range:p,ticks:y,isZeroAlign:h,isTickAlign:c,axisOption:a,theme:u,chartType:g}}function hk(t,e,i,r,o,n,s,a){const{range:l,isZeroAlign:h,isTickAlign:c,axisOption:d,chartType:u}=lk(t,e,i,r,n,s,a),{targetRange:g,targetTicks:p}=ck(t,e,i,h,c,l,n,o,s,a);if(0!==i&&p){const i=RA.getFunction("getAxisDomainRangeAndLabels"),{range:o,ticks:n}=i(l.min,l.max,Et({},d,{nice:!0,tick:{forceTickCount:p.length}}),h,"bottom"===r||"top"===r?a._table.getColWidth(t)||a._table.tableNoFrameWidth:a._table.getRowHeight(e)||a._table.tableNoFrameHeight,{targetTicks:p,targetRange:g});l.min=o[0],l.max=o[1]}return{axisOption:d,range:l,targetTicks:p,targetRange:g,chartType:u}}function ck(t,e,i,r,o,n,s,a,l,h){let c,d;if(!r&&!o)return{targetTicks:c,targetRange:d};const u=lk(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(!$H(i)||!$H(r))return;const o=XH(i),n=XH(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(!qH(o,n))return}else if(0===d&&0===u){if(!qH(n,o))return}else if(c||f)if(c&&!f){if(!YH(o,n))return}else if(f&&!c){if(!YH(n,o))return}else{if(a===u)return;if(a>u){if(!ZH(o,n))return}else if(!ZH(n,o))return}else{if(0===a&&0===d){if(!JH(o,n))return}else if(0===u&&0===s&&!JH(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=RA.getFunction("getAxisDomainRangeAndLabels"),{axisOption:a,isZeroAlign:l}=ek(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"}(ok||(ok={}));const dk=ra();class uk extends ph{type="chart";chartInstance;activeChartInstance;activeChartInstanceLastViewBox=null;activeChartInstanceHoverOnMark=null;justShowMarkTooltip=void 0;justShowMarkTooltipTimer=Date.now();delayRunDimensionHoverTimer=void 0;cacheCanvas;isShareChartSpec;constructor(t,e){if(super(e),this.numberType=dk,this.isShareChartSpec=t,e.chartInstance)this.chartInstance=e.chartInstance;else{const t=this.chartInstance=new e.ClassType(e.spec,Et({},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){if(this.activeChartInstance)return;const{col:e,row:i}=this.parent,r=xH(this.parent,t),{x1:o,y1:n,x2:s,y2:a}=this.getViewBox(),l=function(t,e,i){const{layoutMap:r}=i.internalProps,o=new Xe,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),h=l.intersect({x1:o-t.scrollLeft,x2:s-t.scrollLeft,y1:n-t.scrollTop,y2:a-t.scrollTop});this.attribute.ClassType.globalConfig.uniqueTooltip=!1,this.activeChartInstance=new this.attribute.ClassType(this.attribute.spec,Et({},this.attribute.tableChartOption,{renderCanvas:this.attribute.canvas,mode:"desktop-browser",canvasControled:!1,viewBox:{x1:0,x2:s-o,y1:0,y2:a-n},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(h.x1,h.y1,h.x2-h.x1,h.y2-h.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,c.resumeRender()},renderHooks:{afterClearRect(t){const{context:e,layer:i,viewBox:o}=t;i.main&&t.clear&&r&&(e.beginPath(),e.fillStyle=r,e.rect(o.x1,o.y1,o.x2-o.x1,o.y2-o.y1),e.fill())}},componentShowContent:t.options.chartDimensionLinkage?.showTooltip&&"scatter"!==this.attribute.spec.type?{tooltip:{dimension:!1,mark:!0},crosshair:!1}:void 0}));const c=this.activeChartInstance.getStage(),d=this.globalTransMatrix.clone(),u=this.stage.window.getViewBoxTransform();let g;d.multiply(u.a,u.b,u.c,u.d,u.e,u.f),c.window.setViewBoxTransform&&c.window.setViewBoxTransform(d.a,d.b,d.c,d.d,d.e,d.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,void 0):uk.temp&&(t.scenegraph.updateChartState(null,"brush"),t.scenegraph.updateChartState(e?.datum,"click"))})),t.options.chartDimensionLinkage?.listenBrushChange&&(g=function(t,e){let i=null,r=null,o=null;return{throttled:function(...n){r=n,o=this,i||(i=setTimeout((()=>{r&&t.apply(o,r),i=null,r=null,o=null}),e))},cancel:()=>{i&&(clearTimeout(i),i=null,r=null,o=null)},flush:()=>{i&&r&&(clearTimeout(i),t.apply(o,r),i=null,r=null,o=null)}}}(t.scenegraph.updateChartState.bind(t.scenegraph),t.options.chartDimensionLinkage?.brushChangeDelay??100),this.activeChartInstance.on("brushChange",(t=>{g.throttled(t?.value?.inBrushData,"brush")}))),this.activeChartInstance.on("brushStart",(r=>{const o=MH();o!==this.activeChartInstance&&(o&&TH(t.scenegraph),RH(this.activeChartInstance,e,i))})),this.activeChartInstance.on("brushEnd",(e=>{g?.cancel(),t.scenegraph.updateChartState(e?.value?.inBrushData,"brush"),uk.temp=0,setTimeout((()=>{uk.temp=1}),0)})),t.options.chartDimensionLinkage?.showTooltip&&("pie"===this.attribute.spec.type&&(this.activeChartInstance.on("pointerover",{markName:"pie"},(e=>{const i=this.attribute.spec.categoryField;zH({[i]:e?.datum?.[i]},t,!1)})),this.activeChartInstance.on("pointerout",{markName:"pie"},(e=>{const i=this.attribute.spec.categoryField;zH({[i]:e?.datum?.[i]},t,!0)}))),this.activeChartInstance.on("dimensionHover",(r=>{if(UH())return;this.activeChartInstance.disableTooltip(!1);const o=r?.dimensionInfo[0],n=r?.event?.canvas,s=r?.event?.viewport;if(s){const a=o.data[0].series.positionToDataX(s.x),l=o.data[0].series.positionToDataY(s.y);if("scatter"===this.attribute.spec.type){FH(e,a,void 0,n,t,!1,!0),IH(i,void 0,l,n,t,!1,!0);tk(t.rowHeaderLevelCount-1,i,t.internalProps.layoutMap).labelHoverOnAxis&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,i).firstChild.showLabelHoverOnAxis(n.y-t.getCellRelativeRect(e,i).top,l);tk(e,t.rowCount-t.bottomFrozenRowCount,t.internalProps.layoutMap).labelHoverOnAxis&&t.scenegraph.getCell(e,t.rowCount-t.bottomFrozenRowCount).firstChild.showLabelHoverOnAxis(n.x-t.getCellRelativeRect(e,i).left,a)}else{let s=!0;const a=this.activeChartInstanceHoverOnMark,h=this.justShowMarkTooltip;r.mark&&r.datum&&!Array.isArray(r.datum)?(this.activeChartInstanceHoverOnMark=r.mark,s=!0):(this.activeChartInstanceHoverOnMark=null,s=!1),this.justShowMarkTooltip=s;let c=!1;if(!1!==h&&!1===s?(this.justShowMarkTooltipTimer=Date.now(),c=!0):!1===h&&!1===s?c=Date.now()-this.justShowMarkTooltipTimer<100:(!1===h&&!0===s||!0===h&&!0===s)&&(c=!1,this.clearDelayRunDimensionHoverTimer()),"enter"===r.action||"move"===r.action||a!==this.activeChartInstanceHoverOnMark){const r=o.value,a=t.options.indicatorsAsCol;if(c?(this.clearDelayRunDimensionHoverTimer(),this.delayRunDimensionHoverTimer=setTimeout((()=>{UH()||(a?IH(i,r,null,n,t,s,!1):FH(e,r,null,n,t,s,!1))}),100)):a?IH(i,r,null,n,t,s,!1):FH(e,r,null,n,t,s,!1),a){const e=o.data[0].series,n="histogram"===this.attribute.spec.type||"line"===e.type||"area"===e.type?0:e.getYAxisHelper().getBandwidth(0);let s=e.valueToPositionY(r);const a=tk(t.rowHeaderLevelCount-1,i,t.internalProps.layoutMap);let h=l;if("histogram"===this.attribute.spec.type){const{series:t,datum:e}=o.data[0];if(e.length>0){const i=e[0][t.fieldY[0]],r=e[0][t.fieldY2];h=i+" ~ "+r,s=(t.valueToPositionY(i)+t.valueToPositionY(r))/2}}a.labelHoverOnAxis&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,i).firstChild.showLabelHoverOnAxis(s+("line"===e.type||"area"===e.type?0:n/2),h)}else{const i=o.data[0].series,n="histogram"===this.attribute.spec.type||"line"===i.type||"area"===i.type?0:i.getXAxisHelper().getBandwidth(0);let s=i.valueToPositionX(r);const a=tk(e,t.rowCount-t.bottomFrozenRowCount,t.internalProps.layoutMap);let l=r;if("histogram"===this.attribute.spec.type){const{series:t,datum:e}=o.data[0];if(e.length>0){const i=e[0][t.fieldX[0]],r=e[0][t.fieldX2];l=i+" ~ "+r,s=(t.valueToPositionX(i)+t.valueToPositionX(r))/2}}a.labelHoverOnAxis&&t.scenegraph.getCell(e,t.rowCount-t.bottomFrozenRowCount).firstChild.showLabelHoverOnAxis(s+n/2,l)}}}}}))),t._bindChartEvent?.(this.activeChartInstance),UH()&&this.activeChartInstance.disableTooltip(!0)}static temp=1;clearDelayRunDimensionHoverTimer(){clearTimeout(this.delayRunDimensionHoverTimer),this.delayRunDimensionHoverTimer=void 0}deactivate(t,{forceRelease:e=!1,releaseChartInstance:i=!0,releaseColumnChartInstance:r=!0,releaseRowChartInstance:o=!0,releaseAllChartInstance:n=!1}={}){if(this.activeChartInstanceHoverOnMark=null,this.justShowMarkTooltip=void 0,this.justShowMarkTooltipTimer=Date.now(),this.clearDelayRunDimensionHoverTimer(),i){!this.activeChartInstance||!e&&MH()&&MH()===this.activeChartInstance||(this.activeChartInstance?.updateViewBox({x1:-1e3,x2:-800,y1:-1e3,y2:-800},!1,!1),this.activeChartInstance?.release(),this.activeChartInstance=null);const{col:i,row:r}=this.parent;t.internalProps.layoutMap.isAxisCell(t.rowHeaderLevelCount-1,r)&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,r).firstChild?.hideLabelHoverOnAxis?.(),t.internalProps.layoutMap.isAxisCell(i,t.rowCount-t.bottomFrozenRowCount)&&t.scenegraph.getCell(i,t.rowCount-t.bottomFrozenRowCount).firstChild?.hideLabelHoverOnAxis?.()}else{const{col:e,row:i}=this.parent;r&&t.internalProps.layoutMap.isAxisCell(e,t.rowCount-t.bottomFrozenRowCount)&&t.scenegraph.getCell(e,t.rowCount-t.bottomFrozenRowCount).firstChild?.hideLabelHoverOnAxis?.(),o&&t.internalProps.layoutMap.isAxisCell(t.rowHeaderLevelCount-1,i)&&t.scenegraph.getCell(t.rowHeaderLevelCount-1,i).firstChild?.hideLabelHoverOnAxis?.()}n?VH(t,e):(r&&WH(this.parent.col,"scatter"===this.attribute.spec.type?this.parent.row:void 0,t,e),o&&NH(this.parent.row,"scatter"===this.attribute.spec.type?this.parent.col:void 0,t,e))}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,a={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))};return this.activeChartInstance?this.activeChartInstanceLastViewBox=a:this.activeChartInstanceLastViewBox=null,a}}let gk,pk=[],fk=[],mk=5,bk=!1;function yk(t){lt(t)&&(mk=t)}function Ck(){pk=[],fk=[],bk=!1,Xu.getCancelAnimationFrame()(gk)}function wk(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,p=t.stage.window.getViewBoxTransform().clone();p.multiply(g.a,g.b,g.c,g.d,g.e,g.f),u.window.setViewBoxTransform&&u.window.setViewBoxTransform(p.a,p.b,p.c,p.d,p.e,p.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,!1,{reuse:!1,morph:!1}),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||"number"==typeof i)c.getChart().setLayoutTag(!0),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.getChart().setLayoutTag(!0),c.updateFullDataSync?.(t)}f.fireListeners("before_cache_chart_image",{chartInstance:c});_k(c.getStage(),t)}function vk(t){bk=!0,fk.length>0?gk=Xu.getRequestAnimationFrame()((()=>{const e=fk.splice(0,mk);pk.splice(0,mk),e.forEach((t=>{wk(t),t.addUpdateBoundTag()})),t.render(),vk(t)})):bk=!1}const xk=2e3;function _k(t,e){const{viewWidth:i,viewHeight:r}=t;if(i<xk&&r<xk)return e.cacheCanvas=Sk(t),void(e.isShareChartSpec||(e.chartInstance?.release(),e.chartInstance=null,e.setAttribute("chartInstance",null)));const o=Math.ceil(r/xk),n=Math.ceil(i/xk),s=[];for(let e=0;e<o;e++)for(let o=0;o<n;o++){const n=o*xk,a=e*xk,l=n+xk>i?i:n+xk,h=a+xk>r?r:a+xk,c=l-n,d=h-a,u=new Xe;u.setValue(n,a,l,h);const g=Sk(t,!1,u);s.push({canvas:g,x:n,y:a,width:c,height:d})}e.cacheCanvas=s}function Sk(t,e=!0,i){if("released"===t.releaseStatus)return null;const r=function(t,e=!0,i){const r=t.window.getViewBoxTransform(),o=D.get(Xo),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 o.setViewBoxTransform(r.a,r.b,r.c,r.d,0,0),t.renderTo(o),o}(t,e,i),o=r.getNativeHandler();return o.nativeCanvas?o.nativeCanvas:null}const Ak=Symbol.for("ChartRender");let Rk=class extends xc{type;numberType=dk;drawShape(t,e,i,r,o,n,s,a){const l=dn(t,n?.theme).group,{dataId:h,data:c,spec:d}=t.attribute,{width:u=l.width,height:g=l.height}=t.attribute,{table:p}=t.getRootNode(),{cacheCanvas:f,activeChartInstance:m}=t;if(!m&&f)pt(f)?f.forEach((t=>{const{x:i,y:r,width:o,height:n,canvas:s}=t;e.drawImage(s,i,r,o,n)})):e.drawImage(f,i,r,u,g);else if(m){if(p.options.specFormat){const e=p.options.specFormat(t.attribute.spec,m,t);if(e.needFormatSpec&&e.spec){const t=e.spec;m.updateSpecSync(t,!1,{reuse:!1,morph:!1})}}const e=t.activeChartInstanceLastViewBox,i=t.getViewBox();e&&i.x1===e.x1&&i.x2===e.x2&&i.y1===e.y1&&i.y2===e.y2||m.updateViewBox({x1:0,x2:i.x2-i.x1,y1:0,y2:i.y2-i.y1},!1,!1);const r=m.getStage();r.needRender=!0;const o=t.globalTransMatrix.clone(),n=t.stage.window.getViewBoxTransform().clone();if(n.multiply(o.a,o.b,o.c,o.d,o.e,o.f),r.window.setViewBoxTransform(n.a,n.b,n.c,n.d,n.e,n.f),"string"==typeof h||"number"==typeof h)m.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}),m.updateFullDataSync||m.updateDataSync(e,i?c?.filter((t=>t.hasOwnProperty(i)))??[]:c??[])}m.updateFullDataSync?.(t)}}else p.internalProps.renderChartAsync?(-1===pk.indexOf(`${t.parent.col}+${t.parent.row}`)&&(pk.push(`${t.parent.col}+${t.parent.row}`),fk.push(t)),bk||vk(p)):wk(t)}draw(t,e,i,r){this._draw(t,{},!1,i,r)}};Rk=vH([f()],Rk);let Tk=class{time=Pi.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()}}};Tk=vH([f()],Tk);let Mk=class{time=Pi.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()}};Mk=vH([f()],Mk);let Bk=class{time=Pi.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)}};Bk=vH([f()],Bk);let Pk=class{time=Pi.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 Hk(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===m_.single&&n.col===e&&n.row===i?r="cellBgColor":o===m_.column&&e>=l&&e<=h?r=IS(s[0],e,i)?"cellBgColor":"inlineColumnBgColor":o===m_.row&&i>=c&&i<=d?r=IS(s[0],e,i)?"cellBgColor":"inlineRowBgColor":o===m_.cross&&(IS(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===m_.single&&n.col===e&&n.row===i?r="cellBgColor":o===m_.column&&n.col===e?r=n.col===e&&n.row===i?"cellBgColor":"inlineColumnBgColor":o===m_.row&&n.row===i?r=n.col===e&&n.row===i?"cellBgColor":"inlineRowBgColor":o===m_.cross&&(n.col===e&&n.row===i?r="cellBgColor":n.col===e?r="inlineColumnBgColor":n.row===i&&(r="inlineRowBgColor")),r}(t,e,i),a){kk(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 kk(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}Pk=vH([f()],Pk);let Ek=class{time=Pi.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)}};Ek=vH([f()],Ek);let Lk=class{time=Pi.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}=Kk(t,Math.ceil(w),Math.ceil(v),o);y=n,C=s}else y=Math.ceil(w),C=Math.ceil(v);0===b||pt(b)&&b.every((t=>0===t))?Ik(t,e,i,r,l,u,p||f,g||m,y,C):(e.beginPath(),ac(e,i,r,y,C,b,!0,new Array(4).fill(0).map(((o,n)=>(o,s,a,h)=>{qk(n,o,s,a,h,t,e,i,r,l,u,p||f,g||m,y,C)}))),e.stroke())}}};function Fk(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 Ik(t,e,i,r,o,n,s,a,l,h,c,d){const u=Fk(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([])}Lk=vH([f()],Lk);let zk=class{time=Pi.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)}};zk=vH([f()],zk);let Ok=class{time=Pi.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=pt(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}=Kk(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([])}};Ok=vH([f()],Ok);let Dk=class{time=Pi.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)}};Dk=vH([f()],Dk);let Wk=class{time=Pi.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}=Kk(t,Math.ceil(C),Math.ceil(w),n);y?ac(e,i,r,h+s,c+a,y):e.rect(i,r,h,c),e.setStrokeStyle(t,t.attribute,i,r,l),e.stroke()}}};Wk=vH([f()],Wk);let Nk=class{time=Pi.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&<(t.mergeStartCol)&<(t.mergeStartRow)&<(t.mergeEndCol)&<(t.mergeEndRow)){const{colStart:r,colEnd:o,rowStart:n,rowEnd:s}=eH(t,e.scenegraph);for(let t=r;t<=o;t++)for(let r=n;r<=s;r++){const o=Hk(e.stateManager,t,r);!o||i&&"cellBgColor"!==o||(i=o)}}else"cell"===t.role&&(i=Hk(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),rP(i,r,t.col,t.row,e)}(t,e);if(i)t.attribute._vtableHightLightFill=i;else if(e.stateManager.interactionState!==f_.scrolling){const i=xH(t,e);i&&(t.attribute._vtableHightLightFill=i)}}}}};Nk=vH([f()],Nk);let Gk=class{time=Pi.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}}};Gk=vH([f()],Gk);let Vk=class{time=Pi.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){Uk(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){Uk(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("col-header"===t.role){Uk(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("right-frozen"===t.role){Uk(e,0,-(t.attribute.y??0)+g.getFrozenRowsHeight(),g.getRightFrozenColsWidth(),t.parent.attribute.height-g.getFrozenRowsHeight()-g.getBottomFrozenRowsHeight())}else if("bottom-frozen"===t.role){Uk(e,-(t.attribute.x??0)+g.getFrozenColsWidth(),0,t.parent.attribute.width-g.getFrozenColsWidth()-g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-header"===t.role){Uk(e,0,0,g.getFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-top-header"===t.role){Uk(e,0,0,g.getRightFrozenColsWidth(),g.getFrozenRowsHeight())}else if("corner-right-bottom-header"===t.role){Uk(e,0,0,g.getRightFrozenColsWidth(),g.getBottomFrozenRowsHeight())}else if("corner-left-bottom-header"===t.role){Uk(e,0,0,g.getFrozenColsWidth(),g.getBottomFrozenRowsHeight())}}};Vk=vH([f()],Vk);const jk=Math.pow(2,24);function Uk(t,e,i,r,o){t.beginPath();const n=t.applyedMatrix;Math.abs(n.f)>jk||Math.abs(n.g)>jk?t.rect(e-jk,i-jk,r+2*jk,o+2*jk):t.rect(e,i,r,o)}function Kk(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=AA(o,n,s);a&&(n=a.end.col,s=a.end.row),r?(0===n&&(e-=1),0===s&&(i-=1)):((n===o.colCount-1||n===o.frozenColCount-1&&o.scrollLeft||o.containerFit?.width&&o.rightFrozenColCount&&n===o.colCount-o.rightFrozenColCount-1)&&(e-=1),(s===o.rowCount-1||s===o.frozenRowCount-1&&o.scrollTop||o.containerFit?.height&&o.bottomFrozenRowCount&&s===o.rowCount-o.bottomFrozenRowCount-1)&&(i-=1))}else"corner-frozen"===t.role&&(o.scrollLeft&&!r&&(e-=1),o.scrollTop&&!r&&(i-=1));return{width:e,height:i}}let $k=class{time=Pi.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)}};$k=vH([f()],$k);let Xk,Yk=class{time=Pi.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||u<=0||g<=0)&&(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||pt(C)&&C.every((t=>0===t))?Ik(t,e,i,r,l,p,m||b,f||y,"table-border-rect"!==t.name?Math.ceil(u+o):u+o,"table-border-rect"!==t.name?Math.ceil(g+n):g+n):(e.beginPath(),ac(e,i,r,u,g,C,!0,new Array(4).fill(0).map(((s,a)=>(s,h,c,d)=>{qk(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 qk(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p){const f=n,m=h,b=Fk(d),y=!Array.isArray(d),C=!Array.isArray(c),w=Array.isArray(u)||b.isSplitDraw;s.stroke(),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.beginPath(),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),s.closePath(),w||x||(!y&&b.width&&(s.lineWidth=b.width),s.stroke()),s.lineDashOffset=0,s.setLineDash([]),s.beginPath()}Yk=vH([f()],Yk);let Zk=class{order=1;interceptors;constructor(){this.interceptors=[new Jk]}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}};Zk=vH([f()],Zk);class Jk{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(!Xk){const t=FB(),e=t.loading_pic.svg,i=t.loading_pic.width,r=t.loading_pic.height;Xk=vh({width:i,height:r,image:e})}const{image:l}=Xk.attribute;if(!n||!Xk.resources)return!1;const h=Xk.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}=tP(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 Qk=class{time=Pi.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=gt(w)?w:"...",T=On(t.attribute.lineHeight,y)??y;let M=0;T!==y&&("top"===x?M=(T-y)/2:"middle"===x||"bottom"===x&&(M=-(T-y)/2)),n&&(d?d(e,t.attribute,l):a&&(e.setStrokeStyle(t,t.attribute,_-i,S-r,l),e.strokeText(R,_,S+M))),o&&(c?c(e,t.attribute,l):s&&(e.setCommonStyle(t,t.attribute,_-i,S-r,l),e.fillText(R,_,S+M),this.drawUnderLine(p,f,t,_,S+M,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=jP.measureTextWidth(l,{fontSize:d,fontFamily:u,fontWeight:g,fontStyle:p}),v=Vl(h,w),x=jl(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()}}};Qk=vH([f()],Qk);let tE=class{type="chart";numberType=dk;contains(t,e,i){if(t.attribute.detectPickChartItem){const i=t.activeChartInstance;if(!i)return!1;const r=i.getStage();r.dirtyBounds?.clear();const o=r.pick(e.x,e.y);return(null!==o.graphic||"root"!==o.group.name)&&o}return!!t.AABBBounds.containsPoint(e)}};tE=vH([f()],tE);var eE=new i(((t,e,i,r)=>{i(cc)?r(cc).to($k).inSingletonScope():(t($k).toSelf().inSingletonScope(),t(Dl).toService($k)),i(dc)?r(dc).to(Yk).inSingletonScope():(t(Yk).toSelf().inSingletonScope(),t(Dl).toService(Yk)),t(Rk).toSelf().inSingletonScope(),t(Ak).to(Rk),t(Pd).to(Rk),t(tE).toSelf().inSingletonScope(),t(fp).toService(tE),t(Tk).toSelf().inSingletonScope(),t(Il).toService(Tk),t(Mk).toSelf().inSingletonScope(),t(Il).toService(Mk),t(Bk).toSelf().inSingletonScope(),t(Il).toService(Bk),t(Pk).toSelf().inSingletonScope(),t(Il).toService(Pk),t(Nk).toSelf().inSingletonScope(),t(Fl).toService(Nk),t(Gk).toSelf().inSingletonScope(),t(Fl).toService(Gk),t(Lk).toSelf().inSingletonScope(),t(Fl).toService(Lk),t(Ek).toSelf().inSingletonScope(),t(Fl).toService(Ek),t(zk).toSelf().inSingletonScope(),t(Fl).toService(zk),t(Ok).toSelf().inSingletonScope(),t(Fl).toService(Ok),t(Dk).toSelf().inSingletonScope(),t(Fl).toService(Dk),t(Wk).toSelf().inSingletonScope(),t(Fl).toService(Wk),t(Vk).toSelf().inSingletonScope(),t(Fl).toService(Vk),t(Zk).toSelf().inSingletonScope(),t(jd).toService(Zk),t(Qk).toSelf().inSingletonScope(),t(Nl).toService(Qk)}));function iE(t,e,i,r){t.internalProps.columnWidthConfig&&function(t,e){t.isPivotTable()?function(t,e){for(let i=0;i<e?.length;i++){const r=e[i],o=r.dimensions,n=r.width,s=t.getCellAddressByHeaderPaths(o);if(s&&s.col>=t.rowHeaderLevelCount){const e=t.getCellHeaderPaths(s.col,t.columnHeaderLevelCount);if(e.colHeaderPaths.length===o.length){let i=!0;for(let t=0;t<o.length;t++){const r=o[t];if(e.colHeaderPaths.findIndex(((t,e)=>t.indicatorKey===r.indicatorKey||t.dimensionKey===r.dimensionKey&&t.value===r.value))<0){i=!1;break}}i&&!t.internalProps._widthResizedColMap.has(s.col)&&(t._setColWidth(s.col,n),t.internalProps._widthResizedColMap.add(s.col))}}else s&&s.col<t.rowHeaderLevelCount&&(t.internalProps._widthResizedColMap.has(s.col)||(t._setColWidth(s.col,n),t.internalProps._widthResizedColMap.add(s.col)))}}(t,e):t.isListTable()&&function(t,e){for(let i=0;i<e?.length;i++){const r=e[i],o=r.key,n=r.width,s=t.internalProps.layoutMap.getColumnByKey(o);if(s.columnDefine){const{col:e}=s;t.internalProps._widthResizedColMap.has(e)||(t._setColWidth(e,n),t.internalProps._widthResizedColMap.add(e))}}}(t,e)}(t,t.internalProps.columnWidthConfig),t.isPivotTable()&&t.internalProps.columnWidthConfigForRowHeader&&function(t,e){for(let i=0;i<e?.length;i++){const r=e[i],o=r.dimensions,n=r.width,s=t.getCellAddressByHeaderPaths(o);s&&s.col<t.rowHeaderLevelCount&&(t.internalProps._widthResizedColMap.has(s.col)||(t._setColWidth(s.col,n),t.internalProps._widthResizedColMap.add(s.col)))}}(t,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?rE(o,0,t.rowCount-1,t):rE(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=rE(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}lE(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);"only-body"===t.widthAdaptiveMode&&(e<t.rowHeaderLevelCount+t.leftRowSeriesNumberCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=n),o+=n}if(o<e&&o>i){let o=0,n=t.colCount;"only-body"===t.widthAdaptiveMode&&(o=t.rowHeaderLevelCount+t.leftRowSeriesNumberCount,n=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount),lE(e-i,o,n,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({async:!0})}t.isPivotTable()&&(o.disableUseGetBodyCache(),o.disableUseHeaderPathCache())}function rE(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?oE(n,t,e,i,o,r):"number"==typeof n?n:"auto"!==n&&"string"==typeof n?r._adjustColWidth(t,r._colWidthDefineToPxWidth(n)):oE(n,t,e,i,o,r)}function oE(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;{let t=!1;"heatmap"===n.internalProps.layoutMap.getChartSpec(e,n.columnHeaderLevelCount).type&&(t=!0);const i=n.internalProps.layoutMap.getOptimunWidthForChart(e,t);if(i>0)return i}}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=RA.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)||t.isAxisCell(e,h))continue}const i=nE(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(lt(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;lt(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)!==v_.none?(t.length-1)*(u.hierarchyIndent??0):0,u.hierarchyTextStartAlignment&&!n.internalProps.bodyHelper.getHierarchyIcon(e,h)&&(d+=n.internalProps.headerHelper.getHierarchyIconWidth())}}const g=sE(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 nE(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:aE(t,e,i),table:i,originCol:t,originRow:e,forComputation:!0};if("react-custom-layout"===o&&(o=i.reactCustomLayout?.getCustomLayoutFunc(t,e)||OB),st(o)){const t=o(c);if(t.rootContainer){t.rootContainer=qB(t.rootContainer),YB(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=wM(rP("padding",i._getCellStyle(t,e),t,e,i));a+=r[1]+r[3]}return{width:a/s,renderDefault:l}}}function sE(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!==x_.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=wM(rP("padding",s,t,e,r)),d=c[1]+c[3],u=rP("fontSize",s,t,e,r),g=rP("fontFamily",s,t,e,r),p=rP("fontWeight",s,t,e,r);let f;if("checkbox"===i)f=ht(n)?n.text:n;else if("radio"===i)if(pt(n)){f="";const i=r.getBodyColumnDefine(t,e),o=i?.radioDirectionInCell??"vertical";"vertical"===o?n.forEach((t=>{f+=(ht(t)?t.text:t).toString()+"\n"})):"horizontal"===o&&n.forEach((t=>{f+=(ht(t)?t.text:t).toString()}))}else f=ht(n)?n.text:n;else if("button"===i){const i=kS(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=lP(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=rP("size",s,t,e,r);if(o+=i,f){const i=rP("spaceBetweenTextAndIcon",s,t,e,r);o+=i}}else if("radio"===i){const i=rP("size",s,t,e,r),a=rP("outerRadius",s,t,e,r),l=bt(a)?2*a:i,h=rP("spaceBetweenTextAndIcon",s,t,e,r);if(pt(n)){const i=r.getBodyColumnDefine(t,e),a=rP("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=rP("boxWidth",s,t,e,r);o=i}else if("button"===i){const i=rP("buttonPadding",s,t,e,r);o+=2*i}return o}function aE(t,e,i){return{left:0,top:0,right:i.getColWidth(t),bottom:i.getRowHeight(e),width:null,height:null}}function lE(t,e,i,r,o,n,s){let a=0;const l=[],h=[];let c=0;const d=new Map,u=new Map;for(let t=e;t<i;t++){const e=r?o[t]??n.getColWidth(t):n.getColWidth(t),i=n.getMaxColWidth(t),s=n.getMinColWidth(t);if(a+=e,l.push(t),i===e?d.set(t,e):s===e&&u.set(t,e),n.options.customConfig?.shrinkSparklineFirst){"sparkline"===n.getBodyColumnType(t,0)&&(h.push({col:t,width:e}),c+=e-n.defaultColWidth)}}if(a>t)for(const[e,i]of u){t-=i,a-=i;const r=l.indexOf(e);-1!==r&&l.splice(r,1)}else if(a<t)for(const[e,i]of d){t-=i,a-=i;const r=l.indexOf(e);-1!==r&&l.splice(r,1)}const g=t/a;if(n.options.customConfig?.shrinkSparklineFirst&&g<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))*g),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 hE=new QB({});function cE(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:r>=a.columnHeaderLevelCount&&r<a.rowCount-a.bottomFrozenRowCount&&(u=a.getRowsHeight(a.columnHeaderLevelCount,r-1));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=uE(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}C=i,m=s,(l||h)&&(b=$B(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);const R="isAggregation"in a.internalProps.layoutMap&&a.internalProps.layoutMap.isAggregation(e,o),T=a.internalProps.layoutMap.isSeriesNumber(e,o);let M="body"!==y||(_?.dragOrder||!!_?.icon||!!_?.tree)&&!(R&&T);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=uE(p,n,a,r>p.start.row);w=t.cellWidth,v=t.cellHeight}let B=!1;if(a.internalProps.enableTreeNodeMerge&&f){const t=a.getCellRawRecord(p.start.col,p.start.row),{vtableMergeName:i,vtableMerge:r}=t??{};B=r,r&&(M=!0,a.internalProps.groupTitleCustomLayout&&(b=$B(a.internalProps.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.internalProps.groupTitleFieldFormat?C=a.internalProps.groupTitleFieldFormat(t,e,o,a):void 0!==i&&(C=i))}const P=B||x?"text":(a.isHeader(e,o)?a._getHeaderLayoutMap(e,o).headerType??"text":a.getBodyColumnType(e,o))??"text";if(ES(C)){gE(e,o,0,u,w,v,t),xP(C,a,dE.bind(null,{type:P,value:C,define:_,table:a,col:e,row:o,colWidth:i,cellWidth:w,cellHeight:v,columnGroup:t,y:u,customStyle:m,mayHaveIcon:M,cellLocation:y,range:p,customResult:b,defaultRowHeight:s})),t.updateColumnRowNumber(o);const r=a.getRowHeight(o);t.updateColumnHeight(r),u+=r}else{const r=rB(m||a._getCellStyle(p?p.start.col:e,p?p.start.row:o),a,p?p.start.col:e,p?p.start.row:o,rP).theme;r.group.cornerRadius=oB(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=SP(P,C,_,a,e,o,i,w,v,t,u,h,c,d,M,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,BP(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 dE(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=rB(b||a._getCellStyle(y?y.start.col:l,y?y.start.row:h),a,y?y.start.col:l,y?y.start.row:h,rP).theme;v.group.cornerRadius=oB(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"),SP(o,n,s,a,l,h,c,d,u,g,p,e,i,r,m,v,y,C)}function uE(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 gE(t,e,i,r,o,n,s){const a=new QB({x:i,y:r,width:o,height:n});a.role="cell",a.col=t,a.row=e,s.addChild(a)}function pE(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 QB({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}=cE(u,r,o,n,s,l.scenegraph.mergeMap,"columnHeader"===a&&bt(d)?d:g,l,h);p+=m,f=Math.max(f,b)}t.setAttribute("width",p),t.setAttribute("height",f)}function fE(t){let e=t.firstChild;for(;e&&"group"!==e.type;)e=e._next;return e}function mE(t){let e=t.lastChild;for(;e&&"group"!==e.type;)e=e._prev;return e}function bE(t,e,i,r="left"){for(let o=t;o<=e;o++){const t=i.scenegraph.getColGroup(o);t&&yE(t,i,r);const e=i.scenegraph.getColGroup(o,!0);e&&yE(e,i,r);const n=i.scenegraph.getColGroupInBottom(o);n&&yE(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 yE(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 CE(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?(wE(t,"left",o.screenLeftCol,i,r,o),o.updateDeltaX(r,i,e),o.table.scenegraph.setBodyAndColHeaderX(-r+o.deltaX)):t<0?(wE(-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 wE(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;iE(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&&SE(r.table.scenegraph.bodyGroup,i,r),r.table.scenegraph.colHeaderGroup.childrenCount>0&&"group"===r.table.scenegraph.colHeaderGroup.firstChild.type&&SE(r.table.scenegraph.colHeaderGroup,i,r),r.table.scenegraph.bottomFrozenGroup.childrenCount>0&&"group"===r.table.scenegraph.bottomFrozenGroup.firstChild.type&&SE(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,AE(h,c,n),bE(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;iE(n.table,i,r);!function(t,e,i,r){r.table.scenegraph.colHeaderGroup.forEachChildren(((o,n)=>{"group"===o.type&&vE(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&&vE(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&&vE(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,AE(o,s,n),bE(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 vE(t,e,i){t.col=e,t.forEachChildren((t=>{t.col=e,t.needUpdate=!0})),t.setAttribute("x",i),t.needUpdate=!0}function xE(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 _E(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 SE(t,e,i){if("left"===e){const e=fE(t),r=mE(t);vE(e,r.col+1,r.attribute.x+i.table.getColWidth(r.col)),t.appendChild(e),t.border&&t.appendChild(t.border)}else{const e=mE(t),r=fE(t);vE(e,r.col-1,r.attribute.x-i.table.getColWidth(r.col-1)),t.insertBefore(e,t.firstChild)}}function AE(t,e,i){for(let r=t;r<=e;r++){const t=i.table.scenegraph.getColGroup(r,!0);t&&xE(t,i);const e=i.table.scenegraph.getColGroupInBottom(r);e&&xE(e,i);const o=i.table.scenegraph.getColGroupInRightTopCorner(r);o&&xE(o,i);const n=i.table.scenegraph.getColGroupInRightBottomCorner(r);n&&xE(n,i);const s=i.table.scenegraph.getColGroup(r);s&&_E(s,i)}RE(i.table.scenegraph.colHeaderGroup),RE(i.table.scenegraph.bottomFrozenGroup),RE(i.table.scenegraph.bodyGroup),i.progress()}function RE(t){const e=mE(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 TE(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,lt(i))for(let r=t;r<e;r++)i-=o.getRowHeight(r)}else i=ME(e.row,o);lt(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=ME(e.row,o);lt(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 ME(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 BE(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?(PE(t,"up",e,i,r,o),o.updateDeltaY(r,i,e),o.updateBody(r-o.deltaY)):t<0?(PE(-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 PE(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(r))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)}XP(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++)HE(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++)HE(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++)HE(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=kE(l,h,n,!0);n.table.isAutoRowHeight(r)&&(TE(n.bodyLeftCol,n.bodyRightCol,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),TE(0,n.table.frozenColCount-1,l,h,n.table,a>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up",!0),TE(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(r)&&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(r)?(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)),XP(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=kE(a,l,n,!0);n.table.isAutoRowHeight(r)&&(TE(n.bodyLeftCol,n.bodyRightCol,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),TE(0,n.table.frozenColCount-1,a,l,n.table,o>n.bodyBottomRow-(n.rowEnd-n.rowStart+1)?"down":"up"),TE(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(r)&&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 HE(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 kE(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 EE(i.table.scenegraph.rowHeaderGroup),EE(i.table.scenegraph.rightFrozenGroup),EE(i.table.scenegraph.bodyGroup),i.table.scenegraph.updateNextFrame(),s}function EE(t){const e=mE(t);if(!e)return;const i=mE(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 LE(t){const{changedCells:e}=t.internalProps.stick;return e.forEach((e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((t=>{t.setAttributes({dx:e.dx,dy:e.dy})}))})),e.clear(),e}function FE(t){const e=LE(t),{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){OE(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){IE(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){IE(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){OE(t.scenegraph.getCell(r,i),a+t.tableX,t.tableNoFrameWidth-t.getRightFrozenColsWidth()+t.tableX,e,o?.textStickBaseOnAlign,t)}}))}}function IE(t,e,i,r,o,n){if(bt(t.mergeStartCol)&&bt(t.mergeStartRow)&&bt(t.mergeEndCol)&&bt(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=eH(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&&zE(a,e,i,r,o)}}else zE(t,e,i,r,o)}function zE(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 OE(t,e,i,r,o,n){if(bt(t.mergeStartCol)&&bt(t.mergeStartRow)&&bt(t.mergeEndCol)&&bt(t.mergeEndRow)){const{colStart:s,colEnd:a,rowStart:l,rowEnd:h}=eH(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&&DE(a,e,i,r,o)}}else DE(t,e,i,r,o)}function DE(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 WE(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)}hE.role="empty";class NE{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(t.columnHeaderLevelCount)?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),this.table.options.maintainedColumnCount&&(this.colLimit=this.table.options.maintainedColumnCount),"adaptive"===this.table.heightMode&&(this.rowLimit=this.table.rowCount),"adaptive"===this.table.widthMode&&(this.colLimit=this.table.colCount)}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(h.columnHeaderLevelCount))?(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&&iE(h,0,f??g),0===h.internalProps._heightResizedRowMap.size&&XP(h,0,"auto"===h.options.canvasHeight||h.options.customConfig?.forceComputeAllRowHeight?h.rowCount-1:m??p),g<h.colCount-h.rightFrozenColCount&&h.colCount-h.rightFrozenColCount<=h.colCount-1&&iE(h,h.colCount-h.rightFrozenColCount,h.colCount-1),p<h.rowCount-h.bottomFrozenRowCount&&h.rowCount-h.bottomFrozenRowCount<=h.rowCount-1&&XP(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()}),pE(t,s,a,0,h.frozenColCount-1,0,h.frozenRowCount-1,h.isListTable()?"columnHeader":"cornerHeader",h),g-h.rightFrozenColCount>=h.frozenColCount&&pE(e,s,a,h.frozenColCount,g-h.rightFrozenColCount,0,h.frozenRowCount-1,"columnHeader",h),h.frozenColCount>0&&(h.leftRowSeriesNumberCount>0&&pE(i,s,a,0,h.leftRowSeriesNumberCount-1,h.frozenRowCount,p-h.bottomFrozenRowCount,"rowHeader",h),h.frozenColCount>h.leftRowSeriesNumberCount&&pE(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&&pE(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&&pE(c,s,a,0,h.leftRowSeriesNumberCount-1,h.rowCount-1-h.bottomFrozenRowCount+1,h.rowCount-1,"rowHeader",h),h.rowHeaderLevelCount>0&&pE(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&&pE(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&&pE(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&&(pE(d,s,a,h.colCount-1-h.rightFrozenColCount+1,h.colCount-1,0,h.frozenRowCount-1,"columnHeader",h),pE(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&&pE(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&&pE(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()),FE(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("adaptive"!==this.table.heightMode&&XP(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}=cE(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}=cE(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}=cE(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);"adaptive"!==this.table.widthMode&&iE(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&&bt(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 QB?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;pE(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 QB?this.table.scenegraph.bottomFrozenGroup.lastChild:this.table.scenegraph.bottomFrozenGroup.lastChild._prev,i=t.attribute.x+t.attribute.width,r=t.attribute.y;pE(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 QB?this.table.scenegraph.bodyGroup.lastChild:this.table.scenegraph.bodyGroup.lastChild._prev);i||(i=this.table.scenegraph.colHeaderGroup.lastChild&&(this.table.scenegraph.colHeaderGroup.lastChild instanceof QB?this.table.scenegraph.colHeaderGroup.lastChild:this.table.scenegraph.colHeaderGroup.lastChild._prev));const r=i.attribute.x+i.attribute.width,o=i.attribute.y;pE(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){BE(t,e,i,this)}async dynamicSetX(t,e,i=!1){CE(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(this.rowUpdatePos)&&XP(this.table,this.rowUpdatePos,e,!1),kE(this.rowUpdatePos,e,this),this.table.isAutoRowHeight(this.rowUpdatePos)&&(TE(this.bodyLeftCol,this.bodyRightCol,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),TE(0,this.table.frozenColCount-1,this.rowUpdatePos,e,this.table,this.rowUpdateDirection,!0),TE(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(t)&&XP(this.table,t,e,!1),kE(t,e,this),this.table.isAutoRowHeight(t)&&(TE(this.bodyLeftCol,this.bodyRightCol,t,e,this.table,this.rowUpdateDirection),TE(0,this.table.frozenColCount-1,t,e,this.table,this.rowUpdateDirection),TE(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&&iE(this.table,t,e,!1),AE(t,e,this),this.table.isAutoRowHeight(this.rowStart)&&bE(t,e,this.table,this.colUpdateDirection)}async updateColCellGroupsAsync(){this.updateColGroups(this.taskRowCount)}updateColGroups(t){const e=Math.min(this.bodyRightCol,this.colUpdatePos+t);"autoWidth"===this.table.widthMode&&iE(this.table,this.colUpdatePos,e),AE(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(t.rowStart)?(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();XP(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??0);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)}kE(e,i,t),t.table.isAutoRowHeight(e)&&TE(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(t.rowStart)||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);iE(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)}AE(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 hE;if(t>=this.table.frozenColCount&&t<this.table.colCount-this.table.rightFrozenColCount&&(t<this.colStart||t>this.colEnd))return hE;if(this.cellCache.get(t)){const r=this.cellCache.get(t);if((r._next||r._prev)&&Math.abs(r.row-e)<e){let o=GE(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=this.table.getRowHeight(this.rowEnd),i=t.attribute.y+e-(this.table.getAllRowsHeight()-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight());this.deltaY=-i}}else if(lt(e)&<(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(lt(e)&<(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 GE(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?GE(i,e):t.row<e&&r&&r.row===t.row+1?GE(r,e):null}function VE(t){t.customSelectedRangeComponents.forEach(((e,i)=>{jE(e,i,t)})),t.selectingRangeComponents.forEach(((e,i)=>{jE(e,i,t)})),t.selectedRangeComponents.forEach(((e,i)=>{jE(e,i,t)}))}function jE(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;if(t.rect.setAttributes({x:C.x1-i.tableGroup.attribute.x,y:C.y1-i.tableGroup.attribute.y,width:b,height:y,visible:!0}),r.hasListeners(jS.AFTER_UPDATE_SELECT_BORDER_HEIGHT)&&r.fireListeners(jS.AFTER_UPDATE_SELECT_BORDER_HEIGHT,{startRow:p,endRow:m,currentHeight:y,selectComp:t}),t.fillhandle){const e=i.table.options.excelOptions?.fillHandle;let o,n,s=!0;"function"==typeof e&&(s=e({selectRanges:i.table.stateManager.select.ranges,table:i.table})),c<r.colCount-1?(o=i.highPerformanceGetCell(c,d).globalAABBBounds,n=o.x2-i.tableGroup.attribute.x-3):0===l?(o=i.highPerformanceGetCell(0,d).globalAABBBounds,n=o.x1-i.tableGroup.attribute.x):(o=i.highPerformanceGetCell(l-1,d).globalAABBBounds,n=o.x2-i.tableGroup.attribute.x-3),o=d<r.rowCount-1?i.highPerformanceGetCell(c,d).globalAABBBounds:i.highPerformanceGetCell(c,h-1).globalAABBBounds;const a=o.y2-i.tableGroup.attribute.y-3;t.fillhandle?.setAttributes({x:n,y:a,width:6,height:6,visible:s})}let w=!!r.frozenColCount&&l===r.frozenColCount;if(!w&&r.frozenColCount&&r.scrollLeft>0&&l>=r.frozenColCount){r.getColsWidth(0,l-1)-r.scrollLeft<r.getFrozenColsWidth()&&(w=!0)}let v=!!r.rightFrozenColCount&&(r.rightFrozenColCount>0&&c===r.colCount-r.rightFrozenColCount-1);if(!v&&r.rightFrozenColCount&&c<r.colCount-r.rightFrozenColCount){r.getColsWidth(0,c)-r.scrollLeft>r.tableNoFrameWidth-r.getRightFrozenColsWidth()&&(v=!0)}let x=!r.frozenRowCount||h===r.frozenRowCount;if(!x&&r.frozenRowCount&&r.scrollTop>0&&h>=r.frozenRowCount){r.getRowsHeight(0,h-1)-r.scrollTop<r.getFrozenRowsHeight()&&(x=!0)}let _=!!r.bottomFrozenRowCount&&d===r.rowCount-r.bottomFrozenRowCount-1;if(!_&&r.bottomFrozenRowCount&&d<r.rowCount-r.bottomFrozenRowCount){r.getRowsHeight(0,d)-r.scrollTop>r.tableNoFrameHeight-r.getBottomFrozenRowsHeight()&&(_=!0)}const{dynamicUpdateSelectionSize:S}=r.theme.selectionStyle;if(w&&(t.rect.attribute.stroke[3]||S)||v&&(t.rect.attribute.stroke[1]||S)||x&&(t.rect.attribute.stroke[0]||S)||_&&(t.rect.attribute.stroke[2]||S)){if(w&&t.rect.attribute.stroke[3]&&i.tableGroup.insertAfter(t.rect,"columnHeader"===t.role?i.cornerHeaderGroup:"bottomFrozen"===t.role?i.leftBottomCornerGroup:i.rowHeaderGroup),_&&t.rect.attribute.stroke[2]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.leftBottomCornerGroup:"rightFrozen"===t.role?i.rightBottomCornerGroup:i.bottomFrozenGroup),x&&t.rect.attribute.stroke[0]&&i.tableGroup.insertAfter(t.rect,"rowHeader"===t.role?i.cornerHeaderGroup:"rightFrozen"===t.role?i.rightTopCornerGroup:i.colHeaderGroup),v&&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 UE(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=AA(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=AA(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=AA(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=AA(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(),e.start.col>e.end.col?(e.start.col=Math.max(h,d),e.end.col=Math.min(h,d)):(e.start.col=Math.min(h,d),e.end.col=Math.max(h,d)),e.start.row>e.end.row?(e.start.row=Math.max(c,u),e.end.row=Math.min(c,u)):(e.start.row=Math.min(c,u),e.end.row=Math.max(c,u))),t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map;const{needRowHeader:p,needRightRowHeader:f,needColumnHeader:m,needBottomColumnHeader:b,needBody:y,needCornerHeader:C,needRightTopCornerHeader:w,needLeftBottomCornerHeader:v,needRightBottomCornerHeader:x}=iP(h,c,d,u,r);if(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(v){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(x){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,!x,!0,!v];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,!v,!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,!x,!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 KE(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",0)}))}function $E(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)})),t.selectedRangeComponents.forEach(((t,e)=>{t.rect.setAttribute("opacity",1)}))}function XE(t,e,i,r,o,n,s){if(!e)return;const a=Array.isArray(e)?e:[e,e,e,e],l=s.colCount-1,h=s.rowCount-1,c=[0,0,0,0];let d=!1;return 0===i&&0===r?(c[0]=a[0],d=!0):o===l&&n===h?(c[2]=a[2],d=!0):0===i&&n===h?(c[3]=a[3],d=!0):o===l&&0===r&&(c[1]=a[1],d=!0),d?c:void 0}function YE(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 qE(t){t.selectedRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectedRangeComponents=new Map}function ZE(t){t.selectingRangeComponents.forEach(((t,e)=>{t.rect.delete(),t.fillhandle?.delete()})),t.selectingRangeComponents=new Map}function JE(t,e,i,r,o){WE(r)&&LE(r);const n=r.scenegraph,s=xS(t.map((t=>t.row))).sort(((t,e)=>e-t)),a=xS(e.map((t=>t.row))).sort(((t,e)=>t-e)),l=xS(i.map((t=>t.row))).sort(((t,e)=>t-e));let h;if(l.length){h=iL(l[0]-1,l[l.length-1]+1,n)}if(a.length){const t=iL(a[0]-1,a[a.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}if(s.length){const t=iL(s[0]-1,s[s.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}s.forEach((t=>{!function(t,e,i){const r=e.proxy;t>=r.rowStart&&t<=r.rowEnd&&(tL(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=AA(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=eL(s[s.length-1]-1,s[0]-s.length+1,n);h=lt(h)?lt(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++,QE(t,e),t):void 0;if(r.rowEnd-r.rowStart+1<r.rowLimit)return r.rowEnd++,r.currentRow++,QE(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=AA(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=eL(a[0]-1,a[a.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}const u=new Set;for(let t=0;t<r.colCount;t++)l.forEach((e=>{if(e<r.frozenRowCount){const i=AA(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++){const i=`${t}-${e}`;u.has(i)||(RP(t,e,n.table,!1),u.add(i))}else RP(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))tL(e,n);else{const i=AA(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++){const i=`${t}-${e}`;u.has(i)||(RP(t,e,n.table,!1),u.add(i))}else RP(t,e,n.table,!1)}}));if(l.length){const t=eL(l[0]-1,l[l.length-1]+1,n);h=lt(h)?lt(t)?Math.min(h,t):h:t}if(bt(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=lt(h)?lt(d)?Math.min(h,d):h:d}if(bt(h)&&(n.proxy.rowUpdatePos=Math.min(n.proxy.rowUpdatePos,h)),a.length){if(!bt(d)){const t=Math.min(...a);n.proxy.rowUpdatePos=Math.min(t,n.proxy.rowUpdatePos)}n.proxy.rowUpdateDirection="up",n.proxy.updateCellGroups(2*n.proxy.screenRowCount),p()}else s.length&&(!function(t,e){if(e.table.isHasSeriesNumber())for(let i=t;i<=e.table.rowCount-1;i++)RP(0,i,e.table,!1)}(s[s.length-1],n),n.proxy.updateCellGroups(2*n.proxy.screenRowCount),p());n.proxy.progress();const g=r.getRowsHeight(r.frozenRowCount,r.rowCount-1-r.bottomFrozenRowCount);function p(){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,g-n.bodyGroup.attribute.height)}function QE(t,e){for(let i=0;i<e.table.colCount;i++){const r=new QB({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 tL(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 eL(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&&(rL(n,i),s=n.start.row);const a=i.table.getCellRange(o,e);a.start.row<=e+1&&a.end.row>=e+1&&(rL(a,i),s=a.start.row),lt(s)&&(r=lt(r)?Math.min(r,s):s)}return r}function iL(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&&(rL({start:{row:s.mergeStartRow,col:i.table.isAutoRowHeight(e)?0:s.mergeStartCol},end:{row:s.mergeEndRow,col:i.table.isAutoRowHeight(e)?i.table.colCount-1:s.mergeEndCol}},i),n=s.mergeStartRow);const a=i.highPerformanceGetCell(o,e);a.mergeStartRow&&a.mergeEndRow&&a.mergeStartRow<e&&(rL({start:{row:a.mergeStartRow,col:i.table.isAutoRowHeight(e)?0:a.mergeStartCol},end:{row:a.mergeEndRow,col:i.table.isAutoRowHeight(e)?i.table.colCount-1:a.mergeEndCol}},i),n=a.mergeStartRow),lt(n)&&(r=lt(r)?Math.min(r,n):n)}return r}function rL(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 oL(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=NB(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=NB(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 nL(t){const e=t.bodyGroup.firstChild instanceof QB?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 sL(t){const e=t.colHeaderGroup.firstChild instanceof QB?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 aL(t){const e=t.rowHeaderGroup.lastChild instanceof QB?t.rowHeaderGroup.lastChild:t.rowHeaderGroup.lastChild?._prev;e&&(dL(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 lL(t){const e=t.cornerHeaderGroup.lastChild instanceof QB?t.cornerHeaderGroup.lastChild:t.cornerHeaderGroup.lastChild?._prev;e&&(dL(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 hL(t){const e=t.bottomFrozenGroup.firstChild instanceof QB?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 cL(t){const e=t.leftBottomCornerGroup.lastChild instanceof QB?t.leftBottomCornerGroup.lastChild:t.leftBottomCornerGroup.lastChild?._prev;e&&(dL(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=rB(i,t.table,r?r.start.col:e.col,r?r.start.row:e.row,rP).theme;e.setAttributes({fill:o?.group?.fill??void 0,stroke:o?.group?.stroke??void 0})})))}function dL(t,e,i){e&&t&&(i?t.insertBefore(e,i):t.appendChild(e))}function uL(t){let e=!1;for(let i=0;i<t.bodyGroup.childrenCount;i++){const r=t.bodyGroup.children[i];if(!yL(r))continue;const o=r.firstChild;t.colHeaderGroup.children[i]||pE(t.colHeaderGroup,0,0,o.col,o.col,0,0,"columnHeader",t.table),t.colHeaderGroup.children[i]?.appendChild(o),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height+o.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height-o.attribute.height),e=!0)}}function gL(t){let e=!1;for(let i=0;i<t.rowHeaderGroup.childrenCount;i++){const r=t.rowHeaderGroup.children[i];if(!yL(r))continue;const o=r.firstChild;t.cornerHeaderGroup.children[i]||pE(t.cornerHeaderGroup,0,0,o.col,o.col,0,0,t.table.isListTable()?"columnHeader":"cornerHeader",t.table),t.cornerHeaderGroup.children[i]?.appendChild(o),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height+o.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height-o.attribute.height),e=!0)}}function pL(t){let e=!1;for(let i=0;i<t.rightFrozenGroup.childrenCount;i++){const r=t.rightFrozenGroup.children[i];if(!yL(r))continue;const o=r.firstChild;t.rightTopCornerGroup.children[i]||pE(t.rightTopCornerGroup,0,0,o.col,o.col,0,0,"columnHeader",t.table),t.rightTopCornerGroup.children[i].appendChild(o),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height+o.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height-o.attribute.height),e=!0)}}function fL(t){let e=!1;for(let i=0;i<t.colHeaderGroup.childrenCount;i++){const r=t.colHeaderGroup.children[i];if(!yL(r))continue;const o=t.bodyGroup.children[i];if(!o)continue;const n=r.lastChild;dL(o,n,o.firstChild),e||(t.colHeaderGroup.setAttribute("height",t.colHeaderGroup.attribute.height-n.attribute.height),t.bodyGroup.setAttribute("height",t.bodyGroup.attribute.height+n.attribute.height),e=!0)}}function mL(t){let e=!1;for(let i=0;i<t.cornerHeaderGroup.childrenCount;i++){const r=t.cornerHeaderGroup.children[i];if(!yL(r))continue;const o=t.rowHeaderGroup.children[i];if(!o)continue;const n=r.lastChild;dL(o,n,o.firstChild),e||(t.cornerHeaderGroup.setAttribute("height",t.cornerHeaderGroup.attribute.height-n.attribute.height),t.rowHeaderGroup.setAttribute("height",t.rowHeaderGroup.attribute.height+n.attribute.height),e=!0)}}function bL(t){let e=!1;for(let i=0;i<t.rightTopCornerGroup.childrenCount;i++){const r=t.rightTopCornerGroup.children[i];if(!yL(r))continue;const o=t.rightFrozenGroup.children[i];if(!o)continue;const n=r.lastChild;dL(o,n,o.firstChild),e||(t.rightTopCornerGroup.setAttribute("height",t.rightTopCornerGroup.attribute.height-n.attribute.height),t.rightFrozenGroup.setAttribute("height",t.rightFrozenGroup.attribute.height+n.attribute.height),e=!0)}}function yL(t){return t instanceof QB&&"table-border-rect"!==t?.name}function CL(t){const e=BH();for(let i=t.proxy.colStart;i<=t.proxy.colEnd;i++){const r=t.getColGroup(i);r?.getChildren()?.forEach((t=>{e&&e.col===t.col&&e.row===t.row||t.children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}))}}function wL(t,e,i){i.getCell(t,e).children.forEach((t=>{"chart"===t.type&&(t.cacheCanvas=null,t.addUpdateBoundTag())}))}function vL(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=wM(rP("padding",e._getCellStyle(t.col,t.row),t.col,t.row,e)),o=new(RA.getComponent("axis"))(i,t.attribute.width,t.attribute.height,i.__vtableBodyChartCellPadding??r,e);t.clear(),t.appendChild(o.component),o.overlap()}}}))}))}function xL(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 _L(t,e,i){return new QB({x:0,y:0,width:t,height:e,clip:i??!1,pickable:!1})}function SL(t,e){return t.forEachChildrenSkipChild(((t,i)=>{t.setAttribute("x",e),e+=t.attribute.width})),e}function AL(t,e){return t.forEachChildrenSkipChild(((t,i)=>{t.setAttribute("y",e),e+=t.attribute.height})),e}function RL(t,e,i,r,o){const n=t.name;BL(i,r,(t=>t.name===n),(t=>{hP(e,t),t.name=e.name}),o),o.updateNextFrame()}function TL(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&&RL(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?RL(a,t,n,s,l):function(t,e,i,r){const o=r.getCell(t,e);if(lt(o.mergeStartCol)&<(o.mergeStartRow)&<(o.mergeEndCol)&<(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&&(hP(i,o),o.name=i.name)}else{let t;_S(o,"children",(e=>"sort"===e.attribute.funcType&&(t=e,!0))),t&&(hP(i,t),t.name=i.name)}}(n,s,t,l)}}function ML(t,e,i){t&&"empty"!==t.role&&t.forEachChildren((t=>{"group"===t.type?ML(t,e,i):e(t)&&i(t)}))}function BL(t,e,i,r,o){const n=o.getCell(t,e);if("cell"===n.role&<(n.mergeStartCol)&<(n.mergeStartRow)&<(n.mergeEndCol)&<(n.mergeEndRow)){const{colStart:t,colEnd:e,rowStart:s,rowEnd:a}=eH(n,o);for(let n=t;n<=e;n++)for(let t=s;t<=a;t++)ML(o.highPerformanceGetCell(n,t),i,r)}else ML(n,i,r)}function PL(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=yH(r,void 0),s.lineWidth=o,n&&(s.lineDash=n),s.lineCap="butt",Array.isArray(r)&&(s.strokeArrayColor=wM(r)),Array.isArray(o)&&(s.strokeArrayWidth=wM(o),s.lineWidth=1),t.setAttributes(s),t.role="corner-frozen",t}function HL(t,e,i,r){WE(r)&&LE(r);const o=r.scenegraph,n=kL(t.map((t=>t.col))).sort(((t,e)=>e-t)),s=kL(e.map((t=>t.col))).sort(((t,e)=>t-e)),a=kL(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;n.forEach((t=>{l.delAndReorder(t)})),n.length&&EL(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++,LL(t,e),t):void 0;if(i.colEnd-i.colStart+1<i.colLimit)return i.colEnd++,i.currentCol++,LL(t,e),t;return t}(t,o);EL(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=AA(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);const c=new Set;if(a.forEach((t=>{for(let e=0;e<r.rowCount;e++){const i=AA(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++){const i=`${t}-${e}`;c.has(i)||(RP(t,e,o.table,!1),c.add(i))}else RP(t,e,o.table,!1)}})),bt(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(!bt(h)){const t=Math.min(...s);o.proxy.colUpdatePos=t}o.proxy.colUpdateDirection="left",o.proxy.updateColGroups(2*o.proxy.screenColCount),u(),o.proxy.progress()}else n.length&&(o.proxy.updateColGroups(2*o.proxy.screenColCount),u(),o.proxy.progress());const d=r.getColsWidth(r.frozenColCount,r.colCount-1);function u(){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,d-o.bodyGroup.attribute.width)}function kL(t){const e=[];for(let i=0;i<t.length;i++)-1===e.indexOf(t[i])&&e.push(t[i]);return e}function EL(t){let e=t.bodyColStart;function i(i){i.col=e;const r=AA(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 LL(t,e){if(e.colHeaderGroup&&e.table.columnHeaderLevelCount>0){const r=new QB({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 QB({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 QB({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 QB({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)}}}p_(),D.load(eE),D.load(DP);class FL{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,Et(Fy.poptip,Ly,e),"node"===oS.mode?(Xu.setEnv("node",t.options.modeParams),i=t.canvasWidth,r=t.canvasHeight):t.options.canvas&&t.options.viewBox?(Xu.setEnv("browser"),i=t.options.viewBox.x2-t.options.viewBox.x1,r=t.options.viewBox.y2-t.options.viewBox.y1):(Xu.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 hg(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 QB({x:0,y:0,width:e,height:i,clip:!0,pickable:!1}),t.tableGroup.role="table";const r=_L(0,0,!t.table.internalProps.enableTreeStickCell);r.role="col-header",t.colHeaderGroup=r;const o=_L(0,0,!t.table.options.enableTreeStickCell);o.role="corner-header",t.cornerHeaderGroup=o;const n=_L(0,0,!0);n.role="row-header",t.rowHeaderGroup=n;const s=_L(e,0,!0);s.role="body",t.bodyGroup=s;const a=_L(0,0,!0);a.role="right-frozen",t.rightFrozenGroup=a;const l=_L(0,0,!0);l.role="bottom-frozen",t.bottomFrozenGroup=l;const h=_L(0,0);h.role="component",t.componentGroup=h;const c=_L(0,0,!0);c.role="corner-right-top-header",t.rightTopCornerGroup=c;const d=_L(0,0,!0);d.role="corner-right-bottom-header",t.rightBottomCornerGroup=d;const u=_L(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)}canvasShowMenu(){this.stage.addEventListener("rightdown",(t=>{const e=WB(t);e.eventArgs||(this.table.stateManager.triggerContextMenu(-1,-1,e.abstractPos.x,e.abstractPos.y),this.table.fireListeners(jS.CONTEXTMENU_CANVAS,{event:t,x:e.abstractPos.x,y:e.abstractPos.y,col:-1,row:-1,target:void 0}))}))}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 fH(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 NE(this.table),mH(this.tableGroup,this.table.theme.frameStyle,this.tableGroup.role,void 0,!0),this.table.isPivotChart()&&(PL(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle||this.table.theme.cornerHeaderStyle||{}),PL(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle||this.table.theme.cornerHeaderStyle||{}),PL(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||hE}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=AA(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)&&VE(this)}hideHoverIcon(t,e){!function(t,e,i){-1!==t&&-1!==e&&(BL(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&&(BL(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&&(BL(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&&(BL(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,Ri.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)&&BL(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=fh({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;TL({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++)BL(e,i,(t=>"frozen"===t.attribute.funcType),(r=>{const o=t.table.internalProps.headerHelper.getFrozenIcon(e,i);hP(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),BL(t,e,(t=>t.attribute.funcType===__.collapse||t.attribute.funcType===__.expand),(t=>{hP(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)&&BL(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){BL(t,e,(t=>t.attribute.funcType===__.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){BL(t,e,(t=>t.attribute.funcType===__.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,i=!1){if(i){const t=BH(),e=MH();t&&e&&(TH(this),wL(t.col,t.row,this))}if(-1===t||-1===e)return;const r=this.getCell(t,e);if(r?.firstChild?.deactivate){if(i)return void r?.firstChild?.deactivate?.(this.table,{forceRelease:!0,releaseChartInstance:!0,releaseColumnChartInstance:!0,releaseRowChartInstance:!0,releaseAllChartInstance:!0});const o=r?.firstChild,n=o.attribute.spec.type;r?.firstChild?.deactivate?.(this.table,this.table.options.chartDimensionLinkage?.showTooltip?{releaseChartInstance:"pie"!==n&&("scatter"===n?t!==this.table.stateManager.hover.cellPos.col&&e!==this.table.stateManager.hover.cellPos.row||this.table.stateManager.hover.cellPos.row<this.table.frozenRowCount||this.table.stateManager.hover.cellPos.row>this.table.rowCount-1-this.table.bottomFrozenRowCount||this.table.stateManager.hover.cellPos.col<this.table.frozenColCount||this.table.stateManager.hover.cellPos.col>this.table.colCount-1-this.table.rightFrozenColCount:this.table.options.indicatorsAsCol?e!==this.table.stateManager.hover.cellPos.row||this.table.stateManager.hover.cellPos.col<this.table.frozenColCount||this.table.stateManager.hover.cellPos.col>this.table.colCount-1-this.table.rightFrozenColCount:t!==this.table.stateManager.hover.cellPos.col||this.table.stateManager.hover.cellPos.row<this.table.frozenRowCount||this.table.stateManager.hover.cellPos.row>this.table.rowCount-1-this.table.bottomFrozenRowCount),releaseColumnChartInstance:"pie"!==n&&(t!==this.table.stateManager.hover.cellPos.col||this.table.stateManager.hover.cellPos.row<this.table.frozenRowCount||this.table.stateManager.hover.cellPos.row>this.table.rowCount-1-this.table.bottomFrozenRowCount),releaseRowChartInstance:"pie"!==n&&(e!==this.table.stateManager.hover.cellPos.row||this.table.stateManager.hover.cellPos.col<this.table.frozenColCount||this.table.stateManager.hover.cellPos.col>this.table.colCount-1-this.table.rightFrozenColCount)}:void 0)}}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=fh({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,cornerRadius:XE(0,t.table.theme.frameStyle?.cornerRadius,e,i,r,o,t.table)});let C;l&&(C=fh({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(){YE(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(){qE(this),ZE(this)}updateCellSelectBorder(t,e=!0){UE(this,t,e)}removeFillHandleFromSelectComponents(){this.selectedRangeComponents.forEach(((t,e)=>{t.fillhandle?.delete(),t.fillhandle=void 0}))}recreateAllSelectRangeComponents(){qE(this),this.table.stateManager.select.ranges.forEach((t=>{UE(this,t),YE(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&&nH(o,i,"col-corner",t),n&&nH(n,i,"right-top",t);const s=t.getColGroup(e);s&&nH(s,i,"row-body",t);const a=t.getColGroupInLeftBottomCorner(e);a&&nH(a,i,"left-bottom",t);const l=t.getColGroupInBottom(e);l&&nH(l,i,"bottom",t);const h=t.getColGroupInRightBottomCorner(e);h&&nH(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({async:!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=>{xL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{xL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{xL(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=>{xL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),o?.forEachChildren((t=>{xL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),n?.forEachChildren((t=>{xL(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=>{xL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),h?.forEachChildren((t=>{xL(t,i.getColWidth(t.col),i.getRowHeight(t.row))})),c?.forEachChildren((t=>{xL(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(xL(r,i.getColWidth(r.col),i.getRowHeight(r.row)),"adaptive"===i.heightMode&&e<i.rowCount-1){const r=t.highPerformanceGetCell(g,e+1);xL(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&&xL(h,i.getColWidth(h.col),i.getRowHeight(h.row))}}))}(this,t)}updateChartState(t,e){if(this.table.isPivotChart()){if(null==t||0===t?.length||0===Object.keys(t).length){const t=MH();t&&t.getChart()?.getComponentsByKey("brush")[0].clearBrushStateAndMask(),this.table.options.chartDimensionLinkage?.clearChartState?.()}!function(t,e,i){const r=t.table;if(r.isPivotChart()){r._selectedDataMode=i;const o=r._selectedDataItemsInChart.length;if((null==e||0===e?.length||0===Object.keys(e).length)&&0===o)return;const n=[];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]);n.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]);n.push(t)}It(r._selectedDataItemsInChart,n)||(r._selectedDataItemsInChart=n,r.internalProps.layoutMap.updateDataStateToChartInstance(),CL(t),r.scenegraph.updateNextFrame())}}(this,t,e)}}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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").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))),"checkbox-content"===t.name&&("indeterminate"===i?(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",!0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",void 0)):(t._checkboxGroup.getChildByName("checkbox").setAttribute("indeterminate",void 0),t._checkboxGroup.getChildByName("checkbox").setAttribute("checked",i)))}))}))}}updateAutoColWidth(t){this.table.internalProps._widthResizedColMap.delete(t);const e=this.table.getColWidth(t),i=rE(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?iE(this.table,0,this.table.colCount-1,!0):(t._clearColRangeWidthsMap(),t.frozenColCount>0&&iE(this.table,0,t.frozenColCount-1,!0),t.rightFrozenColCount>0&&iE(this.table,t.rightFrozenColCount,t.colCount-1,!0),iE(t,this.proxy.colStart,this.proxy.colEnd,!0))}recalculateRowHeights(){const t=this.table;t.internalProps.useOneRowHeightFillAll=!1,"adaptive"===t.heightMode||t.autoFillHeight?XP(this.table,0,this.table.rowCount-1,!0,!0):(t.frozenRowCount>0&&XP(this.table,0,t.frozenRowCount-1,!0,!0),t.bottomFrozenRowCount>0&&XP(this.table,t.bottomFrozenRowCount,t.rowCount-1,!0,!0),XP(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.table.containerFit?.width||this.table.containerFit?.height)&&this.updateChartSizeForResizeColWidth(-1),this.proxy.progress(),this.updateNextFrame()}updateTableSize(){const t=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),e=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);let i=t,r=e;if(i=this.table.containerFit?.width?this.table.tableNoFrameWidth:Math.min(this.table.tableNoFrameWidth,t),r=this.table.containerFit?.height?this.table.tableNoFrameHeight:Math.min(this.table.tableNoFrameHeight,e),this.tableGroup.setAttributes({x:this.table.tableX,y:this.table.tableY,width:i,height:r}),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){iH(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];iH(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??this.rowHeaderGroup.firstChild?.firstChild,i=this.bodyGroup.firstChild?.lastChild??this.rowHeaderGroup.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+this.table.getRowHeight(i.row)+t<this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()&&(t=this.table.tableNoFrameHeight-this.table.getFrozenRowsHeight()-this.table.getBottomFrozenRowsHeight()-i.attribute.y-this.table.getRowHeight(i.row)),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(),FE(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),!1===this.table.options.menu?.contextMenuWorkOnlyCell&&this.canvasShowMenu(),this.updateNextFrame()}dealWidthMode(){const t=this.table;if("adaptive"===t.widthMode){t._clearColRangeWidthsMap();const e=t.tableNoFrameWidth;let i=0,r=0,o=t.colCount;if("only-body"===t.widthAdaptiveMode){for(let e=0;e<t.colCount;e++)if(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount){i+=t.getColWidth(e)}r=t.rowHeaderLevelCount,o=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount}lE(e-i,r,o,!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);"only-body"===t.widthAdaptiveMode&&(e<t.rowHeaderLevelCount||t.isPivotChart()&&e>=t.colCount-t.rightFrozenColCount)&&(i+=o),r+=o}if(r<e&&r>i){let r=0,o=t.colCount;"only-body"===t.widthAdaptiveMode&&(r=t.rowHeaderLevelCount,o=t.isPivotChart()?t.colCount-t.rightFrozenColCount:t.colCount),lE(e-i,r,o,!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++)nL(t),sL(t),hL(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++)aL(t),lL(t),cL(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??t.cornerHeaderGroup.firstChild?.childrenCount??t.table.frozenRowCount}(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++)aL(t),lL(t),cL(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++)nL(t),sL(t),hL(t)}oL(t),t.recreateAllSelectRangeComponents(),t.frozenColCount=t.table.frozenColCount,t.frozenRowCount=t.colHeaderGroup.firstChild?.childrenCount??t.cornerHeaderGroup.firstChild?.childrenCount??t.table.frozenRowCount,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++)fL(t),mL(t),bL(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++)uL(t),gL(t),pL(t)}oL(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({needUpdateCellY:!0}),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=AA(this.table,i,n);s?t=this.getCell(s.start.col,s.start.row):t.setAttribute("width",r);const a=wM(rP("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=SL(this.cornerHeaderGroup,0),e=SL(this.rowHeaderGroup,0),i=this.colHeaderGroup.hasChildNodes()&&this.colHeaderGroup.firstChild?SL(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?SL(this.bodyGroup,this.bodyGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bodyGroup.firstChild.col-1):0):0,o=SL(this.rightFrozenGroup.childrenCount>0?this.rightFrozenGroup:this.rightTopCornerGroup,0);this.bottomFrozenGroup.hasChildNodes()&&this.bottomFrozenGroup.firstChild&&SL(this.bottomFrozenGroup,this.bottomFrozenGroup.firstChild.col>0?this.table.getColsWidth(this.table.frozenColCount??0,this.bottomFrozenGroup.firstChild.col-1):0),SL(this.leftBottomCornerGroup,0),SL(this.rightTopCornerGroup,0),SL(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)}updateContainerAttrHeightAndY(){for(let t=0;t<this.cornerHeaderGroup.children.length;t++)AL(this.cornerHeaderGroup.children[t],0);for(let t=0;t<this.colHeaderGroup.children.length;t++)AL(this.colHeaderGroup.children[t],0);for(let t=0;t<this.rightTopCornerGroup.children.length;t++)AL(this.rightTopCornerGroup.children[t],0);for(let t=0;t<this.rowHeaderGroup.children.length;t++)this.rowHeaderGroup.children[t].firstChild&&AL(this.rowHeaderGroup.children[t],this.rowHeaderGroup.children[t].firstChild.row>0?this.table.getRowsHeight(this.table.frozenRowCount??0,this.rowHeaderGroup.children[t].firstChild.row-1):0);for(let t=0;t<this.bodyGroup.children.length;t++)this.bodyGroup.children[t].firstChild&&AL(this.bodyGroup.children[t],this.bodyGroup.children[t].firstChild.row>0?this.table.getRowsHeight(this.table.frozenRowCount??0,this.bodyGroup.children[t].firstChild.row-1):0);for(let t=0;t<this.rightFrozenGroup.children.length;t++)this.rightFrozenGroup.children[t].firstChild&&AL(this.rightFrozenGroup.children[t],this.rightFrozenGroup.children[t].firstChild.row>0?this.table.getRowsHeight(this.table.frozenRowCount??0,this.rightFrozenGroup.children[t].firstChild.row-1):0);for(let t=0;t<this.leftBottomCornerGroup.children.length;t++)AL(this.leftBottomCornerGroup.children[t],0);for(let t=0;t<this.bottomFrozenGroup.children.length;t++)AL(this.bottomFrozenGroup.children[t],0);for(let t=0;t<this.rightBottomCornerGroup.children.length;t++)AL(this.rightBottomCornerGroup.children[t],0)}updateContainer(t={async:!1,needUpdateCellY:!1}){t.async?this._needUpdateContainer||(this._needUpdateContainer=!0,setTimeout((()=>{this.updateContainerSync(t.needUpdateCellY??!1)}),0)):(this._needUpdateContainer=!0,this.updateContainerSync(t.needUpdateCellY??!1))}updateContainerSync(t=!1){this._needUpdateContainer&&(this._needUpdateContainer=!1,this.updateContainerAttrWidthAndX(),t&&this.updateContainerAttrHeightAndY(),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||bP(o,t,e,0,0,this.table)}createFrameBorder(){this.updateTableSize();const t=!this.isPivot&&!this.table.internalProps.transpose;mH(this.bodyGroup,this.table.theme.bodyStyle.frameStyle,this.bodyGroup.role,t?[!0,!0,!0,!1]:void 0),mH(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),mH(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle,this.colHeaderGroup.role,t?[!0,!0,!0,!1]:void 0),mH(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&&mH(this.leftBottomCornerGroup,this.table.theme.cornerLeftBottomCellStyle.frameStyle,this.leftBottomCornerGroup.role,t?[!0,!1,!0,!0]:void 0),this.table.theme.bottomFrozenStyle?.frameStyle&&mH(this.bottomFrozenGroup,this.table.theme.bottomFrozenStyle.frameStyle,this.bottomFrozenGroup.role,t?[!0,!0,!0,!1]:void 0),this.table.theme.rightFrozenStyle?.frameStyle&&mH(this.rightFrozenGroup,this.table.theme.rightFrozenStyle.frameStyle,this.rightFrozenGroup.role,void 0),this.table.theme.cornerRightTopCellStyle?.frameStyle&&mH(this.rightTopCornerGroup,this.table.theme.cornerRightTopCellStyle.frameStyle,this.rightTopCornerGroup.role,void 0),this.table.theme.cornerRightBottomCellStyle?.frameStyle&&mH(this.rightBottomCornerGroup,this.table.theme.cornerRightBottomCellStyle.frameStyle,this.rightBottomCornerGroup.role,void 0),mH(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--)dL(n,e.getColGroup(r),n.firstChild),dL(o,e.getColGroup(r,!0),o.firstChild),dL(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()||(pE(n,0,0,0,i.frozenColCount-1,0,-1,"rowHeader",i),pE(s,0,0,i.colCount-i.rightFrozenColCount,i.colCount-1,0,-1,"body",i)),pE(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--)dL(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--)dL(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--)dL(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),CH(this.bodyGroup),this.rowHeaderGroup.attribute.width,bH(this.bodyGroup,this.table.theme.bodyStyle.frameStyle)),this.colHeaderGroup.border&&(this.colHeaderGroup.appendChild(this.colHeaderGroup.border),CH(this.colHeaderGroup),this.cornerHeaderGroup.attribute.width,bH(this.colHeaderGroup,this.table.theme.headerStyle.frameStyle)),this.rowHeaderGroup.border&&(this.rowHeaderGroup.appendChild(this.rowHeaderGroup.border),CH(this.rowHeaderGroup)),this.cornerHeaderGroup.border&&(this.cornerHeaderGroup.appendChild(this.cornerHeaderGroup.border),CH(this.cornerHeaderGroup)),this.leftBottomCornerGroup.border&&(this.leftBottomCornerGroup.appendChild(this.leftBottomCornerGroup.border),CH(this.leftBottomCornerGroup)),this.bottomFrozenGroup.border&&(this.bottomFrozenGroup.appendChild(this.bottomFrozenGroup.border),CH(this.bottomFrozenGroup)),this.rightFrozenGroup.border&&(this.rightFrozenGroup.appendChild(this.rightFrozenGroup.border),CH(this.rightFrozenGroup)),this.rightTopCornerGroup.border&&(this.rightTopCornerGroup.appendChild(this.rightTopCornerGroup.border),CH(this.rightTopCornerGroup)),this.rightBottomCornerGroup.border&&(this.rightBottomCornerGroup.appendChild(this.rightBottomCornerGroup.border),CH(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=FS(e);i.attribute.width>0&&i.attribute.height>0?wH(i,[d[0],0,0,0]):r.attribute.height>0?wH(r,[d[0],0,0,0]):o.attribute.width>0?wH(o,[d[0],0,0,0]):wH(n,[d[0],0,0,0]),a.attribute.width>0&&a.attribute.height>0?wH(a,[0,0,0,d[3]]):c.attribute.height>0?wH(c,[0,0,0,d[3]]):o.attribute.width>0?wH(o,[0,0,0,d[3]]):wH(n,[0,0,0,d[3]]),s.attribute.width>0&&s.attribute.height>0?wH(s,[0,d[1],0,0]):r.attribute.height>0?wH(r,[0,d[1],0,0]):h.attribute.width>0?wH(h,[0,d[1],0,0]):wH(n,[0,d[1],0,0]),l.attribute.width>0&&l.attribute.height>0?wH(l,[0,0,d[2],0]):h.attribute.width>0?wH(h,[0,0,d[2],0]):c.attribute.height>0?wH(c,[0,0,d[2],0]):wH(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 RP(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=xS(e.map((t=>t.row))).sort(((t,e)=>t-e)),s=xS(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(JE(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(this.table.columnHeaderLevelCount))for(let t=0;t<s.length;t++){const e=s[t],i=this.table.rowHeightsMap.get(e),r=YP(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=[]){HL(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++)RP(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++)RP(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++)RP(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.columnHeaderLevelCount,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=FB()[S_.loadingIconName];i&&hP(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 IL(t,e,i){const r=t.highPerformanceGetCell(e,i);if("cell"===r.role&<(r.mergeStartCol)&<(r.mergeStartRow)&<(r.mergeEndCol)&<(r.mergeEndRow)){const{colStart:e,colEnd:i,rowStart:o,rowEnd:n}=eH(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 zL(t,e,i,r,o){const n=t.table;for(let i=0;i<n.columnHeaderLevelCount;i++)IL(t,e,i);const s=t.getColGroup(e);return s?.addUpdateBoundTag(),!0}function OL(t,e,i,r,o,n){const s=t.table;for(let i=0;i<s.columnHeaderLevelCount;i++)IL(t,e,i);const a=t.getColGroup(e);return a?.addUpdateBoundTag(),!0}function DL(t,e,i,r,o){const n=t.table;for(let e=0;e<n.colCount;e++)IL(t,e,i);return!0}function WL(t,e,i,r,o,n){const s=t.table;for(let e=0;e<s.colCount;e++)IL(t,e,i);return!0}function NL(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===m_.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===m_.none)&&(e=-1,i=-1),c===e&&d===i)return;l.col=e,l.row=i,t.table.options.customConfig?.disableBuildInChartActive||(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===m_.single?a=!!function(t,e,i,r,o){return IL(t,e,i),!0}(t,e,i)||a:n===m_.row?a=!!DL(t,0,i)||a:n===m_.column?a=!!zL(t,e)||a:n===m_.cross&&(a=!!DL(t,0,i)||a,a=!!zL(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===m_.single?u=!!function(t,e,i,r,o){return IL(t,e,i),!0}(o,e,i)||u:n===m_.row?u=!!WL(o,0,i)||u:n===m_.column?u=!!OL(o,e)||u:n===m_.cross&&(u=!!WL(o,0,i)||u,u=!!OL(o,e)||u),n===m_.none||a||o.showHoverIcon(e,i),u&&t.table.scenegraph.updateNextFrame()}function GL(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=VL(t,e,n.col,n.row,i)),!s);r++);else o=i.sortState,o&&(n=i._getHeaderCellBySortState(o)),n&&(s=VL(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(jS.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:wS}})))}(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 VL(t,e,i,r,o){return o._getLayoutCellId(t,e)===o._getLayoutCellId(i,r)}const jL=BS(jS,{PIVOT_SORT_CLICK:"pivot_sort_click",DRILLMENU_CLICK:"drillmenu_click"}),UL=BS(jS,{VCHART_EVENT_TYPE:"vchart_event_type"});function KL(t,e,i){const r=Array.from(t.internalProps._heightResizedRowMap.keys()),o=e+(t.transpose?t.rowHeaderLevelCount:t.columnHeaderLevelCount);for(let e=0;e<r.length;e++)r[e]>=o&&(t.internalProps._heightResizedRowMap.delete(r[e]),t.internalProps._heightResizedRowMap.add(r[e]+i.length))}function $L(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)||"column"===i.stateManager.columnMove.movingColumnOrRow&&0===t.row){const o=i.getCellRange(e.col,r.start.row);e.row>=i.columnHeaderLevelCount&&(e.row=Math.max(i.columnHeaderLevelCount-1,0)),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})){if(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.table.isListTable()){const t=o.table.getRecordIndexByCell(s.col,s.row),e=o.table.getRecordByCell(s.col,s.row),i=o.table.getRecordHierarchyState(s.col,s.row);o.columnMove.rowTargetSize=SS(t,i,e)+1}let a,l,h,c;o.updateCursor("grabbing");const d=o.table.getCellLocation(o.columnMove.colSource,o.columnMove.rowSource);"columnHeader"===d||"column"===o.columnMove.movingColumnOrRow&&0===o.columnMove.rowSource?(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)||"row"===o.columnMove.movingColumnOrRow)&&(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(jS.CHANGING_HEADER_POSITION,{col:t,row:e,x:i,y:r,backX:l,lineX:a,backY:c,lineY:h,event:n,movingColumnOrRow:o.columnMove.movingColumnOrRow}),o.table.scenegraph.updateNextFrame()}else o.updateCursor("not-allowed"),o.columnMove.colTarget=o.columnMove.colSource,o.columnMove.rowTarget=o.columnMove.rowSource}function XL(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 YL(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 qL(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 ZL(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.get(t)?o.checkedState.get(t)[i]=r:o.checkedState.set(t,{[i]:r})}}function JL(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&&!st(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()?pt(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(ht(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=kS(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 QL(t,e,i,r){const o=r.scenegraph.getCell(t,e),n=o?.getChildByName("checkbox")||o?.getChildByName("checkbox-content")?._checkboxGroup?.getChildByName("checkbox");n&&("indeterminate"===i?(n.setAttribute("indeterminate",!0),n.setAttribute("checked",void 0)):(n.setAttribute("indeterminate",void 0),n.setAttribute("checked",i)))}function tF(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))}function eF(t,e,i,r,o,n,s,a,l){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=fh({pickable:!1,fill:l.cellBgColor??!1,lineWidth:l.cellBorderLineWidth??0,lineDash:l.cellBorderLineDash??[],stroke:a.map((t=>!!t&&l.cellBorderColor)),x:g.x1-t.tableGroup.attribute.x,y:g.y1-t.tableGroup.attribute.y,width:0,height:0,visible:!0,cornerRadius:XE(0,t.table.theme.frameStyle?.cornerRadius,e,i,r,o,t.table)});t.customSelectedRangeComponents.set(`${h}-${c}-${d}-${u}-${s}`,{rect:p,role:n}),t.tableGroup.insertAfter(p,"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)}function iF(t,e){t.forEach((t=>{!function(t,e,i){const r=t.table,o=e.start.col,n=e.start.row,s=e.end.col,a=e.end.row;e.skipBodyMerge;const l=Math.max(Math.min(s,o),0),h=Math.max(Math.min(a,n),0),c=Math.min(Math.max(s,o),r.colCount-1),d=Math.min(Math.max(a,n),r.rowCount-1),{needRowHeader:u,needRightRowHeader:g,needColumnHeader:p,needBottomColumnHeader:f,needBody:m,needCornerHeader:b,needRightTopCornerHeader:y,needLeftBottomCornerHeader:C,needRightBottomCornerHeader:w}=iP(l,h,c,d,r);b&&eF(t,l,h,Math.min(c,r.frozenColCount-1),Math.min(d,r.frozenRowCount-1),"cornerHeader",`${l}${h}${c}${d}`,[!0,!p,!u,!0],i);y&&eF(t,Math.max(l,r.colCount-r.rightFrozenColCount),h,c,Math.min(d,r.frozenRowCount-1),"rightTopCorner",`${l}${h}${c}${d}`,[!0,!0,!g,!p],i);if(C){const e=Math.min(c,r.frozenColCount-1);eF(t,l,Math.max(h,r.rowCount-r.bottomFrozenRowCount),e,d,"leftBottomCorner",`${l}${h}${c}${d}`,[!u,!f,!0,!0],i)}w&&eF(t,Math.max(l,r.colCount-r.rightFrozenColCount),Math.max(h,r.rowCount-r.bottomFrozenRowCount),c,d,"rightBottomCorner",`${l}${h}${c}${d}`,[!g,!0,!0,!f],i);p&&eF(t,Math.max(l,r.frozenColCount),h,Math.min(c,r.colCount-r.rightFrozenColCount-1),Math.min(d,r.frozenRowCount-1),"columnHeader",`${l}${h}${c}${d}`,[!0,!y,!m,!b],i);if(f){const e=Math.max(l,r.frozenColCount),o=Math.min(c,r.colCount-r.rightFrozenColCount-1);eF(t,e,Math.max(h,r.rowCount-r.bottomFrozenRowCount),o,d,"bottomFrozen",`${l}${h}${c}${d}`,[!m,!w,!0,!C],i)}if(u){const e=Math.max(h,r.frozenRowCount),o=Math.min(d,r.rowCount-r.bottomFrozenRowCount-1);eF(t,l,e,Math.min(c,r.frozenColCount-1),o,"rowHeader",`${l}${h}${c}${d}`,[!b,!m,!C,!0],i)}if(g){const e=Math.max(h,r.frozenRowCount),o=Math.min(d,r.rowCount-r.bottomFrozenRowCount-1);eF(t,Math.max(l,r.colCount-r.rightFrozenColCount),e,c,o,"rightFrozen",`${l}${h}${c}${d}`,[!y,!0,!w,!m],i)}m&&eF(t,Math.max(l,r.frozenColCount),Math.max(h,r.frozenRowCount),Math.min(c,r.colCount-r.rightFrozenColCount-1),Math.min(d,r.rowCount-r.bottomFrozenRowCount-1),"body",`${l}${h}${c}${d}`,[!p,!g,!f,!u],i)}(e.table.scenegraph,t.range,t.style)})),e.select.customSelectRanges=t,VE(e.table.scenegraph),e.table.scenegraph.updateNextFrame()}class rF{table;interactionState;interactionStateBeforeScroll;select;fillHandle;hover;hoverIcon;residentHoverIcon;columnResize;rowResize;columnMove;menu;sort;frozen;scroll;tablePosition;drill;sparkLine;_clearVerticalScrollBar;_clearHorizontalScrollBar;_frozenObserver;fastScrolling=!1;checkedState=new Map;headerCheckedState={};_checkboxCellTypeFields=[];_headerCheckFuncs={};radioState={};resetInteractionState=KS((t=>{this.updateInteractionState(t??f_.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=f_.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,rowSourceSize:0,rowTargetSize:0,x:0,y:0,moving:!1,movingColumnOrRow:void 0},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Xe,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=f_.default,this.select={highlightScope:m_.single,ranges:[],cellPos:{col:-1,row:-1},selecting:!1},this.fillHandle={isFilling:!1,startX:void 0,startY:void 0},this.hover={highlightScope:m_.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,rowSourceSize:0,rowTargetSize:0,x:0,y:0,moving:!1,movingColumnOrRow:void 0},this.menu={x:-1,y:-1,isShow:!1,itemList:[],bounds:new Xe,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=m_.none:"cross"===t?this.hover.highlightScope=m_.cross:"row"===t?this.hover.highlightScope=m_.row:"column"===t?this.hover.highlightScope=m_.column:"cell"===t&&(this.hover.highlightScope=m_.single),this.hover.singleStyle=!e,this.hover.disableHeader=i,(this.hover.highlightScope===m_.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),n=this.table.options.select?.cornerHeaderSelectMode?this.table.options.select?.cornerHeaderSelectMode:"body"===this.table.options.select?.headerSelectMode?this.table.options.select?.headerSelectMode:"all";this.select.highlightScope=!0===e?m_.none:"cross"===r?m_.cross:"row"===r?m_.row:"column"===r?m_.column:m_.single,this.select.singleStyle=!e,this.select.disableHeader=i,this.select.headerSelectMode=t,this.select.cornerHeaderSelectMode=n,this.select.highlightInRange=o,this.select.disableCtrlMultiSelect=!1===this.table.options.keyboardOptions?.ctrlMultiSelect,this.select.disableShiftMultiSelect=!1===this.table.options.keyboardOptions?.shiftMultiSelect}isSelected(t,e){let i=!1;return this.select.ranges.forEach((r=>{IS(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===f_.scrolling&&(this.interactionStateBeforeScroll=this.interactionState);const e=this.interactionState;this.interactionState=t,e===f_.scrolling&&f_.default}updateHoverhighlightScope(t){this.hover.highlightScope!==t&&(this.hover.highlightScope=t)}updateHoverPos(t,e){NL(this,t,e)}updateSelectPos(t,e,i=!1,r=!1,o=!1,n=!0,s=!1){-1!==e&&-1!==e&&(this.select.selecting=!0),t<0&&(t=-1),e<0&&(e=-1),t>this.table.colCount-1&&(t=this.table.colCount-1),e>this.table.rowCount-1&&(e=this.table.rowCount-1);const a=this.select.cellPos.col,l=this.select.cellPos.row;!function(t,e,i,r,o,n,s=!0,a=!1){const{table:l,interactionState:h}=t,{scenegraph:c}=l,{cellPos:d}=t.select;if(t.select.isSelectAll=n,-1!==e&&-1!==i&&s&&l._makeVisibleCell(e,i),-1!==e&&-1!==i&&s)if(h===f_.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===d.col||-1===d.row||-1!==e&&-1!==i)if(h!==f_.default||l.eventManager.isDraging||l.stateManager.isResizeCol()){if((h===f_.grabing||l.eventManager.isDraging)&&!l.stateManager.isResizeCol()){let r=!0;-1===d.col&&(d.col=e),-1===d.row&&(d.row=i),d.col=e,d.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)}o&&o.start.row<=l.rowCount-1&&o.end.row<=l.rowCount-1&&o.start.col<=l.colCount-1&&o.end.col<=l.colCount-1&&c.updateCellSelectBorder(o,r)}}}else{const n=t.select.ranges[t.select.ranges.length-1];if(r&&n){if("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};r||(n.end=n.start),c.deleteLastSelectedRangeComponents(),c.updateCellSelectBorder(n)}else{let r=!0;if(-1===d.col||-1===d.row||o||(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;const{cornerHeaderSelectMode:o}=t.select;if("body"===o)t.select.ranges.push({start:{col:l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if("inline"===o){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:l.rowCount-1},skipBodyMerge:!0})}else if("cell"===o){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})}else 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;const{cornerHeaderSelectMode:o}=t.select;if("body"===o)t.select.ranges.push({start:{col:l.rowHeaderLevelCount+l.leftRowSeriesNumberCount,row:l.columnHeaderLevelCount},end:{col:l.colCount-1,row:l.rowCount-1},skipBodyMerge:!0});else if("cell"===o){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})}else if("inline"===o){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:l.rowCount-1},skipBodyMerge:!0})}else 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})}d.col=e,d.row=i;const n=t.select.ranges?.[t.select.ranges.length-1];n&&n.start.row<=l.rowCount-1&&n.end.row<=l.rowCount-1&&n.start.col<=l.colCount-1&&n.end.col<=l.colCount-1&&c.updateCellSelectBorder(n,r)}}else d.col=-1,d.row=-1,t.select.ranges=[],c.deleteAllSelectBorder();c.updateNextFrame()}(this,t,e,i,r,o,n,s),!this.table.hasListeners(jS.SELECTED_CHANGED)||a===t&&l===e||this.table.fireListeners(jS.SELECTED_CHANGED,{ranges:this.select.ranges,col:t,row:e})}checkCellRangeInSelect(t,e){return function(t,e,i,r){for(let r=0;r<i.length;r++)if(OS(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=YL(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)||this.table.isSeriesNumberInBody(e.start.col,e.start.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(),ZE(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(jS.SELECTED_CELL,{ranges:this.select.ranges,col:r,row:o})}else e&&0===this.select.ranges.length&&this.table.fireListeners(jS.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?qL(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):qL(r,i),i.columnResize.x=t,i.table.scenegraph.component.updateResizeCol(i.columnResize.col,e,i.columnResize.isRightFrozen),i.table._updateSize(),i.table.internalProps.legends?.forEach((t=>{t?.resize()})),i.table.internalProps.title&&i.table.internalProps.title.resize(),i.table.internalProps.emptyTip&&i.table.internalProps.emptyTip.resize(),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?tF(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):tF(r,i),i.rowResize.y=e,i.table.scenegraph.component.updateResizeRow(i.rowResize.row,t,i.rowResize.isBottomFrozen),i.table._updateSize(),i.table.internalProps.legends?.forEach((t=>{t?.resize()})),i.table.internalProps.title&&i.table.internalProps.title.resize(),i.table.internalProps.emptyTip&&i.table.internalProps.emptyTip.resize(),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(jS.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(jS.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,n){!function(t,e,i,r,o,n,s){if(!("canMoveHeaderPosition"in o.table.internalProps.layoutMap))return;if(o.columnMove.movingColumnOrRow=s,o.columnMove.moving=!0,o.columnMove.colSource=t,o.columnMove.rowSource=e,o.table.isListTable()){const i=o.table.getRecordIndexByCell(t,e),r=o.table.getRecordByCell(t,e),n=o.table.getRecordHierarchyState(t,e);o.columnMove.rowSourceSize=SS(i,n,r)+1}let a;if(o.columnMove.x=i-o.table.tableX,o.columnMove.y=r-o.table.tableY,"column"===s)a=o.columnMove.x;else if("row"===s)a=o.columnMove.y;else{const i=o.table.getCellLocation(t,e);a="columnHeader"===i?o.columnMove.x:"rowHeader"===i||o.table.internalProps.layoutMap.isSeriesNumberInBody(t,e)?o.columnMove.y:0}const{backX:l,lineX:h,backY:c,lineY:d}=o.table.scenegraph.component.showMoveCol(t,e,a);o.table.fireListeners(jS.CHANGE_HEADER_POSITION_START,{col:t,row:e,x:i,y:r,backX:l,lineX:h,backY:c,lineY:d,event:n,movingColumnOrRow:s});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,n)}updateMoveCol(t,e,i,r,o){$L(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||"row"===t.columnMove.movingColumnOrRow)&&(t.columnMove.rowSource>=0||"column"===t.columnMove.movingColumnOrRow)&&(t.columnMove.colTarget>=0||"row"===t.columnMove.movingColumnOrRow)&&(t.columnMove.rowTarget>=0||"column"===t.columnMove.movingColumnOrRow)&&!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,setTimeout((()=>{delete t.columnMove.colSource,delete t.columnMove.rowSource,delete t.columnMove.colTarget,delete t.columnMove.rowTarget,t.columnMove.movingColumnOrRow=void 0}),0),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)&&"row"!==t.columnMove.movingColumnOrRow||(t.table.changeRecordOrder(o.sourceIndex,o.targetIndex),t.changeCheckboxAndRadioOrder(o.sourceIndex,o.targetIndex)),"column"===o.moveType?XL(a,l,0,-1,t.table):XL(0,-1,h,c,t.table),t.table.clearCellStyleCache(),t.table.internalProps.layoutMap.isSeriesNumberInBody(t.columnMove.colSource,t.columnMove.rowSource)||"row"===t.columnMove.movingColumnOrRow?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,t.columnMove.movingColumnOrRow=void 0}),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.isPivotTable()||this.table.isListTable()&&this.table.internalProps.transpose?(this.table.rowHeaderLevelCount??0)+this.table.internalProps.layoutMap.leftRowSeriesNumberColumnCount:0);if(t){t=Math.min(t,this.table.colCount);const e=this.table.getContainer();if(e&&0===e.clientWidth){if(this._frozenObserver)return;return this._frozenObserver=new ResizeObserver((t=>{for(const e of t)if(e.contentRect.width>0)return this.clearFrozenObserver(),this.table.resize(),void setTimeout((()=>{this.checkFrozen()}),0)})),void this._frozenObserver.observe(e)}if(this.table.getColsWidth(0,t-1)>this.table._getMaxFrozenWidth())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))}else this.clearFrozenObserver()}clearFrozenObserver(){this._frozenObserver&&(this._frozenObserver.disconnect(),this._frozenObserver=null)}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(jS.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(jS.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;let r=Math.ceil(t*(e-this.table.scenegraph.height));lt(r)&&!isNaN(r)||(r=0);const o=r-this.table.scenegraph.proxy.deltaY-i;if(this.table.fireListeners(jS.CAN_SCROLL,{event:void 0,scrollTop:r-this.table.scenegraph.proxy.deltaY,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,dy:o}).some((t=>!1===t))){const t=this.scroll.verticalBarPos/(e-this.table.scenegraph.height);this.table.scenegraph.component.updateVerticalScrollBarPos(t)}else this.scroll.verticalBarPos=r,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(jS.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,dy:o}),i!==this.scroll.verticalBarPos&&this.checkVerticalScrollBarEnd()}updateHorizontalScrollBar(t){const e=this.table.getAllColsWidth(),i=this.scroll.horizontalBarPos;let r=Math.ceil(t*(e-this.table.scenegraph.width));lt(r)&&!isNaN(r)||(r=0);const o=r-this.table.scenegraph.proxy.deltaX-i;if(this.table.fireListeners(jS.CAN_SCROLL,{event:void 0,scrollTop:this.scroll.verticalBarPos,scrollLeft:r-this.table.scenegraph.proxy.deltaX,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:t,dx:o}).some((t=>!1===t))){const t=this.scroll.horizontalBarPos/(e-this.table.scenegraph.width);this.table.scenegraph.component.updateHorizontalScrollBarPos(t)}else this.scroll.horizontalBarPos=r,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(jS.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,dx:o}),i!==this.scroll.horizontalBarPos&&this.checkHorizontalScrollBarEnd()}setScrollTop(t,e,i=!0){if(!this.table||!this.table.scenegraph)return;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??0)-o)),t=Math.ceil(t);const n=this.scroll.verticalBarPos,s=t/(r-(this.table.scenegraph?.height??0));if((n!==t||!0===this.table.options?.customConfig?.scrollEventAlwaysTrigger)&&i){let i=t;lt(i)&&!isNaN(i)||(i=0);const o=i-n;if(this.table.fireListeners(jS.CAN_SCROLL,{event:e?.nativeEvent,scrollTop:i,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,dy:o}).some((t=>!1===t))){const t=this.scroll.verticalBarPos/(r-(this.table.scenegraph?.height??0));return void this.table.scenegraph.component.updateVerticalScrollBarPos(t)}}(t!==this.scroll.verticalBarPos||this.table.isPivotChart())&&this.updateHoverPos(-1,-1),this.scroll.verticalBarPos=t,lt(this.scroll.verticalBarPos)&&!isNaN(this.scroll.verticalBarPos)||(this.scroll.verticalBarPos=0),this.table.scenegraph.setY(-t),this.table.scenegraph.component.updateVerticalScrollBarPos(s);const a=this.scroll.verticalBarPos-n;this.table.fireListeners(jS.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,dy:a}),n!==t&&i&&this.checkVerticalScrollBarEnd()}setScrollLeft(t,e,i=!0){if(!this.table||!this.table.scenegraph)return;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);const n=this.scroll.horizontalBarPos,s=t/(r-this.table.scenegraph.width);if((n!==t||!0===this.table.options?.customConfig?.scrollEventAlwaysTrigger)&&i){let i=t;lt(i)&&!isNaN(i)||(i=0);const o=i-n;if(this.table.fireListeners(jS.CAN_SCROLL,{event:e?.nativeEvent,scrollTop:this.scroll.verticalBarPos,scrollLeft:i,scrollHeight:this.table.theme.scrollStyle?.width,scrollWidth:this.table.theme.scrollStyle?.width,viewHeight:this.table.tableNoFrameHeight,viewWidth:this.table.tableNoFrameWidth,scrollDirection:"horizontal",scrollRatioX:s,dx:o}).some((t=>!1===t))){const t=this.scroll.horizontalBarPos/(r-this.table.scenegraph.width);return void this.table.scenegraph.component.updateHorizontalScrollBarPos(t)}}t!==this.scroll.horizontalBarPos&&this.updateHoverPos(-1,-1),this.scroll.horizontalBarPos=t,lt(this.scroll.horizontalBarPos)&&!isNaN(this.scroll.horizontalBarPos)||(this.scroll.horizontalBarPos=0),this.table.scenegraph.setX(-t),this.table.scenegraph.component.updateHorizontalScrollBarPos(s);const a=this.scroll.horizontalBarPos-n;this.table.fireListeners(jS.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,dx:a}),n!==t&&i&&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(),this.table.scenegraph?.component.showFrozenColumnShadow(),t&&(clearTimeout(this._clearHorizontalScrollBar),this._clearHorizontalScrollBar=setTimeout((()=>{this.table.scenegraph?.component.hideFrozenColumnShadow(),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,lH.contextmenu)),this.table.fireListeners(jS.SHOW_MENU,{x:i,y:r,col:t,row:e,type:"contextmenu"}))}triggerDropDownMenu(t,e,i,r,o){this.table.fireListeners(jS.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,lH.dropDown),this.menu.bounds=this.table.scenegraph.component.menu.bounds),this.table.fireListeners(jS.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===__.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(jS.DROPDOWN_MENU_CLEAR,null),this.table.fireListeners(jS.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(lt(s)&<(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(ht(e)&&(e.menuKey||e.text)===(h||"")&&t===i)return!0;if(gt(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(jL.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];GL(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(jL.AFTER_SORT,{order:a?.order,field:this.table.getHeaderField(t,e),event:r})}setSelectInline(t){this.select.selectInline=t}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;_S(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(jL.FREEZE_CLICK)){const i=this.table.internalProps.layoutMap.columnObjects.slice(0,t+1);this.table.fireListeners(jL.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){t||(t=this.table.options.defaultCursor??"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=uh({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=hh({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(jS.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.getCellRange(t,e);if(n.start.col!==n.end.col||n.start.row!==n.end.row)for(let t=n.start.col;t<=n.end.col;t++)for(let e=n.start.row;e<=n.end.row;e++)ZL(t,e,i,r,o);else ZL(t,e,i,r,o)}(t,e,i,r,this)}setHeaderCheckedState(t,e){return function(t,e,i){i.headerCheckedState[t]=e,i.table.internalProps.enableCheckboxCascade&&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(lt(o.headerCheckedState[i]))return o.headerCheckedState[i];if("function"==typeof r)return;if(lt(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(lt(o.checkedState.get(t)?.[i]))return o.checkedState.get(t)[i];if(o.checkedState.get(t))o.checkedState.get(t)[i]=r;else if(o.table.internalProps.enableCheckboxCascade&&t.includes(",")){const e=t.split(",").slice(0,-1).join(",");o.checkedState.has(e)&&!0===o.checkedState.get(e)[i]?o.checkedState.set(t,{[i]:!0}):o.checkedState.set(t,{[i]:r})}else o.checkedState.set(t,{[i]:r})}return r}(t,e,i,r,this)}initCheckedState(t){return JL(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.enableCheckboxCascade&&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;ht(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?bt(o)?(n.radioState[i]={},n.radioState[i][t]=o):n.radioState[i]=t:(n.radioState[i]||(n.radioState[i]={}),bt(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(!lt(s.radioState[i])&&n)return bt(o)?(s.radioState[i]={},s.radioState[i][t]=o):s.radioState[i]=t,!0;if(bt(s.radioState[i])&&!bt(o))return s.radioState[i]===t;if(bt(s.radioState[i])&&bt(o))return!1;if(ht(s.radioState[i])&&!bt(o))return!1;if(ht(s.radioState[i])&&bt(o))return s.radioState[i][t]===o}else if("cell"===r){if(!lt(s.radioState[i])&&n)return s.radioState[i]={},bt(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(!lt(s.radioState[i]?.[t])&&n)return bt(o)?s.radioState[i][t]=o:s.radioState[i][t]=!0,!0;if(nt(s.radioState[i]?.[t])&&!bt(o))return s.radioState[i][t];if(nt(s.radioState[i]?.[t])&&bt(o))return!1;if(bt(s.radioState[i]?.[t])&&!bt(o))return!1;if(bt(s.radioState[i]?.[t])&&bt(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)),bt(n)&&bt(s)){if((t=n)>(e=s)){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(pt(n)&&pt(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),iF(t,this)}}function oF(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(jS.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(jS.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateSparklineHoverPose(-1,-1,0,0)})))}function nF(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!==f_.scrolling&&e.updateInteractionState(f_.scrolling);const a="scrolling"===e.table.options.theme?.scrollStyle?.visible;n&&(e.setScrollLeft(e.scroll.horizontalBarPos+n,t),e.showHorizontalScrollBar(a)),s&&(e.setScrollTop(e.scroll.verticalBarPos+s,t),e.showVerticalScrollBar(a)),i&&e.resetInteractionState(e.interactionStateBeforeScroll),t.nativeEvent?.cancelable&&("none"===e.table.internalProps.overscrollBehavior&&(o&&lF(e)||r&&hF(e))||Math.abs(o)>=Math.abs(r)&&0!==o&&sF(o,e)||Math.abs(o)<=Math.abs(r)&&0!==r&&aF(r,e))&&t.nativeEvent.preventDefault()}function sF(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 aF(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))}function lF(t){return!(t.table.getAllRowsHeight()-t.table.scenegraph.height<=0)}function hF(t){return!(t.table.getAllColsWidth()-t.table.scenegraph.width<=0)}class cF{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=Xu.getRequestAnimationFrame()(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=Xu.getRequestAnimationFrame()(this.inertia.bind(this)))}endInertia(){Xu.getCancelAnimationFrame()(this.runingId),this.runingId=null}isInertiaScrolling(){return!!this.runingId}}function dF(t,e,i){if(e&&-1!==t.stateManager.columnMove?.colSource&&-1!==t.stateManager.columnMove?.rowSource&&-1!==t.stateManager.columnMove?.colTarget&&-1!==t.stateManager.columnMove?.rowTarget){if(t.hasListeners(jS.CHANGE_HEADER_POSITION)){const{colSource:e,rowSource:r,colTarget:o,rowTarget:n,movingColumnOrRow:s}=t.stateManager.columnMove,a=t.stateManager.columnMove.rowSourceSize??0,l=t.stateManager.columnMove.rowTargetSize??0;t.fireListeners(jS.CHANGE_HEADER_POSITION,{target:{col:o,row:n+l-a},source:{col:e,row:r},movingColumnOrRow:s,event:i})}}else if(!e&&t.hasListeners(jS.CHANGE_HEADER_POSITION_FAIL)){const e=t.stateManager.columnMove.rowSourceSize??0,r=t.stateManager.columnMove.rowTargetSize??0;t.fireListeners(jS.CHANGE_HEADER_POSITION_FAIL,{target:{col:t.stateManager.columnMove.colTarget,row:t.stateManager.columnMove.rowTarget+r-e},source:{col:t.stateManager.columnMove.colSource,row:t.stateManager.columnMove.rowSource},movingColumnOrRow:t.stateManager.columnMove.movingColumnOrRow,event:i})}}function uF(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=WB(r);if(s.eventArgs&&e.hasListeners(jS.MOUSEMOVE_TABLE)&&e.fireListeners(jS.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===f_.grabing)return void(Math.abs(o-r.x)+Math.abs(n-r.y)>=1&&(i.isResizeCol()||i.isResizeRow()||i.isMoveCol()||(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(jS.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(jS.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(jS.MOUSEENTER_CELL)&&("cell"!==a?.role||!lt(a.col)||!lt(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(jS.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(jS.MOUSEMOVE_CELL)){let t,i;if(s.eventArgs?.target){const e=YL(s.eventArgs?.target);e&&(t=e.icon,i=e.position)}e.fireListeners(jS.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=WB(e),r=i?.eventArgs?.target;"table"===r?.role&&t.dealTableHover()})),e.scenegraph.tableGroup.addEventListener("pointerover",(t=>{const i=WB(t),r=i?.eventArgs?.target;if(r&&e.hasListeners(jS.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(jS.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(jS.MOUSEENTER_TABLE)&&e.fireListeners(jS.MOUSEENTER_TABLE,{event:t.nativeEvent})})),e.scenegraph.tableGroup.addEventListener("pointerleave",(r=>{i.isResizeCol()||i.isResizeRow()||i.isMoveCol()||i.isSelecting()||(i.updateInteractionState(f_.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(jS.MOUSELEAVE_CELL)&&-1!==e.stateManager.hover.cellPos.col&&-1!==e.stateManager.hover.cellPos.row&&e.fireListeners(jS.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(jS.MOUSELEAVE_TABLE,{event:r.nativeEvent})})),e.scenegraph.tableGroup.addEventListener("pointerdown",(r=>{if(e.hasListeners(jS.MOUSEDOWN_TABLE)&&e.fireListeners(jS.MOUSEDOWN_TABLE,{event:r.nativeEvent}),function(){try{const t=window.getSelection();if(t){if("function"==typeof t.removeAllRanges)return void t.removeAllRanges();if("function"==typeof t.empty)return void t.empty();if("function"==typeof t.collapse)return void t.collapse(document.body,0)}}catch(t){}}(),e.eventManager.isDown=!0,e.eventManager.LastBodyPointerXY={x:r.x,y:r.y},e.eventManager.LastPointerXY={x:r.x,y:r.y},0!==r.button)return;const o=WB(r);if(t.downIcon=void 0,i.interactionState!==f_.default)return;if(e.isPivotChart()&&"chart"!==o?.eventArgs?.target.type&&(e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0)),o.eventArgs?.target!==i.residentHoverIcon?.icon&&i.hideMenu(),"chart"===o?.eventArgs?.target.type)return;const n=e.editorManager?.completeEdit(r.nativeEvent);LS(n,(n=>{if(!e.options.customConfig?.selectCellWhenCellEditorNotExists&&!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===__.dragReorder&&(i.startMoveCol(o.eventArgs.col,o.eventArgs.row,o.abstractPos.x,o.abstractPos.y,o.eventArgs?.event?.nativeEvent),i.updateInteractionState(f_.grabing));else{if(t.cellIsHeaderCheck(o))return;if("touch"===r.pointerType){if(t.touchEnd=!1,t.touchSetTimeout=setTimeout((()=>{t.isTouchdown=!1,t.isLongTouch=!0,(t.touchEnd||!t.checkColumnResize(o,!0)&&!t.checkRowResize(o,!0))&&(t.touchEnd||!t.checkColumnMover(o))?t.dealTableSelect(o)&&!t.touchEnd&&i.updateInteractionState(f_.grabing):i.updateInteractionState(f_.grabing)}),500),e.hasListeners(jS.MOUSEENTER_CELL)){const t=r.path.find((t=>"cell"===t.role));"cell"!==t?.role||!lt(t.col)||!lt(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(jS.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 0),e.scenegraph.deactivateChart(-1,-1,!0),void i.updateInteractionState(f_.grabing);if(t.checkColumnMover(o))return void i.updateInteractionState(f_.grabing);if(t.checkCellFillhandle(o,!0)&&t.dealFillSelect(o))return void i.updateInteractionState(f_.grabing);t.dealTableSelect(o)&&i.updateInteractionState(f_.grabing)}}if(e.hasListeners(jS.MOUSEDOWN_CELL)){const t=WB(r);t.eventArgs&&e.fireListeners(jS.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",(r=>{if(0===r.button){if("grabing"===i.interactionState){if(i.updateInteractionState(f_.default),i.isResizeCol())pF(e);else if(i.isResizeRow())fF(e);else if(i.isMoveCol()){const t=e.stateManager.endMoveCol();dF(e,t,r.nativeEvent)}else if(i.isSelecting()){e.stateManager.endSelectCells(),e.stateManager.isFillHandle()&&e.stateManager.endFillSelect();const t=WB(r);if(e.eventManager.isDraging&&t.eventArgs&&e.hasListeners(jS.DRAG_SELECT_END)){const i={event:r.nativeEvent,cells:[],col:t.eventArgs.target.col,row:t.eventArgs.target.row,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth,target:t?.eventArgs?.target,mergeCellInfo:t.eventArgs?.mergeInfo};i.cells=e.getSelectedCellInfos(),e.fireListeners(jS.DRAG_SELECT_END,i)}}}else i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default);if(!e.eventManager.isDraging){const i=WB(r);if(!t.isTouchMove&&0===r.button&&i.eventArgs&&e.hasListeners(jS.CLICK_CELL)){const{col:t,row:o}=i.eventArgs,n=e.getCellInfo(t,o);let s,a;if(i.eventArgs?.target){const t=YL(i.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:i?.eventArgs?.target,mergeCellInfo:i.eventArgs?.mergeInfo};e.fireListeners(jS.CLICK_CELL,l)}}if(e.hasListeners(jS.MOUSEUP_CELL)){const t=WB(r);t.eventArgs&&e.fireListeners(jS.MOUSEUP_CELL,{col:t.eventArgs.col,row:t.eventArgs.row,event:r.nativeEvent,target:t?.eventArgs?.target,mergeCellInfo:t.eventArgs?.mergeInfo})}setTimeout((()=>{t.isDown=!1,t.isTouchdown=!1,t.isTouchMove=!1,t.isDraging=!1,t.touchMovePoints=[]}),0)}})),e.scenegraph.tableGroup.addEventListener("rightdown",(t=>{const r=WB(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(o>=0&&n>=0){const i=e.getSelectedCellRanges();let s=!1;if(i.length>0)for(let t=0;t<i.length;t++){const e=i[t],r=e.start.col,a=e.end.col,l=e.start.row,h=e.end.row;if(o>=r&&o<=a&&n>=l&&n<=h||o>=a&&o<=r&&n>=h&&n<=l||o>=r&&o<=a&&n>=h&&n<=l||o>=a&&o<=r&&n>=l&&n<=h){s=!0;break}}const a=e.options.select?.disableSelectOnContextMenu;if(s||a||e.selectCell(o,n),e.hasListeners(jS.CONTEXTMENU_CELL)){const i=e.getCellInfo(o,n);let s,a;if(r.eventArgs?.target){const t=YL(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};(e.options.eventOptions?.contextmenuReturnAllSelectedCells??1)&&(!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(jS.CONTEXTMENU_CELL,l)}}}})),e.scenegraph.tableGroup.addEventListener("pointertap",(r=>{if(e.stateManager.columnResize.resizing)return;const o=WB(r);if(!e.stateManager.columnResize.resizing&&!e.stateManager.columnMove.moving&&(t.dealIconClick(r,o),o?.eventArgs&&t.touchSetTimeout&&"touch"===r.pointerType)){const e=WB(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=WB(r);o.eventArgs?.target&&o.eventArgs?.target===i.residentHoverIcon?.icon||i.hideMenu();let n=!1;const s=r.target;s===e.scenegraph.tableGroup||s.isDescendantsOf(e.scenegraph.tableGroup)||(n=e.editorManager?.completeEdit(r.nativeEvent)),LS(n,(n=>{if(!e.options.customConfig?.selectCellWhenCellEditorNotExists&&!1===n)return;const s=r.target.role?.startsWith("icon")?r.target:void 0;if(t.downIcon=s,"touch"===r.pointerType||s||t.checkCellFillhandle(o)||i.columnResize.resizing||!t.checkColumnResize(o,!0));else{e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0),i.updateInteractionState(f_.grabing);const{eventArgs:t}=o;if(!t?.targetCell){e.getCellAt(o.abstractPos.x-e.theme.columnResize.resizeHotSpotSize/2,o.abstractPos.y)&&e.hasListeners(jS.MOUSEDOWN_TABLE)&&e.fireListeners(jS.MOUSEDOWN_TABLE,{event:r.nativeEvent})}}}))})),e.scenegraph.stage.addEventListener("pointerup",(t=>{"grabing"===i.interactionState&&(i.updateInteractionState(f_.default),i.isResizeCol()?pF(e):i.isResizeRow()&&fF(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(f_.default),t.dealTableHover();const o=!!i.select.ranges?.length;e.options.customConfig?.cancelSelectCellHook?e.options.customConfig?.cancelSelectCellHook(r)&&t.dealTableSelect():(e.options.select?.blankAreaClickDeselect??1)&&t.dealTableSelect(),i.endSelectCells(!0,o),i.updateCursor(),e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0)}})),e.scenegraph.stage.addEventListener("pointermove",(r=>{const o=WB(r);(r.target?.isDescendantsOf?.(e.scenegraph.tableGroup)??!1)&&(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=WB(t),{col:r,row:o}=i.eventArgs,n=e.getCellInfo(r,o),s=AA(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)){if(e.stateManager.setHeaderCheckedState(n.field,t.detail.checked),e.internalProps.enableHeaderCheckboxCascade){"checkbox"===e.getCellType(r,o)&&e.scenegraph.updateCheckboxCellState(r,o,t.detail.checked)}}else if(e.stateManager.setCheckedState(r,o,n.field,t.detail.checked),e.internalProps.enableCheckboxCascade){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(jS.CHECKBOX_STATE_CHANGE,a),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("radio_checked",(t=>{const i=WB(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=VB.exec(n.id)?.[1],l=AA(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(jS.RADIO_STATE_CHANGE,d),e.scenegraph.updateNextFrame()})),e.scenegraph.tableGroup.addEventListener("switch_state_change",(t=>{const i=WB(t),{col:r,row:o,target:n}=i.eventArgs,s=e.getCellInfo(r,o),a=AA(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(jS.SWITCH_STATE_CHANGE,l),e.scenegraph.updateNextFrame()})),e.scenegraph.stage.addEventListener("wheel",(t=>{if(!t.path.find((t=>"legend"===t.name))){e.editorManager?.completeEdit();const{cellPos:r}=e.stateManager.hover,o=r.col,n=r.row;e.scenegraph.deactivateChart(o,n,!0),e.eventManager._enableTableScroll&&nF(t,i)}}))}function gF(t){const e=t.table;t.gesture=new vp(e.scenegraph.tableGroup,{tap:{interval:300}}),t.gesture.on("doubletap",(t=>{!function(t,e){const i=WB(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 ZS(s.x1+e.scrollLeft,s.y1+e.scrollTop,s.x2-s.x1,s.y2-s.y1),n),e.hasListeners(jS.DBLCLICK_CELL)){const n=e.getCellInfo(r,o);let s,a;if(i.eventArgs?.target){const t=YL(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(jS.DBLCLICK_CELL,l)}}(t,e)}))}function pF(t){t.stateManager.endResizeCol();const e=[];for(let i=0;i<t.colCount;i++)e.push(t.getColWidth(i));t.fireListeners(jS.RESIZE_COLUMN_END,{col:t.stateManager.columnResize.col,colWidths:e})}function fF(t){t.stateManager.endResizeRow(),t.fireListeners(jS.RESIZE_ROW_END,{row:t.stateManager.rowResize.row,rowHeight:t.getRowHeight(t.stateManager.rowResize.row)})}let mF,bF=1;function yF(){return AS?bF=1:(bF=Math.ceil(window.devicePixelRatio||1),bF>1&&bF%2!=0&&(bF+=1)),bF}function CF(t){const e=t.table,i=e.stateManager,r=e.internalProps.handler;function o(t){if(e.hasListeners(jS.KEYDOWN)){const i={keyCode:t.keyCode??t.which,code:t.code,event:t,scaleRatio:e.canvas.getBoundingClientRect().width/e.canvas.offsetWidth};e.fireListeners(jS.KEYDOWN,i)}}r.on(e.getElement(),"blur",(i=>{const r=i.relatedTarget;if(r){const t=e.stateManager.select.ranges,i=1===t.length&&t[0].start.col===t[0].end.col&&t[0].start.row===t[0].end.row&&e.getEditor(e.stateManager.select.cellPos.col,e.stateManager.select.cellPos.row),o=i?.getInputElement?.();if(o===r)return}t.dealTableHover()})),r.on(e.getElement(),"keydown",(r=>{const n={keyCode:r.keyCode??r.which,code:r.code,event:r};if(e.fireListeners(jS.BEFORE_KEYDOWN,n),"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)))),kk(e,t,o))return;const n=!!e.editorManager?.editingEditor;e.editorManager?.completeEdit(),e.getElement().focus();const s=e.options.keyboardOptions?.shiftMultiSelect??!0;e.selectCell(t,o,r.shiftKey&&s),e.options.keyboardOptions?.moveEditCellOnArrowKeys&&n&&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(kk(e,t,o))return;const n=e.options.keyboardOptions?.shiftMultiSelect??!0;e.selectCell(t,o,r.shiftKey&&n)}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(kk(e,t,o))return;const n=e.options.keyboardOptions?.shiftMultiSelect??!0;e.selectCell(t,o,r.shiftKey&&n)}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),kk(e,t,o))return;const n=!!e.editorManager?.editingEditor;e.editorManager?.completeEdit(),e.getElement().focus(),e.selectCell(t,o),n&&e.getEditor(t,o)&&e.editorManager?.startEditCell(t,o)}}else if(!r.ctrlKey&&!r.metaKey){const t=e.options.editCellTrigger,o=e.stateManager.select.ranges;if(1===o.length&&o[0].start.col===o[0].end.col&&o[0].start.row===o[0].end.row&&("keydown"===t||Array.isArray(t)&&t.includes("keydown"))&&!e.editorManager?.editingEditor){const t=/^[a-zA-Z0-9+\-*\/%=.,\s]$/;r.key.match(t)&&(e.editorManager&&(e.editorManager.beginTriggerEditCellMode="keydown"),e.editorManager?.startEditCell(i.select.cellPos.col,i.select.cellPos.row,""))}}o(r)})),r.on(e.getElement(),"copy",(async i=>{e.keyboardOptions?.copySelected&&t.handleCopy(i)})),r.on(e.getElement(),"cut",(async i=>{e.keyboardOptions?.cutSelected&&t.handleCut(i)})),r.on(e.getElement(),"paste",(async i=>{e.keyboardOptions?.pasteValueToCell&&t.handlePaste(i)})),r.on(e.getElement(),"contextmenu",(t=>{!1!==e.eventOptions?.preventDefaultContextMenu?t.preventDefault():s(t)})),e.options.canvas||r.on(e.getContainer(),"resize",(t=>{e.isReleased||0===t.width&&0===t.height||((e.autoFillWidth||e.autoFillHeight||"adaptive"===e.widthMode||"adaptive"===e.heightMode)&&e.editorManager?.completeEdit(),lt(e.options.pixelRatio)||e.setPixelRatio(yF()),t.windowSizeNotChange||e.resize())}));const n=r=>{if(e.isReleased)return;e.eventManager.LastBodyPointerXY={x:r.x,y:r.y},e.eventManager.isDown=!0;const o=r.target;if(!e.getElement().contains(o)&&!e.internalProps.menuHandler.containElement(o)){const o=e.editorManager?.completeEdit(r);LS(o,(r=>{if(!1!==r&&e.options.select?.outsideClickDeselect){const e=!!i.select.ranges?.length;t.dealTableSelect(),i.endSelectCells(!0,e)}})),e.scenegraph.updateChartState(null,void 0),e.scenegraph.deactivateChart(-1,-1,!0)}};t.globalEventListeners.push({name:"pointerdown",env:"vglobal",callback:n}),Xu.addEventListener("pointerdown",n);const s=r=>{if(e.isReleased)return;const o=r.target;if(o!==e.canvas&&(t=>{if(i.menu.isShow&&setTimeout((()=>{e.internalProps.menuHandler.pointInMenuElement(t.clientX,t.clientY)||i.menu.isShow&&i.hideMenu()}),0),i.isResizeCol())pF(e);else if(i.isResizeRow())fF(e);else if(i.isMoveCol()){const i=e.stateManager.endMoveCol();dF(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(jS.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(jS.DRAG_SELECT_END,o)}}})(r),e.eventManager.LastBodyPointerXY=null,e.eventManager.isDown=!1,e.eventManager.isDraging=!1,e.eventManager.inertiaScroll.endInertia(),"grabing"===i.interactionState&&i.isResizeCol())pF(e);else if("grabing"===i.interactionState&&i.isResizeRow())fF(e);else if(i.isMoveCol()){const t=e.stateManager.endMoveCol();dF(e,t,r)}else if(e.editorManager?.editingEditor&&!e.getElement().contains(o)){const o=e.editorManager?.completeEdit(r);LS(o,(e=>{!1!==e&&(i.updateInteractionState(f_.default),t.dealTableHover())}))}i.updateInteractionState(f_.default)};t.globalEventListeners.push({name:"pointerup",env:"vglobal",callback:s}),Xu.addEventListener("pointerup",s);const a=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);i.interactionState===f_.grabing&&(i.isResizeCol()?(t.dealColumnResize(o,n),e.hasListeners(jS.RESIZE_COLUMN)&&e.fireListeners(jS.RESIZE_COLUMN,{col:e.stateManager.columnResize.col,colWidth:e.getColWidth(e.stateManager.columnResize.col)})):i.isResizeRow()?(t.dealRowResize(o,n),e.hasListeners(jS.RESIZE_ROW)&&e.fireListeners(jS.RESIZE_ROW,{row:e.stateManager.rowResize.row,rowHeight:e.getRowHeight(e.stateManager.rowResize.row)})):i.isMoveCol()&&t.dealColumnMover(o,n,r));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;nF({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(f_.grabing);const y=e.getTargetColAtConsiderRightFrozen(p,b),C=e.getTargetRowAtConsiderBottomFrozen(f,m);!e.options.select?.disableDragSelect&<(y)&<(C)&&e.stateManager.updateSelectPos("row"===e.stateManager.select.selectInline?e.colCount-1:y.col,"col"===e.stateManager.select.selectInline?e.rowCount-1: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:"vglobal",callback:a}),Xu.addEventListener("pointermove",a)}function wF(t){return!!t.changedTouches}function vF(t,e,i){if(i.indicatorsAsCol){if(i.hasTopIndicatorAxis&&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 xF(t,e,i,r,o,n,s){const a=s||"_vtable_rowSeries_number";let l=e+1;for(;pt(r[l])&&r[l]?.length>i.length;){const e=o.columnHeaderLevelCount+l;o.stateManager.setCheckedState(n,e,a,t),QL(n,e,t,o),l++}}function _F(t,e,i,r,o,n){let s=e.length-1;if(s>0){let e=t-1;for(;s>0&&e>=0;){if(pt(i[e])&&i[e]?.length===s||1===s&&bt(i[e])){SF(o,r.columnHeaderLevelCount+e,i[e],r,n),s--}e--}}}function SF(t,e,i,r,o){const{checkedState:n}=r.stateManager,s=i.toString(),a=o||"_vtable_rowSeries_number";!pt(i)||i.length;let l=!1;const h=[],c=Array.from(n.keys()).sort(((t,e)=>{const i=t.split(","),r=e.split(","),o=Math.max(i.length,r.length);for(let t=0;t<o;t++){const e=Number(i[t])??0,o=Number(r[t])??0;if(e!==o)return e-o}return 0})),d=c.map((t=>n.get(t))),u=c.filter((t=>t.startsWith(s+",")&&t!==s));if(d.forEach(((t,e)=>{const i=c[e],r=t,o=u.includes(i);l&&(o?h.push(r[a]):l=!1),i===s&&(l=!0)})),0===h.length)return;const g=h.every((t=>!!t)),p=h.every((t=>!t));g?(r.stateManager.setCheckedState(t,e,a,!0),QL(t,e,!0,r)):p?(r.stateManager.setCheckedState(t,e,a,!1),QL(t,e,!1,r)):(r.stateManager.setCheckedState(t,e,a,"indeterminate"),QL(t,e,"indeterminate",r))}function AF(t,e,i,r){const{checkedState:o}=i.stateManager,n=e.toString();!pt(e)||e.length;let s=!1;const a=Array.from(o.keys()).sort(((t,e)=>{const i=t.split(","),r=e.split(","),o=Math.max(i.length,r.length);for(let t=0;t<o;t++){const e=Number(i[t])??0,o=Number(r[t])??0;if(e!==o)return e-o}return 0})),l=a.filter((t=>t.startsWith(n+",")&&t!==n)),h=a.map((t=>o.get(t)));h.forEach(((e,i)=>{const o=a[i],h=e,c=0!==l.length&&l.includes(o);s&&(c?h[r]=t:s=!1),o===n&&(s=!0)}))}function RF(t,e,i){const r=t.getRecordShowIndexByCell(e,i);return t.dataSource.getHierarchyState(r)}function TF(t){t.on(jS.ICON_CLICK,(e=>{const{col:i,row:r,x:o,y:n,funcType:s,icon:a,event:l}=e,{stateManager:h}=t;if(s===__.dropDown)h.triggerDropDownMenu(i,r,o,n,l);else if(s===__.sort)h.triggerSort(i,r,a,l);else if(s===__.frozen)h.triggerFreeze(i,r,a);else if(s===__.drillDown)!function(t){t.fireListeners(jL.DRILLMENU_CLICK,t.stateManager.drill)}(t);else if(s===__.collapse||s===__.expand){const e=!!h.select.ranges?.length;h.updateSelectPos(-1,-1),h.endSelectCells(!0,e),t.toggleHierarchyState(i,r)}}))}yF();class MF{table;isTouchdown;isTouchMove;touchMovePoints;touchSetTimeout;touchEnd;isLongTouch;gesture;handleTextStickBindId;LastPointerXY;LastBodyPointerXY;isDown=!1;isDraging=!1;scrollYSpeed;scrollXSpeed;downIcon;globalEventListeners=[];inertiaScroll;bindSparklineHoverEvent;_enableTableScroll=!0;cutWaitPaste=!1;clipboardCheckTimer=null;cutOperationTime=0;lastClipboardContent="";cutCellRange=null;copySourceRange=null;constructor(t){this.table=t,this.handleTextStickBindId=[],this.inertiaScroll=new cF(t.stateManager),"node"===oS.mode||t.options.disableInteraction||(this.bindOuterEvent(),setTimeout((()=>{this.bindSelfEvent()}),0))}bindOuterEvent(){uF(this),CF(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!==f_.scrolling&&i.hideVerticalScrollBar()})),r.component.hScrollBar.addEventListener("pointerout",(t=>{i.interactionState!==f_.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(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.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!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.vScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.vScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.vScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1})),r.component.hScrollBar.addEventListener("pointermove",(t=>{r.table.stateManager.updateCursor(),t.stopPropagation()})),r.component.hScrollBar.addEventListener("pointerdown",(t=>{t.stopPropagation(),r.table.hasListeners(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.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!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),r.table.hasListeners(jS.MOUSEDOWN_TABLE)&&r.table.fireListeners(jS.MOUSEDOWN_TABLE,{event:t.nativeEvent})})),r.component.hScrollBar.addEventListener("pointerup",(()=>{i.fastScrolling=!1,r.table.eventManager.isDraging=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.hScrollBar.addEventListener("pointerupoutside",(()=>{i.fastScrolling=!1,i.interactionState===f_.scrolling&&i.updateInteractionState(f_.default)})),r.component.hScrollBar.addEventListener("scrollUp",(t=>{r.table.eventManager.isDraging=!1}));const o=fS(i.updateVerticalScrollBar,20),n=fS(i.updateHorizontalScrollBar,20);r.component.vScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),e.scenegraph.deactivateChart(-1,-1,!0);const n=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);o(n,t)})),r.component.hScrollBar.addEventListener("scrollDrag",(t=>{r.table.eventManager.isDown&&(r.table.eventManager.isDraging=!0),i.fastScrolling=!0,i.interactionState!==f_.scrolling&&i.updateInteractionState(f_.scrolling),r.table.stateManager.hideMenu(),r.table.editorManager?.completeEdit(),e.scenegraph.deactivateChart(-1,-1,!0);const o=t.detail.value[0]/(1-t.detail.value[1]+t.detail.value[0]);n(o)}))}(this),function(t){const e=t.table,i=e.stateManager,r=e.scenegraph;if(!1===Xu.envContribution.supportsTouchEvents)return;Xu.addEventListener("contextmenu",(t=>{t.stopPropagation(),t.preventDefault()}),{capture:!0}),t.touchMovePoints=[],e.scenegraph.tableGroup.addEventListener("touchstart",(i=>{if(i.target.isChildOf(r.component.vScrollBar)||i.target.isChildOf(r.component.vScrollBar))return;t.isTouchdown=!0;const o=i.nativeEvent;t.touchMovePoints.push({x:e.rotateDegree?o.changedTouches?.[0]?._canvasX??i.canvas?.x:i.page.x,y:e.rotateDegree?o.changedTouches?.[0]?._canvasY??i.canvas?.y:i.page.y,timestamp:Date.now()})}));const o=r=>{if(t.isLongTouch&&r.preventDefault(),t.isTouchdown&&wF(r))if(t.isTouchMove=!0,t.downIcon?.attribute?.funcType===__.dragReorder)r.preventDefault();else if(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:e.rotateDegree?r.changedTouches[0]._canvasX:r.changedTouches[0].pageX,y:e.rotateDegree?r.changedTouches[0]._canvasY: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;nF({deltaX:o,deltaY:n},i),r.cancelable&&("none"===e.internalProps.overscrollBehavior&&(n&&lF(i)||o&&hF(i))||Math.abs(n)>=Math.abs(o)&&0!==n&&sF(n,i)||Math.abs(n)<=Math.abs(o)&&0!==o&&aF(o,i))&&r.preventDefault()}};Xu.addEventListener("touchmove",o,{passive:!1}),t.globalEventListeners.push({name:"touchmove",env:"vglobal",callback:o});const n=i=>{if(t.touchEnd=!0,t.isLongTouch=!1,t.isTouchdown&&wF(i)){if(t.downIcon?.attribute?.funcType===__.dragReorder)i.preventDefault();else if(t.touchMovePoints?.length&&(t.touchMovePoints.length>4&&t.touchMovePoints.shift(),t.touchMovePoints.push({x:e.rotateDegree?i.changedTouches[0]._canvasX:i.changedTouches[0].pageX,y:e.rotateDegree?i.changedTouches[0]._canvasY: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)=>{nF({deltaX:-t,deltaY:-i},e.stateManager)}))}t.isTouchdown=!1,t.isTouchMove=!1,t.isDraging=!1,t.touchMovePoints=[]}};Xu.addEventListener("touchend",n),t.globalEventListeners.push({name:"touchend",env:"vglobal",callback:n});const s=e=>{t.touchEnd=!0,t.isLongTouch=!1,t.isTouchdown&&(t.isTouchdown=!1,t.isTouchMove=!1,t.touchMovePoints=[],t.isDraging=!1)};Xu.addEventListener("touchcancel",s),t.globalEventListeners.push({name:"touchcancel",env:"vglobal",callback:s})}(this),gF(this)}updateEventBinder(){setTimeout((()=>{this.table.isReleased||(WE(this.table)&&0===this.handleTextStickBindId?.length?(this.handleTextStickBindId.push(this.table.on(jS.SCROLL,(t=>{FE(this.table)}))),this.handleTextStickBindId.push(this.table.on(jS.RESIZE_COLUMN_END,(t=>{FE(this.table)}))),this.handleTextStickBindId.push(this.table.on(jS.RESIZE_ROW_END,(t=>{FE(this.table)})))):!WE(this.table)&&this.handleTextStickBindId&&(this.handleTextStickBindId.forEach((t=>{this.table.off(t)})),this.handleTextStickBindId=[]),oF(this.table))}),0)}bindSelfEvent(){var t;this.table.isReleased||(TF(this.table),(t=this.table).on(jS.DROPDOWN_MENU_CLICK,(()=>{t.stateManager.hideMenu()})),t.on(jS.SCROLL,(()=>{t.stateManager.hideMenu()})),this.updateEventBinder(),function(t){"browser"===oS.mode&&t.on(jS.CLICK_CELL,(e=>{const{col:i,row:r}=e;if("image"===e.target.type&&e.target.role&&e.target.role.startsWith("icon"))return;let o;o=t.internalProps.layoutMap.isHeader(i,r)?t.isPivotTable()?t._getHeaderLayoutMap(i,r).headerType:t.getHeaderDefine(i,r).headerType:t.getBodyColumnType(i,r);const n=t.isHeader(i,r)?t.getHeaderDefine(i,r):t.getBodyColumnDefine(i,r),s=t.getCellValue(i,r),a=t.getCellOriginValue(i,r);if("link"===o){let e=kS(n.linkJump,{col:i,row:r,table:t,value:s,dataValue:a,cellHeaderPaths:void 0});if(e=!1!==e,!e)return;const o=n.templateLink;let l,h=kS(n.linkDetect,{col:i,row:r,table:t,value:s,dataValue:a,cellHeaderPaths:void 0});if(h=!1!==h,o){const e=t.getCellOriginRecord(i,r);if(e&&e.vtableMerge)return;const n=Object.assign({__value:s,__dataValue:a},e);if(st(o))l=o(n,i,r,t);else{const t=/\{\s*(\S+?)\s*\}/g;l=o.replace(t,((t,e)=>n[e]))}}else if(h){if(!sA.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),function(t){t.on(jS.DBLCLICK_CELL,(e=>{if(e.federatedEvent){const i=WB(e.federatedEvent),r=t.scenegraph.getResizeColAt(i.abstractPos.x,i.abstractPos.y,i.eventArgs?.targetCell),o=t.options.disableDblclickAutoResizeColWidth??t.options.resize?.disableDblclickAutoResizeColWidth;if(t.eventManager.checkCellFillhandle(i))t.fireListeners(jS.DBLCLICK_FILL_HANDLE,{});else if(t._canResizeColumn(r.col,r.row)&&r.col>=0&&!o){t.scenegraph.updateAutoColWidth(r.col),t.internalProps._widthResizedColMap.add(r.col),t.scenegraph.updateChartSizeForResizeColWidth(r.col);const e=t.stateManager;e.columnResize.col<e.table.frozenColCount&&!e.table.isPivotTable()&&!e.table.transpose&&e.table.scenegraph.component.setFrozenColumnShadow(e.table.frozenColCount-1,e.columnResize.isRightFrozen),(e.columnResize.col>=e.table.colCount-e.table.rightFrozenColCount&&!e.table.isPivotTable()&&!e.table.transpose||e.table.options.rightFrozenColCount)&&e.table.scenegraph.component.setRightFrozenColumnShadow(e.table.colCount-e.table.rightFrozenColCount);const i=[];for(let e=0;e<t.colCount;e++)i.push(t.getColWidth(e));t.fireListeners(jS.RESIZE_COLUMN_END,{col:r.col,colWidths:i})}}}))}(this.table),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(jS.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(jS.MOUSELEAVE_TABLE,(e=>{t.stateManager.updateDrillState(void 0,void 0,!1,!1,-1,-1)}))}(this.table),oF(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=WB(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(),CL(t.scenegraph),t.scenegraph.updateNextFrame()}else t._selectedDimensionInChart?.length&&(t._selectedDimensionInChart.length=0,t.internalProps.layoutMap.updateDataStateToChartInstance(),CL(t.scenegraph),t.scenegraph.updateNextFrame())}))}(this.table),function(t){t.isPivotChart()&&(t.on(jS.MOUSEENTER_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=vF(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(jS.MOUSEENTER_AXIS,e)}}))})),t.on(jS.MOUSELEAVE_CELL,(e=>{t.scenegraph.getCell(e.col,e.row).forEachChildren((i=>{if("axis"===i.name){const i=vF(e.col,e.row,t.internalProps.layoutMap);e.axisPosition=i,t.fireListeners(jS.MOUSELEAVE_AXIS,e)}}))})))}(this.table),function(t){t.on("checkbox_state_change",(e=>{const{col:i,row:r,checked:o,field:n}=e;if(!t.internalProps.layoutMap.isSeriesNumber(i,r)||!0!==t.internalProps.enableCheckboxCascade)return;if(t.isHeader(i,r))return;const s=t.getCellOriginRecord(i,r),a=t.dataSource.currentPagerIndexedData,l=t.getRecordShowIndexByCell(i,r);let h=a[l];if(bt(h)&&(h=[h]),s.vtableMerge||s.children?.length)if(o)RF(t,i,r)===v_.collapse?AF(!0,h,t,n):xF(!0,l,h,a,t,i),_F(l,h,a,t,i);else{RF(t,i,r)===v_.collapse?AF(!1,h,t,n):xF(!1,l,h,a,t,i),_F(l,h,a,t,i);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 _F(l,h,a,t,i)}))}(this.table),function(t){t.on("checkbox_state_change",(e=>{if(!0!==t.internalProps.enableCheckboxCascade)return;const{col:i,row:r,checked:o,field:n}=e,s=t.internalProps.columns.some((t=>t.tree));if(t.internalProps.enableCheckboxCascade,!s)return;if(t.isHeader(i,r))return;const a=t.getCellOriginRecord(i,r),l=t.dataSource.currentPagerIndexedData,h=t.getRecordShowIndexByCell(i,r);let c=l[h];if(bt(c)&&(c=[c]),a.vtableMerge||a.children?.length)if(o)RF(t,i,r)===v_.collapse?AF(!0,c,t,n):xF(!0,h,c,l,t,i,n),_F(h,c,l,t,i,n);else{RF(t,i,r)===v_.collapse?AF(!1,c,t,n):xF(!1,h,c,l,t,i,n),_F(h,c,l,t,i,n);const e=t.stateManager.headerCheckedState._vtable_rowSeries_number,o=t.stateManager.updateHeaderCheckedState(n,i,r);e!==o&&t.scenegraph.updateHeaderCheckboxCellState(i,r,o)}else _F(h,c,l,t,i,n)}))}(this.table),function(t){t.on("checkbox_state_change",(e=>{if(!0!==t.internalProps.enableHeaderCheckboxCascade)return;const{col:i,row:r,checked:o,field:n}=e;if(t.isHeader(i,r))t.stateManager.setHeaderCheckedState(n,o),"checkbox"===t.getCellType(i,r)&&t.scenegraph.updateCheckboxCellState(i,r,o);else if(t.stateManager.setCheckedState(i,r,n,o),"checkbox"===t.getCellType(i,r)){const e=t.stateManager.headerCheckedState[n],o=t.stateManager.updateHeaderCheckedState(n,i,r);e!==o&&t.scenegraph.updateHeaderCheckboxCellState(i,r,o)}}))}(this.table),function(t){t.on(jS.CLICK_CELL,(e=>{const{col:i,row:r,target:o}=e;"button"!==o.name||o.attribute.disable||t.hasListeners(jS.BUTTON_CLICK)&&t.fireListeners(jS.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)&&kk(this.table,i.col,i.row))return e||this.table.stateManager.updateSelectPos(-1,-1),!1;if(!this.table.isHeader(i.col,i.row)&&kk(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}if(this.table.isPivotChart()&&("axis-label"===t?.eventArgs?.target.name||"chart"===t?.eventArgs?.target.type))return this.table.stateManager.updateSelectPos(-1,-1),!1;const r=this.table.keyboardOptions?.shiftMultiSelect??!0,o=this.table.keyboardOptions?.ctrlMultiSelect??!0;return this.table.stateManager.updateSelectPos("row"===this.table.stateManager.select.selectInline?this.table.colCount-1:i.col,"col"===this.table.stateManager.select.selectInline?this.table.rowCount-1:i.row,i.event.shiftKey&&r,(i.event.ctrlKey||i.event.metaKey)&&o,!1,!e&&(this.table.options.select?.makeSelectCellVisible??!0)),!0}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&&(lt(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));const s=this.table.keyboardOptions?.ctrlMultiSelect??!0;this.table.stateManager.updateSelectPos(e?o:n.end.col,e?r:n.end.row,!0,(i.event.ctrlKey||i.event.metaKey)&&s,!1,!e)}else{const t=this.table.keyboardOptions?.shiftMultiSelect??!0,r=this.table.keyboardOptions?.ctrlMultiSelect??!0;this.table.stateManager.updateSelectPos(i.col,i.row,i.event.shiftKey&&t,(i.event.ctrlKey||i.event.metaKey)&&r,!1,!e)}return!0}return!1}deelTableSelectAll(){this.table.stateManager.updateSelectPos(-1,-1,!1,!1,!0),this.table.fireListeners(jS.SELECTED_CELL,{ranges:this.table.stateManager.select.ranges,col:0,row:0})}dealMenuSelect(t){}checkColumnResize(t,e){const{eventArgs:i}=t;if(this.table.internalProps.enableTreeStickCell&&!i)return!1;const r=this.table.scenegraph.getResizeColAt(t.abstractPos.x,t.abstractPos.y,i?.targetCell);let o=!0;return this.table.internalProps.canResizeColumn&&!this.table.internalProps.canResizeColumn(r.col,r.row,this.table)&&(o=!1),o&&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){let i=!1;if(i="function"==typeof this.table.options.excelOptions?.fillHandle?this.table.options.excelOptions.fillHandle({selectRanges:this.table.stateManager.select.ranges,table:this.table}):this.table.options.excelOptions?.fillHandle,i){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=Math.min(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),n=Math.min(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);let s;if(i<this.table.colCount-1){s=this.table.scenegraph.highPerformanceGetCell(i,r).globalAABBBounds.x2}else if(0===o){s=this.table.scenegraph.highPerformanceGetCell(0,r).globalAABBBounds.x1}else{s=this.table.scenegraph.highPerformanceGetCell(o-1,r).globalAABBBounds.x2}const a=Math.abs(t.abstractPos.x-s);let l;if(r<this.table.rowCount-1){l=this.table.scenegraph.highPerformanceGetCell(i,r).globalAABBBounds.y2}else{l=this.table.scenegraph.highPerformanceGetCell(i,n-1).globalAABBBounds.y2}const h=Math.abs(t.abstractPos.y-l),c=18;if(this.table.stateManager.fillHandle?.isFilling||a<=c/2&&h<=c/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,e,i){let r=this.table.getColAtRelativePosition(t),o=this.table.getRowAtRelativePosition(e);-1===r&&"row"===this.table.stateManager.columnMove.movingColumnOrRow&&(r=0),-1===o&&"column"===this.table.stateManager.columnMove.movingColumnOrRow&&(o=0),lt(r)&<(o)&&this.table.stateManager.updateMoveCol(r,o,t,e,i)}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(jS.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 Th){const t=r.pickIcon(o.global);if(t)return this.table.fireListeners(jS.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):"vglobal"===t.env&&Xu.removeEventListener(t.name,t.callback)})),this.globalEventListeners=[]}enableScroll(){this._enableTableScroll=!0}disableScroll(){this._enableTableScroll=!1}async handleCopy(t,e=!1){const i=this.table;!e&&(this.cutWaitPaste=!1),this.copySourceRange=null;const r=i.stateManager.select.ranges;if(r&&1===r.length){const t=r[0];this.copySourceRange={startCol:Math.min(t.start.col,t.end.col),startRow:Math.min(t.start.row,t.end.row)}}else if(!r?.length)return void(this.copySourceRange=null);const o=this.table.getCopyValue(i.options.keyboardOptions?.getCopyCellValue?.value);if(lt(o)){t.preventDefault();const r=i.getElement();r&&r!==document.activeElement&&(r.focus(),await new Promise((t=>setTimeout(t,10))));try{if(navigator.clipboard&&navigator.clipboard.writeText){let e=!0;if(navigator.permissions&&navigator.permissions.query)try{e="granted"===(await navigator.permissions.query({name:"clipboard-write"})).state}catch(t){e=!0}if(e)try{if(window.ClipboardItem){let t=o;1===i.stateManager.select.ranges.length&&i.options.keyboardOptions?.getCopyCellValue?.html&&(t=this.table.getCopyValue(i.options.keyboardOptions?.getCopyCellValue.html));const e=function(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("")}(t);await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([e],{type:"text/html"}),"text/plain":new Blob([o],{type:"text/plain"})})])}else await navigator.clipboard.writeText(o)}catch(e){this.fallbackCopyToClipboard(o,t)}else this.fallbackCopyToClipboard(o,t)}else this.fallbackCopyToClipboard(o,t);i.fireListeners(jS.COPY_DATA,{cellRange:i.stateManager.select.ranges,copyData:o,isCut:e})}catch(e){this.fallbackCopyToClipboard(o,t)}}i.keyboardOptions?.showCopyCellBorder&&(!function(t){const e=t.stateManager.select.ranges,i=[];for(let t=0;t<e.length;t++){const r=e[t];i.push({range:r,style:{cellBorderColor:"blue",cellBorderLineWidth:2,cellBorderLineDash:[5,5]}})}t.stateManager.setCustomSelectRanges(i)}(i),i.clearSelected())}fallbackCopyToClipboard(t,e){try{if(e.clipboardData)return void e.clipboardData.setData("text/plain",t);document.activeElement&&document.activeElement!==document.body&&document.activeElement.blur();const i=document.createElement("textarea");i.value=t,i.style.position="fixed",i.style.left="-999999px",i.style.top="-999999px",i.style.opacity="0",i.setAttribute("readonly",""),i.setAttribute("aria-hidden","true"),document.body.appendChild(i),i.focus(),i.select(),i.setSelectionRange(0,t.length);try{document.execCommand("copy")}catch(t){}finally{document.body.removeChild(i)}}catch(t){}}async handleCut(t){this.handleCopy(t,!0),this.cutWaitPaste=!0,this.cutCellRange=this.table.getSelectedCellInfos(),this.clipboardCheckTimer&&clearTimeout(this.clipboardCheckTimer),this.clipboardCheckTimer=window.setTimeout((()=>{this.cutWaitPaste&&(this.cutWaitPaste=!1,this.cutCellRange=null,this.clipboardCheckTimer=null)}),3e4),this.saveClipboardContent()}handlePaste(t){this.cutWaitPaste?this.checkClipboardChanged().then((e=>{this.executePaste(t),e||this.clearCutArea(this.table),this.cutWaitPaste&&(this.cutWaitPaste=!1,this.cutCellRange=null,this.clipboardCheckTimer&&(clearTimeout(this.clipboardCheckTimer),this.clipboardCheckTimer=null))})).catch((()=>{this.executePaste(t),this.cutWaitPaste&&(this.cutWaitPaste=!1,this.cutCellRange=null,this.clipboardCheckTimer&&(clearTimeout(this.clipboardCheckTimer),this.clipboardCheckTimer=null))})):this.executePaste(t)}async executePaste(t){const e=this.table;if(!e.editorManager?.editingEditor){if(e.changeCellValues&&e.stateManager.select.ranges?.length>0)try{if(navigator.clipboard&&navigator.clipboard.read)try{const e=await navigator.clipboard.read();let i=!1;for(const t of e){if(t.types.includes("text/html")){await this.pasteHtmlToTable(t),i=!0;break}if(t.types.includes("text/plain")){await this.pasteTextToTable(t),i=!0;break}}i||await this.fallbackPasteFromClipboard(t)}catch(e){await this.fallbackPasteFromClipboard(t)}else await this.fallbackPasteFromClipboard(t)}catch(e){await this.fallbackPasteFromClipboard(t)}e.keyboardOptions?.showCopyCellBorder&&function(t){t.stateManager.setCustomSelectRanges([])}(e)}}async fallbackPasteFromClipboard(t){const e=this.table,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);try{const i=e.getElement();i&&i!==document.activeElement&&(i.focus(),await new Promise((t=>setTimeout(t,10))));const n=t.clipboardData||window.clipboardData||window.Clipboard;if(n){const t=n.getData("text")||n.getData("Text");if(t)return void await this.processPastedText(t,r,o)}}catch(t){}}async processPastedText(t,e,i){const r=this.table,o=t.split("\n"),n=[];let s;o.forEach((function(t){const e=t.split("\t"),i=[];n.push(i),e.forEach((function(t,r){r===e.length-1&&(t=t.trim()),i.push(t)}))})),r.options.keyboardOptions?.processFormulaBeforePaste&&this.copySourceRange&&(s=r.options.keyboardOptions.processFormulaBeforePaste(n,this.copySourceRange.startCol,this.copySourceRange.startRow,e,i));const a=await r.changeCellValues(e,i,s||n,!0);r.hasListeners(jS.PASTED_DATA)&&r.fireListeners(jS.PASTED_DATA,{col:e,row:i,pasteData:s||n,changedCellResults:a})}clearCutArea(t){try{const e=this.cutCellRange;if(!e||0===e.length)return;for(let i=0;i<e.length;i++)for(let r=0;r<e[i].length;r++)e[i][r]&&t.changeCellValue(e[i][r].col,e[i][r].row,void 0)}catch(t){}}async checkClipboardChanged(){if(!navigator.clipboard||!navigator.clipboard.readText)return!1;try{return await navigator.clipboard.readText()!==this.lastClipboardContent}catch(t){return!1}}saveClipboardContent(){navigator.clipboard&&navigator.clipboard.readText&&setTimeout((()=>{navigator.clipboard.readText().then((t=>{this.lastClipboardContent=t})).catch((t=>{}))}),50)}pasteHtmlToTable(t){const e=/<tr[^>]*>([\s\S]*?)<\/tr>/g,i=/<td[^>]*>([\s\S]*?)<\/td>/g,r=this.table,o=r.stateManager.select.ranges,n=o.length,s=Math.min(o[n-1].start.col,o[n-1].end.col),a=Math.min(o[n-1].start.row,o[n-1].end.row),l=Math.max(o[n-1].start.col,o[n-1].end.col),h=Math.max(o[n-1].start.row,o[n-1].end.row);let c=0,d=0,u=[];t.getType("text/html").then((t=>{t.text().then((async t=>{if(t&&/(<table)|(<TABLE)/g.test(t)){const o=Array.from(t.matchAll(e));for(const t of o){const e=t[1],r=Array.from(e.matchAll(i)).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," ")));u.push(r),c=Math.max(c,r?.length??0)}let n;d=u.length??0,u=this.handlePasteValues(u,d,c,h-a+1,l-s+1),r.options.keyboardOptions?.processFormulaBeforePaste&&this.copySourceRange&&(n=r.options.keyboardOptions.processFormulaBeforePaste(u,this.copySourceRange.startCol,this.copySourceRange.startRow,s,a));const g=await r.changeCellValues(s,a,n||u,!0);r.hasListeners(jS.PASTED_DATA)&&r.fireListeners(jS.PASTED_DATA,{col:s,row:a,pasteData:n||u,changedCellResults:g})}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((t=>this._pasteValue(t)))}))}))}))}))}async _pasteValue(t){const e=this.table,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,c=[];let d;t.split("\n").forEach((function(t,e){const i=t.split("\t"),r=[];c.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=c.length??0,c=this.handlePasteValues(c,h,l,a-n+1,s-o+1),e.options.keyboardOptions?.processFormulaBeforePaste&&this.copySourceRange&&(d=e.options.keyboardOptions.processFormulaBeforePaste(c,this.copySourceRange.startCol,this.copySourceRange.startRow,o,n));const u=await e.changeCellValues(o,n,d||c,!0);e.hasListeners(jS.PASTED_DATA)&&e.fireListeners(jS.PASTED_DATA,{col:o,row:n,pasteData:d||c,changedCellResults:u})}async pasteTextToTable(t){const e=this.table,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);try{const i=await t.getType("text/plain"),r=await i.text(),l=this.parsePastedData(r),h=l.length,c=Math.max(...l.map((t=>t.length)),0),d=this.handlePasteValues(l,h,c,a-n+1,s-o+1),u=await e.changeCellValues(o,n,d,!0);e.hasListeners(jS.PASTED_DATA)&&e.fireListeners(jS.PASTED_DATA,{col:o,row:n,pasteData:d,changedCellResults:u})}catch(t){}}parsePastedData(t){const e=t.replace(/\r(?!\n)/g,"\r\n").split("\r\n"),i=[];return e.length>1&&""===e[e.length-1]&&e.pop(),e.forEach((t=>{const e=t.split("\t").map((t=>this.processCellValue(t)));i.push(e)})),i}processCellValue(t){t.includes("\n")&&(t=t.replace(/^"(.*)"$/,"$1").replace(/["]*/g,(t=>new Array(Math.floor(t.length/2)).fill('"').join(""))));const e=Number(t);return isNaN(e)?t:e}handlePasteValues(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 BF=t=>{const e=t.value;return Number(e)>80?"#20a8d8":Number(e)>50?"#4dbd74":Number(e)>20?"#ffc107":"#f86c6b"};class PF extends $_{_showBar;_barColor;_barBgColor;_barPositiveColor;_barNegativeColor;_barAxisColor;_barHeight;_barBottom;_barPadding;_showBarMark;_barMarkPositiveColor;_barMarkNegativeColor;_barMarkWidth;_barMarkPosition;_barRightToLeft;_barMarkInBar;static get DEFAULT(){return mF||(mF=new PF)}constructor(t={},e={}){super(t,e),this._showBar=t.showBar??!0,this._barColor=t.barColor??BF,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,this._barMarkInBar=t.barMarkInBar??!0}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}get barMarkInBar(){return this._barMarkInBar}set barMarkInBar(t){this._barMarkInBar=t}clone(){return new PF(this,null)}}const HF=["type","content","style","color","width","height","marginRight","marginLeft","src","svg","name","path","positionType","tooltip","hover","cursor","shape","interactive","isGif"];class kF{expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=FB();this.expandIcon=e[S_.expandIconName],this.collapseIcon=e[S_.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=FB(),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 Y_;case"image":case"video":return X_;case"chart":case"sparkline":return $_;case"progressbar":return PF;case"checkbox":return Q_;case"radio":return tS;case"switch":return eS;case"button":return iS}return Y_}getCellIconFromRecordValue(t,e,i){if(Array.isArray(t))return t.map((t=>this.getCellIconFromRecordValue(t,e,i)));if(!DS.isObject(t)||"function"==typeof t)return this._table.getFieldData(t,e,i);const r={},o=t;return HF.forEach((t=>{if(void 0!==o[t]){const n=this._table.getFieldData(o[t],e,i);lt(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===v_.expand?this.expandIcon:i===v_.collapse?this.collapseIcon:void 0}getHierarchyIconWidth(){return this.expandIcon.width+(this.expandIcon.marginLeft??0)+(this.expandIcon.marginRight??0)}}function EF(t,e){const i=document.createElement(t);return e&&i.classList.add(...e),i}!function(){if("node"===oS.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}\n.vtable__menu-element--normal {\n\tcolor: rgba(20, 20, 20, 0.9);;\n}\n.vtable__menu-element__item-disabled {\n color: rgba(0, 0, 0, 0.25);\n cursor: not-allowed;\n\t background-color: #fff;\n}\n.vtable__menu-element__item-disabled:hover {\n\t background-color: #fff;\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 LF="vtable__menu-element",FF=`${LF}__item`,IF=`${LF}__content`,zF=`${LF}--hidden`,OF=`${LF}--shown`,DF=`${LF}--normal`,WF=`${LF}--select`,NF=`${LF}__icon`,GF=`${LF}__split`,VF=`${LF}__title`,jF=`${LF}__arrow`,UF=`${LF}__no-event`,KF=`${LF}__item-text`,$F=`${LF}__item-disabled`;function XF(){return EF("div",[LF,zF])}function YF(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(lt(n)&<(a)&&IS(s,n,a)&&i===h)return!0}return!1}class qF{_handler;_rootElement;_secondElement;_menuInstanceInfo;_showChildrenIndex;_mouseEnterSecondElement;constructor(t){this._handler=new XS,this._rootElement=XF(),this._secondElement=XF(),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(),e.target.classList.contains($F))return;if(this._rootElement.classList.contains(zF))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(jS.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),e.target.classList.contains($F))return;if(this._rootElement.classList.contains(zF))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(jS.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(e=>{if(this._rootElement.classList.contains(zF))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(zF),i?.classList.add(OF),i.innerHTML="";const s=this._menuInstanceInfo.content[r]?.children;for(let e=0;e<s.length;e++){const r=s[e],a=ZF(r,!!t.stateManager.menu.dropDownMenuHighlight&&YF(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(zF),t?.classList.add(OF)}else!s&&this._secondElement?.classList.contains(OF)&&setTimeout((()=>{if(!0!==this._mouseEnterSecondElement){this._showChildrenIndex=-1;const t=this._secondElement;t?.classList.remove(OF),t?.classList.add(zF)}}),300)})),this._secondElement?.addEventListener("wheel",(t=>{t.stopPropagation()})),this._secondElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(zF)||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(),e.target.classList.contains($F))return;if(this._secondElement.classList.contains(zF))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(YF(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(jS.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(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.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(OF),o?.classList.add(zF),n?.classList.remove(OF),n?.classList.add(zF),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&&YF(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(YF(t,t.stateManager.menu.dropDownMenuHighlight,"object"==typeof o?o?.menuKey||o?.text:o,e,i)){a=!0;break}}const l=ZF(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(OF),o?.classList.remove(zF),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement,e=this._secondElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(OF),t.classList.add(zF)),e?.parentElement&&(e.classList.remove(OF),e.classList.add(zF))}_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(-1===e&&-1===i)return!0;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,height:h,left:c,top:d}=a.getBoundingClientRect(),{x:u,y:g,width:p,height:f}=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=n.clientHeight,s=r-c;let u=o-4-d;if(u+i>h){u=u-i+n.firstElementChild.clientHeight+4}n.style.top=`${u}px`;let g=s;return g+e>l?g=g-e-p:g+=4,n.style.left=`${g}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;const a=this._secondElement;if(a){const{x:i,y:r,width:o,height:n}=a.getBoundingClientRect();if(t>i-5&&t<i+o+5&&e>r-5&&e<r+n+5)return!0}return!1}}function ZF(t,e){const i=EF("div",[FF,e?WF:DF]);if("object"==typeof t&&t.disabled&&i.classList.add($F),"string"==typeof t){const e=EF("span",[IF,UF,KF]);e.innerHTML=t,i.appendChild(e)}else if("object"==typeof t){const r=t.type??"item";if("split"===r)return i?.classList.add(GF),i;if(t?.icon?.svg)if(sA.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=EF("span",[NF,UF]);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=EF("span",[IF,UF,KF]);if(o.innerHTML=t.text,i.appendChild(o),"title"===r)i?.classList.add(UF,VF);else if(t?.children?.length){const t=EF("span",[IF,UF,jF]);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 JF;const QF={CHANGE_STYLE:"change_style"};class tI extends G_{_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 QF}static get DEFAULT(){return JF||(JF=new tI)}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 tI(this)}}let eI,iI,rI;class oI extends tI{static get DEFAULT(){return eI||(eI=new oI)}constructor(t={},e={}){super(t,e),this.textAlign=(t.textAlign??e?.textAlign)||"center"}clone(){return new oI(this)}}class nI extends tI{_autoWrapText;_lineClamp;static get DEFAULT(){return iI||(iI=new nI)}constructor(t={},e=null){super(t,e),this._autoWrapText=t?.autoWrapText??e?.autoWrapText,this._lineClamp=t?.lineClamp??e?.lineClamp}clone(){return new nI(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 sI extends tI{_size;_spaceBetweenTextAndIcon;_defaultFill;_defaultStroke;_disableFill;_checkedFill;_checkedStroke;_disableCheckedFill;_disableCheckedStroke;_checkIconImage;_indeterminateIconImage;static get DEFAULT(){return rI||(rI=new sI)}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 sI(t,this)}clone(){return new sI(this)}}function aI(t,e,i,r,o,n){return t||e?t instanceof tI?t:"function"==typeof t?aI(t(i),e,i,r,o,n):(t||(t={}),o&&!lt(t.autoWrapText)&&(t.autoWrapText=!0),r===sI?new sI(t??{},e??{},n.checkboxStyle??{}):new r(t??{},e??{})):r.DEFAULT}class lI{normalIcon;upIcon;downIcon;freezeIcon;frozenIcon;frozenCurrentIcon;dropDownAbsoluteIcon;expandIcon;collapseIcon;_table;constructor(t){this._table=t;const e=FB();this.freezeIcon=e[S_.freezeIconName],this.frozenIcon=e[S_.frozenIconName],this.frozenCurrentIcon=e[S_.frozenCurrentIconName],this.normalIcon=e[S_.normalIconName],this.upIcon=e[S_.upwardIconName],this.downIcon=e[S_.downwardIconName],this.dropDownAbsoluteIcon=e[S_.dropdownIconName],this.expandIcon=e[S_.expandIconName],this.collapseIcon=e[S_.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&&IS(n,i.col,i.row)){({order:o}=e);break}}else{const t=this._table._getHeaderCellBySortState(r);t&&IS(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=FB(),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||!lt(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||!lt(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&&YF(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:x_.right,marginRight:0,funcType:__.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:x_.right,marginRight:0,funcType:__.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===v_.expand)return this.expandIcon;if(i===v_.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 nI;case"image":case"video":return oI;case"checkbox":return sI}}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 hI extends EventTarget{_container;_table;_input;constructor(t,e){if(super(),this._table=t,"node"===oS.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 cI{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(!lt(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(lt(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,i=0,r=!1;const o=this.table.rowCount>0&&this.table.bottomFrozenRowCount>0?this.table.rowCount-this.table.bottomFrozenRowCount:-1;for(let n=t;n>=0;n--){if(this.cumulativeSum.has(n)){e+=this.cumulativeSum.get(n);break}e+=this.data.get(n)??this.table.getRowHeight(n),n>=o&&-1!==o&&(i=e,r=n===o)}if(r&&this.table.containerFit?.height&&this.table.bottomFrozenRowCount){const t=this.table.tableNoFrameHeight||0;e<t&&(e=t-this.table.getBottomFrozenRowsHeight()+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,r=[];for(let e=t;e<=i;e++)this.has(e)&&(r.push({position:e,value:this.get(e)}),this._remove(e));lt(e)&&this.put(t,e);for(const{position:t,value:e}of r)this.put(t+1,e)}getLastIndex(){return this._sort(),this._keys[this._keys.length-1]}delLast(){const t=this.getLastIndex();this._remove(t)}delete(t){for(let e=t;e<=this.getLastIndex();e++)this.cumulativeSum.delete(e);const e=this.getLastIndex();this.has(t)&&this._remove(t);const i=[];for(let r=t+1;r<=e;r++)this.has(r)&&i.push({position:r,value:this.get(r)});for(const{position:t,value:e}of i)this._remove(t),this._add(t-1,e)}adjustOrder(t,e,i){this.clearRange(),this._sort();const{_keys:r}=this;if(t>e){const o=[];for(let n=dI(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=dI(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 n=[];for(let i=t+e-1;i>=t;i--)n.push({position:i,value:this.get(i)}),this.delete(i);for(let t=0;t<e;t++)this.insert(o,n[t].value)}}function dI(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}const o=r<0?0:r;return t[o]===e?o:-1}class uI{dragReorderIconName;_table;constructor(t){this._table=t;const e=FB();this.dragReorderIconName=e[S_.dragReorderIconName]}getIcons(t,e){return[this.dragReorderIconName]}}class gI{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 qS;dimensionKeysIncludeVirtual=new qS;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 qS,this.dimensionKeysIncludeVirtual=new qS,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?aA:t.dimensionKey)||this.dimensionKeys.put(t.level,t.indicatorKey?aA:t.dimensionKey),this.dimensionKeysIncludeVirtual.contain(t.indicatorKey?aA:t.dimensionKey)||this.dimensionKeysIncludeVirtual.put(t.level,t.indicatorKey?aA: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.level?0:1:t.hierarchyState===v_.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===v_.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=v_.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=v_.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=v_.none,r=-1===t.level?0: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=Bt(this.tree.children);return CI(t),t}setAllNodesState(t){this._updateNodeHierarchyState(this.tree,t)}_updateNodeHierarchyState(t,e){t.children&&t.children.length>0&&t.children[0].dimensionKey?(-1!==t.level&&(t.hierarchyState=e),t.children.forEach((t=>{this._updateNodeHierarchyState(t,e)}))):t.hierarchyState=v_.none}}function pI(t,e){Array.isArray(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=[],pI(i.children,e.children))}))}function fI(t,e){let i=0;return t?.forEach((t=>{e?i++:t.children&&0!==t.children.length||i++,t.children&&(i+=fI(t.children,e))})),i}function mI(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),lt(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&&(lt(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 bI(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),lt(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&&(lt(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===v_.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===v_.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 yI(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),lt(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&&(lt(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===v_.expand&&t.children?.length>=1)s&&l.colIndex++,l._addHeadersForTreeMode(e,o,t.children??[],[...r,h],n,s&&t.hierarchyState===v_.expand,a,i);else{s&&l.colIndex++;for(let t=o+1;t<e.length;t++)e[t][l.colIndex]=h}}function CI(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&&CI(r)}}function wI(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&&wI(s.children,e,i,r,o);e.pop()}}function vI(t,e){let i,r;e.columnTree&&(!1!==t.options.indicatorsAsCol&&!1!==t.options.supplementIndicatorNodes&&(t.internalProps.columnTree=xI(t.internalProps.columnTree,e.indicators)),i=new gI(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=xI(t.internalProps.rowTree,e.indicators)),r=new gI(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:y_.NONE}):t.internalProps.dataConfig?t.internalProps.dataConfig.aggregationRules=[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:y_.NONE}]:t.internalProps.dataConfig={aggregationRules:[{field:i.indicatorKey,indicatorKey:i.indicatorKey,aggregationType:y_.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 xI(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 _I(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)&&wI(t,[],o,i,r)}function SI(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||(TI(t,e)??{top:-1,row:-1,bottom:-1,height:-1})}function AI(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||(RI(t,e)??{left:-1,col:-1,right:-1,width:1})}function RI(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)<=t&&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)<=t&&t<Math.round(o))return{left:n,col:r,right:o,width:i};o=n}return null})(i,r)}function TI(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 MI(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 RI(t,i)}function BI(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 TI(t,i)}class PI{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(st(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)})),Et({},...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===b_.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 HI(t,e){t=t.clone();for(const i in e){const r=e[i];lt(r)&&(t[`_${i}`]=r)}return t}const kI=()=>{RA.registerComponent("customCellStylePlugin",PI)},EI={};function LI(t){return Math.floor(t)===t}class FI extends qC{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 II{table;timeline;ticker;animation;tempGraphic;constructor(t){this.table=t,this.timeline=new kC,this.ticker=new zC(this.table.scenegraph.stage),this.ticker.addTimeline(this.timeline);this.ticker.setFPS(60),this.tempGraphic=fh({})}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;bt(o)&&!LI(o)&&(l=Math.floor(o),s=o-l),bt(n)&&!LI(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:bt(o)?d-this.table.getFrozenColsWidth():this.table.scrollLeft,y:bt(n)?u-this.table.getFrozenRowsHeight():this.table.scrollTop},p=nt(i)?i?3e3:0:i?.duration??3e3,f=nt(i)?i?"linear":"":i?.easing??"linear";new LC(e.GenAutoIncrementId(),this.timeline).bind(this.tempGraphic).play(new FI(r,g,p,f,{graphic:this.tempGraphic,table:this.table})),this.ticker.start()}clear(){this.timeline.clear(),this.ticker.stop()}}function zI(t){return st(t)?t:pt(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}class OI{plugins=new Map;table;pluginEventMap=new Map;constructor(t,e){this.table=t,e.plugins?.map((t=>{this.register(t),this._bindTableEventForPlugin(t)}))}register(t){this.plugins.set(t.id,t)}registerAll(t){t.forEach((t=>this.register(t)))}getPlugin(t){return this.plugins.get(t)}getPluginByName(t){return Array.from(this.plugins.values()).find((e=>e.name===t))}_bindTableEventForPlugin(t){t.runTime?.forEach((e=>{const i=this.table.on(e,((...i)=>{t.run?.(...i,e,this.table)}));this.pluginEventMap.set(t.id,[...this.pluginEventMap.get(t.id)||[],i])}))}removeOrAddPlugins(t){Array.from(this.plugins.values()).filter((e=>!t?.some((t=>t.id===e.id)))).forEach((t=>{this.pluginEventMap.get(t.id)?.forEach((t=>{this.table.off(t)})),this.release(),this.plugins.delete(t.id)}));const e=t?.filter((t=>!this.plugins.has(t.id)));e?.forEach((t=>{this.register(t),this._bindTableEventForPlugin(t)}))}updatePlugins(t){t?.forEach((t=>{t.update&&t.update()}))}release(){this.plugins.forEach((t=>{t.release?.(this.table)}))}}const{toBoxArray:DI}=GS,{isTouchEvent:WI}=NS,NI=/^\$(\d+)\$(\d+)$/;!function(){if("node"===oS.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 GI extends G_{internalProps;showFrozenIcon=!0;padding;globalDropDownMenu;tableNoFrameWidth;tableNoFrameHeight;tableX;tableY;_widthMode;_heightMode;_autoFillWidth;_autoFillHeight;_containerFit;_widthAdaptiveMode;_heightAdaptiveMode;customRender;canvasWidth;canvasHeight;contentOffsetX;contentOffsetY;_vDataSet;scenegraph;stateManager;eventManager;editorManager;animationManager;_pixelRatio;canvasSizeSeted;static get EVENT_TYPE(){return jS}options;version="1.22.11-alpha.12";pagination;id=`VTable${Date.now()}`;headerStyleCache;bodyStyleCache;bodyMergeTitleCache;bodyBottomStyleCache;container;isReleased=!1;_chartEventMap={};customCellStylePlugin;columnWidthComputeMode;reactCustomLayout;_hasAutoImageColumn;pluginManager;rotateDegree;constructor(t,e={}){if(super(),"node"===oS.mode?(e=t,t=null):t instanceof HTMLElement||(e=t,t=t.container?t.container:null),!t&&"node"!==e.mode&&!e.canvas)throw new Error("vtable's container is undefined");this.pluginManager=new OI(this,e),this.fireListeners(jS.BEFORE_INIT,{options:e,container:t}),t=e.container&&e.container instanceof HTMLElement?e.container:t,!1===e.customConfig?.imageAnonymous&&(Xu.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,containerFit:g={width:!1,height:!1},widthAdaptiveMode:p="only-body",heightAdaptiveMode:f="only-body",keyboardOptions:m,eventOptions:b,rowSeriesNumber:y,enableCheckboxCascade:C,enableHeaderCheckboxCascade:w,columnResizeMode:v,rowResizeMode:x="none",resize:_,dragHeaderMode:S,dragOrder:A,showFrozenIcon:R,allowFrozenColCount:T,padding:M,hover:B,menu:P,select:H,customRender:k,pixelRatio:E=bF,renderChartAsync:L,renderChartAsyncBatchCount:F,mode:I,modeParams:z,canvasWidth:O,canvasHeight:D,contentOffsetX:W,contentOffsetY:N,overscrollBehavior:G,limitMinWidth:V,limitMinHeight:j,clearDOM:U=!0}=e,{groupConfig:K,groupBy:$,groupTitleFieldFormat:X,groupTitleCustomLayout:Y,enableTreeStickCell:q}=e;this.container=t,this.options=e,this._widthMode=h,this._heightMode=c,this._widthAdaptiveMode=p,this._heightAdaptiveMode=f,this._autoFillWidth=d,this._autoFillHeight=u,void 0!==g&&(this._containerFit="boolean"==typeof g?{width:g,height:g}:g&&"object"==typeof g?{width:g.width??!0,height:g.height??!0}:{width:!1,height:!1}),this.customRender=k,this.padding={top:0,right:0,left:0,bottom:0},M&&("number"==typeof M?(this.padding.top=M,this.padding.left=M,this.padding.bottom=M,this.padding.right=M):(M.top&&(this.padding.top=M.top),M.bottom&&(this.padding.bottom=M.bottom),M.left&&(this.padding.left=M.left),M.right&&(this.padding.right=M.right))),(lt(D)||lt(O))&&(this.canvasSizeSeted=!0),this.tableNoFrameWidth=0,this.tableNoFrameHeight=0,this.contentOffsetX=W??0,this.contentOffsetY=N??0,this.canvasWidth=bt(O)?O:void 0,this.canvasHeight=bt(D)?D:void 0,this.columnWidthComputeMode=e.columnWidthComputeMode??"normal";const Z=this.internalProps={};void 0!==R&&(this.showFrozenIcon=R),"number"==typeof T&&T<=0&&(this.showFrozenIcon=!1),this.options.canvas?("node"!==oS.mode&&(Z.element=this.options.canvas.parentElement,Z.element.style.position="relative"),Z.focusControl=new hI(this,Z.element),Z.canvas=this.options.canvas,Z.context=Z.canvas.getContext("2d")):"node"!==oS.mode&&(Z.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),Z.focusControl=new hI(this,Z.element),Z.canvas=document.createElement("canvas"),Z.element.appendChild(Z.canvas),Z.context=Z.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)),Z.handler=new XS,bt(this.options.resizeTime)&&(Z.handler.resizeTime=this.options.resizeTime),Z.pixelRatio=E,Z.frozenColCount=i,Z.frozenRowCount=o,Z.unfreezeAllOnExceedsMaxWidth=r??!0,Z.defaultRowHeight=n,Z.defaultHeaderRowHeight=s??n,Z.defaultColWidth=a,Z.defaultHeaderColWidth=l??a,Z.keyboardOptions=m,Z.eventOptions=b,Z.rowSeriesNumber=y,Z.enableCheckboxCascade=C??y?.enableTreeCheckbox??!0,Z.enableHeaderCheckboxCascade=C||(w??!0),Z.columnResizeMode=_?.columnResizeMode??v,Z.canResizeColumn=_?.canResizeColumn,Z.rowResizeMode=_?.rowResizeMode??x,Z.dragHeaderMode=A?.dragHeaderMode??S??"none",Z.renderChartAsync=L,yk(F),Z.overscrollBehavior=G??"auto",Z.groupBy=K?.groupBy??$,Z.groupTitleCheckbox=K?.titleCheckbox??!!y?.enableTreeCheckbox,Z.groupTitleFieldFormat=K?.titleFieldFormat??X,Z.groupTitleCustomLayout=K?.titleCustomLayout??Y,Z.enableTreeStickCell=K?.enableTreeStickCell??q,Z._rowHeightsMap=new cI(this),Z._rowRangeHeightsMap=new Map,Z._colRangeWidthsMap=new Map,Z._widthResizedColMap=new Set,Z._heightResizedRowMap=new Set,this.colWidthsMap=new qS,this.colContentWidthsMap=new qS,this.colWidthsLimit={};const J=this;if(Z.calcWidthContext={_:Z,get full(){return"node"===oS.mode?J.canvasWidth/(E??1):this._.canvas.width/(this._.context.pixelRatio??J.internalProps.pixelRatio??window.devicePixelRatio)}},Z.cellTextOverflows={},Z.focusedTable=!1,Z.theme=_A.of(e.theme??_A.DEFAULT),Z.theme.isPivot=this.isPivotTable(),kB(Z.theme.functionalIconsStyle),t?(U&&(t.innerHTML=""),t.appendChild(Z.element),this._updateSize()):this._updateSize(),Z.bodyHelper=new kF(this),Z.headerHelper=new lI(this),Z.rowSeriesNumberHelper=new uI(this),Z.autoWrapText=e.autoWrapText,Z.enableLineBreak=e.enableLineBreak,Z.allowFrozenColCount=e.allowFrozenColCount??0,Z.limitMaxAutoWidth=e.limitMaxAutoWidth??450,Z.limitMinWidth=null!=V?"number"==typeof V?V:V?10:0:10,Z.limitMinHeight=null!=j?"number"==typeof j?j:j?10:0:10,this.scenegraph=new FL(this),this.stateManager=new rF(this),this.eventManager=new MF(this),this.animationManager=new II(this),e.legends){Z.legends=[];const t=RA.getFunction("createLegend");if(Array.isArray(e.legends)){for(let i=0;i<e.legends.length;i++)Z.legends.push(t(e.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else Z.legends.push(t(e.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if(Z.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:w_.bottom},e.tooltip),"html"===Z.tooltip.renderMode){const t=RA.getComponent("tooltipHandler");t&&(Z.tooltipHandler=new t(this,Z.tooltip.confine))}if(Z.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"===Z.menu.renderMode){const t=RA.getComponent("menuHandler");Z.menuHandler=new t(this)}this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyMergeTitleCache=new Map,this.bodyBottomStyleCache=new Map,Z.stick={changedCells:new Map},Z.customMergeCell=zI(e.customMergeCell);const Q=RA.getComponent("customCellStylePlugin");Q&&(this.customCellStylePlugin=new Q(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+=DI(this.internalProps.theme.frameStyle?.shadowBlur??[0])[1]??0}else if(this.theme.frameStyle){const e=DI(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=DI(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+=DI(this.internalProps.theme.frameStyle?.shadowBlur??[0])[2]??0}else if(this.theme.frameStyle){const t=DI(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),i=DI(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()}setContentInsetXY(t,e){this.contentOffsetX=t,this.contentOffsetY=e,this.options.contentOffsetX=t,this.options.contentOffsetY=e,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.options.frozenRowCount=t,this.stateManager.setFrozenRow(this.internalProps.frozenRowCount)}_setFrozenRowCount(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 bt(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:iB(this,t)}_getMaxFrozenWidth(){return iB(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=iB(this,e.min),i.minDef=e.min),e.max&&(i.max=iB(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,i=this.canvasWidth;this.internalProps.calcWidthContext={_:this.internalProps,get full(){return"node"===oS.mode?i/(t??1):this._.canvas.width/(this._.context.pixelRatio??e.internalProps.pixelRatio??window.devicePixelRatio)}},this.scenegraph.setPixelRatio(t)}}_updateSize(){const{padding:t}=this;let e=0,i=0;if(this.tableX=this.contentOffsetX,this.tableY=this.contentOffsetY,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"===oS.mode){const r=this.getElement();let o=0,n=0;const s=lt(this.canvasWidth),a=lt(this.canvasHeight);this.canvasSizeSeted&&(s&&(o=this.canvasWidth),a&&(n=this.canvasHeight));if((!s||!a)&&r.parentElement){const t=r.parentElement.style||window.getComputedStyle(r.parentElement);s||(o=r.parentElement.offsetWidth-(parseInt(t.paddingLeft,10)||0)-(parseInt(t.paddingRight,10)||0)),a||(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:l}=this.internalProps;e=(l.parentElement?.offsetWidth??1)-(this.options.tableSizeAntiJitter?1:0),i=(l.parentElement?.offsetHeight??1)-(this.options.tableSizeAntiJitter?1:0),this?.scenegraph?.stage?this.options?.viewBox&&!this.options?.canvas&&this.scenegraph.stage.resize(e,i):(l.style.width="",l.style.height="",l.width=e,l.height=i,l.style.width=`${e}px`,l.style.height=`${i}px`),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"node"===oS.mode&&(e=this.canvasWidth-1,i=this.canvasHeight-1);const r=this.getTheme().scrollStyle;let o=0,n=0;o=this.shouldVScrollBarWidthShow(e,i,r)?sS(r):0,n=this.shouldHScrollBarWidthShow(e,i,r)?nS(r):0;const s=Math.floor(e-o),a=Math.floor(i-n);if(this.internalProps.theme?.frameStyle){const t=DI(this.internalProps.theme.frameStyle?.borderLineWidth??[null]),e=DI(this.internalProps.theme.frameStyle?.shadowBlur??[0]);if(this.theme.frameStyle?.innerBorder)this.tableX+=this.contentOffsetX,this.tableY+=this.contentOffsetY,this.tableNoFrameWidth=s-(e[1]??0)-this.contentOffsetX,this.tableNoFrameHeight=a-(e[2]??0)-this.contentOffsetY;else{this.tableX+=(t[3]??0)+(e[3]??0),this.tableY+=(t[0]??0)+(e[0]??0);const i=(t[1]??0)+(e[1]??0);this.tableNoFrameWidth=s-(i>o?i-o:0)-((t[3]??0)+(e[3]??0))-this.contentOffsetX;const r=(t[2]??0)+(e[2]??0);this.tableNoFrameHeight=a-(r>n?r-n:0)-((t[0]??0)+(e[0]??0))-this.contentOffsetY}}this._clearColRangeWidthsMap(),this._clearRowRangeHeightsMap()}shouldVScrollBarWidthShow(t,e,i){if(i.hoverOn||"none"===i.visible)return!1;const r=this.getAllRowsHeight(),o=i.visible?nS(i):0;if(r>e-o&&r<=e){const e=this.getAllColsWidth(),r=i.visible?sS(i):0;if(e>t-r&&e<=t)return!1;if(e>t)return!0;if(e<=t-r)return!1}return!(r<=e-o)}shouldHScrollBarWidthShow(t,e,i){if(i.hoverOn||"none"===i.visible)return!1;const r=this.getAllColsWidth(),o=i.visible?sS(i):0;if(r>t-o&&r<=t){const t=this.getAllRowsHeight(),r=i.visible?nS(i):0;if(t>e-r&&t<=e)return!1;if(t>e)return!0;if(t<=e-r)return!1}return!(r<=t-o)}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 this.dataSource.rowHierarchyType}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){let i=r+this.getColWidth(e);return this.rightFrozenColCount>0&&e===this.colCount-this.rightFrozenColCount&&(i=this._getRangeSizeForContainerFit(t,e,i,"col")),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 o=this._getRangeSizeForContainerFit(t,e,o,"col"),t>=0&&e>=0&&this._colRangeWidthsMap.set(`$${t}$${e}`,Math.round(o)),Math.round(o)}getRowHeight(t){if(lt(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 bt(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{const r=this.rowCount-this.bottomFrozenRowCount;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,r-1)-Math.max(this.columnHeaderLevelCount,t)+1));let o=0;for(let t=r;t<e+1;t++)o+=this.getRowHeight(t);i=this._getRangeSizeForContainerFit(t,e,i+o,"row")}return this.options.customConfig?._disableColumnAndRowSizeRound?i:Math.round(i)}_getRangeSizeForContainerFit(t,e,i,r="col"){if(!isFinite(t)||!isFinite(e))return i;const o="col"===r?{totalCount:"colCount",frozenCount:"rightFrozenColCount",fitType:"width",tableSize:"tableNoFrameWidth",getSize:"getColWidth"}:{totalCount:"rowCount",frozenCount:"bottomFrozenRowCount",fitType:"height",tableSize:"tableNoFrameHeight",getSize:"getRowHeight"},n=this[o.tableSize];if(i>=n)return i;const s=this[o.totalCount]-this[o.frozenCount];if(!isFinite(this[o.totalCount])||this[o.frozenCount]<=0||s<0)return i;if(t>s||e<s||t===e||!this.containerFit?.[o.fitType])return i;const a=this[o.totalCount]-1;let l=n;if(t>0)for(let e=0;e<t;e++)if(l-=this[o.getSize](e),l<=0)return i;if(e!==a)for(let t=e+1;t<=a;t++)if(l-=this[o.getSize](t),l<=0)return i;return l}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||(!!this.internalProps.rowHeightConfig||(t>=0&&t<this.columnHeaderLevelCount?"auto"===this.getDefaultRowHeight(t):"auto"===this.internalProps.defaultRowHeight)))}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=NI.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||this.internalProps.rowCount<=0)return 0;return this.getRowsHeight(0,this.internalProps.rowCount-1)}getAllColsWidth(){if(!this.internalProps?.colCount||this.internalProps.colCount<=0)return 0;return this.getColsWidth(0,this.internalProps.colCount-1)}getColsWidths(){const t=this.colCount,e=[];for(let i=0;i<t;i++)e.push(this.getColWidth(i));return e}getMaxColWidth(t){const e=this.colWidthsLimit[t];let i=(e&&e.max)??1/0;return"string"==typeof i&&(i=iB(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=iB(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 ZS(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 ZS(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,a=Math.min(this.tableNoFrameWidth,this.getAllColsWidth()),l=Math.min(this.tableNoFrameHeight,this.getAllRowsHeight());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,a-this.getRightFrozenColsWidth()),n=a-(this.getColsWidth(t+1,this.colCount-1)??0)-o):this.isRightFrozenColumn(t)&&(o=a-(this.getColsWidth(t,this.colCount-1)??0));let h=this.getRowsHeight(0,e-1),c=this.getRowsHeight(e,r);const d=this.scrollTop;return this.isTopFrozenRow(e)&&this.isBottomFrozenRow(r)?c=this.tableNoFrameHeight-(this.getRowsHeight(e+1,this.rowCount-1)??0)-h:this.isTopFrozenRow(e)&&!this.isTopFrozenRow(r)?c=Math.max(c-d,this.getRowsHeight(e,this.frozenRowCount-1)):!this.isBottomFrozenRow(e)&&this.isBottomFrozenRow(r)?(h=Math.min(h-d,l-this.getBottomFrozenRowsHeight()),c=l-(this.getRowsHeight(e+1,this.rowCount-1)??0)-h):this.isBottomFrozenRow(e)&&(h=l-(this.getRowsHeight(e,this.rowCount-1)??0)),new ZS(Math.round(o),Math.round(h),Math.round(n),Math.round(c))}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 SI(t,this)}getColAt(t){return AI(t,this)}getCellAt(t,e){return function(t,e,i){const r=SI(e,i),{row:o,top:n,bottom:s,height:a}=r,l=AI(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=MI((o||s?t:t+i.scrollLeft)+i.tableX,s,i),l=BI((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)}getColAtRelativePosition(t){return function(t,e){let i=!1;(t-=e.tableX)>0&&t<e.getFrozenColsWidth()&&(i=!0);let r=!1;t>e.tableNoFrameWidth-e.getRightFrozenColsWidth()&&t<e.tableNoFrameWidth&&t<=e.getAllColsWidth()&&(r=!0);const o=MI((i||r?t:t+e.scrollLeft)+e.tableX,r,e);if(o){const{col:t}=o;return t}return-1}(t,this)}getRowAtRelativePosition(t){return function(t,e){let i=!1;(t-=e.tableY)>0&&t<e.getFrozenRowsHeight()&&(i=!0);let r=!1;t>e.tableNoFrameHeight-e.getBottomFrozenRowsHeight()&&t<e.tableNoFrameHeight&&t<=e.getAllRowsHeight()&&(r=!0);const o=BI((i||r?t:t+e.scrollTop)+e.tableY,r,e);if(o){const{row:t}=o;return t}return-1}(t,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 ZS(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 ZS(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(t=0,e=0){const{scrollTop:i}=this,r=this.getFrozenRowsHeight(),o=this.getBottomFrozenRowsHeight(),{row:n}=this.getRowAt(i+r+1+t),s=this.getAllRowsHeight()>this.tableNoFrameHeight?this.getRowAt(i+this.tableNoFrameHeight-1-o+e).row:this.rowCount-1;return s<0?null:{rowStart:n,rowEnd:s}}getBodyVisibleColRange(t=0,e=0){const{scrollLeft:i}=this,r=this.getFrozenColsWidth(),o=this.getRightFrozenColsWidth(),{col:n}=this.getColAt(i+r+1+t),s=this.getAllColsWidth()>this.tableNoFrameWidth?this.getColAt(i+this.tableNoFrameWidth-1-o+e).col:this.colCount-1;return s<0?null:{colStart:n,colEnd:s}}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?.(),super.release?.(),this.pluginManager.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();const e=t.element?.parentElement;e&&!this.options.canvas&&e.removeChild(t.element),this.editorManager?.editingEditor?.onEnd?.(),this.isReleased=!0,this.scenegraph=null,this.internalProps=null,this.reactCustomLayout?.clearCache(),Ck()}fireListeners(t,e){return super.fireListeners(t,e)}updateOption(t,e={clearColWidthCache:!0,clearRowHeightCache:!0}){this.fireListeners(jS.BEFORE_UPDATE_OPTION,{options:t,container:this.container}),this.editorManager?.cancelEdit(),this.options=t,this._hasAutoImageColumn=void 0;const{frozenColCount:i=0,unfreezeAllOnExceedsMaxWidth:r,defaultRowHeight:o=40,defaultHeaderRowHeight:n,defaultColWidth:s=80,defaultHeaderColWidth:a=80,keyboardOptions:l,eventOptions:h,rowSeriesNumber:c,enableCheckboxCascade:d,enableHeaderCheckboxCascade:u,columnResizeMode:g,rowResizeMode:p="none",resize:f,dragHeaderMode:m,dragOrder:b,showFrozenIcon:y,allowFrozenColCount:C,padding:w,hover:v,menu:x,select:_,pixelRatio:S,widthMode:A,heightMode:R,autoFillWidth:T,autoFillHeight:M,containerFit:B,widthAdaptiveMode:P,heightAdaptiveMode:H,customRender:k,renderChartAsync:E,renderChartAsyncBatchCount:L,canvasWidth:F,canvasHeight:I,contentOffsetX:z=0,contentOffsetY:O=0,overscrollBehavior:D,limitMinWidth:W,limitMinHeight:N}=t,{groupConfig:G,groupBy:V,groupTitleFieldFormat:j,groupTitleCustomLayout:U,enableTreeStickCell:K}=t;S&&S!==this.internalProps.pixelRatio&&(this.internalProps.pixelRatio=S),w&&("number"==typeof w?(this.padding.top=w,this.padding.left=w,this.padding.bottom=w,this.padding.right=w):(w.top&&(this.padding.top=w.top),w.bottom&&(this.padding.bottom=w.bottom),w.left&&(this.padding.left=w.left),w.right&&(this.padding.right=w.right))),this.showFrozenIcon="boolean"!=typeof y||y,"number"==typeof C&&C<=0&&(this.showFrozenIcon=!1),this.widthMode=A??"standard",this.heightMode=R??"standard",this._widthAdaptiveMode=P??"only-body",this._heightAdaptiveMode=H??"only-body",this.autoFillWidth=T??!1,this.autoFillHeight=M??!1,void 0!==B&&(this._containerFit="boolean"==typeof B?{width:B,height:B}:B&&"object"==typeof B?{width:B.width??!0,height:B.height??!0}:{width:!1,height:!1}),this.customRender=k,this.contentOffsetX=z??0,this.contentOffsetY=O??0,this.canvasWidth=bt(F)?F:void 0,this.canvasHeight=bt(I)?I:void 0;const $=this.internalProps;if("node"===oS.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"}($.element,this.padding),this.columnWidthComputeMode=t.columnWidthComputeMode??"normal",$.frozenColCount=i,$.unfreezeAllOnExceedsMaxWidth=r??!0,$.defaultRowHeight=o,$.defaultHeaderRowHeight=n??o,$.defaultColWidth=s,$.defaultHeaderColWidth=a??s,$.keyboardOptions=l,$.eventOptions=h,$.rowSeriesNumber=c,$.enableCheckboxCascade=d??c?.enableTreeCheckbox??!0,$.enableHeaderCheckboxCascade=d||(u??!0),$.columnResizeMode=f?.columnResizeMode??g,$.canResizeColumn=f?.canResizeColumn,$.rowResizeMode=f?.rowResizeMode??p,$.dragHeaderMode=b?.dragHeaderMode??m??"none",$.renderChartAsync=E,yk(L),$.overscrollBehavior=D??"auto",$.cellTextOverflows={},$.groupBy=G?.groupBy??V,$.groupTitleCheckbox=G?.titleCheckbox,$.groupTitleFieldFormat=G?.titleFieldFormat??j,$.groupTitleCustomLayout=G?.titleCustomLayout??U,$.enableTreeStickCell=G?.enableTreeStickCell??K,e?.clearColWidthCache&&($._widthResizedColMap.clear(),this.colWidthsMap=new qS,this.colContentWidthsMap=new qS,this.colWidthsLimit={}),e?.clearRowHeightCache&&($._heightResizedRowMap.clear(),$._rowHeightsMap=new cI(this),$._rowRangeHeightsMap=new Map,$._colRangeWidthsMap=new Map),$.stick.changedCells.clear(),$.theme=_A.of(t.theme??_A.DEFAULT),$.theme.isPivot=this.isPivotTable(),kB($.theme.functionalIconsStyle),this.scenegraph.updateStageBackground(),$.autoWrapText=t.autoWrapText,$.enableLineBreak=t.enableLineBreak,$.allowFrozenColCount=t.allowFrozenColCount??0,$.limitMaxAutoWidth=t.limitMaxAutoWidth??450,$.limitMinWidth=null!=W?"number"==typeof W?W:W?10:0:10,$.limitMinHeight=null!=N?"number"==typeof N?N:N?10:0:10,$.legends?.forEach((t=>{t?.release()})),$.title?.release(),$.title=null,$.emptyTip?.release(),$.emptyTip=null,$.layoutMap.release(),Ck(),this.scenegraph.clearCells(),this.scenegraph.updateComponent(),this.stateManager.updateOptionSetState(),this._updateSize(),this.eventManager.updateEventBinder(),t.legends){$.legends=[];const e=RA.getFunction("createLegend");if(Array.isArray(t.legends)){for(let i=0;i<t.legends.length;i++)$.legends.push(e(t.legends[i],this));this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}else $.legends.push(e(t.legends,this)),this.scenegraph.tableGroup.setAttributes({x:this.tableX,y:this.tableY})}if($.tooltip=Object.assign({parentElement:this.getElement(),renderMode:"html",isShowOverflowTextTooltip:!1,confine:!0,position:w_.bottom},t.tooltip),"html"===$.tooltip.renderMode&&!$.tooltipHandler){const t=RA.getComponent("tooltipHandler");$.tooltipHandler=new t(this,$.tooltip.confine)}if($.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"===$.menu.renderMode&&!$.menuHandler){const t=RA.getComponent("menuHandler");$.menuHandler=new t(this)}this.clearCellStyleCache(),e?.clearColWidthCache&&this.clearColWidthCache(),e?.clearRowHeightCache&&this.clearRowHeightCache(),$.customMergeCell=zI(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=this.containerFit?.width?this.tableNoFrameWidth:Math.min(this.tableNoFrameWidth,this.getAllColsWidth()),e=this.containerFit?.height?this.tableNoFrameHeight:Math.min(this.tableNoFrameHeight,this.getAllRowsHeight());return new ZS(this.tableX,this.tableY,t,e)}_getMouseAbstractPoint(t){let e;if(!t)return{inTable:!1,x:void 0,y:void 0};e=WI(t)?t.changedTouches[0]:t;const i=e.clientX||e.pageX+window.scrollX,r=e.clientY||e.pageY+window.scrollY,o=this.internalProps.canvas.getBoundingClientRect();let n=!0;o.right<=i&&(n=!1),o.bottom<=r&&(n=!1);const s=o.width,a=s/((90===this.rotateDegree?this.canvas.offsetHeight:this.canvas.offsetWidth)||s),l=o.height,h=l/((90===this.rotateDegree?this.canvas.offsetWidth:this.canvas.offsetHeight)||l),c=this.pluginManager.getPluginByName("Rotate Table");if(c&&90===this.rotateDegree){const t={x:i/a-(this.options.viewBox?.x1??0),y:r/h-(this.options.viewBox?.y1??0),inTable:n};return c.matrix.transformPoint(t,t),t}const d={x:(i-o.left)/a-(this.options.viewBox?.x1??0),y:(r-o.top)/h-(this.options.viewBox?.y1??0),inTable:n};if(this.internalProps.modifiedViewBoxTransform&&this.scenegraph.stage.window.getViewBoxTransform()){return this.scenegraph.stage.window.getViewBoxTransform().transformPoint(d,d),d}return d}getTheme(){return this.internalProps.theme}getTargetColAt(t){return RI(t,this)}getTargetRowAt(t){const e=TI(t,this);return e&&(e.row=Math.min(e.row,this.rowCount-1)),e}getTargetColAtConsiderRightFrozen(t,e){return MI(t,e,this)}getTargetRowAtConsiderBottomFrozen(t,e){return BI(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)=>{const i=t.start.row,r=t.start.col,o=t.end.row,n=t.end.col;r===n&&i===o?this.stateManager.updateSelectPos(r,i,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0):(this.stateManager.updateSelectPos(r,i,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(f_.grabing),this.stateManager.updateSelectPos(n,o,!1,e>=1,!1,this.options.select?.makeSelectCellVisible??!0,!0)),this.stateManager.endSelectCells(!1,!1),this.stateManager.updateInteractionState(f_.default)})),this.setScrollTop(i),this.setScrollLeft(e)}selectRow(t,e,i){const r=this.stateManager.select.ranges;if(e)r.push({start:{col:0,row:t},end:{col:this.colCount-1,row:t}}),this.selectCells(r);else if(i){const e=r[r.length-1];e&&(e.end.row=t),this.selectCells(r)}else this.selectCells([{start:{col:0,row:t},end:{col:this.colCount-1,row:t}}])}selectCol(t,e,i){const r=this.stateManager.select.ranges;if(e)r.push({start:{col:t,row:0},end:{col:t,row:this.rowCount-1}}),this.selectCells(r);else if(i){const e=r[r.length-1];e&&(e.end.col=t),this.selectCells(r)}else this.selectCells([{start:{col:t,row:0},end:{col:t,row:this.rowCount-1}}])}startDragSelectCol(t,e,i){const r=this.stateManager.select.ranges[this.stateManager.select.ranges.length-1],o=i&&r?.start?.col?r?.start?.col:t,n=t,s=this.rowCount-1;this.stateManager.updateSelectPos(o,0,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(f_.grabing),this.stateManager.updateSelectPos(n,s,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}dragSelectCol(t,e){const i=this.stateManager.select.ranges,r=i[i.length-1];r&&(r.end.col=t),this.stateManager.updateSelectPos(t,this.rowCount-1,!1,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}endDragSelect(){this.stateManager.updateInteractionState(f_.default),this.stateManager.endSelectCells(!1,!1)}startDragSelectRow(t,e,i){const r=this.stateManager.select.ranges[this.stateManager.select.ranges.length-1],o=i&&r?.start?.row?r?.start?.row:t,n=this.colCount-1,s=t;this.stateManager.updateSelectPos(0,o,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0),this.stateManager.updateInteractionState(f_.grabing),this.stateManager.updateSelectPos(n,s,i,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}dragSelectRow(t,e){const i=this.stateManager.select.ranges,r=i[i.length-1];r&&(r.end.row=t),this.stateManager.updateSelectPos(this.colCount-1,t,!1,e,!1,this.options.select?.makeSelectCellVisible??!0,!0)}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){QM(t,(()=>{t.internalProps.dataSource&&t.internalProps.releaseList.forEach((e=>{e instanceof kA&&(e.release(),t.internalProps.releaseList.splice(t.internalProps.releaseList.indexOf(e),1))})),e?e instanceof kA?(t.internalProps.dataSource=e,t.internalProps.dataSource.supplementConfig(t.pagination,t.options.columns,t.internalProps.layoutMap.rowHierarchyType,eB(t))):t.internalProps.dataSource=new sM(e):t.internalProps.dataSource=kA.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=_A.of(t??_A.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),this.options.theme=t,kB(this.internalProps.theme.functionalIconsStyle)}updateTheme(t){const e={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.theme=_A.of(t??_A.DEFAULT),this.internalProps.theme.isPivot=this.isPivotTable(),kB(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 rP("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,rP("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&&(lt(i.text)||i.customLayout||i.customRender)){return{start:{col:Math.max(i.range.start.col,0),row:Math.max(i.range.start.row,0)},end:{col:Math.min(i.range.end.col,this.colCount-1),row:Math.min(i.range.end.row,this.rowCount-1)},isCustom:!0}}}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&&(lt(i.text)||i.customLayout||this.customRender)){if(i.style){const r=this.internalProps.bodyHelper.getStyleClass("text"),o=rS(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.range={start:{col:Math.max(i.range.start.col,0),row:Math.max(i.range.start.row,0)},end:{col:Math.min(i.range.end.col,this.colCount-1),row:Math.min(i.range.end.row,this.rowCount-1)},isCustom:!0},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?HI(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.hasTopIndicatorAxis&&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 EI;const h=i.internalProps.headerHelper.getStyleClass(a?.headerType||"text");if(o.isBottomFrozenRow(t,e)&&i.theme.bottomFrozenStyle)s=aI(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=aI(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=aI(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?HI(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?HI(h,r):h;const c=o.getBody(t,e),d=i.internalProps.bodyHelper.getStyleClass(i.getCellType(t,e)),u=c?.style;return h=rS(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=HI(h,{bgColor:n})),st(u)||(o.isBottomFrozenRow(e)?i.bodyBottomStyleCache.set(s,h):i.bodyStyleCache.set(s,h)),r?HI(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(IS(i[r],t,e))return!0;return!1}(t,e,[this.getCellRange(this.stateManager.select.cellPos.col,this.stateManager.select.cellPos.row)])||kk(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.internalProps.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=rB(i,this,t,e,rP).theme,{autoWrapText:o,lineClamp:n,textOverflow:s}=i;return{textAlign:r.text.textAlign,textBaseline:r.text.textBaseline,bgColor:nt(r.group.fill)?rP("bgColor",i,t,e,this):r.group.fill,color:nt(r.text.fill)?rP("color",i,t,e,this):r.text.fill,strokeColor:nt(r.text.stroke)?rP("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:nt(r.group.stroke)?rP("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:rP("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(t){if(this.stateManager.select?.ranges?.length>0){const e=this.stateManager.select.ranges;let i=Math.min(e[0].start.col,e[0].end.col),r=Math.max(e[0].start.col,e[0].end.col),o=Math.min(e[0].start.row,e[0].end.row),n=Math.max(e[0].start.row,e[0].end.row);e.forEach((t=>{i=Math.min(i,t.start.col,t.end.col),r=Math.max(r,t.start.col,t.end.col),o=Math.min(o,t.start.row,t.end.row),n=Math.max(n,t.start.row,t.end.row)}));const s=t=>{let i=!1;return e.forEach((e=>{const r=Math.min(e.start.row,e.end.row),o=Math.max(e.start.row,e.end.row);r<=t&&o>=t&&(i=!0)})),i},a=t=>{let i=!1;return e.forEach((e=>{const r=Math.min(e.start.col,e.end.col),o=Math.max(e.start.col,e.end.col);r<=t&&o>=t&&(i=!0)})),i},l=(t,i)=>{let r;return e.forEach((e=>{const o=Math.min(e.start.row,e.end.row),n=Math.max(e.start.row,e.end.row),s=Math.min(e.start.col,e.end.col),a=Math.max(e.start.col,e.end.col);s<=t&&a>=t&&o<=i&&n>=i&&(r=e)})),r},h=(e,i,r)=>{const o=this.getCellRange(e,i);let n=o.start.col,s=o.start.row;if(r){const t=Math.min(r.start.col,r.end.col),e=Math.min(r.start.row,r.end.row);n=Math.max(t,o.start.col),s=Math.max(e,o.start.row)}if(n!==e||s!==i)return"";return t?t(e,i):this.getCellValue(e,i)};let c="";for(let t=o;t<=n;t++){if(s(t)){for(let e=i;e<=r;e++){if(a(e)){const i=l(e,t);if(i){const o=h(e,t,i);if("undefined"!=typeof Promise&&o instanceof Promise);else{const t=lt(o)?`${o}`:"";/^\[object .*\]$/.exec(t)||(c+=t)}(e<i.end.col||e<r)&&(c+="\t")}else c+="\t"}}t<n&&(c+="\r\n")}}return this.options?.formatCopyValue&&(c=this.options.formatCopyValue(c)),c}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?Bt(t):[]}measureText(t,e){return jP.measureText(t,e)}measureTextBounds(t){return KP(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(pt(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!gt(i)&&("image"===i.headerType||"video"===i.headerType||"function"==typeof i.headerType)&&i.imageAutoSizing)return!0}if(pt(i)&&i.length>0)for(let t=0;t<i.length;t++){const e=i[t];if(!gt(e)&&("image"===e.headerType||"video"===e.headerType||"function"==typeof e.headerType)&&e.imageAutoSizing)return!0}if(pt(r)&&r.length>0)for(let t=0;t<r.length;t++){const e=r[t];if(!gt(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(pt(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&&KE(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 Ye).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&&$E(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&&KE(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 Ye).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&&$E(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){let i=this.tableX+this.getAllColsWidth(),r=this.tableY+this.getAllRowsHeight();if(this.internalProps.legends&&this.internalProps.legends.forEach((t=>{"right"===t.orient?i=Math.max(i,t.legendComponent.globalAABBBounds.x2):"bottom"===t.orient&&(r=Math.max(r,t.legendComponent.globalAABBBounds.y2))})),this.internalProps.title&&("right"===this.internalProps.title._titleOption.orient?i=Math.max(i,this.internalProps.title.getComponentGraphic().globalAABBBounds.x2):"bottom"===this.internalProps.title._titleOption.orient&&(r=Math.max(r,this.internalProps.title.getComponentGraphic().globalAABBBounds.y2))),i>=this.canvasWidth&&r>=this.canvasHeight){e.render();return e.window.getImageBuffer(t)}return this.scenegraph.stage.toCanvas(!1,(new Ye).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 DB(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(lt(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(lt(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)}get containerFit(){return this._containerFit}set containerFit(t){this._containerFit="boolean"==typeof t?{width:t,height:t}:t&&"object"==typeof t?{width:t.width??!0,height:t.height??!0}:{width:!1,height:!1}}isColumnSelected(t){const e=this.stateManager.select.ranges;for(let i=0;i<=e.length-1;i++){const r=e[i];if(r.start.col<=t&&r.end.col>=t&&0===r.start.row&&r.end.row===this.rowCount-1)return!0}return!1}isRowSelected(t){const e=this.stateManager.select.ranges;for(let i=0;i<=e.length-1;i++){const r=e[i];if(r.start.row<=t&&r.end.row>=t&&0===r.start.col&&r.end.col===this.colCount-1)return!0}return!1}}var VI=Object.freeze({__proto__:null,BaseTable:GI});const jI={},UI={};const KI={};function $I(t){if(KI[t])return KI[t]}function XI(t,e,i){const r=t[e];return t[e]=i,r}function YI(t){for(const e in t)delete t[e]}function qI(){YI(rA),YI(LB),YI(jI),YI(KI),YI(A_)}var ZI=Object.freeze({__proto__:null,aggregator:function(t,e){null!=e&&XI(A_,t,e)},chartModule:function(t,e){return null!=e?XI(jI,t,e):jI[t]},clearAll:qI,editor:function(t,e){return null!=e?XI(KI,t,e):KI[t]},icon:function(t,e){return null!=e?XI(LB,t,e):LB[t]},theme:function(t,e){return null!=e?XI(rA,t,e):rA[t]}});var JI=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}`}}}),QI=Object.freeze({__proto__:null,CustomCellStylePlugin:PI,PluginManager:OI});const tz=(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.sort&&(yt(l.sortIndex)||(l.sortIndex=0),lt(l.sortReverse)||(l.sortReverse="desc"===l.sort)),!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 ez=0;function iz(t="dataset"){return ez>1e8&&(ez=0),t+"_"+ez++}class rz{constructor(t){var e;let i;this.options=t,this.isDataSet=!0,this.transformMap={},this.parserMap={},this.dataViewMap={},this.target=new rt,i=(null==t?void 0:t.name)?t.name:iz("dataset"),this.name=i,this._logger=null!==(e=null==t?void 0:t.logger)&&void 0!==e?e:qt.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()}}class oz{constructor(t,e){let i;this.dataSet=t,this.options=e,this.isDataView=!0,this.target=new rt,this.parseOption=null,this.transformsArr=[],this.isRunning=!1,this.rawData={},this.history=!1,this.parserData={},this.latestData={},this._fields=null,this.reRunAllTransform=(t={})=>{const e=this.latestData;return this.isRunning=!0,this.resetTransformData(),this.transformsArr.forEach((e=>{this.executeTransform(e,{pushHistory:t.pushHistory,emitMessage:!1})})),this.isRunning=!1,!1===t.emitMessage||t.skipEqual&&It(e,this.latestData)||this.target.emit("change",{latestData:this.latestData}),this},this.markRunning=()=>{this.isRunning=!0,this.target.emit("markRunning",[])},i=(null==e?void 0:e.name)?e.name:iz("dataview"),this.name=i,(null==e?void 0:e.history)&&(this.history=e.history,this.historyData=[]),this.dataSet.setDataView(i,this),this.setFields(null==e?void 0:e.fields)}parse(t,e,i=!1){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,e=!0){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)}i&&this.transformsArr.push(t),e&&this.executeTransform(t)}return this.sortTransform(),this.isRunning=!1,this}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,e={}){const{pushHistory:i,emitMessage:r,skipEqual:o}=e,n=this.dataSet.getTransform(t.type),s=this.latestData,a=n(s,t.options);this.history&&!1!==i&&this.historyData.push(a),this.latestData=a,!1===r||o&&It(s,this.latestData)||this.target.emit("change",{latestData:this.latestData})}resetTransformData(){this.latestData=this.parserData,this.history&&(this.historyData.length=0,this.historyData.push(this.rawData,this.parserData))}cloneParseData(t,e){let i=!1;return t instanceof oz||!0!==(null==e?void 0:e.clone)||(i=!0),i?Bt(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,e=!1){this._fields=t&&e?Et({},this._fields,t):t;const i=this.transformsArr.find((t=>"fields"===t.type));!at(this._fields)&&at(i)?(this.dataSet.registerTransform("fields",tz),this.transform({type:"fields",options:{fields:this._fields}},!1)):i&&(i.options.fields=this._fields)}destroy(){this.dataSet.removeDataView(this.name),this.latestData=null,this.rawData=null,this.parserData=null,this.transformsArr=null,this.target=null}}const nz=t=>function(t){return t instanceof oz}(t)||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)))}}(t);function sz(t,e=["data"]){return Bt(t,nz,e)}function az(t){const e={...t};return At(t.style)||(e.textStyle=lz(t.style)),At(t.textStyle)||Et(e.textStyle,lz(t.textStyle)),t.shape?.style&&lz(e.shape.style),t.background?.style&&lz(e.background.style),e}function lz(t){return At(t)||t.angle&&(t.angle=Me(t.angle)),t}function hz(t={}){return At(t.style)||(t.style=lz(t.style)),At(t.state)||Object.keys(t.state).forEach((e=>{At(t.state[e])||(t.state[e]=lz(t.state[e]))})),t}function cz(t){return At(t)?null:(Object.keys(t).forEach((e=>{At(t[e])||(t[e]=lz(t[e]))})),t)}const dz={left:{textAlign:"center",textBaseline:"bottom"},right:{textAlign:"center",textBaseline:"bottom"},radius:{},angle:{}},uz="PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol",gz=14,pz=gz,fz=4,mz={domainLine:{visible:!0,style:{lineWidth:0,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:fz,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},subTick:{visible:!1,tickSize:fz/2,style:{lineWidth:1,stroke:"#D9DDE4",strokeOpacity:1}},label:{visible:!0,space:1,style:{fontSize:pz,fill:"#89909D",fontWeight:"normal",fillOpacity:1},autoLimit:!0},title:{space:10,style:{fontSize:pz,fill:"#333333",fontWeight:"normal",fillOpacity:1}}};function bz(t){const e=Et({},t);t.labelHoverOnAxis&&!1===e.domainLine.visible&&(e.domainLine.style.lineWidth=0,e.domainLine.visible=!0);let i,r=e.title?.angle??0;"left"!==e.orient&&"right"!==e.orient||e.title?.autoRotate&&at(e.title.angle)&&(r="left"===e.orient?-90:90,i=dz[e.orient]);const o=function(t,e){if(!t||!dt(t))return t;const i={};return Object.keys(t).forEach((r=>{const o=t[r];let n=!1;e.forEach((t=>{(gt(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,hz(n),hz(n.startSymbol),hz(n.endSymbol),n),label:{style:lz(e.label.style),formatMethod:e.label.formatMethod?(t,i,r)=>e.label.formatMethod(i.rawValue,i):null,state:cz(e.label.state),...o},tick:{visible:e.tick.visible,length:e.tick.tickSize,inside:e.tick.inside,alignWithLabel:e.tick.alignWithLabel,style:lz(e.tick.style),state:cz(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:lz(e.subTick.style),state:cz(e.subTick.state)},grid:{type:"line",visible:e.grid.visible,alternateColor:e.grid.alternateColor,alignWithLabel:e.grid.alignWithLabel,style:lz(e.grid.style)},subGrid:{type:"line",visible:e.subGrid.visible,alternateColor:e.subGrid.alternateColor,style:lz(e.subGrid.style)},title:{visible:e.title.visible,position:e.title.position,space:e.title.space,autoRotate:!1,angle:r?Me(r):null,textStyle:Et({},i,lz(e.title.style)),padding:e.title.padding,shape:{visible:e.title.shape?.visible,space:e.title.shape?.space,style:lz(e.title.shape?.style)},background:{visible:e.title.background?.visible,style:lz(e.title.background?.style)},state:{text:cz(e.title.state),shape:cz(e.title.shape?.state),background:cz(e.title.background?.state)}},panel:{visible:e.background?.visible,style:lz(e.background?.style),state:cz(e.background?.state)},labelHoverOnAxis:e.labelHoverOnAxis};var n}const yz="NO_AXISID_FRO_VTABLE";function Cz(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&&"sunburst"!==r.chartSpec.type&&"treemap"!==r.chartSpec.type&&"sankey"!==r.chartSpec.type&&"circlePacking"!==r.chartSpec.type){e=!0;break}}return e}function wz(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&&"sunburst"!==e.chartSpec.type&&"treemap"!==e.chartSpec.type&&"sankey"!==e.chartSpec.type&&"circlePacking"!==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&&"sunburst"!==i.type&&"treemap"!==i.type&&"sankey"!==i.type&&"circlePacking"!==i.type&&(o=!0):o=!1}return o}function vz(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 xz(t){let e=!1;for(let i=0;i<t.columnObjects.length;i++){if(t.columnObjects[i].chartSpec){e=!0;break}}return e}function _z(t,e){if(t&&pt(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 Sz{seqId=0;_headerObjects;_headerObjectMap;_headerObjectsIncludeHided;_headerCellIds;_columns;_columnsIncludeHided;_columnMaxDepth=0;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;columnHierarchyType;columnExpandLevel;_cellRangeMap;constructor(t,e,i,r){this._cellRangeMap=new Map,this._showHeader=i,this._table=t,this._columns=[],this._columnsIncludeHided=[],this._headerCellIds=[],this._columnMaxDepth=this._calculateMaxDepth(e),this.hierarchyIndent=r??20,this.hierarchyTextStartAlignment=t.options.hierarchyTextStartAlignment,this.columnHierarchyType=t.options.headerHierarchyType,this.columnExpandLevel=t.options.headerExpandLevel??1,this.columnTree=new gI(e,{seqId:0},this.columnHierarchyType??null,"grid-tree"===this.columnHierarchyType?this.columnExpandLevel:void 0),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.internalProps.groupBy)return!0;const{columns:e}=t._table.options;if(pt(e)&&e.length>0)for(let t=0;t<e.length;t++){const i=e[t];if(!gt(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(((t,e)=>({id:this.seqId++,title:t.title,define:Et({field:"_vtable_rowSeries_number_"+e},t),cellType:t.cellType??"text",headerType:"checkbox"===t.cellType?"checkbox":"text",style:t.style,width:t.width,format:t.format,field:t.field??"_vtable_rowSeries_number_"+e,icon:t.icon,headerIcon:t.headerIcon,isChildNode:!1}))):this.rowSeriesNumberColumn=[{id:this.seqId++,title:t.title,define:Et({field:"_vtable_rowSeries_number"},t),cellType:t.cellType??"text",headerType:t.headerType??("checkbox"===t.cellType?"checkbox":"text"),style:t.style,width:t.width,format:t.format,field:t.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(lt(t)&<(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(lt(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(lt(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(lt(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(lt(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.groupTitleCheckbox&&r._table.internalProps.rowSeriesNumber?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}_calculateMaxDepth(t,e=0){let i=e;return t.forEach((t=>{if(t.columns&&t.columns.length>0){const r=this._calculateMaxDepth(t.columns,e+1);r>i&&(i=r)}})),i}_addHeaders(t,e,i,r,o){const n=[],s=this._newRow(t,r);return e.forEach((e=>{const a=this._columns.length,l=this.seqId++,h={id:l,title:e.title??e.caption,headerIcon:e.headerIcon,field:e.field,style:e.headerStyle,headerType:e.headerType??"text",dropDownMenu:e.dropDownMenu,define:e,hierarchyState:e.hierarchyState,columnWidthComputeMode:e.columnWidthComputeMode};n[l]=h;let c=t;if(e.levelSpan){c=Math.min(t+e.levelSpan-1,this._columnMaxDepth-1);for(let e=t;e<=c;e++)this._headerCellIds[e]||(this._headerCellIds[e]=[]),void 0===this._headerCellIds[e][a]&&(this._headerCellIds[e][a]=l)}if(o)for(let t=c-1;t>=0;t--)this._headerCellIds[t]&&void 0===this._headerCellIds[t][a]&&void 0!==i[c-o]&&(this._headerCellIds[t][a]=i[c-o]);else for(let t=c-1;t>=0;t--)this._headerCellIds[t]&&void 0===this._headerCellIds[t][a]&&void 0!==i[t]&&(this._headerCellIds[t][a]=i[t]);r?this._headerCellIds[t-1]&&void 0!==this._headerCellIds[t-1][a]&&(s[a]=this._headerCellIds[t-1][a]):s[a]=l;const d=!e.hierarchyState||e.hierarchyState===v_.expand;if(e.columns&&d){const t=e.columns.every((t=>t.hide))||e.hide;!t&&this._addHeaders(c+1,e.columns,[...i,l],e.hideColumnsSubHeader||r,e.levelSpan).forEach((t=>n.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:lA,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][a]=l}}})),n}_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){const i=this._table.stateManager.columnMove.movingColumnOrRow;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)||"row"===i)){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)||"row"===i)&&(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 r=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)||"column"===this._table.stateManager.columnMove.movingColumnOrRow&&0===t.row){return this.getParentCellId(t.col,r.start.row)===this.getParentCellId(e.col,r.start.row)}if(this.isRowHeader(t.col,t.row)){return this.getParentCellId(r.start.col,t.row)===this.getParentCellId(r.start.col,e.row)}return!1}moveHeaderPosition(t,e){if((!this._table.options.dragOrder?.validateDragOrderOnEnd||this._table.options.dragOrder?.validateDragOrderOnEnd(t,e))&&this.canMoveHeaderPosition(t,e)){let i=this.getCellRange(t.col,t.row);if(this.isColumnHeader(t.col,t.row)||"column"===this._table.stateManager.columnMove.movingColumnOrRow&&0===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)}if(this._table.options.dragOrder?.maintainArrayDataOrder)for(let e=0;e<this._table.dataSource.dataSourceObj?.records.length;e++){const n=this._table.dataSource.dataSourceObj?.records[e];if(Array.isArray(n)){n.length-1<Math.max(o,t.col)&&n.push(...Array(Math.max(o,t.col)-n.length+1).fill(void 0));const e=n.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);e.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(n,e)}}const s=this._columns.splice(i.start.col-this.leftRowSeriesNumberColumnCount,r);if(s.unshift(o-this.leftRowSeriesNumberColumnCount,0),Array.prototype.splice.apply(this._columns,s),this._table.options.dragOrder?.maintainArrayDataOrder)for(let t=0;t<this._columns.length;t++)this._columns[t].field=t;if(this.columnTree.movePosition(i.start.row,i.start.col-this.leftRowSeriesNumberColumnCount,o-this.leftRowSeriesNumberColumnCount),this._table.options.dragOrder?.maintainArrayDataOrder)for(let t=0;t<this.columnTree.tree.children.length;t++)this.columnTree.tree.children[t].field=t;return 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)||"row"===this._table.stateManager.columnMove.movingColumnOrRow)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 xz(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 vz(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+this.leftRowSeriesNumberColumnCount,!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 Az{table;editingEditor;isValidatingValue=!1;editCell;listenersId=[];beginTriggerEditCellMode;cacheLastSelectedCellEditor={};constructor(t){this.table=t;const{editCellTrigger:e="doubleclick"}=t.options;this.bindEvent(e)}bindEvent(t){const e=this.table,i=e.on(jS.DBLCLICK_CELL,(i=>{if(!t.includes("doubleclick"))return;const{col:r,row:o}=i,n=WB(i.federatedEvent),s=e.scenegraph.getResizeColAt(n.abstractPos.x,n.abstractPos.y,n.eventArgs?.targetCell);e._canResizeColumn(s.col,s.row)&&s.col>=0||i.target?.attribute?.funcType||(this.beginTriggerEditCellMode="doubleclick",this.startEditCell(r,o))})),r=e.on(jS.CLICK_CELL,(t=>{const{editCellTrigger:i="doubleclick"}=e.options;if("click"===i||Array.isArray(i)&&i.includes("click")){if(t.target?.attribute?.funcType)return;this.beginTriggerEditCellMode="click";const{col:e,row:i}=t;this.startEditCell(e,i)}else"keydown"===i||Array.isArray(i)&&i.includes("keydown")})),o=e.on(jS.SELECTED_CHANGED,(i=>{const r=e.stateManager.select.ranges;if(1===r.length&&r[0].start.col===r[0].end.col&&r[0].start.row===r[0].end.row&&("keydown"===t||Array.isArray(t)&&t.includes("keydown"))){const{col:t,row:e}=i;this.beginTriggerEditCellMode="keydown";const r=this.table.getCellRangeRelativeRect(this.table.getCellRange(t,e)),o={rect:{left:r.left,top:r.top,width:r.width,height:r.height}};t===this.table.colCount-1?o.rect.width=r.width-1:o.rect.width=r.width+1,e===this.table.rowCount-1?o.rect.height=r.height-1:o.rect.height=r.height+1;const n=this.table.getEditor(t,e);n&&setTimeout((()=>{n&&this.editingEditor!==n&&n.prepareEdit?.({referencePosition:o,container:this.table.getElement(),table:this.table,col:t,row:e})}),10)}}));this.listenersId.push(i,r,o)}startEditCell(t,e,i,r){if(this.editingEditor)return;const o=this.table.getEditor(t,e);if(o){if(r&&o.setElement(r),this.table.internalProps.layoutMap.isSeriesNumber(t,e))return;if(this.table.internalProps.layoutMap?.isAggregation?.(t,e)){const t=this.table.isPivotTable?.(),e=!!t&&this.table.internalProps?.dataConfig?.updateAggregationOnEditCell;if(!t||t&&e)return}const n=this.table.getCellRawRecord(t,e);if(n?.vtableMerge)return;this.editingEditor||(this.editCell={col:t,row:e}),this.table._makeVisibleCell(t,e),this.editingEditor=o;const s=lt(i)?i:this.table.getCellOriginValue(t,e),a=this.table.getCellRangeRelativeRect(this.table.getCellRange(t,e)),l={rect:{left:a.left,top:a.top,width:a.width,height:a.height}};t===this.table.colCount-1?l.rect.width=a.width-1:l.rect.width=a.width+1,e===this.table.rowCount-1?l.rect.height=a.height-1:l.rect.height=a.height+1,o.beginEditing,o.beginEditing?.(this.table.getElement(),l,s),o.bindSuccessCallback,o.bindSuccessCallback?.((()=>{this.completeEdit()})),o.onStart?.({value:s,endEdit:()=>{this.completeEdit()},referencePosition:l,container:this.table.getElement(),col:t,row:e,table:this.table})}}completeEdit(t){if(!this.editingEditor)return!0;if(this.isValidatingValue)return!1;this.cacheLastSelectedCellEditor={};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 e=this.editingEditor.getValue(),i=this.table.getCellOriginValue(this.editCell.col,this.editCell.row),r=t?.target,o=this.editingEditor.validateValue?.(e,i,this.editCell,this.table,!!this.table.getElement().contains(r));return ES(o)?(this.isValidatingValue=!0,new Promise(((t,e)=>{o.then((e=>{Rz(e,this,i,t)})).catch((t=>{this.isValidatingValue=!1,e(t)}))}))):Rz(o,this,i)}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.editingEditor.beforeEnd?.(),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,this.beginTriggerEditCellMode=null}cancelEdit(){this.editingEditor&&(this.editingEditor.exit?.(),this.editingEditor.onEnd?.(),this.editingEditor=null)}release(){this.listenersId.forEach((t=>{this.table.off(t)}))}}function Rz(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 Tz(t,e){if(gt(t))return{groupByRules:[t],addRecordRule:e};if(pt(t)){return{groupByRules:t.map((t=>gt(t)?t:t.key)),addRecordRule:e}}return{addRecordRule:e}}function Mz(t,e,i,r){if("group"===r)return r;if("sort"===r&&!i.internalProps.groupBy)return r;let o="normal";if(i.internalProps.groupBy)o="group";else if(!i.isHeader(t,e)&&i.dataSource.lastOrderField){i.getBodyField(t,e)===i.dataSource.lastOrderField&&(o="sort")}return o}function Bz(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)??wS,e))),t.dataSource.sort(e))}function Pz(t,e,i){const{checkedState:r}=t.stateManager;if(r)if("tree"===t.dataSource.rowHierarchyType){let t;t=bt(e)?[e]:e;const o=t.length,n=[];r.forEach(((e,r)=>{const s=r.split(",");if(s.length>=t.length)for(let a=0;a<s.length;a++){const l=t[a]??-1,h=Number(s[a]);if(!(l===h&&a<s.length-1)){if(l===h&&a===s.length-1||-1===l){n.push({originKey:r,value:e});break}if(l<h&&a===o-1){s[a]=(h-i).toString(),n.push({originKey:r,targetKey:s.toString(),value:e});break}break}}})),n.sort(((t,e)=>{const i=t.originKey.split(","),r=e.originKey.split(","),o=i.length,n=r.length,s=Math.min(o,n);for(let t=0;t<s;t++){const e=Number(i[t]),o=Number(r[t]);if(e!==o)return e-o}return o-n})),n.forEach((({originKey:t,targetKey:e,value:i})=>{r.delete(t),e&&r.set(e,i)}))}else{const t=[],o=[];r.forEach(((r,n)=>{const s=Number(n);!isNaN(s)&&s>=e&&(s===e?t.push(n):s>e&&o.push({originKey:n,targetKey:(s-i).toString(),value:r}))})),t.forEach((t=>r.delete(t))),o.forEach((({originKey:t,targetKey:e,value:i})=>{r.delete(t),r.set(e,i)}))}}function Hz(t,e,i){const{checkedState:r}=t.stateManager;if(r)if("tree"===t.dataSource.rowHierarchyType){let t;t=bt(e)?[e]:e;const o=t.length,n=[];r.forEach(((e,r)=>{const s=r.split(",");if(s.length>=t.length)for(let a=0;a<s.length;a++){const l=t[a]??-1,h=Number(s[a]);if(l===h&&(a===s.length-1||a===o-1)){s[a]=(h+i).toString(),n.push({originKey:r,targetKey:s.toString(),value:e});break}if(!(l===h&&a<s.length-1)){if(l<h&&a===o-1){s[a]=(h+i).toString(),n.push({originKey:r,targetKey:s.toString(),value:e});break}break}}})),n.sort(((t,e)=>{const i=t.originKey.split(","),r=e.originKey.split(","),o=i.length,n=r.length,s=Math.min(o,n);for(let t=0;t<s;t++){const e=Number(i[t]),o=Number(r[t]);if(e!==o)return-e+o}return-o+n})),n.forEach((({originKey:t,targetKey:e,value:i})=>{r.delete(t),e&&r.set(e,i)}))}else{for(let t=r.size-1;t>=e;t--){const e=r.get(t.toString());r.delete(t.toString()),r.set((t+i).toString(),e)}}}class kz extends GI{showHeader=!0;listTreeStickCellPlugin;constructor(t,e){super(t,e),e=this.options;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=this.internalProps.groupBy?Tz(this.internalProps.groupBy,e.addRecordRule):{addRecordRule:e.addRecordRule},i.columns=e.columns?sz(e.columns,["children"]):e.header?sz(e.header,["children"]):[],sB(this),i.enableTreeNodeMerge=e.enableTreeNodeMerge??lt(this.internalProps.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.showHeader=e.showHeader??!0,this.internalProps.columnWidthConfig=e.columnWidthConfig,this.internalProps.rowHeightConfig=e.rowHeightConfig,this.transpose=e.transpose??!1,"node"!==oS.mode&&(this.editorManager=new Az(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=RA.getComponent("title");i.title=new t(e.title,this)}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}if(this.internalProps.enableTreeStickCell){const t=RA.getComponent("listTreeStickCellPlugin");this.listTreeStickCellPlugin=new t(this)}setTimeout((()=>{this.isReleased||(this.resize(),this.fireListeners(jS.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,e={clearColWidthCache:!1,clearRowHeightCache:!0}){this.scenegraph.clearCells();const i={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this.internalProps.columns=sz(t,["children"]),sB(this),e?.clearColWidthCache&&this.internalProps._widthResizedColMap.clear(),this.options.columns=t,this.internalProps.headerHelper.setTableColumnsEditor(),this._hasAutoImageColumn=void 0,this.refreshHeader(),this.dataSource.updateColumns?.(this.internalProps.columns),this.records&&aB(this.internalProps.columns)&&this.dataSource.processRecords(this.dataSource.dataSourceObj?.records??this.dataSource.dataSourceObj),this.internalProps.useOneRowHeightFillAll=!1,this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyBottomStyleCache=new Map,this.scenegraph.createSceneGraph(!e?.clearRowHeightCache),this.stateManager.updateHoverPos(i.col,i.row),this.renderAsync(),this.eventManager.updateEventBinder()}_recreateSceneForStateChange(){this.scenegraph.clearCells();const t={col:this.stateManager.hover.cellPos.col,row:this.stateManager.hover.cellPos.row};this._hasAutoImageColumn=void 0,this.refreshHeader(),this.records&&aB(this.internalProps.columns)&&this.dataSource.processRecords(this.dataSource.dataSourceObj?.records??this.dataSource.dataSourceObj),this.internalProps.useOneRowHeightFillAll=!1,this.headerStyleCache=new Map,this.bodyStyleCache=new Map,this.bodyBottomStyleCache=new Map,this._updateSize(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(t.col,t.row),this.renderAsync(),this.eventManager.updateEventBinder()}addColumns(t,e,i=!0){const r=this.options.columns;void 0===e?(e=r.length,r.push(...t)):r.splice(e,0,...t);for(let i=0;i<t.length;i++)this.colWidthsMap.addAndReorder(e+i,t[i].width??this.internalProps.defaultColWidth);this.internalProps._colRangeWidthsMap.clear();const o=Array.from(this.internalProps._widthResizedColMap.keys());for(let i=0;i<o.length;i++)o[i]>=e&&(this.internalProps._widthResizedColMap.delete(o[i]),this.internalProps._widthResizedColMap.add(o[i]+t.length));if(i){for(let t=0;t<r.length;t++)r[t].field=t;for(let i=0;i<this.records.length;i++){const r=this.records[i];Array.isArray(r)&&r.splice(e,0,...Array(t.length).fill(void 0))}}this.updateColumns(r,{clearRowHeightCache:!1}),this.fireListeners(jS.ADD_COLUMN,{columnIndex:e,columnCount:t.length,columns:r})}deleteColumns(t,e=!0){const i=this.options.columns;t.sort(((t,e)=>e-t));for(let r=0;r<t.length;r++)if(i.splice(t[r],1),this.colWidthsMap.delAndReorder(t[r]),this.internalProps._widthResizedColMap.delete(t[r]),e)for(let e=0;e<this.records.length;e++){const i=this.records[e];Array.isArray(i)&&i.splice(t[r],1)}this.internalProps._colRangeWidthsMap.clear();const r=Array.from(this.internalProps._widthResizedColMap.keys());for(let e=0;e<r.length;e++)for(let i=0;i<t.length;i++)if(r[e]>t[i]){this.internalProps._widthResizedColMap.delete(r[e]),this.internalProps._widthResizedColMap.add(r[e]-(t.length-i));break}if(e)for(let t=0;t<i.length;t++)i[t].field=t;this.updateColumns(i,{clearRowHeightCache:!1}),this.fireListeners(jS.DELETE_COLUMN,{deleteColIndexs:t,columns:i})}get columns(){return this.internalProps.layoutMap.columnTree.getCopiedTree()}get header(){return this.internalProps.columns}set header(t){this.internalProps.columns=t,sB(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.internalProps.groupBy){const o=r.getCellRawRecord(t,e);if(o?.vtableMerge)return"";r.internalProps.layoutMap.isAggregation(t,e)||(i=this.dataSource.getGroupSeriesNumber(e-this.columnHeaderLevelCount))}else{const o=r.getBodyColumnDefine(t,e),n=r.getFieldData(o.field,t,e);i=["number","string"].includes(typeof n)?n:n?.text?n.text??"":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,e={clearColWidthCache:!0,clearRowHeightCache:!0}){const i=this.internalProps;if(this.pluginManager.removeOrAddPlugins(t.plugins),super.updateOption(t,e),i.frozenColDragHeaderMode=t.dragOrder?.frozenColDragHeaderMode??t.frozenColDragHeaderMode,this.pagination=t.pagination,i.sortState=t.sortState,i.dataConfig=this.internalProps.groupBy?Tz(this.internalProps.groupBy,t.addRecordRule):{addRecordRule:t.addRecordRule},this.showHeader=t.showHeader??!0,i.columns=t.columns?sz(t.columns,["children"]):t.header?sz(t.header,["children"]):[],sB(this),i.enableTreeNodeMerge=t.enableTreeNodeMerge??lt(this.internalProps.groupBy)??!1,this.internalProps.headerHelper.setTableColumnsEditor(),this.transpose=t.transpose??!1,this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.internalProps.columnWidthConfig=t.columnWidthConfig,this.internalProps.rowHeightConfig=t.rowHeightConfig,i.releaseList)for(let t=i.releaseList.length-1;t>=0;t--){const e=i.releaseList[t];e instanceof kA?e.updateColumns(this.internalProps.columns):(e?.release?.(),i.releaseList.splice(t,1))}if(t.dataSource&&this.dataSource!==t.dataSource?this.dataSource=t.dataSource:t.records?this.setRecords(t.records,{sortState:t.sortState}):(this.refreshRowColCount(),this._resetFrozenColCount(),this.scenegraph.createSceneGraph(),this.render()),t.title){const e=RA.getComponent("title");i.title=new e(t.title,this),this.scenegraph.resize()}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return this.pluginManager.updatePlugins(t.plugins),setTimeout((()=>{this.fireListeners(jS.UPDATED,null)}),0),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 Sz(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||this.options.showAggregationWhenEmpty?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,this.options.frozenColCount>=this.colCount&&(this.internalProps.frozenColCount=0),t._setFrozenRowCount(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),function(t,e){if(e.internalProps._widthResizedColMap.size>0){const i=Array.from(e.internalProps._widthResizedColMap.keys());e.internalProps._widthResizedColMap.clear();for(let r=0;r<i.length;r++){const o=i[r];let n;const{sourceIndex:s,targetIndex:a,sourceSize:l}=t;n=o>=s&&o<s+l?a+(o-s):s<a?o>=s+l&&o<a||o>=a?o-l:o:o>=a&&o<s?o+l:o,e.internalProps._widthResizedColMap.add(n)}}}(o,this),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),function(t,e){if(e.internalProps._heightResizedRowMap.size>0){const i=Array.from(e.internalProps._heightResizedRowMap.keys());e.internalProps._heightResizedRowMap.clear();for(let r=0;r<i.length;r++){const o=i[r];let n;const{sourceIndex:s,targetIndex:a,sourceSize:l}=t;n=o>=s&&o<s+l?a+(o-s):s<a?o>=s+l&&o<a||o>=a?o-l:o:o>=a&&o<s?o+l:o,e.internalProps._heightResizedRowMap.add(n)}}}(o,this)),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(lt(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 lt(e)&&(o=i.getRecordStartRowByRecordIndex(e)),this.transpose?{start:{row:t.start.row,col:lt(o)?o+t.start.col:void 0},end:{row:t.end.row,col:lt(o)?o+t.end.col:void 0}}:{start:{col:t.start.col,row:lt(o)?o+t.start.row:void 0},end:{col:t.end.col,row:lt(o)?o+t.end.row:void 0}}}return null}getHierarchyState(t,e){if(this.isHeader(t,e))return this._getHeaderLayoutMap(t,e)?.hierarchyState;if(!this.internalProps.groupBy||pt(this.internalProps.groupBy)&&0===this.internalProps.groupBy.length){if(!this.getBodyColumnDefine(t,e).tree)return v_.none}const i=this.getRecordShowIndexByCell(t,e);return this.dataSource.getHierarchyState(i)}getRecordHierarchyState(t,e){let i;return this.transpose?this.getRecordShowIndexByCell(t,0):i=this.getRecordShowIndexByCell(0,e),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(this.isHeader(t,e)){const i=this.internalProps.layoutMap.getHeader(t,e),{hierarchyState:o,define:n}=i;if(![v_.collapse,v_.expand].includes(o)||!n)return;const s=n.columns;if(Array.isArray(s)&&s.length>0){const t=o===v_.expand?v_.collapse:v_.expand;i.hierarchyState=t,i.define.hierarchyState=t,this.updateColumns(this.internalProps.columns)}this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:r,originData:i,cellLocation:this.getCellLocation(t,e)})}else if(r===v_.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.collapse});else if(r===v_.collapse){const r=this.getCellOriginRecord(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.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=YP(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??wS}}))),this.internalProps.layoutMap.clearCellRangeMap(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.sortCell()),t.length&&this.stateManager.updateSortState(t)}updateFilterRules(t,e={clearRowHeightCache:!0}){this.scenegraph.clearCells(),this.sortState?(this.dataSource.updateFilterRulesForSorted(t),Bz(this)):this.dataSource.updateFilterRules(t,e?.onFilterRecordsEnd),this.refreshRowColCount(),this.stateManager.initCheckedState(this.records),this.scenegraph.createSceneGraph(!e?.clearRowHeightCache),this.internalProps.emptyTip?.resetVisible(),this.resize()}getFilteredRecords(){return this.dataSource.records}getCheckboxState(t){if(this.stateManager.checkedState.size<this.rowCount-this.columnHeaderLevelCount&&this.stateManager.initLeftRecordsCheckState(this.records),lt(t)){let e=Array.from(this.stateManager.checkedState.keys()).sort(((t,e)=>{const i=t.split(","),r=e.split(","),o=Math.max(i.length,r.length);for(let t=0;t<o;t++){const e=Number(i[t])??0,o=Number(r[t])??0;if(e!==o)return e-o}return 0})).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(pt(o)&&o.length===r){const r=i.getOriginRecordIndexForGroup(o);e[r]=t.stateManager.checkedState.get(o.toString())}})),e}(this)),Array.from(e,(e=>e&&e[t]))}return[...this.stateManager.checkedState.values()]}getCellCheckboxState(t,e){const i=this.getBodyColumnDefine(t,e),r=i?.field,o=this.getCellType(t,e);if(lt(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 lt(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(lt(o)&&"radio"===n){const r=i.dataSource.getIndexKey(i.getRecordShowIndexByCell(t,e)),n=i.stateManager.radioState?.[o];if(bt(n)){if(n===r)return!0}else if(ht(n)){const t=n[r];if(bt(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")||o?.getChildByName("checkbox-content")?._checkboxGroup?.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(bt(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;Ck(),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)&<(i.field)||Array.isArray(i))&&(this.internalProps.sortState=this.internalProps.multipleSort?Array.isArray(i)?i:[i]:i,this.stateManager.setSortState(this.sortState)),t){if(tB(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??wS}})))}this.refreshRowColCount()}else tB(this,t);if(this.stateManager.initCheckedState(t),this.clearCellStyleCache(),this.scenegraph.createSceneGraph(),this.stateManager.updateHoverPos(r.col,r.row),this._updateSize(),this.internalProps.title&&!this.internalProps.title.isReleased&&this.internalProps.title.resize(),this.scenegraph.resize(),this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}this.render(),lt(r.col)&<(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(lt(t)&<(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;lt(t)&<(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){const i=this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`];if(i)return i;Object.values(this.editorManager.cacheLastSelectedCellEditor).forEach((t=>t?.onEnd?.())),this.editorManager.cacheLastSelectedCellEditor={};const r=this.getBodyColumnDefine(t,e);let o=this.isHeader(t,e)?r?.headerEditor??this.options.headerEditor:r?.editor??this.options.editor;if("function"==typeof o){o=o({col:t,row:e,dataValue:this.getCellOriginValue(t,e),value:this.getCellValue(t,e)||"",table:this})}return"string"==typeof o&&(o=$I(o)),o&&(this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`]=o),o}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 lt(r)}changeCellValue(t,e,i,r=!1,o=!0){return function(t,e,i,r,o,n){if(r&&n.isHasEditorDefine(t,e)||!1===r){const r=n.getRecordShowIndexByCell(t,e),{field:s}=n.internalProps.layoutMap.getBody(t,e),a=n.getCellRawValue(t,e),l=n.getCellOriginValue(t,e);n.isHeader(t,e)?n.internalProps.layoutMap.updateColumnTitle(t,e,i):n.dataSource.changeFieldValue(i,r,s,t,e,n);const h=n.getCellRange(t,e),c=n.internalProps.layoutMap.getAggregatorsByCell(t,e);if(c){if(Array.isArray(c))for(let t=0;t<c?.length;t++)c[t].recalculate();else c.recalculate();const t=n.internalProps.layoutMap.getAggregatorCellAddress(h.start.col,h.start.row,h.end.col,h.end.row);for(let e=0;e<t.length;e++){const i=n.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++)n.scenegraph.updateCellContent(t,e)}}for(let t=h.start.col;t<=h.end.col;t++)for(let e=h.start.row;e<=h.end.row;e++)n.scenegraph.updateCellContent(t,e);if("adaptive"===n.widthMode||n.autoFillWidth&&n.getAllColsWidth()<=n.tableNoFrameWidth)0===n.internalProps._widthResizedColMap.size&&n.scenegraph.recalculateColWidths();else if(!n.internalProps._widthResizedColMap.has(t)){const e=n.getColWidth(t),i=rE(t,0,n.rowCount-1,n,!1);i!==e&&n.scenegraph.updateColWidth(t,i-e)}if("adaptive"===n.heightMode||n.autoFillHeight&&n.getAllRowsHeight()<=n.tableNoFrameHeight)0===n.internalProps._heightResizedRowMap.size&&n.scenegraph.recalculateRowHeights();else if(n.isAutoRowHeight(e)&&!n.internalProps._heightResizedRowMap.has(e)){const t=n.getRowHeight(e),i=YP(e,0,n.colCount-1,n);n.scenegraph.updateRowHeight(e,i-t)}const d=n.getCellOriginValue(t,e);l!==d&&o&&n.fireListeners(jS.CHANGE_CELL_VALUE,{col:t,row:e,rawValue:a,currentValue:l,changedValue:d}),n.scenegraph.updateNextFrame()}}(t,e,i,r,o,this)}changeCellValues(t,e,i,r=!1,o=!0){return async function(t,e,i,r,o,n){const s=[];let a=t,l=e;const h=[],c=[];let d;for(let r=0;r<i.length&&!(e+r>n.rowCount-1);r++){const o=i[r],s=[],a=[];h.push(s),c.push(a);for(let i=0;i<o.length&&!(t+i>n.colCount-1);i++){d=Mz(t+i,e+r,n,d);const o=n.getCellRawValue(t+i,e+r);s.push(o);const l=n.getCellOriginValue(t+i,e+r);a.push(l)}}for(let d=0;d<i.length&&!(e+d>n.rowCount-1);d++){s[d]=[],l=e+d;const u=i[d];let g=t;for(let i=0;i<u.length&&!(t+i>n.colCount-1);i++){g=t+i;let a=!1;if(!1===r)a=!0;else if(n.isHasEditorDefine(t+i,e+d)){const r=n.getEditor(t+i,e+d),o=c[d][i],s=u[i],l=r?.validateValue?.(s,o,{col:t+i,row:e+d},n)??!0;if(ES(l)){const t=await l;a=!0===t||"validate-exit"===t||"validate-not-exit"===t}else a=!0===l||"validate-exit"===l||"validate-not-exit"===l}if(a){s[d][i]=!0;const r=u[i],a=n.getRecordShowIndexByCell(t+i,e+d),{field:l}=n.internalProps.layoutMap.getBody(t+i,e+d),g=h[d][i],p=c[d][i];n.isHeader(t+i,e+d)?n.internalProps.layoutMap.updateColumnTitle(t+i,e+d,r):n.dataSource.changeFieldValue(r,a,l,t+i,e+d,n);const f=n.getCellOriginValue(t+i,e+d);p!==f&&o&&n.fireListeners(jS.CHANGE_CELL_VALUE,{col:t+i,row:e+d,rawValue:g,currentValue:p,changedValue:f})}else s[d][i]=!1}a=Math.max(a,g)}const u=n.getCellRange(t,e),g=n.getCellRange(a,l),p=n.internalProps.layoutMap.getAggregatorsByCellRange(u.start.col,u.start.row,g.end.col,g.end.row);if(p){for(let t=0;t<p?.length;t++)p[t].recalculate();if("normal"===d){const t=n.internalProps.layoutMap.getAggregatorCellAddress(u.start.col,u.start.row,g.end.col,g.end.row);for(let e=0;e<t.length;e++){const i=n.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++)n.scenegraph.updateCellContent(t,e)}}}if("group"===d&&n.dataSource.updateRecordsForGroup([],[]),"sort"===d||"group"===d)return n.dataSource.sortedIndexMap.clear(),Bz(n),n.refreshRowColCount(),n.internalProps.layoutMap.clearCellRangeMap(),n.scenegraph.clearCells(),n.scenegraph.createSceneGraph(),s;for(let t=u.start.col;t<=g.end.col;t++)for(let e=u.start.row;e<=g.end.row;e++)n.scenegraph.updateCellContent(t,e);if("adaptive"===n.widthMode||n.autoFillWidth&&n.getAllColsWidth()<=n.tableNoFrameWidth)0===n.internalProps._widthResizedColMap.size&&n.scenegraph.recalculateColWidths();else for(let e=t;e<=g.end.col;e++)if(!n.internalProps._widthResizedColMap.has(e)){const t=n.getColWidth(e),i=rE(e,0,n.rowCount-1,n,!1);i!==t&&n.scenegraph.updateColWidth(e,i-t)}if("adaptive"===n.heightMode||n.autoFillHeight&&n.getAllRowsHeight()<=n.tableNoFrameHeight)n.scenegraph.recalculateRowHeights();else if(n.isAutoRowHeight(e)){const t=[],i=[];for(let r=e;r<=g.end.row;r++)if(n.rowHeightsMap.get(r)){const e=n.getRowHeight(r),o=YP(r,0,n.colCount-1,n);t.push(r),i.push(o-e)}n.scenegraph.updateRowsHeight(t,i)}return n.scenegraph.updateNextFrame(),s}(t,e,i,r,o,this)}addRecord(t,e){const i=function(t,e,i){try{if(!t)return!1;if(i.internalProps.groupBy)i.dataSource.addRecordsForGroup?.([t],e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Bz(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.([t],e),Hz(i,e,1),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Bz(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordForSorted(t),i.stateManager.checkedState.clear(),Bz(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),Hz(i,e,1);const o=i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),i.scenegraph.createSceneGraph(),!0;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=[],n=i.internalProps.layoutMap.hasAggregationOnTopCount,s=i.internalProps.layoutMap.hasAggregationOnBottomCount;for(let t=r;t<r+n;t++)i.transpose?o.push({col:t,row:0}):o.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?o.push({col:t,row:0}):o.push({col:0,row:t});i.transpose?i.scenegraph.updateCol([],t,[]):i.scenegraph.updateRow([],t,[])}}return!0}catch(t){return!1}}(t,e,this);KL(this,e,[t]),this.internalProps.emptyTip?.resetVisible(),i&&this.fireListeners(jS.ADD_RECORD,{records:[t],recordIndex:e,recordCount:1})}addRecords(t,e){const i=function(t,e,i){try{if(!t||0===t.length)return!1;if(i.internalProps.groupBy)i.dataSource.addRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Bz(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if("tree"===i.dataSource.rowHierarchyType)i.dataSource.addRecordsForTree?.(t,e),Hz(i,e,t.length),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Bz(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.addRecordsForSorted(t),Bz(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),Hz(i,e,t.length);const o=i.transpose?i.colCount:i.rowCount;if(i.refreshRowColCount(),0===i.scenegraph.proxy.totalActualBodyRowCount)return i.scenegraph.clearCells(),i.scenegraph.createSceneGraph(),!0;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)}}return!0}catch(t){return!1}}(t,e,this);"number"==typeof e&&KL(this,e,t),this.internalProps.emptyTip?.resetVisible(),i&&this.fireListeners(jS.ADD_RECORD,{records:t,recordIndex:e,recordCount:t.length})}deleteRecords(t){!function(t,e){if(t?.length>0)if(e.internalProps.groupBy)e.dataSource.deleteRecordsForGroup?.(t),e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&Bz(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else if("tree"===e.dataSource.rowHierarchyType){const i=e.dataSource.deleteRecordsForTree?.(t);if(0===i.length)return;for(let t=0;t<i.length;t++)Pz(e,i[t],1);e.refreshRowColCount(),e.internalProps.layoutMap.clearCellRangeMap(),e.sortState&&Bz(e),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph()}else if(e.sortState)e.dataSource.deleteRecordsForSorted(t),Bz(e),e.refreshRowColCount(),e.scenegraph.clearCells(),e.scenegraph.createSceneGraph();else{const i=e.dataSource.deleteRecords(t);if(0===i.length)return;for(let t=0;t<i.length;t++)Pz(e,i[t],1);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),function(t,e){const i=t.transpose?t.rowHeaderLevelCount:t.columnHeaderLevelCount;e.sort(((t,e)=>e-t));for(let r=0;r<e.length;r++){const o=e[r]+i,n=Array.from(t.internalProps._heightResizedRowMap.keys());for(let e=0;e<n.length;e++)n[e]===o?t.internalProps._heightResizedRowMap.delete(n[e]):n[e]>o&&(t.internalProps._heightResizedRowMap.delete(n[e]),t.internalProps._heightResizedRowMap.add(n[e]-1))}}(this,t),this.internalProps.emptyTip?.resetVisible();const e=[];for(let i=0;i<t.length;i++)e.push(this.getBodyRowIndexByRecordIndex(t[i])+this.columnHeaderLevelCount);this.fireListeners(jS.DELETE_RECORD,{recordIndexs:t,rowIndexs:e,deletedCount:(Array.isArray(t[0]),t.length)})}updateRecords(t,e){!function(t,e,i){if(e?.length>0)if(i.internalProps.groupBy)i.dataSource.updateRecordsForGroup?.(t,e),i.refreshRowColCount(),i.internalProps.layoutMap.clearCellRangeMap(),i.sortState&&Bz(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&&Bz(i),i.scenegraph.clearCells(),i.scenegraph.createSceneGraph();else if(i.sortState)i.dataSource.updateRecordsForSorted(t,e),Bz(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),this.fireListeners(jS.UPDATE_RECORD,{records:t,recordIndexs:e,updateCount:t.length})}_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.internalProps.groupBy)return;const i=this.dataSource.getIndexKey(this.getRecordShowIndexByCell(t,e)),r=this.dataSource.getGroupLength()??0;let o=pt(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)}release(){this.editorManager?.release(),super.release()}expandAllTreeNode(){if(!this._hasHierarchyTreeHeader())return;let t=!1;this.dataSource&&"function"==typeof this.dataSource.expandAllNodes&&(this.dataSource.expandAllNodes(),t=!0),t&&(this._recreateSceneForStateChange(),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.expand,originData:{children:this.records}}))}collapseAllTreeNode(){if(!this._hasHierarchyTreeHeader())return;let t=!1;this.dataSource&&"function"==typeof this.dataSource.collapseAllNodes&&(this.dataSource.collapseAllNodes(),t=!0),t&&(this._recreateSceneForStateChange(),this.fireListeners(jS.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.collapse,originData:{children:this.records}}))}mergeCells(t,e,i,r){for(let o=t;o<=i;o++)for(let t=e;t<=r;t++){const e=this.getCellRange(o,t);if(e.start.col!==e.end.col||e.start.row!==e.end.row)return}this.options.customMergeCell?"function"==typeof this.options.customMergeCell&&(this.options.customMergeCell=[]):this.options.customMergeCell=[],this.options.customMergeCell.push({text:this.getCellValue(t,e),range:{start:{col:t,row:e},end:{col:i,row:r}}}),this.internalProps.customMergeCell=zI(this.options.customMergeCell);for(let o=t;o<=i;o++)for(let t=e;t<=r;t++)this.scenegraph.updateCellContent(o,t);this.scenegraph.updateNextFrame()}unmergeCells(t,e,i,r){this.options.customMergeCell?"function"==typeof this.options.customMergeCell&&(this.options.customMergeCell=[]):this.options.customMergeCell=[],this.options.customMergeCell=this.options.customMergeCell.filter((o=>{const{start:n,end:s}=o.range;return!(n.col===t&&n.row===e&&s.col===i&&s.row===r)})),this.internalProps.customMergeCell=zI(this.options.customMergeCell);for(let o=t;o<=i;o++)for(let t=e;t<=r;t++)this.scenegraph.updateCellContent(o,t);this.scenegraph.updateNextFrame()}}function Ez(t){return"bottom"===t||"top"===t}class Lz{_scale;_scales;bandPadding;paddingInner;paddingOuter;constructor(){this._scale=new rx,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=pt(i),s=pt(r),a=pt(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 Fz=Math.sqrt(50),Iz=Math.sqrt(10),zz=Math.sqrt(2);class Oz{_extend={};_scale;_scales;nice;zero;domain;expand;forceTickCount;tickCount;niceType;type;constructor(t){this.type=t??"linear",this._scale="log"===t?new Mx:"symlog"===t?new Bx:new Sx,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(){at(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.nice():lt(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.niceMax():at(this.domain?.min)&<(this.domain?.max)&&this.nice&&this._scale.niceMin()}setLinearScaleNice(){let t=this.forceTickCount??this.tickCount??10;"accurateFirst"===this.niceType&&(t=Math.max(10,t)),at(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.nice(t):lt(this.domain?.min)&&at(this.domain?.max)?this.nice&&this._scale.niceMax(t):at(this.domain?.min)&<(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];lt(this.expand.min)&&(t[0]=e-(i-e)*this.expand.min),lt(this.expand.max)&&(t[t.length-1]=i+(i-e)*this.expand.max)}niceDomain(t){if(lt(t[0])||lt(t[1])||"linear"!==this.type)return t;if(Math.abs(Gt(t)-Nt(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>=Fz?10:o>=Iz?5:o>=zz?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)),at(this.domain?.min)&&at(this.domain?.max)?this._scale.nice(t):lt(this.domain?.min)&&at(this.domain?.max)?this._scale.niceMax(t):at(this.domain?.min)&<(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;lt(e)&&(t[0]=e),lt(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 Dz(t,e){const i=e.option;At(t)||i?.label?.flush&&function(t,e){const{width:i,height:r}=e.getLayoutRect(),o=Ez(e.orient),n=!0===e.option.inverse,s=t[0],a=Wt(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 Wz=t=>t;class Nz{width;height;x=0;y=0;table;option;orient;visible;type;inverse;data;tickData;scale;component;bodyChartCellPadding;constructor(t,e,i,r,o){if(this.bodyChartCellPadding=r,this.table=o,this.orient=t.orient??"left",this.type=t.type??"band",this.option=Et({},function(t){return t?.colorScheme?.default?.palette?Et({},mz,{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"}}}):mz}(t.__vtableChartTheme),Gz(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 Et({},r,o,n)}(this.orient,this.type,t.__vtableChartTheme),t),"left"===this.orient||"right"===this.orient){const t=0,o=0;"left"===this.orient&&(this.x=this.option.cellPaddingLeft??0,this.width=e-(this.option.cellPaddingLeft??0)),"right"===this.orient&&(this.x=0,this.width=e-(this.option.cellPaddingRight??0)),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.x=r[3]+t,"top"===this.orient&&(this.y=this.option.cellPaddingTop??0,this.height=i-(this.option.cellPaddingTop??0)),"bottom"===this.orient&&(this.y=0,this.height=i-(this.option.cellPaddingBottom??0))}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 Lz,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 Oz(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 rz),function(t,e,i){t.getParser(e)||t.registerParser(e,i)}(this.table._vDataSet,"scale",Wz),t=this.table._vDataSet,e="ticks",i=Dx,t.getTransform(e)||t.registerTransform(e,i);const r=this.option.label||{},o=this.option.tick||{},n=new oz(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=bz(this.option),e=this.getUpdateAttribute();e.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component=new Hv(Et({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){"left"===this.orient?this.width=t-(this.option.cellPaddingLeft??0):"right"===this.orient?this.width=t-(this.option.cellPaddingRight??0):"top"!==this.orient&&"bottom"!==this.orient||(this.width=t-(this.bodyChartCellPadding[1]+this.bodyChartCellPadding[3])),"top"===this.orient?this.height=e-(this.option.cellPaddingTop??0):"bottom"===this.orient?this.height=e-(this.option.cellPaddingBottom??0):"left"!==this.orient&&"right"!==this.orient||(this.height=e-(this.bodyChartCellPadding[2]+this.bodyChartCellPadding[0])),this.updateScaleRange(),this.computeData();const i=bz(this.option),r=this.getUpdateAttribute();r.verticalFactor="top"===this.orient||"right"===this.orient?-1:1,this.component.setAttributes(Et({},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);Dz(i?i.getChildren():[],e),Dz(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=Ez(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];Ez(this.orient)?yt(o)&&(a=s?[o-t,e]:[e,o-t]):yt(n)&&(a=s?[i,n-r]:[n-r,i]),this.scale.updateRange(a)}setLayoutStartPosition(t){let{x:e,y:i}=t;return yt(e)&&(e+=Number("left"===this.orient)*this.getLayoutRect().width),yt(i)&&(i+=Number("top"===this.orient)*this.getLayoutRect().height),{x:e,y:i}}_getTitleLimit(t){if(this.option.title.visible&&at(this.option.title.style?.maxLineWidth)){let e=this.option.title.style?.angle||0;if(this.option.title?.autoRotate&&at(this.option.title.angle)&&(e="left"===this.option.orient?-90:90),t){const t=this.getLayoutRect().width,i=Math.abs(Math.cos(Me(e)));return i<1e-6?1/0:t/i}const i=this.getLayoutRect().height,r=Math.abs(Math.sin(Me(e)));return r<1e-6?1/0:i/r}return null}getScale(){return this.scale._scale}getDomainSpec(){return this.scale.domain}}function Gz(t,e){let i;return"left"===t?i=e.axisStyle.leftAxisStyle:"right"===t?i=e.axisStyle.rightAxisStyle:"top"===t?i=e.axisStyle.topAxisStyle:"bottom"===t&&(i=e.axisStyle.bottomAxisStyle),Et({},e.axisStyle.defaultAxisStyle,i)}function Vz(t,e){const i=Et({},mz,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??gz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??uz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Kz(Math.min(r,s),n,a).width)}))}else{let r;if(t.sync?.tickAlign&&st(t.tick?.tickMode))r=t.tick.tickMode();else if(pt(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=[Uz(e),Uz(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??gz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??uz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Kz(Math.min(r,s),n,a).width)}))}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??gz,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??uz}),s=i.label?.style?.maxLineWidth||1/0,a=Kz(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}let s=0;const a=Gz(t.orient,e.theme);return"left"===t.orient?s=a?.cellPaddingLeft??0:"right"===t.orient&&(s=a?.cellPaddingRight??0),Math.ceil(r+o+n+s+1)}function jz(t,e){const i=Et({},mz,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??gz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??uz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Kz(Math.min(r,s),n,a).height)}))}else{let r;if(t.sync?.tickAlign&&st(t.tick?.tickMode))r=t.tick.tickMode();else if(pt(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=[Uz(e),Uz(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??gz,fontWeight:i.label?.style?.fontWeight??"normal",fontFamily:i.label?.style?.fontFamily??uz}),s=i.label?.style?.maxLineWidth||1/0,a=(i.label?.style?.angle??0)+("vertical"===i.label?.style?.direction?90:0);o=Math.max(o,Kz(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??gz,fontWeight:i.title?.style?.fontWeight??"normal",fontFamily:i.title?.style?.fontFamily??uz}),s=i.label?.style?.maxLineWidth||1/0,a=Kz(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}let s=0;const a=Gz(t.orient,e.theme);return"top"===t.orient?s=a?.cellPaddingTop??0:"bottom"===t.orient&&(s=a?.cellPaddingBottom??0),r+o+n+s+1}function Uz(t){return"number"!=typeof t&&(t=Number(t)),Number(t.toPrecision(1)).toString()}function Kz(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 $z{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),lt(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)It(t,this._cacheAttrs)||this._emptyTipComponent.setAttributes(t);else{const e=new d_(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 Ye;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 Ye;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 Xz={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 Yz{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Bt(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 t_(Et({},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(){if(!this.legendComponent||!1===this.visible)return;const t=this.getLegendAttributes({width:this.table.tableNoFrameWidth,height:this.table.tableNoFrameHeight});this.legendComponent.setAttributes(t),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=wM(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}=Et({},Xz,t),C=y;return i.visible&&(C.title=az(i)),At(r.focusIconStyle)||lz(r.focusIconStyle),hz(r.shape),hz(r.label),hz(r.value),hz(r.background),JM(r.maxWidth)&&(r.maxWidth=Number(r.maxWidth.substring(0,r.maxWidth.length-1))*e.width/100),JM(r.width)&&(r.width=Number(r.width.substring(0,r.width.length-1))*e.width/100),JM(r.height)&&(r.height=Number(r.height.substring(0,r.height.length-1))*e.width/100),C.item=r,At(o.textStyle)||lz(o.textStyle),hz(o.handler),C.pager=o,n.visible&&!At(n.style)&&(Et(C,n.style),lt(n.padding)&&(C.padding=n.padding)),C}(this.option,t),r=wM(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($x.legendItemClick,(t=>{const e=Rt(t,"detail.currentSelected");this.table.fireListeners(jS.LEGEND_ITEM_CLICK,{model:this,value:e,event:t})})),this.legendComponent.addEventListener($x.legendItemHover,(t=>{const e=Rt(t,"detail");this.table.fireListeners(jS.LEGEND_ITEM_HOVER,{model:this,value:e,event:t})})),this.legendComponent.addEventListener($x.legendItemUnHover,(t=>{const e=Rt(t,"detail");this.table.fireListeners(jS.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 qz={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"}}}},Zz={horizontal:{...qz,rail:{width:200,height:8,style:{fill:"rgba(0,0,0,0.04)"}}},vertical:{...qz,rail:{width:8,height:200,style:{fill:"rgba(0,0,0,0.04)"}}}},Jz={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)"}},...qz},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)"}},...qz}};function Qz(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}=Et({},("color"===t.type?Zz:Jz)["bottom"===t.orient||"top"===t.orient?"horizontal":"vertical"],t),R=A;return i.visible&&(R.title=az(i)),R.showHandler=!1!==r.visible,At(r.style)||(R.handlerStyle=lz(r.style)),lt(o.width)&&(R.railWidth=o.width),lt(o.height)&&(R.railHeight=o.height),At(o.style)||(R.railStyle=lz(o.style)),At(n.style)||(R.trackStyle=lz(n.style)),R.startText=hz(s),R.endText=hz(a),R.handlerText=hz(l),At(h)||(R.sizeBackground=lz(h)),c.visible&&!At(c.style)&&(Et(R,c.style),lt(c.padding)&&(R.padding=c.padding)),R}class tO{table;option;orient;visible;position;selectedData;legendComponent;constructor(t,e){this.table=e,this.option=Bt(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 n_(Et({},t,{slidable:!0})):new a_(Et({},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=wM(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{...Qz(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=Rt(t,"detail.value");this.table.fireListeners(jS.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 eO(t,e){return"color"===t.type||"size"===t.type?new tO(t,e):new Yz(t,e)}class iO{_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 rO="vtable__menu-element",oO=`${rO}--hidden`,nO=`${rO}--shown`;class sO{_handler;_rootElement;_menuInstanceInfo;constructor(t){this._handler=new XS,this._rootElement=EF("div",[rO,oO]),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(oO))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(jS.DROPDOWN_MENU_CLICK,{col:i,row:r,field:l,menuKey:n,text:s,highlight:h,cellLocation:t.getCellLocation(i,r),event:e}),t.fireListeners(jS.DROPDOWN_MENU_CLEAR,null),t.fireListeners(jS.HIDE_MENU,null),e.stopPropagation()})),this._rootElement?.addEventListener("mousemove",(t=>{this._rootElement.classList.contains(oO)||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(nO),o?.classList.add(oO),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(nO),o?.classList.remove(oO),!0}else this.unbindFromCell();return!1}unbindFromCell(){const t=this._rootElement;this._menuInstanceInfo=void 0,t?.parentElement&&(t.classList.remove(nO),t.classList.add(oO))}_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 aO extends iO{createMenuElementInternal(){return new qF(this._table)}}let lO=class extends iO{createMenuElementInternal(){return new sO(this._table)}};const hO={"dropdown-menu":function(t){return new aO(t)},"context-menu":function(t){return new aO(t)},container:t=>new lO(t)};class cO{_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=-1===t&&-1===e?{start:{col:-1,row:-1},end:{col:-1,row:-1}}: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&&IS(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(jS.DROPDOWN_ICON_CLICK,(t=>{this._attachInfo&&this._isBindToCell(t.col,t.row)?this._unbindFromCell():this._bindToCell(t.col,t.row,"dropdown-menu")})),t.on(jS.DROPDOWN_MENU_CLEAR,(t=>{this._unbindFromCell()})),t.on(jS.CONTEXTMENU_CELL,(e=>{if("html"===t.internalProps.menu?.renderMode){const i=t._getMouseAbstractPoint(e.event);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}})}})),t.on(jS.CONTEXTMENU_CANVAS,(e=>{if("html"===t.internalProps.menu?.renderMode){const i=t._getMouseAbstractPoint(e.event);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(-1,-1,"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){if(-1===e&&-1===i&&"context-menu"===r)return o?.content?{type:r,position:o.position,referencePosition:o.referencePosition??{rect:{left:0,right:0,top:0,bottom:0,width:0,height:0}},content:o.content}:null;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]=hO[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 dO{table;_titleOption;isReleased=!1;_titleComponent;_cacheAttrs;constructor(t,e){this.table=e,this._titleOption=Et({orient:"top"},t),!1!==t.visible&&(this._titleComponent=this._createOrUpdateTitleComponent(this._getTitleAttrs()))}_createOrUpdateTitleComponent(t){if(this._titleComponent)It(t,this._cacheAttrs)||this._titleComponent.setAttributes(t);else{const e=new l_(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=wM(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=wM(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 uO{_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"===oS.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 gO="vtable__bubble-tooltip-element",pO=`${gO}__content`,fO=`${gO}__triangle`,mO=`${gO}--hidden`,bO=`${gO}--shown`;class yO{_handler;_rootElement;_messageElement;_triangleElement;_disappearDelay;_disappearDelayId;constructor(){this._handler=new XS;const t=this._rootElement=EF("div",[gO,mO]),e=EF("div",[pO]),i=EF("span",[fO]);t.appendChild(i),t.appendChild(e),this._messageElement=t.querySelector(`.${pO}`)||void 0,this._triangleElement=t.querySelector(`.${fO}`)||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(bO),n?.classList.add(mO),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(bO),n?.classList.remove(mO),!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(bO),n?.classList.remove(mO)):this.unbindFromCell()}unbindFromCell(){if(this._disappearDelay)this._disappearDelayId=setTimeout((()=>{const t=this._rootElement;t?.parentElement&&(t.classList.remove(bO),t.classList.add(mO))}),this._disappearDelay??0);else{const t=this._rootElement;t?.parentElement&&(t.classList.remove(bO),t.classList.add(mO))}}_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`,CS()&&(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??w_.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===w_.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=w_.right,c())):t===w_.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=w_.left,c())):t===w_.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=w_.top,c())):t===w_.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=w_.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 CO extends uO{createTooltipElementInternal(){return new yO}}const wO={"bubble-tooltip":function(t){return new CO(t)}};class vO{_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||!IS(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||!IS(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&&IS(i.range,t,e)}_bindTableEvent(t){t.on(jS.MOUSEENTER_CELL,(e=>{if(CS())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(jS.MOUSEMOVE_CELL,(e=>{if(!CS()){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);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(jS.MOUSELEAVE_CELL,(t=>{this._unbindFromCell()})),t.on(jS.SELECTED_CELL,(t=>{this._isBindCell(t.col,t.row)&&this._unbindFromCell()})),t.on(jS.MOUSELEAVE_TABLE,(t=>{this._unbindFromCell()})),t.on(jS.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(st(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]=wO[o](i))}isBinded(t){return JSON.stringify(t)===JSON.stringify(this._attachInfo?.tooltipOptions)}}const xO=()=>{RA.registerComponent("axis",Nz),RA.registerFunction("computeAxisComponentWidth",Vz),RA.registerFunction("computeAxisComponentHeight",jz),RA.registerFunction("getAxisConfigInPivotChart",tk)},_O=()=>{RA.registerComponent("emptyTip",$z)},SO=()=>{RA.registerFunction("createLegend",eO)},AO=()=>{RA.registerComponent("menuHandler",cO)},RO=()=>{RA.registerComponent("title",dO)},TO=()=>{RA.registerComponent("tooltipHandler",vO)},MO=()=>{WC.registerBuiltInAnimate("increaseCount",ew),WC.registerBuiltInAnimate("fromTo",gv),WC.registerBuiltInAnimate("scaleIn",Vw),WC.registerBuiltInAnimate("scaleOut",jw),WC.registerBuiltInAnimate("growHeightIn",mw),WC.registerBuiltInAnimate("growHeightOut",bw),WC.registerBuiltInAnimate("growWidthIn",Ew),WC.registerBuiltInAnimate("growWidthOut",Lw),WC.registerBuiltInAnimate("growCenterIn",gw),WC.registerBuiltInAnimate("growCenterOut",pw),WC.registerBuiltInAnimate("clipIn",nw),WC.registerBuiltInAnimate("clipOut",sw),WC.registerBuiltInAnimate("fadeIn",aw),WC.registerBuiltInAnimate("fadeOut",lw),WC.registerBuiltInAnimate("growPointsIn",ww),WC.registerBuiltInAnimate("growPointsOut",vw),WC.registerBuiltInAnimate("growPointsXIn",_w),WC.registerBuiltInAnimate("growPointsXOut",Sw),WC.registerBuiltInAnimate("growPointsYIn",Rw),WC.registerBuiltInAnimate("growPointsYOut",Tw),WC.registerBuiltInAnimate("growAngleIn",dw),WC.registerBuiltInAnimate("growAngleOut",uw),WC.registerBuiltInAnimate("growRadiusIn",Pw),WC.registerBuiltInAnimate("growRadiusOut",Hw),WC.registerBuiltInAnimate("moveIn",av),WC.registerBuiltInAnimate("moveOut",lv),WC.registerBuiltInAnimate("rotateIn",cv),WC.registerBuiltInAnimate("rotateOut",dv),WC.registerBuiltInAnimate("update",nv),WC.registerBuiltInAnimate("state",Uw),WC.registerBuiltInAnimate("labelItemAppear",Fw),WC.registerBuiltInAnimate("labelItemDisappear",Iw),WC.registerBuiltInAnimate("poptipAppear",zw),WC.registerBuiltInAnimate("poptipDisappear",Ow),WC.registerBuiltInAnimate("inputText",iw),WC.registerBuiltInAnimate("inputRichText",Dw),WC.registerBuiltInAnimate("outputRichText",Ww),WC.registerBuiltInAnimate("slideRichText",Nw),WC.registerBuiltInAnimate("slideOutRichText",Gw),WC.registerBuiltInAnimate("slideIn",Kw),WC.registerBuiltInAnimate("growIn",$w),WC.registerBuiltInAnimate("spinIn",Xw),WC.registerBuiltInAnimate("moveScaleIn",Zw),WC.registerBuiltInAnimate("moveRotateIn",Jw),WC.registerBuiltInAnimate("strokeIn",Yw),WC.registerBuiltInAnimate("slideOut",Qw),WC.registerBuiltInAnimate("growOut",tv),WC.registerBuiltInAnimate("spinOut",ev),WC.registerBuiltInAnimate("moveScaleOut",iv),WC.registerBuiltInAnimate("moveRotateOut",rv),WC.registerBuiltInAnimate("strokeOut",qw),WC.registerBuiltInAnimate("pulse",ov),WC.registerBuiltInAnimate("MotionPath",uv),WC.registerBuiltInAnimate("streamLight",pv),WC.registerBuiltInAnimate("dissolve",wv),WC.registerBuiltInAnimate("grayscale",vv),WC.registerBuiltInAnimate("distortion",xv),WC.registerBuiltInAnimate("particle",_v),WC.registerBuiltInAnimate("glitch",Sv),WC.registerBuiltInAnimate("gaussianBlur",Av),WC.registerBuiltInAnimate("pixelation",Rv),Ot(al,XC),Ot(al,YC)};class BO{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){pt(t)||(t=[t]),pt(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(pt(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=fh({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=NB(r),{col:n,row:s}=o;kO(s-i.indexOf(s),t)}))}if(!i.border){const e=fh({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=NB(r),{col:n,row:s}=o;kO(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 QB({x:t.getColsWidth(0,o-1),y:t.getFrozenRowsHeight()}),i.add(n)):(n=new QB({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(PO(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=HO(s);t.setAttributes({y:40*e}),n.add(t)}else{const r=RP(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 PO(t,e,i,r){if(t===e&&t!==i+r.length-1)return!0;return t===i+r.indexOf(t)+1&&t<e}function HO(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=fh({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=HO(t);i.add(e)}))}return e}function kO(t,e){const i=e.getDrawRange();if(lt(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()}function EO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){const C=BS(UI,jI)[c],w=oP("padding",p._getCellStyle(o,n),o,n,p);if(lt(w)&&(l=w),!t){const l=nP(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 QB({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 uk(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,detectPickChartItem:p.options.customConfig?.detectPickChartItem,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}class LO extends QB{_leftGroup;_rightGroup;_checkboxGroup;_autoWidth=!1;_autoHeight=!1;_cellWidth;_originCellWidth;_cellHeight;_align;_baseline;constructor(t){super(t),this._leftGroup=new QB({pickable:!1,fill:!1,stroke:!1}),this._leftGroup.role="content-left",this._rightGroup=new QB({pickable:!1,fill:!1,stroke:!1}),this._rightGroup.role="content-right",this._checkboxGroup=new QB({pickable:!1,fill:!1,stroke:!1}),this._checkboxGroup.role="content-center",this.appendChild(this._leftGroup),this.appendChild(this._rightGroup),this.appendChild(this._checkboxGroup)}addLeftOccupyingIcon(t){t.setAttribute("x",this._leftGroup.width+(t.attribute.marginLeft??0)),this._leftGroup.appendChild(t),this._leftGroup.setDeltaWidth((t.attribute.marginLeft??0)+(t.attribute.marginRight??0)+t.attribute.width)}addRightOccupyingIcon(t){t.setAttribute("x",this._rightGroup.width+(t.attribute.marginLeft??0)),this._rightGroup.appendChild(t),this._rightGroup.setDeltaWidth((t.attribute.marginLeft??0)+(t.attribute.marginRight??0)+t.attribute.width)}addCheckbox(t){this._checkboxGroup.appendChild(t)}setCheckboxContentOption(t){this._autoWidth=t.autoWidth,this._autoHeight=t.autoHeight,this._cellWidth=t.cellWidth,this._originCellWidth=t.cellWidth,this._cellHeight=t.cellHeight,this._align=t.align,this._baseline=t.baseline}layout(){let t=this._leftGroup.width;t===1/0&&(t=0);let e=this._rightGroup.width;if(e===-1/0&&(e=0),this._autoWidth){const i=this._checkboxGroup.width;this._cellWidth=t+e+i,this.setAttribute("width",this._cellWidth)}else{const i=this._cellWidth-t-e;this.updateCenterLayout(i);const r=this._checkboxGroup.width;this._cellWidth=t+e+r,this.setAttribute("width",this._cellWidth)}this.updateHorizontalPos();const i=this._leftGroup.height,r=this._rightGroup.height,o=this._checkboxGroup.height;this._cellHeight=Math.max(i,r,o),this.setAttribute("height",this._cellHeight),this.updateVerticalPos()}updateCenterLayout(t){let e=t;this._checkboxGroup.forEachChildren((t=>{t instanceof h_&&(e-=t.AABBBounds.width())}));const i=this._checkboxGroup.getChildByName("checkbox-content");i instanceof h_&&i.setAttribute("width",e);let r=0;this._checkboxGroup.forEachChildren((t=>{t.setAttribute("x",r),r+=t.AABBBounds.width()}))}updateHorizontalPos(){this._leftGroup.setAttribute("x",0),this._rightGroup.setAttribute("x",this._cellWidth-this._rightGroup.width),this._checkboxGroup.setAttribute("x",4),"left"===this._align||"start"===this._align?this.setAttribute("dx",0):"center"===this._align?this.setAttribute("dx",-this.attribute.width/2):"right"!==this._align&&"end"!==this._align||this.setAttribute("dx",-this.attribute.width)}updateVerticalPos(){"top"===this._baseline?(this._leftGroup.setAttribute("y",0),this._rightGroup.setAttribute("y",0),this._checkboxGroup.setAttribute("y",0)):"middle"===this._baseline?(this._leftGroup.forEachChildren((t=>{t.setAttribute("y",(this._leftGroup.height-t.AABBBounds.height())/2)})),this._rightGroup.forEachChildren((t=>{t.setAttribute("y",(this._rightGroup.height-t.AABBBounds.height())/2)})),this._leftGroup.setAttribute("y",this._cellHeight/2-this._leftGroup.height/2),this._rightGroup.setAttribute("y",this._cellHeight/2-this._rightGroup.height/2),this._checkboxGroup.setAttribute("y",this._cellHeight/2-this._checkboxGroup.height/2)):"bottom"===this._baseline&&(this._leftGroup.forEachChildren((t=>{t.setAttribute("y",this._leftGroup.height-t.AABBBounds.height())})),this._rightGroup.forEachChildren((t=>{t.setAttribute("y",this._rightGroup.height-t.AABBBounds.height())})),this._leftGroup.setAttribute("y",this._cellHeight-this._leftGroup.height),this._rightGroup.setAttribute("y",this._cellHeight-this._rightGroup.height),this._checkboxGroup.setAttribute("y",this._cellHeight-this._checkboxGroup.height))}}function FO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b,y){if(!t){const s=nP(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 QB({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 C;if(u){let t=o,e=n;m&&(t=m.start.col,e=m.start.row),C=g.getCellIcons(t,e)}let w=0,v=0,x=0,_=0,S=[];if(Array.isArray(C)&&0!==C.length){const{leftIconWidth:e,rightIconWidth:i,contentLeftIcons:r,contentRightIcons:o,absoluteLeftIconWidth:n,absoluteRightIconWidth:s}=gP(C,t,m,g);w=e+i,v=e,x=i,S=r,_=s,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-s-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 A=function(t,e,i,r,o,n,s,a,l,h){const c=l._getCellStyle(t,e),d=rP("size",c,t,e,l),u=rP("spaceBetweenTextAndIcon",c,t,e,l),g=rP("defaultFill",c,t,e,l),p=rP("defaultStroke",c,t,e,l),f=rP("disableFill",c,t,e,l),m=rP("checkedFill",c,t,e,l),b=rP("checkedStroke",c,t,e,l),y=rP("disableCheckedFill",c,t,e,l),C=rP("disableCheckedStroke",c,t,e,l),w=rP("checkIconImage",c,t,e,l),v=rP("indeterminateIconImage",c,t,e,l),x=l.getCellValue(t,e),_=l.getCellOriginValue(t,e);let S,A,R=x??"";ht(x)?(S=x.checked,A=x.disable,R=x.text??""):"boolean"==typeof x&&(S=x,R="");if(l.internalProps.layoutMap.isSeriesNumber(t,e)){const i=l.getFieldData(a.field,t,e);i&&("string"==typeof i||("object"==typeof i?(S=i.checked,A=i.disable):"boolean"==typeof i&&(S=i)))}S=l.stateManager.syncCheckedState(t,e,a.field,S);const T=aP(t,e,l),M=l._getCellStyle(t,e),B=M.autoWrapText??l.internalProps.autoWrapText,{lineClamp:P}=M,{checked:H,disable:k}=a;if(null==S||"function"==typeof S){const i=kS(H,{col:t,row:e,table:l,context:null,value:x,dataValue:_});S=l.stateManager.syncCheckedState(t,e,a.field,i)}const E=kS(k,{col:t,row:e,table:l,context:null,value:x,dataValue:_}),L="auto"===i,F=l.isAutoRowHeight(e),I={text:1===R.length?R[0]:R,maxLineWidth:L?1/0:r-(n[1]+n[3]+T)-d-u,textAlign:"left",textBaseline:"top",autoWrapText:B,lineClamp:P,wordBreak:"break-word",heightLimit:F?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:h?0:T,whiteSpace:1!==R.length||B?"normal":"no-wrap"},z=s.text?Object.assign({},s.text,I):I,O={x:0,y:0,text:z,icon:{width:Math.floor(d/1.4),height:Math.floor(d/1.4)},box:{width:d,height:d},dx:h?T:0,spaceBetweenTextAndIcon:u,disabled:A??E??!1};"indeterminate"===S?(O.checked=void 0,O.indeterminate=!0):(O.checked=S,O.indeterminate=void 0);g&&(O.box.fill=g),p&&(O.box.stroke=p),f&&(O.box.disableFill=f),m&&(O.box.checkedFill=m),b&&(O.box.checkedStroke=b),y&&(O.box.disableCheckedFill=y),C&&(O.box.disableCheckedStroke=C),w&&(O.icon.checkIconImage=w),v&&(O.icon.indeterminateIconImage=v);const D=new h_(O);return D.name="checkbox",D}(o,n,s-w,a,l,h,p,f,g,y);if(1!==S.length||S[0].name!==S_.expandIconName&&S[0].name!==S_.collapseIconName)A&&t.appendChild(A),A.render();else{const e=new LO({x:0,y:0,fill:!1,stroke:!1,pickable:!1});e.name="checkbox-content",e.setCheckboxContentOption({autoWidth:!1,autoHeight:!1,cellWidth:a-(h[1]+h[3]),cellHeight:l-h[0]-h[2],align:c,baseline:d});const i={addedHierarchyOffset:0};S.forEach((r=>{const o=hP(r,void 0,t.col,t.row,m,g,i);o.role="icon-content-left",o.name=r.name,e.addLeftOccupyingIcon(o)})),A&&e.addCheckbox(A),t.appendChild(e),e.layout(),e.AABBBounds.width(),e.AABBBounds.height();const r=a-(h[1]+h[3]),o=l-(h[0]+h[2]);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+r-x+h[3]):"icon-absolute-right"===t.role?t.setAttribute("x",t.attribute.x+r-_+h[3]+h[1]):"content"!==t.name&&"checkbox-content"!==t.name||("center"===c&&"richtext"!==t.type?t.setAttribute("x",h[3]+v+(r-v-x)/2):"right"===c&&"richtext"!==t.type?t.setAttribute("x",h[3]+r-x):t.setAttribute("x",h[3]+v))})),t.forEachChildren((t=>{t.name!==UB&&("middle"===d?t?._checkboxGroup&&t._leftGroup.setAttribute("y",h[0]+(o-t._checkboxGroup.AABBBounds.height())/2):"bottom"===d?t.setAttribute("y",h[0]+o-t.AABBBounds.height()):t.setAttribute("y",h[0]))}))}return a-=h[1]+h[3]+w,l-=h[0]+h[2],"center"===c?A.setAttribute("x",h[3]+v+(a-A.AABBBounds.width())/2):"right"===c?A.setAttribute("x",h[3]+v+a-A.AABBBounds.width()):A.setAttribute("x",h[3]+v),"middle"===d?A.setAttribute("y",h[0]+(l-A.AABBBounds.height())/2):"bottom"===d?A.setAttribute("y",h[0]+l-A.AABBBounds.height()):A.setAttribute("y",h[0]),t}function IO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f){if(!t){const s=nP(o,n,g,u);(t=new QB({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=rP("size",d,t,e,c),g=rP("innerRadius",d,t,e,c),p=rP("outerRadius",d,t,e,c);const f=rP("spaceBetweenTextAndIcon",d,t,e,c),m=rP("spaceBetweenRadio",d,t,e,c),b=rP("defaultFill",d,t,e,c),y=rP("defaultStroke",d,t,e,c),C=rP("disableFill",d,t,e,c),w=rP("checkedFill",d,t,e,c),v=rP("checkedStroke",d,t,e,c),x=rP("disableCheckedFill",d,t,e,c),_=rP("disableCheckedStroke",d,t,e,c);bt(p)?u=2*p:p=Math.round(u/2);(!bt(g)||g<0)&&(g=Math.round(p/7*3));const S=c.getCellValue(t,e),A=c.getCellOriginValue(t,e),R=aP(t,e,c),T=c._getCellStyle(t,e),M=T.autoWrapText??c.internalProps.autoWrapText,{lineClamp:B}=T,P="auto"===i,H=c.isAutoRowHeight(e),k={maxLineWidth:P?1/0:r-(n[1]+n[3]+R)-u-f,textAlign:"left",textBaseline:"top",autoWrapText:M,lineClamp:B,wordBreak:"break-word",heightLimit:H?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:R},E=s.text?Object.assign({},s.text,k):k,L={x:0,y:0,text:E,circle:{innerRadius:g,outerRadius:p},spaceBetweenTextAndIcon:f};b&&(L.circle.fill=b),y&&(L.circle.stroke=y),C&&(L.circle.disableFill=C),w&&(L.circle.checkedFill=w),v&&(L.circle.checkedStroke=v),x&&(L.circle.disableCheckedFill=x),_&&(L.circle.disableCheckedStroke=_);let F=0,I=0;const z=a.radioDirectionInCell??"vertical";if(pt(S))S.forEach(((i,r)=>{const o=zO(i,A,r,t,e,a,M,L,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=zO(S,A,void 0,t,e,a,M,L,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 zO(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;ht(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=kS(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;ht(t)&&(s=t.disable);const a=kS(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=ht(t)?t.text:nt(t)?"":t??"",u=Et({},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 c_(u);return g.name="radio",g}function OO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=nP(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 QB({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}=gP(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=rP("spaceBetweenTextAndCircle",h,t,e,l),d=rP("circleRadius",h,t,e,l),u=rP("boxWidth",h,t,e,l),g=rP("boxHeight",h,t,e,l),p=rP("checkedFill",h,t,e,l),f=rP("uncheckedFill",h,t,e,l),m=rP("disableCheckedFill",h,t,e,l),b=rP("disableUncheckedFill",h,t,e,l),y=rP("circleFill",h,t,e,l),C=l.getCellValue(t,e),w=l.getCellOriginValue(t,e);let v,x,_=C??"";ht(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=aP(t,e,l),A=l._getCellStyle(t,e),R=A.autoWrapText??l.internalProps.autoWrapText,{lineClamp:T}=A,{checked:M,disable:B,uncheckedText:P,checkedText:H}=a;if(null==v||"function"==typeof v){const i=kS(M,{col:t,row:e,table:l,context:null,value:C,dataValue:w});v=l.stateManager.syncCheckedState(t,e,a.field,i)}const k=kS(B,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),E=kS(H,{col:t,row:e,table:l,context:null,value:C,dataValue:w}),L=kS(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:E,uncheckedText:L},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 u_(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 DO=new class extends rx{constructor(t){super(!1),this.type=Iv.Point,this._padding=0,this.paddingInner(1,t),this.padding=this.paddingOuter,this.paddingInner=void 0,this.paddingOuter=void 0}},WO=new Sx;function NO(t,e,i,r,o,n,s,a,l,h,c,d){if(!t){const l=nP(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 QB({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=GO(s,c,d,i,r)}else s=l,a=GO(l,c,d,i,r);const p=[],f=[];let m,b;if("object"==typeof s.xField)DO.domain(s.xField.domain),m=s.xField.field;else if("string"==typeof s.xField){const t=h.map((t=>t[s.xField]));DO.domain(t),m=s.xField}else Array.isArray(h)&&(DO.domain(Array.from({length:h.length},((t,e)=>e))),m=s.xField);if(DO.range([0,i]),"object"==typeof s.yField)WO.domain(s.yField.domain),b=s.yField.field;else if("string"==typeof s.yField){const t=VO(h,s.yField);WO.domain([Math.min(...t),Math.max(...t)]),b=s.yField}else if(Array.isArray(h)){const t=VO(h);WO.domain([Math.min(...t),Math.max(...t)]),b=s.yField}if(WO.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(!lt(t[m])||!lt(t[b]))break;p.push({x:u+DO.scale(t[m]),y:g-WO.scale(t[b]),defined:lt(t[b])}),f.push(t),r=!0;break}r||(p.push({x:u+DO.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+DO.scale(m?e[m]:t),y:g-WO.scale(b?e[b]:e),defined:lt(b?e[b]:e),rawData:e}),f.push(e)}const y=a.getChildByName("sparkline-line");y&&y.setAttribute("points",p);y.bandwidth=DO.step(),y.min=WO.range()[0],y.max=WO.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=hh({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=hh({x:e,y:i});C.appendChild(t)}}}return a}(o,n,s,a,l,h);return u&&t.appendChild(u),t}function GO(t,e,i,r,o){let n;n="function"==typeof t?t(null):t;const s=new QB({x:e,y:i,width:r,height:o,stroke:!1,fill:!1});if(s.name="sparkline","line"===n.type){const t=uh({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 QB({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 VO(t,e){const i=[];for(let r=0;r<t.length;r++){const o=t[r];lt(e)&<(o[e])?i.push(o[e]):!lt(e)&<(o)&&i.push(o)}return i}const jO=FB();function UO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m){const b=oP("padding",g._getCellStyle(r,o),r,o,g);g.options.customConfig?.imageMargin?h=wM(g.options.customConfig?.imageMargin):lt(b)&&(h=b),p?.text?.textAlign&&(c=p?.text?.textAlign),p?.text?.textBaseline&&(d=p?.text?.textBaseline);const y=nP(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 QB({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}=gP(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&&mP(r,o,S.videoWidth,S.videoHeight,g.scenegraph,h,C);const{width:t,height:e,isMerge:i}=yP(C,g);if(a){const{width:i,height:r}=tP(S.videoWidth,S.videoHeight,t-h[1]-h[3],e-h[0]-h[2]),o=eP(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&&CP(C.mergeStartCol,C.mergeEndCol,C.mergeStartRow,C.mergeEndRow,g);const{width:n,height:s}=yP(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=C.getChildByName("image",!0),{dx:b,dy:y}=m.attribute,w=new IB({x:p-u/2,y:f-u/2,width:u,height:u,image:jO.play.svg,cursor:jO.play.cursor,dx:b,dy:y});w.name="play-icon",C.appendChild(w),g.scenegraph.updateNextFrame()})),S.onerror=()=>{A.image=jO.damage_pic.svg},S.src=_,S.setAttribute("preload","auto");const A=vh({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 KO(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=oP("padding",C,n,s,t);lt(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=nP(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 QB({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)}!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}=gP(e,t,p,u);let R;if(m=_,b=S,y=A,0===C.length&&0===w.length){let e=0;bt(u.theme._contentOffset)&&("left"===c?e=u.theme._contentOffset:"right"===c&&(e=-u.theme._contentOffset));const d=p?aP(p.start.col,p.start.row,u):aP(t.col,t.row,u),{text:f,moreThanMaxCharacters:y}=lP(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 ih(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=>cP(t))),e,...w.map((t=>cP(t)))];a[0].textAlign=c;const u=new Th({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=pP)}if(0!==v.length||0!==x.length){const e=new sP({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=hP(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=hP(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(lt(i)){const{text:e,moreThanMaxCharacters:m}=lP(i,u),b=p?aP(p.start.col,p.start.row,u):aP(t.col,t.row,u);let y=0;bt(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 ih(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!==UB&&("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&&function(t,e,i){if("boolean"==typeof t){const t=Lh({x:e.attribute.width,y:0,startAngle:Math.PI/2,endAngle:Math.PI,outerRadius:6,fill:"#3073F2",pickable:!1});t.name="mark",e.appendChild(t)}else{const{bgColor:i="#3073F2",shape:r="sector",position:o="right-top",size:n=10,offset:s=0}=t;let a,l,h,c,d,u;if("sector"===r)"right-top"===o?(a=e.attribute.width-s,l=s,h=Math.PI/2,c=Math.PI):"left-top"===o?(a=s,l=s,h=0,c=Math.PI/2):"right-bottom"===o?(a=e.attribute.width-s,l=e.attribute.height-s,h=Math.PI,c=Math.PI/2*3):"left-bottom"===o&&(a=s,l=e.attribute.height-s,h=Math.PI/2*3,c=2*Math.PI),d=i,u=Lh({x:a,y:l,startAngle:h,endAngle:c,outerRadius:n,fill:d,pickable:!1});else if("triangle"===r){let t,r,h,c;"right-top"===o?(a=e.attribute.width-s,l=s,t=a-n,r=l,h=a,c=l+n):"left-top"===o?(a=s,l=s,t=a+n,r=l,h=a,c=l+n):"right-bottom"===o?(a=e.attribute.width-s,l=e.attribute.height-s,t=a-n,r=l,h=a,c=l-n):"left-bottom"===o&&(a=s,l=e.attribute.height-s,t=a+n,r=l,h=a,c=l-n),d=i,u=zh({points:[{x:a,y:l},{x:t,y:r},{x:h,y:c}],fill:d,pickable:!1})}else"rect"===r&&("right-top"===o?(a=e.attribute.width-n-s,l=s):"left-top"===o?(a=s,l=s):"right-bottom"===o?(a=e.attribute.width-n-s,l=e.attribute.height-n-s):"left-bottom"===o&&(a=s,l=e.attribute.height-n-s),d=i,u=fh({x:a,y:l,width:n,height:n,fill:d,pickable:!1}));u.name="mark",e.appendChild(u)}}(m?._vtable?.marked,R)}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 $O(t,e,i,r,o,n,s,a,l,h){if(t.dependField){const e=kS(t.dependField,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0});o=l.getCellOriginRecord(n,s)?.[e]??o}const c=kS(t.barType,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??"default",d=kS(t.min,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??0,u=kS(t.max,{col:n,row:s,table:l,value:r,dataValue:o,cellHeaderPaths:void 0})??d+100;let g=0;if(g=h?l.getRowsHeight(h.start.row,h.end.row):l.getRowHeight(s),l.pluginManager){if(l.pluginManager.getPluginByName("Master Detail Plugin")){const t=s-l.columnHeaderLevelCount,e=l.internalProps,i=e?.originalRowHeights?.get(t);void 0!==i&&i>0&&(g=i)}}let p=i,f=g,m=0;bt(l.theme._contentOffset)&&(m=l.theme._contentOffset);const b=new QB({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:M,barMarkPosition:B,barMarkInBar:P}=e;let{barHeight:H,barBottom:k,barPadding:E}=e;1===E.length?E=[E[0],E[0],E[0],E[0]]:2===E.length?E=[E[0],E[1],E[0],E[1]]:3===E.length&&(E=[E[0],E[1],E[2],E[1]]),E=E.map(((t,e)=>{if("string"==typeof t&&WS.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=wM(rP("borderLineWidth",e,n,s,l)),F=Math.max(E[0],Math.ceil(L[0]/2));let I=Math.max(E[1],Math.floor(L[1]/2));const z=Math.max(E[2],Math.floor(L[2]/2));let O=Math.max(E[3],Math.ceil(L[3]/2));A&&M>0&&"right"===B&&!1===P&&(I+=M,O+=M),p-=I+O,f-=z+F,s===l.rowCount-1&&[0,"0"].includes(k)&&(f-=1);const D=F,W=O,N=p;"string"==typeof H&&WS.endsWith(H,"%")?(H=Number(H.substr(0,H.length-1)),H=f*H/100):H=Number(H),"string"==typeof k&&WS.endsWith(k,"%")?(k=Number(k.substr(0,k.length-1)),k=f*k/100):k=Number(k);if(kS(y,{col:n,row:s,table:l,context:null,value:r,dataValue:o})){let t=`${o}`;WS.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=D+f-H-k;let h=Math.min(i*t,i);const c=S?W+N-h:W;n!==l.colCount-1||1!==t||S||(h-=1);const g=kS(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:t});if(g){const t=fh({x:c,y:a,width:i,height:H,fill:g});b.addChild(t)}const m=fh({x:c,y:a,width:h,height:H,fill:kS(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=D+f-H-k,E=W,L=kS(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c});if(L){const t=fh({x:E,y:C,width:y,height:H,fill:L});b.addChild(t)}const F=S?h*y:a*y,I=Math.min(y*a*m,y),z=S?{left:E+F,top:C,width:I,height:H}:{left:E+F-I,top:C,width:I,height:H},O=kS(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8",N=fh({x:z.left,y:z.top,width:z.width,height:z.height,fill:O});b.addChild(N);let G=Math.min(y*h*c,y);n!==l.colCount-1||1!==c||S||(G-=1);const V=S?{left:E+F-G,top:C,width:G,height:H}:{left:E+F,top:C,width:G,height:H},j=kS(v,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8",U=fh({x:V.left,y:V.top,width:V.width,height:V.height,fill:j});b.addChild(U);const K=S?z.left:V.left,$=uh({x:0,y:0,stroke:kS(_,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c}),lineWidth:1,lineDash:[2,2],points:[{x:K,y:0},{x:K,y:g}]});if(b.addChild($),A&&(c||m)){const t=M,e=[];let i;if(c>0)if(i=kS(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:c})||"#20a8d8","right"===B){const t=S?V.left+M/2:V.left+V.width+(P?-M/2:M/2);e.push({x:t,y:V.top}),e.push({x:t,y:V.top+V.height})}else"bottom"===B&&(e.push({x:V.left,y:V.top+V.height-M/2}),e.push({x:V.left+V.width,y:V.top+V.height-M/2}));else if(m>0)if(i=kS(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:m})||"#20a8d8","right"===B){const t=S?z.left+z.width-M/2:z.left+M/2;e.push({x:t,y:z.top}),e.push({x:t,y:z.top+z.height})}else"bottom"===B&&(e.push({x:z.left,y:z.top+z.height-M/2}),e.push({x:z.left+z.width,y:z.top+z.height-M/2}));const a=uh({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=D+f-H-k,y=S?W+N-g:W,C=kS(w,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h});if(C){const t=fh({x:y,y:m,width:c,height:H,fill:C});b.addChild(t)}const _={left:y,top:m,width:g,height:H};let P;P=e>=0?kS(v,{col:n,row:s,table:l,context:null,value:r,percentile:h,dataValue:o})||"#20a8d8":kS(x,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8";const E=fh({x:_.left,y:_.top,width:_.width,height:_.height,fill:P});if(b.addChild(E),A&&e){const t=M,i=[];let a;if(a=e>=0?kS(R,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8":kS(T,{col:n,row:s,table:l,context:null,value:r,dataValue:o,percentile:h})||"#20a8d8","right"===B){const t=S?_.left+M/2:_.left+_.width-M/2;i.push({x:t,y:_.top}),i.push({x:t,y:_.top+_.height})}else"bottom"===B&&(i.push({x:_.left,y:_.top+_.height-M/2}),i.push({x:_.left+_.width,y:_.top+_.height-M/2}));const c=uh({x:0,y:0,stroke:a,lineWidth:t,points:i});b.addChild(c)}}}return b}function XO(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;lt(i.expand.min)&&(t=r-(o-r)*i.expand.min),lt(i.expand.max)&&(e=o+(o-r)*i.expand.max)}let s,a;if(bt(i?.min)&&(t=i.min),bt(i?.max)&&(e=i.max),"log"===i?.type?(s=new Mx,s.base(i?.base??10)):"symlog"===i?.type?(s=new Bx,s.constant(i?.constant??10)):s=new Sx,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;st(t)&&(t=t({axisLength:o,labelStyle:i?.label?.style??{fontSize:pz}})),"accurateFirst"===i.niceType&&(t=Math.max(10,t)),at(i.min)&&at(i.max)?s.nice(t):lt(i.min)&&at(i.max)?s.niceMax(t):at(i.min)&<(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(bt(i?.tick?.tickCount)?i.tick.tickCount:5,{noDecimals:i?.tick?.noDecimals}),{range:s.domain(),ticks:a}}function YO(t,e,i,r,o,n,s,a,l,h,c,d,u,g,p,f,m,b){if(!t){const s=nP(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 QB({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}=gP(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=rP("buttonColor",h,t,e,l),d=rP("buttonBorderColor",h,t,e,l),u=rP("buttonLineWidth",h,t,e,l),g=rP("buttonBorderRadius",h,t,e,l),p=rP("buttonHoverColor",h,t,e,l),f=rP("buttonHoverBorderColor",h,t,e,l),m=rP("buttonPadding",h,t,e,l),b=rP("buttonTextHoverColor",h,t,e,l),y=rP("buttonDisableColor",h,t,e,l),C=rP("buttonDisableBorderColor",h,t,e,l),w=rP("buttonTextDisableColor",h,t,e,l),v=l.getCellValue(t,e),x=l.getCellOriginValue(t,e),_=aP(t,e,l),S=l._getCellStyle(t,e),A=S.autoWrapText??l.internalProps.autoWrapText,{lineClamp:R}=S,T="auto"===i,M=l.isAutoRowHeight(e),{disable:B,text:P}=a,H=kS(B,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),k=kS(P,{col:t,row:e,table:l,context:null,value:v,dataValue:x}),E=k??v??"",L={maxLineWidth:T?1/0:r-(n[1]+n[3]+_),textAlign:"left",textBaseline:"top",autoWrapText:A,lineClamp:R,wordBreak:"break-word",heightLimit:M?-1:o-Math.floor(n[0]+n[2]),pickable:!1,dx:_,whiteSpace:1!==E.length||A?"normal":"no-wrap"},F=s.text?Object.assign({},s.text,L):L,I={x:0,y:0,cursor:H?"not-allowed":"pointer",disable:H,childrenPickable:!1,text:1===E.length?E[0]:E,textStyle:F,padding:m,panel:{visible:!0,fill:H?y:c,stroke:H?C:d,lineWidth:u,cornerRadius:g},state:{text:{hover:{}},panel:{hover:{fill:p,stroke:f}}}};w&&(I.state.text.fill=w),b&&(I.state.text.hover.fill=b);const z=new Ey(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 qO=()=>{RA.registerFunction("createChartCellGroup",EO),RA.registerFunction("getAxisDomainRangeAndLabels",XO)},ZO=()=>{RA.registerFunction("createCheckboxCellGroup",FO)},JO=()=>{RA.registerFunction("createImageCellGroup",fP)},QO=()=>{RA.registerFunction("createProgressBarCell",$O)},tD=()=>{RA.registerFunction("createRadioCellGroup",IO)},eD=()=>{RA.registerFunction("createSwitchCellGroup",OO)},iD=()=>{RA.registerFunction("createButtonCellGroup",YO)},rD=()=>{RA.registerFunction("createSparkLineCellGroup",NO)},oD=()=>{RA.registerFunction("createTextCellGroup",KO)},nD=()=>{RA.registerFunction("createVideoCellGroup",UO)};xO(),_O(),SO(),AO(),RO(),TO(),RA.registerComponent("listTreeStickCellPlugin",BO),kI(),MO(),qO(),ZO(),JO(),QO(),tD(),eD(),iD(),rD(),oD(),nD();oD();const sD={startInTotal:0,afterSpanLevel:0};class aD{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=aA;_largeCellRangeCache;_CellHeaderPathMap;_table;extensionRows;_rowHeaderExtensionTree={};_extensionRowDimensionKeys=[];fullRowDimensionKeys=[];dataset;pagination;currentPageStartIndex;currentPageEndIndex;hasLeftIndicatorAxis=!1;hasRightIndicatorAxis=!1;hasTopIndicatorAxis=!1;hasBottomIndicatorAxis=!1;_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),this._table.options?.customConfig?.enablePivotPathCache&&(this._useHeaderPathCache=!0,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()),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._table.isPivotChart()&&(this.hasLeftIndicatorAxis=!1,this.hasRightIndicatorAxis=!1,this.hasTopIndicatorAxis=!1,this.hasBottomIndicatorAxis=!1,this.indicatorsDefine.forEach((t=>{if(t.hasLeftIndicatorAxis=!1,t.hasRightIndicatorAxis=!1,t.hasTopIndicatorAxis=!1,t.hasBottomIndicatorAxis=!1,!t?.chartSpec)return;const e=t.chartSpec.axes??this._table.pivotChartAxes??[],i=new Set;(e??[]).forEach((t=>{t?.orient&&!1!==t.visible&&i.add(t.orient)}));const r=t.chartSpec?.series?.length>1;if(this.indicatorsAsCol){let o=i.has("top"),n=i.has("bottom");if(e.length||(n=!0),r){const t=e.some((t=>"top"===t?.orient&&!1===t.visible));if(!e.length||!t){o=!0;e.some((t=>"bottom"===t?.orient&&!1===t.visible))||(n=!0)}}t.hasTopIndicatorAxis=o,t.hasBottomIndicatorAxis=n,t.hasLeftIndicatorAxis=!1,t.hasRightIndicatorAxis=!1}else{let o=i.has("left"),n=i.has("right");if(e.length||(o=!0),r){const t=e.some((t=>"right"===t?.orient&&!1===t.visible));if(!e.length||!t){n=!0;e.some((t=>"left"===t?.orient&&!1===t.visible))||(o=!0)}}t.hasLeftIndicatorAxis=o,t.hasRightIndicatorAxis=n,t.hasTopIndicatorAxis=!1,t.hasBottomIndicatorAxis=!1}this.hasLeftIndicatorAxis||=!!t.hasLeftIndicatorAxis,this.hasRightIndicatorAxis||=!!t.hasRightIndicatorAxis,this.hasTopIndicatorAxis||=!!t.hasTopIndicatorAxis,this.hasBottomIndicatorAxis||=!!t.hasBottomIndicatorAxis}))),this.resetRowHeaderLevelCount(),this.resetColumnHeaderLevelCount(),this._generateColHeaderIds(),this.colIndex=0,this._generateRowHeaderIds(),this._rowHeaderCellFullPathIds_FULL=pS(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=(pt(e.paddingInner)?e.paddingInner[0]:e.paddingInner)??0,this._chartPaddingOuter=(pt(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&&"radio"!==t.cellType?t.cellType:"text",width:t.width,style:t.style,format:t.format,field:t.field,icon:t.icon,headerIcon:t.headerIcon,isChildNode:!1}))):this.rowSeriesNumberColumn=[{id:"",title:t.title,define:t,cellType:t.cellType??"text",headerType:t.cellType&&"radio"!==t.cellType?t.cellType:"text",style:t.style,width:t.width,format:t.format,field:"",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)}_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++){mI(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++){yI(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++){bI(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(0===o||0===n)return r;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=Bt(t.rowTree);this._rowHeaderExtensionTree[r]?(this._rowHeaderExtensionTree[r].reset(this._rowHeaderExtensionTree[r].tree.children),n=this._rowHeaderExtensionTree[r]):(n=new gI(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(lt(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(lt(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(lt(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(lt(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.hasTopIndicatorAxis)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&&"all"!==this.cornerSetting.titleOnDimension||!this.cornerSetting.forceShowHeader?this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(t=this.columnsDefine.length??0):t=1:!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.hasTopIndicatorAxis&&Cz(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=1+(this.rowDimensionTree.totalLevel?1:0)+t):void(this.rowHeaderLevelCount=(this.rowDimensionTree.totalLevel?1:0)+t)}const t=this._getRowHeaderTreeExpandedMaxLevelCount();let e=t;return 0===e&&this.dataset&&!this.dataset.customRowTree?.length?"column"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||!this.cornerSetting.forceShowHeader?this._table.isPivotChart()||0!==(this.dataset.records?.length??0)||"row"!==this.cornerSetting.titleOnDimension&&"all"!==this.cornerSetting.titleOnDimension||(e=this.rowsDefine.length??0):e=1:!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.hasLeftIndicatorAxis&&this._table.isPivotChart()&&Cz(this.indicatorsDefine))&&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(){let t;return t=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)||(this._indicators?.length>0?1:0):0,t+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&&Cz(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.hasRightIndicatorAxis?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=lt(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=lt(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&&t;){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,e.role=t.role,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??(t.indicatorKey?this.getIndicatorInfoByIndicatorKey(t.indicatorKey)?.title??"":t.value),e.virtual=t.virtual,e.role=t.role,r.rowHeaderPaths.push(e)}})),r}getCellRowHeaderFullPaths(t){const e=[];if("grid"===this.rowHierarchyType){for(let i=0;i<=Math.min(this.rowsDefine.length-1,t);i++){const t=this.rowsDefine[i];"string"==typeof t?e.push({dimensionKey:t}):e.push({dimensionKey:t.dimensionKey})}t>=this.rowsDefine.length&&!1===this.indicatorsAsCol&&this.indicatorsDefine.length>0&&("string"==typeof this.indicatorsDefine[0]?e.push({indicatorKey:this.indicatorsDefine[0]}):e.push({indicatorKey:this.indicatorsDefine[0].indicatorKey}))}return e}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)}_rebuildRowLayout(){if(this.rowDimensionTree.reset(this.rowDimensionTree.tree.children),this.resetRowHeaderLevelCount(),this._rowHeaderCellFullPathIds_FULL=[],this.rowDimensionKeys=this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),this.fullRowDimensionKeys=[...this.rowDimensionKeys],"tree"===this.rowHierarchyType?this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL,0,this.rowDimensionTree.tree.children,[],this.rowDimensionTree.totalLevel,!0,this.rowsDefine,this.rowHeaderObjs):"grid-tree"===this.rowHierarchyType&&(this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL,0,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))),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}this._rowHeaderCellFullPathIds_FULL=pS(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,this.generateCellIdsConsiderHideHeader(),this.setPagination(this.pagination),"grid-tree"===this.rowHierarchyType&&this.setColumnWidths()}_rebuildColumnLayout(){if(this.columnDimensionTree.reset(this.columnDimensionTree.tree.children),this.resetColumnHeaderLevelCount(),this._columnHeaderCellFullPathIds=[],this.colDimensionKeys=this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr(),"grid-tree"===this.columnHierarchyType&&(this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds,0,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))),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,this.generateCellIdsConsiderHideHeader(),"grid-tree"===this.columnHierarchyType&&this.setColumnWidths()}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===v_.collapse?v_.expand:v_.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.extensionRows?.length>0&&this.extensionRows.forEach((t=>{const e=t.rows?.map((t=>"string"==typeof t?t:t.dimensionKey))||[];this.fullRowDimensionKeys=this.fullRowDimensionKeys.concat(e)})),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=pS(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 d.some((i=>i.col===t&&i.row===e))||d.push({col:t,row:e}),{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===v_.collapse?v_.expand:v_.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||!lt(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((lt(s.dimensionKey)&&e.dimensionKey===s.dimensionKey||lt(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((lt(s.dimensionKey)&&i.dimensionKey===s.dimensionKey||lt(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))),lt(e)&<(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=Bt(this.getCellHeaderPathsWithTreeNode(t.col,t.row).rowHeaderPaths),r=Bt(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||this._table.options.dragOrder?.validateDragOrderOnEnd(t,e))&&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}matchDimensionPath=(t,e,i,r=!1,o=0)=>{if(o>=t.length)return;const n=t[o];for(let s=0;s<e.length;s++){const a=e[s];if(!lt(n.indicatorKey)&&a.dimensionKey===n.dimensionKey&&a.value===n.value||lt(n.indicatorKey)&&a.indicatorKey===n.indicatorKey&&(lt(a.value)&<(n.value)&&n.value===a.value||!lt(a.value)||!lt(n.value))){const e=a.children;if(o===t.length-1){if(!i)return a;{const t=r&&e&&e.some((t=>"axis"===t.dimensionKey));if(!e?.length||t)return a;const i=t=>{for(const e of t){const t=e.children,o=r&&t&&t.some((t=>"axis"===t.dimensionKey));if(!t?.length||o)return e;const n=i(t);if(n)return n}},o=i(e);if(o)return o}}if(e?.length){const n=this.matchDimensionPath(t,e,i,r,o+1);if(n)return n}else if(o===t.length-1)return a}}};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,c,d=!1,u=!1;if(e?.length>=1&&i?.length>=1&&(d=!0,u=!0),e?.length&&e.length>=this._getColumnHeaderTreeExpandedMaxLevelCount()&&(d=!0),i?.length&&i.length>=this._getRowHeaderTreeExpandedMaxLevelCount()&&(u=!0),e&&(c=this.matchDimensionPath(e,this.columnTree,d)),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 h=this.matchDimensionPath(i,this.rowTree,u,!0);if(o||!d||!u||(h||lt(s))&&c){if(h||o){s=this.columnHeaderLevelCount;const{startInTotal:t,afterSpanLevel:e}=h??sD;if(s+=t??0,"grid"===this.rowHierarchyType){const t=i.every(((t,e)=>this.rowDimensionKeys[e]===t.dimensionKey));if(t){const t=i.length-1;a=(this.rowHeaderTitle?t+1:t)+this.leftRowSeriesNumberColumnCount}else a=(this.rowHeaderTitle?e+1:e)+this.leftRowSeriesNumberColumnCount}else a=0}if(c||o){n=this.rowHeaderLevelCount+this.leftRowSeriesNumberColumnCount;const{startInTotal:t,afterSpanLevel:e}=c??sD;n+=t??0,l=this.columnHeaderTitle?e+1:e}if(lt(n)||lt(s))return{col:n??a,row:s??l};if(i.length>0){const t=i.every(((t,e)=>this.rowDimensionKeys[e]===t.dimensionKey));if(t){const t=i.length-1;return{col:(this.rowHeaderTitle?t+1:t)+this.leftRowSeriesNumberColumnCount,row: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 xz(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))&&wz(t,e,"row",this)||(this.isFrozenRow(t,e)||this.isBottomFrozenRow(t,e))&&wz(t,e,"col",this)){const i=RA.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&&Cz(this.indicatorsDefine)){if(this.isBottomFrozenRow(t,e)&&wz(t,e,"col",this)||this.isRightFrozenColumn(t,e)&&wz(t,e,"row",this))return!0;if(this.isRowHeader(t,e)&&t===this.rowHeaderLevelCount-1&&wz(t,e,"row",this))return!0;if(this.hasTopIndicatorAxis&&this.indicatorsAsCol&&e===this.columnHeaderLevelCount-1&&wz(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&&"sunburst"!==o.type&&"treemap"!==o.type&&"sankey"!==o.type&&"circlePacking"!==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,chartType:u}=hk(t,e,a,0===a?"bottom":"top",0===a?"top":"bottom",o,n,i);bt(d?.max)?l.max=d.max:"boxPlot"===u&&(l.max+=(l.max-l.min)/20),bt(d?.min)?l.min=d.min:"boxPlot"===u&&(l.min-=(l.max-l.min)/20),_z(d,r)||r.push(Et({range:l,label:{style:{fontSize:gz}}},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:QH(h,c,l,a)},sync:{axisId:yz}}))}));let s=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e);pt(s)&&(s=s[0]);const a=(i.dataset.cacheCollectedValues[s]||i.dataset.collectedValues[s]||[])[i.getRowKeysPath(t,e)??""],{axisOption:l,isPercent:h,chartType:c}=ek(t,e,"left",i);l?.zero&&a&&!Array.isArray(a)&<(a.min)&<(a.max)&&(l?.zero||a.min===a.max)&&(a.min=Math.min(a.min,0),a.max=Math.max(a.max,0)),r.push(Et({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:gz}}},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}=hk(t,e,a,0===a?"left":"right",0===a?"right":"left",o,n,i),{chartType:u}=ek(t,e,0===a?"left":"right",i);if(bt(d?.max)?l.max=d.max:"boxPlot"===u&&(l.max+=(l.max-l.min)/20),bt(d?.min)?l.min=d.min:"boxPlot"===u&&(l.min-=(l.max-l.min)/20),_z(d,r))return;let g=[];if("heatmap"===u){const r=i.getDimensionKeyInChartSpec(i.rowHeaderLevelCount,e,"yField"),o=i.dataset.collectedValues[r]??[],n=i.getRowKeysPath(t,e);g=o?.[n??""]??[]}r.push(Et({range:l,label:{style:{fontSize:gz}},domain:"linear"===d?.type?void 0:Array.from(g)},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:QH(h,c,l,a),visible:!1},sync:{axisId:yz}}))}));let s=i.getDimensionKeyInChartSpec(t,i.columnHeaderLevelCount);pt(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}=ek(t,e,"bottom",i);c?.zero&&h&&!Array.isArray(h)&<(h.min)&<(h.max)&&(c?.zero||h.min===h.max)&&(h.min=Math.min(h.min,0),h.max=Math.max(h.max,0)),r.push(Et({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:gz}}},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=sz(r),r.sortDataByAxis=!0,pt(r.series)&&r.series.forEach((t=>{t.sortDataByAxis=!0})),"pie"!==r.type&&"radar"!==r.type&&"gauge"!==r.type&&"wordCloud"!==r.type&&"funnel"!==r.type&&"rose"!==r.type&&"sunburst"!==r.type&&"treemap"!==r.type&&"sankey"!==r.type&&"circlePacking"!==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 vz(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&<(this.pagination?.perPageCount)&<(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()})),VH(this._table,!0),TH(this._table.scenegraph)}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(lt(i)&<(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||!lt(i.value))&&e===t.length-1)return;let a=!1;for(let t=0;t<s.length;t++){const e=s[t];if(lt(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||lt(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!lt(i.value)||!lt(e.value))){s=e.children,o=e,a=!0;break}}if(!a)for(let t=0;t<(n?.length??0);t++){const e=n[t];if(lt(i.dimensionKey)&&e.dimensionKey===i.dimensionKey&&e.value===i.value||lt(i.indicatorKey)&&e.indicatorKey===i.indicatorKey&&(e.value===i.value||!lt(i.value)||!lt(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,i){let r;if(!1===this.indicatorsAsCol){const o=this.getRawChartSpec(t,e);if(o&&(r="yField"===i?o.yField??o?.series?.[0]?.yField:"histogram"===o.type?o.x2Field:o.xField??o?.series?.[0]?.xField,r))return r;for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(r="yField"===i?e.yField??e?.series?.[0]?.yField:"histogram"===e.type?e.x2Field:e.xField??e?.series?.[0]?.xField,r))return r}}else{const o=this.getRawChartSpec(t,e);if(o&&(r="xField"===i?"histogram"===o.type?o.x2Field:o.xField??o?.series?.[0]?.xField:"histogram"===o.type?o.y2Field:o.yField??o?.series?.[0]?.yField,r))return r;for(let t=0;t<this.indicatorsDefine.length;t++){const e=this.indicatorsDefine[t].chartSpec;if(e&&(r="xField"===i?"histogram"===e.type?e.x2Field:e.xField??e?.series?.[0]?.xField:e.yField??e?.series?.[0]?.yField,r))return r}}return null}_generateChartState(){const t=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},e=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};return{vtable_selected:{filter:e=>this._table.options.chartDimensionLinkage?.selectedStateFilter?this._table.options.chartDimensionLinkage.selectedStateFilter(e):"click"===this._table._selectedDataMode&&t(e)},vtable_selected_reverse:{filter:t=>this._table.options.chartDimensionLinkage?.selectedReverseStateFilter?this._table.options.chartDimensionLinkage.selectedReverseStateFilter(t):"click"===this._table._selectedDataMode&&e(t)},inBrush:{filter:e=>this._table.options.chartDimensionLinkage?.inBrushStateFilter?this._table.options.chartDimensionLinkage.inBrushStateFilter(e):"brush"===this._table._selectedDataMode&&t(e)},outOfBrush:{filter:t=>this._table.options.chartDimensionLinkage?.outOfBrushStateFilter?this._table.options.chartDimensionLinkage.outOfBrushStateFilter(t):"brush"===this._table._selectedDataMode&&e(t)}}}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("boxPlot"===i.type)return[i.maxField];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,e){const i=this.getCellHeaderPaths(this.rowHeaderLevelCount,t).rowHeaderPaths;let r,o;e&&i[i.length-1].indicatorKey&&i.pop();for(const t in this.dataset.collectValuesBy)if("yField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){r=this.dataset.collectedValues[t]?.[i.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)o=lD(r?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;o=(r?.length??0)*(t+(e?0:t/3))}const n=wM(this._chartPadding??this._table.theme.bodyStyle.padding??0);return o+n[0]+n[2]}getOptimunWidthForChart(t,e){const i=this.getCellHeaderPaths(t,this.columnHeaderLevelCount).colHeaderPaths;let r,o;for(const t in this.dataset.collectValuesBy)if("xField"===this.dataset.collectValuesBy[t].type&&!this.dataset.collectValuesBy[t].range){r=this.dataset.collectedValues[t]?.[i.map((t=>t.value)).join(this.dataset.stringJoinChar)];break}if(this._chartItemBandSize)o=lD(r?.length??0,this._chartItemBandSize,this._chartPaddingInner,this._chartPaddingOuter);else{const t=this._chartItemSpanSize||25;o=(r?.length??0)*(t+(e?0:t/3))}const n=wM(this._chartPadding??this._table.theme.bodyStyle.padding??0);return o+n[1]+n[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.hasTopIndicatorAxis?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 pI(t,this.columnDimensionTree.tree.children),t}getLayoutRowTree(){const t=[];return pI(t,this.rowDimensionTree.tree.children),t}getLayoutColumnTreeCount(){return fI(this.columnDimensionTree.tree.children,"tree"===this.rowHierarchyType)}getLayoutRowTreeCount(){let t=fI(this.rowDimensionTree.tree.children,"tree"===this.rowHierarchyType);return this.extensionRows?.forEach((e=>{if("function"!=typeof e.rowTree){const i=fI(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 gI(this.columnTree??[],this.sharedVar,this.columnHierarchyType,"grid"!==this.columnHierarchyType?this.columnExpandLevel:void 0),this.rowDimensionTree=new gI(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=pS(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(lt(t)&<(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(aA),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(aA);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(aA),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(aA);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._table.options?.customConfig?.enablePivotPathCache?this._useHeaderPathCache=!0:(this._useHeaderPathCache=!0,this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear())}disableUseHeaderPathCache(){this._table.options?.customConfig?.enablePivotPathCache?this._useHeaderPathCache=!0:(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)}clearHeaderPathCache(){this._colHeaderPathCache.clear(),this._rowHeaderPathCache.clear()}isAggregation(t,e){if(this.isHeader(t,e))return!1;const i=this.getCellHeaderPaths(t,e);for(const t of i.colHeaderPaths)if("sub-total"===t.role||"grand-total"===t.role)return!0;for(const t of i.rowHeaderPaths)if("sub-total"===t.role||"grand-total"===t.role)return!0;return!1}expandAllForRowDimensionTree(){this.rowDimensionTree&&(this.rowDimensionTree.setAllNodesState(v_.expand),this._rebuildRowLayout())}collapseAllForRowDimensionTree(){this.rowDimensionTree&&(this.rowDimensionTree.setAllNodesState(v_.collapse),this._rebuildRowLayout())}expandAllForColumnDimensionTree(){this.columnDimensionTree&&(this.columnDimensionTree.setAllNodesState(v_.expand),this._rebuildColumnLayout())}collapseAllForColumnDimensionTree(){this.columnDimensionTree&&(this.columnDimensionTree.setAllNodesState(v_.collapse),this._rebuildColumnLayout())}}function lD(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 hD{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:lt(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 cD(t,e){let i="";for(let r=0;r<t.length;r++)i+=t[r],r!==t.length-1&&(i+=e);return i}class dD{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){A_[t]=e}registerAggregators(){this.registerAggregator(y_.RECORD,T_),this.registerAggregator(y_.SUM,H_),this.registerAggregator(y_.COUNT,k_),this.registerAggregator(y_.MAX,L_),this.registerAggregator(y_.MIN,F_),this.registerAggregator(y_.AVG,E_),this.registerAggregator(y_.NONE,M_),this.registerAggregator(y_.RECALCULATE,P_),this.registerAggregator(y_.CUSTOM,B_)}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),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(lt(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 A_[y_.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];let o=Math.max(t[e],r.max),n=Math.min(t[e],r.min);if(this.collectValuesBy[e].considerFields)for(const i of this.collectValuesBy[e].considerFields)t[i]&&("number"==typeof t[i]?(o=Math.max(t[i],o),n=Math.min(t[i],n)):Array.isArray(t[i])&&(o=Math.max(...t[i],o),n=Math.min(...t[i],n)));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!==aA){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++)lt(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!==aA){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++)lt(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=cD(s,this.stringJoinChar),h=cD(n,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 A_[y_.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 A_[r?.aggregationType??y_.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 A_[y_.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 A_[r?.aggregationType??y_.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 A_[y_.MAX]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),min:new A_[y_.MIN]({key:this.indicatorKeys[e],field:this.indicatorKeys[e]}),total:new A_[t?.aggregationType??y_.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)return this.setRecords(this.records);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,l,h;if("row"===o?.position)s=t.length>=2?this.rows[t.length-2]:void 0;else{const e=t.length-1;s=e>=0&&e<this.rows.length?this.rows[e]:void 0}if("col"===o?.position)a=e.length>=2?this.columns[e.length-2]:void 0;else{const t=e.length-1;a=t>=0&&t<this.columns.length?this.columns[t]:void 0}"string"==typeof t?l=t:(o&&"row"!==o.position||t.map(((e,r)=>{e!==i||lt(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&&this.totals.row.subTotalsDimensions.find((t=>t===s))&&t.push(this.rowSubTotalLabel)),l=cD(t,this.stringJoinChar)),"string"==typeof e?h=e:(o&&"col"!==o.position||e.map(((t,r)=>{t!==i||lt(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&&this.totals.column.subTotalsDimensions.find((t=>t===a))&&e.push(this.colSubTotalLabel)),h=cD(e,this.stringJoinChar));const c=this.tree[l]?.[h]?.[n];if(r&<(this.changedTree[l]?.[h]?.[n])){const t=this.changedTree[l][h][n];return c?{value:()=>t,formatValue:c.formatValue,formatFun:c.formatFun,records:c.records,recalculate(){},push(){},deleteRecord(){},updateRecord(){},clearCacheValue(){},reset(){}}:{records:[],value:()=>t,push(){},deleteRecord(){},updateRecord(){},recalculate(){},formatValue:()=>t,clearCacheValue(){},reset(){}}}return c||{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):z_(s(r,t.query),s(o,t.query),n):t.sortFunc?t.sortFunc(s(t.query,r),s(t.query,o),r,o,n):z_(s(t.query,r),s(t.query,o),n)}:t.sortBy?O_(t.sortBy):t.sortFunc?t.sortFunc:t.sortType?I_:z_}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 A_[y_.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 A_[t?.aggregationType??y_.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 A_[y_.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 A_[t?.aggregationType??y_.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 A_[y_.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 A_[t?.aggregationType??y_.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 A_[y_.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 A_[t?.aggregationType??y_.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})):[],role:"sub-total"};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}))??[],role:"grand-total"};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]=uD(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),"string"==typeof r&&(isNaN(parseFloat(r))||(r=parseFloat(r))),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];if(1===a?.records.length&&(a.records[0][this.indicatorKeys[o]]=r),this.dataConfig?.updateAggregationOnEditCell)if(a)a.changedValue=r,this.recalculateTotals(t,e,i);else{const o=new H_({key:i,field:i,isRecord:!0});o.changedValue=r,this.recalculateTotals(t,e,i,o)}}recalculateTotals(t=[],e=[],i,r){if(!this.totals||0===Object.keys(this.tree).length||!(this.totals.row?.showGrandTotals||this.totals.row?.subTotalsDimensions&&this.totals.row.subTotalsDimensions.length>0&&!1!==this.totals.row.showSubTotals)&&!(this.totals.column?.showGrandTotals||this.totals.column?.subTotalsDimensions&&this.totals.column.subTotalsDimensions.length>0&&!1!==this.totals.column.showSubTotals))return;const o=Array.isArray(t)?t.join(this.stringJoinChar):t,n=Array.isArray(e)?e.join(this.stringJoinChar):e,s=this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys.indexOf(i),a=new Set,l=new Set,h=o.split(this.stringJoinChar),c=n.split(this.stringJoinChar),d=(t,e,i)=>{!t||e===o&&i===n||(a.add(t),e!==o&&i!==n||l.add(t))};if(this.totals?.row?.subTotalsDimensions&&!1!==this.totals.row.showSubTotals)for(let t=0;t<this.totals.row.subTotalsDimensions.length;t++){const e=this.totals.row.subTotalsDimensions[t],i=this.rows.indexOf(e);if(i>=0&&i<h.length){const t=h.slice(0,i+1);"tree"!==this.rowHierarchyType&&t.push(this.rowSubTotalLabel);const e=t.join(this.stringJoinChar);if(this.tree[e]?.[n]?.[s]&&d(this.tree[e][n][s],e,n),this.totals?.column?.subTotalsDimensions&&!1!==this.totals.column.showSubTotals)for(let t=0;t<this.totals.column.subTotalsDimensions.length;t++){const i=this.totals.column.subTotalsDimensions[t],r=this.columns.indexOf(i);if(r>=0&&r<c.length){const t=c.slice(0,r+1);t.push(this.colSubTotalLabel);const i=t.join(this.stringJoinChar);this.tree[e]?.[i]?.[s]&&d(this.tree[e][i][s],e,i)}}this.totals?.column?.showGrandTotals&&this.tree[e]?.[this.colGrandTotalLabel]?.[s]&&d(this.tree[e][this.colGrandTotalLabel][s],e,this.colGrandTotalLabel)}}if(this.totals?.row?.showGrandTotals){if(this.tree[this.rowGrandTotalLabel]?.[n]?.[s]){if(d(this.tree[this.rowGrandTotalLabel][n][s],this.rowGrandTotalLabel,n),this.totals?.column?.subTotalsDimensions&&!1!==this.totals.column.showSubTotals)for(let t=0;t<this.totals.column.subTotalsDimensions.length;t++){const e=this.totals.column.subTotalsDimensions[t],i=this.columns.indexOf(e);if(i>=0&&i<c.length){const t=c.slice(0,i+1);t.push(this.colSubTotalLabel);const e=t.join(this.stringJoinChar);this.tree[this.rowGrandTotalLabel]?.[e]?.[s]&&d(this.tree[this.rowGrandTotalLabel][e][s],this.rowGrandTotalLabel,e)}}this.totals?.column?.showGrandTotals&&this.tree[this.rowGrandTotalLabel]?.[this.colGrandTotalLabel]?.[s]&&d(this.tree[this.rowGrandTotalLabel][this.colGrandTotalLabel][s],this.rowGrandTotalLabel,this.colGrandTotalLabel)}if(this.totals?.column?.subTotalsDimensions&&!1!==this.totals.column.showSubTotals)for(let t=0;t<this.totals.column.subTotalsDimensions.length;t++){const e=this.totals.column.subTotalsDimensions[t],i=this.columns.indexOf(e);if(i>=0&&i<c.length){const t=c.slice(0,i+1);t.push(this.colSubTotalLabel);const e=t.join(this.stringJoinChar);this.tree[o]?.[e]?.[s]&&d(this.tree[o][e][s],o,e)}}this.totals?.column?.showGrandTotals&&this.tree[o]?.[this.colGrandTotalLabel]?.[s]&&d(this.tree[o][this.colGrandTotalLabel][s],o,this.colGrandTotalLabel),a.forEach((t=>{r&&l.has(t)&&t.push(r),t.recalculate()}))}}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:lt(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??0);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??0);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=>lt(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 uD(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 gD extends GI{layoutNodeId={seqId:0};pivotSortState;dataset;flatDataToObjects;constructor(t,e){if(super(t,e),e=this.options){e.rowHierarchyType||(e.rowHierarchyType="grid"),e.columnHierarchyType||(e.columnHierarchyType="grid"),e.layout&&Object.assign(e,e.layout),this.internalProps.columns=Bt(e.columns),this.internalProps.rows=Bt(e.rows),this.internalProps.indicators=sz(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?Bt(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Bt(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=Bt(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 gI(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0),i=new gI(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0);this.internalProps.layoutMap=new aD(this,null,e,i),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new hD({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=vI(this,e),{rowKeys:i,columnKeys:r,indicatorKeys:o}=t;let{columnDimensionTree:n,rowDimensionTree:s}=t;this.dataset=new dD(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&&(_I(n.tree.children,e.indicators,!0,this),n.reset(n.tree.children)):(!1!==e.indicatorsAsCol&&(this.dataset.colHeaderTree=xI(this.dataset.colHeaderTree,e.indicators)),!1!==e.indicatorsAsCol&&e.indicators&&this.dataset.colHeaderTree&&_I(this.dataset.colHeaderTree,e.indicators,!1,this),n=new gI(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),e.rowTree?s.hasHideNode&&(_I(s.tree.children,e.indicators,!0,this),s.reset(s.tree.children)):(!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=xI(this.dataset.rowHeaderTree,e.indicators)),!1===e.indicatorsAsCol&&this.dataset.rowHeaderTree&&e.indicators&&_I(this.dataset.rowHeaderTree,e.indicators,!1,this),s=new gI(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),this.internalProps.layoutMap=new aD(this,this.dataset,n,s)}if(this._changePivotSortStateBySortRules(),(e.pivotSortState?.length??0)>0&&(this.pivotSortState=[],this.pivotSortState=e.pivotSortState),"node"!==oS.mode&&(this.editorManager=new Az(this)),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.stateManager.initCheckedState(t),this.scenegraph.createSceneGraph(),e.title){const t=RA.getComponent("title");this.internalProps.title=new t(e.title,this)}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.isReleased||(this.resize(),this.fireListeners(jS.INITIALIZED,null))}),0)}}static get EVENT_TYPE(){return jL}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,e={clearColWidthCache:!0,clearRowHeightCache:!0}){const i=this.internalProps;if(super.updateOption(t,e),t.rowHierarchyType||(t.rowHierarchyType="grid"),t.columnHierarchyType||(t.columnHierarchyType="grid"),this.layoutNodeId={seqId:0},this.internalProps.columns=Bt(t.columns),this.internalProps.rows=Bt(t.rows),this.internalProps.indicators=t.indicators?.length?sz(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?Bt(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Bt(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,i.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",i.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",i.dataConfig=Bt(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 r=this.internalProps.records;if(this.internalProps.recordsIsTwoDimensionalArray=!1,r?.[0]?.constructor===Array&&(this.internalProps.recordsIsTwoDimensionalArray=!0),!1===t.customConfig?.enableDataAnalysis){let e,o;t.columnTree&&(e=new gI(this.internalProps.columnTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree&&(o=new gI(this.internalProps.rowTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),i.layoutMap.clearHeaderPathCache(),i.layoutMap=new aD(this,null,e,o),!1===this.internalProps.recordsIsTwoDimensionalArray&&(this.flatDataToObjects=new hD({rows:i.layoutMap.fullRowDimensionKeys,columns:i.layoutMap.colDimensionKeys,indicators:i.layoutMap.indicatorKeys,indicatorsAsCol:i.layoutMap.indicatorsAsCol,indicatorDimensionKey:i.layoutMap.indicatorDimensionKey},r))}else{const e=vI(this,t),{rowKeys:o,columnKeys:n,indicatorKeys:s}=e;let{columnDimensionTree:a,rowDimensionTree:l}=e;this.dataset=new dD(i.dataConfig,o,n,s,this.internalProps.indicators,t.indicatorsAsCol??!0,r,t.rowHierarchyType,t.columnHierarchyType,this.internalProps.columnTree,this.internalProps.rowTree,!1,!!t.extensionRows,!!t.parseCustomTreeToMatchRecords),t.columnTree?a.hasHideNode&&(_I(a.tree.children,t.indicators,!0,this),a.reset(a.tree.children)):(!1!==t.indicatorsAsCol&&(this.dataset.colHeaderTree=xI(this.dataset.colHeaderTree,t.indicators)),!1!==t.indicatorsAsCol&&t.indicators&&this.dataset.colHeaderTree&&_I(this.dataset.colHeaderTree,t.indicators,!1,this),a=new gI(this.dataset.colHeaderTree??[],this.layoutNodeId,this.options.columnHierarchyType,"grid"!==this.options.columnHierarchyType?this.options.columnExpandLevel??1:void 0)),t.rowTree?l.hasHideNode&&(_I(l.tree.children,t.indicators,!0,this),l.reset(l.tree.children)):(!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=xI(this.dataset.rowHeaderTree,t.indicators)),!1===t.indicatorsAsCol&&this.dataset.rowHeaderTree&&t.indicators&&_I(this.dataset.rowHeaderTree,t.indicators,!1,this),l=new gI(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),i.layoutMap=new aD(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,i.releaseList&&(i.releaseList.forEach((t=>t?.release?.())),i.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=RA.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=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return setTimeout((()=>{this.fireListeners(jS.UPDATED,null)}),0),new Promise((t=>{setTimeout(t,0)}))}updatePagination(t){this.internalProps.layoutMap.clearHeaderPathCache(),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??(e.rowHeaderLevelCount??0)+e.leftRowSeriesNumberColumnCount,t._setFrozenRowCount(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(),bt(e)&&bt(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:C_[o]})}}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:C_[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:C_[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:C_[i],sortByIndicator:o,query:r.reduce(((t,e)=>(e.dimensionKey&&t.push(e.value),t)),[])}]:[{sortField:n.dimensionKey,sortType:C_[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&&IS(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){this.internalProps.layoutMap.clearHeaderPathCache();const r=this.getHierarchyState(t,e);if(r===v_.expand)this._refreshHierarchyState(t,e,i),this.fireListeners(jL.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.collapse});else if(r===v_.collapse){const r=this.internalProps.layoutMap.getHeadNode(t,e);Array.isArray(r.children)&&this._refreshHierarchyState(t,e,i),this.fireListeners(jL.TREE_HIERARCHY_STATE_CHANGE,{col:t,row:e,hierarchyState:v_.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){Ck();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 hD({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&&_I(this.dataset.colHeaderTree,i.indicators,!1,this),e=new gI(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&&_I(this.dataset.rowHeaderTree,i.indicators,!1,this),o=new gI(this.dataset.rowHeaderTree??[],this.layoutNodeId,this.options.rowHierarchyType,"grid"!==this.options.rowHierarchyType?this.options.rowExpandLevel??1:void 0)),r.layoutMap=new aD(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=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}}startEditCell(t,e,i){if(lt(t)&<(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;lt(t)&<(e)&&this.editorManager.startEditCell(t,e,i)}}completeEditCell(){this.editorManager.completeEdit()}getEditor(t,e){const i=this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`];if(i)return i;let r;if(Object.values(this.editorManager.cacheLastSelectedCellEditor).forEach((t=>t?.onEnd?.())),this.editorManager.cacheLastSelectedCellEditor={},this.isCornerHeader(t,e)){const i=this.getHeaderDefine(t,e);r=i?.headerEditor??this.options.headerEditor}else if(this.isHeader(t,e)){const i=this.getHeaderDefine(t,e);r=i?.headerEditor??this.options.headerEditor}else{const i=this.getBodyColumnDefine(t,e);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"string"==typeof r&&(r=$I(r)),r&&(this.editorManager.cacheLastSelectedCellEditor[`${t}-${e}`]=r),r}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 lt(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&&vS(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(this.options.dataConfig?.updateAggregationOnEditCell)for(let t=0;t<this.colCount;t++)for(let e=0;e<this.rowCount;e++)this.internalProps.layoutMap.isAggregation(t,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=rE(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(e)&&!this.internalProps._heightResizedRowMap.has(e)){const t=this.getRowHeight(e),i=YP(e,0,this.colCount-1,this);this.scenegraph.updateRowHeight(e,i-t)}o!==r&&this.fireListeners(jS.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&&vS(r)&&(o=parseFloat(r)),this._changeCellValueToDataSet(t+i,e+l,n,o);const d=this.getCellOriginValue(t+i,e+l);d!==n&&this.fireListeners(jS.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(this.options.dataConfig?.updateAggregationOnEditCell)for(let t=0;t<this.colCount;t++)for(let e=0;e<this.rowCount;e++)this.internalProps.layoutMap.isAggregation(t,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=rE(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(e)){const t=[],i=[];for(let r=e;r<=h.end.row;r++)if(this.rowHeightsMap.get(r)){const e=this.getRowHeight(r),o=YP(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,e=!1){this.internalProps.dataConfig.filterRules=t,e?(this.dataset.updateFilterRules(t,!0),this.internalProps.layoutMap.resetHeaderTree()):this.dataset.updateFilterRules(t),this.renderWithRecreateCells()}getFilteredRecords(){return this.dataset?.filteredRecords}getCellPivotRole(t,e){const i=this.getCellHeaderPaths(t,e),{cellLocation:r,colHeaderPaths:o,rowHeaderPaths:n}=i;let s=o.length?"normal":void 0,a=n.length?"normal":void 0;return o.forEach((t=>{"sub-total"===t.role?s="sub-total":"grand-total"===t.role&&(s="grand-total")})),n.forEach((t=>{"sub-total"===t.role?a="sub-total":"grand-total"===t.role&&(a="grand-total")})),{colRole:s,rowRole:a,cellLocation:r}}getCellRowHeaderFullPaths(t){return this.internalProps.layoutMap.getCellRowHeaderFullPaths(t)}setLoadingHierarchyState(t,e){this.scenegraph.setLoadingHierarchyState(t,e)}expandAllForRowTree(){"tree"!==this.rowHierarchyType&&"grid-tree"!==this.rowHierarchyType||this.internalProps.layoutMap.rowDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.expandAllForRowDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(jL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.expand,changeAll:!0}))}collapseAllForRowTree(){"tree"!==this.rowHierarchyType&&"grid-tree"!==this.rowHierarchyType||this.internalProps.layoutMap.rowDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.collapseAllForRowDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(jL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.collapse,changeAll:!0}))}expandAllForColumnTree(){"grid-tree"===this.columnHierarchyType&&this.internalProps.layoutMap.columnDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.expandAllForColumnDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(jL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.expand,changeAll:!0}))}collapseAllForColumnTree(){"grid-tree"===this.columnHierarchyType&&this.internalProps.layoutMap.columnDimensionTree&&(this.internalProps.layoutMap.clearHeaderPathCache(),this.internalProps.layoutMap.collapseAllForColumnDimensionTree(),this.renderWithRecreateCells(),this.fireListeners(jL.TREE_HIERARCHY_STATE_CHANGE,{col:-1,row:-1,hierarchyState:v_.collapse,changeAll:!0}))}release(){this.internalProps.layoutMap.clearHeaderPathCache(),this.editorManager?.release(),super.release()}}xO(),_O(),SO(),AO(),RO(),TO(),kI(),MO(),ZO(),JO(),QO(),tD(),rD(),oD(),nD();oD();xO(),_O(),SO(),AO(),RO(),TO(),MO(),qO(),ZO(),JO(),QO(),tD(),rD(),oD(),nD();class pD extends hl{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=pt(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 fD=Object.freeze({__proto__:null,Arc:class extends Eh{constructor(t){const e=pt(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:h_,Circle:class extends Jl{constructor(t){const e=pt(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:pD,Group:class extends hl{constructor(t){const e=pt(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 pD{constructor(t){t.flexWrap="nowrap",super(t)}},Icon:class extends wh{svg;iconName;cache;constructor(t){let e;if(gt(t.iconName)){e=FB()[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=pt(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 wh{constructor(t){t.src&&(t.image=t.src),"circle"===t.shape&&(t.cornerRadius=t.width/2);const e=pt(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:dh,Radio:c_,Rect:class extends ph{constructor(t){const e=pt(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 Ey{constructor(t){const e=pt(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 ih{constructor(t){t.textBaseline||(t.textBaseline="top");const e=pt(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 mD(t){const e={seqId:0},i={isPivotChart:!0};let r,o,n,s;t.columnTree&&(!1!==t.indicatorsAsCol&&(n=xI(t.columnTree,t.indicators)),r=new gI(t.columnTree??[],e)),t.rowTree&&(!1===t.indicatorsAsCol&&(s=xI(t.rowTree,t.indicators)),o=new gI(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:y_.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:y_.RECORD})}else{const r=!1===t.indicatorsAsCol?i.chartSpec.yField:i.chartSpec.xField;e.push({indicatorKey:i.indicatorKey,field:r??i.indicatorKey,aggregationType:y_.RECORD})}})),e}(t);return{dataset:new dD(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 bD(t,e,i,r,o,n){if(pt(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}p_();t.CUSTOM_CONTAINER_NAME=UB,t.CUSTOM_MERGE_PRE_NAME=jB,t.CustomLayout=fD,t.DataStatistics=JI,t.EventTarget=G_,t.Icon=IB,t.ListTable=class extends kz{},t.ListTableSimple=class extends kz{},t.PIVOT_CHART_EVENT_TYPE=UL,t.PIVOT_TABLE_EVENT_TYPE=jL,t.PivotChart=class extends GI{layoutNodeId={seqId:0};pivotSortState;dataset;_selectedDataItemsInChart=[];_selectedDataMode="click";_selectedDimensionInChart=[];_chartEventMap={};_axes;constructor(t,e){let i,r;super(t,e),(e=this.options).layout&&Object.assign(e,e.layout),this.internalProps.columns=Bt(e.columns),this.internalProps.rows=Bt(e.rows),this.internalProps.indicators=sz(e.indicators),this.internalProps.columnTree=!e.indicatorsAsCol||e.columns?.length||e.columnTree?Bt(e.columnTree):[],this.internalProps.rowTree=e.indicatorsAsCol||e.rows?.length||e.rowTree?Bt(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.internalProps.columnWidthConfig=e.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=e.columnWidthConfigForRowHeader,this._axes=pt(e.axes)?e.axes:[],e.columnTree&&(!1!==e.indicatorsAsCol&&(this.internalProps.columnTree=xI(this.internalProps.columnTree,e.indicators)),i=new gI(this.internalProps.columnTree??[],this.layoutNodeId)),e.rowTree&&(!1===e.indicatorsAsCol&&(this.internalProps.rowTree=xI(this.internalProps.rowTree,e.indicators)),r=new gI(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 dD(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&&Cz(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=xI(this.dataset.colHeaderTree,e.indicators)),e.rowTree||!1===e.indicatorsAsCol&&(this.dataset.rowHeaderTree=xI(this.dataset.rowHeaderTree,e.indicators)),i=new gI(this.dataset.colHeaderTree??[],this.layoutNodeId),r=new gI(this.dataset.rowHeaderTree??[],this.layoutNodeId),this.internalProps.layoutMap=new aD(this,this.dataset,i,r),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,this.scenegraph.createSceneGraph(),e.title){const t=RA.getComponent("title");this.internalProps.title=new t(e.title,this)}if(this.options.emptyTip)if(this.internalProps.emptyTip)this.internalProps.emptyTip?.resetVisible();else{const t=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}setTimeout((()=>{this.isReleased||(this.resize(),this.fireListeners(jS.INITIALIZED,null))}),0)}static get EVENT_TYPE(){return UL}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,e={clearColWidthCache:!0,clearRowHeightCache:!0}){const i=this.internalProps;let r,o;super.updateOption(t,e),this.scenegraph.updateChartState(null,void 0),this.scenegraph.deactivateChart(-1,-1,!0),this.layoutNodeId={seqId:0},this.internalProps.columns=Bt(t.columns),this.internalProps.rows=Bt(t.rows),this.internalProps.indicators=t.indicators?.length?sz(t.indicators):[],this.internalProps.columnTree=!t.indicatorsAsCol||t.columns?.length||t.columnTree?Bt(t.columnTree):[],this.internalProps.rowTree=t.indicatorsAsCol||t.rows?.length||t.rowTree?Bt(t.rowTree):[],t.records&&(this.internalProps.records=t.records),this.setCustomStateNameToSpec(),this._selectedDataItemsInChart=[],i.columnResizeType=t.resize?.columnResizeType??t.columnResizeType??"column",i.rowResizeType=t.resize?.rowResizeType??t.rowResizeType??"row",i.dataConfig={isPivotChart:!0},this.internalProps.columnWidthConfig=t.columnWidthConfig,this.internalProps.columnWidthConfigForRowHeader=t.columnWidthConfigForRowHeader,this._axes=pt(t.axes)?t.axes:[],t.columnTree&&(!1!==t.indicatorsAsCol&&(this.internalProps.columnTree=xI(this.internalProps.columnTree,t.indicators)),r=new gI(this.internalProps.columnTree??[],this.layoutNodeId)),t.rowTree&&(!1===t.indicatorsAsCol&&(this.internalProps.rowTree=xI(this.internalProps.rowTree,t.indicators)),o=new gI(this.internalProps.rowTree??[],this.layoutNodeId));const n=o?.dimensionKeys?.count?o.dimensionKeys.valueArr():t.rows?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],s=r?.dimensionKeys?.count?r.dimensionKeys.valueArr():t.columns?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.dimensionKey),t)),[])??[],a=t.indicators?.reduce(((t,e)=>("string"==typeof e?t.push(e):t.push(e.indicatorKey),t)),[])??[];if(this.internalProps.dataConfig.collectValuesBy=this._generateCollectValuesConfig(s,n),this.internalProps.dataConfig.aggregationRules=this._generateAggregationRules(),this.internalProps.dataConfig.dimensionSortArray=this._getDimensionSortArray(),this.dataset=new dD(this.internalProps.dataConfig,n,s,a,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&&Cz(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=xI(this.dataset.colHeaderTree,t.indicators)),t.rowTree||!1===t.indicatorsAsCol&&(this.dataset.rowHeaderTree=xI(this.dataset.rowHeaderTree,t.indicators)),r=new gI(this.dataset.colHeaderTree??[],this.layoutNodeId),o=new gI(this.dataset.rowHeaderTree??[],this.layoutNodeId),i.layoutMap=new aD(this,this.dataset,r,o),this.refreshHeader(),this.internalProps.useOneRowHeightFillAll=!1,i.releaseList&&(i.releaseList.forEach((t=>t?.release?.())),i.releaseList=null),this.scenegraph.clearCells(),this.scenegraph.createSceneGraph(),t.title){const e=RA.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=RA.getComponent("emptyTip");this.internalProps.emptyTip=new t(this.options.emptyTip,this),this.internalProps.emptyTip?.resetVisible()}return setTimeout((()=>{this.fireListeners(jS.UPDATED,null)}),0),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._setFrozenRowCount(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(IS(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!==aA)),e=e.filter((t=>t!==aA));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||"funnel"===i[o].chartSpec?.type||"radar"===i[o].chartSpec?.type||"gauge"===i[o].chartSpec?.type||"wordCloud"===i[o].chartSpec?.type||"sunburst"===i[o].chartSpec?.type||"treemap"===i[o].chartSpec?.type||"sankey"===i[o].chartSpec?.type||"circlePacking"===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),"heatmap"!==s?.type&&(r[n.indicatorKey]={by:e,range:!0,sumBy:"histogram"===s.type?t.concat(s?.xField,s?.x2Field):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:sk(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:sk(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:nB(s.markLine)}}));else{const i="histogram"===s.type?s.x2Field:"string"==typeof s.xField?s.xField:s.xField[0];r[i]={by:t,type:"horizontal"!==s.direction?"xField":void 0,range:sk(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??s.maxField;r[o]={by:e,type:"horizontal"!==s.direction?"yField":void 0,range:sk(s,this._axes,"horizontal"===s.direction,!1),sumBy:"histogram"===s.type?t.concat(s?.xField,s?.x2Field):s.stack&&t.concat(s?.xField),sortBy:"horizontal"===s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:nB(s.markLine),considerFields:"boxPlot"===s?.type?[s.maxField,s.minField,s.outliersField]:void 0}}else{const n=i[o];if(!1!==s?.stack&&("bar"===s?.type||"area"===s?.type)&&(s.stack=!0),"heatmap"!==s?.type&&(r[n.indicatorKey]={by:t,range:!0,sumBy:"histogram"===s.type?e.concat(s?.yField,s?.y2Field):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:sk(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:sk(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:nB(s.markLine)}}));else{const i="histogram"===s.type?s.y2Field:"string"==typeof s.yField?s.yField:s.yField[0];r[i]={by:e,type:"horizontal"===s.direction?"yField":void 0,range:sk(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??s.maxField;r[o]={by:t,type:"horizontal"===s.direction?"xField":void 0,range:sk(s,this._axes,"horizontal"===s.direction,!0),sumBy:"histogram"===s.type?e.concat(s?.yField,s?.y2Field):s.stack&&e.concat(s?.yField),sortBy:"horizontal"!==s.direction?s?.data?.fields?.[o]?.domain:void 0,extendRange:nB(s.markLine),considerFields:"boxPlot"===s?.type?[s.maxField,s.minField,s.outliersField]:void 0}}}}return r}_generateAggregationRules(){const t=[];return this.internalProps.indicators?.forEach((e=>{if("string"==typeof e)t.push({indicatorKey:e,field:e,aggregationType:y_.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:y_.RECORD})}else{const i=!1===this.options.indicatorsAsCol?e.chartSpec.yField:e.chartSpec.xField;t.push({indicatorKey:e.indicatorKey,field:i??e.indicatorKey,aggregationType:y_.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._throttledUpdateFilterRules(t)}_throttleTimer=null;_latestFilterRules=null;_throttledUpdateFilterRules(t){this._latestFilterRules=t,null===this._throttleTimer&&(this._executeFilterUpdate(t),this._throttleTimer=window.setTimeout((()=>{this._latestFilterRules!==t&&this._executeFilterUpdate(this._latestFilterRules),this._throttleTimer=null}),200))}_executeFilterUpdate(t){this.internalProps.dataConfig.filterRules=t,this.dataset.updateFilterRules(t),CL(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)}}))}))}vL(t.rowHeaderGroup,t.table),vL(t.colHeaderGroup,t.table),vL(t.rightFrozenGroup,t.table),vL(t.bottomFrozenGroup,t.table)}(this.scenegraph),this.render()}clearChartCacheImage(t,e){bt(t)&&bt(e)?wL(t,e,this.scenegraph):CL(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||"number"==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||"number"==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];_k(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&&pt(e.domain))return e.domain}}setRecords(t){this.internalProps.layoutMap.release(),Ck(),this.scenegraph.updateChartState(null,void 0),this.scenegraph.deactivateChart(-1,-1,!0);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 gI(this.dataset.colHeaderTree??[],this.layoutNodeId),n=i.rowTree?r.layoutMap.rowDimensionTree:new gI(this.dataset.rowHeaderTree??[],this.layoutNodeId),r.layoutMap=new aD(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)}disableTooltipToAllChartInstances(){!function(){jH=!0,GH();for(const t in PH)for(const e in PH[t])PH[t][e].disableTooltip(!0),PH[t][e].hideTooltip();for(const t in HH)for(const e in HH[t])HH[t][e].disableTooltip(!0),HH[t][e].hideTooltip()}()}enableTooltipToAllChartInstances(){KH()}},t.PivotTable=class extends gD{},t.PivotTableSimple=class extends gD{},t.TABLE_EVENT_TYPE=jS,t.TYPES=D_,t.VArc=function(t){return Wh.arc(t?t.attribute:{})},t.VArea=function(t){return Wh.area(t?t.attribute:{})},t.VCheckBox=function(t){return new h_(t?t.attribute:{})},t.VCircle=function(t){return Wh.circle(t?t.attribute:{})},t.VGlyph=function(t){return Wh.glyph(t?t.attribute:{})},t.VGroup=function(t){return Wh.group(t?t.attribute:{})},t.VImage=function(t){return Wh.image(t?t.attribute:{})},t.VLine=function(t){return Wh.line(t?t.attribute:{})},t.VPath=function(t){return Wh.path(t?t.attribute:{})},t.VPolygon=function(t){return Wh.polygon(t?t.attribute:{})},t.VRadio=function(t){return new c_(t?t.attribute:{})},t.VRect=function(t){return Wh.rect(t?t.attribute:{})},t.VSymbol=function(t){return Wh.symbol(t?t.attribute:{})},t.VTag=function(t){return new Ey(t?t.attribute:{})},t.VText=function(t){return Wh.text(t?t.attribute:{})},t.clearGlobal=function(){qI()},t.core=VI,t.data=hM,t.getDataCellPath=function(t,e,i){const r=mD(t);let o=r.columnDimensionTree,n=r.rowDimensionTree,s=!1,a=!1;t.columnTree&&t.indicatorsAsCol&&!o.dimensionKeys.contain(aA)&&(s=!0),t.rowTree&&(t.indicatorsAsCol||n.dimensionKeys.contain(aA)||(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 gI(l.colHeaderTree??[],h)),t.rowTree&&!a||(n=new gI(l.rowHeaderTree??[],h));const d=new aD(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=bD(a.value?a.value():void 0,e,t,r,d,i);if(h)return h}},t.getIcons=function(){return FB()},t.getTargetCell=NB,t.graphicUtil=Yu,t.jsx=function(t,e,...i){const r=e||{},{key:o,name:n,id:s,attribute:a,stateProxy:l,animation:h,timeline:c}=r,d=bp(r,["key","name","id","attribute","stateProxy","animation","timeline"]);let u=t;gt(t)&&(u=Wh[t]);const g=[];i.length&&yp(1===i.length?i[0]:i,g);const p="Group"===u.name?new u(a):u(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=mp[e];r&&t.on(r,i[e])}))):"richtext"===t.type&&(t.attribute.textConfig=e.map((t=>t.attribute)).filter((t=>t)))}(p,g,d),l&&(p.stateProxy=l),n&&(p.name=n),pt(h)){const t=p.animate();c&&t.setTimeline(c),h.forEach((e=>{t[e[0]](...e.slice(1))}))}return p},t.pluginsDefinition=QI,t.register=ZI,t.registerAnimation=MO,t.registerAxis=xO,t.registerButtonCell=iD,t.registerChartCell=qO,t.registerCheckboxCell=ZO,t.registerEmptyTip=_O,t.registerImageCell=JO,t.registerLegend=SO,t.registerMenu=AO,t.registerProgressBarCell=QO,t.registerRadioCell=tD,t.registerSparkLineCell=rD,t.registerSwitchCell=eD,t.registerTextCell=oD,t.registerTitle=RO,t.registerTooltip=TO,t.registerVideoCell=nD,t.renderChart=wk,t.restoreMeasureText=function(){OP="canvas",D.load(WP)},t.setCustomAlphabetCharSet=function(t){zP=t,NP.clear()},t.textMeasure=jP,t.themes=SA,t.toBoxArray=FS,t.updateCell=RP,t.version="1.22.11-alpha.12"}));
|